@psnext/design-system 1.1.0 → 1.2.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/README.md +137 -30
- package/dist/Header.cjs +890 -0
- package/dist/Header.cjs.map +1 -0
- package/dist/Header.js +798 -0
- package/dist/Header.js.map +1 -0
- package/dist/Icon.cjs +1969 -0
- package/dist/Icon.cjs.map +1 -0
- package/dist/Icon.js +1956 -0
- package/dist/Icon.js.map +1 -0
- package/dist/{ThemeProvider.cjs → Logo.cjs} +2 -1075
- package/dist/Logo.cjs.map +1 -0
- package/dist/{ThemeProvider.js → Logo.js} +4 -704
- package/dist/Logo.js.map +1 -0
- package/dist/Sidebar.cjs +562 -0
- package/dist/Sidebar.cjs.map +1 -0
- package/dist/Sidebar.js +416 -0
- package/dist/Sidebar.js.map +1 -0
- package/dist/{utils.cjs → chunk.cjs} +0 -39
- package/dist/cn.cjs +15 -0
- package/dist/cn.cjs.map +1 -0
- package/dist/cn.js +10 -0
- package/dist/cn.js.map +1 -0
- package/dist/index.cjs +413 -346
- package/dist/index.d.cts +12 -1996
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +12 -1996
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +71 -5
- package/dist/index10.d.cts +38 -0
- package/dist/index10.d.cts.map +1 -0
- package/dist/index10.d.ts +38 -0
- package/dist/index10.d.ts.map +1 -0
- package/dist/index11.d.cts +30 -0
- package/dist/index11.d.cts.map +1 -0
- package/dist/index11.d.ts +30 -0
- package/dist/index11.d.ts.map +1 -0
- package/dist/index12.d.cts +75 -0
- package/dist/index12.d.cts.map +1 -0
- package/dist/index12.d.ts +75 -0
- package/dist/index12.d.ts.map +1 -0
- package/dist/index13.d.cts +57 -0
- package/dist/index13.d.cts.map +1 -0
- package/dist/index13.d.ts +57 -0
- package/dist/index13.d.ts.map +1 -0
- package/dist/index14.d.cts +98 -0
- package/dist/index14.d.cts.map +1 -0
- package/dist/index14.d.ts +98 -0
- package/dist/index14.d.ts.map +1 -0
- package/dist/index15.d.cts +29 -0
- package/dist/index15.d.cts.map +1 -0
- package/dist/index15.d.ts +29 -0
- package/dist/index15.d.ts.map +1 -0
- package/dist/index16.d.cts +38 -0
- package/dist/index16.d.cts.map +1 -0
- package/dist/index16.d.ts +38 -0
- package/dist/index16.d.ts.map +1 -0
- package/dist/index17.d.cts +19 -0
- package/dist/index17.d.cts.map +1 -0
- package/dist/index17.d.ts +19 -0
- package/dist/index17.d.ts.map +1 -0
- package/dist/index18.d.cts +73 -0
- package/dist/index18.d.cts.map +1 -0
- package/dist/index18.d.ts +73 -0
- package/dist/index18.d.ts.map +1 -0
- package/dist/index19.d.cts +66 -0
- package/dist/index19.d.cts.map +1 -0
- package/dist/index19.d.ts +66 -0
- package/dist/index19.d.ts.map +1 -0
- package/dist/index2.d.cts +44 -4
- package/dist/index2.d.cts.map +1 -0
- package/dist/index2.d.ts +44 -4
- package/dist/index2.d.ts.map +1 -0
- package/dist/index20.d.cts +96 -0
- package/dist/index20.d.cts.map +1 -0
- package/dist/index20.d.ts +96 -0
- package/dist/index20.d.ts.map +1 -0
- package/dist/index21.d.cts +34 -0
- package/dist/index21.d.cts.map +1 -0
- package/dist/index21.d.ts +34 -0
- package/dist/index21.d.ts.map +1 -0
- package/dist/index22.d.cts +62 -0
- package/dist/index22.d.cts.map +1 -0
- package/dist/index22.d.ts +62 -0
- package/dist/index22.d.ts.map +1 -0
- package/dist/index23.d.cts +99 -0
- package/dist/index23.d.cts.map +1 -0
- package/dist/index23.d.ts +99 -0
- package/dist/index23.d.ts.map +1 -0
- package/dist/index24.d.cts +49 -0
- package/dist/index24.d.cts.map +1 -0
- package/dist/index24.d.ts +49 -0
- package/dist/index24.d.ts.map +1 -0
- package/dist/index25.d.cts +17 -0
- package/dist/index25.d.cts.map +1 -0
- package/dist/index25.d.ts +17 -0
- package/dist/index25.d.ts.map +1 -0
- package/dist/index26.d.cts +80 -0
- package/dist/index26.d.cts.map +1 -0
- package/dist/index26.d.ts +80 -0
- package/dist/index26.d.ts.map +1 -0
- package/dist/index27.d.cts +71 -0
- package/dist/index27.d.cts.map +1 -0
- package/dist/index27.d.ts +71 -0
- package/dist/index27.d.ts.map +1 -0
- package/dist/index28.d.cts +37 -0
- package/dist/index28.d.cts.map +1 -0
- package/dist/index28.d.ts +37 -0
- package/dist/index28.d.ts.map +1 -0
- package/dist/index29.d.cts +25 -0
- package/dist/index29.d.cts.map +1 -0
- package/dist/index29.d.ts +25 -0
- package/dist/index29.d.ts.map +1 -0
- package/dist/index3.d.cts +62 -0
- package/dist/index3.d.cts.map +1 -0
- package/dist/index3.d.ts +62 -0
- package/dist/index3.d.ts.map +1 -0
- package/dist/index30.d.cts +59 -0
- package/dist/index30.d.cts.map +1 -0
- package/dist/index30.d.ts +59 -0
- package/dist/index30.d.ts.map +1 -0
- package/dist/index31.d.cts +40 -0
- package/dist/index31.d.cts.map +1 -0
- package/dist/index31.d.ts +40 -0
- package/dist/index31.d.ts.map +1 -0
- package/dist/index32.d.cts +23 -0
- package/dist/index32.d.cts.map +1 -0
- package/dist/index32.d.ts +23 -0
- package/dist/index32.d.ts.map +1 -0
- package/dist/index33.d.cts +55 -0
- package/dist/index33.d.cts.map +1 -0
- package/dist/index33.d.ts +55 -0
- package/dist/index33.d.ts.map +1 -0
- package/dist/index34.d.cts +43 -0
- package/dist/index34.d.cts.map +1 -0
- package/dist/index34.d.ts +43 -0
- package/dist/index34.d.ts.map +1 -0
- package/dist/index35.d.cts +77 -0
- package/dist/index35.d.cts.map +1 -0
- package/dist/index35.d.ts +77 -0
- package/dist/index35.d.ts.map +1 -0
- package/dist/index36.d.cts +19 -0
- package/dist/index36.d.cts.map +1 -0
- package/dist/index36.d.ts +19 -0
- package/dist/index36.d.ts.map +1 -0
- package/dist/index37.d.cts +29 -0
- package/dist/index37.d.cts.map +1 -0
- package/dist/index37.d.ts +29 -0
- package/dist/index37.d.ts.map +1 -0
- package/dist/index38.d.cts +20 -0
- package/dist/index38.d.cts.map +1 -0
- package/dist/index38.d.ts +20 -0
- package/dist/index38.d.ts.map +1 -0
- package/dist/index39.d.cts +105 -0
- package/dist/index39.d.cts.map +1 -0
- package/dist/index39.d.ts +105 -0
- package/dist/index39.d.ts.map +1 -0
- package/dist/index4.d.cts +11 -0
- package/dist/index4.d.cts.map +1 -0
- package/dist/index4.d.ts +11 -0
- package/dist/index4.d.ts.map +1 -0
- package/dist/index40.d.cts +22 -0
- package/dist/index40.d.cts.map +1 -0
- package/dist/index40.d.ts +22 -0
- package/dist/index40.d.ts.map +1 -0
- package/dist/index41.d.cts +56 -0
- package/dist/index41.d.cts.map +1 -0
- package/dist/index41.d.ts +56 -0
- package/dist/index41.d.ts.map +1 -0
- package/dist/index42.d.cts +45 -0
- package/dist/index42.d.cts.map +1 -0
- package/dist/index42.d.ts +45 -0
- package/dist/index42.d.ts.map +1 -0
- package/dist/index43.d.cts +96 -0
- package/dist/index43.d.cts.map +1 -0
- package/dist/index43.d.ts +96 -0
- package/dist/index43.d.ts.map +1 -0
- package/dist/index44.d.cts +48 -0
- package/dist/index44.d.cts.map +1 -0
- package/dist/index44.d.ts +48 -0
- package/dist/index44.d.ts.map +1 -0
- package/dist/index45.d.cts +28 -0
- package/dist/index45.d.cts.map +1 -0
- package/dist/index45.d.ts +28 -0
- package/dist/index45.d.ts.map +1 -0
- package/dist/index46.d.cts +41 -0
- package/dist/index46.d.cts.map +1 -0
- package/dist/index46.d.ts +41 -0
- package/dist/index46.d.ts.map +1 -0
- package/dist/index47.d.cts +25 -0
- package/dist/index47.d.cts.map +1 -0
- package/dist/index47.d.ts +25 -0
- package/dist/index47.d.ts.map +1 -0
- package/dist/index48.d.cts +21 -0
- package/dist/index48.d.cts.map +1 -0
- package/dist/index48.d.ts +21 -0
- package/dist/index48.d.ts.map +1 -0
- package/dist/index49.d.cts +69 -0
- package/dist/index49.d.cts.map +1 -0
- package/dist/index49.d.ts +69 -0
- package/dist/index49.d.ts.map +1 -0
- package/dist/index5.d.cts +45 -0
- package/dist/index5.d.cts.map +1 -0
- package/dist/index5.d.ts +45 -0
- package/dist/index5.d.ts.map +1 -0
- package/dist/index50.d.cts +63 -0
- package/dist/index50.d.cts.map +1 -0
- package/dist/index50.d.ts +63 -0
- package/dist/index50.d.ts.map +1 -0
- package/dist/index51.d.cts +31 -0
- package/dist/index51.d.cts.map +1 -0
- package/dist/index51.d.ts +31 -0
- package/dist/index51.d.ts.map +1 -0
- package/dist/index52.d.cts +209 -0
- package/dist/index52.d.cts.map +1 -0
- package/dist/index52.d.ts +209 -0
- package/dist/index52.d.ts.map +1 -0
- package/dist/index53.d.cts +26 -0
- package/dist/index53.d.cts.map +1 -0
- package/dist/index53.d.ts +26 -0
- package/dist/index53.d.ts.map +1 -0
- package/dist/index54.d.cts +28 -0
- package/dist/index54.d.cts.map +1 -0
- package/dist/index54.d.ts +28 -0
- package/dist/index54.d.ts.map +1 -0
- package/dist/index55.d.cts +25 -0
- package/dist/index55.d.cts.map +1 -0
- package/dist/index55.d.ts +25 -0
- package/dist/index55.d.ts.map +1 -0
- package/dist/index56.d.cts +12 -0
- package/dist/index56.d.cts.map +1 -0
- package/dist/index56.d.ts +12 -0
- package/dist/index56.d.ts.map +1 -0
- package/dist/index57.d.cts +50 -0
- package/dist/index57.d.cts.map +1 -0
- package/dist/index57.d.ts +50 -0
- package/dist/index57.d.ts.map +1 -0
- package/dist/index58.d.cts +51 -0
- package/dist/index58.d.cts.map +1 -0
- package/dist/index58.d.ts +51 -0
- package/dist/index58.d.ts.map +1 -0
- package/dist/index59.d.cts +58 -0
- package/dist/index59.d.cts.map +1 -0
- package/dist/index59.d.ts +58 -0
- package/dist/index59.d.ts.map +1 -0
- package/dist/index6.d.cts +26 -0
- package/dist/index6.d.cts.map +1 -0
- package/dist/index6.d.ts +26 -0
- package/dist/index6.d.ts.map +1 -0
- package/dist/index60.d.cts +45 -0
- package/dist/index60.d.cts.map +1 -0
- package/dist/index60.d.ts +45 -0
- package/dist/index60.d.ts.map +1 -0
- package/dist/index61.d.cts +21 -0
- package/dist/index61.d.cts.map +1 -0
- package/dist/index61.d.ts +21 -0
- package/dist/index61.d.ts.map +1 -0
- package/dist/index62.d.cts +45 -0
- package/dist/index62.d.cts.map +1 -0
- package/dist/index62.d.ts +45 -0
- package/dist/index62.d.ts.map +1 -0
- package/dist/index63.d.cts +23 -0
- package/dist/index63.d.cts.map +1 -0
- package/dist/index63.d.ts +23 -0
- package/dist/index63.d.ts.map +1 -0
- package/dist/index64.d.cts +48 -0
- package/dist/index64.d.cts.map +1 -0
- package/dist/index64.d.ts +48 -0
- package/dist/index64.d.ts.map +1 -0
- package/dist/index65.d.cts +25 -0
- package/dist/index65.d.cts.map +1 -0
- package/dist/index65.d.ts +25 -0
- package/dist/index65.d.ts.map +1 -0
- package/dist/index66.d.cts +19 -0
- package/dist/index66.d.cts.map +1 -0
- package/dist/index66.d.ts +19 -0
- package/dist/index66.d.ts.map +1 -0
- package/dist/index67.d.cts +37 -0
- package/dist/index67.d.cts.map +1 -0
- package/dist/index67.d.ts +37 -0
- package/dist/index67.d.ts.map +1 -0
- package/dist/index68.d.cts +36 -0
- package/dist/index68.d.cts.map +1 -0
- package/dist/index68.d.ts +36 -0
- package/dist/index68.d.ts.map +1 -0
- package/dist/index69.d.cts +69 -0
- package/dist/index69.d.ts +69 -0
- package/dist/index7.d.cts +46 -0
- package/dist/index7.d.cts.map +1 -0
- package/dist/index7.d.ts +46 -0
- package/dist/index7.d.ts.map +1 -0
- package/dist/index70.d.cts +242 -0
- package/dist/index70.d.cts.map +1 -0
- package/dist/index70.d.ts +242 -0
- package/dist/index70.d.ts.map +1 -0
- package/dist/index8.d.cts +26 -0
- package/dist/index8.d.cts.map +1 -0
- package/dist/index8.d.ts +26 -0
- package/dist/index8.d.ts.map +1 -0
- package/dist/index9.d.cts +20 -0
- package/dist/index9.d.cts.map +1 -0
- package/dist/index9.d.ts +20 -0
- package/dist/index9.d.ts.map +1 -0
- package/dist/layouts/Container/index.cjs +39 -0
- package/dist/layouts/Container/index.cjs.map +1 -0
- package/dist/layouts/Container/index.d.cts +2 -0
- package/dist/layouts/Container/index.d.ts +2 -0
- package/dist/layouts/Container/index.js +38 -0
- package/dist/layouts/Container/index.js.map +1 -0
- package/dist/layouts/PageBackground/index.cjs +22 -0
- package/dist/layouts/PageBackground/index.cjs.map +1 -0
- package/dist/layouts/PageBackground/index.d.cts +2 -0
- package/dist/layouts/PageBackground/index.d.ts +2 -0
- package/dist/layouts/PageBackground/index.js +21 -0
- package/dist/layouts/PageBackground/index.js.map +1 -0
- package/dist/{Stack.cjs → layouts/Stack/index.cjs} +7 -15
- package/dist/layouts/Stack/index.cjs.map +1 -0
- package/dist/layouts/Stack/index.d.cts +2 -0
- package/dist/layouts/Stack/index.d.ts +2 -0
- package/dist/{Stack.js → layouts/Stack/index.js} +4 -3
- package/dist/layouts/Stack/index.js.map +1 -0
- package/dist/layouts/TwoColumn/index.cjs +51 -0
- package/dist/layouts/TwoColumn/index.cjs.map +1 -0
- package/dist/layouts/TwoColumn/index.d.cts +2 -0
- package/dist/layouts/TwoColumn/index.d.ts +2 -0
- package/dist/layouts/TwoColumn/index.js +48 -0
- package/dist/layouts/TwoColumn/index.js.map +1 -0
- package/dist/layouts/index.cjs +13 -100
- package/dist/layouts/index.d.cts +5 -76
- package/dist/layouts/index.d.ts +5 -76
- package/dist/layouts/index.js +4 -91
- package/dist/patterns/DataTable/index.cjs +114 -0
- package/dist/patterns/DataTable/index.cjs.map +1 -0
- package/dist/patterns/DataTable/index.d.cts +43 -0
- package/dist/patterns/DataTable/index.d.cts.map +1 -0
- package/dist/patterns/DataTable/index.d.ts +43 -0
- package/dist/patterns/DataTable/index.d.ts.map +1 -0
- package/dist/patterns/DataTable/index.js +110 -0
- package/dist/patterns/DataTable/index.js.map +1 -0
- package/dist/patterns/Footer/index.cjs +76 -0
- package/dist/patterns/Footer/index.cjs.map +1 -0
- package/dist/patterns/Footer/index.d.cts +54 -0
- package/dist/patterns/Footer/index.d.cts.map +1 -0
- package/dist/patterns/Footer/index.d.ts +54 -0
- package/dist/patterns/Footer/index.d.ts.map +1 -0
- package/dist/patterns/Footer/index.js +70 -0
- package/dist/patterns/Footer/index.js.map +1 -0
- package/dist/patterns/Header/index.cjs +17 -0
- package/dist/patterns/Header/index.d.cts +2 -0
- package/dist/patterns/Header/index.d.ts +2 -0
- package/dist/patterns/Header/index.js +2 -0
- package/dist/patterns/MediaObject/index.cjs +108 -0
- package/dist/patterns/MediaObject/index.cjs.map +1 -0
- package/dist/patterns/MediaObject/index.d.cts +71 -0
- package/dist/patterns/MediaObject/index.d.cts.map +1 -0
- package/dist/patterns/MediaObject/index.d.ts +71 -0
- package/dist/patterns/MediaObject/index.d.ts.map +1 -0
- package/dist/patterns/MediaObject/index.js +99 -0
- package/dist/patterns/MediaObject/index.js.map +1 -0
- package/dist/patterns/SectionCard/index.cjs +35 -0
- package/dist/patterns/SectionCard/index.cjs.map +1 -0
- package/dist/patterns/SectionCard/index.d.cts +21 -0
- package/dist/patterns/SectionCard/index.d.cts.map +1 -0
- package/dist/patterns/SectionCard/index.d.ts +21 -0
- package/dist/patterns/SectionCard/index.d.ts.map +1 -0
- package/dist/patterns/SectionCard/index.js +34 -0
- package/dist/patterns/SectionCard/index.js.map +1 -0
- package/dist/patterns/SectionHeading/index.cjs +44 -0
- package/dist/patterns/SectionHeading/index.cjs.map +1 -0
- package/dist/patterns/SectionHeading/index.d.cts +37 -0
- package/dist/patterns/SectionHeading/index.d.cts.map +1 -0
- package/dist/patterns/SectionHeading/index.d.ts +37 -0
- package/dist/patterns/SectionHeading/index.d.ts.map +1 -0
- package/dist/patterns/SectionHeading/index.js +43 -0
- package/dist/patterns/SectionHeading/index.js.map +1 -0
- package/dist/patterns/index.cjs +40 -1124
- package/dist/patterns/index.d.cts +7 -410
- package/dist/patterns/index.d.ts +7 -410
- package/dist/patterns/index.js +6 -1088
- package/dist/primitives/Accordion/index.cjs +54 -0
- package/dist/primitives/Accordion/index.cjs.map +1 -0
- package/dist/primitives/Accordion/index.d.cts +2 -0
- package/dist/primitives/Accordion/index.d.ts +2 -0
- package/dist/primitives/Accordion/index.js +50 -0
- package/dist/primitives/Accordion/index.js.map +1 -0
- package/dist/primitives/Alert/index.cjs +61 -0
- package/dist/primitives/Alert/index.cjs.map +1 -0
- package/dist/primitives/Alert/index.d.cts +2 -0
- package/dist/primitives/Alert/index.d.ts +2 -0
- package/dist/primitives/Alert/index.js +57 -0
- package/dist/primitives/Alert/index.js.map +1 -0
- package/dist/primitives/AlertDialog/index.cjs +102 -0
- package/dist/primitives/AlertDialog/index.cjs.map +1 -0
- package/dist/primitives/AlertDialog/index.d.cts +2 -0
- package/dist/primitives/AlertDialog/index.d.ts +2 -0
- package/dist/primitives/AlertDialog/index.js +90 -0
- package/dist/primitives/AlertDialog/index.js.map +1 -0
- package/dist/primitives/AspectRatio/index.cjs +15 -0
- package/dist/primitives/AspectRatio/index.cjs.map +1 -0
- package/dist/primitives/AspectRatio/index.d.cts +2 -0
- package/dist/primitives/AspectRatio/index.d.ts +2 -0
- package/dist/primitives/AspectRatio/index.js +14 -0
- package/dist/primitives/AspectRatio/index.js.map +1 -0
- package/dist/primitives/Avatar/index.cjs +64 -0
- package/dist/primitives/Avatar/index.cjs.map +1 -0
- package/dist/primitives/Avatar/index.d.cts +2 -0
- package/dist/primitives/Avatar/index.d.ts +2 -0
- package/dist/primitives/Avatar/index.js +58 -0
- package/dist/primitives/Avatar/index.js.map +1 -0
- package/dist/primitives/Badge/index.cjs +44 -0
- package/dist/primitives/Badge/index.cjs.map +1 -0
- package/dist/primitives/Badge/index.d.cts +2 -0
- package/dist/primitives/Badge/index.d.ts +2 -0
- package/dist/primitives/Badge/index.js +43 -0
- package/dist/primitives/Badge/index.js.map +1 -0
- package/dist/primitives/Breadcrumb/index.cjs +82 -0
- package/dist/primitives/Breadcrumb/index.cjs.map +1 -0
- package/dist/primitives/Breadcrumb/index.d.cts +2 -0
- package/dist/primitives/Breadcrumb/index.d.ts +2 -0
- package/dist/primitives/Breadcrumb/index.js +75 -0
- package/dist/primitives/Breadcrumb/index.js.map +1 -0
- package/dist/primitives/Button/index.cjs +61 -0
- package/dist/primitives/Button/index.cjs.map +1 -0
- package/dist/primitives/Button/index.d.cts +2 -0
- package/dist/primitives/Button/index.d.ts +2 -0
- package/dist/primitives/Button/index.js +60 -0
- package/dist/primitives/Button/index.js.map +1 -0
- package/dist/primitives/ButtonGroup/index.cjs +46 -0
- package/dist/primitives/ButtonGroup/index.cjs.map +1 -0
- package/dist/primitives/ButtonGroup/index.d.cts +2 -0
- package/dist/primitives/ButtonGroup/index.d.ts +2 -0
- package/dist/primitives/ButtonGroup/index.js +43 -0
- package/dist/primitives/ButtonGroup/index.js.map +1 -0
- package/dist/primitives/Calendar/index.cjs +112 -0
- package/dist/primitives/Calendar/index.cjs.map +1 -0
- package/dist/primitives/Calendar/index.d.cts +2 -0
- package/dist/primitives/Calendar/index.d.ts +2 -0
- package/dist/primitives/Calendar/index.js +108 -0
- package/dist/primitives/Calendar/index.js.map +1 -0
- package/dist/primitives/Card/index.cjs +128 -0
- package/dist/primitives/Card/index.cjs.map +1 -0
- package/dist/primitives/Card/index.d.cts +2 -0
- package/dist/primitives/Card/index.d.ts +2 -0
- package/dist/primitives/Card/index.js +121 -0
- package/dist/primitives/Card/index.js.map +1 -0
- package/dist/primitives/Carousel/index.cjs +146 -0
- package/dist/primitives/Carousel/index.cjs.map +1 -0
- package/dist/primitives/Carousel/index.d.cts +2 -0
- package/dist/primitives/Carousel/index.d.ts +2 -0
- package/dist/primitives/Carousel/index.js +138 -0
- package/dist/primitives/Carousel/index.js.map +1 -0
- package/dist/primitives/Chart/index.cjs +162 -0
- package/dist/primitives/Chart/index.cjs.map +1 -0
- package/dist/primitives/Chart/index.d.cts +2 -0
- package/dist/primitives/Chart/index.d.ts +2 -0
- package/dist/primitives/Chart/index.js +153 -0
- package/dist/primitives/Chart/index.js.map +1 -0
- package/dist/primitives/Checkbox/index.cjs +53 -0
- package/dist/primitives/Checkbox/index.cjs.map +1 -0
- package/dist/primitives/Checkbox/index.d.cts +2 -0
- package/dist/primitives/Checkbox/index.d.ts +2 -0
- package/dist/primitives/Checkbox/index.js +51 -0
- package/dist/primitives/Checkbox/index.js.map +1 -0
- package/dist/primitives/CheckboxTree/index.cjs +106 -0
- package/dist/primitives/CheckboxTree/index.cjs.map +1 -0
- package/dist/primitives/CheckboxTree/index.d.cts +2 -0
- package/dist/primitives/CheckboxTree/index.d.ts +2 -0
- package/dist/primitives/CheckboxTree/index.js +103 -0
- package/dist/primitives/CheckboxTree/index.js.map +1 -0
- package/dist/primitives/Collapsible/index.cjs +31 -0
- package/dist/primitives/Collapsible/index.cjs.map +1 -0
- package/dist/primitives/Collapsible/index.d.cts +2 -0
- package/dist/primitives/Collapsible/index.d.ts +2 -0
- package/dist/primitives/Collapsible/index.js +28 -0
- package/dist/primitives/Collapsible/index.js.map +1 -0
- package/dist/primitives/Command/index.cjs +104 -0
- package/dist/primitives/Command/index.cjs.map +1 -0
- package/dist/primitives/Command/index.d.cts +2 -0
- package/dist/primitives/Command/index.d.ts +2 -0
- package/dist/primitives/Command/index.js +95 -0
- package/dist/primitives/Command/index.js.map +1 -0
- package/dist/primitives/ContextMenu/index.cjs +152 -0
- package/dist/primitives/ContextMenu/index.cjs.map +1 -0
- package/dist/primitives/ContextMenu/index.d.cts +2 -0
- package/dist/primitives/ContextMenu/index.d.ts +2 -0
- package/dist/primitives/ContextMenu/index.js +137 -0
- package/dist/primitives/ContextMenu/index.js.map +1 -0
- package/dist/primitives/Credits/index.cjs +39 -0
- package/dist/primitives/Credits/index.cjs.map +1 -0
- package/dist/primitives/Credits/index.d.cts +2 -0
- package/dist/primitives/Credits/index.d.ts +2 -0
- package/dist/primitives/Credits/index.js +38 -0
- package/dist/primitives/Credits/index.js.map +1 -0
- package/dist/primitives/Dialog/index.cjs +121 -0
- package/dist/primitives/Dialog/index.cjs.map +1 -0
- package/dist/primitives/Dialog/index.d.cts +2 -0
- package/dist/primitives/Dialog/index.d.ts +2 -0
- package/dist/primitives/Dialog/index.js +111 -0
- package/dist/primitives/Dialog/index.js.map +1 -0
- package/dist/primitives/Drawer/index.cjs +98 -0
- package/dist/primitives/Drawer/index.cjs.map +1 -0
- package/dist/primitives/Drawer/index.d.cts +2 -0
- package/dist/primitives/Drawer/index.d.ts +2 -0
- package/dist/primitives/Drawer/index.js +88 -0
- package/dist/primitives/Drawer/index.js.map +1 -0
- package/dist/primitives/DropdownMenu/index.cjs +153 -0
- package/dist/primitives/DropdownMenu/index.cjs.map +1 -0
- package/dist/primitives/DropdownMenu/index.d.cts +2 -0
- package/dist/primitives/DropdownMenu/index.d.ts +2 -0
- package/dist/primitives/DropdownMenu/index.js +138 -0
- package/dist/primitives/DropdownMenu/index.js.map +1 -0
- package/dist/primitives/Empty/index.cjs +84 -0
- package/dist/primitives/Empty/index.cjs.map +1 -0
- package/dist/primitives/Empty/index.d.cts +2 -0
- package/dist/primitives/Empty/index.d.ts +2 -0
- package/dist/primitives/Empty/index.js +77 -0
- package/dist/primitives/Empty/index.js.map +1 -0
- package/dist/primitives/Field/index.cjs +139 -0
- package/dist/primitives/Field/index.cjs.map +1 -0
- package/dist/primitives/Field/index.d.cts +2 -0
- package/dist/primitives/Field/index.d.ts +2 -0
- package/dist/primitives/Field/index.js +129 -0
- package/dist/primitives/Field/index.js.map +1 -0
- package/dist/primitives/Form/index.cjs +104 -0
- package/dist/primitives/Form/index.cjs.map +1 -0
- package/dist/primitives/Form/index.d.cts +2 -0
- package/dist/primitives/Form/index.d.ts +2 -0
- package/dist/primitives/Form/index.js +94 -0
- package/dist/primitives/Form/index.js.map +1 -0
- package/dist/primitives/Heading/index.cjs +53 -0
- package/dist/primitives/Heading/index.cjs.map +1 -0
- package/dist/primitives/Heading/index.d.cts +2 -0
- package/dist/primitives/Heading/index.d.ts +2 -0
- package/dist/primitives/Heading/index.js +52 -0
- package/dist/primitives/Heading/index.js.map +1 -0
- package/dist/primitives/HoverCard/index.cjs +38 -0
- package/dist/primitives/HoverCard/index.cjs.map +1 -0
- package/dist/primitives/HoverCard/index.d.cts +2 -0
- package/dist/primitives/HoverCard/index.d.ts +2 -0
- package/dist/primitives/HoverCard/index.js +35 -0
- package/dist/primitives/HoverCard/index.js.map +1 -0
- package/dist/primitives/Icon/index.cjs +4 -0
- package/dist/primitives/Icon/index.d.cts +2 -0
- package/dist/primitives/Icon/index.d.ts +2 -0
- package/dist/primitives/Icon/index.js +2 -0
- package/dist/primitives/InfoBanner/index.cjs +79 -0
- package/dist/primitives/InfoBanner/index.cjs.map +1 -0
- package/dist/primitives/InfoBanner/index.d.cts +2 -0
- package/dist/primitives/InfoBanner/index.d.ts +2 -0
- package/dist/primitives/InfoBanner/index.js +78 -0
- package/dist/primitives/InfoBanner/index.js.map +1 -0
- package/dist/primitives/Input/index.cjs +39 -0
- package/dist/primitives/Input/index.cjs.map +1 -0
- package/dist/primitives/Input/index.d.cts +2 -0
- package/dist/primitives/Input/index.d.ts +2 -0
- package/dist/primitives/Input/index.js +38 -0
- package/dist/primitives/Input/index.js.map +1 -0
- package/dist/primitives/InputGroup/index.cjs +91 -0
- package/dist/primitives/InputGroup/index.cjs.map +1 -0
- package/dist/primitives/InputGroup/index.d.cts +2 -0
- package/dist/primitives/InputGroup/index.d.ts +2 -0
- package/dist/primitives/InputGroup/index.js +85 -0
- package/dist/primitives/InputGroup/index.js.map +1 -0
- package/dist/primitives/InputOtp/index.cjs +80 -0
- package/dist/primitives/InputOtp/index.cjs.map +1 -0
- package/dist/primitives/InputOtp/index.d.cts +2 -0
- package/dist/primitives/InputOtp/index.d.ts +2 -0
- package/dist/primitives/InputOtp/index.js +74 -0
- package/dist/primitives/InputOtp/index.js.map +1 -0
- package/dist/primitives/Item/index.cjs +137 -0
- package/dist/primitives/Item/index.cjs.map +1 -0
- package/dist/primitives/Item/index.d.cts +2 -0
- package/dist/primitives/Item/index.d.ts +2 -0
- package/dist/primitives/Item/index.js +127 -0
- package/dist/primitives/Item/index.js.map +1 -0
- package/dist/primitives/Kbd/index.cjs +25 -0
- package/dist/primitives/Kbd/index.cjs.map +1 -0
- package/dist/primitives/Kbd/index.d.cts +2 -0
- package/dist/primitives/Kbd/index.d.ts +2 -0
- package/dist/primitives/Kbd/index.js +23 -0
- package/dist/primitives/Kbd/index.js.map +1 -0
- package/dist/primitives/Label/index.cjs +18 -0
- package/dist/primitives/Label/index.cjs.map +1 -0
- package/dist/primitives/Label/index.d.cts +2 -0
- package/dist/primitives/Label/index.d.ts +2 -0
- package/dist/primitives/Label/index.js +17 -0
- package/dist/primitives/Label/index.js.map +1 -0
- package/dist/primitives/Link/index.cjs +38 -0
- package/dist/primitives/Link/index.cjs.map +1 -0
- package/dist/primitives/Link/index.d.cts +2 -0
- package/dist/primitives/Link/index.d.ts +2 -0
- package/dist/primitives/Link/index.js +37 -0
- package/dist/primitives/Link/index.js.map +1 -0
- package/dist/primitives/Logo/index.cjs +3 -0
- package/dist/primitives/Logo/index.d.cts +2 -0
- package/dist/primitives/Logo/index.d.ts +2 -0
- package/dist/primitives/Logo/index.js +2 -0
- package/dist/primitives/Menubar/index.cjs +165 -0
- package/dist/primitives/Menubar/index.cjs.map +1 -0
- package/dist/primitives/Menubar/index.d.cts +2 -0
- package/dist/primitives/Menubar/index.d.ts +2 -0
- package/dist/primitives/Menubar/index.js +149 -0
- package/dist/primitives/Menubar/index.js.map +1 -0
- package/dist/primitives/NativeSelect/index.cjs +40 -0
- package/dist/primitives/NativeSelect/index.cjs.map +1 -0
- package/dist/primitives/NativeSelect/index.d.cts +2 -0
- package/dist/primitives/NativeSelect/index.d.ts +2 -0
- package/dist/primitives/NativeSelect/index.js +39 -0
- package/dist/primitives/NativeSelect/index.js.map +1 -0
- package/dist/primitives/NavRail/index.cjs +195 -0
- package/dist/primitives/NavRail/index.cjs.map +1 -0
- package/dist/primitives/NavRail/index.d.cts +2 -0
- package/dist/primitives/NavRail/index.d.ts +2 -0
- package/dist/primitives/NavRail/index.js +185 -0
- package/dist/primitives/NavRail/index.js.map +1 -0
- package/dist/primitives/NavigationMenu/index.cjs +98 -0
- package/dist/primitives/NavigationMenu/index.cjs.map +1 -0
- package/dist/primitives/NavigationMenu/index.d.cts +2 -0
- package/dist/primitives/NavigationMenu/index.d.ts +2 -0
- package/dist/primitives/NavigationMenu/index.js +89 -0
- package/dist/primitives/NavigationMenu/index.js.map +1 -0
- package/dist/primitives/Pagination/index.cjs +93 -0
- package/dist/primitives/Pagination/index.cjs.map +1 -0
- package/dist/primitives/Pagination/index.d.cts +2 -0
- package/dist/primitives/Pagination/index.d.ts +2 -0
- package/dist/primitives/Pagination/index.js +86 -0
- package/dist/primitives/Pagination/index.js.map +1 -0
- package/dist/primitives/Popover/index.cjs +70 -0
- package/dist/primitives/Popover/index.cjs.map +1 -0
- package/dist/primitives/Popover/index.d.cts +2 -0
- package/dist/primitives/Popover/index.d.ts +2 -0
- package/dist/primitives/Popover/index.js +63 -0
- package/dist/primitives/Popover/index.js.map +1 -0
- package/dist/primitives/Progress/index.cjs +44 -0
- package/dist/primitives/Progress/index.cjs.map +1 -0
- package/dist/primitives/Progress/index.d.cts +2 -0
- package/dist/primitives/Progress/index.d.ts +2 -0
- package/dist/primitives/Progress/index.js +43 -0
- package/dist/primitives/Progress/index.js.map +1 -0
- package/dist/primitives/RadioGroup/index.cjs +65 -0
- package/dist/primitives/RadioGroup/index.cjs.map +1 -0
- package/dist/primitives/RadioGroup/index.d.cts +2 -0
- package/dist/primitives/RadioGroup/index.d.ts +2 -0
- package/dist/primitives/RadioGroup/index.js +62 -0
- package/dist/primitives/RadioGroup/index.js.map +1 -0
- package/dist/primitives/Resizable/index.cjs +41 -0
- package/dist/primitives/Resizable/index.cjs.map +1 -0
- package/dist/primitives/Resizable/index.d.cts +2 -0
- package/dist/primitives/Resizable/index.d.ts +2 -0
- package/dist/primitives/Resizable/index.js +36 -0
- package/dist/primitives/Resizable/index.js.map +1 -0
- package/dist/primitives/ScrollArea/index.cjs +40 -0
- package/dist/primitives/ScrollArea/index.cjs.map +1 -0
- package/dist/primitives/ScrollArea/index.d.cts +2 -0
- package/dist/primitives/ScrollArea/index.d.ts +2 -0
- package/dist/primitives/ScrollArea/index.js +38 -0
- package/dist/primitives/ScrollArea/index.js.map +1 -0
- package/dist/primitives/Select/index.cjs +126 -0
- package/dist/primitives/Select/index.cjs.map +1 -0
- package/dist/primitives/Select/index.d.cts +2 -0
- package/dist/primitives/Select/index.d.ts +2 -0
- package/dist/primitives/Select/index.js +116 -0
- package/dist/primitives/Select/index.js.map +1 -0
- package/dist/primitives/Separator/index.cjs +25 -0
- package/dist/primitives/Separator/index.cjs.map +1 -0
- package/dist/primitives/Separator/index.d.cts +2 -0
- package/dist/primitives/Separator/index.d.ts +2 -0
- package/dist/primitives/Separator/index.js +24 -0
- package/dist/primitives/Separator/index.js.map +1 -0
- package/dist/primitives/Sheet/index.cjs +107 -0
- package/dist/primitives/Sheet/index.cjs.map +1 -0
- package/dist/primitives/Sheet/index.d.cts +2 -0
- package/dist/primitives/Sheet/index.d.ts +2 -0
- package/dist/primitives/Sheet/index.js +99 -0
- package/dist/primitives/Sheet/index.js.map +1 -0
- package/dist/primitives/Sidebar/index.cjs +26 -0
- package/dist/primitives/Sidebar/index.d.cts +2 -0
- package/dist/primitives/Sidebar/index.d.ts +2 -0
- package/dist/primitives/Sidebar/index.js +2 -0
- package/dist/primitives/Skeleton/index.cjs +43 -0
- package/dist/primitives/Skeleton/index.cjs.map +1 -0
- package/dist/primitives/Skeleton/index.d.cts +2 -0
- package/dist/primitives/Skeleton/index.d.ts +2 -0
- package/dist/primitives/Skeleton/index.js +39 -0
- package/dist/primitives/Skeleton/index.js.map +1 -0
- package/dist/primitives/Slider/index.cjs +46 -0
- package/dist/primitives/Slider/index.cjs.map +1 -0
- package/dist/primitives/Slider/index.d.cts +2 -0
- package/dist/primitives/Slider/index.d.ts +2 -0
- package/dist/primitives/Slider/index.js +43 -0
- package/dist/primitives/Slider/index.js.map +1 -0
- package/dist/primitives/Sonner/index.cjs +42 -0
- package/dist/primitives/Sonner/index.cjs.map +1 -0
- package/dist/primitives/Sonner/index.d.cts +2 -0
- package/dist/primitives/Sonner/index.d.ts +2 -0
- package/dist/primitives/Sonner/index.js +41 -0
- package/dist/primitives/Sonner/index.js.map +1 -0
- package/dist/primitives/Spinner/index.cjs +19 -0
- package/dist/primitives/Spinner/index.cjs.map +1 -0
- package/dist/primitives/Spinner/index.d.cts +2 -0
- package/dist/primitives/Spinner/index.d.ts +2 -0
- package/dist/primitives/Spinner/index.js +18 -0
- package/dist/primitives/Spinner/index.js.map +1 -0
- package/dist/primitives/Switch/index.cjs +71 -0
- package/dist/primitives/Switch/index.cjs.map +1 -0
- package/dist/primitives/Switch/index.d.cts +2 -0
- package/dist/primitives/Switch/index.d.ts +2 -0
- package/dist/primitives/Switch/index.js +68 -0
- package/dist/primitives/Switch/index.js.map +1 -0
- package/dist/primitives/Table/index.cjs +84 -0
- package/dist/primitives/Table/index.cjs.map +1 -0
- package/dist/primitives/Table/index.d.cts +2 -0
- package/dist/primitives/Table/index.d.ts +2 -0
- package/dist/primitives/Table/index.js +76 -0
- package/dist/primitives/Table/index.js.map +1 -0
- package/dist/primitives/Tabs/index.cjs +267 -0
- package/dist/primitives/Tabs/index.cjs.map +1 -0
- package/dist/primitives/Tabs/index.d.cts +2 -0
- package/dist/primitives/Tabs/index.d.ts +2 -0
- package/dist/primitives/Tabs/index.js +258 -0
- package/dist/primitives/Tabs/index.js.map +1 -0
- package/dist/primitives/Text/index.cjs +64 -0
- package/dist/primitives/Text/index.cjs.map +1 -0
- package/dist/primitives/Text/index.d.cts +2 -0
- package/dist/primitives/Text/index.d.ts +2 -0
- package/dist/primitives/Text/index.js +63 -0
- package/dist/primitives/Text/index.js.map +1 -0
- package/dist/primitives/Textarea/index.cjs +24 -0
- package/dist/primitives/Textarea/index.cjs.map +1 -0
- package/dist/primitives/Textarea/index.d.cts +2 -0
- package/dist/primitives/Textarea/index.d.ts +2 -0
- package/dist/primitives/Textarea/index.js +23 -0
- package/dist/primitives/Textarea/index.js.map +1 -0
- package/dist/primitives/ThemeProvider/index.cjs +93 -0
- package/dist/primitives/ThemeProvider/index.cjs.map +1 -0
- package/dist/primitives/ThemeProvider/index.d.cts +2 -0
- package/dist/primitives/ThemeProvider/index.d.ts +2 -0
- package/dist/primitives/ThemeProvider/index.js +88 -0
- package/dist/primitives/ThemeProvider/index.js.map +1 -0
- package/dist/primitives/Toggle/index.cjs +59 -0
- package/dist/primitives/Toggle/index.cjs.map +1 -0
- package/dist/primitives/Toggle/index.d.cts +2 -0
- package/dist/primitives/Toggle/index.d.ts +2 -0
- package/dist/primitives/Toggle/index.js +58 -0
- package/dist/primitives/Toggle/index.js.map +1 -0
- package/dist/primitives/ToggleGroup/index.cjs +65 -0
- package/dist/primitives/ToggleGroup/index.cjs.map +1 -0
- package/dist/primitives/ToggleGroup/index.d.cts +2 -0
- package/dist/primitives/ToggleGroup/index.d.ts +2 -0
- package/dist/primitives/ToggleGroup/index.js +61 -0
- package/dist/primitives/ToggleGroup/index.js.map +1 -0
- package/dist/primitives/Tooltip/index.cjs +47 -0
- package/dist/primitives/Tooltip/index.cjs.map +1 -0
- package/dist/primitives/Tooltip/index.d.cts +2 -0
- package/dist/primitives/Tooltip/index.d.ts +2 -0
- package/dist/primitives/Tooltip/index.js +43 -0
- package/dist/primitives/Tooltip/index.js.map +1 -0
- package/dist/primitives/index.cjs +398 -335
- package/dist/primitives/index.d.cts +65 -3
- package/dist/primitives/index.d.ts +65 -3
- package/dist/primitives/index.js +65 -3
- package/dist/styles/base.css +70 -0
- package/dist/styles/semantic.css +62 -2
- package/dist/styles/theme.css +12 -0
- package/package.json +21 -2
- package/dist/Stack.cjs.map +0 -1
- package/dist/Stack.js.map +0 -1
- package/dist/ThemeProvider.cjs.map +0 -1
- package/dist/ThemeProvider.d.cts +0 -85
- package/dist/ThemeProvider.d.cts.map +0 -1
- package/dist/ThemeProvider.d.ts +0 -85
- package/dist/ThemeProvider.d.ts.map +0 -1
- package/dist/ThemeProvider.js.map +0 -1
- package/dist/layouts/index.cjs.map +0 -1
- package/dist/layouts/index.d.cts.map +0 -1
- package/dist/layouts/index.d.ts.map +0 -1
- package/dist/layouts/index.js.map +0 -1
- package/dist/patterns/index.cjs.map +0 -1
- package/dist/patterns/index.d.cts.map +0 -1
- package/dist/patterns/index.d.ts.map +0 -1
- package/dist/patterns/index.js.map +0 -1
- package/dist/primitives.cjs +0 -6979
- package/dist/primitives.cjs.map +0 -1
- package/dist/primitives.js +0 -5357
- package/dist/primitives.js.map +0 -1
- package/dist/utils.cjs.map +0 -1
- package/dist/utils.js +0 -27
- package/dist/utils.js.map +0 -1
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_cn = require("../../cn.cjs");
|
|
3
|
+
const require_primitives_Heading_index = require("../../primitives/Heading/index.cjs");
|
|
4
|
+
const require_primitives_Text_index = require("../../primitives/Text/index.cjs");
|
|
5
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
|
+
let class_variance_authority = require("class-variance-authority");
|
|
7
|
+
//#region src/patterns/MediaObject/MediaObject.tsx
|
|
8
|
+
/** Root <article> surface of a media card; consumers compose the parts inside it. */
|
|
9
|
+
function MediaObject({ className, interactive, ...props }) {
|
|
10
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("article", {
|
|
11
|
+
"data-slot": "media-object",
|
|
12
|
+
className: require_cn.cn("group/media flex flex-col overflow-hidden rounded-2xl border bg-card", interactive && "transition-all hover:-translate-y-0.5 hover:shadow-md", className),
|
|
13
|
+
...props
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
/** Top media image of a card; renders a 16/9 cover image that scales on hover. */
|
|
17
|
+
function MediaObjectImage({ className, alt, ...props }) {
|
|
18
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
19
|
+
"data-slot": "media-object-image",
|
|
20
|
+
alt,
|
|
21
|
+
className: require_cn.cn("aspect-[16/9] w-full object-cover transition-transform group-hover/media:scale-[1.02]", className),
|
|
22
|
+
...props
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
/** Square container for the icon-top card variant; place an Icon inside it. */
|
|
26
|
+
function MediaObjectIcon({ className, ...props }) {
|
|
27
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
28
|
+
"data-slot": "media-object-icon",
|
|
29
|
+
className: require_cn.cn("flex size-10 shrink-0 items-center justify-center", className),
|
|
30
|
+
...props
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/** Padded body region of a card that holds the title, text, and actions. */
|
|
34
|
+
function MediaObjectContent({ className, ...props }) {
|
|
35
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
36
|
+
"data-slot": "media-object-content",
|
|
37
|
+
className: require_cn.cn("flex flex-1 flex-col gap-3 p-5", className),
|
|
38
|
+
...props
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
/** Card title; wraps the Heading primitive rendered as an <h3>. */
|
|
42
|
+
function MediaObjectTitle({ size, ...props }) {
|
|
43
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Heading_index.Heading, {
|
|
44
|
+
"data-slot": "media-object-title",
|
|
45
|
+
as: "h3",
|
|
46
|
+
size: size ?? "4",
|
|
47
|
+
...props
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/** Supporting body copy; wraps the Text primitive (muted, small). */
|
|
51
|
+
function MediaObjectText({ ...props }) {
|
|
52
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Text_index.Text, {
|
|
53
|
+
"data-slot": "media-object-text",
|
|
54
|
+
variant: "muted",
|
|
55
|
+
size: "small",
|
|
56
|
+
...props
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/** Action row pinned to the bottom of the content; holds a Button or Link. */
|
|
60
|
+
function MediaObjectActions({ className, ...props }) {
|
|
61
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
62
|
+
"data-slot": "media-object-actions",
|
|
63
|
+
className: require_cn.cn("mt-auto flex items-center gap-2 pt-2", className),
|
|
64
|
+
...props
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
const mediaObjectGroupVariants = (0, class_variance_authority.cva)("grid", {
|
|
68
|
+
variants: {
|
|
69
|
+
columns: {
|
|
70
|
+
1: "grid-cols-1",
|
|
71
|
+
2: "grid-cols-1 sm:grid-cols-2",
|
|
72
|
+
3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",
|
|
73
|
+
4: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-4"
|
|
74
|
+
},
|
|
75
|
+
gap: {
|
|
76
|
+
sm: "gap-4",
|
|
77
|
+
md: "gap-6",
|
|
78
|
+
lg: "gap-8"
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
defaultVariants: {
|
|
82
|
+
columns: 3,
|
|
83
|
+
gap: "lg"
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
/** Responsive grid wrapper that lays out a set of MediaObject cards. */
|
|
87
|
+
function MediaObjectGroup({ className, columns, gap, ...props }) {
|
|
88
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
89
|
+
"data-slot": "media-object-group",
|
|
90
|
+
className: require_cn.cn(mediaObjectGroupVariants({
|
|
91
|
+
columns,
|
|
92
|
+
gap
|
|
93
|
+
}), className),
|
|
94
|
+
...props
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
//#endregion
|
|
98
|
+
exports.MediaObject = MediaObject;
|
|
99
|
+
exports.MediaObjectActions = MediaObjectActions;
|
|
100
|
+
exports.MediaObjectContent = MediaObjectContent;
|
|
101
|
+
exports.MediaObjectGroup = MediaObjectGroup;
|
|
102
|
+
exports.MediaObjectIcon = MediaObjectIcon;
|
|
103
|
+
exports.MediaObjectImage = MediaObjectImage;
|
|
104
|
+
exports.MediaObjectText = MediaObjectText;
|
|
105
|
+
exports.MediaObjectTitle = MediaObjectTitle;
|
|
106
|
+
exports.mediaObjectGroupVariants = mediaObjectGroupVariants;
|
|
107
|
+
|
|
108
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["cn","Heading","Text"],"sources":["../../../src/patterns/MediaObject/MediaObject.tsx"],"sourcesContent":["import { type VariantProps, cva } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { Heading, type HeadingProps } from \"@/primitives/Heading\";\nimport { Text } from \"@/primitives/Text\";\nimport { cn } from \"@/utils\";\n\n// MediaObject — a COMPOSITIONAL media card (Radix-style parts the consumer\n// assembles). Replaces the legacy landing \"media cards\" (image + title + text +\n// action) and slingshot \"feature cards\" (icon + title + description + action).\n// Each part is a thin styled wrapper carrying a data-slot; spacing and hover are\n// driven entirely by Tailwind tokens + CSS group-hover (no JS state).\n\n// MediaObject — root <article>. `interactive` opts into the CSS hover lift.\ntype MediaObjectProps = React.ComponentProps<\"article\"> & {\n /** Add a CSS hover lift + shadow on hover (pure CSS, no JS state). */\n interactive?: boolean;\n};\n\n/** Root <article> surface of a media card; consumers compose the parts inside it. */\nfunction MediaObject({ className, interactive, ...props }: MediaObjectProps) {\n return (\n <article\n data-slot=\"media-object\"\n className={cn(\n \"group/media flex flex-col overflow-hidden rounded-2xl border bg-card\",\n interactive && \"transition-all hover:-translate-y-0.5 hover:shadow-md\",\n className,\n )}\n {...props}\n />\n );\n}\n\n// MediaObjectImage — the top media. `alt` is required for accessibility.\ntype MediaObjectImageProps = React.ComponentProps<\"img\"> & {\n /** Required alt text describing the media (enforced for accessibility). */\n alt: string;\n};\n\n/** Top media image of a card; renders a 16/9 cover image that scales on hover. */\nfunction MediaObjectImage({ className, alt, ...props }: MediaObjectImageProps) {\n return (\n // biome-ignore lint/a11y/useAltText: alt is required via props typing.\n <img\n data-slot=\"media-object-image\"\n alt={alt}\n className={cn(\n \"aspect-[16/9] w-full object-cover transition-transform group-hover/media:scale-[1.02]\",\n className,\n )}\n {...props}\n />\n );\n}\n\n// MediaObjectIcon — the icon-top variant container; consumer renders an Icon inside.\n/** Square container for the icon-top card variant; place an Icon inside it. */\nfunction MediaObjectIcon({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"media-object-icon\"\n className={cn(\"flex size-10 shrink-0 items-center justify-center\", className)}\n {...props}\n />\n );\n}\n\n// MediaObjectContent — the body region holding title/text/actions.\n/** Padded body region of a card that holds the title, text, and actions. */\nfunction MediaObjectContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"media-object-content\"\n className={cn(\"flex flex-1 flex-col gap-3 p-5\", className)}\n {...props}\n />\n );\n}\n\n// MediaObjectTitle — reuses the Heading primitive (rendered as <h3>).\ntype MediaObjectTitleProps = Omit<HeadingProps, \"as\"> & {\n /** Heading size step passthrough (defaults to \"4\"). */\n size?: HeadingProps[\"size\"];\n};\n\n/** Card title; wraps the Heading primitive rendered as an <h3>. */\nfunction MediaObjectTitle({ size, ...props }: MediaObjectTitleProps) {\n return <Heading data-slot=\"media-object-title\" as=\"h3\" size={size ?? \"4\"} {...props} />;\n}\n\n// MediaObjectText — reuses the Text primitive (muted, small body).\n/** Supporting body copy; wraps the Text primitive (muted, small). */\nfunction MediaObjectText({ ...props }: React.ComponentProps<typeof Text>) {\n return <Text data-slot=\"media-object-text\" variant=\"muted\" size=\"small\" {...props} />;\n}\n\n// MediaObjectActions — pinned to the bottom of the content; holds a Button/Link.\n/** Action row pinned to the bottom of the content; holds a Button or Link. */\nfunction MediaObjectActions({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"media-object-actions\"\n className={cn(\"mt-auto flex items-center gap-2 pt-2\", className)}\n {...props}\n />\n );\n}\n\n// MediaObjectGroup — responsive grid container. `columns` gives equal-width,\n// aligned items; `gap` lets the enclosing section own its spacing rhythm.\nconst mediaObjectGroupVariants = cva(\"grid\", {\n variants: {\n columns: {\n 1: \"grid-cols-1\",\n 2: \"grid-cols-1 sm:grid-cols-2\",\n 3: \"grid-cols-1 sm:grid-cols-2 lg:grid-cols-3\",\n 4: \"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4\",\n },\n gap: {\n sm: \"gap-4\",\n md: \"gap-6\",\n lg: \"gap-8\",\n },\n },\n defaultVariants: {\n columns: 3,\n gap: \"lg\",\n },\n});\n\ntype MediaObjectGroupProps = React.ComponentProps<\"div\"> &\n VariantProps<typeof mediaObjectGroupVariants>;\n\n/** Responsive grid wrapper that lays out a set of MediaObject cards. */\nfunction MediaObjectGroup({ className, columns, gap, ...props }: MediaObjectGroupProps) {\n return (\n <div\n data-slot=\"media-object-group\"\n className={cn(mediaObjectGroupVariants({ columns, gap }), className)}\n {...props}\n />\n );\n}\n\nexport {\n MediaObject,\n MediaObjectImage,\n MediaObjectIcon,\n MediaObjectContent,\n MediaObjectTitle,\n MediaObjectText,\n MediaObjectActions,\n MediaObjectGroup,\n mediaObjectGroupVariants,\n type MediaObjectProps,\n type MediaObjectImageProps,\n type MediaObjectTitleProps,\n type MediaObjectGroupProps,\n};\n"],"mappings":";;;;;;;;AAoBA,SAAS,YAAY,EAAE,WAAW,aAAa,GAAG,SAA2B;CAC3E,OACE,iBAAA,GAAA,kBAAA,KAAC,WAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GACT,wEACA,eAAe,yDACf,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AASA,SAAS,iBAAiB,EAAE,WAAW,KAAK,GAAG,SAAgC;CAC7E,OAEE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACL;EACL,WAAWA,WAAAA,GACT,yFACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAIA,SAAS,gBAAgB,EAAE,WAAW,GAAG,SAAsC;CAC7E,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GAAG,qDAAqD,SAAS;EAC5E,GAAI;CACL,CAAA;AAEL;;AAIA,SAAS,mBAAmB,EAAE,WAAW,GAAG,SAAsC;CAChF,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GAAG,kCAAkC,SAAS;EACzD,GAAI;CACL,CAAA;AAEL;;AASA,SAAS,iBAAiB,EAAE,MAAM,GAAG,SAAgC;CACnE,OAAO,iBAAA,GAAA,kBAAA,KAACC,iCAAAA,SAAD;EAAS,aAAU;EAAqB,IAAG;EAAK,MAAM,QAAQ;EAAK,GAAI;CAAQ,CAAA;AACxF;;AAIA,SAAS,gBAAgB,EAAE,GAAG,SAA4C;CACxE,OAAO,iBAAA,GAAA,kBAAA,KAACC,8BAAAA,MAAD;EAAM,aAAU;EAAoB,SAAQ;EAAQ,MAAK;EAAQ,GAAI;CAAQ,CAAA;AACtF;;AAIA,SAAS,mBAAmB,EAAE,WAAW,GAAG,SAAsC;CAChF,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWF,WAAAA,GAAG,wCAAwC,SAAS;EAC/D,GAAI;CACL,CAAA;AAEL;AAIA,MAAM,4BAAA,GAAA,yBAAA,KAA+B,QAAQ;CAC3C,UAAU;EACR,SAAS;GACP,GAAG;GACH,GAAG;GACH,GAAG;GACH,GAAG;EACL;EACA,KAAK;GACH,IAAI;GACJ,IAAI;GACJ,IAAI;EACN;CACF;CACA,iBAAiB;EACf,SAAS;EACT,KAAK;CACP;AACF,CAAC;;AAMD,SAAS,iBAAiB,EAAE,WAAW,SAAS,KAAK,GAAG,SAAgC;CACtF,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GAAG,yBAAyB;GAAE;GAAS;EAAI,CAAC,GAAG,SAAS;EACnE,GAAI;CACL,CAAA;AAEL"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { n as HeadingProps } from "../../index28.cjs";
|
|
2
|
+
import { t as Text } from "../../index60.cjs";
|
|
3
|
+
import * as react_jsx_runtime232 from "react/jsx-runtime";
|
|
4
|
+
import * as class_variance_authority_types22 from "class-variance-authority/types";
|
|
5
|
+
import { VariantProps } from "class-variance-authority";
|
|
6
|
+
import * as React from "react";
|
|
7
|
+
|
|
8
|
+
//#region src/patterns/MediaObject/MediaObject.d.ts
|
|
9
|
+
type MediaObjectProps = React.ComponentProps<"article"> & {
|
|
10
|
+
/** Add a CSS hover lift + shadow on hover (pure CSS, no JS state). */
|
|
11
|
+
interactive?: boolean;
|
|
12
|
+
};
|
|
13
|
+
/** Root <article> surface of a media card; consumers compose the parts inside it. */
|
|
14
|
+
declare function MediaObject({
|
|
15
|
+
className,
|
|
16
|
+
interactive,
|
|
17
|
+
...props
|
|
18
|
+
}: MediaObjectProps): react_jsx_runtime232.JSX.Element;
|
|
19
|
+
type MediaObjectImageProps = React.ComponentProps<"img"> & {
|
|
20
|
+
/** Required alt text describing the media (enforced for accessibility). */
|
|
21
|
+
alt: string;
|
|
22
|
+
};
|
|
23
|
+
/** Top media image of a card; renders a 16/9 cover image that scales on hover. */
|
|
24
|
+
declare function MediaObjectImage({
|
|
25
|
+
className,
|
|
26
|
+
alt,
|
|
27
|
+
...props
|
|
28
|
+
}: MediaObjectImageProps): react_jsx_runtime232.JSX.Element;
|
|
29
|
+
/** Square container for the icon-top card variant; place an Icon inside it. */
|
|
30
|
+
declare function MediaObjectIcon({
|
|
31
|
+
className,
|
|
32
|
+
...props
|
|
33
|
+
}: React.ComponentProps<"div">): react_jsx_runtime232.JSX.Element;
|
|
34
|
+
/** Padded body region of a card that holds the title, text, and actions. */
|
|
35
|
+
declare function MediaObjectContent({
|
|
36
|
+
className,
|
|
37
|
+
...props
|
|
38
|
+
}: React.ComponentProps<"div">): react_jsx_runtime232.JSX.Element;
|
|
39
|
+
type MediaObjectTitleProps = Omit<HeadingProps, "as"> & {
|
|
40
|
+
/** Heading size step passthrough (defaults to "4"). */
|
|
41
|
+
size?: HeadingProps["size"];
|
|
42
|
+
};
|
|
43
|
+
/** Card title; wraps the Heading primitive rendered as an <h3>. */
|
|
44
|
+
declare function MediaObjectTitle({
|
|
45
|
+
size,
|
|
46
|
+
...props
|
|
47
|
+
}: MediaObjectTitleProps): react_jsx_runtime232.JSX.Element;
|
|
48
|
+
/** Supporting body copy; wraps the Text primitive (muted, small). */
|
|
49
|
+
declare function MediaObjectText({
|
|
50
|
+
...props
|
|
51
|
+
}: React.ComponentProps<typeof Text>): react_jsx_runtime232.JSX.Element;
|
|
52
|
+
/** Action row pinned to the bottom of the content; holds a Button or Link. */
|
|
53
|
+
declare function MediaObjectActions({
|
|
54
|
+
className,
|
|
55
|
+
...props
|
|
56
|
+
}: React.ComponentProps<"div">): react_jsx_runtime232.JSX.Element;
|
|
57
|
+
declare const mediaObjectGroupVariants: (props?: ({
|
|
58
|
+
columns?: 1 | 2 | 3 | 4 | null | undefined;
|
|
59
|
+
gap?: "sm" | "lg" | "md" | null | undefined;
|
|
60
|
+
} & class_variance_authority_types22.ClassProp) | undefined) => string;
|
|
61
|
+
type MediaObjectGroupProps = React.ComponentProps<"div"> & VariantProps<typeof mediaObjectGroupVariants>;
|
|
62
|
+
/** Responsive grid wrapper that lays out a set of MediaObject cards. */
|
|
63
|
+
declare function MediaObjectGroup({
|
|
64
|
+
className,
|
|
65
|
+
columns,
|
|
66
|
+
gap,
|
|
67
|
+
...props
|
|
68
|
+
}: MediaObjectGroupProps): react_jsx_runtime232.JSX.Element;
|
|
69
|
+
//#endregion
|
|
70
|
+
export { MediaObject, MediaObjectActions, MediaObjectContent, MediaObjectGroup, type MediaObjectGroupProps, MediaObjectIcon, MediaObjectImage, type MediaObjectImageProps, type MediaObjectProps, MediaObjectText, MediaObjectTitle, type MediaObjectTitleProps, mediaObjectGroupVariants };
|
|
71
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/patterns/MediaObject/MediaObject.tsx"],"mappings":";;;;;;;;KAcK,gBAAA,GAAmB,KAAA,CAAM;;;;AAVW;AAUG,iBAMnC,WAAA,CAAW;EAAA,SAAA;EAAA,WAAA;EAAA,GAAA;AAAA,CAAA,EAAuC,gBAAvC,CAAA,EAAuD,oBAAA,CAAA,GAAA,CAAA,OAAvD;KAef,qBAAA,GAAwB,KAAA,CAAM,cAff,CAAA,KAAA,CAAA,GAAA;;KAAc,EAAA,MAAA;;;AAAyC,iBAqBlE,gBAAA,CArBkE;EAAA,SAAA;EAAA,GAAA;EAAA,GAAA;AAAA,CAAA,EAqBnB,qBArBmB,CAAA,EAqBE,oBAAA,CAAA,GAAA,CAAA,OArBF;AAAA;AAe1B,iBAuBxC,eAAA,CAjBgB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAiByB,KAAA,CAAM,cAjB/B,CAAA,KAAA,CAAA,CAAA,EAiBoD,oBAAA,CAAA,GAAA,CAAA,OAjBpD;;iBA6BhB,kBAAA,CA7BmB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA6ByB,KAAA,CAAM,cA7B/B,CAAA,KAAA,CAAA,CAAA,EA6BoD,oBAAA,CAAA,GAAA,CAAA,OA7BpD;KAwCvB,qBAAA,GAAwB,IAxCU,CAwCL,YAxCK,EAAA,IAAA,CAAA,GAAA;;MAAsC,CAAA,EA0CpE,YA1CoE,CAAA,MAAA,CAAA;AAAA,CAAA;AAAA;iBA8CpE,gBAAA,CA7Be;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EA6BsB,qBA7BtB,CAAA,EA6B2C,oBAAA,CAAA,GAAA,CAAA,OA7B3C;;iBAmCf,eAAA,CAnC+C;EAAA,GAAA;AAAA,CAAA,EAmCjB,KAAA,CAAM,cAnCW,CAAA,OAmCW,IAnCX,CAAA,CAAA,EAmCgB,oBAAA,CAAA,GAAA,CAAA,OAnChB;;AAAqB,iBAyCpE,kBAAA,CAzCoE;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyCxB,KAAA,CAAM,cAzCkB,CAAA,KAAA,CAAA,CAAA,EAyCG,oBAAA,CAAA,GAAA,CAAA,OAzCH;AAAA,cAqDvE,wBAzCqB,EAAA,CAAA,KAAgC,CAAhC,EAAA,CAAA;EAAA,OAAA,CAAA,EAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,IAAA,GAAA,SAAA;KAAG,CAAA,EAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,SAAA;IA2D5B,gCAAA,CAAA,SA3DyD,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;KA6DtD,qBAAA,GAAwB,KAAA,CAAM,cA7D6C,CAAA,KAAA,CAAA,GA8D9E,YA9D8E,CAAA,OA8D1D,wBA9D0D,CAAA;AAAA;AAAA,iBAiEvE,gBAAA,CAtDiB;EAAA,SAAA;EAAA,OAAA;EAAA,GAAA;EAAA,GAAA;AAAA,CAAA,EAsDuC,qBAtDvC,CAAA,EAsD4D,oBAAA,CAAA,GAAA,CAAA,OAtD5D"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { n as HeadingProps } from "../../index28.js";
|
|
2
|
+
import { t as Text } from "../../index60.js";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import * as react_jsx_runtime135 from "react/jsx-runtime";
|
|
5
|
+
import { VariantProps } from "class-variance-authority";
|
|
6
|
+
import * as class_variance_authority_types14 from "class-variance-authority/types";
|
|
7
|
+
|
|
8
|
+
//#region src/patterns/MediaObject/MediaObject.d.ts
|
|
9
|
+
type MediaObjectProps = React.ComponentProps<"article"> & {
|
|
10
|
+
/** Add a CSS hover lift + shadow on hover (pure CSS, no JS state). */
|
|
11
|
+
interactive?: boolean;
|
|
12
|
+
};
|
|
13
|
+
/** Root <article> surface of a media card; consumers compose the parts inside it. */
|
|
14
|
+
declare function MediaObject({
|
|
15
|
+
className,
|
|
16
|
+
interactive,
|
|
17
|
+
...props
|
|
18
|
+
}: MediaObjectProps): react_jsx_runtime135.JSX.Element;
|
|
19
|
+
type MediaObjectImageProps = React.ComponentProps<"img"> & {
|
|
20
|
+
/** Required alt text describing the media (enforced for accessibility). */
|
|
21
|
+
alt: string;
|
|
22
|
+
};
|
|
23
|
+
/** Top media image of a card; renders a 16/9 cover image that scales on hover. */
|
|
24
|
+
declare function MediaObjectImage({
|
|
25
|
+
className,
|
|
26
|
+
alt,
|
|
27
|
+
...props
|
|
28
|
+
}: MediaObjectImageProps): react_jsx_runtime135.JSX.Element;
|
|
29
|
+
/** Square container for the icon-top card variant; place an Icon inside it. */
|
|
30
|
+
declare function MediaObjectIcon({
|
|
31
|
+
className,
|
|
32
|
+
...props
|
|
33
|
+
}: React.ComponentProps<"div">): react_jsx_runtime135.JSX.Element;
|
|
34
|
+
/** Padded body region of a card that holds the title, text, and actions. */
|
|
35
|
+
declare function MediaObjectContent({
|
|
36
|
+
className,
|
|
37
|
+
...props
|
|
38
|
+
}: React.ComponentProps<"div">): react_jsx_runtime135.JSX.Element;
|
|
39
|
+
type MediaObjectTitleProps = Omit<HeadingProps, "as"> & {
|
|
40
|
+
/** Heading size step passthrough (defaults to "4"). */
|
|
41
|
+
size?: HeadingProps["size"];
|
|
42
|
+
};
|
|
43
|
+
/** Card title; wraps the Heading primitive rendered as an <h3>. */
|
|
44
|
+
declare function MediaObjectTitle({
|
|
45
|
+
size,
|
|
46
|
+
...props
|
|
47
|
+
}: MediaObjectTitleProps): react_jsx_runtime135.JSX.Element;
|
|
48
|
+
/** Supporting body copy; wraps the Text primitive (muted, small). */
|
|
49
|
+
declare function MediaObjectText({
|
|
50
|
+
...props
|
|
51
|
+
}: React.ComponentProps<typeof Text>): react_jsx_runtime135.JSX.Element;
|
|
52
|
+
/** Action row pinned to the bottom of the content; holds a Button or Link. */
|
|
53
|
+
declare function MediaObjectActions({
|
|
54
|
+
className,
|
|
55
|
+
...props
|
|
56
|
+
}: React.ComponentProps<"div">): react_jsx_runtime135.JSX.Element;
|
|
57
|
+
declare const mediaObjectGroupVariants: (props?: ({
|
|
58
|
+
columns?: 1 | 2 | 3 | 4 | null | undefined;
|
|
59
|
+
gap?: "sm" | "lg" | "md" | null | undefined;
|
|
60
|
+
} & class_variance_authority_types14.ClassProp) | undefined) => string;
|
|
61
|
+
type MediaObjectGroupProps = React.ComponentProps<"div"> & VariantProps<typeof mediaObjectGroupVariants>;
|
|
62
|
+
/** Responsive grid wrapper that lays out a set of MediaObject cards. */
|
|
63
|
+
declare function MediaObjectGroup({
|
|
64
|
+
className,
|
|
65
|
+
columns,
|
|
66
|
+
gap,
|
|
67
|
+
...props
|
|
68
|
+
}: MediaObjectGroupProps): react_jsx_runtime135.JSX.Element;
|
|
69
|
+
//#endregion
|
|
70
|
+
export { MediaObject, MediaObjectActions, MediaObjectContent, MediaObjectGroup, type MediaObjectGroupProps, MediaObjectIcon, MediaObjectImage, type MediaObjectImageProps, type MediaObjectProps, MediaObjectText, MediaObjectTitle, type MediaObjectTitleProps, mediaObjectGroupVariants };
|
|
71
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/patterns/MediaObject/MediaObject.tsx"],"mappings":";;;;;;;;KAcK,gBAAA,GAAmB,KAAA,CAAM;;;;AAVW;AAUG,iBAMnC,WAAA,CAAW;EAAA,SAAA;EAAA,WAAA;EAAA,GAAA;AAAA,CAAA,EAAuC,gBAAvC,CAAA,EAAuD,oBAAA,CAAA,GAAA,CAAA,OAAvD;KAef,qBAAA,GAAwB,KAAA,CAAM,cAff,CAAA,KAAA,CAAA,GAAA;;KAAc,EAAA,MAAA;;;AAAyC,iBAqBlE,gBAAA,CArBkE;EAAA,SAAA;EAAA,GAAA;EAAA,GAAA;AAAA,CAAA,EAqBnB,qBArBmB,CAAA,EAqBE,oBAAA,CAAA,GAAA,CAAA,OArBF;AAAA;AAe1B,iBAuBxC,eAAA,CAjBgB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAiByB,KAAA,CAAM,cAjB/B,CAAA,KAAA,CAAA,CAAA,EAiBoD,oBAAA,CAAA,GAAA,CAAA,OAjBpD;;iBA6BhB,kBAAA,CA7BmB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA6ByB,KAAA,CAAM,cA7B/B,CAAA,KAAA,CAAA,CAAA,EA6BoD,oBAAA,CAAA,GAAA,CAAA,OA7BpD;KAwCvB,qBAAA,GAAwB,IAxCU,CAwCL,YAxCK,EAAA,IAAA,CAAA,GAAA;;MAAsC,CAAA,EA0CpE,YA1CoE,CAAA,MAAA,CAAA;AAAA,CAAA;AAAA;iBA8CpE,gBAAA,CA7Be;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EA6BsB,qBA7BtB,CAAA,EA6B2C,oBAAA,CAAA,GAAA,CAAA,OA7B3C;;iBAmCf,eAAA,CAnC+C;EAAA,GAAA;AAAA,CAAA,EAmCjB,KAAA,CAAM,cAnCW,CAAA,OAmCW,IAnCX,CAAA,CAAA,EAmCgB,oBAAA,CAAA,GAAA,CAAA,OAnChB;;AAAqB,iBAyCpE,kBAAA,CAzCoE;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyCxB,KAAA,CAAM,cAzCkB,CAAA,KAAA,CAAA,CAAA,EAyCG,oBAAA,CAAA,GAAA,CAAA,OAzCH;AAAA,cAqDvE,wBAzCqB,EAAA,CAAA,KAAgC,CAAhC,EAAA,CAAA;EAAA,OAAA,CAAA,EAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,IAAA,GAAA,SAAA;KAAG,CAAA,EAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,SAAA;IA2D5B,gCAAA,CAAA,SA3DyD,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;KA6DtD,qBAAA,GAAwB,KAAA,CAAM,cA7D6C,CAAA,KAAA,CAAA,GA8D9E,YA9D8E,CAAA,OA8D1D,wBA9D0D,CAAA;AAAA;AAAA,iBAiEvE,gBAAA,CAtDiB;EAAA,SAAA;EAAA,OAAA;EAAA,GAAA;EAAA,GAAA;AAAA,CAAA,EAsDuC,qBAtDvC,CAAA,EAsD4D,oBAAA,CAAA,GAAA,CAAA,OAtD5D"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { t as cn } from "../../cn.js";
|
|
2
|
+
import { Heading } from "../../primitives/Heading/index.js";
|
|
3
|
+
import { Text } from "../../primitives/Text/index.js";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { cva } from "class-variance-authority";
|
|
6
|
+
//#region src/patterns/MediaObject/MediaObject.tsx
|
|
7
|
+
/** Root <article> surface of a media card; consumers compose the parts inside it. */
|
|
8
|
+
function MediaObject({ className, interactive, ...props }) {
|
|
9
|
+
return /* @__PURE__ */ jsx("article", {
|
|
10
|
+
"data-slot": "media-object",
|
|
11
|
+
className: cn("group/media flex flex-col overflow-hidden rounded-2xl border bg-card", interactive && "transition-all hover:-translate-y-0.5 hover:shadow-md", className),
|
|
12
|
+
...props
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
/** Top media image of a card; renders a 16/9 cover image that scales on hover. */
|
|
16
|
+
function MediaObjectImage({ className, alt, ...props }) {
|
|
17
|
+
return /* @__PURE__ */ jsx("img", {
|
|
18
|
+
"data-slot": "media-object-image",
|
|
19
|
+
alt,
|
|
20
|
+
className: cn("aspect-[16/9] w-full object-cover transition-transform group-hover/media:scale-[1.02]", className),
|
|
21
|
+
...props
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
/** Square container for the icon-top card variant; place an Icon inside it. */
|
|
25
|
+
function MediaObjectIcon({ className, ...props }) {
|
|
26
|
+
return /* @__PURE__ */ jsx("div", {
|
|
27
|
+
"data-slot": "media-object-icon",
|
|
28
|
+
className: cn("flex size-10 shrink-0 items-center justify-center", className),
|
|
29
|
+
...props
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
/** Padded body region of a card that holds the title, text, and actions. */
|
|
33
|
+
function MediaObjectContent({ className, ...props }) {
|
|
34
|
+
return /* @__PURE__ */ jsx("div", {
|
|
35
|
+
"data-slot": "media-object-content",
|
|
36
|
+
className: cn("flex flex-1 flex-col gap-3 p-5", className),
|
|
37
|
+
...props
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
/** Card title; wraps the Heading primitive rendered as an <h3>. */
|
|
41
|
+
function MediaObjectTitle({ size, ...props }) {
|
|
42
|
+
return /* @__PURE__ */ jsx(Heading, {
|
|
43
|
+
"data-slot": "media-object-title",
|
|
44
|
+
as: "h3",
|
|
45
|
+
size: size ?? "4",
|
|
46
|
+
...props
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/** Supporting body copy; wraps the Text primitive (muted, small). */
|
|
50
|
+
function MediaObjectText({ ...props }) {
|
|
51
|
+
return /* @__PURE__ */ jsx(Text, {
|
|
52
|
+
"data-slot": "media-object-text",
|
|
53
|
+
variant: "muted",
|
|
54
|
+
size: "small",
|
|
55
|
+
...props
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
/** Action row pinned to the bottom of the content; holds a Button or Link. */
|
|
59
|
+
function MediaObjectActions({ className, ...props }) {
|
|
60
|
+
return /* @__PURE__ */ jsx("div", {
|
|
61
|
+
"data-slot": "media-object-actions",
|
|
62
|
+
className: cn("mt-auto flex items-center gap-2 pt-2", className),
|
|
63
|
+
...props
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
const mediaObjectGroupVariants = cva("grid", {
|
|
67
|
+
variants: {
|
|
68
|
+
columns: {
|
|
69
|
+
1: "grid-cols-1",
|
|
70
|
+
2: "grid-cols-1 sm:grid-cols-2",
|
|
71
|
+
3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",
|
|
72
|
+
4: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-4"
|
|
73
|
+
},
|
|
74
|
+
gap: {
|
|
75
|
+
sm: "gap-4",
|
|
76
|
+
md: "gap-6",
|
|
77
|
+
lg: "gap-8"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
defaultVariants: {
|
|
81
|
+
columns: 3,
|
|
82
|
+
gap: "lg"
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
/** Responsive grid wrapper that lays out a set of MediaObject cards. */
|
|
86
|
+
function MediaObjectGroup({ className, columns, gap, ...props }) {
|
|
87
|
+
return /* @__PURE__ */ jsx("div", {
|
|
88
|
+
"data-slot": "media-object-group",
|
|
89
|
+
className: cn(mediaObjectGroupVariants({
|
|
90
|
+
columns,
|
|
91
|
+
gap
|
|
92
|
+
}), className),
|
|
93
|
+
...props
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
//#endregion
|
|
97
|
+
export { MediaObject, MediaObjectActions, MediaObjectContent, MediaObjectGroup, MediaObjectIcon, MediaObjectImage, MediaObjectText, MediaObjectTitle, mediaObjectGroupVariants };
|
|
98
|
+
|
|
99
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/patterns/MediaObject/MediaObject.tsx"],"sourcesContent":["import { type VariantProps, cva } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { Heading, type HeadingProps } from \"@/primitives/Heading\";\nimport { Text } from \"@/primitives/Text\";\nimport { cn } from \"@/utils\";\n\n// MediaObject — a COMPOSITIONAL media card (Radix-style parts the consumer\n// assembles). Replaces the legacy landing \"media cards\" (image + title + text +\n// action) and slingshot \"feature cards\" (icon + title + description + action).\n// Each part is a thin styled wrapper carrying a data-slot; spacing and hover are\n// driven entirely by Tailwind tokens + CSS group-hover (no JS state).\n\n// MediaObject — root <article>. `interactive` opts into the CSS hover lift.\ntype MediaObjectProps = React.ComponentProps<\"article\"> & {\n /** Add a CSS hover lift + shadow on hover (pure CSS, no JS state). */\n interactive?: boolean;\n};\n\n/** Root <article> surface of a media card; consumers compose the parts inside it. */\nfunction MediaObject({ className, interactive, ...props }: MediaObjectProps) {\n return (\n <article\n data-slot=\"media-object\"\n className={cn(\n \"group/media flex flex-col overflow-hidden rounded-2xl border bg-card\",\n interactive && \"transition-all hover:-translate-y-0.5 hover:shadow-md\",\n className,\n )}\n {...props}\n />\n );\n}\n\n// MediaObjectImage — the top media. `alt` is required for accessibility.\ntype MediaObjectImageProps = React.ComponentProps<\"img\"> & {\n /** Required alt text describing the media (enforced for accessibility). */\n alt: string;\n};\n\n/** Top media image of a card; renders a 16/9 cover image that scales on hover. */\nfunction MediaObjectImage({ className, alt, ...props }: MediaObjectImageProps) {\n return (\n // biome-ignore lint/a11y/useAltText: alt is required via props typing.\n <img\n data-slot=\"media-object-image\"\n alt={alt}\n className={cn(\n \"aspect-[16/9] w-full object-cover transition-transform group-hover/media:scale-[1.02]\",\n className,\n )}\n {...props}\n />\n );\n}\n\n// MediaObjectIcon — the icon-top variant container; consumer renders an Icon inside.\n/** Square container for the icon-top card variant; place an Icon inside it. */\nfunction MediaObjectIcon({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"media-object-icon\"\n className={cn(\"flex size-10 shrink-0 items-center justify-center\", className)}\n {...props}\n />\n );\n}\n\n// MediaObjectContent — the body region holding title/text/actions.\n/** Padded body region of a card that holds the title, text, and actions. */\nfunction MediaObjectContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"media-object-content\"\n className={cn(\"flex flex-1 flex-col gap-3 p-5\", className)}\n {...props}\n />\n );\n}\n\n// MediaObjectTitle — reuses the Heading primitive (rendered as <h3>).\ntype MediaObjectTitleProps = Omit<HeadingProps, \"as\"> & {\n /** Heading size step passthrough (defaults to \"4\"). */\n size?: HeadingProps[\"size\"];\n};\n\n/** Card title; wraps the Heading primitive rendered as an <h3>. */\nfunction MediaObjectTitle({ size, ...props }: MediaObjectTitleProps) {\n return <Heading data-slot=\"media-object-title\" as=\"h3\" size={size ?? \"4\"} {...props} />;\n}\n\n// MediaObjectText — reuses the Text primitive (muted, small body).\n/** Supporting body copy; wraps the Text primitive (muted, small). */\nfunction MediaObjectText({ ...props }: React.ComponentProps<typeof Text>) {\n return <Text data-slot=\"media-object-text\" variant=\"muted\" size=\"small\" {...props} />;\n}\n\n// MediaObjectActions — pinned to the bottom of the content; holds a Button/Link.\n/** Action row pinned to the bottom of the content; holds a Button or Link. */\nfunction MediaObjectActions({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"media-object-actions\"\n className={cn(\"mt-auto flex items-center gap-2 pt-2\", className)}\n {...props}\n />\n );\n}\n\n// MediaObjectGroup — responsive grid container. `columns` gives equal-width,\n// aligned items; `gap` lets the enclosing section own its spacing rhythm.\nconst mediaObjectGroupVariants = cva(\"grid\", {\n variants: {\n columns: {\n 1: \"grid-cols-1\",\n 2: \"grid-cols-1 sm:grid-cols-2\",\n 3: \"grid-cols-1 sm:grid-cols-2 lg:grid-cols-3\",\n 4: \"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4\",\n },\n gap: {\n sm: \"gap-4\",\n md: \"gap-6\",\n lg: \"gap-8\",\n },\n },\n defaultVariants: {\n columns: 3,\n gap: \"lg\",\n },\n});\n\ntype MediaObjectGroupProps = React.ComponentProps<\"div\"> &\n VariantProps<typeof mediaObjectGroupVariants>;\n\n/** Responsive grid wrapper that lays out a set of MediaObject cards. */\nfunction MediaObjectGroup({ className, columns, gap, ...props }: MediaObjectGroupProps) {\n return (\n <div\n data-slot=\"media-object-group\"\n className={cn(mediaObjectGroupVariants({ columns, gap }), className)}\n {...props}\n />\n );\n}\n\nexport {\n MediaObject,\n MediaObjectImage,\n MediaObjectIcon,\n MediaObjectContent,\n MediaObjectTitle,\n MediaObjectText,\n MediaObjectActions,\n MediaObjectGroup,\n mediaObjectGroupVariants,\n type MediaObjectProps,\n type MediaObjectImageProps,\n type MediaObjectTitleProps,\n type MediaObjectGroupProps,\n};\n"],"mappings":";;;;;;;AAoBA,SAAS,YAAY,EAAE,WAAW,aAAa,GAAG,SAA2B;CAC3E,OACE,oBAAC,WAAD;EACE,aAAU;EACV,WAAW,GACT,wEACA,eAAe,yDACf,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AASA,SAAS,iBAAiB,EAAE,WAAW,KAAK,GAAG,SAAgC;CAC7E,OAEE,oBAAC,OAAD;EACE,aAAU;EACL;EACL,WAAW,GACT,yFACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAIA,SAAS,gBAAgB,EAAE,WAAW,GAAG,SAAsC;CAC7E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,qDAAqD,SAAS;EAC5E,GAAI;CACL,CAAA;AAEL;;AAIA,SAAS,mBAAmB,EAAE,WAAW,GAAG,SAAsC;CAChF,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,kCAAkC,SAAS;EACzD,GAAI;CACL,CAAA;AAEL;;AASA,SAAS,iBAAiB,EAAE,MAAM,GAAG,SAAgC;CACnE,OAAO,oBAAC,SAAD;EAAS,aAAU;EAAqB,IAAG;EAAK,MAAM,QAAQ;EAAK,GAAI;CAAQ,CAAA;AACxF;;AAIA,SAAS,gBAAgB,EAAE,GAAG,SAA4C;CACxE,OAAO,oBAAC,MAAD;EAAM,aAAU;EAAoB,SAAQ;EAAQ,MAAK;EAAQ,GAAI;CAAQ,CAAA;AACtF;;AAIA,SAAS,mBAAmB,EAAE,WAAW,GAAG,SAAsC;CAChF,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,wCAAwC,SAAS;EAC/D,GAAI;CACL,CAAA;AAEL;AAIA,MAAM,2BAA2B,IAAI,QAAQ;CAC3C,UAAU;EACR,SAAS;GACP,GAAG;GACH,GAAG;GACH,GAAG;GACH,GAAG;EACL;EACA,KAAK;GACH,IAAI;GACJ,IAAI;GACJ,IAAI;EACN;CACF;CACA,iBAAiB;EACf,SAAS;EACT,KAAK;CACP;AACF,CAAC;;AAMD,SAAS,iBAAiB,EAAE,WAAW,SAAS,KAAK,GAAG,SAAgC;CACtF,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,yBAAyB;GAAE;GAAS;EAAI,CAAC,GAAG,SAAS;EACnE,GAAI;CACL,CAAA;AAEL"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_cn = require("../../cn.cjs");
|
|
3
|
+
const require_primitives_Card_index = require("../../primitives/Card/index.cjs");
|
|
4
|
+
const require_primitives_Heading_index = require("../../primitives/Heading/index.cjs");
|
|
5
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
|
+
//#region src/patterns/SectionCard/SectionCard.tsx
|
|
7
|
+
/** Glass section panel with a header (title + optional action) and a body slot for arbitrary children. */
|
|
8
|
+
function SectionCard({ title, action, className, children, ...props }) {
|
|
9
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_primitives_Card_index.Card, {
|
|
10
|
+
"data-slot": "section-card",
|
|
11
|
+
variant: "glass",
|
|
12
|
+
tint: "light",
|
|
13
|
+
className: require_cn.cn("gap-5 rounded-2xl p-5 sm:p-6", className),
|
|
14
|
+
...props,
|
|
15
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
16
|
+
"data-slot": "section-card-header",
|
|
17
|
+
className: "flex items-center justify-between gap-3",
|
|
18
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Heading_index.Heading, {
|
|
19
|
+
"data-slot": "section-card-title",
|
|
20
|
+
size: "3",
|
|
21
|
+
children: title
|
|
22
|
+
}), action ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
23
|
+
"data-slot": "section-card-action",
|
|
24
|
+
children: action
|
|
25
|
+
}) : null]
|
|
26
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
27
|
+
"data-slot": "section-card-body",
|
|
28
|
+
children
|
|
29
|
+
})]
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
exports.SectionCard = SectionCard;
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["Card","cn","Heading"],"sources":["../../../src/patterns/SectionCard/SectionCard.tsx"],"sourcesContent":["import type * as React from \"react\";\n\nimport { Card } from \"@/primitives/Card\";\nimport { Heading } from \"@/primitives/Heading\";\nimport { cn } from \"@/utils\";\n\n// SectionCard — a large glass \"section that contains cards\": a glass Card panel\n// with a header row (title + optional right-aligned action) and a body slot for\n// arbitrary children (e.g. a grid of cards or a MediaObjectGroup).\ntype SectionCardProps = Omit<React.ComponentProps<\"div\">, \"title\"> & {\n /** Section title rendered in the header. */\n title: React.ReactNode;\n /** Optional right-aligned action slot (e.g. a Button). */\n action?: React.ReactNode;\n};\n\n/** Glass section panel with a header (title + optional action) and a body slot for arbitrary children. */\nfunction SectionCard({ title, action, className, children, ...props }: SectionCardProps) {\n return (\n <Card\n data-slot=\"section-card\"\n variant=\"glass\"\n tint=\"light\"\n className={cn(\"gap-5 rounded-2xl p-5 sm:p-6\", className)}\n {...props}\n >\n <div data-slot=\"section-card-header\" className=\"flex items-center justify-between gap-3\">\n <Heading data-slot=\"section-card-title\" size=\"3\">\n {title}\n </Heading>\n {action ? <div data-slot=\"section-card-action\">{action}</div> : null}\n </div>\n <div data-slot=\"section-card-body\">{children}</div>\n </Card>\n );\n}\n\nexport { SectionCard, type SectionCardProps };\n"],"mappings":";;;;;;;AAiBA,SAAS,YAAY,EAAE,OAAO,QAAQ,WAAW,UAAU,GAAG,SAA2B;CACvF,OACE,iBAAA,GAAA,kBAAA,MAACA,8BAAAA,MAAD;EACE,aAAU;EACV,SAAQ;EACR,MAAK;EACL,WAAWC,WAAAA,GAAG,gCAAgC,SAAS;EACvD,GAAI;YALN,CAOE,iBAAA,GAAA,kBAAA,MAAC,OAAD;GAAK,aAAU;GAAsB,WAAU;aAA/C,CACE,iBAAA,GAAA,kBAAA,KAACC,iCAAAA,SAAD;IAAS,aAAU;IAAqB,MAAK;cAC1C;GACM,CAAA,GACR,SAAS,iBAAA,GAAA,kBAAA,KAAC,OAAD;IAAK,aAAU;cAAuB;GAAY,CAAA,IAAI,IAC7D;MACL,iBAAA,GAAA,kBAAA,KAAC,OAAD;GAAK,aAAU;GAAqB;EAAc,CAAA,CAC9C;;AAEV"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as react_jsx_runtime215 from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/patterns/SectionCard/SectionCard.d.ts
|
|
5
|
+
type SectionCardProps = Omit<React.ComponentProps<"div">, "title"> & {
|
|
6
|
+
/** Section title rendered in the header. */
|
|
7
|
+
title: React.ReactNode;
|
|
8
|
+
/** Optional right-aligned action slot (e.g. a Button). */
|
|
9
|
+
action?: React.ReactNode;
|
|
10
|
+
};
|
|
11
|
+
/** Glass section panel with a header (title + optional action) and a body slot for arbitrary children. */
|
|
12
|
+
declare function SectionCard({
|
|
13
|
+
title,
|
|
14
|
+
action,
|
|
15
|
+
className,
|
|
16
|
+
children,
|
|
17
|
+
...props
|
|
18
|
+
}: SectionCardProps): react_jsx_runtime215.JSX.Element;
|
|
19
|
+
//#endregion
|
|
20
|
+
export { SectionCard, type SectionCardProps };
|
|
21
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","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,oBAAA,CAAA,GAAA,CAAA,OANxE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import * as react_jsx_runtime115 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/patterns/SectionCard/SectionCard.d.ts
|
|
5
|
+
type SectionCardProps = Omit<React.ComponentProps<"div">, "title"> & {
|
|
6
|
+
/** Section title rendered in the header. */
|
|
7
|
+
title: React.ReactNode;
|
|
8
|
+
/** Optional right-aligned action slot (e.g. a Button). */
|
|
9
|
+
action?: React.ReactNode;
|
|
10
|
+
};
|
|
11
|
+
/** Glass section panel with a header (title + optional action) and a body slot for arbitrary children. */
|
|
12
|
+
declare function SectionCard({
|
|
13
|
+
title,
|
|
14
|
+
action,
|
|
15
|
+
className,
|
|
16
|
+
children,
|
|
17
|
+
...props
|
|
18
|
+
}: SectionCardProps): react_jsx_runtime115.JSX.Element;
|
|
19
|
+
//#endregion
|
|
20
|
+
export { SectionCard, type SectionCardProps };
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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,oBAAA,CAAA,GAAA,CAAA,OANxE"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { t as cn } from "../../cn.js";
|
|
2
|
+
import { Card } from "../../primitives/Card/index.js";
|
|
3
|
+
import { Heading } from "../../primitives/Heading/index.js";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
//#region src/patterns/SectionCard/SectionCard.tsx
|
|
6
|
+
/** Glass section panel with a header (title + optional action) and a body slot for arbitrary children. */
|
|
7
|
+
function SectionCard({ title, action, className, children, ...props }) {
|
|
8
|
+
return /* @__PURE__ */ jsxs(Card, {
|
|
9
|
+
"data-slot": "section-card",
|
|
10
|
+
variant: "glass",
|
|
11
|
+
tint: "light",
|
|
12
|
+
className: cn("gap-5 rounded-2xl p-5 sm:p-6", className),
|
|
13
|
+
...props,
|
|
14
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
15
|
+
"data-slot": "section-card-header",
|
|
16
|
+
className: "flex items-center justify-between gap-3",
|
|
17
|
+
children: [/* @__PURE__ */ jsx(Heading, {
|
|
18
|
+
"data-slot": "section-card-title",
|
|
19
|
+
size: "3",
|
|
20
|
+
children: title
|
|
21
|
+
}), action ? /* @__PURE__ */ jsx("div", {
|
|
22
|
+
"data-slot": "section-card-action",
|
|
23
|
+
children: action
|
|
24
|
+
}) : null]
|
|
25
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
26
|
+
"data-slot": "section-card-body",
|
|
27
|
+
children
|
|
28
|
+
})]
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { SectionCard };
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/patterns/SectionCard/SectionCard.tsx"],"sourcesContent":["import type * as React from \"react\";\n\nimport { Card } from \"@/primitives/Card\";\nimport { Heading } from \"@/primitives/Heading\";\nimport { cn } from \"@/utils\";\n\n// SectionCard — a large glass \"section that contains cards\": a glass Card panel\n// with a header row (title + optional right-aligned action) and a body slot for\n// arbitrary children (e.g. a grid of cards or a MediaObjectGroup).\ntype SectionCardProps = Omit<React.ComponentProps<\"div\">, \"title\"> & {\n /** Section title rendered in the header. */\n title: React.ReactNode;\n /** Optional right-aligned action slot (e.g. a Button). */\n action?: React.ReactNode;\n};\n\n/** Glass section panel with a header (title + optional action) and a body slot for arbitrary children. */\nfunction SectionCard({ title, action, className, children, ...props }: SectionCardProps) {\n return (\n <Card\n data-slot=\"section-card\"\n variant=\"glass\"\n tint=\"light\"\n className={cn(\"gap-5 rounded-2xl p-5 sm:p-6\", className)}\n {...props}\n >\n <div data-slot=\"section-card-header\" className=\"flex items-center justify-between gap-3\">\n <Heading data-slot=\"section-card-title\" size=\"3\">\n {title}\n </Heading>\n {action ? <div data-slot=\"section-card-action\">{action}</div> : null}\n </div>\n <div data-slot=\"section-card-body\">{children}</div>\n </Card>\n );\n}\n\nexport { SectionCard, type SectionCardProps };\n"],"mappings":";;;;;;AAiBA,SAAS,YAAY,EAAE,OAAO,QAAQ,WAAW,UAAU,GAAG,SAA2B;CACvF,OACE,qBAAC,MAAD;EACE,aAAU;EACV,SAAQ;EACR,MAAK;EACL,WAAW,GAAG,gCAAgC,SAAS;EACvD,GAAI;YALN,CAOE,qBAAC,OAAD;GAAK,aAAU;GAAsB,WAAU;aAA/C,CACE,oBAAC,SAAD;IAAS,aAAU;IAAqB,MAAK;cAC1C;GACM,CAAA,GACR,SAAS,oBAAC,OAAD;IAAK,aAAU;cAAuB;GAAY,CAAA,IAAI,IAC7D;MACL,oBAAC,OAAD;GAAK,aAAU;GAAqB;EAAc,CAAA,CAC9C;;AAEV"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_cn = require("../../cn.cjs");
|
|
3
|
+
const require_primitives_Heading_index = require("../../primitives/Heading/index.cjs");
|
|
4
|
+
const require_primitives_Text_index = require("../../primitives/Text/index.cjs");
|
|
5
|
+
const require_layouts_Stack_index = require("../../layouts/Stack/index.cjs");
|
|
6
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
|
+
//#region src/patterns/SectionHeading/SectionHeading.tsx
|
|
8
|
+
/** A hero/section title block with an optional eyebrow, heading, and subtitle. */
|
|
9
|
+
function SectionHeading({ title, subtitle, eyebrow, align = "center", gradient = false, titleSize = "1", titleAs = "h2", className, ...props }) {
|
|
10
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_layouts_Stack_index.Stack, {
|
|
11
|
+
"data-slot": "section-heading",
|
|
12
|
+
gap: "sm",
|
|
13
|
+
align: align === "center" ? "center" : "start",
|
|
14
|
+
className: require_cn.cn(align === "center" && "text-center", className),
|
|
15
|
+
...props,
|
|
16
|
+
children: [
|
|
17
|
+
eyebrow ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Text_index.Text, {
|
|
18
|
+
"data-slot": "section-heading-eyebrow",
|
|
19
|
+
size: "caption",
|
|
20
|
+
variant: "muted",
|
|
21
|
+
children: eyebrow
|
|
22
|
+
}) : null,
|
|
23
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Heading_index.Heading, {
|
|
24
|
+
"data-slot": "section-heading-title",
|
|
25
|
+
as: titleAs,
|
|
26
|
+
size: titleSize,
|
|
27
|
+
gradient,
|
|
28
|
+
align,
|
|
29
|
+
children: title
|
|
30
|
+
}),
|
|
31
|
+
subtitle ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Text_index.Text, {
|
|
32
|
+
"data-slot": "section-heading-subtitle",
|
|
33
|
+
size: "large",
|
|
34
|
+
variant: "muted",
|
|
35
|
+
align,
|
|
36
|
+
children: subtitle
|
|
37
|
+
}) : null
|
|
38
|
+
]
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
exports.SectionHeading = SectionHeading;
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["Stack","cn","Text","Heading"],"sources":["../../../src/patterns/SectionHeading/SectionHeading.tsx"],"sourcesContent":["import type * as React from \"react\";\n\nimport { Stack } from \"@/layouts/Stack\";\nimport { Heading, type HeadingProps } from \"@/primitives/Heading\";\nimport { Text } from \"@/primitives/Text\";\nimport { cn } from \"@/utils\";\n\n// SectionHeading — a hero/section title block composed from the foundation\n// primitives: an optional eyebrow (caption Text), a Heading, and an optional\n// subtitle (large muted Text). Centered by default. Covers the landing hero,\n// the gradient login heading, and (via composition) stacked-heading layouts.\n/** Props for the {@link SectionHeading} pattern. */\ntype SectionHeadingProps = Omit<React.ComponentProps<\"div\">, \"title\"> & {\n /** The main heading content. */\n title: React.ReactNode;\n /** Optional supporting copy rendered below the heading. */\n subtitle?: React.ReactNode;\n /** Optional small label rendered above the heading. */\n eyebrow?: React.ReactNode;\n /** Horizontal alignment of the block. Defaults to `center`. */\n align?: \"center\" | \"left\";\n /** Render the title with the brand gradient fill. */\n gradient?: boolean;\n /** Visual size of the title (Heading scale). Defaults to `1`. */\n titleSize?: HeadingProps[\"size\"];\n /** Semantic element for the title. Defaults to `h2`. */\n titleAs?: React.ElementType;\n};\n\n/** A hero/section title block with an optional eyebrow, heading, and subtitle. */\nfunction SectionHeading({\n title,\n subtitle,\n eyebrow,\n align = \"center\",\n gradient = false,\n titleSize = \"1\",\n titleAs = \"h2\",\n className,\n ...props\n}: SectionHeadingProps) {\n return (\n <Stack\n data-slot=\"section-heading\"\n gap=\"sm\"\n align={align === \"center\" ? \"center\" : \"start\"}\n className={cn(align === \"center\" && \"text-center\", className)}\n {...props}\n >\n {eyebrow ? (\n <Text data-slot=\"section-heading-eyebrow\" size=\"caption\" variant=\"muted\">\n {eyebrow}\n </Text>\n ) : null}\n <Heading\n data-slot=\"section-heading-title\"\n as={titleAs}\n size={titleSize}\n gradient={gradient}\n align={align}\n >\n {title}\n </Heading>\n {subtitle ? (\n <Text data-slot=\"section-heading-subtitle\" size=\"large\" variant=\"muted\" align={align}>\n {subtitle}\n </Text>\n ) : null}\n </Stack>\n );\n}\n\nexport { SectionHeading, type SectionHeadingProps };\n"],"mappings":";;;;;;;;AA8BA,SAAS,eAAe,EACtB,OACA,UACA,SACA,QAAQ,UACR,WAAW,OACX,YAAY,KACZ,UAAU,MACV,WACA,GAAG,SACmB;CACtB,OACE,iBAAA,GAAA,kBAAA,MAACA,4BAAAA,OAAD;EACE,aAAU;EACV,KAAI;EACJ,OAAO,UAAU,WAAW,WAAW;EACvC,WAAWC,WAAAA,GAAG,UAAU,YAAY,eAAe,SAAS;EAC5D,GAAI;YALN;GAOG,UACC,iBAAA,GAAA,kBAAA,KAACC,8BAAAA,MAAD;IAAM,aAAU;IAA0B,MAAK;IAAU,SAAQ;cAC9D;GACG,CAAA,IACJ;GACJ,iBAAA,GAAA,kBAAA,KAACC,iCAAAA,SAAD;IACE,aAAU;IACV,IAAI;IACJ,MAAM;IACI;IACH;cAEN;GACM,CAAA;GACR,WACC,iBAAA,GAAA,kBAAA,KAACD,8BAAAA,MAAD;IAAM,aAAU;IAA2B,MAAK;IAAQ,SAAQ;IAAe;cAC5E;GACG,CAAA,IACJ;EACC;;AAEX"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { n as HeadingProps } from "../../index28.cjs";
|
|
2
|
+
import * as react_jsx_runtime202 from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/patterns/SectionHeading/SectionHeading.d.ts
|
|
6
|
+
/** Props for the {@link SectionHeading} pattern. */
|
|
7
|
+
type SectionHeadingProps = Omit<React.ComponentProps<"div">, "title"> & {
|
|
8
|
+
/** The main heading content. */
|
|
9
|
+
title: React.ReactNode;
|
|
10
|
+
/** Optional supporting copy rendered below the heading. */
|
|
11
|
+
subtitle?: React.ReactNode;
|
|
12
|
+
/** Optional small label rendered above the heading. */
|
|
13
|
+
eyebrow?: React.ReactNode;
|
|
14
|
+
/** Horizontal alignment of the block. Defaults to `center`. */
|
|
15
|
+
align?: "center" | "left";
|
|
16
|
+
/** Render the title with the brand gradient fill. */
|
|
17
|
+
gradient?: boolean;
|
|
18
|
+
/** Visual size of the title (Heading scale). Defaults to `1`. */
|
|
19
|
+
titleSize?: HeadingProps["size"];
|
|
20
|
+
/** Semantic element for the title. Defaults to `h2`. */
|
|
21
|
+
titleAs?: React.ElementType;
|
|
22
|
+
};
|
|
23
|
+
/** A hero/section title block with an optional eyebrow, heading, and subtitle. */
|
|
24
|
+
declare function SectionHeading({
|
|
25
|
+
title,
|
|
26
|
+
subtitle,
|
|
27
|
+
eyebrow,
|
|
28
|
+
align,
|
|
29
|
+
gradient,
|
|
30
|
+
titleSize,
|
|
31
|
+
titleAs,
|
|
32
|
+
className,
|
|
33
|
+
...props
|
|
34
|
+
}: SectionHeadingProps): react_jsx_runtime202.JSX.Element;
|
|
35
|
+
//#endregion
|
|
36
|
+
export { SectionHeading, type SectionHeadingProps };
|
|
37
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","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,oBAAA,CAAA,GAAA,CAAA,OANpB"}
|