@schemavaults/ui 0.38.1 → 0.39.0
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/components/ui/aspect-ratio/aspect-ratio.d.ts +39 -0
- package/dist/components/ui/aspect-ratio/aspect-ratio.js +73 -0
- package/dist/components/ui/aspect-ratio/aspect-ratio.js.map +1 -0
- package/dist/components/ui/aspect-ratio/index.d.ts +3 -0
- package/dist/components/ui/aspect-ratio/index.js +3 -0
- package/dist/components/ui/aspect-ratio/index.js.map +1 -0
- package/dist/components/ui/index.d.ts +2 -0
- package/dist/components/ui/index.js +1 -0
- package/dist/components/ui/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type VariantProps } from "class-variance-authority";
|
|
2
|
+
import type { ComponentProps, ReactElement } from "react";
|
|
3
|
+
export declare const aspectRatioPresetIds: ["square", "video", "photo", "wide", "ultrawide", "cinema", "portrait", "classic-portrait", "story"];
|
|
4
|
+
export type AspectRatioPresetId = (typeof aspectRatioPresetIds)[number];
|
|
5
|
+
/** Named, common aspect ratios resolved to width / height. */
|
|
6
|
+
export declare const ASPECT_RATIO_PRESETS: Record<AspectRatioPresetId, number>;
|
|
7
|
+
export declare const aspectRatioRadiusIds: ["none", "sm", "md", "lg", "xl", "2xl", "full"];
|
|
8
|
+
export type AspectRatioRadiusId = (typeof aspectRatioRadiusIds)[number];
|
|
9
|
+
export declare const aspectRatioVariants: (props?: ({
|
|
10
|
+
radius?: "sm" | "lg" | "xl" | "none" | "md" | "2xl" | "full" | null | undefined;
|
|
11
|
+
bordered?: boolean | null | undefined;
|
|
12
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
13
|
+
export interface AspectRatioProps extends Omit<ComponentProps<"div">, "ratio">, VariantProps<typeof aspectRatioVariants> {
|
|
14
|
+
/**
|
|
15
|
+
* Aspect ratio as `width / height` (e.g. `16 / 9` for widescreen).
|
|
16
|
+
* Takes precedence over `preset`. If neither is provided, defaults to `video` (16:9).
|
|
17
|
+
*/
|
|
18
|
+
ratio?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Named ratio preset. Use `ratio` for arbitrary values.
|
|
21
|
+
* - `square` (1:1) - avatars, tiles
|
|
22
|
+
* - `video` (16:9) - HD video / modern displays
|
|
23
|
+
* - `photo` (4:3) - classic photo
|
|
24
|
+
* - `wide` (3:2) - DSLR
|
|
25
|
+
* - `ultrawide` (21:9) - cinematic banners
|
|
26
|
+
* - `cinema` (~2.35:1) - anamorphic widescreen
|
|
27
|
+
* - `portrait` (3:4)
|
|
28
|
+
* - `classic-portrait` (2:3)
|
|
29
|
+
* - `story` (9:16) - vertical / mobile story
|
|
30
|
+
*/
|
|
31
|
+
preset?: AspectRatioPresetId;
|
|
32
|
+
/** Render as the child element via Radix Slot. */
|
|
33
|
+
asChild?: boolean;
|
|
34
|
+
}
|
|
35
|
+
declare function AspectRatio({ className, ratio, preset, radius, bordered, asChild, style, children, ...props }: AspectRatioProps): ReactElement;
|
|
36
|
+
declare namespace AspectRatio {
|
|
37
|
+
var displayName: string;
|
|
38
|
+
}
|
|
39
|
+
export { AspectRatio };
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
import { cn } from "../../../lib/utils";
|
|
6
|
+
export const aspectRatioPresetIds = [
|
|
7
|
+
"square",
|
|
8
|
+
"video",
|
|
9
|
+
"photo",
|
|
10
|
+
"wide",
|
|
11
|
+
"ultrawide",
|
|
12
|
+
"cinema",
|
|
13
|
+
"portrait",
|
|
14
|
+
"classic-portrait",
|
|
15
|
+
"story",
|
|
16
|
+
];
|
|
17
|
+
/** Named, common aspect ratios resolved to width / height. */
|
|
18
|
+
export const ASPECT_RATIO_PRESETS = {
|
|
19
|
+
square: 1, // 1:1 - avatars, profile tiles, album art
|
|
20
|
+
video: 16 / 9, // 16:9 - HD video, modern displays
|
|
21
|
+
photo: 4 / 3, // 4:3 - classic photo / older displays
|
|
22
|
+
wide: 3 / 2, // 3:2 - DSLR photography
|
|
23
|
+
ultrawide: 21 / 9, // 21:9 - cinematic / banner heros
|
|
24
|
+
cinema: 2.35 / 1, // ~2.35:1 - anamorphic widescreen
|
|
25
|
+
portrait: 3 / 4, // 3:4 - portrait photo
|
|
26
|
+
"classic-portrait": 2 / 3, // 2:3 - portrait DSLR
|
|
27
|
+
story: 9 / 16, // 9:16 - vertical / mobile story
|
|
28
|
+
};
|
|
29
|
+
export const aspectRatioRadiusIds = [
|
|
30
|
+
"none",
|
|
31
|
+
"sm",
|
|
32
|
+
"md",
|
|
33
|
+
"lg",
|
|
34
|
+
"xl",
|
|
35
|
+
"2xl",
|
|
36
|
+
"full",
|
|
37
|
+
];
|
|
38
|
+
export const aspectRatioVariants = cva("relative w-full overflow-hidden [&>img]:h-full [&>img]:w-full [&>img]:object-cover [&>video]:h-full [&>video]:w-full [&>video]:object-cover [&>iframe]:h-full [&>iframe]:w-full [&>iframe]:border-0", {
|
|
39
|
+
variants: {
|
|
40
|
+
radius: {
|
|
41
|
+
none: "rounded-none",
|
|
42
|
+
sm: "rounded-sm",
|
|
43
|
+
md: "rounded-md",
|
|
44
|
+
lg: "rounded-lg",
|
|
45
|
+
xl: "rounded-xl",
|
|
46
|
+
"2xl": "rounded-2xl",
|
|
47
|
+
full: "rounded-full",
|
|
48
|
+
},
|
|
49
|
+
bordered: {
|
|
50
|
+
true: "border border-border",
|
|
51
|
+
false: "",
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
defaultVariants: {
|
|
55
|
+
radius: "md",
|
|
56
|
+
bordered: false,
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
function AspectRatio({ className, ratio, preset, radius, bordered, asChild = false, style, children, ...props }) {
|
|
60
|
+
const Comp = asChild ? Slot : "div";
|
|
61
|
+
const resolvedRatio = ratio ??
|
|
62
|
+
(preset !== undefined
|
|
63
|
+
? ASPECT_RATIO_PRESETS[preset]
|
|
64
|
+
: ASPECT_RATIO_PRESETS.video);
|
|
65
|
+
const mergedStyle = {
|
|
66
|
+
aspectRatio: String(resolvedRatio),
|
|
67
|
+
...style,
|
|
68
|
+
};
|
|
69
|
+
return (_jsx(Comp, { "data-slot": "aspect-ratio", "data-preset": preset, className: cn(aspectRatioVariants({ radius, bordered }), className), style: mergedStyle, ...props, children: children }));
|
|
70
|
+
}
|
|
71
|
+
AspectRatio.displayName = "AspectRatio";
|
|
72
|
+
export { AspectRatio };
|
|
73
|
+
//# sourceMappingURL=aspect-ratio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aspect-ratio.js","sourceRoot":"","sources":["../../../../src/components/ui/aspect-ratio/aspect-ratio.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,WAAW;IACX,QAAQ;IACR,UAAU;IACV,kBAAkB;IAClB,OAAO;CACoB,CAAC;AAG9B,8DAA8D;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAwC;IACvE,MAAM,EAAE,CAAC,EAAE,0CAA0C;IACrD,KAAK,EAAE,EAAE,GAAG,CAAC,EAAE,mCAAmC;IAClD,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,uCAAuC;IACrD,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,yBAAyB;IACtC,SAAS,EAAE,EAAE,GAAG,CAAC,EAAE,kCAAkC;IACrD,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,kCAAkC;IACpD,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,uBAAuB;IACxC,kBAAkB,EAAE,CAAC,GAAG,CAAC,EAAE,sBAAsB;IACjD,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,iCAAiC;CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,MAAM;CACqB,CAAC;AAG9B,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CACpC,qMAAqM,EACrM;IACE,QAAQ,EAAE;QACR,MAAM,EAAE;YACN,IAAI,EAAE,cAAc;YACpB,EAAE,EAAE,YAAY;YAChB,EAAE,EAAE,YAAY;YAChB,EAAE,EAAE,YAAY;YAChB,EAAE,EAAE,YAAY;YAChB,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,cAAc;SACyB;QAC/C,QAAQ,EAAE;YACR,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,EAAE;SACV;KACF;IACD,eAAe,EAAE;QACf,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,KAAK;KAChB;CACF,CACF,CAAC;AA2BF,SAAS,WAAW,CAAC,EACnB,SAAS,EACT,KAAK,EACL,MAAM,EACN,MAAM,EACN,QAAQ,EACR,OAAO,GAAG,KAAK,EACf,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACS;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACpC,MAAM,aAAa,GACjB,KAAK;QACL,CAAC,MAAM,KAAK,SAAS;YACnB,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC;YAC9B,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAElC,MAAM,WAAW,GAAkB;QACjC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC;QAClC,GAAG,KAAK;KACT,CAAC;IAEF,OAAO,CACL,KAAC,IAAI,iBACO,cAAc,iBACX,MAAM,EACnB,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,CAAC,EACnE,KAAK,EAAE,WAAW,KACd,KAAK,YAER,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC;AACD,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ui/aspect-ratio/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AAGzB,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC;AAG1B,cAAc,SAAS,CAAC;AAGxB,cAAc,mBAAmB,CAAC;AAGlC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,aAAa,CAAC;AAG5B,cAAc,kCAAkC,CAAC;AAGjD,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,SAAS,CAAC;AAExB,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,QAAQ,CAAC;AAGvB,cAAc,QAAQ,CAAC;AAGvB,cAAc,aAAa,CAAC;AAG5B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,WAAW,CAAC;AAG1B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,UAAU,CAAC;AAGzB,cAAc,WAAW,CAAC;AAG1B,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AAGxB,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,YAAY,CAAC;AAG3B,cAAc,cAAc,CAAC;AAG7B,cAAc,eAAe,CAAC;AAG9B,cAAc,YAAY,CAAC;AAG3B,cAAc,2BAA2B,CAAC;AAG1C,cAAc,kBAAkB,CAAC;AAGjC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,eAAe,CAAC;AAG9B,cAAc,WAAW,CAAC;AAG1B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,eAAe,CAAC;AAG9B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,QAAQ,CAAC;AAGvB,cAAc,QAAQ,CAAC;AAGvB,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC;AAGzB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,cAAc,CAAC;AAG7B,cAAc,cAAc,CAAC;AAG7B,cAAc,OAAO,CAAC;AAGtB,cAAc,eAAe,CAAC;AAG9B,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC;AAGzB,cAAc,eAAe,CAAC;AAG9B,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,UAAU,CAAC;AAGzB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC;AAG7B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC;AAGzB,cAAc,QAAQ,CAAC;AAGvB,cAAc,cAAc,CAAC;AAG7B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AAGzB,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC;AAG1B,cAAc,SAAS,CAAC;AAGxB,cAAc,mBAAmB,CAAC;AAGlC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,aAAa,CAAC;AAG5B,cAAc,kCAAkC,CAAC;AAGjD,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,SAAS,CAAC;AAExB,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,QAAQ,CAAC;AAGvB,cAAc,QAAQ,CAAC;AAGvB,cAAc,aAAa,CAAC;AAG5B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,WAAW,CAAC;AAG1B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,UAAU,CAAC;AAGzB,cAAc,WAAW,CAAC;AAG1B,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AAGxB,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,YAAY,CAAC;AAG3B,cAAc,cAAc,CAAC;AAG7B,cAAc,eAAe,CAAC;AAG9B,cAAc,YAAY,CAAC;AAG3B,cAAc,2BAA2B,CAAC;AAG1C,cAAc,kBAAkB,CAAC;AAGjC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,eAAe,CAAC;AAG9B,cAAc,WAAW,CAAC;AAG1B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,eAAe,CAAC;AAG9B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,QAAQ,CAAC;AAGvB,cAAc,QAAQ,CAAC;AAGvB,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC;AAGzB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,cAAc,CAAC;AAG7B,cAAc,cAAc,CAAC;AAG7B,cAAc,OAAO,CAAC;AAGtB,cAAc,eAAe,CAAC;AAG9B,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC;AAGzB,cAAc,eAAe,CAAC;AAG9B,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,UAAU,CAAC;AAGzB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC;AAG7B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC;AAGzB,cAAc,QAAQ,CAAC;AAGvB,cAAc,cAAc,CAAC;AAG7B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,aAAa,CAAC;AAG5B,cAAc,gBAAgB,CAAC"}
|