@a-type/ui 1.1.4 → 1.1.6
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/camera/Camera.d.ts +8 -0
- package/dist/cjs/components/camera/Camera.js +30 -8
- package/dist/cjs/components/camera/Camera.js.map +1 -1
- package/dist/cjs/components/camera/Camera.stories.d.ts +9 -1
- package/dist/cjs/components/camera/Camera.stories.js +2 -1
- package/dist/cjs/components/camera/Camera.stories.js.map +1 -1
- package/dist/cjs/components/imageUploader/ImageUploader.js +2 -2
- package/dist/cjs/components/imageUploader/ImageUploader.js.map +1 -1
- package/dist/cjs/components/masonry/masonry.js +13 -11
- package/dist/cjs/components/masonry/masonry.js.map +1 -1
- package/dist/cjs/components/masonry/masonry.stories.js +13 -10
- package/dist/cjs/components/masonry/masonry.stories.js.map +1 -1
- package/dist/cjs/uno.preset.js +5 -5
- package/dist/css/main.css +6 -6
- package/dist/esm/components/camera/Camera.d.ts +8 -0
- package/dist/esm/components/camera/Camera.js +28 -7
- package/dist/esm/components/camera/Camera.js.map +1 -1
- package/dist/esm/components/camera/Camera.stories.d.ts +9 -1
- package/dist/esm/components/camera/Camera.stories.js +3 -2
- package/dist/esm/components/camera/Camera.stories.js.map +1 -1
- package/dist/esm/components/imageUploader/ImageUploader.js +3 -3
- package/dist/esm/components/imageUploader/ImageUploader.js.map +1 -1
- package/dist/esm/components/masonry/masonry.js +13 -11
- package/dist/esm/components/masonry/masonry.js.map +1 -1
- package/dist/esm/components/masonry/masonry.stories.js +13 -10
- package/dist/esm/components/masonry/masonry.stories.js.map +1 -1
- package/dist/esm/uno.preset.js +5 -5
- package/package.json +1 -1
- package/src/components/camera/Camera.stories.tsx +6 -12
- package/src/components/camera/Camera.tsx +49 -5
- package/src/components/imageUploader/ImageUploader.tsx +9 -4
- package/src/components/masonry/masonry.stories.tsx +14 -9
- package/src/components/masonry/masonry.tsx +15 -11
- package/src/uno.preset.ts +5 -5
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { MouseEvent, ReactNode } from 'react';
|
|
2
|
+
import { ButtonProps } from '../button.js';
|
|
2
3
|
export interface CameraRootProps {
|
|
3
4
|
className?: string;
|
|
4
5
|
onCapture?: (data: File) => void;
|
|
@@ -16,3 +17,10 @@ export declare const CameraShutterButton: import("react").ForwardRefExoticCompon
|
|
|
16
17
|
export interface CameraDeviceSelectorProps {
|
|
17
18
|
}
|
|
18
19
|
export declare const CameraDeviceSelector: (props: CameraDeviceSelectorProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
20
|
+
export declare const CameraFullscreenButton: (props: ButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare const Camera: ((props: CameraRootProps) => import("react/jsx-runtime").JSX.Element) & {
|
|
22
|
+
Root: import("react").ForwardRefExoticComponent<CameraRootProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
23
|
+
ShutterButton: import("react").ForwardRefExoticComponent<CameraShutterButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
24
|
+
DeviceSelector: (props: CameraDeviceSelectorProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
25
|
+
FullscreenButton: (props: ButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
};
|
|
@@ -15,7 +15,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
15
15
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
16
|
};
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.CameraDeviceSelector = exports.CameraShutterButton = exports.CameraRoot = void 0;
|
|
18
|
+
exports.Camera = exports.CameraFullscreenButton = exports.CameraDeviceSelector = exports.CameraShutterButton = exports.CameraRoot = void 0;
|
|
19
19
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
20
20
|
const clsx_1 = __importDefault(require("clsx"));
|
|
21
21
|
const react_1 = require("react");
|
|
@@ -29,6 +29,8 @@ const CameraContext = (0, react_1.createContext)({
|
|
|
29
29
|
selectedDeviceId: 'default',
|
|
30
30
|
selectDeviceId: () => { },
|
|
31
31
|
devices: [],
|
|
32
|
+
fullscreen: false,
|
|
33
|
+
setFullscreen: () => { },
|
|
32
34
|
});
|
|
33
35
|
exports.CameraRoot = (0, react_1.forwardRef)(function Camera(_a, ref) {
|
|
34
36
|
var { className, onCapture, children, facingMode, format = 'image/png' } = _a, rest = __rest(_a, ["className", "onCapture", "children", "facingMode", "format"]);
|
|
@@ -42,16 +44,19 @@ exports.CameraRoot = (0, react_1.forwardRef)(function Camera(_a, ref) {
|
|
|
42
44
|
});
|
|
43
45
|
}, [!!stream]);
|
|
44
46
|
const [selectedDeviceId, setSelectedDeviceId] = (0, react_1.useState)();
|
|
47
|
+
const cleanupRef = (0, react_1.useRef)();
|
|
45
48
|
(0, react_1.useEffect)(() => {
|
|
46
49
|
const init = () => {
|
|
47
|
-
var _a;
|
|
48
|
-
(_a =
|
|
50
|
+
var _a, _b;
|
|
51
|
+
(_a = cleanupRef.current) === null || _a === void 0 ? void 0 : _a.call(cleanupRef);
|
|
52
|
+
(_b = navigator.mediaDevices) === null || _b === void 0 ? void 0 : _b.getUserMedia({
|
|
49
53
|
video: {
|
|
50
54
|
deviceId: selectedDeviceId,
|
|
51
55
|
facingMode,
|
|
52
56
|
},
|
|
53
57
|
}).then((s) => {
|
|
54
58
|
setStream(s);
|
|
59
|
+
cleanupRef.current = () => s.getTracks().forEach((track) => track.stop());
|
|
55
60
|
});
|
|
56
61
|
};
|
|
57
62
|
init();
|
|
@@ -63,12 +68,12 @@ exports.CameraRoot = (0, react_1.forwardRef)(function Camera(_a, ref) {
|
|
|
63
68
|
init();
|
|
64
69
|
};
|
|
65
70
|
document.addEventListener('visibilitychange', reconnect);
|
|
66
|
-
}, [selectedDeviceId, facingMode]);
|
|
67
|
-
(0, react_1.useEffect)(() => {
|
|
68
71
|
return () => {
|
|
69
|
-
|
|
72
|
+
var _a;
|
|
73
|
+
document.removeEventListener('visibilitychange', reconnect);
|
|
74
|
+
(_a = cleanupRef.current) === null || _a === void 0 ? void 0 : _a.call(cleanupRef);
|
|
70
75
|
};
|
|
71
|
-
}, [
|
|
76
|
+
}, [selectedDeviceId, facingMode]);
|
|
72
77
|
(0, react_1.useEffect)(() => {
|
|
73
78
|
const video = videoRef.current;
|
|
74
79
|
if (video && stream) {
|
|
@@ -116,12 +121,15 @@ exports.CameraRoot = (0, react_1.forwardRef)(function Camera(_a, ref) {
|
|
|
116
121
|
}
|
|
117
122
|
}
|
|
118
123
|
};
|
|
124
|
+
const [fullscreen, setFullscreen] = (0, react_1.useState)(false);
|
|
119
125
|
return ((0, jsx_runtime_1.jsx)(CameraContext.Provider, Object.assign({ value: {
|
|
120
126
|
devices,
|
|
121
127
|
triggerCapture,
|
|
122
128
|
selectedDeviceId,
|
|
123
129
|
selectDeviceId: setSelectedDeviceId,
|
|
124
|
-
|
|
130
|
+
setFullscreen,
|
|
131
|
+
fullscreen,
|
|
132
|
+
} }, { children: (0, jsx_runtime_1.jsxs)("div", Object.assign({ ref: ref, className: (0, clsx_1.default)('layer-components:[font-family:inherit] layer-components:text-white layer-components:bg-black layer-components:rounded-lg layer-components:overflow-hidden layer-components:min-w-4 layer-components:min-h-4 layer-components:relative', fullscreen && 'fixed inset-0 w-full h-full z-1000 rounded-none', className) }, rest, { children: [(0, jsx_runtime_1.jsx)("video", { ref: videoRef, className: "w-full h-full object-cover", autoPlay: true, muted: true, playsInline: true }), children] })) })));
|
|
125
133
|
});
|
|
126
134
|
exports.CameraShutterButton = (0, react_1.forwardRef)(function CameraShutterButton(_a, ref) {
|
|
127
135
|
var { asChild, onClick } = _a, rest = __rest(_a, ["asChild", "onClick"]);
|
|
@@ -155,6 +163,20 @@ const CameraDeviceSelector = (props) => {
|
|
|
155
163
|
return ((0, jsx_runtime_1.jsxs)(select_js_1.Select, Object.assign({ value: selectedDeviceId || 'default', onValueChange: selectDeviceId }, { children: [(0, jsx_runtime_1.jsx)(select_js_1.SelectTrigger, Object.assign({ asChild: true }, { children: (0, jsx_runtime_1.jsx)(button_js_1.Button, Object.assign({ size: "icon", color: "ghost", className: "absolute bottom-2 left-2 text-white" }, { children: (0, jsx_runtime_1.jsx)(icon_js_1.Icon, { name: "refresh" }) })) })), (0, jsx_runtime_1.jsx)(select_js_1.SelectContent, { children: devices.map((device) => ((0, jsx_runtime_1.jsx)(select_js_1.SelectItem, Object.assign({ value: device.deviceId }, { children: device.label }), device.deviceId))) })] })));
|
|
156
164
|
};
|
|
157
165
|
exports.CameraDeviceSelector = CameraDeviceSelector;
|
|
166
|
+
const CameraFullscreenButton = (props) => {
|
|
167
|
+
const { setFullscreen, fullscreen } = (0, react_1.useContext)(CameraContext);
|
|
168
|
+
return ((0, jsx_runtime_1.jsx)(button_js_1.Button, Object.assign({}, props, { size: "icon", color: "ghost", className: "absolute top-2 right-2 text-white", onClick: () => setFullscreen(!fullscreen) }, { children: (0, jsx_runtime_1.jsx)(icon_js_1.Icon, { name: fullscreen ? 'x' : 'maximize' }) })));
|
|
169
|
+
};
|
|
170
|
+
exports.CameraFullscreenButton = CameraFullscreenButton;
|
|
171
|
+
const CameraBase = (props) => {
|
|
172
|
+
return ((0, jsx_runtime_1.jsxs)(exports.CameraRoot, Object.assign({}, props, { children: [(0, jsx_runtime_1.jsx)(exports.CameraShutterButton, {}), (0, jsx_runtime_1.jsx)(exports.CameraDeviceSelector, {}), (0, jsx_runtime_1.jsx)(exports.CameraFullscreenButton, {})] })));
|
|
173
|
+
};
|
|
174
|
+
exports.Camera = Object.assign(CameraBase, {
|
|
175
|
+
Root: exports.CameraRoot,
|
|
176
|
+
ShutterButton: exports.CameraShutterButton,
|
|
177
|
+
DeviceSelector: exports.CameraDeviceSelector,
|
|
178
|
+
FullscreenButton: exports.CameraFullscreenButton,
|
|
179
|
+
});
|
|
158
180
|
function dataURItoFile(dataURI) {
|
|
159
181
|
// convert base64/URLEncoded data component to raw binary data held in a string
|
|
160
182
|
var byteString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Camera.js","sourceRoot":"","sources":["../../../../src/components/camera/Camera.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,iCASe;AACf,
|
|
1
|
+
{"version":3,"file":"Camera.js","sourceRoot":"","sources":["../../../../src/components/camera/Camera.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
|
+
/// <reference types="react" resolution-mode="require"/>
|
|
1
2
|
import type { StoryObj } from '@storybook/react';
|
|
3
|
+
import { Camera } from './Camera.js';
|
|
2
4
|
declare const meta: {
|
|
3
5
|
title: string;
|
|
6
|
+
component: ((props: import("./Camera.js").CameraRootProps) => import("react/jsx-runtime").JSX.Element) & {
|
|
7
|
+
Root: import("react").ForwardRefExoticComponent<import("./Camera.js").CameraRootProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
8
|
+
ShutterButton: import("react").ForwardRefExoticComponent<import("./Camera.js").CameraShutterButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
9
|
+
DeviceSelector: (props: import("./Camera.js").CameraDeviceSelectorProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
10
|
+
FullscreenButton: (props: import("../button.js").ButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
};
|
|
4
12
|
argTypes: {};
|
|
5
13
|
parameters: {
|
|
6
14
|
controls: {
|
|
@@ -10,6 +18,6 @@ declare const meta: {
|
|
|
10
18
|
args: {};
|
|
11
19
|
};
|
|
12
20
|
export default meta;
|
|
13
|
-
type Story = StoryObj
|
|
21
|
+
type Story = StoryObj<typeof Camera>;
|
|
14
22
|
export declare const Default: Story;
|
|
15
23
|
export declare const BackCamera: Story;
|
|
@@ -7,6 +7,7 @@ const Camera_js_1 = require("./Camera.js");
|
|
|
7
7
|
const react_1 = require("react");
|
|
8
8
|
const meta = {
|
|
9
9
|
title: 'Camera',
|
|
10
|
+
component: Camera_js_1.Camera,
|
|
10
11
|
argTypes: {},
|
|
11
12
|
parameters: {
|
|
12
13
|
controls: { expanded: true },
|
|
@@ -27,6 +28,6 @@ exports.BackCamera = {
|
|
|
27
28
|
function CameraDemo({ facingMode }) {
|
|
28
29
|
const [latest, setLatest] = (0, react_1.useState)();
|
|
29
30
|
const dataUri = (0, react_1.useMemo)(() => (latest ? URL.createObjectURL(latest) : undefined), [latest]);
|
|
30
|
-
return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.
|
|
31
|
+
return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(Camera_js_1.Camera, { facingMode: facingMode, onCapture: setLatest, className: "w-64 h-64" }), latest && (0, jsx_runtime_1.jsx)("img", { src: dataUri, className: "w-full" })] }));
|
|
31
32
|
}
|
|
32
33
|
//# sourceMappingURL=Camera.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Camera.stories.js","sourceRoot":"","sources":["../../../../src/components/camera/Camera.stories.tsx"],"names":[],"mappings":";;;;AACA,
|
|
1
|
+
{"version":3,"file":"Camera.stories.js","sourceRoot":"","sources":["../../../../src/components/camera/Camera.stories.tsx"],"names":[],"mappings":";;;;AACA,2CAAqC;AACrC,iCAA0C;AAE1C,MAAM,IAAI,GAAG;IACZ,KAAK,EAAE,QAAQ;IACf,SAAS,EAAE,kBAAM;IACjB,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE;QACX,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC5B;IACD,IAAI,EAAE,EAAE;CACsB,CAAC;AAEhC,kBAAe,IAAI,CAAC;AAIP,QAAA,OAAO,GAAU;IAC7B,MAAM;QACL,OAAO,uBAAC,UAAU,KAAG,CAAC;IACvB,CAAC;CACD,CAAC;AAEW,QAAA,UAAU,GAAU;IAChC,MAAM;QACL,OAAO,uBAAC,UAAU,IAAC,UAAU,EAAC,aAAa,GAAG,CAAC;IAChD,CAAC;CACD,CAAC;AAEF,SAAS,UAAU,CAAC,EAAE,UAAU,EAA2C;IAC1E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,GAAoB,CAAC;IACzD,MAAM,OAAO,GAAG,IAAA,eAAO,EACtB,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EACxD,CAAC,MAAM,CAAC,CACR,CAAC;IAEF,OAAO,CACN,4CACC,uBAAC,kBAAM,IACN,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAC,WAAW,GACpB,EACD,MAAM,IAAI,gCAAK,GAAG,EAAE,OAAO,EAAE,SAAS,EAAC,QAAQ,GAAG,IAC9C,CACN,CAAC;AACH,CAAC"}
|
|
@@ -93,12 +93,12 @@ function ImageUploader(_a) {
|
|
|
93
93
|
}, []);
|
|
94
94
|
const [cameraOpen, setCameraOpen] = (0, react_1.useState)(false);
|
|
95
95
|
const openCamera = () => setCameraOpen(true);
|
|
96
|
-
return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: (0, clsx_1.default)('relative overflow-hidden', rest.className), onDragEnter: onDragEnter, onDragLeave: onDragLeave, onDragOver: onDragOver, onDrop: onDrop, onDragStart: onDragStart, onDragEnd: onDragEnd }, { children: [value ? ((0, jsx_runtime_1.jsx)("img", { src: value, className: "w-full h-full object-cover object-center" })) : null, !value && ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: (0, clsx_1.default)('absolute inset-0 flex flex-col items-center justify-center gap-3 bg-[rgba(0,0,0,0.05)]', {
|
|
96
|
+
return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: (0, clsx_1.default)('relative overflow-hidden rounded-lg', rest.className), onDragEnter: onDragEnter, onDragLeave: onDragLeave, onDragOver: onDragOver, onDrop: onDrop, onDragStart: onDragStart, onDragEnd: onDragEnd }, { children: [value ? ((0, jsx_runtime_1.jsx)("img", { src: value, className: "w-full h-full object-cover object-center" })) : null, !value && ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: (0, clsx_1.default)('absolute inset-0 flex flex-col items-center justify-center gap-3 bg-[rgba(0,0,0,0.05)]', {
|
|
97
97
|
'!bg-[rgba(0,0,0,0.1)]': draggingOver,
|
|
98
98
|
}) }, { children: [(0, jsx_runtime_1.jsx)("input", { type: "file", accept: "image/*", onChange: onFileChange, onClick: onFileClick, className: "absolute inset--99999 op-0", id: inputId }), (0, jsx_runtime_1.jsx)(button_js_1.Button, Object.assign({ color: "ghost", asChild: true }, { children: (0, jsx_runtime_1.jsxs)("label", Object.assign({ htmlFor: inputId }, { children: [(0, jsx_runtime_1.jsx)(icon_js_1.Icon, { name: "upload" }), (0, jsx_runtime_1.jsx)("span", { children: dragging ? 'Drop' : 'Upload' })] })) })), (0, jsx_runtime_1.jsxs)(button_js_1.Button, Object.assign({ color: "ghost", onClick: openCamera }, { children: [(0, jsx_runtime_1.jsx)(icon_js_1.Icon, { name: "camera" }), (0, jsx_runtime_1.jsx)("span", { children: "Camera" })] }))] }))), !value && cameraOpen && ((0, jsx_runtime_1.jsxs)(camera_js_1.CameraRoot, Object.assign({ className: "absolute w-full h-full z-1", format: "image/png", onCapture: (file) => {
|
|
99
99
|
onChange(file);
|
|
100
100
|
setCameraOpen(false);
|
|
101
|
-
}, facingMode: facingMode }, { children: [(0, jsx_runtime_1.jsx)(camera_js_1.CameraShutterButton, {}), (0, jsx_runtime_1.jsx)(camera_js_1.CameraDeviceSelector, {}), (0, jsx_runtime_1.jsx)(button_js_1.Button, Object.assign({ onClick: () => setCameraOpen(false), color: "ghost", size: "
|
|
101
|
+
}, facingMode: facingMode }, { children: [(0, jsx_runtime_1.jsx)(camera_js_1.CameraShutterButton, {}), (0, jsx_runtime_1.jsx)(camera_js_1.CameraDeviceSelector, {}), (0, jsx_runtime_1.jsx)(camera_js_1.CameraFullscreenButton, {}), (0, jsx_runtime_1.jsx)(button_js_1.Button, Object.assign({ onClick: () => setCameraOpen(false), color: "ghost", size: "small", className: "text-white absolute top-2 left-2" }, { children: "Cancel" }))] }))), value && ((0, jsx_runtime_1.jsx)(button_js_1.Button, Object.assign({ color: "ghost", size: "icon", className: "absolute top-2 right-2 w-32px h-32px border-none p-2 cursor-pointer bg-white color-black rounded-full transition-colors shadow-sm", onClick: () => onChange(null) }, { children: (0, jsx_runtime_1.jsx)(icon_js_1.Icon, { name: "x" }) })))] })));
|
|
102
102
|
}
|
|
103
103
|
exports.ImageUploader = ImageUploader;
|
|
104
104
|
//# sourceMappingURL=ImageUploader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageUploader.js","sourceRoot":"","sources":["../../../../src/components/imageUploader/ImageUploader.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;AAEb,gDAA8B;AAC9B,iCAAqD;AACrD,wCAAkC;AAClC,4CAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"ImageUploader.js","sourceRoot":"","sources":["../../../../src/components/imageUploader/ImageUploader.tsx"],"names":[],"mappings":"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"}
|
|
@@ -26,10 +26,7 @@ class MasonryLayout {
|
|
|
26
26
|
container.style.setProperty('visibility', 'visible');
|
|
27
27
|
container.childNodes.forEach((node) => {
|
|
28
28
|
if (node instanceof HTMLElement) {
|
|
29
|
-
|
|
30
|
-
// hide until laid out
|
|
31
|
-
node.style.setProperty('visibility', 'hidden');
|
|
32
|
-
this.childSizeObserver.observe(node);
|
|
29
|
+
this.setupChild(node);
|
|
33
30
|
}
|
|
34
31
|
});
|
|
35
32
|
this.updateFromContainerSize(container.offsetWidth);
|
|
@@ -43,6 +40,15 @@ class MasonryLayout {
|
|
|
43
40
|
this.container = null;
|
|
44
41
|
};
|
|
45
42
|
};
|
|
43
|
+
this.setupChild = (child) => {
|
|
44
|
+
child.style.setProperty('position', 'absolute');
|
|
45
|
+
// hide until laid out
|
|
46
|
+
child.style.setProperty('visibility', 'hidden');
|
|
47
|
+
this.childSizeObserver.observe(child);
|
|
48
|
+
this.childMutationObserver.observe(child, {
|
|
49
|
+
attributeFilter: ['data-span'],
|
|
50
|
+
});
|
|
51
|
+
};
|
|
46
52
|
this.updateConfig = (config) => {
|
|
47
53
|
var _a, _b;
|
|
48
54
|
const gapChanged = config.gap !== this.config.gap;
|
|
@@ -71,12 +77,8 @@ class MasonryLayout {
|
|
|
71
77
|
this.handleContainerMutation = (entries) => {
|
|
72
78
|
for (const entry of entries) {
|
|
73
79
|
entry.addedNodes.forEach((node) => {
|
|
74
|
-
var _a;
|
|
75
80
|
if (node instanceof HTMLElement) {
|
|
76
|
-
|
|
77
|
-
// hide until laid out
|
|
78
|
-
node.style.setProperty('visibility', 'hidden');
|
|
79
|
-
(_a = this.childSizeObserver) === null || _a === void 0 ? void 0 : _a.observe(node);
|
|
81
|
+
this.setupChild(node);
|
|
80
82
|
}
|
|
81
83
|
});
|
|
82
84
|
entry.removedNodes.forEach((node) => {
|
|
@@ -86,8 +88,7 @@ class MasonryLayout {
|
|
|
86
88
|
}
|
|
87
89
|
});
|
|
88
90
|
}
|
|
89
|
-
|
|
90
|
-
setTimeout(this.relayout, 100);
|
|
91
|
+
this.relayout();
|
|
91
92
|
};
|
|
92
93
|
this.handleChildResize = (entries) => {
|
|
93
94
|
// only worry about height changes
|
|
@@ -145,6 +146,7 @@ class MasonryLayout {
|
|
|
145
146
|
this.columns =
|
|
146
147
|
typeof config.columns === 'function' ? config.columns(0) : config.columns;
|
|
147
148
|
this.childSizeObserver = new ResizeObserver(this.handleChildResize);
|
|
149
|
+
this.childMutationObserver = new MutationObserver(this.relayout);
|
|
148
150
|
}
|
|
149
151
|
}
|
|
150
152
|
function pickTrack(tracks, trackSpan) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"masonry.js","sourceRoot":"","sources":["../../../../src/components/masonry/masonry.tsx"],"names":[],"mappings":";;;;AAAA,yCAAyC;AACzC,iCAA8E;AAO9E,MAAM,aAAa;
|
|
1
|
+
{"version":3,"file":"masonry.js","sourceRoot":"","sources":["../../../../src/components/masonry/masonry.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.WithSpan = exports.Default = void 0;
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
6
|
const masonry_js_1 = require("./masonry.js");
|
|
7
|
+
const react_1 = require("react");
|
|
7
8
|
const meta = {
|
|
8
9
|
title: 'Masonry',
|
|
9
10
|
component: masonry_js_1.Masonry,
|
|
@@ -13,18 +14,20 @@ const meta = {
|
|
|
13
14
|
},
|
|
14
15
|
};
|
|
15
16
|
exports.default = meta;
|
|
17
|
+
const randomSpan = () => {
|
|
18
|
+
let span = 1;
|
|
19
|
+
if (Math.random() < 0.1) {
|
|
20
|
+
span = 2;
|
|
21
|
+
}
|
|
22
|
+
else if (Math.random() < 0.03) {
|
|
23
|
+
span = 3;
|
|
24
|
+
}
|
|
25
|
+
return span;
|
|
26
|
+
};
|
|
16
27
|
const content = (spans) => Array.from({ length: 100 }, (_, i) => {
|
|
17
28
|
const size = 100 + Math.floor(Math.random() * 100);
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (Math.random() < 0.1) {
|
|
21
|
-
span = 2;
|
|
22
|
-
}
|
|
23
|
-
else if (Math.random() < 0.03) {
|
|
24
|
-
span = 3;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return ((0, jsx_runtime_1.jsx)("div", Object.assign({ className: "bg-gray-5 rounded-lg", style: { height: size }, "data-span": span }, { children: size }), i));
|
|
29
|
+
const [span, setSpan] = (0, react_1.useState)(randomSpan);
|
|
30
|
+
return ((0, jsx_runtime_1.jsx)("div", Object.assign({ className: "bg-gray-5 rounded-lg", style: { height: size }, "data-span": spans ? span : undefined, onClick: () => setSpan((v) => (v === 1 ? 2 : 1)) }, { children: size }), i));
|
|
28
31
|
});
|
|
29
32
|
exports.Default = {
|
|
30
33
|
render(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"masonry.stories.js","sourceRoot":"","sources":["../../../../src/components/masonry/masonry.stories.tsx"],"names":[],"mappings":";;;;AACA,6CAAuC;
|
|
1
|
+
{"version":3,"file":"masonry.stories.js","sourceRoot":"","sources":["../../../../src/components/masonry/masonry.stories.tsx"],"names":[],"mappings":";;;;AACA,6CAAuC;AACvC,iCAAiC;AAEjC,MAAM,IAAI,GAAG;IACZ,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,oBAAO;IAClB,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE;QACX,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC5B;CAC8B,CAAC;AAEjC,kBAAe,IAAI,CAAC;AAIpB,MAAM,UAAU,GAAG,GAAG,EAAE;IACvB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE;QACxB,IAAI,GAAG,CAAC,CAAC;KACT;SAAM,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE;QAChC,IAAI,GAAG,CAAC,CAAC;KACT;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,KAAe,EAAE,EAAE,CACnC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;IACpC,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;IACnD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAC,UAAU,CAAC,CAAC;IAE7C,OAAO,CACN,8CAEC,SAAS,EAAC,sBAAsB,EAChC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,eACZ,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EACnC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAE/C,IAAI,KANA,CAAC,CAOD,CACN,CAAC;AACH,CAAC,CAAC,CAAC;AAES,QAAA,OAAO,GAAU;IAC7B,MAAM,CAAC,KAAK;QACX,OAAO,uBAAC,oBAAO,oBAAK,KAAK,cAAG,OAAO,EAAE,IAAW,CAAC;IAClD,CAAC;CACD,CAAC;AAEW,QAAA,QAAQ,GAAU;IAC9B,MAAM,CAAC,KAAK;QACX,OAAO,uBAAC,oBAAO,oBAAK,KAAK,cAAG,OAAO,CAAC,IAAI,CAAC,IAAW,CAAC;IACtD,CAAC;CACD,CAAC"}
|
package/dist/cjs/uno.preset.js
CHANGED
|
@@ -423,17 +423,17 @@ function presetAglio({ spacingIncrement = 0.25, interFontLocation = 'https://res
|
|
|
423
423
|
--palette-blue-90: #e3f3ff;
|
|
424
424
|
--palette-blue-80: #c4e7ff;
|
|
425
425
|
--palette-blue-70: #7bd0ff;
|
|
426
|
-
--palette-blue-60: #
|
|
427
|
-
--palette-blue-50: #
|
|
428
|
-
--palette-blue-40: #
|
|
429
|
-
--palette-blue-30: #
|
|
426
|
+
--palette-blue-60: #4cc5f9;
|
|
427
|
+
--palette-blue-50: #18b5ed;
|
|
428
|
+
--palette-blue-40: #0a9acf;
|
|
429
|
+
--palette-blue-30: #077da7;
|
|
430
430
|
--palette-blue-20: #005979;
|
|
431
431
|
--palette-blue-10: #004c69;
|
|
432
432
|
--palette-blue-00: #00354a;
|
|
433
433
|
--palette-purple-90: #f1efff;
|
|
434
434
|
--palette-purple-80: #e0e0ff;
|
|
435
435
|
--palette-purple-70: #bdc2ff;
|
|
436
|
-
--palette-purple-60: #
|
|
436
|
+
--palette-purple-60: #a0a8ff;
|
|
437
437
|
--palette-purple-50: #7c87f3;
|
|
438
438
|
--palette-purple-40: #6d78d7;
|
|
439
439
|
--palette-purple-30: #6068c0;
|
package/dist/css/main.css
CHANGED
|
@@ -35,17 +35,17 @@
|
|
|
35
35
|
--palette-blue-90: #e3f3ff;
|
|
36
36
|
--palette-blue-80: #c4e7ff;
|
|
37
37
|
--palette-blue-70: #7bd0ff;
|
|
38
|
-
--palette-blue-60: #
|
|
39
|
-
--palette-blue-50: #
|
|
40
|
-
--palette-blue-40: #
|
|
41
|
-
--palette-blue-30: #
|
|
38
|
+
--palette-blue-60: #4cc5f9;
|
|
39
|
+
--palette-blue-50: #18b5ed;
|
|
40
|
+
--palette-blue-40: #0a9acf;
|
|
41
|
+
--palette-blue-30: #077da7;
|
|
42
42
|
--palette-blue-20: #005979;
|
|
43
43
|
--palette-blue-10: #004c69;
|
|
44
44
|
--palette-blue-00: #00354a;
|
|
45
45
|
--palette-purple-90: #f1efff;
|
|
46
46
|
--palette-purple-80: #e0e0ff;
|
|
47
47
|
--palette-purple-70: #bdc2ff;
|
|
48
|
-
--palette-purple-60: #
|
|
48
|
+
--palette-purple-60: #a0a8ff;
|
|
49
49
|
--palette-purple-50: #7c87f3;
|
|
50
50
|
--palette-purple-40: #6d78d7;
|
|
51
51
|
--palette-purple-30: #6068c0;
|
|
@@ -434,7 +434,7 @@
|
|
|
434
434
|
overscroll-behavior: none;
|
|
435
435
|
}
|
|
436
436
|
}
|
|
437
|
-
.outline-off{outline:none;}.unset{all:unset;}.focus-visible\:outline-off:focus-visible{outline:none;}.container{width:100%;}.hidden-input{pointer-events:none;position:absolute;z-index:-1;opacity:0;}.center{left:50%;top:50%;}.z-dialog{z-index:var(--z-dialog);}.z-dialog-backdrop{z-index:var(--z-dialogBackdrop);}.z-menu{z-index:var(--z-menu);}.z-nav{z-index:var(--z-nav);}.z-now-playing{z-index:var(--z-nowPlaying);}.z-overdraw{z-index:var(--z-overdraw);}.z-tooltip{z-index:var(--z-tooltip);}.hidden-input::webkit-file-upload-button{display:none;}.flex-0-0-auto{flex-shrink:0;flex-grow:0;flex-basis:auto;}.flex-1-0-0{flex-shrink:0;flex-grow:1;flex-basis:0.00rem;}.border-default{border-width:1px;border-color:var(--color-black);border-style:solid;}.border-light{border-width:1px;border-color:var(--color-gray-5);border-style:solid;}.bg-wash{background-color:var(--color-wash);}@layer components{.layer-components\:focus\:outline-off:focus{outline:none;}.layer-components\:focus-visible\:outline-off:focus-visible{outline:none;}.layer-components\:z-dialog{z-index:var(--z-dialog);}.layer-components\:z-dialog-backdrop{z-index:var(--z-dialogBackdrop);}.layer-components\:z-menu{z-index:var(--z-menu);}.layer-components\:z-nav{z-index:var(--z-nav);}.layer-components\:z-now-playing{z-index:var(--z-nowPlaying);}.layer-components\:z-tooltip{z-index:var(--z-tooltip);}.col{display:flex;flex-direction:column;align-items:center;gap:0.50rem;}.row{display:flex;flex-direction:row;align-items:center;gap:0.50rem;}.layer-components\:border-default{border-width:1px;border-color:var(--color-black);border-style:solid;}.layer-components\:border-light{border-width:1px;border-color:var(--color-gray-5);border-style:solid;}.layer-components\:bg-wash{background-color:var(--color-wash);}}@layer responsive{@media (min-width: 640px){.sm\:layer-responsive\:bg-wash{background-color:var(--color-wash);}}}@media (min-width: 640px){.container{max-width:640px;}}@media (min-width: 768px){.container{max-width:768px;}}@media (min-width: 1024px){.container{max-width:1024px;}}@media (min-width: 1280px){.container{max-width:1280px;}}@media (min-width: 1536px){.container{max-width:1536px;}}.\!\[background-attachment\:local\,local\,scroll\,scroll\]{background-attachment:local,local,scroll,scroll !important;}.\!\[background-repeat\:no-repeat\]{background-repeat:no-repeat !important;}.\!\[background-size\:100\%_40px\,100\%_40px\,100\%_14px\,100\%_14px\]{background-size:100% 40px,100% 40px,100% 14px,100% 14px !important;}.\[\&\[data-different-month\]\]\:\[visibility\:hidden\][data-different-month]{visibility:hidden;}.\[all\:unset\]{all:unset;}.\[background-size\:400\%_400\%\]{background-size:400% 400%;}.\[background\:linear-gradient\(var\(--scroll-bg\)_30\%\,rgba\(255\,255\,255\,0\)\)_center_top\,linear-gradient\(rgba\(255\,255\,255\,0\)\,var\(--scroll-bg\)_70\%\)_center_bottom\,radial-gradient\(farthest-side_at_50\%_0\,var\(--scroll-shadow\)\,rgba\(0\,0\,0\,0\)\)_center_top\,radial-gradient\(farthest-side_at_50\%_100\%\,var\(--scroll-shadow\)\,rgba\(0\,0\,0\,0\)\)_center_bottom\]{background:linear-gradient(var(--scroll-bg) 30%,rgba(255,255,255,0)) center top,linear-gradient(rgba(255,255,255,0),var(--scroll-bg) 70%) center bottom,radial-gradient(farthest-side at 50% 0,var(--scroll-shadow),rgba(0,0,0,0)) center top,radial-gradient(farthest-side at 50% 100%,var(--scroll-shadow),rgba(0,0,0,0)) center bottom;}.\[grid-area\:leftGrid\]{grid-area:leftGrid;}.\[grid-area\:leftMonth\]{grid-area:leftMonth;}.\[grid-area\:nextMonth\]{grid-area:nextMonth;}.\[grid-area\:prevMonth\]{grid-area:prevMonth;}.\[grid-area\:rightGrid\]{grid-area:rightGrid;}.\[grid-area\:rightMonth\]{grid-area:rightMonth;}.\[grid-auto-rows\:var\(--day-size\,32px\)\]{grid-auto-rows:var(--day-size,32px);}.\[grid-template-areas\:\"prevMonth_leftMonth_nextMonth\"\"leftGrid_leftGrid_leftGrid\"\]{grid-template-areas:"prevMonth leftMonth nextMonth""leftGrid leftGrid leftGrid";}.\[grid-template-columns\:auto_1fr_auto\]{grid-template-columns:auto 1fr auto;}.\[grid-template-rows\:auto_1fr\]{grid-template-rows:auto 1fr;}.\[outline\:none\]{outline:none;}.\[stroke-dasharray\:80_200\]{stroke-dasharray:80 200;}.\[stroke-dashoffset\:0\]{stroke-dashoffset:0;}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}.\[\&\[data-disabled\]\]\:pointer-events-none[data-disabled],.pointer-events-none{pointer-events:none;}.after\:pointer-events-none::after{pointer-events:none;}.\!visible{visibility:visible !important;}.visible{visibility:visible;}.\[\&\[data-state\=active\]\]\:relative[data-state=active],.relative{position:relative;}.absolute{position:absolute;}.fixed{position:fixed;}.sticky{position:sticky;}.\[\&\[data-today\]\]\:before\:absolute[data-today]::before{position:absolute;}.before\:absolute::before{position:absolute;}.after\:absolute::after{position:absolute;}.static{position:static;}.inset--99999{inset:-24999.75rem;}.inset-0{inset:0.00rem;}.after\:inset-0::after{inset:0.00rem;}.bottom--0\.5px{bottom:-0.5px;}.bottom--6{bottom:-1.5rem;}.bottom-0{bottom:0.00rem;}.bottom-0px{bottom:0;}.bottom-2{bottom:0.50rem;}.bottom-3{bottom:0.75rem;}.left-0{left:0.00rem;}.left-1\/2,.left-50\%{left:50%;}.left-2{left:0.50rem;}.right--20px{right:-20px;}.right-1{right:0.25rem;}.right-2{right:0.50rem;}.top--20px{top:-20px;}.top-0{top:0.00rem;}.top-1px{top:1px;}.top-2{top:0.50rem;}.top-50\%{top:50%;}.top-auto{top:auto;}.\[\&\[data-today\]\]\:before\:left-\[2px\][data-today]::before{left:2px;}.\[\&\[data-today\]\]\:before\:top-\[2px\][data-today]::before{top:2px;}.before\:left-1\/2::before{left:50%;}.before\:top-1\/2::before{top:50%;}.after\:bottom-0::after{bottom:0.00rem;}.after\:left--9px::after{left:-9px;}.after\:right-0::after{right:0.00rem;}.after\:top--7px::after{top:-7px;}.after\:top-0::after{top:0.00rem;}.after\:top-auto::after{top:auto;}.\[\&\[data-highlighted\]\]\:z-1[data-highlighted],.\[\&\[data-in-range\]\]\:z-1[data-in-range],.\[\&\[data-range-end\]\]\:z-1[data-range-end],.\[\&\[data-range-start\]\]\:z-1[data-range-start],.\[\&\[data-state\=active\]\]\:z-1[data-state=active],.z-1{z-index:1;}.\[\&\[data-selected\]\]\:z-2[data-selected]{z-index:2;}.z--1{z-index:-1;}.z-\[calc\(var\(--z-dialog\)\+1\)\]{z-index:calc(var(--z-dialog) + 1);}.z-\[var\(--z-dialog\)\]{z-index:var(--z-dialog);}.z-\[var\(--z-dialogBackdrop\)\]{z-index:var(--z-dialogBackdrop);}.z-\[var\(--z-menu\)\]{z-index:var(--z-menu);}.z-\[var\(--z-nav\)\]{z-index:var(--z-nav);}.z-\[var\(--z-nowPlaying\)\]{z-index:var(--z-nowPlaying);}.z-\[var\(--z-overdraw\)\]{z-index:var(--z-overdraw);}.z-\[var\(--z-tooltip\)\]{z-index:var(--z-tooltip);}.hover\:z-1:hover{z-index:1;}.after\:z-1::after{z-index:1;}.grid{display:grid;}.grid-cols-\[repeat\(7\,var\(--day-size\,32px\)\)\]{grid-template-columns:repeat(7,var(--day-size,32px));}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.important\:m-2{margin:0.50rem !important;}.m-1{margin:0.25rem;}.m-2{margin:0.50rem;}.m-5px{margin:5px;}.m\[k\]{margin:k;}.important\:mx-1{margin-left:0.25rem !important;margin-right:0.25rem !important;}.my-0{margin-top:0.00rem;margin-bottom:0.00rem;}.my-4{margin-top:1.00rem;margin-bottom:1.00rem;}.\[\&_\.ProseMirror_h1\,h2\,h3\,p\]\:mt-0 .ProseMirror h1,h2,h3,p,.mt-0{margin-top:0.00rem;}.\[\&_\.ProseMirror_h2\]\:mb-2 .ProseMirror h2{margin-bottom:0.50rem;}.\[\&_\.ProseMirror_h2\]\:mt-4 .ProseMirror h2{margin-top:1.00rem;}.mb--1px{margin-bottom:-1px;}.mb-1{margin-bottom:0.25rem;}.mb-4{margin-bottom:1.00rem;}.mb-6{margin-bottom:1.50rem;}.me{margin-inline-end:1rem;}.ml--1{margin-left:-0.25rem;}.ml-auto{margin-left:auto;}.mr--1px{margin-right:-1px;}.mr-1{margin-right:0.25rem;}.mt-3{margin-top:0.75rem;}.mt-auto{margin-top:auto;}.block{display:block;}.inline-block{display:inline-block;}.\!hidden{display:none !important;}.\[\&\:\:webkit-file-upload-button\]\:hidden::webkit-file-upload-button,.hidden{display:none;}.\[\&\[data-state\=delayed-open\]\]\:display-initial[data-state=delayed-open],.\[\&\[data-state\=instant-open\]\]\:display-initial[data-state=instant-open]{display:initial;}.\[\&\[data-state\=closed\]\]\:max-h-\[var\(--peek-height\,120px\)\][data-state=closed]{max-height:var(--peek-height,120px);}.h-\[100vh\]{height:100vh;}.h-\[12px\]{height:12px;}.h-\[4px\]{height:4px;}.h-\[calc\(100\%-18px\)\]{height:calc(100% - 18px);}.h-16{height:4rem;}.h-16px{height:16px;}.h-1em{height:1em;}.h-1px{height:1px;}.h-21px{height:21px;}.h-25px{height:25px;}.h-32px{height:32px;}.h-36px{height:36px;}.h-4,.h4{height:1rem;}.h-64{height:16rem;}.h-80px{height:80px;}.h-full{height:100%;}.h1{height:0.25rem;}.h2{height:0.5rem;}.h3{height:0.75rem;}.h5{height:1.25rem;}.important\:h-30px{height:30px !important;}.max-h-200px{max-height:200px;}.max-w-300px{max-width:300px;}.max-w-600px{max-width:600px;}.max-w-full{max-width:100%;}.min-h-20vh{min-height:20vh;}.min-w-0{min-width:0;}.min-w-220px{min-width:220px;}.w-\[12px\]{width:12px;}.w-\[calc\(var\(--day-size\,32px\)\*7\)\]{width:calc(var(--day-size,32px) * 7);}.w-0{width:0;}.w-16{width:4rem;}.w-16px{width:16px;}.w-1em{width:1em;}.w-20\%{width:20%;}.w-20px{width:20px;}.w-21px{width:21px;}.w-25px{width:25px;}.w-32px{width:32px;}.w-4{width:1rem;}.w-400px{width:400px;}.w-42px{width:42px;}.w-64{width:16rem;}.w-80px{width:80px;}.w-full{width:100%;}.w-max-content{width:max-content;}.\[\&\[data-today\]\]\:before\:h-\[6px\][data-today]::before{height:6px;}.\[\&\[data-today\]\]\:before\:w-\[6px\][data-today]::before{width:6px;}.before\:min-h-44px::before{min-height:44px;}.before\:min-w-44px::before{min-width:44px;}.before\:w-full::before{width:100%;}.after\:h-80px::after{height:80px;}.after\:w-50px::after{width:50px;}.flex{display:flex;}.important\:flex{display:flex !important;}.after\:flex::after{display:flex;}.inline-flex{display:inline-flex;}.flex-1{flex:1 1 0%;}.flex-shrink-0{flex-shrink:0;}.flex-grow-0{flex-grow:0;}.flex-grow-1{flex-grow:1;}.flex-basis-0{flex-basis:0.00rem;}.flex-basis-auto{flex-basis:auto;}.flex-row{flex-direction:row;}.important\:flex-row{flex-direction:row !important;}.flex-col{flex-direction:column;}.after\:flex-col::after{flex-direction:column;}.flex-wrap{flex-wrap:wrap;}.transform-origin-\[50\%_50\%\]{transform-origin:50% 50%;}.translate-\[-50\%\]{--un-translate-x:-50%;--un-translate-y:-50%;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}.-translate-x-1\/2{--un-translate-x:-50%;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}.\[\&\[data-state\=checked\]\]\:translate-x-19px[data-state=checked]{--un-translate-x:19px;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}.translate-y-\[-50\%\]{--un-translate-y:-50%;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}.translate-y-6{--un-translate-y:1.50rem;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}.before\:-translate-x-1\/2::before{--un-translate-x:-50%;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}.before\:-translate-y-1\/2::before{--un-translate-y:-50%;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}.rotate-180{--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-rotate:180deg;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}.transform{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}.transform-gpu{transform:translate3d(var(--un-translate-x), var(--un-translate-y), var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}@keyframes peek-close{
|
|
437
|
+
.outline-off{outline:none;}.unset{all:unset;}.focus-visible\:outline-off:focus-visible{outline:none;}.container{width:100%;}.hidden-input{pointer-events:none;position:absolute;z-index:-1;opacity:0;}.center{left:50%;top:50%;}.z-dialog{z-index:var(--z-dialog);}.z-dialog-backdrop{z-index:var(--z-dialogBackdrop);}.z-menu{z-index:var(--z-menu);}.z-nav{z-index:var(--z-nav);}.z-now-playing{z-index:var(--z-nowPlaying);}.z-overdraw{z-index:var(--z-overdraw);}.z-tooltip{z-index:var(--z-tooltip);}.hidden-input::webkit-file-upload-button{display:none;}.flex-0-0-auto{flex-shrink:0;flex-grow:0;flex-basis:auto;}.flex-1-0-0{flex-shrink:0;flex-grow:1;flex-basis:0.00rem;}.border-default{border-width:1px;border-color:var(--color-black);border-style:solid;}.border-light{border-width:1px;border-color:var(--color-gray-5);border-style:solid;}.bg-wash{background-color:var(--color-wash);}@layer components{.layer-components\:focus\:outline-off:focus{outline:none;}.layer-components\:focus-visible\:outline-off:focus-visible{outline:none;}.layer-components\:z-dialog{z-index:var(--z-dialog);}.layer-components\:z-dialog-backdrop{z-index:var(--z-dialogBackdrop);}.layer-components\:z-menu{z-index:var(--z-menu);}.layer-components\:z-nav{z-index:var(--z-nav);}.layer-components\:z-now-playing{z-index:var(--z-nowPlaying);}.layer-components\:z-tooltip{z-index:var(--z-tooltip);}.col{display:flex;flex-direction:column;align-items:center;gap:0.50rem;}.row{display:flex;flex-direction:row;align-items:center;gap:0.50rem;}.layer-components\:border-default{border-width:1px;border-color:var(--color-black);border-style:solid;}.layer-components\:border-light{border-width:1px;border-color:var(--color-gray-5);border-style:solid;}.layer-components\:bg-wash{background-color:var(--color-wash);}}@layer responsive{@media (min-width: 640px){.sm\:layer-responsive\:bg-wash{background-color:var(--color-wash);}}}@media (min-width: 640px){.container{max-width:640px;}}@media (min-width: 768px){.container{max-width:768px;}}@media (min-width: 1024px){.container{max-width:1024px;}}@media (min-width: 1280px){.container{max-width:1280px;}}@media (min-width: 1536px){.container{max-width:1536px;}}.\!\[background-attachment\:local\,local\,scroll\,scroll\]{background-attachment:local,local,scroll,scroll !important;}.\!\[background-repeat\:no-repeat\]{background-repeat:no-repeat !important;}.\!\[background-size\:100\%_40px\,100\%_40px\,100\%_14px\,100\%_14px\]{background-size:100% 40px,100% 40px,100% 14px,100% 14px !important;}.\[\&\[data-different-month\]\]\:\[visibility\:hidden\][data-different-month]{visibility:hidden;}.\[all\:unset\]{all:unset;}.\[background-size\:400\%_400\%\]{background-size:400% 400%;}.\[background\:linear-gradient\(var\(--scroll-bg\)_30\%\,rgba\(255\,255\,255\,0\)\)_center_top\,linear-gradient\(rgba\(255\,255\,255\,0\)\,var\(--scroll-bg\)_70\%\)_center_bottom\,radial-gradient\(farthest-side_at_50\%_0\,var\(--scroll-shadow\)\,rgba\(0\,0\,0\,0\)\)_center_top\,radial-gradient\(farthest-side_at_50\%_100\%\,var\(--scroll-shadow\)\,rgba\(0\,0\,0\,0\)\)_center_bottom\]{background:linear-gradient(var(--scroll-bg) 30%,rgba(255,255,255,0)) center top,linear-gradient(rgba(255,255,255,0),var(--scroll-bg) 70%) center bottom,radial-gradient(farthest-side at 50% 0,var(--scroll-shadow),rgba(0,0,0,0)) center top,radial-gradient(farthest-side at 50% 100%,var(--scroll-shadow),rgba(0,0,0,0)) center bottom;}.\[grid-area\:leftGrid\]{grid-area:leftGrid;}.\[grid-area\:leftMonth\]{grid-area:leftMonth;}.\[grid-area\:nextMonth\]{grid-area:nextMonth;}.\[grid-area\:prevMonth\]{grid-area:prevMonth;}.\[grid-area\:rightGrid\]{grid-area:rightGrid;}.\[grid-area\:rightMonth\]{grid-area:rightMonth;}.\[grid-auto-rows\:var\(--day-size\,32px\)\]{grid-auto-rows:var(--day-size,32px);}.\[grid-template-areas\:\"prevMonth_leftMonth_nextMonth\"\"leftGrid_leftGrid_leftGrid\"\]{grid-template-areas:"prevMonth leftMonth nextMonth""leftGrid leftGrid leftGrid";}.\[grid-template-columns\:auto_1fr_auto\]{grid-template-columns:auto 1fr auto;}.\[grid-template-rows\:auto_1fr\]{grid-template-rows:auto 1fr;}.\[outline\:none\]{outline:none;}.\[stroke-dasharray\:80_200\]{stroke-dasharray:80 200;}.\[stroke-dashoffset\:0\]{stroke-dashoffset:0;}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}.\[\&\[data-disabled\]\]\:pointer-events-none[data-disabled],.pointer-events-none{pointer-events:none;}.after\:pointer-events-none::after{pointer-events:none;}.\!visible{visibility:visible !important;}.visible{visibility:visible;}.\[\&\[data-state\=active\]\]\:relative[data-state=active],.relative{position:relative;}.absolute{position:absolute;}.fixed{position:fixed;}.sticky{position:sticky;}.\[\&\[data-today\]\]\:before\:absolute[data-today]::before{position:absolute;}.before\:absolute::before{position:absolute;}.after\:absolute::after{position:absolute;}.static{position:static;}.inset--99999{inset:-24999.75rem;}.inset-0{inset:0.00rem;}.after\:inset-0::after{inset:0.00rem;}.bottom--0\.5px{bottom:-0.5px;}.bottom--6{bottom:-1.5rem;}.bottom-0{bottom:0.00rem;}.bottom-0px{bottom:0;}.bottom-2{bottom:0.50rem;}.bottom-3{bottom:0.75rem;}.left-0{left:0.00rem;}.left-1\/2,.left-50\%{left:50%;}.left-2{left:0.50rem;}.right--20px{right:-20px;}.right-1{right:0.25rem;}.right-2{right:0.50rem;}.top--20px{top:-20px;}.top-0{top:0.00rem;}.top-1px{top:1px;}.top-2{top:0.50rem;}.top-50\%{top:50%;}.top-auto{top:auto;}.\[\&\[data-today\]\]\:before\:left-\[2px\][data-today]::before{left:2px;}.\[\&\[data-today\]\]\:before\:top-\[2px\][data-today]::before{top:2px;}.before\:left-1\/2::before{left:50%;}.before\:top-1\/2::before{top:50%;}.after\:bottom-0::after{bottom:0.00rem;}.after\:left--9px::after{left:-9px;}.after\:right-0::after{right:0.00rem;}.after\:top--7px::after{top:-7px;}.after\:top-0::after{top:0.00rem;}.after\:top-auto::after{top:auto;}.\[\&\[data-highlighted\]\]\:z-1[data-highlighted],.\[\&\[data-in-range\]\]\:z-1[data-in-range],.\[\&\[data-range-end\]\]\:z-1[data-range-end],.\[\&\[data-range-start\]\]\:z-1[data-range-start],.\[\&\[data-state\=active\]\]\:z-1[data-state=active],.z-1{z-index:1;}.\[\&\[data-selected\]\]\:z-2[data-selected]{z-index:2;}.z--1{z-index:-1;}.z-\[calc\(var\(--z-dialog\)\+1\)\]{z-index:calc(var(--z-dialog) + 1);}.z-\[var\(--z-dialog\)\]{z-index:var(--z-dialog);}.z-\[var\(--z-dialogBackdrop\)\]{z-index:var(--z-dialogBackdrop);}.z-\[var\(--z-menu\)\]{z-index:var(--z-menu);}.z-\[var\(--z-nav\)\]{z-index:var(--z-nav);}.z-\[var\(--z-nowPlaying\)\]{z-index:var(--z-nowPlaying);}.z-\[var\(--z-overdraw\)\]{z-index:var(--z-overdraw);}.z-\[var\(--z-tooltip\)\]{z-index:var(--z-tooltip);}.z-1000{z-index:1000;}.hover\:z-1:hover{z-index:1;}.after\:z-1::after{z-index:1;}.grid{display:grid;}.grid-cols-\[repeat\(7\,var\(--day-size\,32px\)\)\]{grid-template-columns:repeat(7,var(--day-size,32px));}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.important\:m-2{margin:0.50rem !important;}.m-1{margin:0.25rem;}.m-2{margin:0.50rem;}.m-5px{margin:5px;}.m\[k\]{margin:k;}.important\:mx-1{margin-left:0.25rem !important;margin-right:0.25rem !important;}.my-0{margin-top:0.00rem;margin-bottom:0.00rem;}.my-4{margin-top:1.00rem;margin-bottom:1.00rem;}.\[\&_\.ProseMirror_h1\,h2\,h3\,p\]\:mt-0 .ProseMirror h1,h2,h3,p,.mt-0{margin-top:0.00rem;}.\[\&_\.ProseMirror_h2\]\:mb-2 .ProseMirror h2{margin-bottom:0.50rem;}.\[\&_\.ProseMirror_h2\]\:mt-4 .ProseMirror h2{margin-top:1.00rem;}.mb--1px{margin-bottom:-1px;}.mb-1{margin-bottom:0.25rem;}.mb-4{margin-bottom:1.00rem;}.mb-6{margin-bottom:1.50rem;}.me{margin-inline-end:1rem;}.ml--1{margin-left:-0.25rem;}.ml-auto{margin-left:auto;}.mr--1px{margin-right:-1px;}.mr-1{margin-right:0.25rem;}.mt-3{margin-top:0.75rem;}.mt-auto{margin-top:auto;}.block{display:block;}.inline-block{display:inline-block;}.\!hidden{display:none !important;}.\[\&\:\:webkit-file-upload-button\]\:hidden::webkit-file-upload-button,.hidden{display:none;}.\[\&\[data-state\=delayed-open\]\]\:display-initial[data-state=delayed-open],.\[\&\[data-state\=instant-open\]\]\:display-initial[data-state=instant-open]{display:initial;}.\[\&\[data-state\=closed\]\]\:max-h-\[var\(--peek-height\,120px\)\][data-state=closed]{max-height:var(--peek-height,120px);}.h-\[100vh\]{height:100vh;}.h-\[12px\]{height:12px;}.h-\[4px\]{height:4px;}.h-\[calc\(100\%-18px\)\]{height:calc(100% - 18px);}.h-16{height:4rem;}.h-16px{height:16px;}.h-1em{height:1em;}.h-1px{height:1px;}.h-21px{height:21px;}.h-25px{height:25px;}.h-32px{height:32px;}.h-36px{height:36px;}.h-4,.h4{height:1rem;}.h-64{height:16rem;}.h-80px{height:80px;}.h-full{height:100%;}.h1{height:0.25rem;}.h2{height:0.5rem;}.h3{height:0.75rem;}.h5{height:1.25rem;}.important\:h-30px{height:30px !important;}.max-h-200px{max-height:200px;}.max-w-300px{max-width:300px;}.max-w-600px{max-width:600px;}.max-w-full{max-width:100%;}.min-h-20vh{min-height:20vh;}.min-w-0{min-width:0;}.min-w-220px{min-width:220px;}.w-\[12px\]{width:12px;}.w-\[calc\(var\(--day-size\,32px\)\*7\)\]{width:calc(var(--day-size,32px) * 7);}.w-0{width:0;}.w-16{width:4rem;}.w-16px{width:16px;}.w-1em{width:1em;}.w-20\%{width:20%;}.w-20px{width:20px;}.w-21px{width:21px;}.w-25px{width:25px;}.w-32px{width:32px;}.w-4{width:1rem;}.w-400px{width:400px;}.w-42px{width:42px;}.w-64{width:16rem;}.w-80px{width:80px;}.w-full{width:100%;}.w-max-content{width:max-content;}.\[\&\[data-today\]\]\:before\:h-\[6px\][data-today]::before{height:6px;}.\[\&\[data-today\]\]\:before\:w-\[6px\][data-today]::before{width:6px;}.before\:min-h-44px::before{min-height:44px;}.before\:min-w-44px::before{min-width:44px;}.before\:w-full::before{width:100%;}.after\:h-80px::after{height:80px;}.after\:w-50px::after{width:50px;}.flex{display:flex;}.important\:flex{display:flex !important;}.after\:flex::after{display:flex;}.inline-flex{display:inline-flex;}.flex-1{flex:1 1 0%;}.flex-shrink-0{flex-shrink:0;}.flex-grow-0{flex-grow:0;}.flex-grow-1{flex-grow:1;}.flex-basis-0{flex-basis:0.00rem;}.flex-basis-auto{flex-basis:auto;}.flex-row{flex-direction:row;}.important\:flex-row{flex-direction:row !important;}.flex-col{flex-direction:column;}.after\:flex-col::after{flex-direction:column;}.flex-wrap{flex-wrap:wrap;}.transform-origin-\[50\%_50\%\]{transform-origin:50% 50%;}.translate-\[-50\%\]{--un-translate-x:-50%;--un-translate-y:-50%;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}.-translate-x-1\/2{--un-translate-x:-50%;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}.\[\&\[data-state\=checked\]\]\:translate-x-19px[data-state=checked]{--un-translate-x:19px;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}.translate-y-\[-50\%\]{--un-translate-y:-50%;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}.translate-y-6{--un-translate-y:1.50rem;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}.before\:-translate-x-1\/2::before{--un-translate-x:-50%;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}.before\:-translate-y-1\/2::before{--un-translate-y:-50%;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}.rotate-180{--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-rotate:180deg;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}.transform{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}.transform-gpu{transform:translate3d(var(--un-translate-x), var(--un-translate-y), var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}@keyframes peek-close{
|
|
438
438
|
from { height: calc(var(--collapsible-height) + 80px); max-height: none; }
|
|
439
439
|
to { height: min(var(--peek-height, 120px), var(--collapsible-height)); max-height: var(--peek-height, 120px); }
|
|
440
440
|
}@keyframes peek-open{
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { MouseEvent, ReactNode } from 'react';
|
|
2
|
+
import { ButtonProps } from '../button.js';
|
|
2
3
|
export interface CameraRootProps {
|
|
3
4
|
className?: string;
|
|
4
5
|
onCapture?: (data: File) => void;
|
|
@@ -16,3 +17,10 @@ export declare const CameraShutterButton: import("react").ForwardRefExoticCompon
|
|
|
16
17
|
export interface CameraDeviceSelectorProps {
|
|
17
18
|
}
|
|
18
19
|
export declare const CameraDeviceSelector: (props: CameraDeviceSelectorProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
20
|
+
export declare const CameraFullscreenButton: (props: ButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare const Camera: ((props: CameraRootProps) => import("react/jsx-runtime").JSX.Element) & {
|
|
22
|
+
Root: import("react").ForwardRefExoticComponent<CameraRootProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
23
|
+
ShutterButton: import("react").ForwardRefExoticComponent<CameraShutterButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
24
|
+
DeviceSelector: (props: CameraDeviceSelectorProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
25
|
+
FullscreenButton: (props: ButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
};
|
|
@@ -23,6 +23,8 @@ const CameraContext = createContext({
|
|
|
23
23
|
selectedDeviceId: 'default',
|
|
24
24
|
selectDeviceId: () => { },
|
|
25
25
|
devices: [],
|
|
26
|
+
fullscreen: false,
|
|
27
|
+
setFullscreen: () => { },
|
|
26
28
|
});
|
|
27
29
|
export const CameraRoot = forwardRef(function Camera(_a, ref) {
|
|
28
30
|
var { className, onCapture, children, facingMode, format = 'image/png' } = _a, rest = __rest(_a, ["className", "onCapture", "children", "facingMode", "format"]);
|
|
@@ -36,16 +38,19 @@ export const CameraRoot = forwardRef(function Camera(_a, ref) {
|
|
|
36
38
|
});
|
|
37
39
|
}, [!!stream]);
|
|
38
40
|
const [selectedDeviceId, setSelectedDeviceId] = useState();
|
|
41
|
+
const cleanupRef = useRef();
|
|
39
42
|
useEffect(() => {
|
|
40
43
|
const init = () => {
|
|
41
|
-
var _a;
|
|
42
|
-
(_a =
|
|
44
|
+
var _a, _b;
|
|
45
|
+
(_a = cleanupRef.current) === null || _a === void 0 ? void 0 : _a.call(cleanupRef);
|
|
46
|
+
(_b = navigator.mediaDevices) === null || _b === void 0 ? void 0 : _b.getUserMedia({
|
|
43
47
|
video: {
|
|
44
48
|
deviceId: selectedDeviceId,
|
|
45
49
|
facingMode,
|
|
46
50
|
},
|
|
47
51
|
}).then((s) => {
|
|
48
52
|
setStream(s);
|
|
53
|
+
cleanupRef.current = () => s.getTracks().forEach((track) => track.stop());
|
|
49
54
|
});
|
|
50
55
|
};
|
|
51
56
|
init();
|
|
@@ -57,12 +62,12 @@ export const CameraRoot = forwardRef(function Camera(_a, ref) {
|
|
|
57
62
|
init();
|
|
58
63
|
};
|
|
59
64
|
document.addEventListener('visibilitychange', reconnect);
|
|
60
|
-
}, [selectedDeviceId, facingMode]);
|
|
61
|
-
useEffect(() => {
|
|
62
65
|
return () => {
|
|
63
|
-
|
|
66
|
+
var _a;
|
|
67
|
+
document.removeEventListener('visibilitychange', reconnect);
|
|
68
|
+
(_a = cleanupRef.current) === null || _a === void 0 ? void 0 : _a.call(cleanupRef);
|
|
64
69
|
};
|
|
65
|
-
}, [
|
|
70
|
+
}, [selectedDeviceId, facingMode]);
|
|
66
71
|
useEffect(() => {
|
|
67
72
|
const video = videoRef.current;
|
|
68
73
|
if (video && stream) {
|
|
@@ -110,12 +115,15 @@ export const CameraRoot = forwardRef(function Camera(_a, ref) {
|
|
|
110
115
|
}
|
|
111
116
|
}
|
|
112
117
|
};
|
|
118
|
+
const [fullscreen, setFullscreen] = useState(false);
|
|
113
119
|
return (_jsx(CameraContext.Provider, Object.assign({ value: {
|
|
114
120
|
devices,
|
|
115
121
|
triggerCapture,
|
|
116
122
|
selectedDeviceId,
|
|
117
123
|
selectDeviceId: setSelectedDeviceId,
|
|
118
|
-
|
|
124
|
+
setFullscreen,
|
|
125
|
+
fullscreen,
|
|
126
|
+
} }, { children: _jsxs("div", Object.assign({ ref: ref, className: classNames('layer-components:[font-family:inherit] layer-components:text-white layer-components:bg-black layer-components:rounded-lg layer-components:overflow-hidden layer-components:min-w-4 layer-components:min-h-4 layer-components:relative', fullscreen && 'fixed inset-0 w-full h-full z-1000 rounded-none', className) }, rest, { children: [_jsx("video", { ref: videoRef, className: "w-full h-full object-cover", autoPlay: true, muted: true, playsInline: true }), children] })) })));
|
|
119
127
|
});
|
|
120
128
|
export const CameraShutterButton = forwardRef(function CameraShutterButton(_a, ref) {
|
|
121
129
|
var { asChild, onClick } = _a, rest = __rest(_a, ["asChild", "onClick"]);
|
|
@@ -148,6 +156,19 @@ export const CameraDeviceSelector = (props) => {
|
|
|
148
156
|
}
|
|
149
157
|
return (_jsxs(Select, Object.assign({ value: selectedDeviceId || 'default', onValueChange: selectDeviceId }, { children: [_jsx(SelectTrigger, Object.assign({ asChild: true }, { children: _jsx(Button, Object.assign({ size: "icon", color: "ghost", className: "absolute bottom-2 left-2 text-white" }, { children: _jsx(Icon, { name: "refresh" }) })) })), _jsx(SelectContent, { children: devices.map((device) => (_jsx(SelectItem, Object.assign({ value: device.deviceId }, { children: device.label }), device.deviceId))) })] })));
|
|
150
158
|
};
|
|
159
|
+
export const CameraFullscreenButton = (props) => {
|
|
160
|
+
const { setFullscreen, fullscreen } = useContext(CameraContext);
|
|
161
|
+
return (_jsx(Button, Object.assign({}, props, { size: "icon", color: "ghost", className: "absolute top-2 right-2 text-white", onClick: () => setFullscreen(!fullscreen) }, { children: _jsx(Icon, { name: fullscreen ? 'x' : 'maximize' }) })));
|
|
162
|
+
};
|
|
163
|
+
const CameraBase = (props) => {
|
|
164
|
+
return (_jsxs(CameraRoot, Object.assign({}, props, { children: [_jsx(CameraShutterButton, {}), _jsx(CameraDeviceSelector, {}), _jsx(CameraFullscreenButton, {})] })));
|
|
165
|
+
};
|
|
166
|
+
export const Camera = Object.assign(CameraBase, {
|
|
167
|
+
Root: CameraRoot,
|
|
168
|
+
ShutterButton: CameraShutterButton,
|
|
169
|
+
DeviceSelector: CameraDeviceSelector,
|
|
170
|
+
FullscreenButton: CameraFullscreenButton,
|
|
171
|
+
});
|
|
151
172
|
function dataURItoFile(dataURI) {
|
|
152
173
|
// convert base64/URLEncoded data component to raw binary data held in a string
|
|
153
174
|
var byteString;
|