diff --git a/src/components/MainPage/SecondaryRight/ExtraComponentsMainPageAvatar.tsx b/src/components/MainPage/SecondaryRight/ExtraComponentsMainPageAvatar.tsx index f26e9450d50fabf807528f9e6f56211bb67d33e3..34e67feb24cce2bf770fd00ac2bb6dce36880f23 100644 --- a/src/components/MainPage/SecondaryRight/ExtraComponentsMainPageAvatar.tsx +++ b/src/components/MainPage/SecondaryRight/ExtraComponentsMainPageAvatar.tsx @@ -63,7 +63,7 @@ const ExtraComponentsMainPageAvatar: React.FC<ExtraComponentsMainPageProps> = ( <Avatar src={avatarSrc} onChange={handleChange} - isUloading={isUloading} + isLoading={isUloading} smartImgFit={"center"} style={{ width: "170px", height: "170px" }} //variant={"circle"} @@ -71,7 +71,7 @@ const ExtraComponentsMainPageAvatar: React.FC<ExtraComponentsMainPageProps> = ( <Avatar src={avatarSrc} onChange={handleChange} - isUloading={isUloading} + isLoading={isUloading} smartImgFit={"center"} variant={"circle"} style={{ width: "170px", height: "170px" }} diff --git a/src/components/demo-components/avatar-demo/CodeDemoAvatarStyling.tsx b/src/components/demo-components/avatar-demo/CodeDemoAvatarStyling.tsx new file mode 100644 index 0000000000000000000000000000000000000000..b252eefc5ffada9ac16381463364ebda19182e42 --- /dev/null +++ b/src/components/demo-components/avatar-demo/CodeDemoAvatarStyling.tsx @@ -0,0 +1,38 @@ +import * as React from "react"; +import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; + +const CodeDemoAvatarStyling = () => { + return ( + <ShowDemoCode + codeCompleteJS={completeCodeJS} + codeCompleteTS={completeCodeTS} + codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" + codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" + codeSplittedJS={splittedCodeJS} + codeSplittedTS={splittedCodeTS} + /> + ); +}; +export default CodeDemoAvatarStyling; + +const splittedCodeJS = `<Avatar + readOnly + src={"https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg"} + alt="Isabella" +/>`; +const splittedCodeTS = splittedCodeJS; +const completeCodeJS = `import * as React from "react"; +import { Avatar } from "@files-ui/react"; +const BasicDemoAvatar = () => { + return ( + <Avatar + readOnly + src={"https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg"} + alt="Isabella" + /> + ); +}; +export default BasicDemoAvatar; +`; + +const completeCodeTS = completeCodeJS; diff --git a/src/components/demo-components/avatar-demo/DemoAvatarLabels.tsx b/src/components/demo-components/avatar-demo/DemoAvatarLabels.tsx new file mode 100644 index 0000000000000000000000000000000000000000..b5927e6ee4644def219f8dc8d30f9898d8038d72 --- /dev/null +++ b/src/components/demo-components/avatar-demo/DemoAvatarLabels.tsx @@ -0,0 +1,33 @@ +import * as React from "react"; +import { Avatar } from "../../../files-ui"; + +const DemoAvatarLabels = () => { + return ( + <> + <Avatar + //readOnly + src={""} + alt="Isabella" + emptyLabel={"You can choose an image..."} + onChange={() => {}} + /> + <Avatar + src={ + "https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg" + } + alt="Isabella" + changeLabel={"Do you want to change this amazing picture?"} + onChange={() => {}} + /> + <Avatar + src={ + "https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg" + } + alt="Isabella" + loadingLabel={"You can drink a cup of coffe in the meanwhile"} + isLoading={true} + /> + </> + ); +}; +export default DemoAvatarLabels; diff --git a/src/components/demo-components/avatar-demo/DemoAvatarLoading.tsx b/src/components/demo-components/avatar-demo/DemoAvatarLoading.tsx new file mode 100644 index 0000000000000000000000000000000000000000..f67f3981d38f655fbac41ee7e98e9ce7ba02ee00 --- /dev/null +++ b/src/components/demo-components/avatar-demo/DemoAvatarLoading.tsx @@ -0,0 +1,16 @@ +import * as React from "react"; +import { Avatar } from "../../../files-ui"; + +const DemoAvatarLoading = () => { + return ( + <Avatar + readOnly + src={ + "https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg" + } + alt="Isabella" + isLoading={true} + /> + ); +}; +export default DemoAvatarLoading; diff --git a/src/components/demo-components/avatar-demo/DemoAvatarStyling.tsx b/src/components/demo-components/avatar-demo/DemoAvatarStyling.tsx new file mode 100644 index 0000000000000000000000000000000000000000..6e8225867fa77be70c66941c3592442ab8bdcd13 --- /dev/null +++ b/src/components/demo-components/avatar-demo/DemoAvatarStyling.tsx @@ -0,0 +1,26 @@ +import * as React from "react"; +import { Avatar } from "../../../files-ui"; + +const DemoAvatarStyling = () => { + return ( + <> + <Avatar + readOnly + src={ + "https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg" + } + alt="Isabella" + style={{ width: "100px", height: "100px" }} + /> + <Avatar + readOnly + src={ + "https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg" + } + alt="Isabella" + borderRadius={"50px"} + /> + </> + ); +}; +export default DemoAvatarStyling; diff --git a/src/components/demo-components/avatar-demo/DemoAvatarVarians.tsx b/src/components/demo-components/avatar-demo/DemoAvatarVarians.tsx new file mode 100644 index 0000000000000000000000000000000000000000..ec37b8120225114beaf5326f35260d94ce546c8a --- /dev/null +++ b/src/components/demo-components/avatar-demo/DemoAvatarVarians.tsx @@ -0,0 +1,23 @@ +import * as React from "react"; +import { Avatar } from "../../../files-ui"; + +const DemoAvatarVariants = () => { + return ( + <> + <Avatar + readOnly + src={ + "https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg" + } + /> + <Avatar + readOnly + src={ + "https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg" + } + variant="circle" + /> + </> + ); +}; +export default DemoAvatarVariants; diff --git a/src/components/demo-components/avatar-demo/DmoAvatarSmartImgFit.tsx b/src/components/demo-components/avatar-demo/DmoAvatarSmartImgFit.tsx index c76aae7c57f3829469fb82a8abf8f8da3c2a278b..d90b41cb5e27653fb2862bc80648a187ce39bf62 100644 --- a/src/components/demo-components/avatar-demo/DmoAvatarSmartImgFit.tsx +++ b/src/components/demo-components/avatar-demo/DmoAvatarSmartImgFit.tsx @@ -1,5 +1,5 @@ import * as React from "react"; -import { Avatar, AvatarProps } from "../../../files-ui"; +import { Avatar } from "../../../files-ui"; interface DemoAvatarFallBackProps {} const landscapeImage = diff --git a/src/pages/demo/AvatarDemoPage.tsx b/src/pages/demo/AvatarDemoPage.tsx index 61aa39e6b3788ec02a37d169d12215ed04445916..30b9316e92bcb1e86f91bff09700730b59f638c0 100644 --- a/src/pages/demo/AvatarDemoPage.tsx +++ b/src/pages/demo/AvatarDemoPage.tsx @@ -18,6 +18,11 @@ import CodeDemoAvatarFallBack from "../../components/demo-components/avatar-demo import AnchorToTab from "../../components/util-components/AnchorToTab"; import DemoAvatarSmartImgFit from "../../components/demo-components/avatar-demo/DmoAvatarSmartImgFit"; import CodeDemoAvatarSmartFit from "../../components/demo-components/avatar-demo/CodeDemoAvatarSmartFit"; +import DemoAvatarStyling from "../../components/demo-components/avatar-demo/DemoAvatarStyling"; +import CodeDemoAvatarStyling from "../../components/demo-components/avatar-demo/CodeDemoAvatarStyling"; +import DemoAvatarLabels from "../../components/demo-components/avatar-demo/DemoAvatarLabels"; +import DemoAvatarVariants from "../../components/demo-components/avatar-demo/DemoAvatarVarians"; +import DemoAvatarLoading from "../../components/demo-components/avatar-demo/DemoAvatarLoading"; interface AvatarDemoPageProps {} const AvatarDemoPage: React.FC<AvatarDemoPageProps> = ( @@ -121,7 +126,6 @@ const AvatarDemoPage: React.FC<AvatarDemoPageProps> = ( variant="outlined" style={{ padding: "25px", - //padding:"auto", display: "flex", width: "100%", justifyContent: "space-evenly", @@ -135,6 +139,110 @@ const AvatarDemoPage: React.FC<AvatarDemoPageProps> = ( <CodeDemoAvatarSmartFit /> </section> + <section id="loading"> + <SubTitle content="Loading" /> + <DescParagraph> + You can use the prop <TypeHighlight>isLoading</TypeHighlight> when + you want to communicate that something is loading. + </DescParagraph> + <Paper + variant="outlined" + style={{ + padding: "25px", + display: "flex", + width: "100%", + justifyContent: "center", + }} + > + <DemoAvatarLoading /> + </Paper> + <CodeDemoAvatarBasic /> + </section> + + <section id="variants"> + <SubTitle content="Variants" /> + <DescParagraph> + Avatar component comes in 2 variants: "circle" and "square". + </DescParagraph> + <Paper + variant="outlined" + style={{ + padding: "25px", + display: "flex", + width: "100%", + justifyContent: "space-evenly", + flexWrap: "wrap", + gap: "50px", + }} + > + <DemoAvatarVariants /> + </Paper> + <CodeDemoAvatarBasic /> + </section> + + <section id="styling"> + <SubTitle content="Styling" /> + <DescParagraph> + You can define the <TypeHighlight>style</TypeHighlight> prop for + changing the styles applied to the main container such us the{" "} + <TypeHighlight>width</TypeHighlight> o the{" "} + <TypeHighlight>height</TypeHighlight>. + <br /> + Also you can use directly the prop{" "} + <TypeHighlight>borderRadius</TypeHighlight> to specify how rounde + you preffer the borders. + </DescParagraph> + <Paper + variant="outlined" + style={{ + padding: "25px", + display: "flex", + width: "100%", + justifyContent: "space-evenly", + flexWrap: "wrap", + gap: "50px", + }} + > + <DemoAvatarStyling /> + </Paper> + <CodeDemoAvatarStyling /> + </section> + + <section id="labels"> + <SubTitle content="Labels" /> + <DescParagraph> + You can specify the content of the texts: + <ul> + <li> + <CodeHighlight>emptyLabel</CodeHighlight>: when the source is + not set. + </li> + <li> + <CodeHighlight>changeLabel</CodeHighlight>: when there i a valid + source set. + </li> + <li> + <CodeHighlight>uploadingLabel</CodeHighlight>: when you want to + communicate that something is loading. + </li> + </ul> + </DescParagraph> + <Paper + variant="outlined" + style={{ + padding: "25px", + display: "flex", + width: "100%", + justifyContent: "space-evenly", + flexWrap: "wrap", + gap: "50px", + }} + > + <DemoAvatarLabels /> + </Paper> + <CodeDemoAvatarStyling /> + </section> + <section id="api"> <SubTitle content="API" /> <DescParagraph> @@ -180,8 +288,8 @@ const rightMenuItems = [ }, { id: 5, - label: "Uploading & loading", - referTo: "/components/avatar#uploading", + label: "Loading", + referTo: "/components/avatar#loading", }, { id: 6,