@a-type/ui 1.1.19 → 1.1.20
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/card/Card.d.ts +2 -2
- package/dist/cjs/components/errorBoundary/ErrorBoundary.d.ts +1 -1
- package/dist/cjs/components/input/Input.d.ts +3 -0
- package/dist/cjs/components/input/Input.js +13 -2
- package/dist/cjs/components/input/Input.js.map +1 -1
- package/dist/cjs/components/layouts/PageNav.js +2 -1
- package/dist/cjs/components/layouts/PageNav.js.map +1 -1
- package/dist/cjs/components/masonry/masonry.js +5 -1
- package/dist/cjs/components/masonry/masonry.js.map +1 -1
- package/dist/cjs/components/provider/Provider.js +4 -3
- package/dist/cjs/components/provider/Provider.js.map +1 -1
- package/dist/cjs/components/utility/HideWhileKeyboardOpen.d.ts +5 -0
- package/dist/cjs/components/utility/HideWhileKeyboardOpen.js +30 -0
- package/dist/cjs/components/utility/HideWhileKeyboardOpen.js.map +1 -0
- package/dist/cjs/hooks/useVisualViewportOffset.d.ts +1 -0
- package/dist/cjs/hooks/useVisualViewportOffset.js +56 -9
- package/dist/cjs/hooks/useVisualViewportOffset.js.map +1 -1
- package/dist/css/main.css +1 -1
- package/dist/esm/components/card/Card.d.ts +2 -2
- package/dist/esm/components/errorBoundary/ErrorBoundary.d.ts +1 -1
- package/dist/esm/components/input/Input.d.ts +3 -0
- package/dist/esm/components/input/Input.js +14 -3
- package/dist/esm/components/input/Input.js.map +1 -1
- package/dist/esm/components/layouts/PageNav.js +2 -1
- package/dist/esm/components/layouts/PageNav.js.map +1 -1
- package/dist/esm/components/masonry/masonry.js +2 -1
- package/dist/esm/components/masonry/masonry.js.map +1 -1
- package/dist/esm/components/provider/Provider.js +4 -3
- package/dist/esm/components/provider/Provider.js.map +1 -1
- package/dist/esm/components/utility/HideWhileKeyboardOpen.d.ts +5 -0
- package/dist/esm/components/utility/HideWhileKeyboardOpen.js +24 -0
- package/dist/esm/components/utility/HideWhileKeyboardOpen.js.map +1 -0
- package/dist/esm/hooks/useVisualViewportOffset.d.ts +1 -0
- package/dist/esm/hooks/useVisualViewportOffset.js +54 -8
- package/dist/esm/hooks/useVisualViewportOffset.js.map +1 -1
- package/package.json +1 -1
- package/src/components/input/Input.tsx +35 -2
- package/src/components/layouts/PageNav.tsx +4 -2
- package/src/components/masonry/masonry.tsx +6 -1
- package/src/components/provider/Provider.tsx +9 -3
- package/src/components/utility/HideWhileKeyboardOpen.tsx +26 -0
- package/src/hooks/useVisualViewportOffset.ts +83 -25
|
@@ -32,8 +32,8 @@ export declare const CardMenu: import("react").FunctionComponent<Omit<import("re
|
|
|
32
32
|
ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
33
33
|
}>;
|
|
34
34
|
export declare const cardGridColumns: {
|
|
35
|
-
default: (size: number) =>
|
|
36
|
-
small: (size: number) =>
|
|
35
|
+
default: (size: number) => 1 | 3 | 2;
|
|
36
|
+
small: (size: number) => 1 | 4 | 3 | 2;
|
|
37
37
|
};
|
|
38
38
|
export declare const CardGrid: ({ children, className, columns, gap, }: MasonryProps) => import("react/jsx-runtime").JSX.Element;
|
|
39
39
|
export declare const Card: import("react").FunctionComponent<Omit<import("react").DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
@@ -13,5 +13,5 @@ export declare class ErrorBoundary extends Component<{
|
|
|
13
13
|
static getDerivedStateFromError(error: Error): {
|
|
14
14
|
error: Error;
|
|
15
15
|
};
|
|
16
|
-
render():
|
|
16
|
+
render(): React.ReactNode;
|
|
17
17
|
}
|
|
@@ -5,5 +5,8 @@ export interface InputProps extends ComponentProps<'input'> {
|
|
|
5
5
|
variant?: 'default' | 'primary';
|
|
6
6
|
autoSelect?: boolean;
|
|
7
7
|
asChild?: boolean;
|
|
8
|
+
/** Shuffle between random placeholders */
|
|
9
|
+
placeholders?: string[];
|
|
10
|
+
placeholdersIntervalMs?: number;
|
|
8
11
|
}
|
|
9
12
|
export declare const Input: import("react").ForwardRefExoticComponent<Omit<InputProps, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
|
|
@@ -22,14 +22,25 @@ const react_1 = require("react");
|
|
|
22
22
|
const react_slot_1 = require("@radix-ui/react-slot");
|
|
23
23
|
exports.inputClassName = (0, clsx_1.default)('layer-components:px-5 layer-components:py-[5px] layer-components:text-md layer-components:font-sans layer-components:rounded-full layer-components:bg-white layer-components:select-auto layer-components:min-w-60px layer-components:color-black layer-components:border-solid layer-components:border-1 layer-components:border-gray-7 layer-components:shadow-sm-inset', 'layer-components:focus:outline-none layer-components:focus:bg-gray-1 layer-components:focus:ring-4 layer-components:focus:ring-white', 'layer-components:focus-visible:outline-none layer-components:focus-visible:ring-gray-dark-blend', 'layer-components:md:min-w-120px');
|
|
24
24
|
exports.Input = (0, react_1.forwardRef)(function Input(_a, ref) {
|
|
25
|
-
var { className, autoSelect, onFocus, variant: _, asChild } = _a, props = __rest(_a, ["className", "autoSelect", "onFocus", "variant", "asChild"]);
|
|
25
|
+
var { className, autoSelect, onFocus, variant: _, asChild, placeholders, placeholder, placeholdersIntervalMs = 5000 } = _a, props = __rest(_a, ["className", "autoSelect", "onFocus", "variant", "asChild", "placeholders", "placeholder", "placeholdersIntervalMs"]);
|
|
26
26
|
const handleFocus = (0, react_1.useCallback)((ev) => {
|
|
27
27
|
if (autoSelect) {
|
|
28
28
|
ev.target.select();
|
|
29
29
|
}
|
|
30
30
|
onFocus === null || onFocus === void 0 ? void 0 : onFocus(ev);
|
|
31
31
|
}, [onFocus, autoSelect]);
|
|
32
|
+
const [randomPlaceholder, setRandomPlaceholder] = (0, react_1.useState)(placeholders
|
|
33
|
+
? placeholders[Math.floor(Math.random() * placeholders.length)]
|
|
34
|
+
: undefined);
|
|
35
|
+
(0, react_1.useEffect)(() => {
|
|
36
|
+
if (placeholders) {
|
|
37
|
+
const interval = setInterval(() => {
|
|
38
|
+
setRandomPlaceholder(placeholders[Math.floor(Math.random() * placeholders.length)]);
|
|
39
|
+
}, placeholdersIntervalMs);
|
|
40
|
+
return () => clearInterval(interval);
|
|
41
|
+
}
|
|
42
|
+
}, [placeholders, placeholdersIntervalMs]);
|
|
32
43
|
const Component = asChild ? react_slot_1.Slot : 'input';
|
|
33
|
-
return ((0, jsx_runtime_1.jsx)(Component, Object.assign({}, props, { onFocus: handleFocus, className: (0, clsx_1.default)(exports.inputClassName, className), ref: ref })));
|
|
44
|
+
return ((0, jsx_runtime_1.jsx)(Component, Object.assign({}, props, { onFocus: handleFocus, className: (0, clsx_1.default)(exports.inputClassName, className), ref: ref, placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : randomPlaceholder })));
|
|
34
45
|
});
|
|
35
46
|
//# sourceMappingURL=Input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/components/input/Input.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/components/input/Input.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,iCAOe;AACf,qDAA4C;AAE/B,QAAA,cAAc,GAAG,IAAA,cAAU,EACvC,iKAAiK,EACjK,mEAAmE,EACnE,oEAAoE,EACpE,mCAAmC,CACnC,CAAC;AAYW,QAAA,KAAK,GAAG,IAAA,kBAAU,EAA+B,SAAS,KAAK,CAC3E,EAUC,EACD,GAAG;QAXH,EACC,SAAS,EACT,UAAU,EACV,OAAO,EACP,OAAO,EAAE,CAAC,EACV,OAAO,EACP,YAAY,EACZ,WAAW,EACX,sBAAsB,GAAG,IAAI,OAE7B,EADG,KAAK,cATT,qHAUC,CADQ;IAIT,MAAM,WAAW,GAAG,IAAA,mBAAW,EAC9B,CAAC,EAAgC,EAAE,EAAE;QACpC,IAAI,UAAU,EAAE;YACf,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;SACnB;QACD,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,EAAE,CAAC,CAAC;IACf,CAAC,EACD,CAAC,OAAO,EAAE,UAAU,CAAC,CACrB,CAAC;IAEF,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,IAAA,gBAAQ,EAGzD,YAAY;QACX,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QAC/D,CAAC,CAAC,SAAS,CACZ,CAAC;IACF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,IAAI,YAAY,EAAE;YACjB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;gBACjC,oBAAoB,CACnB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAC7D,CAAC;YACH,CAAC,EAAE,sBAAsB,CAAC,CAAC;YAC3B,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;SACrC;IACF,CAAC,EAAE,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAE3C,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,iBAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IAE3C,OAAO,CACN,uBAAC,SAAS,oBACL,KAAK,IACT,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,IAAA,cAAU,EAAC,sBAAc,EAAE,SAAS,CAAC,EAChD,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,iBAAiB,IAC5C,CACF,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -21,6 +21,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
21
21
|
const clsx_1 = __importDefault(require("clsx"));
|
|
22
22
|
const react_1 = require("react");
|
|
23
23
|
const hooks_js_1 = require("../../hooks.js");
|
|
24
|
+
const HideWhileKeyboardOpen_js_1 = require("../utility/HideWhileKeyboardOpen.js");
|
|
24
25
|
function PageNav(_a) {
|
|
25
26
|
var { className, children } = _a, props = __rest(_a, ["className", "children"]);
|
|
26
27
|
const bodyRef = (0, react_1.useRef)(document.documentElement);
|
|
@@ -31,7 +32,7 @@ function PageNav(_a) {
|
|
|
31
32
|
height: '--nav-height',
|
|
32
33
|
ready: '--nav-ready',
|
|
33
34
|
});
|
|
34
|
-
return ((0, jsx_runtime_1.jsx)(
|
|
35
|
+
return ((0, jsx_runtime_1.jsx)(HideWhileKeyboardOpen_js_1.HideWhileKeyboardOpen, Object.assign({}, props, { className: (0, clsx_1.default)('layer-components:[grid-area:nav] layer-components:relative layer-components:z-nav layer-components:pb-[calc(0.25rem+env(safe-area-inset-bottom,0px))]', 'layer-components:sm:[grid-area:nav] layer-components:sm:sticky layer-components:sm:top-0 layer-components:sm:h-auto layer-components:sm:bottom-auto layer-components:sm:left-auto layer-components:sm:right-auto', className), ref: ref }, { children: children })));
|
|
35
36
|
}
|
|
36
37
|
exports.PageNav = PageNav;
|
|
37
38
|
//# sourceMappingURL=PageNav.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageNav.js","sourceRoot":"","sources":["../../../../src/components/layouts/PageNav.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;AAEb,gDAA8B;AAC9B,iCAA+C;AAC/C,6CAAkD;
|
|
1
|
+
{"version":3,"file":"PageNav.js","sourceRoot":"","sources":["../../../../src/components/layouts/PageNav.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;AAEb,gDAA8B;AAC9B,iCAA+C;AAC/C,6CAAkD;AAClD,kFAA4E;AAE5E,SAAgB,OAAO,CAAC,EAIS;QAJT,EACvB,SAAS,EACT,QAAQ,OAEwB,EAD7B,KAAK,cAHe,yBAIvB,CADQ;IAER,MAAM,OAAO,GAAG,IAAA,cAAM,EAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,IAAA,2BAAgB,EAAiB,SAAS,EAAE,OAAO,EAAE;QAChE,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,cAAc;QACtB,KAAK,EAAE,aAAa;KACpB,CAAC,CAAC;IAEH,OAAO,CACN,uBAAC,gDAAqB,oBACjB,KAAK,IACT,SAAS,EAAE,IAAA,cAAU,EACpB,sGAAsG,EACtG,4FAA4F,EAC5F,SAAS,CACT,EACD,GAAG,EAAE,GAAG,gBAEP,QAAQ,IACc,CACxB,CAAC;AACH,CAAC;AA3BD,0BA2BC"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
// @unocss-include
|
|
2
2
|
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
3
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
7
|
exports.masonrySpan = exports.Masonry = void 0;
|
|
5
8
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
9
|
const utils_1 = require("@a-type/utils");
|
|
10
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
7
11
|
const react_1 = require("react");
|
|
8
12
|
class MasonryLayout {
|
|
9
13
|
constructor(config) {
|
|
@@ -187,7 +191,7 @@ function Masonry({ className, children, columns = 3, gap = 16, }) {
|
|
|
187
191
|
return layout.attach(ref.current);
|
|
188
192
|
}
|
|
189
193
|
}, [layout, ref]);
|
|
190
|
-
return ((0, jsx_runtime_1.jsx)("div", Object.assign({ ref: ref, style: initialStyle, className: className }, { children: children })));
|
|
194
|
+
return ((0, jsx_runtime_1.jsx)("div", Object.assign({ ref: ref, style: initialStyle, className: (0, clsx_1.default)('layer-components:z-1', className) }, { children: children })));
|
|
191
195
|
}
|
|
192
196
|
exports.Masonry = Masonry;
|
|
193
197
|
function masonrySpan(span) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"masonry.js","sourceRoot":"","sources":["../../../../src/components/masonry/masonry.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"masonry.js","sourceRoot":"","sources":["../../../../src/components/masonry/masonry.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,11 +15,12 @@ const useVirtualKeyboardBehavior_js_1 = require("../../hooks/useVirtualKeyboardB
|
|
|
15
15
|
*/
|
|
16
16
|
function Provider({ children, disableParticles, toastPosition = 'top-center', toastContainerClassName, disableViewportOffset, virtualKeyboardBehavior = 'displace', }) {
|
|
17
17
|
(0, hooks_js_1.useVisualViewportOffset)(disableViewportOffset);
|
|
18
|
-
|
|
18
|
+
const supportedVirtualKeyboardBehavior = 'virtualKeyboard' in navigator ? virtualKeyboardBehavior : 'displace';
|
|
19
|
+
(0, useVirtualKeyboardBehavior_js_1.useVirtualKeyboardBehavior)(supportedVirtualKeyboardBehavior);
|
|
19
20
|
const otherStuff = ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(icon_js_1.IconSpritesheet, {}), (0, jsx_runtime_1.jsx)(react_hot_toast_1.Toaster, { position: toastPosition, containerClassName: toastContainerClassName })] }));
|
|
20
21
|
if (disableParticles)
|
|
21
|
-
return ((0, jsx_runtime_1.jsx)(exports.ConfigContext.Provider, Object.assign({ value: { virtualKeyboardBehavior } }, { children: (0, jsx_runtime_1.jsxs)(tooltip_js_1.TooltipProvider, { children: [children, otherStuff] }) })));
|
|
22
|
-
return ((0, jsx_runtime_1.jsx)(exports.ConfigContext.Provider, Object.assign({ value: { virtualKeyboardBehavior } }, { children: (0, jsx_runtime_1.jsx)(tooltip_js_1.TooltipProvider, { children: (0, jsx_runtime_1.jsxs)(particles_js_1.ParticleLayer, { children: [children, otherStuff] }) }) })));
|
|
22
|
+
return ((0, jsx_runtime_1.jsx)(exports.ConfigContext.Provider, Object.assign({ value: { virtualKeyboardBehavior: supportedVirtualKeyboardBehavior } }, { children: (0, jsx_runtime_1.jsxs)(tooltip_js_1.TooltipProvider, { children: [children, otherStuff] }) })));
|
|
23
|
+
return ((0, jsx_runtime_1.jsx)(exports.ConfigContext.Provider, Object.assign({ value: { virtualKeyboardBehavior: supportedVirtualKeyboardBehavior } }, { children: (0, jsx_runtime_1.jsx)(tooltip_js_1.TooltipProvider, { children: (0, jsx_runtime_1.jsxs)(particles_js_1.ParticleLayer, { children: [children, otherStuff] }) }) })));
|
|
23
24
|
}
|
|
24
25
|
exports.Provider = Provider;
|
|
25
26
|
exports.ConfigContext = (0, react_1.createContext)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/components/provider/Provider.tsx"],"names":[],"mappings":";;;;AAAA,iCAA6D;AAC7D,kDAAgD;AAChD,wCAA6C;AAC7C,qDAAyD;AACzD,8CAAgD;AAChD,6CAAyD;AACzD,6FAAuF;AAWvF;;GAEG;AACH,SAAgB,QAAQ,CAAC,EACxB,QAAQ,EACR,gBAAgB,EAChB,aAAa,GAAG,YAAY,EAC5B,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,GAAG,UAAU,GACrB;IACf,IAAA,kCAAuB,EAAC,qBAAqB,CAAC,CAAC;IAC/C,IAAA,0DAA0B,EAAC,
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/components/provider/Provider.tsx"],"names":[],"mappings":";;;;AAAA,iCAA6D;AAC7D,kDAAgD;AAChD,wCAA6C;AAC7C,qDAAyD;AACzD,8CAAgD;AAChD,6CAAyD;AACzD,6FAAuF;AAWvF;;GAEG;AACH,SAAgB,QAAQ,CAAC,EACxB,QAAQ,EACR,gBAAgB,EAChB,aAAa,GAAG,YAAY,EAC5B,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,GAAG,UAAU,GACrB;IACf,IAAA,kCAAuB,EAAC,qBAAqB,CAAC,CAAC;IAC/C,MAAM,gCAAgC,GACrC,iBAAiB,IAAI,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,UAAU,CAAC;IACvE,IAAA,0DAA0B,EAAC,gCAAgC,CAAC,CAAC;IAE7D,MAAM,UAAU,GAAG,CAClB,6DACC,uBAAC,yBAAe,KAAG,EACnB,uBAAC,yBAAO,IACP,QAAQ,EAAE,aAAa,EACvB,kBAAkB,EAAE,uBAAuB,GAC1C,IACA,CACH,CAAC;IAEF,IAAI,gBAAgB;QACnB,OAAO,CACN,uBAAC,qBAAa,CAAC,QAAQ,kBACtB,KAAK,EAAE,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,gBAEpE,wBAAC,4BAAe,eACd,QAAQ,EACR,UAAU,IACM,IACM,CACzB,CAAC;IAEH,OAAO,CACN,uBAAC,qBAAa,CAAC,QAAQ,kBACtB,KAAK,EAAE,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,gBAEpE,uBAAC,4BAAe,cACf,wBAAC,4BAAa,eACZ,QAAQ,EACR,UAAU,IACI,GACC,IACM,CACzB,CAAC;AACH,CAAC;AA/CD,4BA+CC;AAEY,QAAA,aAAa,GAAG,IAAA,qBAAa,EAEvC;IACF,uBAAuB,EAAE,UAAU;CACnC,CAAC,CAAC;AAEH,SAAgB,SAAS;IACxB,OAAO,IAAA,kBAAU,EAAC,qBAAa,CAAC,CAAC;AAClC,CAAC;AAFD,8BAEC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
export interface HideWhileKeyboardOpenProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
asChild?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare const HideWhileKeyboardOpen: import("react").ForwardRefExoticComponent<HideWhileKeyboardOpenProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// @unocss-include
|
|
2
|
+
"use strict";
|
|
3
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
4
|
+
var t = {};
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
8
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
9
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
10
|
+
t[p[i]] = s[p[i]];
|
|
11
|
+
}
|
|
12
|
+
return t;
|
|
13
|
+
};
|
|
14
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
15
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
|
+
};
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.HideWhileKeyboardOpen = void 0;
|
|
19
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
20
|
+
const react_slot_1 = require("@radix-ui/react-slot");
|
|
21
|
+
const hooks_js_1 = require("../../hooks.js");
|
|
22
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
23
|
+
const react_1 = require("react");
|
|
24
|
+
exports.HideWhileKeyboardOpen = (0, react_1.forwardRef)(function HideWhileKeyboardOpen(_a, ref) {
|
|
25
|
+
var { asChild, className } = _a, rest = __rest(_a, ["asChild", "className"]);
|
|
26
|
+
const isKeyboardOpen = (0, hooks_js_1.useIsKeyboardOpen)();
|
|
27
|
+
const Comp = asChild ? react_slot_1.Slot : 'div';
|
|
28
|
+
return ((0, jsx_runtime_1.jsx)(Comp, Object.assign({ ref: ref, className: (0, clsx_1.default)(isKeyboardOpen && 'layer-responsive:hidden', className) }, rest)));
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=HideWhileKeyboardOpen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HideWhileKeyboardOpen.js","sourceRoot":"","sources":["../../../../src/components/utility/HideWhileKeyboardOpen.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,qDAA4C;AAC5C,6CAAmD;AACnD,gDAAwB;AACxB,iCAAmD;AAOtC,QAAA,qBAAqB,GAAG,IAAA,kBAAU,EAG7C,SAAS,qBAAqB,CAAC,EAA+B,EAAE,GAAG;QAApC,EAAE,OAAO,EAAE,SAAS,OAAW,EAAN,IAAI,cAA7B,wBAA+B,CAAF;IAC7D,MAAM,cAAc,GAAG,IAAA,4BAAiB,GAAE,CAAC;IAE3C,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,iBAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAEpC,OAAO,CACN,uBAAC,IAAI,kBACJ,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAA,cAAI,EAAC,cAAc,IAAI,yBAAyB,EAAE,SAAS,CAAC,IACnE,IAAI,EACP,CACF,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -1,34 +1,81 @@
|
|
|
1
1
|
// @unocss-include
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.useVisualViewportOffset = void 0;
|
|
4
|
+
exports.useIsKeyboardOpen = exports.useVisualViewportOffset = void 0;
|
|
5
5
|
const react_1 = require("react");
|
|
6
|
+
const useStableCallback_js_1 = require("./useStableCallback.js");
|
|
7
|
+
const provider_js_1 = require("../components/provider.js");
|
|
6
8
|
/**
|
|
7
9
|
* Applies bottom offset px as a CSS custom property to the document root.
|
|
8
10
|
*/
|
|
9
11
|
function useVisualViewportOffset(disable) {
|
|
12
|
+
useReactToViewportChanges((viewport) => {
|
|
13
|
+
document.documentElement.style.setProperty('--viewport-bottom-offset', `${window.innerHeight - viewport.height - viewport.offsetTop}px`);
|
|
14
|
+
document.documentElement.style.setProperty('--viewport-height', `${viewport.height}px`);
|
|
15
|
+
document.documentElement.style.setProperty('--viewport-width', `${viewport.width}px`);
|
|
16
|
+
document.documentElement.style.setProperty('--viewport-top-offset', `${viewport.offsetTop}px`);
|
|
17
|
+
document.documentElement.style.setProperty('--viewport-left-offset', `${viewport.offsetLeft}px`);
|
|
18
|
+
document.documentElement.style.setProperty('--keyboard-open', viewport.height < window.innerHeight ? '1' : '0');
|
|
19
|
+
}, disable);
|
|
20
|
+
}
|
|
21
|
+
exports.useVisualViewportOffset = useVisualViewportOffset;
|
|
22
|
+
function useIsKeyboardOpen() {
|
|
23
|
+
const { virtualKeyboardBehavior } = (0, provider_js_1.useConfig)();
|
|
24
|
+
const [isViewportConstrained, setIsViewportConstrained] = (0, react_1.useState)(false);
|
|
25
|
+
useReactToViewportChanges((viewport) => {
|
|
26
|
+
setIsViewportConstrained(viewport.height < window.innerHeight);
|
|
27
|
+
}, virtualKeyboardBehavior !== 'displace');
|
|
28
|
+
const [isKeyboardOpen, setIsKeyboardOpen] = (0, react_1.useState)(false);
|
|
29
|
+
(0, react_1.useEffect)(() => {
|
|
30
|
+
if (!('virtualKeyboard' in navigator)) {
|
|
31
|
+
// no support
|
|
32
|
+
console.warn(`virtual keyboard behavior set to 'overlay', but virtualKeyboard API is not supported in this browser.`);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const virtualKeyboard = navigator.virtualKeyboard;
|
|
36
|
+
const update = () => {
|
|
37
|
+
setIsKeyboardOpen(virtualKeyboard.boundingRect.height > 0);
|
|
38
|
+
};
|
|
39
|
+
update();
|
|
40
|
+
virtualKeyboard.addEventListener('geometrychange', update);
|
|
41
|
+
return () => {
|
|
42
|
+
virtualKeyboard.removeEventListener('geometrychange', update);
|
|
43
|
+
};
|
|
44
|
+
}, []);
|
|
45
|
+
if (virtualKeyboardBehavior === 'displace') {
|
|
46
|
+
return isViewportConstrained;
|
|
47
|
+
}
|
|
48
|
+
return isKeyboardOpen;
|
|
49
|
+
}
|
|
50
|
+
exports.useIsKeyboardOpen = useIsKeyboardOpen;
|
|
51
|
+
function useReactToViewportChanges(cb, disable) {
|
|
52
|
+
const stableCb = (0, useStableCallback_js_1.useStableCallback)(cb);
|
|
10
53
|
(0, react_1.useEffect)(() => {
|
|
11
54
|
if (disable)
|
|
12
55
|
return;
|
|
13
|
-
const viewport =
|
|
56
|
+
const viewport = window.visualViewport;
|
|
14
57
|
if (!viewport) {
|
|
15
58
|
return;
|
|
16
59
|
}
|
|
17
60
|
const update = () => {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
61
|
+
stableCb(viewport);
|
|
62
|
+
};
|
|
63
|
+
let prevTimeout;
|
|
64
|
+
const debouncedUpdate = () => {
|
|
65
|
+
if (prevTimeout) {
|
|
66
|
+
clearTimeout(prevTimeout);
|
|
67
|
+
}
|
|
68
|
+
prevTimeout = window.setTimeout(update, 50);
|
|
23
69
|
};
|
|
24
70
|
update();
|
|
25
71
|
window.addEventListener('scroll', update, { passive: true });
|
|
26
72
|
viewport.addEventListener('resize', update);
|
|
73
|
+
viewport.addEventListener('scroll', debouncedUpdate, { passive: true });
|
|
27
74
|
return () => {
|
|
28
75
|
viewport.removeEventListener('resize', update);
|
|
29
76
|
window.removeEventListener('scroll', update);
|
|
77
|
+
viewport.removeEventListener('scroll', debouncedUpdate);
|
|
30
78
|
};
|
|
31
|
-
}, [disable]);
|
|
79
|
+
}, [stableCb, disable]);
|
|
32
80
|
}
|
|
33
|
-
exports.useVisualViewportOffset = useVisualViewportOffset;
|
|
34
81
|
//# sourceMappingURL=useVisualViewportOffset.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVisualViewportOffset.js","sourceRoot":"","sources":["../../../src/hooks/useVisualViewportOffset.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"useVisualViewportOffset.js","sourceRoot":"","sources":["../../../src/hooks/useVisualViewportOffset.ts"],"names":[],"mappings":"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"}
|