diff --git a/src/components/demo-components/filemosaic-demo/CodeJSFileMosaicSmartImgFit.jsx b/src/components/demo-components/filemosaic-demo/CodeJSFileMosaicSmartImgFit.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..56b7b87d61b168597870411685720c2a7d042f78
--- /dev/null
+++ b/src/components/demo-components/filemosaic-demo/CodeJSFileMosaicSmartImgFit.jsx
@@ -0,0 +1,59 @@
+import * as React from "react";
+import ShowDemoCode from "../../show-demo-code/ShowDemoCode";
+
+const CodeJSFileMosaicSmartImgFit = (card) => {
+  return (
+    <ShowDemoCode
+      codeCompleteJS={completeCodeJS(card)}
+      codeCompleteTS={completeCodeTS(card)}
+      codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v"
+      codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v"
+      codeSplittedJS={splittedCodeJS(card)}
+      codeSplittedTS={splittedCodeTS(card)}
+    />
+  );
+};
+export default CodeJSFileMosaicSmartImgFit;
+
+const splittedCodeJS = (card)=>``;
+const splittedCodeTS = (card)=>``;
+
+const completeCodeTS = (card)=>`import * as React from "react";
+import { ${card?"FileCard":"FileMosaic"}, ExtFile } from "@files-ui/react";
+
+export default function App() {
+  return (
+    <>
+        <${card?"FileCard":"FileMosaic"}  {...sampleFileProp} info smartImgFit={false}/>
+        <${card?"FileCard":"FileMosaic"}  {...sampleFileProp} info smartImgFit={"orientation"}/>
+        <${card?"FileCard":"FileMosaic"}  {...sampleFileProp} info smartImgFit={"center"}/>
+    </>
+  );
+};
+const sampleFileProp: ExtFile = {
+    id: "fileId-1",
+    size: 28 * 1024 * 1024,
+    type: "image/gif",
+    name: "Thor arrives wakanda.png",
+    imageUrl: "https://64.media.tumblr.com/078a5af7a51d438b1c1ee5bd77f1b1e5/tumblr_p81qv7KIPa1rvufhzo3_r1_400.gif",
+};`;
+
+const completeCodeJS = (card)=>`import * as React from "react";
+import { ${card?"FileCard":"FileMosaic"} } from "@files-ui/react";
+
+export default function App() {
+  return (
+    <>
+        <${card?"FileCard":"FileMosaic"}  {...sampleFileProp} info smartImgFit={false}/>
+        <${card?"FileCard":"FileMosaic"}  {...sampleFileProp} info smartImgFit={"orientation"}/>
+        <${card?"FileCard":"FileMosaic"}  {...sampleFileProp} info smartImgFit={"center"}/>
+    </>
+  );
+};
+const sampleFileProp = {
+    id: "fileId-1",
+    size: 28 * 1024 * 1024,
+    type: "image/gif",
+    name: "Thor arrives wakanda.png",
+    imageUrl: "https://64.media.tumblr.com/078a5af7a51d438b1c1ee5bd77f1b1e5/tumblr_p81qv7KIPa1rvufhzo3_r1_400.gif",
+};`;
diff --git a/src/components/demo-components/filemosaic-demo/DemoFileMosaicSmartImgFit.tsx b/src/components/demo-components/filemosaic-demo/DemoFileMosaicSmartImgFit.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..778c2fb2e5a0725fc01e687a8742ec8e7466d9ca
--- /dev/null
+++ b/src/components/demo-components/filemosaic-demo/DemoFileMosaicSmartImgFit.tsx
@@ -0,0 +1,29 @@
+import * as React from "react";
+import { ExtFile, FileCard, FileMosaic } from "../../../files-ui";
+
+const DemoFileMosaicSmartImgFit = (props: { card: boolean }) => {
+  if (props.card)
+    return (
+      <>
+        <FileCard {...sampleFileProp} info smartImgFit={false} />
+        <FileCard {...sampleFileProp} info smartImgFit={"orientation"} />
+        <FileCard {...sampleFileProp} info smartImgFit={"center"} />
+      </>
+    );
+  return (
+    <>
+      <FileMosaic {...sampleFileProp} info smartImgFit={false} />
+      <FileMosaic {...sampleFileProp} info smartImgFit={"orientation"} />
+      <FileMosaic {...sampleFileProp} info smartImgFit={"center"} />
+    </>
+  );
+};
+export default DemoFileMosaicSmartImgFit;
+
+const sampleFileProp: ExtFile = {
+  id: "fileId-1",
+  size: 28 * 1024 * 1024,
+  type: "image/gif",
+  name: "Thor arrives wakanda.png",
+  imageUrl: "https://64.media.tumblr.com/078a5af7a51d438b1c1ee5bd77f1b1e5/tumblr_p81qv7KIPa1rvufhzo3_r1_400.gif",
+};
diff --git a/src/components/demo-components/filemosaic-demo/DemoFileMosaicValidation.jsx b/src/components/demo-components/filemosaic-demo/DemoFileMosaicValidation.jsx
index f02c9956d3ec6f0adf7b9d271f039aa20413fe1d..5d0f5aa78b01359204b717a01d6bd23cce319dc4 100644
--- a/src/components/demo-components/filemosaic-demo/DemoFileMosaicValidation.jsx
+++ b/src/components/demo-components/filemosaic-demo/DemoFileMosaicValidation.jsx
@@ -1,6 +1,26 @@
 import * as React from "react";
 import { FileCard, FileMosaic } from "../../../files-ui";
 
+const DemoFileMosaicValidation = ({ card }) => {
+  if (card)
+    return (
+      <>
+        {sampleFilesProps.map((extFile) => (
+          <FileCard key={extFile.id} {...extFile} info />
+        ))}
+      </>
+    );
+
+  return (
+    <>
+      {sampleFilesProps.map((extFile) => (
+        <FileMosaic key={extFile.id} {...extFile} info />
+      ))}
+    </>
+  );
+};
+export default DemoFileMosaicValidation;
+
 const sampleFilesProps = [
   {
     id: "fileId-1",
@@ -23,24 +43,4 @@ const sampleFilesProps = [
     name: "non valid file created from props.jpg",
     valid: true,
   },
-];
-
-const DemoFileMosaicValidation = ({ card }) => {
-  if (card)
-    return (
-      <>
-        {sampleFilesProps.map((extFile) => (
-          <FileCard key={extFile.id} {...extFile} info />
-        ))}
-      </>
-    );
-
-  return (
-    <>
-      {sampleFilesProps.map((extFile) => (
-        <FileMosaic key={extFile.id} {...extFile} info />
-      ))}
-    </>
-  );
-};
-export default DemoFileMosaicValidation;
+];
\ No newline at end of file
diff --git a/src/pages/demo/FileCardDemoPage.jsx b/src/pages/demo/FileCardDemoPage.jsx
index 6dcd66dfc78fc245cd93b6b5e239e916526210a3..23bce695875fa9a995327495dd36131f66c08c82 100644
--- a/src/pages/demo/FileCardDemoPage.jsx
+++ b/src/pages/demo/FileCardDemoPage.jsx
@@ -23,6 +23,8 @@ import DemoFileMosaicUploadStatus from "../../components/demo-components/filemos
 import CodeJSFileMosaicUploadStatus from "../../components/demo-components/filemosaic-demo/CodeJSFileMosaicUploadStatus";
 import DemoFileCardActions from "../../components/demo-components/filemosaic-demo/DemoFileCradActions";
 import CodeJSFileCardActions from "../../components/demo-components/filemosaic-demo/CodeJSFileCardActions";
+import DemoFileMosaicSmartImgFit from "../../components/demo-components/filemosaic-demo/DemoFileMosaicSmartImgFit";
+import CodeJSFileMosaicSmartImgFit from "../../components/demo-components/filemosaic-demo/CodeJSFileMosaicSmartImgFit";
 
 const FileCardDemoPage = (props) => {
   return (
@@ -321,7 +323,22 @@ const FileCardDemoPage = (props) => {
 
           <CodeJSFileMosaicDarkMode card />
         </section>
+        <section id="smart-image-fit">
+          <SubTitle content="Smart image fit" />
+          <DescParagraph>
+            <CodeHighlight>FileCard</CodeHighlight> with
+            <TypeHighlight>smartImgFit</TypeHighlight> prop will display image
+            according to its heigh and width. Image width height greater than
+            its width has a "portrait" orientation. Otherwise it has a
+            "landscape" orientation.
+          </DescParagraph>
 
+          <DemoContainerFileMosaic>
+            <DemoFileMosaicSmartImgFit card />
+          </DemoContainerFileMosaic>
+
+          <CodeJSFileMosaicSmartImgFit card />
+        </section>
         <section id="api">
           <SubTitle content="API" />
           <DescParagraph>
@@ -332,7 +349,8 @@ const FileCardDemoPage = (props) => {
             <li>
               <AnchorToTab href="/api/filecard">{"<FileCard/>"}</AnchorToTab>
             </li>
-            <li>|
+            <li>
+              |
               <AnchorToTab href="/api/fileinputbuttom">
                 {"<FileInputButton/>"}
               </AnchorToTab>
diff --git a/src/pages/demo/FileMosaicDemoPage.jsx b/src/pages/demo/FileMosaicDemoPage.jsx
index af381aaa5403ea9c6abfa032ad8c8543e4d7b264..d7f159e8ccb7020b706d6cb66b2b31e02beae258 100644
--- a/src/pages/demo/FileMosaicDemoPage.jsx
+++ b/src/pages/demo/FileMosaicDemoPage.jsx
@@ -27,6 +27,8 @@ import CodeJSFileMosaicDarkMode from "../../components/demo-components/filemosai
 import DemoFileMosaicFileIcons from "../../components/demo-components/filemosaic-demo/DemoFileMosaicFileIcons";
 import DemoFileCardActions from "../../components/demo-components/filemosaic-demo/DemoFileCradActions";
 import CodeJSFileCardActions from "../../components/demo-components/filemosaic-demo/CodeJSFileCardActions";
+import DemoFileMosaicSmartImgFit from "../../components/demo-components/filemosaic-demo/DemoFileMosaicSmartImgFit";
+import CodeJSFileMosaicSmartImgFit from "../../components/demo-components/filemosaic-demo/CodeJSFileMosaicSmartImgFit";
 
 const FileMosaicDemoPage = (props) => {
   return (
@@ -336,6 +338,23 @@ const FileMosaicDemoPage = (props) => {
           <CodeJSFileMosaicDarkMode />
         </section>
 
+        <section id="smart-image-fit">
+          <SubTitle content="Smart image fit" />
+          <DescParagraph>
+            <CodeHighlight>FileMosaic</CodeHighlight> with
+            <TypeHighlight>smartImgFit</TypeHighlight> prop will display image
+            according to its heigh and width. Image width height greater than
+            its width has a "portrait" orientation. Otherwise it has a
+            "landscape" orientation.
+          </DescParagraph>
+
+          <DemoContainerFileMosaic>
+            <DemoFileMosaicSmartImgFit />
+          </DemoContainerFileMosaic>
+
+          <CodeJSFileMosaicSmartImgFit />
+        </section>
+
         {/*   <section id="localization">
           <SubTitle content="Localization" />
           <DescParagraph>