@baseplate-dev/ui-components 0.6.4 → 0.6.5
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/CHANGELOG.md +13 -0
- package/dist/base-styles.css +6 -8
- package/dist/components/ui/badge/badge.d.ts +3 -0
- package/dist/components/ui/badge/badge.d.ts.map +1 -1
- package/dist/components/ui/badge/badge.js +7 -4
- package/dist/components/ui/badge/badge.js.map +1 -1
- package/dist/components/ui/button/button.d.ts +1 -1
- package/dist/components/ui/button/button.d.ts.map +1 -1
- package/dist/components/ui/empty/empty.d.ts +17 -0
- package/dist/components/ui/empty/empty.d.ts.map +1 -0
- package/dist/components/ui/empty/empty.js +39 -0
- package/dist/components/ui/empty/empty.js.map +1 -0
- package/dist/components/ui/index.d.ts +2 -1
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +2 -1
- package/dist/components/ui/index.js.map +1 -1
- package/dist/components/ui/item/item.d.ts +29 -0
- package/dist/components/ui/item/item.d.ts.map +1 -0
- package/dist/components/ui/item/item.js +85 -0
- package/dist/components/ui/item/item.js.map +1 -0
- package/dist/components/ui/record-view/record-view.js +1 -1
- package/dist/components/ui/sidebar/sidebar.js +1 -1
- package/dist/constants/strings.d.ts +0 -2
- package/dist/constants/strings.d.ts.map +1 -1
- package/dist/constants/strings.js +0 -2
- package/dist/constants/strings.js.map +1 -1
- package/dist/contexts/component-strings.d.ts +0 -2
- package/dist/contexts/component-strings.d.ts.map +1 -1
- package/dist/hooks/use-event-callback.js +1 -1
- package/dist/hooks/use-event-callback.js.map +1 -1
- package/dist/theme.css +0 -1
- package/dist/utilities.css +0 -4
- package/dist/utils/generic-forward-ref.js +1 -1
- package/dist/utils/generic-forward-ref.js.map +1 -1
- package/package.json +6 -6
- package/dist/components/ui/empty-display/empty-display.d.ts +0 -30
- package/dist/components/ui/empty-display/empty-display.d.ts.map +0 -1
- package/dist/components/ui/empty-display/empty-display.js +0 -14
- package/dist/components/ui/empty-display/empty-display.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @baseplate-dev/ui-components
|
|
2
2
|
|
|
3
|
+
## 0.6.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#840](https://github.com/halfdomelabs/baseplate/pull/840) [`c24a24a`](https://github.com/halfdomelabs/baseplate/commit/c24a24ac9d2b66623acb0fda9c6ff2b3b80c0a6d) Thanks [@kingston](https://github.com/kingston)! - Replace EmptyDisplay with composable Empty component from shadcn
|
|
8
|
+
|
|
9
|
+
- [#859](https://github.com/halfdomelabs/baseplate/pull/859) [`fc8f158`](https://github.com/halfdomelabs/baseplate/commit/fc8f1582f1702d2d6f6eaa60607da7bb777750b5) Thanks [@kingston](https://github.com/kingston)! - Add hover styles for badges rendered as buttons and use semantic hover color tokens
|
|
10
|
+
|
|
11
|
+
- [#847](https://github.com/halfdomelabs/baseplate/pull/847) [`497904a`](https://github.com/halfdomelabs/baseplate/commit/497904a9b5088171f95c5e16bcda542fb5e98610) Thanks [@kingston](https://github.com/kingston)! - Connect theme builder UI to code generation. Theme color configuration from the project definition now drives the generated `styles.css` instead of hardcoded values. Default theme uses slate base with indigo primary. Remove explicit hover color variables (primaryHover, secondaryHover, destructiveHover) and linkVisited — hover is now computed via `color-mix` in CSS. Add palette swatch selection to theme color picker. Split preview into surface and interactive sections with input group and alert components.
|
|
12
|
+
|
|
13
|
+
- Updated dependencies [[`8dcf7b3`](https://github.com/halfdomelabs/baseplate/commit/8dcf7b3c909672487bad61b7a4465d1860092363)]:
|
|
14
|
+
- @baseplate-dev/utils@0.6.5
|
|
15
|
+
|
|
3
16
|
## 0.6.4
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
package/dist/base-styles.css
CHANGED
|
@@ -37,16 +37,15 @@
|
|
|
37
37
|
--error: oklch(0.971 0.013 17.38);
|
|
38
38
|
--error-foreground: oklch(0.258 0.092 26.042);
|
|
39
39
|
--primary: oklch(0.424 0.181 265.638);
|
|
40
|
-
--primary-hover:
|
|
40
|
+
--primary-hover: color-mix(in oklab, var(--primary) 85%, black);
|
|
41
41
|
--primary-foreground: oklch(0.984 0.003 247.858);
|
|
42
42
|
--secondary: oklch(0.968 0.007 247.896);
|
|
43
|
-
--secondary-hover:
|
|
43
|
+
--secondary-hover: color-mix(in oklab, var(--secondary) 80%, black);
|
|
44
44
|
--secondary-foreground: oklch(0.208 0.04 265.755);
|
|
45
45
|
--destructive: oklch(0.637 0.237 25.331);
|
|
46
|
-
--destructive-hover:
|
|
46
|
+
--destructive-hover: color-mix(in oklab, var(--destructive) 85%, black);
|
|
47
47
|
--destructive-foreground: oklch(0.984 0.003 247.858);
|
|
48
48
|
--link: oklch(0.488 0.217 264.376);
|
|
49
|
-
--link-visited: oklch(0.424 0.181 265.638);
|
|
50
49
|
--border: oklch(0.929 0.013 255.508);
|
|
51
50
|
--input: oklch(0.929 0.013 255.508);
|
|
52
51
|
--ring: oklch(0.714 0.143 254.624);
|
|
@@ -72,16 +71,15 @@ html[data-theme='dark'] {
|
|
|
72
71
|
--error: oklch(0.258 0.092 26.042);
|
|
73
72
|
--error-foreground: oklch(0.971 0.013 17.38);
|
|
74
73
|
--primary: oklch(0.282 0.087 267.935);
|
|
75
|
-
--primary-hover:
|
|
74
|
+
--primary-hover: color-mix(in oklab, var(--primary) 85%, white);
|
|
76
75
|
--primary-foreground: oklch(0.984 0.003 247.858);
|
|
77
76
|
--secondary: oklch(0.279 0.037 260.031);
|
|
78
|
-
--secondary-hover:
|
|
77
|
+
--secondary-hover: color-mix(in oklab, var(--secondary) 80%, white);
|
|
79
78
|
--secondary-foreground: oklch(0.984 0.003 247.858);
|
|
80
79
|
--destructive: oklch(0.396 0.141 25.723);
|
|
81
|
-
--destructive-hover:
|
|
80
|
+
--destructive-hover: color-mix(in oklab, var(--destructive) 85%, white);
|
|
82
81
|
--destructive-foreground: oklch(0.984 0.003 247.858);
|
|
83
82
|
--link: oklch(0.546 0.215 262.881);
|
|
84
|
-
--link-visited: oklch(0.488 0.217 264.376);
|
|
85
83
|
--border: oklch(1 0.003 265 / 10%);
|
|
86
84
|
--input: oklch(1 0.003 265 / 15%);
|
|
87
85
|
--ring: oklch(0.623 0.188 259.815);
|
|
@@ -7,6 +7,9 @@ declare const badgeVariants: (props?: ({
|
|
|
7
7
|
/**
|
|
8
8
|
* Displays a badge or a component that looks like a badge.
|
|
9
9
|
*
|
|
10
|
+
* ShadCN changes:
|
|
11
|
+
* - Added [button&]:hover styles so badges rendered as buttons get hover effects.
|
|
12
|
+
*
|
|
10
13
|
* https://ui.shadcn.com/docs/components/badge
|
|
11
14
|
*/
|
|
12
15
|
declare function Badge({ className, variant, render, ...props }: useRender.ComponentProps<'span'> & VariantProps<typeof badgeVariants>): React.ReactElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/badge/badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAKtD,QAAA,MAAM,aAAa;;
|
|
1
|
+
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/badge/badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAKtD,QAAA,MAAM,aAAa;;8EAsBlB,CAAC;AAEF;;;;;;;GAOG;AACH,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,OAAmB,EACnB,MAAM,EACN,GAAG,KAAK,EACT,EAAE,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,GACjC,YAAY,CAAC,OAAO,aAAa,CAAC,GAAG,KAAK,CAAC,YAAY,CAexD;AAED,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -5,10 +5,10 @@ import { cn } from '#src/utils/index.js';
|
|
|
5
5
|
const badgeVariants = cva('group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!', {
|
|
6
6
|
variants: {
|
|
7
7
|
variant: {
|
|
8
|
-
default: 'bg-primary text-primary-foreground [a&]:hover:bg-primary
|
|
9
|
-
secondary: 'bg-secondary text-secondary-foreground [a&]:hover:bg-secondary
|
|
10
|
-
destructive: 'bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/20',
|
|
11
|
-
outline: 'border-border text-foreground [a&]:hover:bg-muted [a&]:hover:text-muted-foreground',
|
|
8
|
+
default: 'bg-primary text-primary-foreground [a&]:hover:bg-primary-hover [button&]:hover:bg-primary-hover',
|
|
9
|
+
secondary: 'bg-secondary text-secondary-foreground [a&]:hover:bg-secondary-hover [button&]:hover:bg-secondary-hover',
|
|
10
|
+
destructive: 'bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/20 [button&]:hover:bg-destructive/20',
|
|
11
|
+
outline: 'border-border text-foreground [a&]:hover:bg-muted [a&]:hover:text-muted-foreground [button&]:hover:bg-muted [button&]:hover:text-muted-foreground',
|
|
12
12
|
ghost: 'hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50',
|
|
13
13
|
link: 'text-primary underline-offset-4 hover:underline',
|
|
14
14
|
},
|
|
@@ -20,6 +20,9 @@ const badgeVariants = cva('group/badge inline-flex h-5 w-fit shrink-0 items-cent
|
|
|
20
20
|
/**
|
|
21
21
|
* Displays a badge or a component that looks like a badge.
|
|
22
22
|
*
|
|
23
|
+
* ShadCN changes:
|
|
24
|
+
* - Added [button&]:hover styles so badges rendered as buttons get hover effects.
|
|
25
|
+
*
|
|
23
26
|
* https://ui.shadcn.com/docs/components/badge
|
|
24
27
|
*/
|
|
25
28
|
function Badge({ className, variant = 'default', render, ...props }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../../src/components/ui/badge/badge.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE/C,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAEzC,MAAM,aAAa,GAAG,GAAG,CACvB,4eAA4e,EAC5e;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,
|
|
1
|
+
{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../../src/components/ui/badge/badge.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE/C,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAEzC,MAAM,aAAa,GAAG,GAAG,CACvB,4eAA4e,EAC5e;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EACL,iGAAiG;YACnG,SAAS,EACP,yGAAyG;YAC3G,WAAW,EACT,mMAAmM;YACrM,OAAO,EACL,mJAAmJ;YACrJ,KAAK,EACH,mEAAmE;YACrE,IAAI,EAAE,iDAAiD;SACxD;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;KACnB;CACF,CACF,CAAC;AAEF;;;;;;;GAOG;AACH,SAAS,KAAK,CAAC,EACb,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,MAAM,EACN,GAAG,KAAK,EAE0B;IAClC,OAAO,SAAS,CAAC;QACf,cAAc,EAAE,MAAM;QACtB,KAAK,EAAE,UAAU,CACf;YACE,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC;SACrD,EACD,KAAK,CACN;QACD,MAAM;QACN,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,OAAO;SACR;KACF,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -16,7 +16,7 @@ export interface ButtonProps extends ButtonPrimitive.Props, VariantProps<typeof
|
|
|
16
16
|
*
|
|
17
17
|
* https://ui.shadcn.com/docs/components/button
|
|
18
18
|
*/
|
|
19
|
-
declare function Button({ className, variant, size, justify, ...props }:
|
|
19
|
+
declare function Button({ className, variant, size, justify, ...props }: ButtonPrimitive.Props & VariantProps<typeof buttonVariants> & {
|
|
20
20
|
render?: ButtonPrimitive.Props['render'];
|
|
21
21
|
}): React.ReactElement;
|
|
22
22
|
export { Button };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/button/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,MAAM,WAAW,WACf,SAAQ,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,cAAc,CAAC;CAAG;AAEvE;;;;;;;;;;;GAWG;AACH,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,OAAO,EACP,IAAI,EACJ,OAAO,EACP,GAAG,KAAK,EACT,EAAE,
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/button/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,MAAM,WAAW,WACf,SAAQ,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,cAAc,CAAC;CAAG;AAEvE;;;;;;;;;;;GAWG;AACH,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,OAAO,EACP,IAAI,EACJ,OAAO,EACP,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,KAAK,GACtB,YAAY,CAAC,OAAO,cAAc,CAAC,GAAG;IACpC,MAAM,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;CAC1C,GAAG,KAAK,CAAC,YAAY,CAQvB;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { VariantProps } from 'class-variance-authority';
|
|
2
|
+
/**
|
|
3
|
+
* A composable empty state component.
|
|
4
|
+
*
|
|
5
|
+
* https://ui.shadcn.com/docs/components/base/empty
|
|
6
|
+
*/
|
|
7
|
+
declare function Empty({ className, ...props }: React.ComponentProps<'div'>): React.ReactElement;
|
|
8
|
+
declare function EmptyHeader({ className, ...props }: React.ComponentProps<'div'>): React.ReactElement;
|
|
9
|
+
declare const emptyMediaVariants: (props?: ({
|
|
10
|
+
variant?: "default" | "icon" | null | undefined;
|
|
11
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
12
|
+
declare function EmptyMedia({ className, variant, ...props }: React.ComponentProps<'div'> & VariantProps<typeof emptyMediaVariants>): React.ReactElement;
|
|
13
|
+
declare function EmptyTitle({ className, ...props }: React.ComponentProps<'div'>): React.ReactElement;
|
|
14
|
+
declare function EmptyDescription({ className, ...props }: React.ComponentProps<'p'>): React.ReactElement;
|
|
15
|
+
declare function EmptyContent({ className, ...props }: React.ComponentProps<'div'>): React.ReactElement;
|
|
16
|
+
export { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, emptyMediaVariants, EmptyTitle, };
|
|
17
|
+
//# sourceMappingURL=empty.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/empty/empty.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAM7D;;;;GAIG;AACH,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,YAAY,CAWlD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,YAAY,CAWlD;AAED,QAAA,MAAM,kBAAkB;;8EAavB,CAAC;AAEF,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,OAAmB,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAC5B,YAAY,CAAC,OAAO,kBAAkB,CAAC,GAAG,KAAK,CAAC,YAAY,CAS7D;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,YAAY,CAQlD;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,YAAY,CAWhD;AAED,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,YAAY,CAWlD;AAED,OAAO,EACL,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,UAAU,GACX,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cva } from 'class-variance-authority';
|
|
3
|
+
import { cn } from '#src/utils/cn.js';
|
|
4
|
+
/**
|
|
5
|
+
* A composable empty state component.
|
|
6
|
+
*
|
|
7
|
+
* https://ui.shadcn.com/docs/components/base/empty
|
|
8
|
+
*/
|
|
9
|
+
function Empty({ className, ...props }) {
|
|
10
|
+
return (_jsx("div", { "data-slot": "empty", className: cn('flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border-dashed p-6 text-center text-balance md:p-12', className), ...props }));
|
|
11
|
+
}
|
|
12
|
+
function EmptyHeader({ className, ...props }) {
|
|
13
|
+
return (_jsx("div", { "data-slot": "empty-header", className: cn('flex max-w-sm flex-col items-center gap-2 text-center', className), ...props }));
|
|
14
|
+
}
|
|
15
|
+
const emptyMediaVariants = cva('mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0', {
|
|
16
|
+
variants: {
|
|
17
|
+
variant: {
|
|
18
|
+
default: 'bg-transparent',
|
|
19
|
+
icon: "flex size-10 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*='size-'])]:size-6",
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
defaultVariants: {
|
|
23
|
+
variant: 'default',
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
function EmptyMedia({ className, variant = 'default', ...props }) {
|
|
27
|
+
return (_jsx("div", { "data-slot": "empty-icon", "data-variant": variant, className: cn(emptyMediaVariants({ variant, className })), ...props }));
|
|
28
|
+
}
|
|
29
|
+
function EmptyTitle({ className, ...props }) {
|
|
30
|
+
return (_jsx("div", { "data-slot": "empty-title", className: cn('text-lg font-medium tracking-tight', className), ...props }));
|
|
31
|
+
}
|
|
32
|
+
function EmptyDescription({ className, ...props }) {
|
|
33
|
+
return (_jsx("div", { "data-slot": "empty-description", className: cn('text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary', className), ...props }));
|
|
34
|
+
}
|
|
35
|
+
function EmptyContent({ className, ...props }) {
|
|
36
|
+
return (_jsx("div", { "data-slot": "empty-content", className: cn('flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-sm text-balance', className), ...props }));
|
|
37
|
+
}
|
|
38
|
+
export { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, emptyMediaVariants, EmptyTitle, };
|
|
39
|
+
//# sourceMappingURL=empty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty.js","sourceRoot":"","sources":["../../../../src/components/ui/empty/empty.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE/C,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC;;;;GAIG;AACH,SAAS,KAAK,CAAC,EACb,SAAS,EACT,GAAG,KAAK,EACoB;IAC5B,OAAO,CACL,2BACY,OAAO,EACjB,SAAS,EAAE,EAAE,CACX,8HAA8H,EAC9H,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACoB;IAC5B,OAAO,CACL,2BACY,cAAc,EACxB,SAAS,EAAE,EAAE,CACX,uDAAuD,EACvD,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,MAAM,kBAAkB,GAAG,GAAG,CAC5B,6FAA6F,EAC7F;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,4HAA4H;SACnI;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;KACnB;CACF,CACF,CAAC;AAEF,SAAS,UAAU,CAAC,EAClB,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,GAAG,KAAK,EAE+B;IACvC,OAAO,CACL,2BACY,YAAY,kBACR,OAAO,EACrB,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,KACrD,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,SAAS,EACT,GAAG,KAAK,EACoB;IAC5B,OAAO,CACL,2BACY,aAAa,EACvB,SAAS,EAAE,EAAE,CAAC,oCAAoC,EAAE,SAAS,CAAC,KAC1D,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACkB;IAC1B,OAAO,CACL,2BACY,mBAAmB,EAC7B,SAAS,EAAE,EAAE,CACX,yGAAyG,EACzG,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EACoB;IAC5B,OAAO,CACL,2BACY,eAAe,EACzB,SAAS,EAAE,EAAE,CACX,+EAA+E,EAC/E,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EACL,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,UAAU,GACX,CAAC"}
|
|
@@ -20,7 +20,7 @@ export * from './date-picker-field/date-picker-field.js';
|
|
|
20
20
|
export * from './date-time-picker-field/date-time-picker-field.js';
|
|
21
21
|
export * from './dialog/dialog.js';
|
|
22
22
|
export * from './dropdown/dropdown.js';
|
|
23
|
-
export * from './empty
|
|
23
|
+
export * from './empty/empty.js';
|
|
24
24
|
export * from './error-display/error-display.js';
|
|
25
25
|
export * from './errorable-loader/errorable-loader.js';
|
|
26
26
|
export * from './field/field.js';
|
|
@@ -29,6 +29,7 @@ export * from './form-item/form-item.js';
|
|
|
29
29
|
export * from './input-field/input-field.js';
|
|
30
30
|
export * from './input-group/input-group.js';
|
|
31
31
|
export * from './input/input.js';
|
|
32
|
+
export * from './item/item.js';
|
|
32
33
|
export * from './json-diff-viewer/json-diff-viewer.js';
|
|
33
34
|
export * from './label/label.js';
|
|
34
35
|
export * from './loader/loader.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,0CAA0C,CAAC;AACzD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,oCAAoC,CAAC;AACnD,cAAc,0CAA0C,CAAC;AACzD,cAAc,oDAAoD,CAAC;AACnE,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,0CAA0C,CAAC;AACzD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,oCAAoC,CAAC;AACnD,cAAc,0CAA0C,CAAC;AACzD,cAAc,oDAAoD,CAAC;AACnE,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,kBAAkB,CAAC;AACjC,cAAc,sCAAsC,CAAC;AACrD,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wCAAwC,CAAC;AACvD,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
|
|
@@ -20,7 +20,7 @@ export * from './date-picker-field/date-picker-field.js';
|
|
|
20
20
|
export * from './date-time-picker-field/date-time-picker-field.js';
|
|
21
21
|
export * from './dialog/dialog.js';
|
|
22
22
|
export * from './dropdown/dropdown.js';
|
|
23
|
-
export * from './empty
|
|
23
|
+
export * from './empty/empty.js';
|
|
24
24
|
export * from './error-display/error-display.js';
|
|
25
25
|
export * from './errorable-loader/errorable-loader.js';
|
|
26
26
|
export * from './field/field.js';
|
|
@@ -29,6 +29,7 @@ export * from './form-item/form-item.js';
|
|
|
29
29
|
export * from './input-field/input-field.js';
|
|
30
30
|
export * from './input-group/input-group.js';
|
|
31
31
|
export * from './input/input.js';
|
|
32
|
+
export * from './item/item.js';
|
|
32
33
|
export * from './json-diff-viewer/json-diff-viewer.js';
|
|
33
34
|
export * from './label/label.js';
|
|
34
35
|
export * from './loader/loader.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,0CAA0C,CAAC;AACzD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,oCAAoC,CAAC;AACnD,cAAc,0CAA0C,CAAC;AACzD,cAAc,oDAAoD,CAAC;AACnE,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,0CAA0C,CAAC;AACzD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,oCAAoC,CAAC;AACnD,cAAc,0CAA0C,CAAC;AACzD,cAAc,oDAAoD,CAAC;AACnE,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,kBAAkB,CAAC;AACjC,cAAc,sCAAsC,CAAC;AACrD,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wCAAwC,CAAC;AACvD,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { VariantProps } from 'class-variance-authority';
|
|
2
|
+
import type React from 'react';
|
|
3
|
+
import { useRender } from '@base-ui/react/use-render';
|
|
4
|
+
import { Separator } from '../separator/separator.js';
|
|
5
|
+
declare const itemVariants: (props?: ({
|
|
6
|
+
variant?: "default" | "outline" | "muted" | null | undefined;
|
|
7
|
+
size?: "sm" | "default" | "xs" | null | undefined;
|
|
8
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
9
|
+
declare const itemMediaVariants: (props?: ({
|
|
10
|
+
variant?: "default" | "image" | "icon" | null | undefined;
|
|
11
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
12
|
+
/**
|
|
13
|
+
* A versatile flex container for displaying content with media, title,
|
|
14
|
+
* description, and actions.
|
|
15
|
+
*
|
|
16
|
+
* https://ui.shadcn.com/docs/components/base/item
|
|
17
|
+
*/
|
|
18
|
+
declare function Item({ className, variant, size, render, ...props }: useRender.ComponentProps<'div'> & VariantProps<typeof itemVariants>): React.ReactElement;
|
|
19
|
+
declare function ItemActions({ className, ...props }: React.ComponentProps<'div'>): React.ReactElement;
|
|
20
|
+
declare function ItemContent({ className, ...props }: React.ComponentProps<'div'>): React.ReactElement;
|
|
21
|
+
declare function ItemDescription({ className, ...props }: React.ComponentProps<'p'>): React.ReactElement;
|
|
22
|
+
declare function ItemFooter({ className, ...props }: React.ComponentProps<'div'>): React.ReactElement;
|
|
23
|
+
declare function ItemGroup({ className, ...props }: React.ComponentProps<'div'>): React.ReactElement;
|
|
24
|
+
declare function ItemHeader({ className, ...props }: React.ComponentProps<'div'>): React.ReactElement;
|
|
25
|
+
declare function ItemMedia({ className, variant, ...props }: React.ComponentProps<'div'> & VariantProps<typeof itemMediaVariants>): React.ReactElement;
|
|
26
|
+
declare function ItemSeparator({ className, ...props }: React.ComponentProps<typeof Separator>): React.ReactElement;
|
|
27
|
+
declare function ItemTitle({ className, ...props }: React.ComponentProps<'div'>): React.ReactElement;
|
|
28
|
+
export { Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, itemMediaVariants, ItemSeparator, ItemTitle, itemVariants, };
|
|
29
|
+
//# sourceMappingURL=item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/item/item.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAKtD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,QAAA,MAAM,YAAY;;;8EAoBjB,CAAC;AAEF,QAAA,MAAM,iBAAiB;;8EAetB,CAAC;AAEF;;;;;GAKG;AACH,iBAAS,IAAI,CAAC,EACZ,SAAS,EACT,OAAmB,EACnB,IAAgB,EAChB,MAAM,EACN,GAAG,KAAK,EACT,EAAE,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,GAChC,YAAY,CAAC,OAAO,YAAY,CAAC,GAAG,KAAK,CAAC,YAAY,CAgBvD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,YAAY,CAQlD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,YAAY,CAWlD;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,YAAY,CAWhD;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,YAAY,CAWlD;AAED,iBAAS,SAAS,CAAC,EACjB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,YAAY,CAYlD;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,YAAY,CAWlD;AAED,iBAAS,SAAS,CAAC,EACjB,SAAS,EACT,OAAmB,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAC5B,YAAY,CAAC,OAAO,iBAAiB,CAAC,GAAG,KAAK,CAAC,YAAY,CAS5D;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG,KAAK,CAAC,YAAY,CAS7D;AAED,iBAAS,SAAS,CAAC,EACjB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,YAAY,CAWlD;AAED,OAAO,EACL,IAAI,EACJ,WAAW,EACX,WAAW,EACX,eAAe,EACf,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,YAAY,GACb,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { mergeProps } from '@base-ui/react/merge-props';
|
|
3
|
+
import { useRender } from '@base-ui/react/use-render';
|
|
4
|
+
import { cva } from 'class-variance-authority';
|
|
5
|
+
import { cn } from '#src/utils/index.js';
|
|
6
|
+
import { Separator } from '../separator/separator.js';
|
|
7
|
+
const itemVariants = cva('group/item flex w-full flex-wrap items-center rounded-lg border text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 [a]:transition-colors [a]:hover:bg-muted', {
|
|
8
|
+
variants: {
|
|
9
|
+
variant: {
|
|
10
|
+
default: 'border-transparent',
|
|
11
|
+
outline: 'border-border',
|
|
12
|
+
muted: 'border-transparent bg-muted/50',
|
|
13
|
+
},
|
|
14
|
+
size: {
|
|
15
|
+
default: 'gap-2.5 px-3 py-2.5',
|
|
16
|
+
sm: 'gap-2.5 px-3 py-2.5',
|
|
17
|
+
xs: 'gap-2 px-2.5 py-2 in-data-[slot=dropdown-menu-content]:p-0',
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
defaultVariants: {
|
|
21
|
+
variant: 'default',
|
|
22
|
+
size: 'default',
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
const itemMediaVariants = cva('flex shrink-0 items-center justify-center gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start [&_svg]:pointer-events-none', {
|
|
26
|
+
variants: {
|
|
27
|
+
variant: {
|
|
28
|
+
default: 'bg-transparent',
|
|
29
|
+
icon: "[&_svg:not([class*='size-'])]:size-4",
|
|
30
|
+
image: 'size-10 overflow-hidden rounded-sm group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 [&_img]:size-full [&_img]:object-cover',
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
defaultVariants: {
|
|
34
|
+
variant: 'default',
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
/**
|
|
38
|
+
* A versatile flex container for displaying content with media, title,
|
|
39
|
+
* description, and actions.
|
|
40
|
+
*
|
|
41
|
+
* https://ui.shadcn.com/docs/components/base/item
|
|
42
|
+
*/
|
|
43
|
+
function Item({ className, variant = 'default', size = 'default', render, ...props }) {
|
|
44
|
+
return useRender({
|
|
45
|
+
defaultTagName: 'div',
|
|
46
|
+
props: mergeProps({
|
|
47
|
+
className: cn(itemVariants({ variant, size, className })),
|
|
48
|
+
}, props),
|
|
49
|
+
render,
|
|
50
|
+
state: {
|
|
51
|
+
slot: 'item',
|
|
52
|
+
variant,
|
|
53
|
+
size,
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
function ItemActions({ className, ...props }) {
|
|
58
|
+
return (_jsx("div", { "data-slot": "item-actions", className: cn('flex items-center gap-2', className), ...props }));
|
|
59
|
+
}
|
|
60
|
+
function ItemContent({ className, ...props }) {
|
|
61
|
+
return (_jsx("div", { "data-slot": "item-content", className: cn('flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none', className), ...props }));
|
|
62
|
+
}
|
|
63
|
+
function ItemDescription({ className, ...props }) {
|
|
64
|
+
return (_jsx("p", { "data-slot": "item-description", className: cn('line-clamp-2 text-left text-sm leading-normal font-normal text-muted-foreground group-data-[size=xs]/item:text-xs [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary', className), ...props }));
|
|
65
|
+
}
|
|
66
|
+
function ItemFooter({ className, ...props }) {
|
|
67
|
+
return (_jsx("div", { "data-slot": "item-footer", className: cn('flex basis-full items-center justify-between gap-2', className), ...props }));
|
|
68
|
+
}
|
|
69
|
+
function ItemGroup({ className, ...props }) {
|
|
70
|
+
return (_jsx("div", { role: "list", "data-slot": "item-group", className: cn('group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2', className), ...props }));
|
|
71
|
+
}
|
|
72
|
+
function ItemHeader({ className, ...props }) {
|
|
73
|
+
return (_jsx("div", { "data-slot": "item-header", className: cn('flex basis-full items-center justify-between gap-2', className), ...props }));
|
|
74
|
+
}
|
|
75
|
+
function ItemMedia({ className, variant = 'default', ...props }) {
|
|
76
|
+
return (_jsx("div", { "data-slot": "item-media", "data-variant": variant, className: cn(itemMediaVariants({ variant, className })), ...props }));
|
|
77
|
+
}
|
|
78
|
+
function ItemSeparator({ className, ...props }) {
|
|
79
|
+
return (_jsx(Separator, { ...props, "data-slot": "item-separator", orientation: "horizontal", className: cn('my-2', className) }));
|
|
80
|
+
}
|
|
81
|
+
function ItemTitle({ className, ...props }) {
|
|
82
|
+
return (_jsx("div", { "data-slot": "item-title", className: cn('line-clamp-1 flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4', className), ...props }));
|
|
83
|
+
}
|
|
84
|
+
export { Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, itemMediaVariants, ItemSeparator, ItemTitle, itemVariants, };
|
|
85
|
+
//# sourceMappingURL=item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item.js","sourceRoot":"","sources":["../../../../src/components/ui/item/item.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ function RecordViewItem({ className, title, children, }) {
|
|
|
10
10
|
return (_jsxs("div", { className: cn('flex min-w-24 flex-col', className), children: [_jsx("div", { className: "text-sm font-medium text-muted-foreground", children: title }), _jsx("div", { className: "font-medium", children: children })] }));
|
|
11
11
|
}
|
|
12
12
|
function RecordViewActions({ className, children, }) {
|
|
13
|
-
return (_jsx("div", { className: cn('flex items-center gap-
|
|
13
|
+
return (_jsx("div", { className: cn('flex items-center gap-4', className), children: children }));
|
|
14
14
|
}
|
|
15
15
|
export { RecordView, RecordViewActions, RecordViewItem, RecordViewItemList };
|
|
16
16
|
//# sourceMappingURL=record-view.js.map
|
|
@@ -50,7 +50,7 @@ function SidebarProvider({ defaultOpen = true, open: openProp, onOpenChange: set
|
|
|
50
50
|
_setOpen(openState);
|
|
51
51
|
}
|
|
52
52
|
// This sets the cookie to keep the sidebar state.
|
|
53
|
-
//
|
|
53
|
+
// oxlint-disable-next-line unicorn/no-document-cookie -- to ensure browser compatability
|
|
54
54
|
document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
|
|
55
55
|
}, [setOpenProp, open]);
|
|
56
56
|
// Helper to toggle the sidebar.
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
* Default strings for components that can be overriden by the ComponentStringContext.
|
|
3
3
|
*/
|
|
4
4
|
export declare const DEFAULT_COMPONENT_STRINGS: {
|
|
5
|
-
emptyDisplayDefaultHeader: string;
|
|
6
|
-
emptyDisplayDefaultContent: string;
|
|
7
5
|
errorDisplayDefaultHeader: string;
|
|
8
6
|
errorDisplayDefaultContent: string;
|
|
9
7
|
buttonCancel: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../src/constants/strings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../src/constants/strings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;CAQrC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,OAAO,yBAAyB,CAAC"}
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
* Default strings for components that can be overriden by the ComponentStringContext.
|
|
3
3
|
*/
|
|
4
4
|
export const DEFAULT_COMPONENT_STRINGS = {
|
|
5
|
-
emptyDisplayDefaultHeader: 'No items found',
|
|
6
|
-
emptyDisplayDefaultContent: 'There is no content here yet.',
|
|
7
5
|
errorDisplayDefaultHeader: 'Sorry, something went wrong',
|
|
8
6
|
errorDisplayDefaultContent: 'We encountered an error showing this page.',
|
|
9
7
|
buttonCancel: 'Cancel',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strings.js","sourceRoot":"","sources":["../../src/constants/strings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,yBAAyB,EAAE,
|
|
1
|
+
{"version":3,"file":"strings.js","sourceRoot":"","sources":["../../src/constants/strings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,yBAAyB,EAAE,6BAA6B;IACxD,0BAA0B,EAAE,4CAA4C;IACxE,YAAY,EAAE,QAAQ;IACtB,aAAa,EAAE,SAAS;IACxB,iBAAiB,EAAE,kBAAkB;IACrC,oBAAoB,EAAE,mBAAmB;IACzC,eAAe,EAAE,YAAY;CAC9B,CAAC"}
|
|
@@ -5,8 +5,6 @@ export declare const useComponentStrings: () => ComponentStrings;
|
|
|
5
5
|
* @public
|
|
6
6
|
*/
|
|
7
7
|
export declare const ComponentStringsProvider: React.Provider<{
|
|
8
|
-
emptyDisplayDefaultHeader: string;
|
|
9
|
-
emptyDisplayDefaultContent: string;
|
|
10
8
|
errorDisplayDefaultHeader: string;
|
|
11
9
|
errorDisplayDefaultContent: string;
|
|
12
10
|
buttonCancel: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-strings.d.ts","sourceRoot":"","sources":["../../src/contexts/component-strings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAQlE,eAAO,MAAM,mBAAmB,QAAO,gBACI,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"component-strings.d.ts","sourceRoot":"","sources":["../../src/contexts/component-strings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAQlE,eAAO,MAAM,mBAAmB,QAAO,gBACI,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;EAAmC,CAAC"}
|
|
@@ -9,7 +9,7 @@ export function useEventCallback(fn) {
|
|
|
9
9
|
if (!current) {
|
|
10
10
|
return;
|
|
11
11
|
}
|
|
12
|
-
//
|
|
12
|
+
// oxlint-disable-next-line typescript/no-unsafe-return -- safe to return the function
|
|
13
13
|
return (...args) => current(...args);
|
|
14
14
|
}, []);
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-event-callback.js","sourceRoot":"","sources":["../../src/hooks/use-event-callback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAYnD,MAAM,UAAU,gBAAgB,CAC9B,EAA+B;IAE/B,MAAM,GAAG,GAAG,MAAM,CAA8B,EAAE,CAAC,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACb,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;IACnB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAET,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,
|
|
1
|
+
{"version":3,"file":"use-event-callback.js","sourceRoot":"","sources":["../../src/hooks/use-event-callback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAYnD,MAAM,UAAU,gBAAgB,CAC9B,EAA+B;IAE/B,MAAM,GAAG,GAAG,MAAM,CAA8B,EAAE,CAAC,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACb,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;IACnB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAET,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,sFAAsF;QACtF,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
|
package/dist/theme.css
CHANGED
package/dist/utilities.css
CHANGED
|
@@ -4,7 +4,7 @@ import { forwardRef } from 'react';
|
|
|
4
4
|
*
|
|
5
5
|
* Taken from https://fettblog.eu/typescript-react-generic-forward-refs/
|
|
6
6
|
*/
|
|
7
|
-
//
|
|
7
|
+
// oxlint-disable-next-line typescript/no-empty-object-type
|
|
8
8
|
export function genericForwardRef(render, displayName) {
|
|
9
9
|
const newElem = forwardRef(render);
|
|
10
10
|
if (displayName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-forward-ref.js","sourceRoot":"","sources":["../../src/utils/generic-forward-ref.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC;;;;GAIG;AAEH,
|
|
1
|
+
{"version":3,"file":"generic-forward-ref.js","sourceRoot":"","sources":["../../src/utils/generic-forward-ref.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC;;;;GAIG;AAEH,2DAA2D;AAC3D,MAAM,UAAU,iBAAiB,CAC/B,MAAkE,EAClE,WAAoB;IAEpB,MAAM,OAAO,GAAG,UAAU,CACxB,MAG8B,CACqC,CAAC;IAEtE,IAAI,WAAW,EAAE,CAAC;QACf,OAAoC,CAAC,WAAW,GAAG,WAAW,CAAC;IAClE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@baseplate-dev/ui-components",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.5",
|
|
4
4
|
"description": "Shared UI component library",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"baseplate",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"tailwind-merge": "3.3.1",
|
|
72
72
|
"zod": "^4.3.6",
|
|
73
73
|
"zustand": "5.0.3",
|
|
74
|
-
"@baseplate-dev/utils": "0.6.
|
|
74
|
+
"@baseplate-dev/utils": "0.6.5"
|
|
75
75
|
},
|
|
76
76
|
"devDependencies": {
|
|
77
77
|
"@codemirror/state": "^6.5.4",
|
|
@@ -84,12 +84,12 @@
|
|
|
84
84
|
"@testing-library/jest-dom": "6.9.1",
|
|
85
85
|
"@testing-library/react": "16.2.0",
|
|
86
86
|
"@testing-library/user-event": "14.6.1",
|
|
87
|
-
"@types/node": "^
|
|
87
|
+
"@types/node": "^24.12.0",
|
|
88
88
|
"@vitejs/plugin-react": "5.0.2",
|
|
89
89
|
"cpx2": "8.0.0",
|
|
90
90
|
"eslint": "9.39.2",
|
|
91
91
|
"jsdom": "26.0.0",
|
|
92
|
-
"oxlint": "1.
|
|
92
|
+
"oxlint": "1.56.0",
|
|
93
93
|
"prettier": "3.8.1",
|
|
94
94
|
"storybook": "10.2.13",
|
|
95
95
|
"tailwindcss": "4.1.18",
|
|
@@ -98,10 +98,10 @@
|
|
|
98
98
|
"vite": "7.1.12",
|
|
99
99
|
"vite-plugin-svgr": "4.5.0",
|
|
100
100
|
"vitest": "4.0.16",
|
|
101
|
-
"@baseplate-dev/tools": "0.6.
|
|
101
|
+
"@baseplate-dev/tools": "0.6.5"
|
|
102
102
|
},
|
|
103
103
|
"engines": {
|
|
104
|
-
"node": "^
|
|
104
|
+
"node": "^24.0.0"
|
|
105
105
|
},
|
|
106
106
|
"volta": {
|
|
107
107
|
"extends": "../../package.json"
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type React from 'react';
|
|
2
|
-
import type { IconElement } from '#src/types/react.js';
|
|
3
|
-
interface EmptyDisplayProps {
|
|
4
|
-
/**
|
|
5
|
-
* Optional class name to be applied to the empty state div
|
|
6
|
-
*/
|
|
7
|
-
className?: string;
|
|
8
|
-
/**
|
|
9
|
-
* Optional icon to be displayed (if not passed, a generic empty state icon will be displayed)
|
|
10
|
-
*/
|
|
11
|
-
icon?: IconElement;
|
|
12
|
-
/**
|
|
13
|
-
* Header to be displayed (if not passed, a generic empty header will be displayed)
|
|
14
|
-
*/
|
|
15
|
-
header?: React.ReactNode;
|
|
16
|
-
/**
|
|
17
|
-
* Subtitle to be displayed (if a string is passed, it will be displayed as-is, otherwise a generic empty message will be displayed)
|
|
18
|
-
*/
|
|
19
|
-
subtitle?: React.ReactNode;
|
|
20
|
-
/**
|
|
21
|
-
* Optional actions to be displayed below the empty message
|
|
22
|
-
*/
|
|
23
|
-
actions?: React.ReactNode;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Displays a generic empty state with a header and subtitle.
|
|
27
|
-
*/
|
|
28
|
-
declare function EmptyDisplay({ className, icon: Icon, header, subtitle, actions, }: EmptyDisplayProps): React.ReactElement;
|
|
29
|
-
export { EmptyDisplay };
|
|
30
|
-
//# sourceMappingURL=empty-display.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"empty-display.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/empty-display/empty-display.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKvD,UAAU,iBAAiB;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;GAEG;AACH,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,IAAI,EAAE,IAA2B,EACjC,MAAM,EACN,QAAQ,EACR,OAAO,GACR,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAiBxC;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { MdFormatListBulleted } from 'react-icons/md';
|
|
4
|
-
import { useComponentStrings } from '#src/contexts/component-strings.js';
|
|
5
|
-
import { cn } from '#src/utils/cn.js';
|
|
6
|
-
/**
|
|
7
|
-
* Displays a generic empty state with a header and subtitle.
|
|
8
|
-
*/
|
|
9
|
-
function EmptyDisplay({ className, icon: Icon = MdFormatListBulleted, header, subtitle, actions, }) {
|
|
10
|
-
const strings = useComponentStrings();
|
|
11
|
-
return (_jsx("div", { className: cn('flex h-full items-center justify-center', className), children: _jsxs("div", { className: "flex max-w-xl flex-col items-center space-y-4 text-center", children: [_jsx("div", { children: _jsx(Icon, { className: "size-20 text-muted-foreground" }) }), _jsx("h1", { children: header ?? strings.emptyDisplayDefaultHeader }), _jsx("p", { className: "text-muted-foreground", children: subtitle ?? strings.emptyDisplayDefaultContent }), actions] }) }));
|
|
12
|
-
}
|
|
13
|
-
export { EmptyDisplay };
|
|
14
|
-
//# sourceMappingURL=empty-display.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"empty-display.js","sourceRoot":"","sources":["../../../../src/components/ui/empty-display/empty-display.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAIb,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAItD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAyBtC;;GAEG;AACH,SAAS,YAAY,CAAC,EACpB,SAAS,EACT,IAAI,EAAE,IAAI,GAAG,oBAAoB,EACjC,MAAM,EACN,QAAQ,EACR,OAAO,GACW;IAClB,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IAEtC,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,yCAAyC,EAAE,SAAS,CAAC,YACtE,eAAK,SAAS,EAAC,2DAA2D,aACxE,wBACE,KAAC,IAAI,IAAC,SAAS,EAAC,+BAA+B,GAAG,GAC9C,EACN,uBAAK,MAAM,IAAI,OAAO,CAAC,yBAAyB,GAAM,EACtD,YAAG,SAAS,EAAC,uBAAuB,YACjC,QAAQ,IAAI,OAAO,CAAC,0BAA0B,GAC7C,EACH,OAAO,IACJ,GACF,CACP,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
|