From bc32d306e2c763d159d854880628a7263dc42a27 Mon Sep 17 00:00:00 2001
From: Radwan Alhourani <32372529+rhourani@users.noreply.github.com>
Date: Thu, 21 Oct 2021 14:41:50 +0300
Subject: [PATCH 1/4] sc-charretto-code-lib
storbook lib and related peer-dependecies to it has been upgraded in package.json
storybook knob has been deleted from the project in packages.json and storybook/main.js
This push contains the Charretto Feature user story 3 as a library of components and contains thier complete web page
It also contains Testimonial Slider two components .. Slider and Review Card
---
.gitattributes | 2 +
README.md | 2 +
package.json | 12 +-
packages/boilerplate/src/Test.js | 3 -
packages/boilerplate/src/index.js | 3 -
.../boilerplate/stories/000-Intro.stories.mdx | 7 -
.../stories/Chakra-test.stories.js | 10 -
packages/boilerplate/stories/Test.stories.js | 8 -
...tch project defaults.....preview-head.html | 0
...dd svg import support....webpack.config.js | 0
.../.storybook/main.js | 2 +-
.../.storybook/preview.js | 0
.../{boilerplate => charretto_F3}/README.md | 0
.../__tests__/boilerplate.test.js | 0
.../package.json | 24 ++-
packages/charretto_F3/src/HeadNavBar.js | 133 ++++++++++++
.../src/HeaderWithA3dotsMenuIcon.js | 51 +++++
.../src/LeftSideBarNavHoverBox.js | 47 +++++
.../charretto_F3/src/LeftSideBarNavItem.js | 47 +++++
packages/charretto_F3/src/LeftSidebar.js | 47 +++++
.../charretto_F3/src/PRDAppGridsStructure.js | 189 ++++++++++++++++++
.../charretto_F3/src/Right_Side_App_Card.js | 188 +++++++++++++++++
.../charretto_F3/src/Right_Side_Link_Item.js | 28 +++
.../charretto_F3/src/Right_Side_Links_Card.js | 51 +++++
.../SubComponent_ItemInsideExpandableCard.js | 91 +++++++++
.../TitleDescription_InputExpandableCard.js | 183 +++++++++++++++++
...TitleDescription_ItemListExpandableCard.js | 156 +++++++++++++++
.../charretto_F3/src/assets/images/api.png | Bin 0 -> 649 bytes
.../src/assets/images/charetto_logo.png | Bin 0 -> 820 bytes
.../charretto_F3/src/assets/images/figma.png | Bin 0 -> 459 bytes
.../src/assets/images/github-logo.png | Bin 0 -> 4268 bytes
.../src/assets/images/google_drive_logo.png | Bin 0 -> 2331 bytes
.../src/assets/images/graphcms.png | Bin 0 -> 377 bytes
.../charretto_F3/src/assets/images/logo.svg | 1 +
.../charretto_F3/src/assets/images/slack.png | Bin 0 -> 568 bytes
.../src/assets/images/twitter.png | Bin 0 -> 20780 bytes
.../charretto_F3/src/assets/images/user.jpg | Bin 0 -> 208681 bytes
.../src/assets/images/whimsical.png | Bin 0 -> 743 bytes
.../charretto_F3/src/assets/images/www.png | Bin 0 -> 776 bytes
packages/charretto_F3/src/index.js | 4 +
.../src/testimonialSlider/ReviewCard.js | 179 +++++++++++++++++
.../src/testimonialSlider/Slider.js | 47 +++++
.../stories/HeadNavBar.stories.js | 17 ++
.../HeaderWithA3dotsMenuIcon.stories.js | 15 ++
.../stories/LeftSideBarNavHoverBox.stories.js | 16 ++
.../stories/LeftSideBarNavItem.stories.js | 19 ++
.../stories/LeftSidebar.stories.js | 19 ++
.../stories/PRDAppGridsStructure.stories.js | 14 ++
.../stories/ReviewCard.stories.js | 28 +++
.../stories/Right_Side_App_Card.stories.js | 24 +++
.../stories/Right_Side_Link_Item.stories.js | 15 ++
.../stories/Right_Side_Links_Card.stories.js | 17 ++
...ponent_ItemInsideExpandableCard.stories.js | 16 ++
...Description_InputExpandableCard.stories.js | 17 ++
...cription_ItemListExpandableCard.stories.js | 18 ++
55 files changed, 1702 insertions(+), 48 deletions(-)
create mode 100644 .gitattributes
create mode 100644 README.md
delete mode 100644 packages/boilerplate/src/Test.js
delete mode 100644 packages/boilerplate/src/index.js
delete mode 100644 packages/boilerplate/stories/000-Intro.stories.mdx
delete mode 100644 packages/boilerplate/stories/Chakra-test.stories.js
delete mode 100644 packages/boilerplate/stories/Test.stories.js
rename packages/{boilerplate => charretto_F3}/.storybook/change this to match project defaults.....preview-head.html (100%)
rename packages/{boilerplate => charretto_F3}/.storybook/how to add svg import support....webpack.config.js (100%)
rename packages/{boilerplate => charretto_F3}/.storybook/main.js (95%)
rename packages/{boilerplate => charretto_F3}/.storybook/preview.js (100%)
rename packages/{boilerplate => charretto_F3}/README.md (100%)
rename packages/{boilerplate => charretto_F3}/__tests__/boilerplate.test.js (100%)
rename packages/{boilerplate => charretto_F3}/package.json (68%)
create mode 100644 packages/charretto_F3/src/HeadNavBar.js
create mode 100644 packages/charretto_F3/src/HeaderWithA3dotsMenuIcon.js
create mode 100644 packages/charretto_F3/src/LeftSideBarNavHoverBox.js
create mode 100644 packages/charretto_F3/src/LeftSideBarNavItem.js
create mode 100644 packages/charretto_F3/src/LeftSidebar.js
create mode 100644 packages/charretto_F3/src/PRDAppGridsStructure.js
create mode 100644 packages/charretto_F3/src/Right_Side_App_Card.js
create mode 100644 packages/charretto_F3/src/Right_Side_Link_Item.js
create mode 100644 packages/charretto_F3/src/Right_Side_Links_Card.js
create mode 100644 packages/charretto_F3/src/SubComponent_ItemInsideExpandableCard.js
create mode 100644 packages/charretto_F3/src/TitleDescription_InputExpandableCard.js
create mode 100644 packages/charretto_F3/src/TitleDescription_ItemListExpandableCard.js
create mode 100644 packages/charretto_F3/src/assets/images/api.png
create mode 100644 packages/charretto_F3/src/assets/images/charetto_logo.png
create mode 100644 packages/charretto_F3/src/assets/images/figma.png
create mode 100644 packages/charretto_F3/src/assets/images/github-logo.png
create mode 100644 packages/charretto_F3/src/assets/images/google_drive_logo.png
create mode 100644 packages/charretto_F3/src/assets/images/graphcms.png
create mode 100644 packages/charretto_F3/src/assets/images/logo.svg
create mode 100644 packages/charretto_F3/src/assets/images/slack.png
create mode 100644 packages/charretto_F3/src/assets/images/twitter.png
create mode 100644 packages/charretto_F3/src/assets/images/user.jpg
create mode 100644 packages/charretto_F3/src/assets/images/whimsical.png
create mode 100644 packages/charretto_F3/src/assets/images/www.png
create mode 100644 packages/charretto_F3/src/index.js
create mode 100644 packages/charretto_F3/src/testimonialSlider/ReviewCard.js
create mode 100644 packages/charretto_F3/src/testimonialSlider/Slider.js
create mode 100644 packages/charretto_F3/stories/HeadNavBar.stories.js
create mode 100644 packages/charretto_F3/stories/HeaderWithA3dotsMenuIcon.stories.js
create mode 100644 packages/charretto_F3/stories/LeftSideBarNavHoverBox.stories.js
create mode 100644 packages/charretto_F3/stories/LeftSideBarNavItem.stories.js
create mode 100644 packages/charretto_F3/stories/LeftSidebar.stories.js
create mode 100644 packages/charretto_F3/stories/PRDAppGridsStructure.stories.js
create mode 100644 packages/charretto_F3/stories/ReviewCard.stories.js
create mode 100644 packages/charretto_F3/stories/Right_Side_App_Card.stories.js
create mode 100644 packages/charretto_F3/stories/Right_Side_Link_Item.stories.js
create mode 100644 packages/charretto_F3/stories/Right_Side_Links_Card.stories.js
create mode 100644 packages/charretto_F3/stories/SubComponent_ItemInsideExpandableCard.stories.js
create mode 100644 packages/charretto_F3/stories/TitleDescription_InputExpandableCard.stories.js
create mode 100644 packages/charretto_F3/stories/TitleDescription_ItemListExpandableCard.stories.js
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..dfe0770
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+# Auto detect text files and perform LF normalization
+* text=auto
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..07ddb04
--- /dev/null
+++ b/README.md
@@ -0,0 +1,2 @@
+# common-components
+ sc-trainesship-charretto-code-library
diff --git a/package.json b/package.json
index 38894c6..0a16bca 100644
--- a/package.json
+++ b/package.json
@@ -9,17 +9,17 @@
"@babel/core": "^7.12.10",
"@babel/preset-env": "^7.12.11",
"@babel/preset-react": "^7.12.10",
- "@storybook/addon-actions": "^6.2.8",
- "@storybook/addon-controls": "^6.2.8",
- "@storybook/addon-docs": "^6.2.8",
- "@storybook/addon-knobs": "^6.2.8",
- "@storybook/addon-links": "^6.2.8",
- "@storybook/addon-storyshots": "^6.2.8",
+ "@storybook/addon-actions": "^6.3.8",
+ "@storybook/addon-controls": "^6.3.8",
+ "@storybook/addon-docs": "^6.3.8",
+ "@storybook/addon-links": "^6.3.8",
+ "@storybook/addon-storyshots": "^6.3.8",
"@styled-system/theme-get": "^5.1.2",
"babel-eslint": "^10.1.0",
"babel-jest": "^26.1.0",
"babel-loader": "^8.2.2",
"babel-plugin-styled-components": "^1.12.0",
+ "chromatic": "^6.0.4",
"cross-env": "^7.0.3",
"eslint": "^6.8.0",
"eslint-plugin-import": "^2.20.1",
diff --git a/packages/boilerplate/src/Test.js b/packages/boilerplate/src/Test.js
deleted file mode 100644
index 5a22043..0000000
--- a/packages/boilerplate/src/Test.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export const getInfo = () => {
- return ["Testing"];
-};
diff --git a/packages/boilerplate/src/index.js b/packages/boilerplate/src/index.js
deleted file mode 100644
index 16721d1..0000000
--- a/packages/boilerplate/src/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import { getInfo } from "./Test";
-const Test = { getInfo };
-export default Test;
diff --git a/packages/boilerplate/stories/000-Intro.stories.mdx b/packages/boilerplate/stories/000-Intro.stories.mdx
deleted file mode 100644
index 5961677..0000000
--- a/packages/boilerplate/stories/000-Intro.stories.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
-import { Meta, Story, Preview } from "@storybook/addon-docs/blocks";
-
-
-
-# Get started
-
-The goal is to make building durable UIs more productive and satisfying.
diff --git a/packages/boilerplate/stories/Chakra-test.stories.js b/packages/boilerplate/stories/Chakra-test.stories.js
deleted file mode 100644
index fb06c7b..0000000
--- a/packages/boilerplate/stories/Chakra-test.stories.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import { Button } from "@chakra-ui/react";
-
-export default { title: "Chakra test" };
-
-export const test2 = () => (
-
-);
-test2.story = {
- name: "Chakra test",
-};
diff --git a/packages/boilerplate/stories/Test.stories.js b/packages/boilerplate/stories/Test.stories.js
deleted file mode 100644
index 4ea0c0f..0000000
--- a/packages/boilerplate/stories/Test.stories.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import React from "react";
-
-export default { title: "Test" };
-
-export const test = () =>
Testing...
;
-test.story = {
- name: "Test",
-};
diff --git a/packages/boilerplate/.storybook/change this to match project defaults.....preview-head.html b/packages/charretto_F3/.storybook/change this to match project defaults.....preview-head.html
similarity index 100%
rename from packages/boilerplate/.storybook/change this to match project defaults.....preview-head.html
rename to packages/charretto_F3/.storybook/change this to match project defaults.....preview-head.html
diff --git a/packages/boilerplate/.storybook/how to add svg import support....webpack.config.js b/packages/charretto_F3/.storybook/how to add svg import support....webpack.config.js
similarity index 100%
rename from packages/boilerplate/.storybook/how to add svg import support....webpack.config.js
rename to packages/charretto_F3/.storybook/how to add svg import support....webpack.config.js
diff --git a/packages/boilerplate/.storybook/main.js b/packages/charretto_F3/.storybook/main.js
similarity index 95%
rename from packages/boilerplate/.storybook/main.js
rename to packages/charretto_F3/.storybook/main.js
index fe4e438..b3adf78 100644
--- a/packages/boilerplate/.storybook/main.js
+++ b/packages/charretto_F3/.storybook/main.js
@@ -6,7 +6,7 @@ module.exports = {
addons: [
"@storybook/addon-actions/register",
"@storybook/addon-links/register",
- "@storybook/addon-knobs/register",
+ //"@storybook/addon-knobs/register",
{
name: "@storybook/addon-docs",
options: {
diff --git a/packages/boilerplate/.storybook/preview.js b/packages/charretto_F3/.storybook/preview.js
similarity index 100%
rename from packages/boilerplate/.storybook/preview.js
rename to packages/charretto_F3/.storybook/preview.js
diff --git a/packages/boilerplate/README.md b/packages/charretto_F3/README.md
similarity index 100%
rename from packages/boilerplate/README.md
rename to packages/charretto_F3/README.md
diff --git a/packages/boilerplate/__tests__/boilerplate.test.js b/packages/charretto_F3/__tests__/boilerplate.test.js
similarity index 100%
rename from packages/boilerplate/__tests__/boilerplate.test.js
rename to packages/charretto_F3/__tests__/boilerplate.test.js
diff --git a/packages/boilerplate/package.json b/packages/charretto_F3/package.json
similarity index 68%
rename from packages/boilerplate/package.json
rename to packages/charretto_F3/package.json
index db2f7d0..1105b34 100644
--- a/packages/boilerplate/package.json
+++ b/packages/charretto_F3/package.json
@@ -1,8 +1,8 @@
{
- "name": "@ecosystemos/boilerplate",
+ "name": "@ecosystemos/charretto_f3",
"version": "0.0.0",
- "description": "Component development boilerplate",
- "author": "Tero ",
+ "description": "Charretto Application F3",
+ "author": "tero Radwan Alhourani ",
"license": "MIT",
"main": "dist/esm/index.js",
"publishConfig": {
@@ -23,14 +23,17 @@
"@babel/core": "^7.9.0",
"@babel/preset-env": "^7.9.5",
"@babel/preset-react": "^7.9.4",
- "@storybook/addon-actions": "^6.2.8",
- "@storybook/addon-storyshots": "^6.2.8",
- "@storybook/addon-docs": "^6.2.8",
- "@storybook/addon-controls": "^6.2.8",
- "@storybook/addon-knobs": "^6.2.8",
- "@storybook/addon-links": "^6.2.8",
+ "@storybook/addon-actions": "^6.3.8",
+ "@storybook/addon-storyshots": "^6.3.8",
+ "@storybook/addon-docs": "^6.3.8",
+ "@storybook/addon-controls": "^6.3.8",
+ "@storybook/addon-links": "^6.3.8",
- "@storybook/react": "^6.0.16",
+ "@iconify/react": "^3.0.1",
+ "react-responsive-carousel": "^3.2.20",
+ "chromatic": "^6.0.4",
+
+ "@storybook/react": "^6.3.7",
"@styled-system/prop-types": "^5.1.5",
"babel-eslint": "^10.1.0",
"babel-jest": "^26.1.0",
@@ -40,6 +43,7 @@
"react": ">=16.8.6",
"react-dom": ">=16.8.6",
"@chakra-ui/react": "^1.5.1",
+ "@chakra-ui/icons": "^1.0.15",
"@emotion/react": "^11",
"@emotion/styled": "^11",
"framer-motion": "^4"
diff --git a/packages/charretto_F3/src/HeadNavBar.js b/packages/charretto_F3/src/HeadNavBar.js
new file mode 100644
index 0000000..1b3f3d6
--- /dev/null
+++ b/packages/charretto_F3/src/HeadNavBar.js
@@ -0,0 +1,133 @@
+import charetto_logo from './assets/images/charetto_logo.png';
+import PropTypes from 'prop-types';
+
+import {
+ Box,
+ Flex,
+ Avatar,
+ HStack,
+ Link,
+ IconButton,
+ Button,
+ Menu,
+ MenuButton,
+ MenuList,
+ MenuItem,
+ MenuDivider,
+ useDisclosure,
+ useColorModeValue,
+ Stack,
+ Image,
+} from '@chakra-ui/react';
+import { HamburgerIcon, CloseIcon, BellIcon } from '@chakra-ui/icons';
+import { Icon } from '@iconify/react';
+import styled from "styled-components";
+
+const whitecons = {
+ color: 'white',
+ letterSpacing: '0.02em',
+}
+
+const Links = ['Dashboard', 'Products', 'Calendar'];
+
+const NavLink = ({ children }) => (
+
+ {children}
+
+);
+
+export const HeadNavBar = ({title,avatarMenuItemText,avatarMenuItemText2,avatarMenuItemText3,...props}) => {
+ const { isOpen, onOpen, onClose } = useDisclosure();
+
+ return (
+ <>
+
+
+ : }
+ aria-label={'Open Menu'}
+ display={{ md: 'none' }}
+ onClick={isOpen ? onClose : onOpen}
+ />
+
+
+ {title}
+
+
+
+
+ {Links.map((link) => (
+ {link}
+ ))}
+
+ }
+ >
+ Action
+
+
+
+
+
+ {isOpen ? (
+
+
+ {Links.map((link) => (
+ {link}
+ ))}
+
+
+ ) : null}
+
+
+ {/* Main Content Here */}
+ >
+ );
+}
+HeadNavBar.propTypes = {
+ title: PropTypes.string.isRequired,
+ avatarMenuItemText: PropTypes.string.isRequired,
+ avatarMenuItemText2: PropTypes.string.isRequired,
+ avatarMenuItemText3: PropTypes.string.isRequired,
+};
\ No newline at end of file
diff --git a/packages/charretto_F3/src/HeaderWithA3dotsMenuIcon.js b/packages/charretto_F3/src/HeaderWithA3dotsMenuIcon.js
new file mode 100644
index 0000000..344998b
--- /dev/null
+++ b/packages/charretto_F3/src/HeaderWithA3dotsMenuIcon.js
@@ -0,0 +1,51 @@
+import {
+ Flex,
+ Heading,
+ Divider,
+} from '@chakra-ui/react';
+import styled from "styled-components";
+import { Icon } from '@iconify/react';
+import PropTypes from 'prop-types';
+
+const FlexParent = styled.div`
+ display:flex;
+ justify-content:space-between;
+ padding: 3.5% 1% 0 0;
+ overflow-x:auto;
+ align-items:center;
+`;
+const FlexInnerParent = styled.div`
+flex-dir:column;
+`;
+const HeadingStyles = styled.div`
+font-weight:normal;
+ font-family:Lucida Sans;
+ font-weight:600;
+ line-height:36px;
+ letter-spacing:tight;
+ font-size:24px;
+ color:#276749;
+`;
+const FlexIcon = styled.div`
+ color:#276749;
+ font-size:24px;
+`;
+
+export const HeaderWithA3dotsMenuIcon = ({ title, icon, ...props }) => {
+ return (
+
+
+ {title}
+
+
+
+
+
+
+ )
+}
+
+HeaderWithA3dotsMenuIcon.propTypes = {
+ title: PropTypes.string.isRequired,
+ icon: PropTypes.string.isRequired,
+};
\ No newline at end of file
diff --git a/packages/charretto_F3/src/LeftSideBarNavHoverBox.js b/packages/charretto_F3/src/LeftSideBarNavHoverBox.js
new file mode 100644
index 0000000..be70b15
--- /dev/null
+++ b/packages/charretto_F3/src/LeftSideBarNavHoverBox.js
@@ -0,0 +1,47 @@
+import React from 'react'
+import {
+ Flex,
+ Heading,
+ Text,
+ Icon//use iconify to show the icon -- now it shows ""?""
+} from '@chakra-ui/react'
+import PropTypes from 'prop-types';
+//import { Icon } from '@iconify/react'; // use this lib
+
+export const LeftSideBarNavHoverBox=({ titleLeftSideBarNavHoverBox, iconLeftSideBarNavHoverBox, descriptionLeftSideBarNavHoverBox,...props }) =>{
+ return (
+ <>
+
+
+
+ {titleLeftSideBarNavHoverBox}
+ {descriptionLeftSideBarNavHoverBox}
+
+ >
+ )
+}
+LeftSideBarNavHoverBox.propTypes = {
+ titleLeftSideBarNavHoverBox: PropTypes.string.isRequired,
+ iconLeftSideBarNavHoverBox: PropTypes.string.isRequired,
+ descriptionLeftSideBarNavHoverBox: PropTypes.string.isRequired,
+ };
\ No newline at end of file
diff --git a/packages/charretto_F3/src/LeftSideBarNavItem.js b/packages/charretto_F3/src/LeftSideBarNavItem.js
new file mode 100644
index 0000000..aec2bb4
--- /dev/null
+++ b/packages/charretto_F3/src/LeftSideBarNavItem.js
@@ -0,0 +1,47 @@
+import React from 'react'
+import {
+ Flex,
+ Text,
+ Link,
+ Menu,
+ MenuButton,
+} from '@chakra-ui/react'
+import { Icon } from '@iconify/react';
+import PropTypes from 'prop-types';
+
+export const LeftSideBarNavItem = ({ iconLeftSideBarNavItem, titleLeftSideBarNavItem,linkLeftSideBarNavItem, descriptionLeftSideBarNavItem, activeLeftSideBarNavItem, navSizeLeftSideBarNavItem, ...props }) => {
+ return (
+
+
+
+ )
+}
+LeftSideBarNavItem.propTypes = {
+ titleLeftSideBarNavItem: PropTypes.string.isRequired,
+ iconLeftSideBarNavItem: PropTypes.string.isRequired,
+ linkLeftSideBarNavItem: PropTypes.string.isRequired,
+ activeLeftSideBarNavItem: PropTypes.bool.isRequired,
+ navSizeLeftSideBarNavItem: PropTypes.string.isRequired,
+ descriptionLeftSideBarNavItem: PropTypes.string.isRequired,
+ };
\ No newline at end of file
diff --git a/packages/charretto_F3/src/LeftSidebar.js b/packages/charretto_F3/src/LeftSidebar.js
new file mode 100644
index 0000000..1a6472e
--- /dev/null
+++ b/packages/charretto_F3/src/LeftSidebar.js
@@ -0,0 +1,47 @@
+/**
+ * TODO: Need converting to styled-components
+ */
+import React, { useState } from 'react'
+import {LeftSideBarNavItem} from './LeftSideBarNavItem'
+import {
+ Flex,
+} from '@chakra-ui/react'
+import styled from "styled-components";
+import PropTypes from 'prop-types';
+
+const FlexParent = styled.div`
+ display: flex;
+ justify-content: space-between;
+ align-items: flex-start;
+`;
+
+export const LeftSidebar = ({titleNavItem,descriptionNavItem,navSizeNavItem,iconNavItem,...props}) => {
+ const [navSize, changeNavSize] = useState("large")
+ return (
+
+
+
+
+
+
+
+
+
+ )
+}
+LeftSidebar.propTypes = {
+ titleNavItem: PropTypes.string.isRequired,
+ iconNavItem: PropTypes.string.isRequired,
+ };
diff --git a/packages/charretto_F3/src/PRDAppGridsStructure.js b/packages/charretto_F3/src/PRDAppGridsStructure.js
new file mode 100644
index 0000000..0e5712c
--- /dev/null
+++ b/packages/charretto_F3/src/PRDAppGridsStructure.js
@@ -0,0 +1,189 @@
+import {LeftSidebar} from './LeftSidebar'
+import {
+ Flex,
+ Grid,
+ GridItem,
+ Button,
+} from '@chakra-ui/react';
+import {TitleDescriptionInputExpandableCard} from './TitleDescription_InputExpandableCard';
+import {TitleDescriptionItemListExpandableCard} from './TitleDescription_ItemListExpandableCard';
+import {RightSideAppCard} from './Right_Side_App_Card';
+import {RightSideLinksCard} from './Right_Side_Links_Card';
+import {HeaderWithA3dotsMenuIcon} from './HeaderWithA3dotsMenuIcon';
+import {HeadNavBar} from './HeadNavBar'
+
+//import {NoItemCards,CreateNoItemCard,UpdateNoItemCard} from './../../data/queries';
+//import { useQuery,useMutation} from "@apollo/client";
+//import {connect} from "reacr-redux";
+import PropTypes from "prop-types";
+
+export const PRDAppGridsStructure = ({ text, url }) => {
+ //const {data, loading, error} = useQuery(NoItemCards);
+ //const [addCard,{dataCreateResponse, loadingCreateResponse, errorCreateResponse}] = useMutation(CreateNoItemCard);
+ //const [updateCard,{dataUpdateResponse, loadingUpdateResponse, errorUpdateResponse}] = useMutation(UpdateNoItemCard, {
+ // variables: {
+ // id: "cktwq4lnkebg70b08p988h3gd",
+ // content: "Vision update param",
+ // },
+ // });
+
+ // if(loading){
+ // return();
+ // }
+ // if(error){
+ // return();
+ // }
+
+ const data = [
+ {
+ "title": "Vision updated",
+ "description": "Where do we want out product to be in the future",
+ "contentInputPlaceHolder": "Click here to start editing...",
+ "content": "Vision content Updated",
+ "order": 1
+ },
+ {
+ "title": "Description",
+ "description": "General Description of the application",
+ "contentInputPlaceHolder": "Click here to start editing...",
+ "content": null,
+ "order": 2
+ },
+ {
+ "title": "Purpose",
+ "description": "What is the key use case, purpose or mission statment for this application from the users' perspective and from our perspective?",
+ "contentInputPlaceHolder": "Click here to start editing...",
+ "content": null,
+ "order": 3
+ },
+ {
+ "title": "User Problem",
+ "description": "Pain point(s) or challenge(s) user(s) have in the markets and existing solutions. Why are we building this?",
+ "contentInputPlaceHolder": "Click here to start editing...",
+ "content": null,
+ "order": 4
+ },
+ {
+ "title": "User Value",
+ "description": "How the propsed solution generates values for the user(s)?",
+ "contentInputPlaceHolder": "Click here to start editing...",
+ "content": null,
+ "order": 5
+ },
+ {
+ "title": "Assumptions & Decisions",
+ "description": "Key bussiness logic, user experience an/or technical architeracture related assumptions & decisions concluded for this solution",
+ "contentInputPlaceHolder": "Click here to start editing...",
+ "content": null,
+ "order": 6
+ }
+ ]
+
+ return (
+ <>
+
+
+
+
+ {/* Column 1 */}
+
+
+
+
+
+ {/* Column 2 */}
+
+ {/* */}
+
+
+
+ {createCard(data)}
+
+ < TitleDescriptionItemListExpandableCard
+ title={"Personas"}
+ descripton={"Where do we want out product to be in the future"}
+ placeholder={"Click here to add a feature"} />
+
+
+ < TitleDescriptionItemListExpandableCard
+ title={"Key Features"}
+ descripton={"Where do we want out product to be in the future"}
+ placeholder={"Click here to add a feature"} />
+
+
+
+
+ {/* Column 3 */}
+
+
+
+
+
+ >
+ )
+}
+
+PRDAppGridsStructure.propsTypes = {
+ text: PropTypes.string,
+};
+
+function createCard (data){
+ console.log(data.length);
+ console.log(data[0].title);
+ console.log("break");
+ let cards = [];
+ let i = 0;
+ for(i; i < data.length;i++){
+ cards.push(
+ < TitleDescriptionInputExpandableCard
+ title={data[i].title}
+ descripton={data[i].description}
+ placeholder={data[i].contentInputPlaceHolder}
+ content={data[i].content}
+ />
+ );
+ }
+ return cards;
+}
diff --git a/packages/charretto_F3/src/Right_Side_App_Card.js b/packages/charretto_F3/src/Right_Side_App_Card.js
new file mode 100644
index 0000000..01ffd01
--- /dev/null
+++ b/packages/charretto_F3/src/Right_Side_App_Card.js
@@ -0,0 +1,188 @@
+/**
+ * TODO: Need converting to styled-components
+ */
+import logo from './assets/images/logo.svg';
+import twitter from './assets/images/twitter.png';
+import githubLogo from './assets/images/github-logo.png';
+import google_drive_logo from './assets/images/google_drive_logo.png';
+
+import www from './assets/images/www.png';
+import figma from './assets/images/figma.png';
+import slack from './assets/images/slack.png';
+import api from './assets/images/api.png';
+import graphcms from './assets/images/graphcms.png';
+import whimsical from './assets/images/whimsical.png';
+import React, { useState } from 'react'
+import {
+ Flex,
+ Image,
+ Text,
+ Divider,
+ } from '@chakra-ui/react';
+import { Icon } from '@iconify/react';
+import styled from "styled-components";
+import PropTypes from "prop-types";
+
+const FlexParent = styled.div`
+display: flex;
+flex-dir:column;
+margin:8%;
+padding:1%;
+padding-bottom:15px;
+box-shadow:0px 4px 6px -1px rgba(0, 0, 0, 0.1), 0px 2px 4px -1px rgba(0, 0, 0, 0.06);
+`;
+const FlexIconEdit = styled.div`
+padding:5px;
+ justify-content:flex-end;
+ font-family:Inter;
+ font-style:normal;
+ font-weight:900;
+ font-size:14px;
+ line-height:16px;
+ display:flex;
+ align-items:center;
+ text-align:justify;
+ letter-spacing:0.02em;
+ color:#d9e2ef;
+`;
+const FlexImages = styled.div`
+flex-dir:column;
+align-items:center;
+`;
+
+
+export const RightSideAppCard = ({cardTitle,productCodeText,productCode,ownerTitle,ownerTitleName,
+ pRDStatusTitle,pRDStatusStage,designSystemTitle,designSystemVersion,
+ lastUpdateTitle,lastUpdateDate,...props}) => {
+ const [navSize, changeNavSize] = useState("large")
+ return (
+
+
+
+
+ {/**icon edit here */}
+
+
+
+ {cardTitle}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {productCodeText}
+
+ {productCode}
+
+
+
+ {ownerTitle}
+
+ {ownerTitleName}
+
+
+
+ {pRDStatusTitle}
+
+ {pRDStatusStage}
+
+
+
+
+ {designSystemTitle}
+
+ {designSystemVersion}
+
+
+
+
+ {lastUpdateTitle}
+
+ {lastUpdateDate}
+
+
+ )
+}
+
+RightSideAppCard.propTypes = {
+ cardTitle: PropTypes.string.isRequired,
+ productCodeText: PropTypes.string.isRequired,
+ productCode: PropTypes.string.isRequired,
+ ownerTitle: PropTypes.string.isRequired,
+ ownerTitleName: PropTypes.string.isRequired,
+ pRDStatusTitle: PropTypes.string.isRequired,
+ pRDStatusStage: PropTypes.string.isRequired,
+ designSystemTitle: PropTypes.string.isRequired,
+ designSystemVersion: PropTypes.string.isRequired,
+ lastUpdateTitle: PropTypes.string.isRequired,
+ lastUpdateDate: PropTypes.string.isRequired,
+};
\ No newline at end of file
diff --git a/packages/charretto_F3/src/Right_Side_Link_Item.js b/packages/charretto_F3/src/Right_Side_Link_Item.js
new file mode 100644
index 0000000..a130b12
--- /dev/null
+++ b/packages/charretto_F3/src/Right_Side_Link_Item.js
@@ -0,0 +1,28 @@
+/**
+ * TODO: Need converting to styled-components
+ */
+import {
+ Flex,
+ Text,
+ Link,
+ Divider,
+ } from '@chakra-ui/react';
+
+ import PropTypes from "prop-types";
+
+export const RightSideLinkItem = ({title, url}) => {
+ return (
+
+
+ {title}
+
+
+ )
+ }
+
+ RightSideLinkItem.propTypes = {
+ title: PropTypes.string.isRequired,
+ url: PropTypes.string.isRequired,
+ };
\ No newline at end of file
diff --git a/packages/charretto_F3/src/Right_Side_Links_Card.js b/packages/charretto_F3/src/Right_Side_Links_Card.js
new file mode 100644
index 0000000..1bb8871
--- /dev/null
+++ b/packages/charretto_F3/src/Right_Side_Links_Card.js
@@ -0,0 +1,51 @@
+
+import React, { useState } from 'react'
+import {
+ Flex,
+ Text,
+ Link,
+ Divider,
+} from '@chakra-ui/react';
+import {RightSideLinkItem} from './Right_Side_Link_Item';
+import styled from "styled-components";
+import PropTypes from "prop-types";
+
+const FlexParent = styled.div`
+ flex-dir:column;
+ margin:8%;
+ padding: 3% 0 15px 2%;
+ box-shadow:0px 4px 6px -1px rgba(0, 0, 0, 0.1), 0px 2px 4px -1px rgba(0, 0, 0, 0.06);
+`;
+const TextTitle = styled.text`
+font-size:16px;
+text-color:#2D3748;
+`;
+export const RightSideLinksCard = ({title,titles,...props}) => {
+ return (
+
+ {title}
+
+ {linksArray(titles)}
+
+
+ )
+}
+
+RightSideLinksCard.propTypes = {
+ title: PropTypes.string.isRequired,
+ titles:PropTypes.array.isRequired,
+};
+
+function linksArray(titles) {
+ var titlesAarray = JSON.parse(titles)
+ let linkTitles = [];
+ for(let i =0; i
+ );
+
+ }
+ return linkTitles;
+};
diff --git a/packages/charretto_F3/src/SubComponent_ItemInsideExpandableCard.js b/packages/charretto_F3/src/SubComponent_ItemInsideExpandableCard.js
new file mode 100644
index 0000000..9f54a00
--- /dev/null
+++ b/packages/charretto_F3/src/SubComponent_ItemInsideExpandableCard.js
@@ -0,0 +1,91 @@
+import React from 'react'
+import { Icon } from '@iconify/react';
+import styled from "styled-components";
+import PropTypes from 'prop-types';
+
+const FlexParent = styled.div`
+ display: flex;
+ justify-content: space-between;
+ align-items: flex-start;
+`;
+const FlexListItem = styled.div`
+display: flex;
+padding-left:5px;
+padding-bottom:25px;
+padding-top:7px;
+align-items:center;
+font-family:Roboto;
+font-style:normal;
+font-weight:900;
+font-size:14px;
+line-height:16px;
+align-items:center;
+text-align:justify;
+letter-spacing:0.02em;
+color:#616161;
+`;
+const IconAsText = styled.text`
+fon-family:Inter
+fon-style:normal;
+font-weight:900;
+font-size:14px;
+line-height:16px;
+display:flex;
+align-items:center;
+text-align:justify;
+letter-spacing:0.02em;
+color:#616161;
+`;
+const TextListTitle = styled.text`
+padding-left:5px;
+color:#2D3748;
+`;
+const FlexIcons = styled.div`
+display:flex;
+margin:1%;
+`;
+const FlexIconCheck = styled.div`
+color:#d9e2ef;
+width:16px;
+height:16px;
+margin:2px;
+`;
+const FlexIconTrash = styled.div`
+color:#d9e2ef;
+width:16px;
+height:16px;
+margin:2px;
+`;
+
+export const SubComponentItemInsideExpandableCard = ({ title, icon, textIcon, ...props }) => {
+ return (
+
+
+
+ {/**This one is for texts dispalyed as icons like numbering F1, F2.. */}
+
+ {textIcon}
+
+
+ {title}
+
+
+
+ {/* icons */}
+
+
+
+
+
+
+
+
+
+ )
+}
+
+SubComponentItemInsideExpandableCard.propTypes = {
+ title: PropTypes.string.isRequired,
+ icon: PropTypes.string.isRequired,
+ textIcon: PropTypes.string.isRequired,
+ };
\ No newline at end of file
diff --git a/packages/charretto_F3/src/TitleDescription_InputExpandableCard.js b/packages/charretto_F3/src/TitleDescription_InputExpandableCard.js
new file mode 100644
index 0000000..a2fe612
--- /dev/null
+++ b/packages/charretto_F3/src/TitleDescription_InputExpandableCard.js
@@ -0,0 +1,183 @@
+import React, { useState } from 'react'
+import {
+ Flex,
+ Text,
+ Divider,
+ Textarea,
+ useDisclosure,
+ Collapse,
+ Button,
+} from '@chakra-ui/react';
+import { Icon } from '@iconify/react';
+import styled from "styled-components";
+import PropTypes from 'prop-types';
+
+
+const FlexParent = styled.div`
+box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1), 0px 1px 2px rgba(0, 0, 0, 0.06);
+width:100%;
+padding-top:4px;
+padding-left:10px;
+margin-top:2%;
+flex-dir:column;
+`;
+const FlexInnerDiv = styled.div`
+width:99%;
+flex-dir:column;
+`;
+const FlexDescription = styled.div`
+display:flex;
+flex-dir:row;
+justify-content:space-between;
+`;
+const TextTitle = styled.text`
+font-family: Inter;
+font-style: normal;
+font-weight: 900;
+font-size: 20px;
+line-height: 28px;
+display:flex;
+align-items:center;
+color:#171923;
+margin: 0px 8px;
+`;
+const TextDescription = styled.text`
+font-family:Lucida Sans Unicode;
+font-style:normal;
+font-weight:normal;
+font-size:12px;
+line-height:16px;
+display:flex;
+align-items:center;
+letter-spacing:0.01em;
+color:#718096;
+margin: 0px 8px;
+`;
+const FlexIcons = styled.div`
+margin:1%;
+`;
+const FlexIconEdit = styled.div`
+color:#CBD5E0;
+width:16px;
+height:16px;
+cursor:pointer;
+`;
+const FlexIconTrash = styled.div`
+color:#CBD5E0;
+width:16px;
+height:16px;
+cursor:pointer;
+`;
+const FlexIconClose = styled.div`
+color:#CBD5E0;
+width:16px;
+height:16px;
+cursor:pointer;
+`;
+const FlexTextArea = styled.div`
+flex-dir:column;
+`;
+const FlexInnerTextArea = styled.div`
+padding:5px 0px 5px 0px;
+`;
+const TextAreaPlaceHolder = styled.text`
+font-family:Lucida Sans;
+font-style:normal;
+font-weight=:normal;
+font-size:14px;
+line-height:20px;
+display:flex;
+align-items:center;
+text-align:justify;
+letter-spacing:0.02em;
+color:#CBD5E0;
+cursor:pointer;
+padding:5px;
+padding-bottom:15px;
+`;
+const TextareaStyles = styled.div`
+font-family:Lucida Sans;
+font-style:normal;
+font-weight:normal:
+font-size:14px;
+line-height:20px;
+display:flex;
+align-items:center;
+text-align:justify;
+letter-spacing:0.02em;
+color:#2D3748;
+background: #F7FAFC;
+border: 1px solid #EDF2F7;
+box-sizing: border-box;
+box-shadow: inset 0px 2px 4px rgba(0, 0, 0, 0.06);
+padding:0 0 0 10px;
+margin: 4px 0px;
+`;
+
+export const TitleDescriptionInputExpandableCard = ({ title, descripton, placeholder, content, ...props }) => {
+ const { isOpen, onToggle } = useDisclosure({ defaultIsOpen: false })
+ const [diableTextArea, changeEditAbility] = useState(false)
+ return (
+
+
+
+ {title}
+
+
+ {/**description div */}
+
+
+ {descripton}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ changeEditAbility(!diableTextArea)} />
+
+
+
+
+
+
+
+
+
+ {placeholder}
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+}
+
+TitleDescriptionInputExpandableCard.propTypes = {
+ title: PropTypes.string.isRequired,
+ descripton: PropTypes.string.isRequired,
+ placeholder: PropTypes.string.isRequired,
+ content: PropTypes.string.isRequired,
+};
\ No newline at end of file
diff --git a/packages/charretto_F3/src/TitleDescription_ItemListExpandableCard.js b/packages/charretto_F3/src/TitleDescription_ItemListExpandableCard.js
new file mode 100644
index 0000000..2da9165
--- /dev/null
+++ b/packages/charretto_F3/src/TitleDescription_ItemListExpandableCard.js
@@ -0,0 +1,156 @@
+import React, { useState } from 'react'
+import {
+ Flex,
+ Text,
+ Divider,
+ useDisclosure,
+ Collapse,
+} from '@chakra-ui/react';
+import { Icon } from '@iconify/react';
+import styled from "styled-components";
+import PropTypes from 'prop-types';
+import {SubComponentItemInsideExpandableCard} from './SubComponent_ItemInsideExpandableCard';
+
+const FlexParent = styled.div`
+box-shadow:0px 1px 3px rgba(0, 0, 0, 0.1), 0px 1px 2px rgba(0, 0, 0, 0.06);
+width:100%;
+padding-top:4px;
+padding-left:10px;
+margin-top:2%;
+flex-dir:column;
+`;
+const TextTitle = styled.text`
+font-family:Lucida Sans;
+font-style:normal;
+font-weight:600;
+font-size:20px;
+lineH-hight:28px;
+display:flex;
+align-items:center;
+color:#171923;
+`;
+const FlexParentInnerDiv = styled.div`
+display:flex;
+flex-dir:row;
+justify-content:space-between;
+`;
+const TextDescripton = styled.text`
+font-family:Lucida Sans Unicode;
+font-style:normal;
+font-weight:normal;
+font-size:12px;
+line-height:16px;
+display:flex;
+align-items:center;
+letter-spacing:0.01em;
+color:#718096;
+`;
+const FlexIcons = styled.div`
+display:flex;
+margin:1%;
+`;
+const FlexIconEdit = styled.div`
+color:#d9e2ef;
+width:16px;
+height:16px;
+margin:2px;
+cursor:pointer;
+
+`;
+const FlexIconCheck = styled.div`
+color:#d9e2ef;
+width:16px;
+height:16px;
+margin:2px;
+cursor:pointer;
+
+`;
+const FlexIconClose = styled.div`
+color:#d9e2ef;
+width:16px;
+height:16px;
+margin:2px;
+cursor:pointer;
+`;
+const FlexAddFeatureButton = styled.div`
+padding: 7px 5px 25px 0px;
+align-items:center;
+font-family:Roboto;
+font-style:normal;
+font-weight:900;
+font-size:14px;
+line-height:16px;
+display:flex;
+align-items:center;
+text-align:justify;
+letter-spacing:0.02em;
+color:#CBD5E0;
+cursor:pointer;
+`;
+const FlexAddFeatureItem = styled.div`
+ padding:7px 0 25px 5px;
+ align-items:center;
+ font-family:Roboto;
+ font-style:normal;
+ font-weight:900;
+ font-size:14px;
+ line-height:16px;
+ display:flex;
+ align-items:center;
+ text-align:justify;
+ letter-spacing:0.02em;
+ color:#CBD5E0;
+ cursor:pointer;
+`;
+
+export const TitleDescriptionItemListExpandableCard = ({ title, descripton, placeholder, ...props }) => {
+ const { isOpen, onToggle } = useDisclosure({ defaultIsOpen: false })
+ const [diableTextArea, changeEditAbility] = useState(false)
+
+ return (
+
+ {title}
+
+
+ {descripton}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Click here to add a feature
+
+
+
+
+
+
+
+
+
+
+ Add new Persona
+
+
+
+
+ )
+}
+
+TitleDescriptionItemListExpandableCard.propTypes = {
+ title: PropTypes.string.isRequired,
+ descripton: PropTypes.string.isRequired,
+ placeholder: PropTypes.string.isRequired,
+ };
\ No newline at end of file
diff --git a/packages/charretto_F3/src/assets/images/api.png b/packages/charretto_F3/src/assets/images/api.png
new file mode 100644
index 0000000000000000000000000000000000000000..a30d124ee75286903959efbce86d752742d4bb46
GIT binary patch
literal 649
zcmV;40(Sk0P)qp;2JBlBY$iS9T>=htw~`Ehof?|J>&L}dEAIe*^sJpccB-}gBrNI?kAfB&Jz
z{0ZOdenJp>AxRSU@7oK5J_~nlmLN4n8!87`YT)<#@$hjKp1*j7^|*Vx4EJu8LZwoz
zG!O#;oH>6HEv;>cglxlMe6D#1j^n_|3+0uMA~wr3G&bP@^{_8+_PT=loLp=eLQq%x
z0Z}5NE8074kPjl7=ON9_t?OIT5L(B@X%MB1-BvL)Jc6P^6MZ2;uGbiyHU)9zpahXXB_}fr*=C9SQ`E?P40=~OgA{_
zUO2>1GIpjzuhU_BQW7+=YW%9VB1O9c8nt>^BZ}hUGXOq4Efqa9Fk>DM(r8FV$2_n(
z9BeBJg#st(wA!!V;1pb#o|%O^5vHC4au3e32vbp*VGs}?GzjL=Bpz6s}G&Q%vLBk>o<(taS
jI|bvp0-B41VGZX2RB6(zp!&Sk00000NkvXXu0mjfcIz2j
literal 0
HcmV?d00001
diff --git a/packages/charretto_F3/src/assets/images/charetto_logo.png b/packages/charretto_F3/src/assets/images/charetto_logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..bfe65449cad95cffe0a3bf4c61caa79ea4933828
GIT binary patch
literal 820
zcmV-41Izr0P)4qcw>P#A_xZ9|EMDo_Vz3q4PqqW5%dlxSMRUsrW$O~1
z9~?mE%pfg28z={QM0mtHwsoo_u4|mn@5n=Ks8-x~83=5Hw&>U3)OgCZHG$Eb7SF-$
zyg;Rk{wKdHwJG~e$oia%DyHvt8bS1epDj{{Q!J{|yli*OdHhsuV
z%uy9N#@lMw&Qv_u#+x-2a?-^^9R~BIG2wq5`b`+_-*qIVGQsRddP4q0F{Lx%V#;_+
zS*fG+bzmV-MR~|pv}t995fv&CV1vt~Gx6mp9)`k|2+&dfDHZZ(ZA{tY4dXL^^@+
zqW&cV)o|LhXS?U(@6@MLC9-}$*zUP)?nIId%^5Mp0nerh;bY5}^gpfP7@gPG))vTP
zZCTLhY^u;_ET#l(sHB8M3`6i2Wf|ZpfCtg$zzPA)iD^VT9q??la$pkyF&E&mJ=_vO
z!7eWaw7YoNiI?VjitV%bK8r?xm?0sZNy>fhE#O4_X=x!WcH8UwU`>rA|K(v0y-dN%D6L7x+V28FMz$R*9V?4@a#_5rXM%=xdq
zhf*;|KV$w%H;^}b>zs2ZoDa8vM4#2$w68634&BSt-$GqOZaw;t8Z+GKVSLy4M72Wr
z`mGui;T&;CmkQ^%P=h-3yRS*KRnDgiw4d+R3}wfh@htUnuYv2`RX?Ndy?D5tRa5$0
yP^HkHsn)(wpGR675{(b~_Y=e)wr%at5Pt#vAKq}+JJrJg0000y{n$eT_R)E7Yts_|=2iI9oF{;RBK(N?%@ZJm*u`(3om8>`h7*vSy;{4`
zLtNQW@lo#=k?>3Ib~;RVgA)l;3m314rsC!0o{}fve4P)Npu4@t2=tQ`Zt?_M3*|*E
z-`awLlw46^oLfAF0*S^qy2w&~eqECo!h48hAuV5?d?KR-P^&h)fIG2qLB`Q`1rMXo
z8OIA&)q7Ekjgcx+q$vG@zs}kYvA1woU!*MXUp5I&zR&LG&_?niW!#VbsCfoJRKCD0
zOy2;zg1nSBh1z+&C4iN*%eedtivoy$&gi91fN!NQZN=<`!>#}T002ovPDHLkV1o8T
B!hrw)
literal 0
HcmV?d00001
diff --git a/packages/charretto_F3/src/assets/images/github-logo.png b/packages/charretto_F3/src/assets/images/github-logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..ea6ff545a246caa64074ba809bbc86fcb8589071
GIT binary patch
literal 4268
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
XLyRvu{aX3a{{tgEGu={c*U0|?Dtn-9
literal 0
HcmV?d00001
diff --git a/packages/charretto_F3/src/assets/images/google_drive_logo.png b/packages/charretto_F3/src/assets/images/google_drive_logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..39f29fb15f1d6c90dcaa263f77a0339da235baff
GIT binary patch
literal 2331
zcmV+$3FP*PP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006
zVoOIv00000008+zyMF)x00(qQO+^Rg1r-wZA4x<(RA}DKn`>}YR~5&9
zd!PF{_kBYW5&~!$sL&!~i>OsBwNL?RM}$HRD)rS?RKyBjwEg54KUp7CKhUbzGqts%2BF5zXu>F~!y}6IG8?t8ZWad2fUi-iP>#^59
zQP`A@#s1&3JsHkkT!F}HU^b8dRE?tva2Yrn)3W2SNvAs=Z#&%$pgw9(EdV!I&3a9ARAlH
z#xkM7mB1EYvb-?f0NA-0zyTfw79c<(s>ry(01#+z?3O!ImlXa;3(OpjJU^ZQ@Rhp*
zSX*qq1caTsL6{c1D(ffa2^AA*EpSIb*RlwJPyGb25oj#B7Y%80iMjxAfGsgw@1LcSwGjp~EWkFB|DB$zJ?W4wrR7{bINmVQm#eKORS(@!p
z6`sG{%&l$=0KWBS0}odmM=PHNp~`7-Vx(U-ww%FrJXMA64+FD=CE{FWBk(2{3rtiM*DP8(ga^{}9J0DRRSFjZOYl5rJ@
zXmLOk#YfVYWc7seiu%f?1xBa08Gw$(pm-pr1+02~is
z9`MtbUT$EoeDks2JpQd^^Ww(~95Ch0fz*m9rXdvhc(cw_{L)})3lY78Zz!CbZ*g^LLaKyahS=6J=
zxI%QeD~yZ*OMvB;>30Np8t`cUP35w4*$`+?1Anos%L)?|M*!eke}YLF35yf<0p9~o
zj7I%3u5it5>`BU`_FRDldRW!-8T|7-o3bC+72y3{RR+#lWIoVdh;YhSe+IA@m~L^R
zbHGaAcePl*C?xwawVx!arvJpavdc6b9m4+xtYA3wfk@Tc=*Uaz*Iu&5@*BmcMvDtPV}A(coCwlp-0Qc77a
zr2!=D_4C-VZ|lWxJ+B6pm2W#PX+(D-ilD!c6P8>mtCUh9(~{Dbe@>qhb#}C^QD-7e
zC=V>?-KkA0>S|CZ(}|SCB2mrTC|W#@rf0FI^*$T?x(aO7Cda-QXu}@C={_9TSxhbpZ*Wr4H>A~+r=e6O|
zL7=0ak>W8|Qt`x?EPe=d5q{gekU!<#iz9WF20MWR{$^;)jDkP>0C=+|YiKRGbOuN3
zu>}C(LMYAlDQmb8&QRmA@|$LtdA0fA%VsyY<>tb^eM>D(h*Uf&@tCWHu@^@Mc{Mke
z1I>$2Qnd!2S>uuBgD+p#5E0-fz-v`iXQ7bfQWBc4L#+5LBM2pAa#`zp>oL?>$`~vtx$#<{2;v?Tsn){?2H>x2v;1J?Ni#xM;b@6;PpatW~BAYGr$MopNu%H%#1<3AA|*ePv6Sk
z){hMj@&mvRf!9kdel!;-$X4K4fJitZnPgfqj>S_ByV_RpMq*mQ6`n2U%0sL!d*_wS
zFn4_)a9BaIF`K(N9&=;k832WFA)G;!zVQBYFa1m*-vsjItPhp`ZB8i=Ih9N#A5F!R
z2l1Pyx8Z*~Fy7c8zA$t@by`V!*`EK8=l`5@#JD*l@u2`d|9W;RLQ(NDy`ZTg28DnuWtDK`t1kO
z$hCvhlQ_vl%+2BkkYuwt?jN2oCMUEmbqAfYw{3@7y+P_I#$kMm=kzgyz`YTUC#~_qCtm-q#&WoEe44SPL!xT`jAUq9g0i&o5
Xit|Pzb4BPJ00000NkvXXu0mjfXUdzJ
literal 0
HcmV?d00001
diff --git a/packages/charretto_F3/src/assets/images/logo.svg b/packages/charretto_F3/src/assets/images/logo.svg
new file mode 100644
index 0000000..9dfc1c0
--- /dev/null
+++ b/packages/charretto_F3/src/assets/images/logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/charretto_F3/src/assets/images/slack.png b/packages/charretto_F3/src/assets/images/slack.png
new file mode 100644
index 0000000000000000000000000000000000000000..c37aa138ee5355fe182206f23c1f6bd773174851
GIT binary patch
literal 568
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