@psnext/design-system 2.6.0 → 2.7.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/DESIGN.md +4 -4
- package/dist/Logo.cjs +322 -315
- package/dist/Logo.cjs.map +1 -1
- package/dist/Logo.js +322 -315
- package/dist/Logo.js.map +1 -1
- package/dist/Mosaic.cjs +72 -15
- package/dist/Mosaic.cjs.map +1 -1
- package/dist/Mosaic.js +72 -15
- package/dist/Mosaic.js.map +1 -1
- package/dist/index.d.cts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index10.d.cts +7 -7
- package/dist/index10.d.cts.map +1 -1
- package/dist/index10.d.ts +6 -6
- package/dist/index11.d.cts +3 -3
- package/dist/index11.d.cts.map +1 -1
- package/dist/index11.d.ts +3 -3
- package/dist/index12.d.cts +11 -11
- package/dist/index12.d.ts +12 -12
- package/dist/index12.d.ts.map +1 -1
- package/dist/index13.d.cts +6 -6
- package/dist/index13.d.ts +6 -6
- package/dist/index13.d.ts.map +1 -1
- package/dist/index14.d.cts +5 -5
- package/dist/index14.d.cts.map +1 -1
- package/dist/index14.d.ts +5 -5
- package/dist/index15.d.cts +2 -2
- package/dist/index15.d.ts +2 -2
- package/dist/index16.d.cts +3 -3
- package/dist/index16.d.cts.map +1 -1
- package/dist/index16.d.ts +3 -3
- package/dist/index16.d.ts.map +1 -1
- package/dist/index17.d.cts +2 -2
- package/dist/index17.d.ts +2 -2
- package/dist/index18.d.cts +4 -4
- package/dist/index18.d.cts.map +1 -1
- package/dist/index18.d.ts +4 -4
- package/dist/index19.d.cts +11 -11
- package/dist/index19.d.cts.map +1 -1
- package/dist/index19.d.ts +11 -11
- package/dist/index2.d.cts +8 -8
- package/dist/index2.d.ts +8 -8
- package/dist/index2.d.ts.map +1 -1
- package/dist/index20.d.cts +10 -10
- package/dist/index20.d.ts +10 -10
- package/dist/index21.d.cts +8 -8
- package/dist/index21.d.ts +8 -8
- package/dist/index22.d.cts +16 -11
- package/dist/index22.d.cts.map +1 -1
- package/dist/index22.d.ts +16 -11
- package/dist/index22.d.ts.map +1 -1
- package/dist/index23.d.cts +16 -16
- package/dist/index23.d.cts.map +1 -1
- package/dist/index23.d.ts +16 -16
- package/dist/index24.d.cts +4 -4
- package/dist/index24.d.cts.map +1 -1
- package/dist/index24.d.ts +4 -4
- package/dist/index25.d.cts +11 -11
- package/dist/index25.d.cts.map +1 -1
- package/dist/index25.d.ts +11 -11
- package/dist/index26.d.cts +16 -16
- package/dist/index26.d.cts.map +1 -1
- package/dist/index26.d.ts +16 -16
- package/dist/index26.d.ts.map +1 -1
- package/dist/index27.d.cts +10 -10
- package/dist/index27.d.cts.map +1 -1
- package/dist/index27.d.ts +10 -10
- package/dist/index28.d.cts +2 -2
- package/dist/index28.d.cts.map +1 -1
- package/dist/index28.d.ts +2 -2
- package/dist/index28.d.ts.map +1 -1
- package/dist/index29.d.cts +14 -14
- package/dist/index29.d.cts.map +1 -1
- package/dist/index29.d.ts +13 -13
- package/dist/index29.d.ts.map +1 -1
- package/dist/index3.d.cts +13 -13
- package/dist/index3.d.cts.map +1 -1
- package/dist/index3.d.ts +13 -13
- package/dist/index30.d.cts +2 -2
- package/dist/index30.d.ts +2 -2
- package/dist/index30.d.ts.map +1 -1
- package/dist/index31.d.cts +7 -7
- package/dist/index31.d.ts +7 -7
- package/dist/index31.d.ts.map +1 -1
- package/dist/index32.d.cts +4 -4
- package/dist/index32.d.cts.map +1 -1
- package/dist/index32.d.ts +5 -5
- package/dist/index32.d.ts.map +1 -1
- package/dist/index33.d.cts +4 -4
- package/dist/index33.d.ts +4 -4
- package/dist/index34.d.cts +6 -6
- package/dist/index34.d.cts.map +1 -1
- package/dist/index34.d.ts +5 -5
- package/dist/index34.d.ts.map +1 -1
- package/dist/index35.d.cts +5 -5
- package/dist/index35.d.cts.map +1 -1
- package/dist/index35.d.ts +4 -4
- package/dist/index36.d.cts +5 -5
- package/dist/index36.d.cts.map +1 -1
- package/dist/index36.d.ts +5 -5
- package/dist/index36.d.ts.map +1 -1
- package/dist/index37.d.cts +11 -11
- package/dist/index37.d.cts.map +1 -1
- package/dist/index37.d.ts +10 -10
- package/dist/index38.d.cts +5 -5
- package/dist/index38.d.cts.map +1 -1
- package/dist/index38.d.ts +5 -5
- package/dist/index39.d.cts +17 -17
- package/dist/index39.d.cts.map +1 -1
- package/dist/index39.d.ts +16 -16
- package/dist/index39.d.ts.map +1 -1
- package/dist/index4.d.cts +2 -2
- package/dist/index4.d.ts +2 -2
- package/dist/index40.d.cts +3 -3
- package/dist/index40.d.ts +3 -3
- package/dist/index40.d.ts.map +1 -1
- package/dist/index41.d.cts +4 -4
- package/dist/index41.d.cts.map +1 -1
- package/dist/index41.d.ts +4 -4
- package/dist/index41.d.ts.map +1 -1
- package/dist/index42.d.cts +3 -2
- package/dist/index42.d.cts.map +1 -1
- package/dist/index42.d.ts +3 -2
- package/dist/index42.d.ts.map +1 -1
- package/dist/index43.d.cts +17 -17
- package/dist/index43.d.ts +17 -17
- package/dist/index43.d.ts.map +1 -1
- package/dist/index44.d.cts +77 -11
- package/dist/index44.d.cts.map +1 -1
- package/dist/index44.d.ts +77 -11
- package/dist/index44.d.ts.map +1 -1
- package/dist/index45.d.cts +5 -5
- package/dist/index45.d.cts.map +1 -1
- package/dist/index45.d.ts +5 -5
- package/dist/index45.d.ts.map +1 -1
- package/dist/index46.d.cts +11 -11
- package/dist/index46.d.cts.map +1 -1
- package/dist/index46.d.ts +11 -11
- package/dist/index46.d.ts.map +1 -1
- package/dist/index47.d.cts +9 -9
- package/dist/index47.d.cts.map +1 -1
- package/dist/index47.d.ts +9 -9
- package/dist/index47.d.ts.map +1 -1
- package/dist/index49.d.cts +2 -2
- package/dist/index49.d.ts +2 -2
- package/dist/index5.d.cts +7 -7
- package/dist/index5.d.cts.map +1 -1
- package/dist/index5.d.ts +7 -7
- package/dist/index50.d.cts +8 -8
- package/dist/index50.d.ts +8 -8
- package/dist/index50.d.ts.map +1 -1
- package/dist/index51.d.cts +2 -2
- package/dist/index51.d.ts +2 -2
- package/dist/index51.d.ts.map +1 -1
- package/dist/index52.d.cts +4 -4
- package/dist/index52.d.ts +4 -4
- package/dist/index52.d.ts.map +1 -1
- package/dist/index53.d.cts +4 -4
- package/dist/index53.d.cts.map +1 -1
- package/dist/index53.d.ts +4 -4
- package/dist/index53.d.ts.map +1 -1
- package/dist/index54.d.cts +3 -3
- package/dist/index54.d.cts.map +1 -1
- package/dist/index54.d.ts +3 -3
- package/dist/index54.d.ts.map +1 -1
- package/dist/index55.d.cts +11 -11
- package/dist/index55.d.ts +11 -11
- package/dist/index55.d.ts.map +1 -1
- package/dist/index56.d.cts +9 -9
- package/dist/index56.d.cts.map +1 -1
- package/dist/index56.d.ts +9 -9
- package/dist/index56.d.ts.map +1 -1
- package/dist/index57.d.cts +5 -5
- package/dist/index57.d.cts.map +1 -1
- package/dist/index57.d.ts +5 -5
- package/dist/index57.d.ts.map +1 -1
- package/dist/index58.d.cts +25 -25
- package/dist/index58.d.cts.map +1 -1
- package/dist/index58.d.ts +27 -27
- package/dist/index58.d.ts.map +1 -1
- package/dist/index59.d.cts +5 -5
- package/dist/index59.d.ts +5 -5
- package/dist/index59.d.ts.map +1 -1
- package/dist/index6.d.cts +5 -5
- package/dist/index6.d.cts.map +1 -1
- package/dist/index6.d.ts +5 -5
- package/dist/index6.d.ts.map +1 -1
- package/dist/index60.d.cts +2 -2
- package/dist/index60.d.ts +2 -2
- package/dist/index60.d.ts.map +1 -1
- package/dist/index61.d.cts +2 -2
- package/dist/index61.d.cts.map +1 -1
- package/dist/index61.d.ts +2 -2
- package/dist/index61.d.ts.map +1 -1
- package/dist/index62.d.cts +2 -2
- package/dist/index62.d.cts.map +1 -1
- package/dist/index62.d.ts +2 -2
- package/dist/index62.d.ts.map +1 -1
- package/dist/index63.d.cts +4 -4
- package/dist/index63.d.ts +4 -4
- package/dist/index63.d.ts.map +1 -1
- package/dist/index64.d.cts +9 -9
- package/dist/index64.d.ts +9 -9
- package/dist/index64.d.ts.map +1 -1
- package/dist/index65.d.cts +10 -10
- package/dist/index65.d.cts.map +1 -1
- package/dist/index65.d.ts +11 -11
- package/dist/index66.d.cts +6 -6
- package/dist/index66.d.cts.map +1 -1
- package/dist/index66.d.ts +7 -7
- package/dist/index66.d.ts.map +1 -1
- package/dist/index67.d.cts +4 -4
- package/dist/index67.d.ts +4 -4
- package/dist/index67.d.ts.map +1 -1
- package/dist/index68.d.cts +2 -2
- package/dist/index68.d.cts.map +1 -1
- package/dist/index68.d.ts +2 -2
- package/dist/index68.d.ts.map +1 -1
- package/dist/index69.d.cts +5 -5
- package/dist/index69.d.ts +5 -5
- package/dist/index69.d.ts.map +1 -1
- package/dist/index7.d.cts +8 -8
- package/dist/index7.d.cts.map +1 -1
- package/dist/index7.d.ts +8 -8
- package/dist/index7.d.ts.map +1 -1
- package/dist/index70.d.cts +3 -3
- package/dist/index70.d.ts +3 -3
- package/dist/index70.d.ts.map +1 -1
- package/dist/index71.d.cts +4 -4
- package/dist/index71.d.ts +4 -4
- package/dist/index72.d.cts +7 -7
- package/dist/index72.d.cts.map +1 -1
- package/dist/index72.d.ts +7 -7
- package/dist/index72.d.ts.map +1 -1
- package/dist/index73.d.cts +2 -2
- package/dist/index73.d.cts.map +1 -1
- package/dist/index73.d.ts +2 -2
- package/dist/index74.d.cts +8 -8
- package/dist/index74.d.cts.map +1 -1
- package/dist/index74.d.ts +7 -7
- package/dist/index74.d.ts.map +1 -1
- package/dist/index75.d.cts +7 -7
- package/dist/index75.d.cts.map +1 -1
- package/dist/index75.d.ts +7 -7
- package/dist/index75.d.ts.map +1 -1
- package/dist/index76.d.cts +2 -2
- package/dist/index76.d.ts +2 -2
- package/dist/index77.d.cts +8 -8
- package/dist/index77.d.ts +8 -8
- package/dist/index77.d.ts.map +1 -1
- package/dist/index8.d.cts +4 -4
- package/dist/index8.d.cts.map +1 -1
- package/dist/index8.d.ts +4 -4
- package/dist/index9.d.cts +2 -2
- package/dist/index9.d.cts.map +1 -1
- package/dist/index9.d.ts +2 -2
- package/dist/index9.d.ts.map +1 -1
- package/dist/patterns/DataTable/index.d.cts +3 -3
- package/dist/patterns/DataTable/index.d.cts.map +1 -1
- package/dist/patterns/DataTable/index.d.ts +3 -3
- package/dist/patterns/DataTable/index.d.ts.map +1 -1
- package/dist/patterns/Footer/index.d.cts +7 -7
- package/dist/patterns/Footer/index.d.ts +7 -7
- package/dist/patterns/Footer/index.d.ts.map +1 -1
- package/dist/patterns/MediaObject/index.d.cts +12 -12
- package/dist/patterns/MediaObject/index.d.cts.map +1 -1
- package/dist/patterns/MediaObject/index.d.ts +12 -12
- package/dist/patterns/MediaObject/index.d.ts.map +1 -1
- package/dist/patterns/SectionCard/index.d.cts +2 -2
- package/dist/patterns/SectionCard/index.d.ts +2 -2
- package/dist/patterns/SectionCard/index.d.ts.map +1 -1
- package/dist/patterns/SectionHeading/index.d.cts +2 -2
- package/dist/patterns/SectionHeading/index.d.ts +2 -2
- package/dist/patterns/SectionHeading/index.d.ts.map +1 -1
- package/dist/primitives/Combobox/index.cjs.map +1 -1
- package/dist/primitives/Combobox/index.js.map +1 -1
- package/dist/primitives/Mosaic/index.d.cts +2 -2
- package/dist/primitives/Mosaic/index.d.ts +2 -2
- package/dist/primitives/index.d.cts +2 -2
- package/dist/primitives/index.d.ts +2 -2
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime203 from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/patterns/SectionCard/SectionCard.d.ts
|
|
@@ -15,7 +15,7 @@ declare function SectionCard({
|
|
|
15
15
|
className,
|
|
16
16
|
children,
|
|
17
17
|
...props
|
|
18
|
-
}: SectionCardProps):
|
|
18
|
+
}: SectionCardProps): react_jsx_runtime203.JSX.Element;
|
|
19
19
|
//#endregion
|
|
20
20
|
export { SectionCard, type SectionCardProps };
|
|
21
21
|
//# sourceMappingURL=index.d.cts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime12 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/patterns/SectionCard/SectionCard.d.ts
|
|
5
5
|
type SectionCardProps = Omit<React.ComponentProps<"div">, "title"> & {
|
|
@@ -15,7 +15,7 @@ declare function SectionCard({
|
|
|
15
15
|
className,
|
|
16
16
|
children,
|
|
17
17
|
...props
|
|
18
|
-
}: SectionCardProps):
|
|
18
|
+
}: SectionCardProps): react_jsx_runtime12.JSX.Element;
|
|
19
19
|
//#endregion
|
|
20
20
|
export { SectionCard, type SectionCardProps };
|
|
21
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/patterns/SectionCard/SectionCard.tsx"],"mappings":";;;;KASK,gBAAA,GAAmB,KAAK,KAAA,CAAM;;SAE1B,KAAA,CAAM;EAFV;EAAgB,MAAA,CAAA,EAIV,KAAA,CAAM,SAJI;;;iBAQZ,WAAA,CANM;EAAA,KAAA;EAAA,MAAA;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAMwD,gBANxD,CAAA,EAMwE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/patterns/SectionCard/SectionCard.tsx"],"mappings":";;;;KASK,gBAAA,GAAmB,KAAK,KAAA,CAAM;;SAE1B,KAAA,CAAM;EAFV;EAAgB,MAAA,CAAA,EAIV,KAAA,CAAM,SAJI;;;iBAQZ,WAAA,CANM;EAAA,KAAA;EAAA,MAAA;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAMwD,gBANxD,CAAA,EAMwE,mBAAA,CAAA,GAAA,CAAA,OANxE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as HeadingProps } from "../../index32.cjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime212 from "react/jsx-runtime";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
|
|
5
5
|
//#region src/patterns/SectionHeading/SectionHeading.d.ts
|
|
@@ -31,7 +31,7 @@ declare function SectionHeading({
|
|
|
31
31
|
titleAs,
|
|
32
32
|
className,
|
|
33
33
|
...props
|
|
34
|
-
}: SectionHeadingProps):
|
|
34
|
+
}: SectionHeadingProps): react_jsx_runtime212.JSX.Element;
|
|
35
35
|
//#endregion
|
|
36
36
|
export { SectionHeading, type SectionHeadingProps };
|
|
37
37
|
//# sourceMappingURL=index.d.cts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as HeadingProps } from "../../index32.js";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
import * as
|
|
3
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
4
|
|
|
5
5
|
//#region src/patterns/SectionHeading/SectionHeading.d.ts
|
|
6
6
|
/** Props for the {@link SectionHeading} pattern. */
|
|
@@ -31,7 +31,7 @@ declare function SectionHeading({
|
|
|
31
31
|
titleAs,
|
|
32
32
|
className,
|
|
33
33
|
...props
|
|
34
|
-
}: SectionHeadingProps):
|
|
34
|
+
}: SectionHeadingProps): react_jsx_runtime0.JSX.Element;
|
|
35
35
|
//#endregion
|
|
36
36
|
export { SectionHeading, type SectionHeadingProps };
|
|
37
37
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/patterns/SectionHeading/SectionHeading.tsx"],"mappings":";;;;;;KAYK,mBAAA,GAAsB,KAAK,KAAA,CAAM;;EAAjC,KAAA,EAEI,KAAA,CAAM,SAFS;EAAA;UAAQ,CAAM,EAIzB,KAAA,CAAM,SAJmB;;SAE7B,CAAA,EAIG,KAAA,CAAM,SAJH;;OAIH,CAAA,EAAA,QAAM,GAAA,MAAA;;UAQN,CAAM,EAAA,OAAA;EAAW;EAIpB,SAAA,CAAA,EANK,YAMS,CAAA,MAAA,CAAA;EAAA;SACrB,CAAA,EALU,KAAA,CAAM,WAKhB;;;iBADO,cAAA,CAIP;EAAA,KAAA;EAAA,QAAA;EAAA,OAAA;EAAA,KAAA;EAAA,QAAA;EAAA,SAAA;EAAA,OAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAMC,mBAND,CAAA,EAMoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/patterns/SectionHeading/SectionHeading.tsx"],"mappings":";;;;;;KAYK,mBAAA,GAAsB,KAAK,KAAA,CAAM;;EAAjC,KAAA,EAEI,KAAA,CAAM,SAFS;EAAA;UAAQ,CAAM,EAIzB,KAAA,CAAM,SAJmB;;SAE7B,CAAA,EAIG,KAAA,CAAM,SAJH;;OAIH,CAAA,EAAA,QAAM,GAAA,MAAA;;UAQN,CAAM,EAAA,OAAA;EAAW;EAIpB,SAAA,CAAA,EANK,YAMS,CAAA,MAAA,CAAA;EAAA;SACrB,CAAA,EALU,KAAA,CAAM,WAKhB;;;iBADO,cAAA,CAIP;EAAA,KAAA;EAAA,QAAA;EAAA,OAAA;EAAA,KAAA;EAAA,QAAA;EAAA,SAAA;EAAA,OAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAMC,mBAND,CAAA,EAMoB,kBAAA,CAAA,GAAA,CAAA,OANpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["React","Popover","PopoverTrigger","cn","Icon","ChevronDown","PopoverContent","Command","Search","CommandPrimitive","inputVariants","CommandList","CommandGroup","CommandSeparator","CommandItem","Check"],"sources":["../../../src/primitives/Combobox/Combobox.tsx"],"sourcesContent":["\"use client\";\n\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { Check, ChevronDown, Search } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport {\n Command,\n CommandGroup,\n CommandItem,\n CommandList,\n CommandSeparator,\n} from \"@/primitives/Command\";\nimport { Icon } from \"@/primitives/Icon\";\nimport { inputVariants } from \"@/primitives/Input\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/primitives/Popover\";\nimport { cn } from \"@/utils\";\n\ninterface ComboboxContextValue {\n value: string;\n select: (value: string) => void;\n registerItem: (value: string, label: string) => void;\n labels: ReadonlyMap<string, string>;\n}\n\nconst ComboboxContext = React.createContext<ComboboxContextValue | null>(null);\n\nfunction useComboboxContext(caller: string) {\n const ctx = React.useContext(ComboboxContext);\n if (!ctx) throw new Error(`${caller} must be used within <Combobox>`);\n return ctx;\n}\n\n/** Derive a plain-text label from item children (used for search keywords and the trigger display). */\nfunction textLabel(children: React.ReactNode): string | undefined {\n if (typeof children === \"string\") return children;\n if (typeof children === \"number\") return String(children);\n if (\n Array.isArray(children) &&\n children.every((c) => typeof c === \"string\" || typeof c === \"number\")\n )\n return children.join(\"\");\n return undefined;\n}\n\ninterface ComboboxProps {\n /** Controlled selected value. */\n value?: string;\n /** Initial selected value (uncontrolled). */\n defaultValue?: string;\n /** Called with the item's `value` when a selection is made. */\n onValueChange?: (value: string) => void;\n /** Controlled open state of the dropdown. */\n open?: boolean;\n /** Initially open (uncontrolled). */\n defaultOpen?: boolean;\n /** Called when the dropdown opens or closes. */\n onOpenChange?: (open: boolean) => void;\n /** Forwarded to the underlying Popover root. */\n modal?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Searchable single-select dropdown (the shadcn \"combobox\" recipe): a Popover\n * holding a filterable Command list. Holds the selected value and open state,\n * and closes on selection. Search state resets automatically on close because\n * the content unmounts.\n */\nfunction Combobox({\n value,\n defaultValue,\n onValueChange,\n open,\n defaultOpen,\n onOpenChange,\n modal,\n children,\n}: Readonly<ComboboxProps>) {\n const [uncontrolledValue, setUncontrolledValue] = React.useState(defaultValue ?? \"\");\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen ?? false);\n const currentValue = value ?? uncontrolledValue;\n const currentOpen = open ?? uncontrolledOpen;\n\n const setOpen = React.useCallback(\n (next: boolean) => {\n setUncontrolledOpen(next);\n onOpenChange?.(next);\n },\n [onOpenChange],\n );\n\n const select = React.useCallback(\n (next: string) => {\n setUncontrolledValue(next);\n onValueChange?.(next);\n setOpen(false);\n },\n [onValueChange, setOpen],\n );\n\n // value → display-label cache fed by mounted items. Labels are kept after the\n // content unmounts (popover close) so the trigger can keep showing them.\n const [labels, setLabels] = React.useState<ReadonlyMap<string, string>>(new Map());\n const registerItem = React.useCallback((itemValue: string, label: string) => {\n setLabels((prev) =>\n prev.get(itemValue) === label ? prev : new Map(prev).set(itemValue, label),\n );\n }, []);\n\n const ctx = React.useMemo(\n () => ({ value: currentValue, select, registerItem, labels }),\n [currentValue, select, registerItem, labels],\n );\n\n return (\n <ComboboxContext.Provider value={ctx}>\n <Popover open={currentOpen} onOpenChange={setOpen} modal={modal}>\n {children}\n </Popover>\n </ComboboxContext.Provider>\n );\n}\n\n// Pill chrome shared with the Header project picker — keeps the lockup consistent.\nconst PILL =\n \"flex min-h-8 items-center gap-1 rounded-12 border border-primary-border bg-input-bg px-3 py-1 text-xs leading-4\";\n\n/**\n * Pill-shaped trigger showing the current selection. With no `children`, it\n * renders the selected item's label (or `placeholder` when nothing is\n * selected); pass `children` to fully control the display — e.g. when the\n * selected label comes from data the items haven't mounted with yet.\n */\nfunction ComboboxTrigger({\n className,\n /** Muted prefix rendered as `label:` before the value (e.g. `Project:`). */\n label,\n /** Muted text shown while nothing is selected. */\n placeholder,\n children,\n ...props\n}: React.ComponentProps<typeof PopoverTrigger> & { label?: string; placeholder?: string }) {\n const { value, labels } = useComboboxContext(\"ComboboxTrigger\");\n const display = children ?? (value ? (labels.get(value) ?? value) : undefined);\n\n return (\n <PopoverTrigger\n data-slot=\"combobox-trigger\"\n className={cn(PILL, \"text-left transition-colors hover:border-focus/60\", className)}\n {...props}\n >\n {label && <span className=\"shrink-0 text-muted-txt\">{label}:</span>}\n <span className={cn(\"min-w-0 truncate\", display != null ? \"font-medium\" : \"text-muted-txt\")}>\n {display ?? placeholder}\n </span>\n <Icon as={ChevronDown} className=\"ml-1 size-4 shrink-0 text-muted-txt\" />\n </PopoverTrigger>\n );\n}\n\n/** The dropdown panel: a Command (filterable list) inside a PopoverContent. */\nfunction ComboboxContent({\n className,\n align = \"start\",\n children,\n filter,\n shouldFilter,\n loop,\n ...props\n}: React.ComponentProps<typeof PopoverContent> &\n Pick<React.ComponentProps<typeof CommandPrimitive>, \"filter\" | \"shouldFilter\" | \"loop\">) {\n return (\n <PopoverContent\n data-slot=\"combobox-content\"\n align={align}\n className={cn(\"w-64 p-0\", className)}\n {...props}\n >\n <Command filter={filter} shouldFilter={shouldFilter} loop={loop} className=\"bg-transparent\">\n {children}\n </Command>\n </PopoverContent>\n );\n}\n\n/** Bordered search field pinned above the list; typing filters the items. */\nfunction ComboboxInput({\n className,\n /** Extra classes for the padded, bottom-bordered section around the field. */\n wrapperClassName,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Input> & { wrapperClassName?: string }) {\n return (\n <div data-slot=\"combobox-input-wrapper\" className={cn(\"border-b p-2\", wrapperClassName)}>\n <div className=\"relative\">\n <Icon\n as={Search}\n className=\"absolute top-1/2 left-2.5 size-3.5 -translate-y-1/2 text-muted-txt\"\n />\n <CommandPrimitive.Input\n data-slot=\"combobox-input\"\n className={cn(inputVariants({ size: \"sm\" }), \"pl-8\", className)}\n {...props}\n />\n </div>\n </div>\n );\n}\n\n/** Scrollable container for the option rows. */\nfunction ComboboxList({ className, ...props }: React.ComponentProps<typeof CommandList>) {\n return (\n <CommandList data-slot=\"combobox-list\" className={cn(\"max-h-64 py-1\", className)} {...props} />\n );\n}\n\n/** Placeholder row shown when the search matches no items. */\nfunction ComboboxEmpty({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Empty>) {\n return (\n <CommandPrimitive.Empty\n data-slot=\"combobox-empty\"\n className={cn(\"px-3 py-2 text-sm text-muted-txt\", className)}\n {...props}\n />\n );\n}\n\n/** A labelled group of related options, with an optional `heading`. */\nfunction ComboboxGroup({ className, ...props }: React.ComponentProps<typeof CommandGroup>) {\n return (\n <CommandGroup\n data-slot=\"combobox-group\"\n className={cn(\"p-0 [&_[cmdk-group-heading]]:px-3\", className)}\n {...props}\n />\n );\n}\n\n/** A thin divider line between option groups. */\nfunction ComboboxSeparator({ className, ...props }: React.ComponentProps<typeof CommandSeparator>) {\n return (\n <CommandSeparator data-slot=\"combobox-separator\" className={cn(\"mx-0\", className)} {...props} />\n );\n}\n\n/**\n * A selectable option. `value` is what the combobox reports on selection;\n * search matches the visible text (or explicit `keywords`), not the `value`.\n */\nfunction ComboboxItem({\n /** The value reported by `onValueChange` when this item is chosen. */\n value,\n /** Extra strings the search should match; defaults to the item's text content. */\n keywords,\n className,\n children,\n onSelect,\n ...props\n}: Omit<React.ComponentProps<typeof CommandItem>, \"value\"> & { value: string }) {\n const ctx = useComboboxContext(\"ComboboxItem\");\n const isSelected = value === ctx.value;\n const label = textLabel(children);\n const { registerItem, select } = ctx;\n\n React.useEffect(() => {\n if (label !== undefined) registerItem(value, label);\n }, [value, label, registerItem]);\n\n return (\n <CommandItem\n data-slot=\"combobox-item\"\n value={value}\n keywords={keywords ?? (label !== undefined ? [label] : undefined)}\n onSelect={(selected) => {\n select(value);\n onSelect?.(selected);\n }}\n className={cn(\n // Header project-picker row: hover/highlight ghost, chosen bg/secondary + medium.\n \"cursor-pointer rounded-none px-3 py-2 hover:bg-ghost-hover-bg active:bg-ghost-hover-bg data-[selected=true]:bg-ghost-hover-bg\",\n isSelected && \"bg-secondary-bg font-medium data-[selected=true]:bg-secondary-bg\",\n className,\n )}\n {...props}\n >\n {children}\n {isSelected && <Icon as={Check} className=\"ml-auto size-3.5 shrink-0 text-primary\" />}\n </CommandItem>\n );\n}\n\nexport {\n Combobox,\n ComboboxTrigger,\n ComboboxContent,\n ComboboxInput,\n ComboboxList,\n ComboboxEmpty,\n ComboboxGroup,\n ComboboxItem,\n ComboboxSeparator,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["React","Popover","PopoverTrigger","cn","Icon","ChevronDown","PopoverContent","Command","Search","CommandPrimitive","inputVariants","CommandList","CommandGroup","CommandSeparator","CommandItem","Check"],"sources":["../../../src/primitives/Combobox/Combobox.tsx"],"sourcesContent":["\"use client\";\n\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { Check, ChevronDown, Search } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport {\n Command,\n CommandGroup,\n CommandItem,\n CommandList,\n CommandSeparator,\n} from \"@/primitives/Command\";\nimport { Icon } from \"@/primitives/Icon\";\nimport { inputVariants } from \"@/primitives/Input\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/primitives/Popover\";\nimport { cn } from \"@/utils\";\n\ninterface ComboboxContextValue {\n value: string;\n select: (value: string) => void;\n registerItem: (value: string, label: string) => void;\n labels: ReadonlyMap<string, string>;\n}\n\nconst ComboboxContext = React.createContext<ComboboxContextValue | null>(null);\n\nfunction useComboboxContext(caller: string) {\n const ctx = React.useContext(ComboboxContext);\n if (!ctx) throw new Error(`${caller} must be used within <Combobox>`);\n return ctx;\n}\n\n/** Derive a plain-text label from item children (used for search keywords and the trigger display). */\nfunction textLabel(children: React.ReactNode): string | undefined {\n if (typeof children === \"string\") return children;\n if (typeof children === \"number\") return String(children);\n if (\n Array.isArray(children) &&\n children.every((c) => typeof c === \"string\" || typeof c === \"number\")\n )\n return children.join(\"\");\n return undefined;\n}\n\ninterface ComboboxProps {\n /** Controlled selected value. */\n value?: string;\n /** Initial selected value (uncontrolled). */\n defaultValue?: string;\n /** Called with the item's `value` when a selection is made. */\n onValueChange?: (value: string) => void;\n /** Controlled open state of the dropdown. */\n open?: boolean;\n /** Initially open (uncontrolled). */\n defaultOpen?: boolean;\n /** Called when the dropdown opens or closes. */\n onOpenChange?: (open: boolean) => void;\n /**\n * Forwarded to the underlying Popover root. Required when the combobox\n * renders inside a modal `Dialog`: the dropdown portals outside the dialog,\n * and without `modal` the dialog's scroll lock blocks wheel/trackpad\n * scrolling in the list (scrollbar dragging still works).\n */\n modal?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Searchable single-select dropdown (the shadcn \"combobox\" recipe): a Popover\n * holding a filterable Command list. Holds the selected value and open state,\n * and closes on selection. Search state resets automatically on close because\n * the content unmounts.\n */\nfunction Combobox({\n value,\n defaultValue,\n onValueChange,\n open,\n defaultOpen,\n onOpenChange,\n modal,\n children,\n}: Readonly<ComboboxProps>) {\n const [uncontrolledValue, setUncontrolledValue] = React.useState(defaultValue ?? \"\");\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen ?? false);\n const currentValue = value ?? uncontrolledValue;\n const currentOpen = open ?? uncontrolledOpen;\n\n const setOpen = React.useCallback(\n (next: boolean) => {\n setUncontrolledOpen(next);\n onOpenChange?.(next);\n },\n [onOpenChange],\n );\n\n const select = React.useCallback(\n (next: string) => {\n setUncontrolledValue(next);\n onValueChange?.(next);\n setOpen(false);\n },\n [onValueChange, setOpen],\n );\n\n // value → display-label cache fed by mounted items. Labels are kept after the\n // content unmounts (popover close) so the trigger can keep showing them.\n const [labels, setLabels] = React.useState<ReadonlyMap<string, string>>(new Map());\n const registerItem = React.useCallback((itemValue: string, label: string) => {\n setLabels((prev) =>\n prev.get(itemValue) === label ? prev : new Map(prev).set(itemValue, label),\n );\n }, []);\n\n const ctx = React.useMemo(\n () => ({ value: currentValue, select, registerItem, labels }),\n [currentValue, select, registerItem, labels],\n );\n\n return (\n <ComboboxContext.Provider value={ctx}>\n <Popover open={currentOpen} onOpenChange={setOpen} modal={modal}>\n {children}\n </Popover>\n </ComboboxContext.Provider>\n );\n}\n\n// Pill chrome shared with the Header project picker — keeps the lockup consistent.\nconst PILL =\n \"flex min-h-8 items-center gap-1 rounded-12 border border-primary-border bg-input-bg px-3 py-1 text-xs leading-4\";\n\n/**\n * Pill-shaped trigger showing the current selection. With no `children`, it\n * renders the selected item's label (or `placeholder` when nothing is\n * selected); pass `children` to fully control the display — e.g. when the\n * selected label comes from data the items haven't mounted with yet.\n */\nfunction ComboboxTrigger({\n className,\n /** Muted prefix rendered as `label:` before the value (e.g. `Project:`). */\n label,\n /** Muted text shown while nothing is selected. */\n placeholder,\n children,\n ...props\n}: React.ComponentProps<typeof PopoverTrigger> & { label?: string; placeholder?: string }) {\n const { value, labels } = useComboboxContext(\"ComboboxTrigger\");\n const display = children ?? (value ? (labels.get(value) ?? value) : undefined);\n\n return (\n <PopoverTrigger\n data-slot=\"combobox-trigger\"\n className={cn(PILL, \"text-left transition-colors hover:border-focus/60\", className)}\n {...props}\n >\n {label && <span className=\"shrink-0 text-muted-txt\">{label}:</span>}\n <span className={cn(\"min-w-0 truncate\", display != null ? \"font-medium\" : \"text-muted-txt\")}>\n {display ?? placeholder}\n </span>\n <Icon as={ChevronDown} className=\"ml-1 size-4 shrink-0 text-muted-txt\" />\n </PopoverTrigger>\n );\n}\n\n/** The dropdown panel: a Command (filterable list) inside a PopoverContent. */\nfunction ComboboxContent({\n className,\n align = \"start\",\n children,\n filter,\n shouldFilter,\n loop,\n ...props\n}: React.ComponentProps<typeof PopoverContent> &\n Pick<React.ComponentProps<typeof CommandPrimitive>, \"filter\" | \"shouldFilter\" | \"loop\">) {\n return (\n <PopoverContent\n data-slot=\"combobox-content\"\n align={align}\n className={cn(\"w-64 p-0\", className)}\n {...props}\n >\n <Command filter={filter} shouldFilter={shouldFilter} loop={loop} className=\"bg-transparent\">\n {children}\n </Command>\n </PopoverContent>\n );\n}\n\n/** Bordered search field pinned above the list; typing filters the items. */\nfunction ComboboxInput({\n className,\n /** Extra classes for the padded, bottom-bordered section around the field. */\n wrapperClassName,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Input> & { wrapperClassName?: string }) {\n return (\n <div data-slot=\"combobox-input-wrapper\" className={cn(\"border-b p-2\", wrapperClassName)}>\n <div className=\"relative\">\n <Icon\n as={Search}\n className=\"absolute top-1/2 left-2.5 size-3.5 -translate-y-1/2 text-muted-txt\"\n />\n <CommandPrimitive.Input\n data-slot=\"combobox-input\"\n className={cn(inputVariants({ size: \"sm\" }), \"pl-8\", className)}\n {...props}\n />\n </div>\n </div>\n );\n}\n\n/** Scrollable container for the option rows. */\nfunction ComboboxList({ className, ...props }: React.ComponentProps<typeof CommandList>) {\n return (\n <CommandList data-slot=\"combobox-list\" className={cn(\"max-h-64 py-1\", className)} {...props} />\n );\n}\n\n/** Placeholder row shown when the search matches no items. */\nfunction ComboboxEmpty({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Empty>) {\n return (\n <CommandPrimitive.Empty\n data-slot=\"combobox-empty\"\n className={cn(\"px-3 py-2 text-sm text-muted-txt\", className)}\n {...props}\n />\n );\n}\n\n/** A labelled group of related options, with an optional `heading`. */\nfunction ComboboxGroup({ className, ...props }: React.ComponentProps<typeof CommandGroup>) {\n return (\n <CommandGroup\n data-slot=\"combobox-group\"\n className={cn(\"p-0 [&_[cmdk-group-heading]]:px-3\", className)}\n {...props}\n />\n );\n}\n\n/** A thin divider line between option groups. */\nfunction ComboboxSeparator({ className, ...props }: React.ComponentProps<typeof CommandSeparator>) {\n return (\n <CommandSeparator data-slot=\"combobox-separator\" className={cn(\"mx-0\", className)} {...props} />\n );\n}\n\n/**\n * A selectable option. `value` is what the combobox reports on selection;\n * search matches the visible text (or explicit `keywords`), not the `value`.\n */\nfunction ComboboxItem({\n /** The value reported by `onValueChange` when this item is chosen. */\n value,\n /** Extra strings the search should match; defaults to the item's text content. */\n keywords,\n className,\n children,\n onSelect,\n ...props\n}: Omit<React.ComponentProps<typeof CommandItem>, \"value\"> & { value: string }) {\n const ctx = useComboboxContext(\"ComboboxItem\");\n const isSelected = value === ctx.value;\n const label = textLabel(children);\n const { registerItem, select } = ctx;\n\n React.useEffect(() => {\n if (label !== undefined) registerItem(value, label);\n }, [value, label, registerItem]);\n\n return (\n <CommandItem\n data-slot=\"combobox-item\"\n value={value}\n keywords={keywords ?? (label !== undefined ? [label] : undefined)}\n onSelect={(selected) => {\n select(value);\n onSelect?.(selected);\n }}\n className={cn(\n // Header project-picker row: hover/highlight ghost, chosen bg/secondary + medium.\n \"cursor-pointer rounded-none px-3 py-2 hover:bg-ghost-hover-bg active:bg-ghost-hover-bg data-[selected=true]:bg-ghost-hover-bg\",\n isSelected && \"bg-secondary-bg font-medium data-[selected=true]:bg-secondary-bg\",\n className,\n )}\n {...props}\n >\n {children}\n {isSelected && <Icon as={Check} className=\"ml-auto size-3.5 shrink-0 text-primary\" />}\n </CommandItem>\n );\n}\n\nexport {\n Combobox,\n ComboboxTrigger,\n ComboboxContent,\n ComboboxInput,\n ComboboxList,\n ComboboxEmpty,\n ComboboxGroup,\n ComboboxItem,\n ComboboxSeparator,\n};\n"],"mappings":";;;;;;;;;;;;;AAyBA,MAAM,kBAAkBA,MAAM,cAA2C,IAAI;AAE7E,SAAS,mBAAmB,QAAgB;CAC1C,MAAM,MAAMA,MAAM,WAAW,eAAe;CAC5C,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,GAAG,OAAO,gCAAgC;CACpE,OAAO;AACT;;AAGA,SAAS,UAAU,UAA+C;CAChE,IAAI,OAAO,aAAa,UAAU,OAAO;CACzC,IAAI,OAAO,aAAa,UAAU,OAAO,OAAO,QAAQ;CACxD,IACE,MAAM,QAAQ,QAAQ,KACtB,SAAS,OAAO,MAAM,OAAO,MAAM,YAAY,OAAO,MAAM,QAAQ,GAEpE,OAAO,SAAS,KAAK,EAAE;AAE3B;;;;;;;AA+BA,SAAS,SAAS,EAChB,OACA,cACA,eACA,MACA,aACA,cACA,OACA,YAC0B;CAC1B,MAAM,CAAC,mBAAmB,wBAAwBA,MAAM,SAAS,gBAAgB,EAAE;CACnF,MAAM,CAAC,kBAAkB,uBAAuBA,MAAM,SAAS,eAAe,KAAK;CACnF,MAAM,eAAe,SAAS;CAC9B,MAAM,cAAc,QAAQ;CAE5B,MAAM,UAAUA,MAAM,aACnB,SAAkB;EACjB,oBAAoB,IAAI;EACxB,eAAe,IAAI;CACrB,GACA,CAAC,YAAY,CACf;CAEA,MAAM,SAASA,MAAM,aAClB,SAAiB;EAChB,qBAAqB,IAAI;EACzB,gBAAgB,IAAI;EACpB,QAAQ,KAAK;CACf,GACA,CAAC,eAAe,OAAO,CACzB;CAIA,MAAM,CAAC,QAAQ,aAAaA,MAAM,yBAAsC,IAAI,IAAI,CAAC;CACjF,MAAM,eAAeA,MAAM,aAAa,WAAmB,UAAkB;EAC3E,WAAW,SACT,KAAK,IAAI,SAAS,MAAM,QAAQ,OAAO,IAAI,IAAI,IAAI,EAAE,IAAI,WAAW,KAAK,CAC3E;CACF,GAAG,CAAC,CAAC;CAEL,MAAM,MAAMA,MAAM,eACT;EAAE,OAAO;EAAc;EAAQ;EAAc;CAAO,IAC3D;EAAC;EAAc;EAAQ;EAAc;CAAM,CAC7C;CAEA,OACE,iBAAA,GAAA,kBAAA,KAAC,gBAAgB,UAAjB;EAA0B,OAAO;YAC/B,iBAAA,GAAA,kBAAA,KAACC,iCAAAA,SAAD;GAAS,MAAM;GAAa,cAAc;GAAgB;GACvD;EACM,CAAA;CACe,CAAA;AAE9B;AAGA,MAAM,OACJ;;;;;;;AAQF,SAAS,gBAAgB,EACvB,WAEA,OAEA,aACA,UACA,GAAG,SACsF;CACzF,MAAM,EAAE,OAAO,WAAW,mBAAmB,iBAAiB;CAC9D,MAAM,UAAU,aAAa,QAAS,OAAO,IAAI,KAAK,KAAK,QAAS,KAAA;CAEpE,OACE,iBAAA,GAAA,kBAAA,MAACC,iCAAAA,gBAAD;EACE,aAAU;EACV,WAAWC,WAAAA,GAAG,MAAM,qDAAqD,SAAS;EAClF,GAAI;YAHN;GAKG,SAAS,iBAAA,GAAA,kBAAA,MAAC,QAAD;IAAM,WAAU;cAAhB,CAA2C,OAAM,GAAO;;GAClE,iBAAA,GAAA,kBAAA,KAAC,QAAD;IAAM,WAAWA,WAAAA,GAAG,oBAAoB,WAAW,OAAO,gBAAgB,gBAAgB;cACvF,WAAW;GACR,CAAA;GACN,iBAAA,GAAA,kBAAA,KAACC,aAAAA,MAAD;IAAM,IAAIC,aAAAA;IAAa,WAAU;GAAuC,CAAA;EAC1D;;AAEpB;;AAGA,SAAS,gBAAgB,EACvB,WACA,QAAQ,SACR,UACA,QACA,cACA,MACA,GAAG,SAEsF;CACzF,OACE,iBAAA,GAAA,kBAAA,KAACC,iCAAAA,gBAAD;EACE,aAAU;EACH;EACP,WAAWH,WAAAA,GAAG,YAAY,SAAS;EACnC,GAAI;YAEJ,iBAAA,GAAA,kBAAA,KAACI,iCAAAA,SAAD;GAAiB;GAAsB;GAAoB;GAAM,WAAU;GACxE;EACM,CAAA;CACK,CAAA;AAEpB;;AAGA,SAAS,cAAc,EACrB,WAEA,kBACA,GAAG,SACmF;CACtF,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EAAK,aAAU;EAAyB,WAAWJ,WAAAA,GAAG,gBAAgB,gBAAgB;YACpF,iBAAA,GAAA,kBAAA,MAAC,OAAD;GAAK,WAAU;aAAf,CACE,iBAAA,GAAA,kBAAA,KAACC,aAAAA,MAAD;IACE,IAAII,aAAAA;IACJ,WAAU;GACX,CAAA,GACD,iBAAA,GAAA,kBAAA,KAACC,KAAAA,QAAiB,OAAlB;IACE,aAAU;IACV,WAAWN,WAAAA,GAAGO,+BAAAA,cAAc,EAAE,MAAM,KAAK,CAAC,GAAG,QAAQ,SAAS;IAC9D,GAAI;GACL,CAAA,CACE;;CACF,CAAA;AAET;;AAGA,SAAS,aAAa,EAAE,WAAW,GAAG,SAAmD;CACvF,OACE,iBAAA,GAAA,kBAAA,KAACC,iCAAAA,aAAD;EAAa,aAAU;EAAgB,WAAWR,WAAAA,GAAG,iBAAiB,SAAS;EAAG,GAAI;CAAQ,CAAA;AAElG;;AAGA,SAAS,cAAc,EACrB,WACA,GAAG,SACmD;CACtD,OACE,iBAAA,GAAA,kBAAA,KAACM,KAAAA,QAAiB,OAAlB;EACE,aAAU;EACV,WAAWN,WAAAA,GAAG,oCAAoC,SAAS;EAC3D,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,cAAc,EAAE,WAAW,GAAG,SAAoD;CACzF,OACE,iBAAA,GAAA,kBAAA,KAACS,iCAAAA,cAAD;EACE,aAAU;EACV,WAAWT,WAAAA,GAAG,qCAAqC,SAAS;EAC5D,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,kBAAkB,EAAE,WAAW,GAAG,SAAwD;CACjG,OACE,iBAAA,GAAA,kBAAA,KAACU,iCAAAA,kBAAD;EAAkB,aAAU;EAAqB,WAAWV,WAAAA,GAAG,QAAQ,SAAS;EAAG,GAAI;CAAQ,CAAA;AAEnG;;;;;AAMA,SAAS,aAAa,EAEpB,OAEA,UACA,WACA,UACA,UACA,GAAG,SAC2E;CAC9E,MAAM,MAAM,mBAAmB,cAAc;CAC7C,MAAM,aAAa,UAAU,IAAI;CACjC,MAAM,QAAQ,UAAU,QAAQ;CAChC,MAAM,EAAE,cAAc,WAAW;CAEjC,MAAM,gBAAgB;EACpB,IAAI,UAAU,KAAA,GAAW,aAAa,OAAO,KAAK;CACpD,GAAG;EAAC;EAAO;EAAO;CAAY,CAAC;CAE/B,OACE,iBAAA,GAAA,kBAAA,MAACW,iCAAAA,aAAD;EACE,aAAU;EACH;EACP,UAAU,aAAa,UAAU,KAAA,IAAY,CAAC,KAAK,IAAI,KAAA;EACvD,WAAW,aAAa;GACtB,OAAO,KAAK;GACZ,WAAW,QAAQ;EACrB;EACA,WAAWX,WAAAA,GAET,iIACA,cAAc,oEACd,SACF;EACA,GAAI;YAdN,CAgBG,UACA,cAAc,iBAAA,GAAA,kBAAA,KAACC,aAAAA,MAAD;GAAM,IAAIW,aAAAA;GAAO,WAAU;EAA0C,CAAA,CACzE;;AAEjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Command","CommandPrimitive"],"sources":["../../../src/primitives/Combobox/Combobox.tsx"],"sourcesContent":["\"use client\";\n\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { Check, ChevronDown, Search } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport {\n Command,\n CommandGroup,\n CommandItem,\n CommandList,\n CommandSeparator,\n} from \"@/primitives/Command\";\nimport { Icon } from \"@/primitives/Icon\";\nimport { inputVariants } from \"@/primitives/Input\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/primitives/Popover\";\nimport { cn } from \"@/utils\";\n\ninterface ComboboxContextValue {\n value: string;\n select: (value: string) => void;\n registerItem: (value: string, label: string) => void;\n labels: ReadonlyMap<string, string>;\n}\n\nconst ComboboxContext = React.createContext<ComboboxContextValue | null>(null);\n\nfunction useComboboxContext(caller: string) {\n const ctx = React.useContext(ComboboxContext);\n if (!ctx) throw new Error(`${caller} must be used within <Combobox>`);\n return ctx;\n}\n\n/** Derive a plain-text label from item children (used for search keywords and the trigger display). */\nfunction textLabel(children: React.ReactNode): string | undefined {\n if (typeof children === \"string\") return children;\n if (typeof children === \"number\") return String(children);\n if (\n Array.isArray(children) &&\n children.every((c) => typeof c === \"string\" || typeof c === \"number\")\n )\n return children.join(\"\");\n return undefined;\n}\n\ninterface ComboboxProps {\n /** Controlled selected value. */\n value?: string;\n /** Initial selected value (uncontrolled). */\n defaultValue?: string;\n /** Called with the item's `value` when a selection is made. */\n onValueChange?: (value: string) => void;\n /** Controlled open state of the dropdown. */\n open?: boolean;\n /** Initially open (uncontrolled). */\n defaultOpen?: boolean;\n /** Called when the dropdown opens or closes. */\n onOpenChange?: (open: boolean) => void;\n /** Forwarded to the underlying Popover root. */\n modal?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Searchable single-select dropdown (the shadcn \"combobox\" recipe): a Popover\n * holding a filterable Command list. Holds the selected value and open state,\n * and closes on selection. Search state resets automatically on close because\n * the content unmounts.\n */\nfunction Combobox({\n value,\n defaultValue,\n onValueChange,\n open,\n defaultOpen,\n onOpenChange,\n modal,\n children,\n}: Readonly<ComboboxProps>) {\n const [uncontrolledValue, setUncontrolledValue] = React.useState(defaultValue ?? \"\");\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen ?? false);\n const currentValue = value ?? uncontrolledValue;\n const currentOpen = open ?? uncontrolledOpen;\n\n const setOpen = React.useCallback(\n (next: boolean) => {\n setUncontrolledOpen(next);\n onOpenChange?.(next);\n },\n [onOpenChange],\n );\n\n const select = React.useCallback(\n (next: string) => {\n setUncontrolledValue(next);\n onValueChange?.(next);\n setOpen(false);\n },\n [onValueChange, setOpen],\n );\n\n // value → display-label cache fed by mounted items. Labels are kept after the\n // content unmounts (popover close) so the trigger can keep showing them.\n const [labels, setLabels] = React.useState<ReadonlyMap<string, string>>(new Map());\n const registerItem = React.useCallback((itemValue: string, label: string) => {\n setLabels((prev) =>\n prev.get(itemValue) === label ? prev : new Map(prev).set(itemValue, label),\n );\n }, []);\n\n const ctx = React.useMemo(\n () => ({ value: currentValue, select, registerItem, labels }),\n [currentValue, select, registerItem, labels],\n );\n\n return (\n <ComboboxContext.Provider value={ctx}>\n <Popover open={currentOpen} onOpenChange={setOpen} modal={modal}>\n {children}\n </Popover>\n </ComboboxContext.Provider>\n );\n}\n\n// Pill chrome shared with the Header project picker — keeps the lockup consistent.\nconst PILL =\n \"flex min-h-8 items-center gap-1 rounded-12 border border-primary-border bg-input-bg px-3 py-1 text-xs leading-4\";\n\n/**\n * Pill-shaped trigger showing the current selection. With no `children`, it\n * renders the selected item's label (or `placeholder` when nothing is\n * selected); pass `children` to fully control the display — e.g. when the\n * selected label comes from data the items haven't mounted with yet.\n */\nfunction ComboboxTrigger({\n className,\n /** Muted prefix rendered as `label:` before the value (e.g. `Project:`). */\n label,\n /** Muted text shown while nothing is selected. */\n placeholder,\n children,\n ...props\n}: React.ComponentProps<typeof PopoverTrigger> & { label?: string; placeholder?: string }) {\n const { value, labels } = useComboboxContext(\"ComboboxTrigger\");\n const display = children ?? (value ? (labels.get(value) ?? value) : undefined);\n\n return (\n <PopoverTrigger\n data-slot=\"combobox-trigger\"\n className={cn(PILL, \"text-left transition-colors hover:border-focus/60\", className)}\n {...props}\n >\n {label && <span className=\"shrink-0 text-muted-txt\">{label}:</span>}\n <span className={cn(\"min-w-0 truncate\", display != null ? \"font-medium\" : \"text-muted-txt\")}>\n {display ?? placeholder}\n </span>\n <Icon as={ChevronDown} className=\"ml-1 size-4 shrink-0 text-muted-txt\" />\n </PopoverTrigger>\n );\n}\n\n/** The dropdown panel: a Command (filterable list) inside a PopoverContent. */\nfunction ComboboxContent({\n className,\n align = \"start\",\n children,\n filter,\n shouldFilter,\n loop,\n ...props\n}: React.ComponentProps<typeof PopoverContent> &\n Pick<React.ComponentProps<typeof CommandPrimitive>, \"filter\" | \"shouldFilter\" | \"loop\">) {\n return (\n <PopoverContent\n data-slot=\"combobox-content\"\n align={align}\n className={cn(\"w-64 p-0\", className)}\n {...props}\n >\n <Command filter={filter} shouldFilter={shouldFilter} loop={loop} className=\"bg-transparent\">\n {children}\n </Command>\n </PopoverContent>\n );\n}\n\n/** Bordered search field pinned above the list; typing filters the items. */\nfunction ComboboxInput({\n className,\n /** Extra classes for the padded, bottom-bordered section around the field. */\n wrapperClassName,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Input> & { wrapperClassName?: string }) {\n return (\n <div data-slot=\"combobox-input-wrapper\" className={cn(\"border-b p-2\", wrapperClassName)}>\n <div className=\"relative\">\n <Icon\n as={Search}\n className=\"absolute top-1/2 left-2.5 size-3.5 -translate-y-1/2 text-muted-txt\"\n />\n <CommandPrimitive.Input\n data-slot=\"combobox-input\"\n className={cn(inputVariants({ size: \"sm\" }), \"pl-8\", className)}\n {...props}\n />\n </div>\n </div>\n );\n}\n\n/** Scrollable container for the option rows. */\nfunction ComboboxList({ className, ...props }: React.ComponentProps<typeof CommandList>) {\n return (\n <CommandList data-slot=\"combobox-list\" className={cn(\"max-h-64 py-1\", className)} {...props} />\n );\n}\n\n/** Placeholder row shown when the search matches no items. */\nfunction ComboboxEmpty({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Empty>) {\n return (\n <CommandPrimitive.Empty\n data-slot=\"combobox-empty\"\n className={cn(\"px-3 py-2 text-sm text-muted-txt\", className)}\n {...props}\n />\n );\n}\n\n/** A labelled group of related options, with an optional `heading`. */\nfunction ComboboxGroup({ className, ...props }: React.ComponentProps<typeof CommandGroup>) {\n return (\n <CommandGroup\n data-slot=\"combobox-group\"\n className={cn(\"p-0 [&_[cmdk-group-heading]]:px-3\", className)}\n {...props}\n />\n );\n}\n\n/** A thin divider line between option groups. */\nfunction ComboboxSeparator({ className, ...props }: React.ComponentProps<typeof CommandSeparator>) {\n return (\n <CommandSeparator data-slot=\"combobox-separator\" className={cn(\"mx-0\", className)} {...props} />\n );\n}\n\n/**\n * A selectable option. `value` is what the combobox reports on selection;\n * search matches the visible text (or explicit `keywords`), not the `value`.\n */\nfunction ComboboxItem({\n /** The value reported by `onValueChange` when this item is chosen. */\n value,\n /** Extra strings the search should match; defaults to the item's text content. */\n keywords,\n className,\n children,\n onSelect,\n ...props\n}: Omit<React.ComponentProps<typeof CommandItem>, \"value\"> & { value: string }) {\n const ctx = useComboboxContext(\"ComboboxItem\");\n const isSelected = value === ctx.value;\n const label = textLabel(children);\n const { registerItem, select } = ctx;\n\n React.useEffect(() => {\n if (label !== undefined) registerItem(value, label);\n }, [value, label, registerItem]);\n\n return (\n <CommandItem\n data-slot=\"combobox-item\"\n value={value}\n keywords={keywords ?? (label !== undefined ? [label] : undefined)}\n onSelect={(selected) => {\n select(value);\n onSelect?.(selected);\n }}\n className={cn(\n // Header project-picker row: hover/highlight ghost, chosen bg/secondary + medium.\n \"cursor-pointer rounded-none px-3 py-2 hover:bg-ghost-hover-bg active:bg-ghost-hover-bg data-[selected=true]:bg-ghost-hover-bg\",\n isSelected && \"bg-secondary-bg font-medium data-[selected=true]:bg-secondary-bg\",\n className,\n )}\n {...props}\n >\n {children}\n {isSelected && <Icon as={Check} className=\"ml-auto size-3.5 shrink-0 text-primary\" />}\n </CommandItem>\n );\n}\n\nexport {\n Combobox,\n ComboboxTrigger,\n ComboboxContent,\n ComboboxInput,\n ComboboxList,\n ComboboxEmpty,\n ComboboxGroup,\n ComboboxItem,\n ComboboxSeparator,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["Command","CommandPrimitive"],"sources":["../../../src/primitives/Combobox/Combobox.tsx"],"sourcesContent":["\"use client\";\n\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { Check, ChevronDown, Search } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport {\n Command,\n CommandGroup,\n CommandItem,\n CommandList,\n CommandSeparator,\n} from \"@/primitives/Command\";\nimport { Icon } from \"@/primitives/Icon\";\nimport { inputVariants } from \"@/primitives/Input\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/primitives/Popover\";\nimport { cn } from \"@/utils\";\n\ninterface ComboboxContextValue {\n value: string;\n select: (value: string) => void;\n registerItem: (value: string, label: string) => void;\n labels: ReadonlyMap<string, string>;\n}\n\nconst ComboboxContext = React.createContext<ComboboxContextValue | null>(null);\n\nfunction useComboboxContext(caller: string) {\n const ctx = React.useContext(ComboboxContext);\n if (!ctx) throw new Error(`${caller} must be used within <Combobox>`);\n return ctx;\n}\n\n/** Derive a plain-text label from item children (used for search keywords and the trigger display). */\nfunction textLabel(children: React.ReactNode): string | undefined {\n if (typeof children === \"string\") return children;\n if (typeof children === \"number\") return String(children);\n if (\n Array.isArray(children) &&\n children.every((c) => typeof c === \"string\" || typeof c === \"number\")\n )\n return children.join(\"\");\n return undefined;\n}\n\ninterface ComboboxProps {\n /** Controlled selected value. */\n value?: string;\n /** Initial selected value (uncontrolled). */\n defaultValue?: string;\n /** Called with the item's `value` when a selection is made. */\n onValueChange?: (value: string) => void;\n /** Controlled open state of the dropdown. */\n open?: boolean;\n /** Initially open (uncontrolled). */\n defaultOpen?: boolean;\n /** Called when the dropdown opens or closes. */\n onOpenChange?: (open: boolean) => void;\n /**\n * Forwarded to the underlying Popover root. Required when the combobox\n * renders inside a modal `Dialog`: the dropdown portals outside the dialog,\n * and without `modal` the dialog's scroll lock blocks wheel/trackpad\n * scrolling in the list (scrollbar dragging still works).\n */\n modal?: boolean;\n children?: React.ReactNode;\n}\n\n/**\n * Searchable single-select dropdown (the shadcn \"combobox\" recipe): a Popover\n * holding a filterable Command list. Holds the selected value and open state,\n * and closes on selection. Search state resets automatically on close because\n * the content unmounts.\n */\nfunction Combobox({\n value,\n defaultValue,\n onValueChange,\n open,\n defaultOpen,\n onOpenChange,\n modal,\n children,\n}: Readonly<ComboboxProps>) {\n const [uncontrolledValue, setUncontrolledValue] = React.useState(defaultValue ?? \"\");\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen ?? false);\n const currentValue = value ?? uncontrolledValue;\n const currentOpen = open ?? uncontrolledOpen;\n\n const setOpen = React.useCallback(\n (next: boolean) => {\n setUncontrolledOpen(next);\n onOpenChange?.(next);\n },\n [onOpenChange],\n );\n\n const select = React.useCallback(\n (next: string) => {\n setUncontrolledValue(next);\n onValueChange?.(next);\n setOpen(false);\n },\n [onValueChange, setOpen],\n );\n\n // value → display-label cache fed by mounted items. Labels are kept after the\n // content unmounts (popover close) so the trigger can keep showing them.\n const [labels, setLabels] = React.useState<ReadonlyMap<string, string>>(new Map());\n const registerItem = React.useCallback((itemValue: string, label: string) => {\n setLabels((prev) =>\n prev.get(itemValue) === label ? prev : new Map(prev).set(itemValue, label),\n );\n }, []);\n\n const ctx = React.useMemo(\n () => ({ value: currentValue, select, registerItem, labels }),\n [currentValue, select, registerItem, labels],\n );\n\n return (\n <ComboboxContext.Provider value={ctx}>\n <Popover open={currentOpen} onOpenChange={setOpen} modal={modal}>\n {children}\n </Popover>\n </ComboboxContext.Provider>\n );\n}\n\n// Pill chrome shared with the Header project picker — keeps the lockup consistent.\nconst PILL =\n \"flex min-h-8 items-center gap-1 rounded-12 border border-primary-border bg-input-bg px-3 py-1 text-xs leading-4\";\n\n/**\n * Pill-shaped trigger showing the current selection. With no `children`, it\n * renders the selected item's label (or `placeholder` when nothing is\n * selected); pass `children` to fully control the display — e.g. when the\n * selected label comes from data the items haven't mounted with yet.\n */\nfunction ComboboxTrigger({\n className,\n /** Muted prefix rendered as `label:` before the value (e.g. `Project:`). */\n label,\n /** Muted text shown while nothing is selected. */\n placeholder,\n children,\n ...props\n}: React.ComponentProps<typeof PopoverTrigger> & { label?: string; placeholder?: string }) {\n const { value, labels } = useComboboxContext(\"ComboboxTrigger\");\n const display = children ?? (value ? (labels.get(value) ?? value) : undefined);\n\n return (\n <PopoverTrigger\n data-slot=\"combobox-trigger\"\n className={cn(PILL, \"text-left transition-colors hover:border-focus/60\", className)}\n {...props}\n >\n {label && <span className=\"shrink-0 text-muted-txt\">{label}:</span>}\n <span className={cn(\"min-w-0 truncate\", display != null ? \"font-medium\" : \"text-muted-txt\")}>\n {display ?? placeholder}\n </span>\n <Icon as={ChevronDown} className=\"ml-1 size-4 shrink-0 text-muted-txt\" />\n </PopoverTrigger>\n );\n}\n\n/** The dropdown panel: a Command (filterable list) inside a PopoverContent. */\nfunction ComboboxContent({\n className,\n align = \"start\",\n children,\n filter,\n shouldFilter,\n loop,\n ...props\n}: React.ComponentProps<typeof PopoverContent> &\n Pick<React.ComponentProps<typeof CommandPrimitive>, \"filter\" | \"shouldFilter\" | \"loop\">) {\n return (\n <PopoverContent\n data-slot=\"combobox-content\"\n align={align}\n className={cn(\"w-64 p-0\", className)}\n {...props}\n >\n <Command filter={filter} shouldFilter={shouldFilter} loop={loop} className=\"bg-transparent\">\n {children}\n </Command>\n </PopoverContent>\n );\n}\n\n/** Bordered search field pinned above the list; typing filters the items. */\nfunction ComboboxInput({\n className,\n /** Extra classes for the padded, bottom-bordered section around the field. */\n wrapperClassName,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Input> & { wrapperClassName?: string }) {\n return (\n <div data-slot=\"combobox-input-wrapper\" className={cn(\"border-b p-2\", wrapperClassName)}>\n <div className=\"relative\">\n <Icon\n as={Search}\n className=\"absolute top-1/2 left-2.5 size-3.5 -translate-y-1/2 text-muted-txt\"\n />\n <CommandPrimitive.Input\n data-slot=\"combobox-input\"\n className={cn(inputVariants({ size: \"sm\" }), \"pl-8\", className)}\n {...props}\n />\n </div>\n </div>\n );\n}\n\n/** Scrollable container for the option rows. */\nfunction ComboboxList({ className, ...props }: React.ComponentProps<typeof CommandList>) {\n return (\n <CommandList data-slot=\"combobox-list\" className={cn(\"max-h-64 py-1\", className)} {...props} />\n );\n}\n\n/** Placeholder row shown when the search matches no items. */\nfunction ComboboxEmpty({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Empty>) {\n return (\n <CommandPrimitive.Empty\n data-slot=\"combobox-empty\"\n className={cn(\"px-3 py-2 text-sm text-muted-txt\", className)}\n {...props}\n />\n );\n}\n\n/** A labelled group of related options, with an optional `heading`. */\nfunction ComboboxGroup({ className, ...props }: React.ComponentProps<typeof CommandGroup>) {\n return (\n <CommandGroup\n data-slot=\"combobox-group\"\n className={cn(\"p-0 [&_[cmdk-group-heading]]:px-3\", className)}\n {...props}\n />\n );\n}\n\n/** A thin divider line between option groups. */\nfunction ComboboxSeparator({ className, ...props }: React.ComponentProps<typeof CommandSeparator>) {\n return (\n <CommandSeparator data-slot=\"combobox-separator\" className={cn(\"mx-0\", className)} {...props} />\n );\n}\n\n/**\n * A selectable option. `value` is what the combobox reports on selection;\n * search matches the visible text (or explicit `keywords`), not the `value`.\n */\nfunction ComboboxItem({\n /** The value reported by `onValueChange` when this item is chosen. */\n value,\n /** Extra strings the search should match; defaults to the item's text content. */\n keywords,\n className,\n children,\n onSelect,\n ...props\n}: Omit<React.ComponentProps<typeof CommandItem>, \"value\"> & { value: string }) {\n const ctx = useComboboxContext(\"ComboboxItem\");\n const isSelected = value === ctx.value;\n const label = textLabel(children);\n const { registerItem, select } = ctx;\n\n React.useEffect(() => {\n if (label !== undefined) registerItem(value, label);\n }, [value, label, registerItem]);\n\n return (\n <CommandItem\n data-slot=\"combobox-item\"\n value={value}\n keywords={keywords ?? (label !== undefined ? [label] : undefined)}\n onSelect={(selected) => {\n select(value);\n onSelect?.(selected);\n }}\n className={cn(\n // Header project-picker row: hover/highlight ghost, chosen bg/secondary + medium.\n \"cursor-pointer rounded-none px-3 py-2 hover:bg-ghost-hover-bg active:bg-ghost-hover-bg data-[selected=true]:bg-ghost-hover-bg\",\n isSelected && \"bg-secondary-bg font-medium data-[selected=true]:bg-secondary-bg\",\n className,\n )}\n {...props}\n >\n {children}\n {isSelected && <Icon as={Check} className=\"ml-auto size-3.5 shrink-0 text-primary\" />}\n </CommandItem>\n );\n}\n\nexport {\n Combobox,\n ComboboxTrigger,\n ComboboxContent,\n ComboboxInput,\n ComboboxList,\n ComboboxEmpty,\n ComboboxGroup,\n ComboboxItem,\n ComboboxSeparator,\n};\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as
|
|
2
|
-
export { DropZone, Mosaic, MosaicDirection, MosaicKey, MosaicNode, MosaicParent, MosaicPath, MosaicProps, MosaicWindow, MosaicWindowProps };
|
|
1
|
+
import { a as MosaicWindowProps, c as MosaicInputNode, d as MosaicLeafObject, f as MosaicNode, i as MosaicWindow, l as MosaicInputParent, m as MosaicPath, n as MosaicProps, o as DropZone, p as MosaicParent, r as MosaicToolbarVisibility, s as MosaicDirection, t as Mosaic, u as MosaicKey } from "../../index44.cjs";
|
|
2
|
+
export { DropZone, Mosaic, MosaicDirection, MosaicInputNode, MosaicInputParent, MosaicKey, MosaicLeafObject, MosaicNode, MosaicParent, MosaicPath, MosaicProps, MosaicToolbarVisibility, MosaicWindow, MosaicWindowProps };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as
|
|
2
|
-
export { DropZone, Mosaic, MosaicDirection, MosaicKey, MosaicNode, MosaicParent, MosaicPath, MosaicProps, MosaicWindow, MosaicWindowProps };
|
|
1
|
+
import { a as MosaicWindowProps, c as MosaicInputNode, d as MosaicLeafObject, f as MosaicNode, i as MosaicWindow, l as MosaicInputParent, m as MosaicPath, n as MosaicProps, o as DropZone, p as MosaicParent, r as MosaicToolbarVisibility, s as MosaicDirection, t as Mosaic, u as MosaicKey } from "../../index44.js";
|
|
2
|
+
export { DropZone, Mosaic, MosaicDirection, MosaicInputNode, MosaicInputParent, MosaicKey, MosaicLeafObject, MosaicNode, MosaicParent, MosaicPath, MosaicProps, MosaicToolbarVisibility, MosaicWindow, MosaicWindowProps };
|
|
@@ -41,7 +41,7 @@ import { n as KbdGroup, t as Kbd } from "../index40.cjs";
|
|
|
41
41
|
import { n as LinkProps, r as linkVariants, t as Link } from "../index41.cjs";
|
|
42
42
|
import { n as LogoBrand, r as LogoVariant, t as Logo } from "../index42.cjs";
|
|
43
43
|
import { a as MenubarItem, c as MenubarPortal, d as MenubarSeparator, f as MenubarShortcut, g as MenubarTrigger, h as MenubarSubTrigger, i as MenubarGroup, l as MenubarRadioGroup, m as MenubarSubContent, n as MenubarCheckboxItem, o as MenubarLabel, p as MenubarSub, r as MenubarContent, s as MenubarMenu, t as Menubar, u as MenubarRadioItem } from "../index43.cjs";
|
|
44
|
-
import { a as
|
|
44
|
+
import { a as MosaicWindowProps, c as MosaicInputNode, d as MosaicLeafObject, f as MosaicNode, i as MosaicWindow, l as MosaicInputParent, m as MosaicPath, n as MosaicProps, o as DropZone, p as MosaicParent, r as MosaicToolbarVisibility, s as MosaicDirection, t as Mosaic, u as MosaicKey } from "../index44.cjs";
|
|
45
45
|
import { n as nativeSelectVariants, t as NativeSelect } from "../index45.cjs";
|
|
46
46
|
import { a as NavigationMenuLink, c as NavigationMenuViewport, i as NavigationMenuItem, l as navigationMenuTriggerStyle, n as NavigationMenuContent, o as NavigationMenuList, r as NavigationMenuIndicator, s as NavigationMenuTrigger, t as NavigationMenu } from "../index46.cjs";
|
|
47
47
|
import { a as NavRailMenuContent, c as NavRailMenuTrigger, d as NavRailSeparator, f as NavRailUser, i as NavRailMenu, l as NavRailMenuTriggerProps, n as NavRailItem, o as NavRailMenuItem, p as NavRailUserProps, r as NavRailItemProps, s as NavRailMenuItemProps, t as NavRail, u as NavRailMode } from "../index47.cjs";
|
|
@@ -67,4 +67,4 @@ import { n as textareaVariants, t as Textarea } from "../index67.cjs";
|
|
|
67
67
|
import { a as useTheme, i as ThemeProvider, n as ThemeMode, r as ThemeProduct, t as ThemeContext } from "../index68.cjs";
|
|
68
68
|
import { n as toggleVariants, t as Toggle } from "../index69.cjs";
|
|
69
69
|
import { n as ToggleGroupItem, t as ToggleGroup } from "../index70.cjs";
|
|
70
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertContent, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, ButtonProps, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardProps, CardTitle, Carousel, CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, CheckboxTree, CheckboxTreeNode, CircularProgress, CircularProgressProps, CircularProgressVariant, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxList, ComboboxSeparator, ComboboxTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Credits, CreditsProps, CreditsVariant, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropZone, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FileUpload, FileUploadHandler, FileUploadItem, FileUploadProps, FileUploadStatus, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Heading, HeadingProps, HoverCard, HoverCardContent, HoverCardTrigger, ICON_NAMES, Icon, IconName, IconProps, InfoBanner, InfoBannerProps, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, Link, LinkProps, Logo, LogoBrand, LogoVariant, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Mosaic, MosaicDirection, MosaicKey, MosaicNode, MosaicParent, MosaicPath, MosaicProps, MosaicWindow, MosaicWindowProps, NativeSelect, NavRail, NavRailItem, NavRailItemProps, NavRailMenu, NavRailMenuContent, NavRailMenuItem, NavRailMenuItemProps, NavRailMenuTrigger, NavRailMenuTriggerProps, NavRailMode, NavRailSeparator, NavRailUser, NavRailUserProps, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NotchedCard, NotchedCardProps, NotchedCardVariant, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, RichCheckbox, RichRadioItem, RichSwitchGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SeparatorSpacing, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, SkeletonAvatar, SkeletonLine, SkeletonObject, Slider, Spinner, Switch, SwitchGroup, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsCounter, TabsList, TabsTrigger, Text, TextProps, Textarea, ThemeContext, ThemeMode, ThemeProduct, ThemeProvider, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buildNotchedCardPath, buttonGroupVariants, buttonVariants, cardVariants, creditsVariants, emptyVariants, headingVariants, infoBannerVariants, inputVariants, linkVariants, nativeSelectVariants, navigationMenuTriggerStyle, notchedCardVariants, tabsListVariants, tabsTriggerVariants, textVariants, textareaVariants, toggleVariants, useFormField, useSidebar, useTheme };
|
|
70
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertContent, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, ButtonProps, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardProps, CardTitle, Carousel, CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, CheckboxTree, CheckboxTreeNode, CircularProgress, CircularProgressProps, CircularProgressVariant, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxList, ComboboxSeparator, ComboboxTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Credits, CreditsProps, CreditsVariant, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropZone, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FileUpload, FileUploadHandler, FileUploadItem, FileUploadProps, FileUploadStatus, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Heading, HeadingProps, HoverCard, HoverCardContent, HoverCardTrigger, ICON_NAMES, Icon, IconName, IconProps, InfoBanner, InfoBannerProps, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, Link, LinkProps, Logo, LogoBrand, LogoVariant, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Mosaic, MosaicDirection, MosaicInputNode, MosaicInputParent, MosaicKey, MosaicLeafObject, MosaicNode, MosaicParent, MosaicPath, MosaicProps, MosaicToolbarVisibility, MosaicWindow, MosaicWindowProps, NativeSelect, NavRail, NavRailItem, NavRailItemProps, NavRailMenu, NavRailMenuContent, NavRailMenuItem, NavRailMenuItemProps, NavRailMenuTrigger, NavRailMenuTriggerProps, NavRailMode, NavRailSeparator, NavRailUser, NavRailUserProps, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NotchedCard, NotchedCardProps, NotchedCardVariant, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, RichCheckbox, RichRadioItem, RichSwitchGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SeparatorSpacing, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, SkeletonAvatar, SkeletonLine, SkeletonObject, Slider, Spinner, Switch, SwitchGroup, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsCounter, TabsList, TabsTrigger, Text, TextProps, Textarea, ThemeContext, ThemeMode, ThemeProduct, ThemeProvider, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buildNotchedCardPath, buttonGroupVariants, buttonVariants, cardVariants, creditsVariants, emptyVariants, headingVariants, infoBannerVariants, inputVariants, linkVariants, nativeSelectVariants, navigationMenuTriggerStyle, notchedCardVariants, tabsListVariants, tabsTriggerVariants, textVariants, textareaVariants, toggleVariants, useFormField, useSidebar, useTheme };
|
|
@@ -41,7 +41,7 @@ import { n as KbdGroup, t as Kbd } from "../index40.js";
|
|
|
41
41
|
import { n as LinkProps, r as linkVariants, t as Link } from "../index41.js";
|
|
42
42
|
import { n as LogoBrand, r as LogoVariant, t as Logo } from "../index42.js";
|
|
43
43
|
import { a as MenubarItem, c as MenubarPortal, d as MenubarSeparator, f as MenubarShortcut, g as MenubarTrigger, h as MenubarSubTrigger, i as MenubarGroup, l as MenubarRadioGroup, m as MenubarSubContent, n as MenubarCheckboxItem, o as MenubarLabel, p as MenubarSub, r as MenubarContent, s as MenubarMenu, t as Menubar, u as MenubarRadioItem } from "../index43.js";
|
|
44
|
-
import { a as
|
|
44
|
+
import { a as MosaicWindowProps, c as MosaicInputNode, d as MosaicLeafObject, f as MosaicNode, i as MosaicWindow, l as MosaicInputParent, m as MosaicPath, n as MosaicProps, o as DropZone, p as MosaicParent, r as MosaicToolbarVisibility, s as MosaicDirection, t as Mosaic, u as MosaicKey } from "../index44.js";
|
|
45
45
|
import { n as nativeSelectVariants, t as NativeSelect } from "../index45.js";
|
|
46
46
|
import { a as NavigationMenuLink, c as NavigationMenuViewport, i as NavigationMenuItem, l as navigationMenuTriggerStyle, n as NavigationMenuContent, o as NavigationMenuList, r as NavigationMenuIndicator, s as NavigationMenuTrigger, t as NavigationMenu } from "../index46.js";
|
|
47
47
|
import { a as NavRailMenuContent, c as NavRailMenuTrigger, d as NavRailSeparator, f as NavRailUser, i as NavRailMenu, l as NavRailMenuTriggerProps, n as NavRailItem, o as NavRailMenuItem, p as NavRailUserProps, r as NavRailItemProps, s as NavRailMenuItemProps, t as NavRail, u as NavRailMode } from "../index47.js";
|
|
@@ -67,4 +67,4 @@ import { n as textareaVariants, t as Textarea } from "../index67.js";
|
|
|
67
67
|
import { a as useTheme, i as ThemeProvider, n as ThemeMode, r as ThemeProduct, t as ThemeContext } from "../index68.js";
|
|
68
68
|
import { n as toggleVariants, t as Toggle } from "../index69.js";
|
|
69
69
|
import { n as ToggleGroupItem, t as ToggleGroup } from "../index70.js";
|
|
70
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertContent, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, ButtonProps, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardProps, CardTitle, Carousel, CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, CheckboxTree, CheckboxTreeNode, CircularProgress, CircularProgressProps, CircularProgressVariant, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxList, ComboboxSeparator, ComboboxTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Credits, CreditsProps, CreditsVariant, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropZone, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FileUpload, FileUploadHandler, FileUploadItem, FileUploadProps, FileUploadStatus, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Heading, HeadingProps, HoverCard, HoverCardContent, HoverCardTrigger, ICON_NAMES, Icon, IconName, IconProps, InfoBanner, InfoBannerProps, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, Link, LinkProps, Logo, LogoBrand, LogoVariant, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Mosaic, MosaicDirection, MosaicKey, MosaicNode, MosaicParent, MosaicPath, MosaicProps, MosaicWindow, MosaicWindowProps, NativeSelect, NavRail, NavRailItem, NavRailItemProps, NavRailMenu, NavRailMenuContent, NavRailMenuItem, NavRailMenuItemProps, NavRailMenuTrigger, NavRailMenuTriggerProps, NavRailMode, NavRailSeparator, NavRailUser, NavRailUserProps, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NotchedCard, NotchedCardProps, NotchedCardVariant, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, RichCheckbox, RichRadioItem, RichSwitchGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SeparatorSpacing, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, SkeletonAvatar, SkeletonLine, SkeletonObject, Slider, Spinner, Switch, SwitchGroup, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsCounter, TabsList, TabsTrigger, Text, TextProps, Textarea, ThemeContext, ThemeMode, ThemeProduct, ThemeProvider, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buildNotchedCardPath, buttonGroupVariants, buttonVariants, cardVariants, creditsVariants, emptyVariants, headingVariants, infoBannerVariants, inputVariants, linkVariants, nativeSelectVariants, navigationMenuTriggerStyle, notchedCardVariants, tabsListVariants, tabsTriggerVariants, textVariants, textareaVariants, toggleVariants, useFormField, useSidebar, useTheme };
|
|
70
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertContent, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, ButtonProps, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardProps, CardTitle, Carousel, CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, CheckboxTree, CheckboxTreeNode, CircularProgress, CircularProgressProps, CircularProgressVariant, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxList, ComboboxSeparator, ComboboxTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Credits, CreditsProps, CreditsVariant, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropZone, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FileUpload, FileUploadHandler, FileUploadItem, FileUploadProps, FileUploadStatus, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Heading, HeadingProps, HoverCard, HoverCardContent, HoverCardTrigger, ICON_NAMES, Icon, IconName, IconProps, InfoBanner, InfoBannerProps, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, Link, LinkProps, Logo, LogoBrand, LogoVariant, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Mosaic, MosaicDirection, MosaicInputNode, MosaicInputParent, MosaicKey, MosaicLeafObject, MosaicNode, MosaicParent, MosaicPath, MosaicProps, MosaicToolbarVisibility, MosaicWindow, MosaicWindowProps, NativeSelect, NavRail, NavRailItem, NavRailItemProps, NavRailMenu, NavRailMenuContent, NavRailMenuItem, NavRailMenuItemProps, NavRailMenuTrigger, NavRailMenuTriggerProps, NavRailMode, NavRailSeparator, NavRailUser, NavRailUserProps, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NotchedCard, NotchedCardProps, NotchedCardVariant, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, RichCheckbox, RichRadioItem, RichSwitchGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SeparatorSpacing, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, SkeletonAvatar, SkeletonLine, SkeletonObject, Slider, Spinner, Switch, SwitchGroup, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsCounter, TabsList, TabsTrigger, Text, TextProps, Textarea, ThemeContext, ThemeMode, ThemeProduct, ThemeProvider, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buildNotchedCardPath, buttonGroupVariants, buttonVariants, cardVariants, creditsVariants, emptyVariants, headingVariants, infoBannerVariants, inputVariants, linkVariants, nativeSelectVariants, navigationMenuTriggerStyle, notchedCardVariants, tabsListVariants, tabsTriggerVariants, textVariants, textareaVariants, toggleVariants, useFormField, useSidebar, useTheme };
|