From dbb30432937f1f4df500f7c878a73d3da0b4310c Mon Sep 17 00:00:00 2001 From: phoebus-84 <83974413+phoebus-84@users.noreply.github.com> Date: Wed, 14 Aug 2024 15:02:47 +0200 Subject: [PATCH] feat: new compoents and asstets handling (#137) * feat: illustration component * feat: swipable-page * feat: icons component, still rought * working icons * docs: icons stories * remove some hardcodded icons * chores: update package.json * feat: add app settings menu * fix: Illustration component * fix: credetial-card icon * refactor: icons using d-icon * test: should fix them * some fixies * feat: d-illustration component for complex svgs assets * tests: fix * docs: background illustration stories * test: try to fix them * docs: seetings menu stories * docs: add swipable page story --- generateSvgData.mjs | 79 ++++++ icons/fill/home.svg | 3 + icons/fill/notification.svg | 11 + icons/fill/profile.svg | 11 + icons/fill/wallet.svg | 10 + icons/lock.svg | 10 + icons/outline/arrow-back.svg | 3 + icons/outline/arrow-forward.svg | 3 + icons/outline/check.svg | 8 + icons/outline/close.svg | 3 + icons/outline/copy.svg | 8 + icons/outline/done.svg | 3 + icons/outline/help.svg | 8 + icons/outline/home.svg | 3 + icons/outline/key.svg | 3 + icons/outline/language.svg | 8 + icons/outline/lock.svg | 8 + icons/outline/logout.svg | 8 + icons/outline/more.svg | 3 + icons/outline/notification.svg | 3 + icons/outline/profile.svg | 11 + icons/outline/settings.svg | 3 + icons/outline/shield.svg | 8 + icons/outline/visibility-off.svg | 8 + icons/outline/visibility.svg | 8 + icons/outline/wallet.svg | 11 + icons/shield.svg | 3 + illustrations/card-cloud.svg | 17 ++ illustrations/cards.svg | 7 + illustrations/chat.svg | 59 +++++ illustrations/circle-check.svg | 14 ++ illustrations/empty-wallet.svg | 31 +++ illustrations/hand-card.svg | 30 +++ illustrations/hand-ellipsis.svg | 18 ++ illustrations/logo-hand.svg | 18 ++ illustrations/pidgeon.svg | 36 +++ package.json | 7 +- pnpm-lock.yaml | 78 ++++++ src/components.d.ts | 117 ++++++++- src/components/activity-card/readme.md | 1 + src/components/app-details/readme.md | 5 + src/components/avatar/avatar.tsx | 16 +- src/components/avatar/readme.md | 5 + src/components/avatar/test/avatar.spec.tsx | 8 +- .../background-illustration.stories.ts | 27 +++ .../d-background-illustration.css} | 0 .../d-background-illustration.tsx | 27 +++ .../background-illustration/readme.md | 30 +++ .../test/d-background-illustration.e2e.ts | 11 + .../test/d-background-illustration.spec.tsx | 18 ++ src/components/button/readme.md | 2 + src/components/buttons-group/readme.md | 13 + .../credential-card/d-credential-card.tsx | 56 ++--- src/components/credential-card/readme.md | 3 + .../d-credential-service.tsx | 4 +- src/components/credential-service/readme.md | 3 + src/components/d-did-box/d-did-box.tsx | 14 +- src/components/d-did-box/readme.md | 2 + src/components/definition/d-definition.tsx | 28 +-- src/components/definition/readme.md | 13 + src/components/empty-state/d-empty-state.tsx | 8 +- src/components/empty-state/readme.md | 2 + src/components/feedback/d-feedback.tsx | 2 +- .../feedback/test/d-feedback.spec.tsx | 2 +- src/components/header/d-header.tsx | 37 +-- src/components/header/readme.md | 2 + src/components/heading/readme.md | 6 +- .../icon/assets/arrow-back-outline.json | 1 + .../icon/assets/arrow-forward-outline.json | 1 + src/components/icon/assets/check-outline.json | 1 + src/components/icon/assets/close-outline.json | 1 + src/components/icon/assets/copy-outline.json | 1 + src/components/icon/assets/done-outline.json | 1 + src/components/icon/assets/help-outline.json | 1 + src/components/icon/assets/home-outline.json | 1 + src/components/icon/assets/home.json | 1 + src/components/icon/assets/key-outline.json | 1 + .../icon/assets/language-outline.json | 1 + src/components/icon/assets/lock-outline.json | 1 + .../icon/assets/logout-outline.json | 1 + src/components/icon/assets/more-outline.json | 1 + .../icon/assets/notification-outline.json | 1 + src/components/icon/assets/notification.json | 1 + .../icon/assets/profile-outline.json | 1 + src/components/icon/assets/profile.json | 1 + .../icon/assets/settings-outline.json | 1 + .../icon/assets/shield-outline.json | 1 + .../icon/assets/visibility-off-outline.json | 1 + .../icon/assets/visibility-outline.json | 1 + .../icon/assets/wallet-outline.json | 1 + src/components/icon/assets/wallet.json | 1 + .../d-organizations.css => icon/d-icon.css} | 0 src/components/icon/d-icon.tsx | 86 +++++++ src/components/icon/icon.stories.ts | 226 ++++++++++++++++++ src/components/icon/readme.md | 52 ++++ src/components/icon/test/d-icon.e2e.ts | 11 + src/components/icon/test/d-icon.spec.tsx | 18 ++ .../illustration/assets/card-cloud.json | 1 + src/components/illustration/assets/cards.json | 1 + src/components/illustration/assets/chat.json | 1 + .../illustration/assets/circle-check.json | 1 + .../illustration/assets/empty-wallet.json | 1 + .../illustration/assets/hand-card.json | 1 + .../illustration/assets/hand-ellipsis.json | 1 + .../illustration/assets/logo-hand.json | 1 + .../illustration/assets/pidgeon.json | 1 + .../illustration/d-illustration.css | 3 + .../illustration/d-illustration.tsx | 79 ++++++ .../illustration/illustration.stories.ts | 73 ++++++ src/components/illustration/readme.md | 19 ++ .../illustration/test/d-illustration.e2e.ts | 11 + .../illustration/test/d-illustration.spec.tsx | 17 ++ src/components/input/d-input.tsx | 30 +-- src/components/input/readme.md | 2 + src/components/loading/d-loading.css | 3 + .../{d-loading => loading}/d-loading.tsx | 0 .../{d-loading => loading}/loading.stories.ts | 0 .../{d-loading => loading}/readme.md | 0 .../test/d-loading.e2e.ts | 0 .../test/d-loading.spec.tsx | 0 .../organizations/d-organizations.css | 3 + .../d-organizations.tsx | 0 .../organizations.stories.ts | 0 .../readme.md | 0 .../test/d-organizations.e2e.ts | 0 .../test/d-organizations.spec.tsx | 0 .../session-card/d-session-card.tsx | 18 +- src/components/session-card/readme.md | 2 + .../settings-menu/d-settings-menu.css | 3 + .../settings-menu/d-settings-menu.tsx | 67 ++++++ src/components/settings-menu/readme.md | 48 ++++ .../settings-menu/settings-menu.stories.ts | 40 ++++ .../settings-menu/test/d-settings-menu.e2e.ts | 11 + .../test/d-settings-menu.spec.tsx | 49 ++++ .../swipable-page/d-swipable-page.css | 3 + .../swipable-page/d-swipable-page.tsx | 34 +++ src/components/swipable-page/readme.md | 37 +++ .../swipable-page/swipable-page.stories.ts | 26 ++ .../swipable-page/test/d-swipable-page.e2e.ts | 11 + .../test/d-swipable-page.spec.tsx | 28 +++ src/components/tab-button/d-tab-button.tsx | 168 ++----------- src/components/tab-button/readme.md | 2 + .../tab-button/test/d-tab-button.spec.tsx | 6 +- src/components/tab-page/readme.md | 1 + src/components/text/readme.md | 2 + src/components/utils.ts | 23 ++ src/index.html | 1 + 147 files changed, 1940 insertions(+), 331 deletions(-) create mode 100644 generateSvgData.mjs create mode 100644 icons/fill/home.svg create mode 100644 icons/fill/notification.svg create mode 100644 icons/fill/profile.svg create mode 100644 icons/fill/wallet.svg create mode 100644 icons/lock.svg create mode 100644 icons/outline/arrow-back.svg create mode 100644 icons/outline/arrow-forward.svg create mode 100644 icons/outline/check.svg create mode 100644 icons/outline/close.svg create mode 100644 icons/outline/copy.svg create mode 100644 icons/outline/done.svg create mode 100644 icons/outline/help.svg create mode 100644 icons/outline/home.svg create mode 100644 icons/outline/key.svg create mode 100644 icons/outline/language.svg create mode 100644 icons/outline/lock.svg create mode 100644 icons/outline/logout.svg create mode 100644 icons/outline/more.svg create mode 100644 icons/outline/notification.svg create mode 100644 icons/outline/profile.svg create mode 100644 icons/outline/settings.svg create mode 100644 icons/outline/shield.svg create mode 100644 icons/outline/visibility-off.svg create mode 100644 icons/outline/visibility.svg create mode 100644 icons/outline/wallet.svg create mode 100644 icons/shield.svg create mode 100644 illustrations/card-cloud.svg create mode 100644 illustrations/cards.svg create mode 100644 illustrations/chat.svg create mode 100644 illustrations/circle-check.svg create mode 100644 illustrations/empty-wallet.svg create mode 100644 illustrations/hand-card.svg create mode 100644 illustrations/hand-ellipsis.svg create mode 100644 illustrations/logo-hand.svg create mode 100644 illustrations/pidgeon.svg create mode 100644 src/components/background-illustration/background-illustration.stories.ts rename src/components/{d-loading/d-loading.css => background-illustration/d-background-illustration.css} (100%) create mode 100644 src/components/background-illustration/d-background-illustration.tsx create mode 100644 src/components/background-illustration/readme.md create mode 100644 src/components/background-illustration/test/d-background-illustration.e2e.ts create mode 100644 src/components/background-illustration/test/d-background-illustration.spec.tsx create mode 100644 src/components/icon/assets/arrow-back-outline.json create mode 100644 src/components/icon/assets/arrow-forward-outline.json create mode 100644 src/components/icon/assets/check-outline.json create mode 100644 src/components/icon/assets/close-outline.json create mode 100644 src/components/icon/assets/copy-outline.json create mode 100644 src/components/icon/assets/done-outline.json create mode 100644 src/components/icon/assets/help-outline.json create mode 100644 src/components/icon/assets/home-outline.json create mode 100644 src/components/icon/assets/home.json create mode 100644 src/components/icon/assets/key-outline.json create mode 100644 src/components/icon/assets/language-outline.json create mode 100644 src/components/icon/assets/lock-outline.json create mode 100644 src/components/icon/assets/logout-outline.json create mode 100644 src/components/icon/assets/more-outline.json create mode 100644 src/components/icon/assets/notification-outline.json create mode 100644 src/components/icon/assets/notification.json create mode 100644 src/components/icon/assets/profile-outline.json create mode 100644 src/components/icon/assets/profile.json create mode 100644 src/components/icon/assets/settings-outline.json create mode 100644 src/components/icon/assets/shield-outline.json create mode 100644 src/components/icon/assets/visibility-off-outline.json create mode 100644 src/components/icon/assets/visibility-outline.json create mode 100644 src/components/icon/assets/wallet-outline.json create mode 100644 src/components/icon/assets/wallet.json rename src/components/{d-organizations/d-organizations.css => icon/d-icon.css} (100%) create mode 100644 src/components/icon/d-icon.tsx create mode 100644 src/components/icon/icon.stories.ts create mode 100644 src/components/icon/readme.md create mode 100644 src/components/icon/test/d-icon.e2e.ts create mode 100644 src/components/icon/test/d-icon.spec.tsx create mode 100644 src/components/illustration/assets/card-cloud.json create mode 100644 src/components/illustration/assets/cards.json create mode 100644 src/components/illustration/assets/chat.json create mode 100644 src/components/illustration/assets/circle-check.json create mode 100644 src/components/illustration/assets/empty-wallet.json create mode 100644 src/components/illustration/assets/hand-card.json create mode 100644 src/components/illustration/assets/hand-ellipsis.json create mode 100644 src/components/illustration/assets/logo-hand.json create mode 100644 src/components/illustration/assets/pidgeon.json create mode 100644 src/components/illustration/d-illustration.css create mode 100644 src/components/illustration/d-illustration.tsx create mode 100644 src/components/illustration/illustration.stories.ts create mode 100644 src/components/illustration/readme.md create mode 100644 src/components/illustration/test/d-illustration.e2e.ts create mode 100644 src/components/illustration/test/d-illustration.spec.tsx create mode 100644 src/components/loading/d-loading.css rename src/components/{d-loading => loading}/d-loading.tsx (100%) rename src/components/{d-loading => loading}/loading.stories.ts (100%) rename src/components/{d-loading => loading}/readme.md (100%) rename src/components/{d-loading => loading}/test/d-loading.e2e.ts (100%) rename src/components/{d-loading => loading}/test/d-loading.spec.tsx (100%) create mode 100644 src/components/organizations/d-organizations.css rename src/components/{d-organizations => organizations}/d-organizations.tsx (100%) rename src/components/{d-organizations => organizations}/organizations.stories.ts (100%) rename src/components/{d-organizations => organizations}/readme.md (100%) rename src/components/{d-organizations => organizations}/test/d-organizations.e2e.ts (100%) rename src/components/{d-organizations => organizations}/test/d-organizations.spec.tsx (100%) create mode 100644 src/components/settings-menu/d-settings-menu.css create mode 100644 src/components/settings-menu/d-settings-menu.tsx create mode 100644 src/components/settings-menu/readme.md create mode 100644 src/components/settings-menu/settings-menu.stories.ts create mode 100644 src/components/settings-menu/test/d-settings-menu.e2e.ts create mode 100644 src/components/settings-menu/test/d-settings-menu.spec.tsx create mode 100644 src/components/swipable-page/d-swipable-page.css create mode 100644 src/components/swipable-page/d-swipable-page.tsx create mode 100644 src/components/swipable-page/readme.md create mode 100644 src/components/swipable-page/swipable-page.stories.ts create mode 100644 src/components/swipable-page/test/d-swipable-page.e2e.ts create mode 100644 src/components/swipable-page/test/d-swipable-page.spec.tsx create mode 100644 src/components/utils.ts diff --git a/generateSvgData.mjs b/generateSvgData.mjs new file mode 100644 index 0000000..259a9cf --- /dev/null +++ b/generateSvgData.mjs @@ -0,0 +1,79 @@ +#!/usr/bin/env node + +import fs from 'fs-extra'; +import glob from 'glob-promise'; +import path from 'path'; +import svgson from 'svgson'; + +const processSvgFiles = async (type, variant = '') => { + const variantPath = variant ? `/${variant}` : ''; + const svgFilePaths = await glob(`${type}${variantPath}/*.svg`); + console.log(`Looking for ${type} files in ${type}${variantPath}/*.svg`); + console.log(`Found ${svgFilePaths.length} files`); + + const parsedSvgs = await Promise.all( + svgFilePaths.map(async filePath => { + const svgContent = await fs.readFile(filePath, 'utf-8'); + const parsedContent = await svgson.parse(svgContent); + const baseName = path.basename(filePath, '.svg'); + const outputName = variant === 'outline' ? `${baseName}-${variant}` : baseName; + return { outputName, parsedContent }; + }), + ); + + parsedSvgs.forEach(({ outputName, parsedContent }, index) => { + let outputData; + const componentPath = type.slice(0, -1); // Remove the last 's' to form the component name (e.g., 'icons' -> 'icon') + const outputFilePath = `src/components/${componentPath}/assets/${outputName}.json`; + + if (type === 'illustrations') { + outputData = parsedContent; // Save the entire parsed JSON for illustrations + } else { + const svgPaths = extractPaths(parsedContent.children); + outputData = svgPaths || 'undefined'; + } + + fs.ensureDirSync(path.dirname(outputFilePath)); + fs.writeFileSync(outputFilePath, JSON.stringify(outputData), 'utf8'); + + if (index === parsedSvgs.length - 1) { + console.log(`Processed ${parsedSvgs.length} SVG files for ${type} ${variant} and saved in ${componentPath}/assets`); + } + }); +}; + +const extractPaths = elements => { + const paths = elements.filter(element => element.name === 'path'); + + if (paths.length > 0) { + return paths.map(path => ({ ...path.attributes })); + } + + for (const element of elements) { + const result = extractPaths(element.children); + if (result) return result; + } + + return null; +}; + +const main = async () => { + const [, , type] = process.argv; + console.log(`Executing script for ${type}...`); + + if (!type || (type !== 'icons' && type !== 'illustrations')) { + console.error("Please provide a valid type: 'icons' or 'illustrations'."); + process.exit(1); + } + + if (type === 'icons') { + await processSvgFiles(type, 'fill'); + await processSvgFiles(type, 'outline'); + } else { + await processSvgFiles(type); + } + + process.exit(0); +}; + +main(); diff --git a/icons/fill/home.svg b/icons/fill/home.svg new file mode 100644 index 0000000..f69d5d9 --- /dev/null +++ b/icons/fill/home.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/fill/notification.svg b/icons/fill/notification.svg new file mode 100644 index 0000000..536bdd1 --- /dev/null +++ b/icons/fill/notification.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/icons/fill/profile.svg b/icons/fill/profile.svg new file mode 100644 index 0000000..80f4131 --- /dev/null +++ b/icons/fill/profile.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/icons/fill/wallet.svg b/icons/fill/wallet.svg new file mode 100644 index 0000000..8fa22ad --- /dev/null +++ b/icons/fill/wallet.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/icons/lock.svg b/icons/lock.svg new file mode 100644 index 0000000..8f48e37 --- /dev/null +++ b/icons/lock.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/icons/outline/arrow-back.svg b/icons/outline/arrow-back.svg new file mode 100644 index 0000000..d5e53bb --- /dev/null +++ b/icons/outline/arrow-back.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/outline/arrow-forward.svg b/icons/outline/arrow-forward.svg new file mode 100644 index 0000000..9a45bf9 --- /dev/null +++ b/icons/outline/arrow-forward.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/outline/check.svg b/icons/outline/check.svg new file mode 100644 index 0000000..177001b --- /dev/null +++ b/icons/outline/check.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/icons/outline/close.svg b/icons/outline/close.svg new file mode 100644 index 0000000..1ce21f3 --- /dev/null +++ b/icons/outline/close.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/outline/copy.svg b/icons/outline/copy.svg new file mode 100644 index 0000000..6f9af95 --- /dev/null +++ b/icons/outline/copy.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/icons/outline/done.svg b/icons/outline/done.svg new file mode 100644 index 0000000..82e6573 --- /dev/null +++ b/icons/outline/done.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/outline/help.svg b/icons/outline/help.svg new file mode 100644 index 0000000..c8dab1a --- /dev/null +++ b/icons/outline/help.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/icons/outline/home.svg b/icons/outline/home.svg new file mode 100644 index 0000000..92cdd5f --- /dev/null +++ b/icons/outline/home.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/outline/key.svg b/icons/outline/key.svg new file mode 100644 index 0000000..5f1f38d --- /dev/null +++ b/icons/outline/key.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/outline/language.svg b/icons/outline/language.svg new file mode 100644 index 0000000..987b137 --- /dev/null +++ b/icons/outline/language.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/icons/outline/lock.svg b/icons/outline/lock.svg new file mode 100644 index 0000000..4ef2a74 --- /dev/null +++ b/icons/outline/lock.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/icons/outline/logout.svg b/icons/outline/logout.svg new file mode 100644 index 0000000..658cba2 --- /dev/null +++ b/icons/outline/logout.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/icons/outline/more.svg b/icons/outline/more.svg new file mode 100644 index 0000000..72d46f9 --- /dev/null +++ b/icons/outline/more.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/outline/notification.svg b/icons/outline/notification.svg new file mode 100644 index 0000000..2ce42a3 --- /dev/null +++ b/icons/outline/notification.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/outline/profile.svg b/icons/outline/profile.svg new file mode 100644 index 0000000..e8890d9 --- /dev/null +++ b/icons/outline/profile.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/icons/outline/settings.svg b/icons/outline/settings.svg new file mode 100644 index 0000000..9da6c91 --- /dev/null +++ b/icons/outline/settings.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/outline/shield.svg b/icons/outline/shield.svg new file mode 100644 index 0000000..c67daac --- /dev/null +++ b/icons/outline/shield.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/icons/outline/visibility-off.svg b/icons/outline/visibility-off.svg new file mode 100644 index 0000000..b2064ba --- /dev/null +++ b/icons/outline/visibility-off.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/icons/outline/visibility.svg b/icons/outline/visibility.svg new file mode 100644 index 0000000..68594f8 --- /dev/null +++ b/icons/outline/visibility.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/icons/outline/wallet.svg b/icons/outline/wallet.svg new file mode 100644 index 0000000..6b8c3c3 --- /dev/null +++ b/icons/outline/wallet.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/icons/shield.svg b/icons/shield.svg new file mode 100644 index 0000000..dd32bbf --- /dev/null +++ b/icons/shield.svg @@ -0,0 +1,3 @@ + + + diff --git a/illustrations/card-cloud.svg b/illustrations/card-cloud.svg new file mode 100644 index 0000000..e6c15f0 --- /dev/null +++ b/illustrations/card-cloud.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/illustrations/cards.svg b/illustrations/cards.svg new file mode 100644 index 0000000..fc89370 --- /dev/null +++ b/illustrations/cards.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/illustrations/chat.svg b/illustrations/chat.svg new file mode 100644 index 0000000..6c7f840 --- /dev/null +++ b/illustrations/chat.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/illustrations/circle-check.svg b/illustrations/circle-check.svg new file mode 100644 index 0000000..4332ac0 --- /dev/null +++ b/illustrations/circle-check.svg @@ -0,0 +1,14 @@ + + + + + + + + + + diff --git a/illustrations/empty-wallet.svg b/illustrations/empty-wallet.svg new file mode 100644 index 0000000..74d974f --- /dev/null +++ b/illustrations/empty-wallet.svg @@ -0,0 +1,31 @@ + + + + + + + diff --git a/illustrations/hand-card.svg b/illustrations/hand-card.svg new file mode 100644 index 0000000..35f4a9a --- /dev/null +++ b/illustrations/hand-card.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/illustrations/hand-ellipsis.svg b/illustrations/hand-ellipsis.svg new file mode 100644 index 0000000..e815dbf --- /dev/null +++ b/illustrations/hand-ellipsis.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/illustrations/logo-hand.svg b/illustrations/logo-hand.svg new file mode 100644 index 0000000..4b24276 --- /dev/null +++ b/illustrations/logo-hand.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/illustrations/pidgeon.svg b/illustrations/pidgeon.svg new file mode 100644 index 0000000..61ee19f --- /dev/null +++ b/illustrations/pidgeon.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/package.json b/package.json index 0dee61f..bfbe206 100644 --- a/package.json +++ b/package.json @@ -21,9 +21,11 @@ "scripts": { "clean": "rm -rf .stencil/ dist/ loader www", "build": "stencil build", - "test": "stencil test --spec --e2e", + "test": "stencil test --runInBand --spec --e2e", "test:watch": "stencil test --spec --e2e --watchAll", "generate": "stencil generate", + "assets:icons": "node generateSvgData.mjs icons", + "assets:illustrations": "node generateSvgData.mjs illustrations", "build-storybook": "storybook build --docs -s dist", "dev": "NODE_ENV=development npm-run-all -p dev:*", "dev:start": "stencil build --watch --serve", @@ -35,6 +37,9 @@ "did-resolver": "^4.1.0" }, "devDependencies": { + "fs-extra": "^11.2.0", + "glob-promise": "^6.0.7", + "svgson": "^5.3.1", "@ionic/core": "^7.6.6", "@stencil/sass": "^3.0.8", "@storybook/addon-a11y": "^7.6.10", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1a50a97..9d619b1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -61,6 +61,12 @@ devDependencies: '@types/node': specifier: ^20.11.7 version: 20.11.7 + fs-extra: + specifier: ^11.2.0 + version: 11.2.0 + glob-promise: + specifier: ^6.0.7 + version: 6.0.7(glob@8.1.0) jest: specifier: ^29.7.0 version: 29.7.0(@types/node@20.11.7) @@ -85,6 +91,9 @@ devDependencies: storybook: specifier: ^7.6.10 version: 7.6.10 + svgson: + specifier: ^5.3.1 + version: 5.3.1 tailwindcss: specifier: ^3.4.1 version: 3.4.1 @@ -5177,6 +5186,14 @@ packages: which-typed-array: 1.1.13 dev: true + /deep-rename-keys@0.2.1: + resolution: {integrity: sha512-RHd9ABw4Fvk+gYDWqwOftG849x0bYOySl/RgX0tLI9i27ZIeSO91mLZJEp7oPHOMFqHvpgu21YptmDt0FYD/0A==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + rename-keys: 1.2.0 + dev: true + /deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} @@ -5655,6 +5672,10 @@ packages: engines: {node: '>= 0.6'} dev: true + /eventemitter3@2.0.3: + resolution: {integrity: sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==} + dev: true + /eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} dev: true @@ -6114,6 +6135,15 @@ packages: dependencies: is-glob: 4.0.3 + /glob-promise@6.0.7(glob@8.1.0): + resolution: {integrity: sha512-DEAe6br1w8ZF+y6KM2pzgdfhpreladtNvyNNVgSkxxkFWzXTJFXxQrJQQbAnc7kL0EUd7w5cR8u4K0P4+/q+Gw==} + engines: {node: '>=16'} + peerDependencies: + glob: ^8.0.3 + dependencies: + glob: 8.1.0 + dev: true + /glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: true @@ -6140,6 +6170,18 @@ packages: path-is-absolute: 1.0.1 dev: true + /glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: true + /globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} @@ -6434,6 +6476,10 @@ packages: has-tostringtag: 1.0.0 dev: true + /is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + dev: true + /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} @@ -7228,6 +7274,13 @@ packages: graceful-fs: 4.2.11 dev: true + /kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: true + /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -8876,6 +8929,11 @@ packages: unist-util-visit: 2.0.3 dev: true + /rename-keys@1.2.0: + resolution: {integrity: sha512-U7XpAktpbSgHTRSNRrjKSrjYkZKuhUukfoBlXWXUExCAqhzh1TU3BDRAfJmarcl5voKS+pbKU9MvyLWKZ4UEEg==} + engines: {node: '>= 0.8.0'} + dev: true + /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -9476,6 +9534,13 @@ packages: stable: 0.1.8 dev: true + /svgson@5.3.1: + resolution: {integrity: sha512-qdPgvUNWb40gWktBJnbJRelWcPzkLed/ShhnRsjbayXz8OtdPOzbil9jtiZdrYvSDumAz/VNQr6JaNfPx/gvPA==} + dependencies: + deep-rename-keys: 0.2.1 + xml-reader: 2.4.3 + dev: true + /synchronous-promise@2.0.17: resolution: {integrity: sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==} dev: true @@ -10153,6 +10218,19 @@ packages: optional: true dev: true + /xml-lexer@0.2.2: + resolution: {integrity: sha512-G0i98epIwiUEiKmMcavmVdhtymW+pCAohMRgybyIME9ygfVu8QheIi+YoQh3ngiThsT0SQzJT4R0sKDEv8Ou0w==} + dependencies: + eventemitter3: 2.0.3 + dev: true + + /xml-reader@2.4.3: + resolution: {integrity: sha512-xWldrIxjeAMAu6+HSf9t50ot1uL5M+BtOidRCWHXIeewvSeIpscWCsp4Zxjk8kHHhdqFBrfK8U0EJeCcnyQ/gA==} + dependencies: + eventemitter3: 2.0.3 + xml-lexer: 0.2.2 + dev: true + /xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} diff --git a/src/components.d.ts b/src/components.d.ts index 506c4d2..25a6a05 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -6,7 +6,9 @@ */ import { HTMLStencilElement, JSXBase } from "@stencil/core/internal"; import { Color, Shape, Size } from "./components/types"; +import { Tab } from "./components/tab-button/d-tab-button"; export { Color, Shape, Size } from "./components/types"; +export { Tab } from "./components/tab-button/d-tab-button"; export namespace Components { interface DActivityCard { "date": string; @@ -26,6 +28,9 @@ export namespace Components { "size"?: Size; "src"?: string; } + interface DBackgroundIllustration { + "background": string; + } interface DBadge { } interface DButton { @@ -93,6 +98,16 @@ export namespace Components { "color": Color; "size": Size; } + interface DIcon { + "icon": string; + "outline": boolean; + "size": number; + } + interface DIllustration { + "height": number; + "illustration": string; + "width": number; + } interface DInfoLed { "type": 'success' | 'warning' | 'error'; } @@ -134,10 +149,30 @@ export namespace Components { "sid": string; "success": boolean; } + interface DSettingsMenu { + "accountSettings": string; + "developedBy": string; + "gotoLanguageSettings": () => void; + "languages": string; + "logOut": string; + "logoutCB": () => void; + "notificationsSettings": string; + "openAppSettings": () => void; + "privacyPolicy": string; + "securityAndAuthentication": string; + "support": string; + "version": string; + } + interface DSwipablePage { + "background": string; + "description": string; + "subtitle"?: string; + "title": string; + } interface DTabButton { "active": boolean; "hasAlert": boolean; - "tab": 'home' | 'profile' | 'activity' | 'wallet'; + "tab": Tab; } interface DTabPage { "scanButtonHref": string | undefined; @@ -188,6 +223,12 @@ declare global { prototype: HTMLDAvatarElement; new (): HTMLDAvatarElement; }; + interface HTMLDBackgroundIllustrationElement extends Components.DBackgroundIllustration, HTMLStencilElement { + } + var HTMLDBackgroundIllustrationElement: { + prototype: HTMLDBackgroundIllustrationElement; + new (): HTMLDBackgroundIllustrationElement; + }; interface HTMLDBadgeElement extends Components.DBadge, HTMLStencilElement { } var HTMLDBadgeElement: { @@ -294,6 +335,18 @@ declare global { prototype: HTMLDHeadingElement; new (): HTMLDHeadingElement; }; + interface HTMLDIconElement extends Components.DIcon, HTMLStencilElement { + } + var HTMLDIconElement: { + prototype: HTMLDIconElement; + new (): HTMLDIconElement; + }; + interface HTMLDIllustrationElement extends Components.DIllustration, HTMLStencilElement { + } + var HTMLDIllustrationElement: { + prototype: HTMLDIllustrationElement; + new (): HTMLDIllustrationElement; + }; interface HTMLDInfoLedElement extends Components.DInfoLed, HTMLStencilElement { } var HTMLDInfoLedElement: { @@ -360,6 +413,18 @@ declare global { prototype: HTMLDSessionCardElement; new (): HTMLDSessionCardElement; }; + interface HTMLDSettingsMenuElement extends Components.DSettingsMenu, HTMLStencilElement { + } + var HTMLDSettingsMenuElement: { + prototype: HTMLDSettingsMenuElement; + new (): HTMLDSettingsMenuElement; + }; + interface HTMLDSwipablePageElement extends Components.DSwipablePage, HTMLStencilElement { + } + var HTMLDSwipablePageElement: { + prototype: HTMLDSwipablePageElement; + new (): HTMLDSwipablePageElement; + }; interface HTMLDTabButtonElement extends Components.DTabButton, HTMLStencilElement { } var HTMLDTabButtonElement: { @@ -388,6 +453,7 @@ declare global { "d-activity-card": HTMLDActivityCardElement; "d-app-details": HTMLDAppDetailsElement; "d-avatar": HTMLDAvatarElement; + "d-background-illustration": HTMLDBackgroundIllustrationElement; "d-badge": HTMLDBadgeElement; "d-button": HTMLDButtonElement; "d-buttons-group": HTMLDButtonsGroupElement; @@ -400,6 +466,8 @@ declare global { "d-feedback": HTMLDFeedbackElement; "d-header": HTMLDHeaderElement; "d-heading": HTMLDHeadingElement; + "d-icon": HTMLDIconElement; + "d-illustration": HTMLDIllustrationElement; "d-info-led": HTMLDInfoLedElement; "d-input": HTMLDInputElement; "d-list": HTMLDListElement; @@ -409,6 +477,8 @@ declare global { "d-page-description": HTMLDPageDescriptionElement; "d-scan-button": HTMLDScanButtonElement; "d-session-card": HTMLDSessionCardElement; + "d-settings-menu": HTMLDSettingsMenuElement; + "d-swipable-page": HTMLDSwipablePageElement; "d-tab-button": HTMLDTabButtonElement; "d-tab-page": HTMLDTabPageElement; "d-text": HTMLDTextElement; @@ -434,6 +504,9 @@ declare namespace LocalJSX { "size"?: Size; "src"?: string; } + interface DBackgroundIllustration { + "background"?: string; + } interface DBadge { } interface DButton { @@ -505,6 +578,16 @@ declare namespace LocalJSX { "color"?: Color; "size"?: Size; } + interface DIcon { + "icon"?: string; + "outline"?: boolean; + "size"?: number; + } + interface DIllustration { + "height"?: number; + "illustration"?: string; + "width"?: number; + } interface DInfoLed { "type"?: 'success' | 'warning' | 'error'; } @@ -548,10 +631,30 @@ declare namespace LocalJSX { "sid"?: string; "success"?: boolean; } + interface DSettingsMenu { + "accountSettings"?: string; + "developedBy"?: string; + "gotoLanguageSettings"?: () => void; + "languages"?: string; + "logOut"?: string; + "logoutCB"?: () => void; + "notificationsSettings"?: string; + "openAppSettings"?: () => void; + "privacyPolicy"?: string; + "securityAndAuthentication"?: string; + "support"?: string; + "version"?: string; + } + interface DSwipablePage { + "background"?: string; + "description"?: string; + "subtitle"?: string; + "title"?: string; + } interface DTabButton { "active"?: boolean; "hasAlert"?: boolean; - "tab"?: 'home' | 'profile' | 'activity' | 'wallet'; + "tab"?: Tab; } interface DTabPage { "scanButtonHref"?: string | undefined; @@ -570,6 +673,7 @@ declare namespace LocalJSX { "d-activity-card": DActivityCard; "d-app-details": DAppDetails; "d-avatar": DAvatar; + "d-background-illustration": DBackgroundIllustration; "d-badge": DBadge; "d-button": DButton; "d-buttons-group": DButtonsGroup; @@ -582,6 +686,8 @@ declare namespace LocalJSX { "d-feedback": DFeedback; "d-header": DHeader; "d-heading": DHeading; + "d-icon": DIcon; + "d-illustration": DIllustration; "d-info-led": DInfoLed; "d-input": DInput; "d-list": DList; @@ -591,6 +697,8 @@ declare namespace LocalJSX { "d-page-description": DPageDescription; "d-scan-button": DScanButton; "d-session-card": DSessionCard; + "d-settings-menu": DSettingsMenu; + "d-swipable-page": DSwipablePage; "d-tab-button": DTabButton; "d-tab-page": DTabPage; "d-text": DText; @@ -604,6 +712,7 @@ declare module "@stencil/core" { "d-activity-card": LocalJSX.DActivityCard & JSXBase.HTMLAttributes; "d-app-details": LocalJSX.DAppDetails & JSXBase.HTMLAttributes; "d-avatar": LocalJSX.DAvatar & JSXBase.HTMLAttributes; + "d-background-illustration": LocalJSX.DBackgroundIllustration & JSXBase.HTMLAttributes; "d-badge": LocalJSX.DBadge & JSXBase.HTMLAttributes; "d-button": LocalJSX.DButton & JSXBase.HTMLAttributes; "d-buttons-group": LocalJSX.DButtonsGroup & JSXBase.HTMLAttributes; @@ -616,6 +725,8 @@ declare module "@stencil/core" { "d-feedback": LocalJSX.DFeedback & JSXBase.HTMLAttributes; "d-header": LocalJSX.DHeader & JSXBase.HTMLAttributes; "d-heading": LocalJSX.DHeading & JSXBase.HTMLAttributes; + "d-icon": LocalJSX.DIcon & JSXBase.HTMLAttributes; + "d-illustration": LocalJSX.DIllustration & JSXBase.HTMLAttributes; "d-info-led": LocalJSX.DInfoLed & JSXBase.HTMLAttributes; "d-input": LocalJSX.DInput & JSXBase.HTMLAttributes; "d-list": LocalJSX.DList & JSXBase.HTMLAttributes; @@ -625,6 +736,8 @@ declare module "@stencil/core" { "d-page-description": LocalJSX.DPageDescription & JSXBase.HTMLAttributes; "d-scan-button": LocalJSX.DScanButton & JSXBase.HTMLAttributes; "d-session-card": LocalJSX.DSessionCard & JSXBase.HTMLAttributes; + "d-settings-menu": LocalJSX.DSettingsMenu & JSXBase.HTMLAttributes; + "d-swipable-page": LocalJSX.DSwipablePage & JSXBase.HTMLAttributes; "d-tab-button": LocalJSX.DTabButton & JSXBase.HTMLAttributes; "d-tab-page": LocalJSX.DTabPage & JSXBase.HTMLAttributes; "d-text": LocalJSX.DText & JSXBase.HTMLAttributes; diff --git a/src/components/activity-card/readme.md b/src/components/activity-card/readme.md index 12a76f2..3542d43 100644 --- a/src/components/activity-card/readme.md +++ b/src/components/activity-card/readme.md @@ -31,6 +31,7 @@ graph TD; d-activity-card --> d-avatar d-activity-card --> d-text d-activity-card --> d-info-led + d-avatar --> d-icon style d-activity-card fill:#f9f,stroke:#333,stroke-width:4px ``` diff --git a/src/components/app-details/readme.md b/src/components/app-details/readme.md index 8386440..ad9aecf 100644 --- a/src/components/app-details/readme.md +++ b/src/components/app-details/readme.md @@ -15,6 +15,10 @@ ## Dependencies +### Used by + + - [d-settings-menu](../settings-menu) + ### Depends on - [d-text](../text) @@ -23,6 +27,7 @@ ```mermaid graph TD; d-app-details --> d-text + d-settings-menu --> d-app-details style d-app-details fill:#f9f,stroke:#333,stroke-width:4px ``` diff --git a/src/components/avatar/avatar.tsx b/src/components/avatar/avatar.tsx index f97986b..b729f20 100644 --- a/src/components/avatar/avatar.tsx +++ b/src/components/avatar/avatar.tsx @@ -14,6 +14,9 @@ export class Avatar { @State() error: boolean = false; render() { + const sizes = { s: 20, m: 28, l: 48 }; + const iconSize:number = sizes[this.size] || 28; + if (this.src && !this.error) { return ( @@ -30,18 +33,7 @@ export class Avatar { const initials = this.generateInitials(); return ( - {initials ? ( - {initials} - ) : ( - - - - )} + {initials ? {initials} : } ); } diff --git a/src/components/avatar/readme.md b/src/components/avatar/readme.md index 4df807d..00e8d09 100644 --- a/src/components/avatar/readme.md +++ b/src/components/avatar/readme.md @@ -23,9 +23,14 @@ - [d-credential-card](../credential-card) - [d-credential-service](../credential-service) +### Depends on + +- [d-icon](../icon) + ### Graph ```mermaid graph TD; + d-avatar --> d-icon d-activity-card --> d-avatar d-credential-card --> d-avatar d-credential-service --> d-avatar diff --git a/src/components/avatar/test/avatar.spec.tsx b/src/components/avatar/test/avatar.spec.tsx index a3fdfca..c7acdfb 100644 --- a/src/components/avatar/test/avatar.spec.tsx +++ b/src/components/avatar/test/avatar.spec.tsx @@ -10,9 +10,7 @@ describe('d-avatar', () => { expect(page.root).toEqualHtml(` - - - + `); @@ -42,9 +40,7 @@ describe('d-avatar', () => { expect(root).toEqualHtml(` - - - + `); diff --git a/src/components/background-illustration/background-illustration.stories.ts b/src/components/background-illustration/background-illustration.stories.ts new file mode 100644 index 0000000..c28bc56 --- /dev/null +++ b/src/components/background-illustration/background-illustration.stories.ts @@ -0,0 +1,27 @@ +import { DBackgroundIllustration } from './d-background-illustration'; +import { Meta, StoryObj } from '@storybook/html'; + +const meta = { + title: 'Design System/Molecule/Background-illustration', + render: args => { + console.log(args); + return ` + + `; + }, +} satisfies Meta; + +export default meta; +type Story = StoryObj; + +export const Default: Story = { + args: { + background: 'https://wallet.zenswarm.forkbomb.eu/src/lib/assets/bg-1.svg', + }, + parameters: { + design: { + type: 'figma', + url: 'https://www.figma.com/design/pdwfO3dMKtaCAQakht0JE6/DIDRoom-%2B-Signroom---WF-and-GUI---Dyne.org?node-id=3449-47234&m=dev', + }, + }, +}; diff --git a/src/components/d-loading/d-loading.css b/src/components/background-illustration/d-background-illustration.css similarity index 100% rename from src/components/d-loading/d-loading.css rename to src/components/background-illustration/d-background-illustration.css diff --git a/src/components/background-illustration/d-background-illustration.tsx b/src/components/background-illustration/d-background-illustration.tsx new file mode 100644 index 0000000..fbaee12 --- /dev/null +++ b/src/components/background-illustration/d-background-illustration.tsx @@ -0,0 +1,27 @@ +import { Component, Host, Prop, h } from '@stencil/core'; + +@Component({ + tag: 'd-background-illustration', + styleUrl: 'd-background-illustration.css', + shadow: false, +}) +export class DBackgroundIllustration { + @Prop() background: string; + + render() { + const style = { + backgroundImage: `url(${this.background})`, + backgroundSize: 'cover', + backgroundPosition: 'center', + }; + return ( + +
+
+ +
+
+
+ ); + } +} diff --git a/src/components/background-illustration/readme.md b/src/components/background-illustration/readme.md new file mode 100644 index 0000000..95c2bc2 --- /dev/null +++ b/src/components/background-illustration/readme.md @@ -0,0 +1,30 @@ +# d-background-illustration + + + + + + +## Properties + +| Property | Attribute | Description | Type | Default | +| ------------ | ------------ | ----------- | -------- | ----------- | +| `background` | `background` | | `string` | `undefined` | + + +## Dependencies + +### Used by + + - [d-swipable-page](../swipable-page) + +### Graph +```mermaid +graph TD; + d-swipable-page --> d-background-illustration + style d-background-illustration fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/src/components/background-illustration/test/d-background-illustration.e2e.ts b/src/components/background-illustration/test/d-background-illustration.e2e.ts new file mode 100644 index 0000000..92483f7 --- /dev/null +++ b/src/components/background-illustration/test/d-background-illustration.e2e.ts @@ -0,0 +1,11 @@ +import { newE2EPage } from '@stencil/core/testing'; + +describe('d-background-illustration', () => { + it('renders', async () => { + const page = await newE2EPage(); + await page.setContent(''); + + const element = await page.find('d-background-illustration'); + expect(element).toHaveClass('hydrated'); + }); +}); diff --git a/src/components/background-illustration/test/d-background-illustration.spec.tsx b/src/components/background-illustration/test/d-background-illustration.spec.tsx new file mode 100644 index 0000000..51017b6 --- /dev/null +++ b/src/components/background-illustration/test/d-background-illustration.spec.tsx @@ -0,0 +1,18 @@ +import { newSpecPage } from '@stencil/core/testing'; +import { DBackgroundIllustration } from '../d-background-illustration'; + +describe('d-background-illustration', () => { + it('renders', async () => { + const page = await newSpecPage({ + components: [DBackgroundIllustration], + html: ``, + }); + expect(page.root).toEqualHtml(` + +
+
+
+
+ `); + }); +}); diff --git a/src/components/button/readme.md b/src/components/button/readme.md index 0555b84..2c502cc 100644 --- a/src/components/button/readme.md +++ b/src/components/button/readme.md @@ -35,6 +35,7 @@ - [d-empty-state](../empty-state) - [d-input](../input) - [d-scan-button](../scan-button) + - [d-settings-menu](../settings-menu) ### Graph ```mermaid @@ -42,6 +43,7 @@ graph TD; d-empty-state --> d-button d-input --> d-button d-scan-button --> d-button + d-settings-menu --> d-button style d-button fill:#f9f,stroke:#333,stroke-width:4px ``` diff --git a/src/components/buttons-group/readme.md b/src/components/buttons-group/readme.md index 7f031d2..fc79e11 100644 --- a/src/components/buttons-group/readme.md +++ b/src/components/buttons-group/readme.md @@ -5,6 +5,19 @@ +## Dependencies + +### Used by + + - [d-settings-menu](../settings-menu) + +### Graph +```mermaid +graph TD; + d-settings-menu --> d-buttons-group + style d-buttons-group fill:#f9f,stroke:#333,stroke-width:4px +``` + ---------------------------------------------- *Built with [StencilJS](https://stenciljs.com/)* diff --git a/src/components/credential-card/d-credential-card.tsx b/src/components/credential-card/d-credential-card.tsx index 15aaa32..2fd977b 100644 --- a/src/components/credential-card/d-credential-card.tsx +++ b/src/components/credential-card/d-credential-card.tsx @@ -1,32 +1,32 @@ import { Component, Host, Prop, h } from '@stencil/core'; -const verifiedUser = ( - - - - - - - - - - - - - - - - - - - - - - -); +// const verifiedUser = ( +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// ); @Component({ tag: 'd-credential-card', @@ -63,7 +63,7 @@ export class DCredentialCard { - {this.verified && verifiedUser} + {this.verified && }
diff --git a/src/components/credential-card/readme.md b/src/components/credential-card/readme.md index 76f5805..9147319 100644 --- a/src/components/credential-card/readme.md +++ b/src/components/credential-card/readme.md @@ -24,12 +24,15 @@ - [d-avatar](../avatar) - [d-text](../text) +- [d-icon](../icon) ### Graph ```mermaid graph TD; d-credential-card --> d-avatar d-credential-card --> d-text + d-credential-card --> d-icon + d-avatar --> d-icon style d-credential-card fill:#f9f,stroke:#333,stroke-width:4px ``` diff --git a/src/components/credential-service/d-credential-service.tsx b/src/components/credential-service/d-credential-service.tsx index 640d39a..f98e8aa 100644 --- a/src/components/credential-service/d-credential-service.tsx +++ b/src/components/credential-service/d-credential-service.tsx @@ -26,9 +26,7 @@ export class DCredentialService {
{this.href && (
- - - +
)} diff --git a/src/components/credential-service/readme.md b/src/components/credential-service/readme.md index 72c3b8e..09462c8 100644 --- a/src/components/credential-service/readme.md +++ b/src/components/credential-service/readme.md @@ -23,12 +23,15 @@ - [d-avatar](../avatar) - [d-text](../text) +- [d-icon](../icon) ### Graph ```mermaid graph TD; d-credential-service --> d-avatar d-credential-service --> d-text + d-credential-service --> d-icon + d-avatar --> d-icon style d-credential-service fill:#f9f,stroke:#333,stroke-width:4px ``` diff --git a/src/components/d-did-box/d-did-box.tsx b/src/components/d-did-box/d-did-box.tsx index 837ed29..172c860 100644 --- a/src/components/d-did-box/d-did-box.tsx +++ b/src/components/d-did-box/d-did-box.tsx @@ -20,18 +20,8 @@ export class DDidBox { - - - - - - + + {'did'} : diff --git a/src/components/d-did-box/readme.md b/src/components/d-did-box/readme.md index 58c1890..1628088 100644 --- a/src/components/d-did-box/readme.md +++ b/src/components/d-did-box/readme.md @@ -17,11 +17,13 @@ ### Depends on - [d-text](../text) +- [d-icon](../icon) ### Graph ```mermaid graph TD; d-did-box --> d-text + d-did-box --> d-icon style d-did-box fill:#f9f,stroke:#333,stroke-width:4px ``` diff --git a/src/components/definition/d-definition.tsx b/src/components/definition/d-definition.tsx index 6f4a095..13efd96 100644 --- a/src/components/definition/d-definition.tsx +++ b/src/components/definition/d-definition.tsx @@ -13,28 +13,6 @@ export class DDefinition { render() { const onClick = () => (this.hide = !this.hide); - const visibilityOn = ( - - - - - - ); - const visibilityOff = ( - - - - - - ); return ( @@ -43,7 +21,11 @@ export class DDefinition {
{this.title}
{!this.hide ? this.definition : '**********'}
- {this.hidable && } + {this.hidable && ( + + )}
); diff --git a/src/components/definition/readme.md b/src/components/definition/readme.md index 36995b2..8b59abd 100644 --- a/src/components/definition/readme.md +++ b/src/components/definition/readme.md @@ -14,6 +14,19 @@ | `title` | `title` | | `string` | `undefined` | +## Dependencies + +### Depends on + +- [d-icon](../icon) + +### Graph +```mermaid +graph TD; + d-definition --> d-icon + style d-definition fill:#f9f,stroke:#333,stroke-width:4px +``` + ---------------------------------------------- *Built with [StencilJS](https://stenciljs.com/)* diff --git a/src/components/empty-state/d-empty-state.tsx b/src/components/empty-state/d-empty-state.tsx index 2f925b3..b92dc8a 100644 --- a/src/components/empty-state/d-empty-state.tsx +++ b/src/components/empty-state/d-empty-state.tsx @@ -24,7 +24,9 @@ export class DEmptyState {
- {this.heading} + + {this.heading} + {this.text} @@ -33,9 +35,7 @@ export class DEmptyState { {this.buttonText}
- - - +
)} diff --git a/src/components/empty-state/readme.md b/src/components/empty-state/readme.md index 13ee4c9..d6f2cf0 100644 --- a/src/components/empty-state/readme.md +++ b/src/components/empty-state/readme.md @@ -29,6 +29,7 @@ - [d-heading](../heading) - [d-text](../text) - [d-button](../button) +- [d-icon](../icon) ### Graph ```mermaid @@ -36,6 +37,7 @@ graph TD; d-empty-state --> d-heading d-empty-state --> d-text d-empty-state --> d-button + d-empty-state --> d-icon style d-empty-state fill:#f9f,stroke:#333,stroke-width:4px ``` diff --git a/src/components/feedback/d-feedback.tsx b/src/components/feedback/d-feedback.tsx index 5a070d7..346ec6e 100644 --- a/src/components/feedback/d-feedback.tsx +++ b/src/components/feedback/d-feedback.tsx @@ -22,7 +22,7 @@ const closeIcon = ( fill-rule="evenodd" clip-rule="evenodd" d="M4.29279 4.29259C4.48031 4.10512 4.73462 3.99981 4.99979 3.99981C5.26495 3.99981 5.51926 4.10512 5.70679 4.29259L9.99979 8.58559L14.2928 4.29259C14.385 4.19708 14.4954 4.1209 14.6174 4.06849C14.7394 4.01608 14.8706 3.9885 15.0034 3.98734C15.1362 3.98619 15.2678 4.01149 15.3907 4.06177C15.5136 4.11205 15.6253 4.18631 15.7192 4.2802C15.8131 4.37409 15.8873 4.48574 15.9376 4.60864C15.9879 4.73154 16.0132 4.86321 16.012 4.99599C16.0109 5.12877 15.9833 5.25999 15.9309 5.382C15.8785 5.504 15.8023 5.61435 15.7068 5.70659L11.4138 9.99959L15.7068 14.2926C15.8889 14.4812 15.9897 14.7338 15.9875 14.996C15.9852 15.2582 15.88 15.509 15.6946 15.6944C15.5092 15.8798 15.2584 15.985 14.9962 15.9873C14.734 15.9895 14.4814 15.8888 14.2928 15.7066L9.99979 11.4136L5.70679 15.7066C5.51818 15.8888 5.26558 15.9895 5.00339 15.9873C4.74119 15.985 4.49038 15.8798 4.30497 15.6944C4.11956 15.509 4.01439 15.2582 4.01211 14.996C4.00983 14.7338 4.11063 14.4812 4.29279 14.2926L8.58579 9.99959L4.29279 5.70659C4.10532 5.51907 4 5.26476 4 4.99959C4 4.73443 4.10532 4.48012 4.29279 4.29259Z" - fill="#F7FAFF" + fill="currentColor" /> diff --git a/src/components/feedback/test/d-feedback.spec.tsx b/src/components/feedback/test/d-feedback.spec.tsx index 05f5098..5ab9edd 100644 --- a/src/components/feedback/test/d-feedback.spec.tsx +++ b/src/components/feedback/test/d-feedback.spec.tsx @@ -26,7 +26,7 @@ describe('d-feedback', () => {
- +
diff --git a/src/components/header/d-header.tsx b/src/components/header/d-header.tsx index 503a20c..c9a478a 100644 --- a/src/components/header/d-header.tsx +++ b/src/components/header/d-header.tsx @@ -13,35 +13,6 @@ export class DHeader { @State() isSettingsOpen: boolean = false; render() { - const arrowBack = ( - - - - - - ); - - const more = ( - - - - - ); - return (
@@ -51,7 +22,7 @@ export class DHeader {
- {arrowBack} +
@@ -60,7 +31,7 @@ export class DHeader { @@ -70,7 +41,9 @@ export class DHeader { -
{more}
+
+ ; +
diff --git a/src/components/header/readme.md b/src/components/header/readme.md index 85a15c7..40a0f8f 100644 --- a/src/components/header/readme.md +++ b/src/components/header/readme.md @@ -27,6 +27,7 @@ - ion-toolbar - ion-buttons - ion-button +- [d-icon](../icon) - ion-title - ion-menu-toggle - ion-menu @@ -39,6 +40,7 @@ graph TD; d-header --> ion-toolbar d-header --> ion-buttons d-header --> ion-button + d-header --> d-icon d-header --> ion-title d-header --> ion-menu-toggle d-header --> ion-menu diff --git a/src/components/heading/readme.md b/src/components/heading/readme.md index df27846..a00f68c 100644 --- a/src/components/heading/readme.md +++ b/src/components/heading/readme.md @@ -18,11 +18,12 @@ ### Used by - [d-empty-state](../empty-state) - - [d-loading](../d-loading) + - [d-loading](../loading) - [d-logo](../logo) - - [d-organizations](../d-organizations) + - [d-organizations](../organizations) - [d-page-description](../page-description) - [d-session-card](../session-card) + - [d-swipable-page](../swipable-page) ### Graph ```mermaid @@ -33,6 +34,7 @@ graph TD; d-organizations --> d-heading d-page-description --> d-heading d-session-card --> d-heading + d-swipable-page --> d-heading style d-heading fill:#f9f,stroke:#333,stroke-width:4px ``` diff --git a/src/components/icon/assets/arrow-back-outline.json b/src/components/icon/assets/arrow-back-outline.json new file mode 100644 index 0000000..145f0cf --- /dev/null +++ b/src/components/icon/assets/arrow-back-outline.json @@ -0,0 +1 @@ +[{"d":"M7.37305 12.75L12.5423 17.9192C12.691 18.0679 12.7644 18.242 12.7625 18.4413C12.7606 18.6407 12.682 18.8179 12.5269 18.9731C12.3718 19.1179 12.1962 19.1929 12 19.1981C11.8039 19.2032 11.6282 19.1282 11.4731 18.9731L5.13273 12.6327C5.03914 12.5391 4.97312 12.4404 4.93465 12.3365C4.89619 12.2327 4.87695 12.1205 4.87695 12C4.87695 11.8795 4.89619 11.7673 4.93465 11.6635C4.97312 11.5596 5.03914 11.4609 5.13273 11.3673L11.4731 5.02695C11.6116 4.88848 11.783 4.81765 11.9875 4.81445C12.192 4.81125 12.3718 4.88208 12.5269 5.02695C12.682 5.18207 12.7596 5.36027 12.7596 5.56155C12.7596 5.76283 12.682 5.94103 12.5269 6.09615L7.37305 11.25H18.75C18.9628 11.25 19.141 11.3218 19.2846 11.4654C19.4282 11.609 19.5 11.7872 19.5 12C19.5 12.2128 19.4282 12.391 19.2846 12.5346C19.141 12.6782 18.9628 12.75 18.75 12.75H7.37305Z","fill":"currentColor"}] \ No newline at end of file diff --git a/src/components/icon/assets/arrow-forward-outline.json b/src/components/icon/assets/arrow-forward-outline.json new file mode 100644 index 0000000..f3529ed --- /dev/null +++ b/src/components/icon/assets/arrow-forward-outline.json @@ -0,0 +1 @@ +[{"d":"M16.627 12.75H5.25003C5.03721 12.75 4.85901 12.6782 4.71543 12.5346C4.57183 12.391 4.50003 12.2128 4.50003 12C4.50003 11.7872 4.57183 11.609 4.71543 11.4654C4.85901 11.3218 5.03721 11.25 5.25003 11.25H16.627L11.4577 6.08078C11.309 5.93206 11.2356 5.75802 11.2375 5.55867C11.2394 5.35931 11.318 5.18207 11.4731 5.02695C11.6282 4.88208 11.8039 4.80708 12 4.80195C12.1962 4.79682 12.3718 4.87182 12.5269 5.02695L18.8673 11.3673C18.9609 11.4609 19.0269 11.5596 19.0654 11.6635C19.1038 11.7673 19.1231 11.8795 19.1231 12C19.1231 12.1205 19.1038 12.2327 19.0654 12.3365C19.0269 12.4404 18.9609 12.5391 18.8673 12.6327L12.5269 18.9731C12.3885 19.1115 12.217 19.1824 12.0125 19.1856C11.808 19.1887 11.6282 19.1179 11.4731 18.9731C11.318 18.8179 11.2404 18.6397 11.2404 18.4384C11.2404 18.2372 11.318 18.059 11.4731 17.9039L16.627 12.75Z","fill":"currentColor"}] \ No newline at end of file diff --git a/src/components/icon/assets/check-outline.json b/src/components/icon/assets/check-outline.json new file mode 100644 index 0000000..fc031d8 --- /dev/null +++ b/src/components/icon/assets/check-outline.json @@ -0,0 +1 @@ +[{"d":"M9.55 15.15L18.025 6.675C18.225 6.475 18.4625 6.375 18.7375 6.375C19.0125 6.375 19.25 6.475 19.45 6.675C19.65 6.875 19.75 7.1125 19.75 7.3875C19.75 7.6625 19.65 7.9 19.45 8.1L10.25 17.3C10.05 17.5 9.81667 17.6 9.55 17.6C9.28333 17.6 9.05 17.5 8.85 17.3L4.55 13C4.35 12.8 4.25417 12.5625 4.2625 12.2875C4.27083 12.0125 4.375 11.775 4.575 11.575C4.775 11.375 5.0125 11.275 5.2875 11.275C5.5625 11.275 5.8 11.375 6 11.575L9.55 15.15Z","fill":"currentColor"}] \ No newline at end of file diff --git a/src/components/icon/assets/close-outline.json b/src/components/icon/assets/close-outline.json new file mode 100644 index 0000000..ab02892 --- /dev/null +++ b/src/components/icon/assets/close-outline.json @@ -0,0 +1 @@ +[{"d":"M12 13.0538L6.9269 18.1269C6.78845 18.2654 6.61442 18.3362 6.4048 18.3394C6.1952 18.3426 6.01797 18.2718 5.8731 18.1269C5.72822 17.982 5.65578 17.8064 5.65578 17.6C5.65578 17.3936 5.72822 17.218 5.8731 17.0731L10.9462 12L5.8731 6.9269C5.73464 6.78845 5.6638 6.61442 5.6606 6.4048C5.65739 6.1952 5.72822 6.01797 5.8731 5.8731C6.01797 5.72822 6.1936 5.65578 6.4 5.65578C6.6064 5.65578 6.78203 5.72822 6.9269 5.8731L12 10.9462L17.0731 5.8731C17.2116 5.73463 17.3856 5.6638 17.5952 5.6606C17.8048 5.65738 17.982 5.72822 18.1269 5.8731C18.2718 6.01797 18.3442 6.1936 18.3442 6.4C18.3442 6.6064 18.2718 6.78203 18.1269 6.9269L13.0538 12L18.1269 17.0731C18.2654 17.2116 18.3362 17.3856 18.3394 17.5952C18.3426 17.8048 18.2718 17.982 18.1269 18.1269C17.982 18.2718 17.8064 18.3442 17.6 18.3442C17.3936 18.3442 17.218 18.2718 17.0731 18.1269L12 13.0538Z","fill":"currentColor"}] \ No newline at end of file diff --git a/src/components/icon/assets/copy-outline.json b/src/components/icon/assets/copy-outline.json new file mode 100644 index 0000000..bda1bc4 --- /dev/null +++ b/src/components/icon/assets/copy-outline.json @@ -0,0 +1 @@ +[{"d":"M9.0577 17.5C8.55256 17.5 8.125 17.325 7.77502 16.975C7.42502 16.625 7.25002 16.1974 7.25002 15.6923V4.30772C7.25002 3.80259 7.42502 3.37502 7.77502 3.02502C8.125 2.67502 8.55256 2.50002 9.0577 2.50002H17.4423C17.9474 2.50002 18.3749 2.67502 18.7249 3.02502C19.0749 3.37502 19.2499 3.80259 19.2499 4.30772V15.6923C19.2499 16.1974 19.0749 16.625 18.7249 16.975C18.3749 17.325 17.9474 17.5 17.4423 17.5H9.0577ZM9.0577 16H17.4423C17.5192 16 17.5897 15.9679 17.6538 15.9038C17.7179 15.8397 17.75 15.7692 17.75 15.6923V4.30772C17.75 4.23079 17.7179 4.16027 17.6538 4.09615C17.5897 4.03205 17.5192 4 17.4423 4H9.0577C8.98076 4 8.91025 4.03205 8.84615 4.09615C8.78203 4.16027 8.74997 4.23079 8.74997 4.30772V15.6923C8.74997 15.7692 8.78203 15.8397 8.84615 15.9038C8.91025 15.9679 8.98076 16 9.0577 16ZM5.55772 20.9999C5.0526 20.9999 4.62505 20.8249 4.27505 20.4749C3.92505 20.1249 3.75005 19.6974 3.75005 19.1922V7.0577C3.75005 6.84488 3.82184 6.66668 3.96542 6.5231C4.10902 6.37952 4.28722 6.30772 4.50002 6.30772C4.71284 6.30772 4.89105 6.37952 5.03465 6.5231C5.17823 6.66668 5.25002 6.84488 5.25002 7.0577V19.1922C5.25002 19.2692 5.28207 19.3397 5.34617 19.4038C5.41029 19.4679 5.4808 19.5 5.55772 19.5H14.6923C14.9051 19.5 15.0833 19.5718 15.2269 19.7153C15.3705 19.8589 15.4423 20.0371 15.4423 20.2499C15.4423 20.4628 15.3705 20.641 15.2269 20.7845C15.0833 20.9281 14.9051 20.9999 14.6923 20.9999H5.55772Z","fill":"currentColor"}] \ No newline at end of file diff --git a/src/components/icon/assets/done-outline.json b/src/components/icon/assets/done-outline.json new file mode 100644 index 0000000..a9e59ac --- /dev/null +++ b/src/components/icon/assets/done-outline.json @@ -0,0 +1 @@ +[{"d":"M9.55001 15.5154L18.1885 6.87695C18.3372 6.72823 18.5138 6.65226 18.7183 6.64905C18.9228 6.64585 19.1026 6.72181 19.2577 6.87695C19.4128 7.03206 19.4904 7.21026 19.4904 7.41155C19.4904 7.61281 19.4128 7.79101 19.2577 7.94615L10.1827 17.0211C10.0019 17.2019 9.79102 17.2923 9.55001 17.2923C9.30899 17.2923 9.0981 17.2019 8.91733 17.0211L4.74233 12.8461C4.59361 12.6974 4.52021 12.5208 4.52213 12.3163C4.52406 12.1119 4.60259 11.9321 4.75771 11.7769C4.91284 11.6218 5.09104 11.5442 5.29231 11.5442C5.49359 11.5442 5.67179 11.6218 5.82691 11.7769L9.55001 15.5154Z","fill":"currentColor"}] \ No newline at end of file diff --git a/src/components/icon/assets/help-outline.json b/src/components/icon/assets/help-outline.json new file mode 100644 index 0000000..9b2819d --- /dev/null +++ b/src/components/icon/assets/help-outline.json @@ -0,0 +1 @@ +[{"d":"M11.989 17.6154C12.2745 17.6154 12.5157 17.5168 12.7125 17.3196C12.9093 17.1225 13.0077 16.8811 13.0077 16.5956C13.0077 16.3101 12.9091 16.0689 12.7119 15.8721C12.5148 15.6753 12.2735 15.5769 11.9879 15.5769C11.7024 15.5769 11.4612 15.6755 11.2644 15.8727C11.0676 16.0698 10.9692 16.3111 10.9692 16.5967C10.9692 16.8822 11.0678 17.1234 11.265 17.3202C11.4621 17.517 11.7035 17.6154 11.989 17.6154ZM12.0017 21.5C10.6877 21.5 9.45271 21.2506 8.29657 20.752C7.14042 20.2533 6.13474 19.5766 5.27952 18.7217C4.42429 17.8669 3.74723 16.8616 3.24835 15.706C2.74946 14.5504 2.50002 13.3156 2.50002 12.0017C2.50002 10.6877 2.74936 9.45271 3.24802 8.29657C3.74669 7.14042 4.42344 6.13474 5.27827 5.27953C6.13312 4.42429 7.13836 3.74723 8.294 3.24835C9.44962 2.74947 10.6844 2.50002 11.9983 2.50002C13.3123 2.50002 14.5473 2.74936 15.7034 3.24803C16.8596 3.74669 17.8653 4.42344 18.7205 5.27827C19.5757 6.13312 20.2528 7.13837 20.7516 8.294C21.2505 9.44962 21.5 10.6844 21.5 11.9983C21.5 13.3123 21.2506 14.5473 20.752 15.7034C20.2533 16.8596 19.5766 17.8653 18.7217 18.7205C17.8669 19.5757 16.8616 20.2528 15.706 20.7517C14.5504 21.2505 13.3156 21.5 12.0017 21.5ZM12 20C14.2333 20 16.125 19.225 17.675 17.675C19.225 16.125 20 14.2333 20 12C20 9.76667 19.225 7.875 17.675 6.325C16.125 4.775 14.2333 4 12 4C9.76666 4 7.875 4.775 6.325 6.325C4.775 7.875 4 9.76667 4 12C4 14.2333 4.775 16.125 6.325 17.675C7.875 19.225 9.76666 20 12 20ZM12.081 7.71922C12.5424 7.71922 12.9417 7.86447 13.2788 8.15495C13.616 8.44543 13.7846 8.80853 13.7846 9.24425C13.7846 9.61092 13.6769 9.93912 13.4615 10.2289C13.2462 10.5186 13 10.7885 12.7231 11.0385C12.3601 11.3605 12.0405 11.7147 11.7643 12.1012C11.4881 12.4876 11.3404 12.918 11.3212 13.3923C11.3148 13.5744 11.3789 13.7269 11.5135 13.85C11.6481 13.9731 11.8051 14.0346 11.9846 14.0346C12.1769 14.0346 12.3397 13.9705 12.4731 13.8423C12.6064 13.7141 12.6916 13.5571 12.7288 13.3712C12.7955 13.0276 12.9375 12.7215 13.1548 12.4529C13.3721 12.1843 13.6075 11.9289 13.861 11.6867C14.2255 11.3315 14.5436 10.9441 14.8153 10.5247C15.0871 10.1052 15.223 9.63741 15.223 9.12118C15.223 8.32888 14.9109 7.67792 14.2865 7.1683C13.6622 6.65868 12.9333 6.40388 12.1 6.40388C11.5051 6.40388 10.9442 6.53561 10.4173 6.79908C9.89041 7.06253 9.48015 7.44682 9.18655 7.95195C9.09553 8.10707 9.06631 8.27034 9.0989 8.44178C9.13148 8.61319 9.21946 8.74335 9.36282 8.83225C9.54531 8.93383 9.7327 8.96283 9.925 8.91923C10.1173 8.87564 10.2808 8.76603 10.4154 8.5904C10.6179 8.32757 10.8631 8.11667 11.1509 7.9577C11.4388 7.79872 11.7488 7.71922 12.081 7.71922Z","fill":"currentColor"}] \ No newline at end of file diff --git a/src/components/icon/assets/home-outline.json b/src/components/icon/assets/home-outline.json new file mode 100644 index 0000000..d520da7 --- /dev/null +++ b/src/components/icon/assets/home-outline.json @@ -0,0 +1 @@ +[{"d":"M12 3.75C12.2779 3.75 12.5452 3.83671 12.7618 3.99265L19.7618 9.03265C19.9169 9.14432 20.04 9.28708 20.1237 9.4478C20.2073 9.60837 20.25 9.78361 20.25 9.96V19.08C20.25 19.3802 20.1261 19.6746 19.8948 19.8966C19.6625 20.1196 19.3412 20.25 19 20.25H15.1C14.9975 20.25 14.9051 20.2106 14.8416 20.1497C14.7791 20.0897 14.75 20.015 14.75 19.944V15.24C14.75 14.5218 14.4525 13.8395 13.9336 13.3413C13.4158 12.8442 12.7197 12.57 12 12.57C11.2803 12.57 10.5842 12.8442 10.0664 13.3413C9.54749 13.8395 9.25 14.5218 9.25 15.24V19.944C9.25 20.015 9.22089 20.0897 9.15842 20.1497C9.09491 20.2106 9.00248 20.25 8.9 20.25H5C4.65883 20.25 4.33748 20.1196 4.10518 19.8966C3.87394 19.6746 3.75 19.3802 3.75 19.08V9.96C3.75 9.78361 3.7927 9.60837 3.87633 9.4478C3.96004 9.28708 4.08313 9.14432 4.23823 9.03265L11.2382 3.99265C11.4548 3.83671 11.7221 3.75 12 3.75Z","stroke":"currentColor","stroke-width":"1.5"}] \ No newline at end of file diff --git a/src/components/icon/assets/home.json b/src/components/icon/assets/home.json new file mode 100644 index 0000000..9f13006 --- /dev/null +++ b/src/components/icon/assets/home.json @@ -0,0 +1 @@ +[{"d":"M13.2 3.384C12.8538 3.13474 12.4327 3 12 3C11.5673 3 11.1462 3.13474 10.8 3.384L3.8 8.424C3.55161 8.60284 3.35 8.83475 3.21115 9.10135C3.07229 9.36795 3 9.66193 3 9.96V19.08C3 19.5892 3.21071 20.0776 3.58579 20.4376C3.96086 20.7977 4.46957 21 5 21H8.9C9.19174 21 9.47153 20.8887 9.67782 20.6907C9.88411 20.4927 10 20.2241 10 19.944V15.24C10 14.7308 10.2107 14.2424 10.5858 13.8824C10.9609 13.5223 11.4696 13.32 12 13.32C12.5304 13.32 13.0391 13.5223 13.4142 13.8824C13.7893 14.2424 14 14.7308 14 15.24V19.944C14 20.2241 14.1159 20.4927 14.3222 20.6907C14.5285 20.8887 14.8083 21 15.1 21H19C19.5304 21 20.0391 20.7977 20.4142 20.4376C20.7893 20.0776 21 19.5892 21 19.08V9.96C21 9.66193 20.9277 9.36795 20.7889 9.10135C20.65 8.83475 20.4484 8.60284 20.2 8.424L13.2 3.384Z","fill":"currentColor"}] \ No newline at end of file diff --git a/src/components/icon/assets/key-outline.json b/src/components/icon/assets/key-outline.json new file mode 100644 index 0000000..3a2428b --- /dev/null +++ b/src/components/icon/assets/key-outline.json @@ -0,0 +1 @@ +[{"d":"M7.00001 13.6153C6.55579 13.6153 6.17551 13.4572 5.85916 13.1408C5.54282 12.8245 5.38466 12.4442 5.38466 12C5.38466 11.5558 5.54282 11.1755 5.85916 10.8591C6.17551 10.5428 6.55579 10.3846 7.00001 10.3846C7.44422 10.3846 7.82451 10.5428 8.14086 10.8591C8.45719 11.1755 8.61536 11.5558 8.61536 12C8.61536 12.4442 8.45719 12.8245 8.14086 13.1408C7.82451 13.4572 7.44422 13.6153 7.00001 13.6153ZM7.00001 17.5C5.47224 17.5 4.17364 16.9655 3.10421 15.8965C2.03476 14.8275 1.50003 13.5294 1.50003 12.0023C1.50003 10.4751 2.03476 9.1763 3.10421 8.1058C4.17364 7.03528 5.47224 6.50002 7.00001 6.50002C8.07179 6.50002 9.04101 6.77663 9.90768 7.32985C10.7743 7.88305 11.4359 8.60644 11.8923 9.50002H20.5173C20.635 9.50002 20.7491 9.52182 20.8595 9.56542C20.9698 9.60901 21.0718 9.6776 21.1654 9.7712L22.7615 11.3673C22.8551 11.4609 22.9211 11.56 22.9596 11.6647C22.998 11.7694 23.0173 11.8816 23.0173 12.0013C23.0173 12.1209 22.998 12.2327 22.9596 12.3365C22.9211 12.4404 22.8551 12.5391 22.7615 12.6327L20.1154 15.2692C20.0405 15.3467 19.9506 15.4087 19.8458 15.4552C19.7409 15.5017 19.6366 15.5301 19.5327 15.5403C19.4289 15.5506 19.325 15.5407 19.2212 15.5105C19.1173 15.4804 19.0186 15.4301 18.925 15.3596L17.6923 14.4326L16.2962 15.4692C16.2192 15.5294 16.1372 15.573 16.05 15.5999C15.9628 15.6269 15.8725 15.6403 15.7789 15.6403C15.6853 15.6403 15.5923 15.6253 15.5 15.5951C15.4077 15.565 15.3231 15.523 15.2462 15.4692L13.8366 14.5H11.8923C11.4359 15.3871 10.7743 16.1089 9.90768 16.6653C9.04101 17.2218 8.07179 17.5 7.00001 17.5ZM7.00001 16C7.95899 16 8.78944 15.7103 9.49136 15.1308C10.1933 14.5513 10.6513 13.841 10.8654 13H14.3077L15.7481 13.9961C15.7417 13.9961 15.7401 13.9987 15.7433 14.0038C15.7465 14.009 15.7481 14.0064 15.7481 13.9961L17.702 12.5673L19.4 13.8654L21.2654 12L20.2654 11H10.8654C10.6513 10.159 10.1933 9.44872 9.49136 8.86922C8.78944 8.28974 7.95899 8 7.00001 8C5.90001 8 4.95834 8.39167 4.17501 9.175C3.39167 9.95833 3.00001 10.9 3.00001 12C3.00001 13.1 3.39167 14.0417 4.17501 14.825C4.95834 15.6083 5.90001 16 7.00001 16Z","fill":"currentColor"}] \ No newline at end of file diff --git a/src/components/icon/assets/language-outline.json b/src/components/icon/assets/language-outline.json new file mode 100644 index 0000000..8873c95 --- /dev/null +++ b/src/components/icon/assets/language-outline.json @@ -0,0 +1 @@ +[{"d":"M12 21.5C10.6974 21.5 9.46827 21.2503 8.31252 20.7509C7.15676 20.2516 6.14874 19.5718 5.28847 18.7115C4.42822 17.8513 3.74842 16.8432 3.24907 15.6875C2.74971 14.5317 2.50002 13.3026 2.50002 12C2.50002 10.6872 2.74971 9.45546 3.24907 8.30482C3.74842 7.15419 4.42822 6.14874 5.28847 5.28847C6.14874 4.42822 7.15676 3.74842 8.31252 3.24907C9.46827 2.74971 10.6974 2.50002 12 2.50002C13.3128 2.50002 14.5445 2.74971 15.6952 3.24907C16.8458 3.74842 17.8513 4.42822 18.7115 5.28847C19.5718 6.14874 20.2516 7.15419 20.7509 8.30482C21.2503 9.45546 21.5 10.6872 21.5 12C21.5 13.3026 21.2503 14.5317 20.7509 15.6875C20.2516 16.8432 19.5718 17.8513 18.7115 18.7115C17.8513 19.5718 16.8458 20.2516 15.6952 20.7509C14.5445 21.2503 13.3128 21.5 12 21.5ZM12 19.9788C12.5103 19.3019 12.9398 18.6192 13.2885 17.9307C13.6372 17.2423 13.9212 16.4897 14.1404 15.673H9.8596C10.0916 16.5154 10.3788 17.2808 10.7211 17.9692C11.0634 18.6577 11.4897 19.3276 12 19.9788ZM10.0635 19.7038C9.68017 19.1539 9.33593 18.5285 9.0308 17.8279C8.72566 17.1272 8.48848 16.4089 8.31925 15.673H4.9269C5.45511 16.7115 6.16346 17.584 7.05192 18.2904C7.94041 18.9968 8.94427 19.468 10.0635 19.7038ZM13.9365 19.7038C15.0557 19.468 16.0596 18.9968 16.9481 18.2904C17.8365 17.584 18.5449 16.7115 19.0731 15.673H15.6807C15.4795 16.4154 15.2263 17.1368 14.9211 17.8375C14.616 18.5381 14.2878 19.1603 13.9365 19.7038ZM4.29807 14.1731H8.0154C7.95258 13.8013 7.90707 13.4369 7.87887 13.0798C7.85067 12.7228 7.83657 12.3628 7.83657 12C7.83657 11.6372 7.85067 11.2772 7.87887 10.9202C7.90707 10.5631 7.95258 10.1987 8.0154 9.8269H4.29807C4.20192 10.1666 4.12821 10.5199 4.07692 10.8865C4.02564 11.2532 4 11.6243 4 12C4 12.3756 4.02564 12.7468 4.07692 13.1135C4.12821 13.4801 4.20192 13.8333 4.29807 14.1731ZM9.51537 14.1731H14.4846C14.5474 13.8013 14.593 13.4401 14.6212 13.0894C14.6494 12.7388 14.6635 12.3756 14.6635 12C14.6635 11.6243 14.6494 11.2612 14.6212 10.9106C14.593 10.5599 14.5474 10.1987 14.4846 9.8269H9.51537C9.45256 10.1987 9.40704 10.5599 9.37882 10.9106C9.35062 11.2612 9.33652 11.6243 9.33652 12C9.33652 12.3756 9.35062 12.7388 9.37882 13.0894C9.40704 13.4401 9.45256 13.8013 9.51537 14.1731ZM15.9846 14.1731H19.7019C19.7981 13.8333 19.8718 13.4801 19.9231 13.1135C19.9744 12.7468 20 12.3756 20 12C20 11.6243 19.9744 11.2532 19.9231 10.8865C19.8718 10.5199 19.7981 10.1666 19.7019 9.8269H15.9846C16.0474 10.1987 16.0929 10.5631 16.1211 10.9202C16.1493 11.2772 16.1634 11.6372 16.1634 12C16.1634 12.3628 16.1493 12.7228 16.1211 13.0798C16.0929 13.4369 16.0474 13.8013 15.9846 14.1731ZM15.6807 8.32695H19.0731C18.5385 7.27565 17.8349 6.4032 16.9625 5.7096C16.09 5.01601 15.0814 4.54166 13.9365 4.28652C14.3198 4.86857 14.6609 5.50512 14.9596 6.19615C15.2583 6.88718 15.4987 7.59745 15.6807 8.32695ZM9.8596 8.32695H14.1404C13.9083 7.49105 13.6164 6.72085 13.2644 6.01635C12.9125 5.31187 12.491 4.6468 12 4.02115C11.509 4.6468 11.0875 5.31187 10.7356 6.01635C10.3836 6.72085 10.0916 7.49105 9.8596 8.32695ZM4.9269 8.32695H8.31925C8.5013 7.59745 8.74169 6.88718 9.04042 6.19615C9.33914 5.50512 9.68017 4.86857 10.0635 4.28652C8.91222 4.54166 7.90195 5.01762 7.0327 5.71442C6.16347 6.41122 5.46153 7.28207 4.9269 8.32695Z","fill":"currentColor"}] \ No newline at end of file diff --git a/src/components/icon/assets/lock-outline.json b/src/components/icon/assets/lock-outline.json new file mode 100644 index 0000000..690c299 --- /dev/null +++ b/src/components/icon/assets/lock-outline.json @@ -0,0 +1 @@ +[{"d":"M6.30773 21.5C5.80901 21.5 5.38305 21.3234 5.02985 20.9702C4.67663 20.6169 4.50003 20.191 4.50003 19.6923V10.3077C4.50003 9.80901 4.67663 9.38305 5.02985 9.02985C5.38305 8.67663 5.80901 8.50002 6.30773 8.50002H7.50003V6.50002C7.50003 5.25132 7.93784 4.18916 8.81348 3.31353C9.68913 2.43789 10.7513 2.00007 12 2.00007C13.2487 2.00007 14.3109 2.43789 15.1865 3.31353C16.0622 4.18916 16.5 5.25132 16.5 6.50002V8.50002H17.6923C18.191 8.50002 18.617 8.67663 18.9702 9.02985C19.3234 9.38305 19.5 9.80901 19.5 10.3077V19.6923C19.5 20.191 19.3234 20.6169 18.9702 20.9702C18.617 21.3234 18.191 21.5 17.6923 21.5H6.30773ZM6.30773 20H17.6923C17.782 20 17.8558 19.9711 17.9135 19.9135C17.9712 19.8558 18 19.782 18 19.6923V10.3077C18 10.218 17.9712 10.1442 17.9135 10.0865C17.8558 10.0288 17.782 10 17.6923 10H6.30773C6.21798 10 6.14425 10.0288 6.08655 10.0865C6.02885 10.1442 6 10.218 6 10.3077V19.6923C6 19.782 6.02885 19.8558 6.08655 19.9135C6.14425 19.9711 6.21798 20 6.30773 20ZM12 16.75C12.4859 16.75 12.899 16.5798 13.2394 16.2394C13.5798 15.899 13.75 15.4859 13.75 15C13.75 14.5141 13.5798 14.101 13.2394 13.7606C12.899 13.4202 12.4859 13.25 12 13.25C11.5141 13.25 11.101 13.4202 10.7606 13.7606C10.4202 14.101 10.25 14.5141 10.25 15C10.25 15.4859 10.4202 15.899 10.7606 16.2394C11.101 16.5798 11.5141 16.75 12 16.75ZM9 8.50002H15V6.50002C15 5.66669 14.7083 4.95836 14.125 4.37502C13.5417 3.79169 12.8333 3.50002 12 3.50002C11.1667 3.50002 10.4583 3.79169 9.875 4.37502C9.29167 4.95836 9 5.66669 9 6.50002V8.50002Z","fill":"currentColor"}] \ No newline at end of file diff --git a/src/components/icon/assets/logout-outline.json b/src/components/icon/assets/logout-outline.json new file mode 100644 index 0000000..fdc0dca --- /dev/null +++ b/src/components/icon/assets/logout-outline.json @@ -0,0 +1 @@ +[{"d":"M5.30772 20.5C4.80259 20.5 4.37502 20.325 4.02502 19.975C3.67502 19.625 3.50002 19.1974 3.50002 18.6923V5.30772C3.50002 4.80259 3.67502 4.37502 4.02502 4.02502C4.37502 3.67502 4.80259 3.50002 5.30772 3.50002H11.2596C11.4724 3.50002 11.6506 3.57182 11.7942 3.71542C11.9378 3.85901 12.0096 4.03721 12.0096 4.25002C12.0096 4.46284 11.9378 4.64104 11.7942 4.78462C11.6506 4.92821 11.4724 5 11.2596 5H5.30772C5.23079 5 5.16026 5.03205 5.09615 5.09615C5.03205 5.16027 5 5.23079 5 5.30772V18.6923C5 18.7692 5.03205 18.8397 5.09615 18.9038C5.16026 18.9679 5.23079 19 5.30772 19H11.2596C11.4724 19 11.6506 19.0718 11.7942 19.2154C11.9378 19.359 12.0096 19.5372 12.0096 19.75C12.0096 19.9628 11.9378 20.141 11.7942 20.2846C11.6506 20.4282 11.4724 20.5 11.2596 20.5H5.30772ZM17.6173 12.75H9.84615C9.63333 12.75 9.45513 12.6782 9.31155 12.5346C9.16795 12.391 9.09615 12.2128 9.09615 12C9.09615 11.7872 9.16795 11.609 9.31155 11.4654C9.45513 11.3218 9.63333 11.25 9.84615 11.25H17.6173L15.6942 9.32695C15.5558 9.18848 15.485 9.01957 15.4818 8.82022C15.4786 8.62087 15.5494 8.44363 15.6942 8.2885C15.8391 8.13338 16.0148 8.05326 16.2212 8.04812C16.4276 8.04299 16.6083 8.11799 16.7635 8.27312L19.8576 11.3673C20.0384 11.5481 20.1288 11.759 20.1288 12C20.1288 12.241 20.0384 12.4519 19.8576 12.6327L16.7635 15.7269C16.6148 15.8756 16.4382 15.949 16.2337 15.9471C16.0292 15.9451 15.8494 15.8666 15.6942 15.7115C15.5494 15.5564 15.4795 15.3782 15.4846 15.1769C15.4898 14.9756 15.5648 14.8025 15.7096 14.6577L17.6173 12.75Z","fill":"currentColor"}] \ No newline at end of file diff --git a/src/components/icon/assets/more-outline.json b/src/components/icon/assets/more-outline.json new file mode 100644 index 0000000..b446a0a --- /dev/null +++ b/src/components/icon/assets/more-outline.json @@ -0,0 +1 @@ +[{"d":"M6.23078 13.5C5.81829 13.5 5.46518 13.3531 5.17143 13.0593C4.87769 12.7656 4.73083 12.4125 4.73083 12C4.73083 11.5875 4.87769 11.2344 5.17143 10.9406C5.46518 10.6469 5.81829 10.5 6.23078 10.5C6.64328 10.5 6.99639 10.6469 7.29013 10.9406C7.58388 11.2344 7.73075 11.5875 7.73075 12C7.73075 12.4125 7.58388 12.7656 7.29013 13.0593C6.99639 13.3531 6.64328 13.5 6.23078 13.5ZM12 13.5C11.5875 13.5 11.2344 13.3531 10.9407 13.0593C10.6469 12.7656 10.5 12.4125 10.5 12C10.5 11.5875 10.6469 11.2344 10.9407 10.9406C11.2344 10.6469 11.5875 10.5 12 10.5C12.4125 10.5 12.7656 10.6469 13.0594 10.9406C13.3531 11.2344 13.5 11.5875 13.5 12C13.5 12.4125 13.3531 12.7656 13.0594 13.0593C12.7656 13.3531 12.4125 13.5 12 13.5ZM17.7692 13.5C17.3567 13.5 17.0036 13.3531 16.7099 13.0593C16.4161 12.7656 16.2693 12.4125 16.2693 12C16.2693 11.5875 16.4161 11.2344 16.7099 10.9406C17.0036 10.6469 17.3567 10.5 17.7692 10.5C18.1817 10.5 18.5348 10.6469 18.8286 10.9406C19.1223 11.2344 19.2692 11.5875 19.2692 12C19.2692 12.4125 19.1223 12.7656 18.8286 13.0593C18.5348 13.3531 18.1817 13.5 17.7692 13.5Z","fill":"currentColor"}] \ No newline at end of file diff --git a/src/components/icon/assets/notification-outline.json b/src/components/icon/assets/notification-outline.json new file mode 100644 index 0000000..2bcbb6c --- /dev/null +++ b/src/components/icon/assets/notification-outline.json @@ -0,0 +1 @@ +[{"d":"M14 17V18C14 19.1046 13.1046 20 12 20C10.8954 20 10 19.1046 10 18V17M12 4C14.7614 4 17 6.23858 17 9V14H17.5C18.3284 14 19 14.6716 19 15.5C19 16.3284 18.3284 17 17.5 17H6.5C5.67157 17 5 16.3284 5 15.5C5 14.6716 5.67157 14 6.5 14H7V9C7 6.23858 9.23858 4 12 4Z","stroke":"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}] \ No newline at end of file diff --git a/src/components/icon/assets/notification.json b/src/components/icon/assets/notification.json new file mode 100644 index 0000000..3a32ac1 --- /dev/null +++ b/src/components/icon/assets/notification.json @@ -0,0 +1 @@ +[{"d":"M7 9V14H6.5C5.67157 14 5 14.6716 5 15.5C5 16.3284 5.67157 17 6.5 17H17.5C18.3284 17 19 16.3284 19 15.5C19 14.6716 18.3284 14 17.5 14H17V9C17 6.23858 14.7614 4 12 4C9.23858 4 7 6.23858 7 9Z","fill":"currentColor"},{"d":"M14 17V18C14 19.1046 13.1046 20 12 20C10.8954 20 10 19.1046 10 18V17M12 4C14.7614 4 17 6.23858 17 9V14H17.5C18.3284 14 19 14.6716 19 15.5C19 16.3284 18.3284 17 17.5 17H6.5C5.67157 17 5 16.3284 5 15.5C5 14.6716 5.67157 14 6.5 14H7V9C7 6.23858 9.23858 4 12 4Z","stroke":"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}] \ No newline at end of file diff --git a/src/components/icon/assets/profile-outline.json b/src/components/icon/assets/profile-outline.json new file mode 100644 index 0000000..c1bfaad --- /dev/null +++ b/src/components/icon/assets/profile-outline.json @@ -0,0 +1 @@ +[{"d":"M3.76467 19.9989C5.94802 12.4805 18.062 12.4805 20.2353 19.9989C20.2856 20.1491 20.1347 20.2392 19.9637 20.2492H4.02627C3.85523 20.2492 3.71437 20.1491 3.75461 19.9989H3.76467Z","stroke":"currentColor","stroke-width":"1.5"},{"d":"M16.09 7.71524C16.09 8.75639 15.6674 9.76752 14.8927 10.5083C14.128 11.2492 13.0816 11.6796 11.9849 11.6796C10.8882 11.6796 9.85187 11.2592 9.07714 10.5083C8.31247 9.76752 7.87982 8.75639 7.87982 7.71524C7.87982 6.67408 8.3024 5.66296 9.07714 4.92213C9.84181 4.18131 10.8882 3.75083 11.9849 3.75083C13.0816 3.75083 14.1179 4.1713 14.8927 4.92213C15.6574 5.66296 16.09 6.67408 16.09 7.71524Z","stroke":"currentColor","stroke-width":"1.5"}] \ No newline at end of file diff --git a/src/components/icon/assets/profile.json b/src/components/icon/assets/profile.json new file mode 100644 index 0000000..b88f9b1 --- /dev/null +++ b/src/components/icon/assets/profile.json @@ -0,0 +1 @@ +[{"d":"M3.76467 19.9989C5.94802 12.4805 18.062 12.4805 20.2353 19.9989C20.2856 20.1491 20.1347 20.2392 19.9637 20.2492H4.02627C3.85523 20.2492 3.71437 20.1491 3.75461 19.9989H3.76467Z","fill":"currentColor","stroke":"currentColor","stroke-width":"1.5"},{"d":"M16.09 7.71524C16.09 8.7564 15.6674 9.76752 14.8927 10.5083C14.128 11.2492 13.0816 11.6796 11.9849 11.6796C10.8882 11.6796 9.85187 11.2592 9.07714 10.5083C8.31247 9.76752 7.87982 8.7564 7.87982 7.71524C7.87982 6.67409 8.3024 5.66296 9.07714 4.92214C9.84181 4.18132 10.8882 3.75084 11.9849 3.75084C13.0816 3.75084 14.1179 4.17131 14.8927 4.92214C15.6574 5.66296 16.09 6.67409 16.09 7.71524Z","fill":"currentColor","stroke":"currentColor","stroke-width":"1.5"}] \ No newline at end of file diff --git a/src/components/icon/assets/settings-outline.json b/src/components/icon/assets/settings-outline.json new file mode 100644 index 0000000..c61dcae --- /dev/null +++ b/src/components/icon/assets/settings-outline.json @@ -0,0 +1 @@ +[{"d":"M10.4808 21.5C10.2564 21.5 10.0622 21.4247 9.8981 21.274C9.734 21.1234 9.63528 20.9359 9.60195 20.7115L9.31157 18.4538C9.04362 18.3641 8.76894 18.2384 8.48752 18.0769C8.2061 17.9154 7.9545 17.7423 7.7327 17.5577L5.64425 18.4384C5.43015 18.532 5.21765 18.5429 5.00675 18.4711C4.79585 18.3993 4.63014 18.2647 4.50962 18.0673L3.00582 15.4481C2.8917 15.2506 2.85645 15.0398 2.90005 14.8154C2.94363 14.591 3.0558 14.4103 3.23657 14.2731L5.04427 12.9058C5.02119 12.7571 5.00484 12.6077 4.99522 12.4577C4.9856 12.3077 4.9808 12.1583 4.9808 12.0096C4.9808 11.8673 4.9856 11.7228 4.99522 11.576C5.00484 11.4292 5.02119 11.2686 5.04427 11.0942L3.23657 9.7269C3.0558 9.58973 2.94203 9.40897 2.89525 9.1846C2.84845 8.96025 2.8853 8.74936 3.00582 8.55193L4.50962 5.95197C4.63014 5.75454 4.79425 5.61992 5.00195 5.54812C5.20963 5.47632 5.42052 5.48722 5.63462 5.58082L7.72307 6.45197C7.9641 6.26094 8.22148 6.08626 8.4952 5.92793C8.76893 5.76958 9.03785 5.64232 9.30195 5.54617L9.60195 3.2885C9.63528 3.06413 9.734 2.87663 9.8981 2.726C10.0622 2.57535 10.2564 2.50002 10.4808 2.50002H13.5096C13.7339 2.50002 13.9298 2.57535 14.0971 2.726C14.2644 2.87663 14.3647 3.06413 14.398 3.2885L14.6884 5.5558C14.9884 5.66477 15.2599 5.79201 15.5029 5.93752C15.7458 6.08304 15.991 6.25452 16.2384 6.45197L18.3654 5.58082C18.5795 5.48722 18.7904 5.47472 18.998 5.54332C19.2057 5.61191 19.3699 5.74492 19.4904 5.94235L20.9942 8.55193C21.1147 8.74936 21.1515 8.96025 21.1047 9.1846C21.058 9.40897 20.9442 9.58973 20.7634 9.7269L18.9173 11.1231C18.9532 11.2846 18.9727 11.4356 18.9759 11.576C18.9791 11.7163 18.9807 11.8577 18.9807 12C18.9807 12.1359 18.9775 12.274 18.9711 12.4144C18.9647 12.5548 18.9416 12.7154 18.9019 12.8962L20.7288 14.2731C20.9096 14.4103 21.0233 14.591 21.0701 14.8154C21.1169 15.0398 21.0801 15.2506 20.9596 15.4481L19.4557 18.0519C19.3352 18.2493 19.167 18.3849 18.9509 18.4586C18.7349 18.5323 18.5198 18.5224 18.3057 18.4288L16.2384 17.548C15.991 17.7455 15.7384 17.9202 15.4807 18.0721C15.223 18.224 14.9589 18.3481 14.6884 18.4442L14.398 20.7115C14.3647 20.9359 14.2644 21.1234 14.0971 21.274C13.9298 21.4247 13.7339 21.5 13.5096 21.5H10.4808ZM11 20H12.9654L13.325 17.3212C13.8352 17.1878 14.3016 16.9984 14.724 16.7529C15.1465 16.5074 15.5538 16.1917 15.9461 15.8058L18.4308 16.85L19.4154 15.15L17.2461 13.5154C17.3295 13.2564 17.3862 13.0026 17.4163 12.7539C17.4465 12.5051 17.4615 12.2539 17.4615 12C17.4615 11.7398 17.4465 11.4885 17.4163 11.2462C17.3862 11.0039 17.3295 10.7564 17.2461 10.5039L19.4346 8.85L18.45 7.15L15.9365 8.20963C15.6019 7.85193 15.201 7.5359 14.7336 7.26155C14.2663 6.98718 13.7936 6.79295 13.3154 6.67885L13 4H11.0154L10.6846 6.66922C10.1744 6.78974 9.7032 6.97436 9.27115 7.22307C8.8391 7.47179 8.42692 7.79231 8.03462 8.18463L5.55 7.15L4.56537 8.85L6.725 10.4596C6.64166 10.6968 6.58333 10.9436 6.55 11.2C6.51666 11.4564 6.5 11.7263 6.5 12.0096C6.5 12.2699 6.51666 12.525 6.55 12.775C6.58333 13.025 6.63845 13.2718 6.71537 13.5154L4.56537 15.15L5.55 16.85L8.025 15.8C8.40448 16.1898 8.81025 16.509 9.2423 16.7577C9.67435 17.0064 10.1519 17.1974 10.675 17.3308L11 20ZM12.0115 15C12.8436 15 13.5516 14.708 14.1355 14.124C14.7195 13.54 15.0115 12.832 15.0115 12C15.0115 11.168 14.7195 10.46 14.1355 9.87598C13.5516 9.29201 12.8436 9.00002 12.0115 9.00002C11.1692 9.00002 10.4587 9.29201 9.87982 9.87598C9.30099 10.46 9.01157 11.168 9.01157 12C9.01157 12.832 9.30099 13.54 9.87982 14.124C10.4587 14.708 11.1692 15 12.0115 15Z","fill":"currentColor"}] \ No newline at end of file diff --git a/src/components/icon/assets/shield-outline.json b/src/components/icon/assets/shield-outline.json new file mode 100644 index 0000000..1fcab39 --- /dev/null +++ b/src/components/icon/assets/shield-outline.json @@ -0,0 +1 @@ +[{"d":"M12 21.3711C11.8961 21.3711 11.7942 21.3628 11.6942 21.3461C11.5942 21.3295 11.4974 21.3045 11.4036 21.2711C9.29481 20.5211 7.61701 19.1913 6.37022 17.2817C5.12342 15.3721 4.50002 13.3115 4.50002 11.1V6.59617C4.50002 6.21632 4.60924 5.87446 4.82767 5.57057C5.04611 5.26669 5.32856 5.04638 5.67502 4.90965L11.3673 2.78465C11.5814 2.70773 11.7923 2.66927 12 2.66927C12.2077 2.66927 12.4186 2.70773 12.6327 2.78465L18.325 4.90965C18.6714 5.04638 18.9539 5.26669 19.1723 5.57057C19.3908 5.87446 19.5 6.21632 19.5 6.59617V11.1C19.5 13.3115 18.8766 15.3721 17.6298 17.2817C16.383 19.1913 14.7052 20.5211 12.5963 21.2711C12.5026 21.3045 12.4058 21.3295 12.3058 21.3461C12.2058 21.3628 12.1038 21.3711 12 21.3711ZM12 19.9C13.7333 19.35 15.1667 18.25 16.3 16.6C17.4333 14.95 18 13.1167 18 11.1V6.58655C18 6.52245 17.9824 6.46476 17.9471 6.41347C17.9118 6.36217 17.8622 6.32371 17.798 6.29807L12.1058 4.17307C12.0737 4.16026 12.0385 4.15385 12 4.15385C11.9615 4.15385 11.9263 4.16026 11.8942 4.17307L6.20195 6.29807C6.13783 6.32371 6.08815 6.36217 6.0529 6.41347C6.01763 6.46476 6 6.52245 6 6.58655V11.1C6 13.1167 6.56666 14.95 7.7 16.6C8.83333 18.25 10.2667 19.35 12 19.9Z","fill":"currentColor"}] \ No newline at end of file diff --git a/src/components/icon/assets/visibility-off-outline.json b/src/components/icon/assets/visibility-off-outline.json new file mode 100644 index 0000000..c03a345 --- /dev/null +++ b/src/components/icon/assets/visibility-off-outline.json @@ -0,0 +1 @@ +[{"d":"M15.773 12.9731L14.65 11.85C14.8205 10.9603 14.5865 10.2013 13.9481 9.57308C13.3096 8.94488 12.5436 8.70385 11.65 8.85L10.5269 7.72695C10.759 7.61925 10.9978 7.54168 11.2433 7.49425C11.4888 7.44682 11.741 7.4231 12 7.4231C13.1346 7.4231 14.0977 7.81893 14.8894 8.6106C15.6811 9.40227 16.0769 10.3654 16.0769 11.5C16.0769 11.759 16.0548 12.0112 16.0105 12.2567C15.9663 12.5022 15.8871 12.741 15.773 12.9731ZM18.9538 16.0846L17.85 15.05C18.4833 14.5667 19.05 14.0292 19.55 13.4375C20.05 12.8458 20.4667 12.2 20.8 11.5C19.9667 9.81667 18.7625 8.47917 17.1875 7.4875C15.6125 6.49583 13.8833 6 12 6C11.5167 6 11.0458 6.03333 10.5875 6.1C10.1292 6.16667 9.66666 6.26667 9.2 6.4L8.03465 5.23465C8.67053 4.98337 9.31892 4.79811 9.97982 4.67888C10.6407 4.55964 11.3141 4.50003 12 4.50003C14.1487 4.50003 16.1224 5.05836 17.9211 6.17503C19.7198 7.29169 21.1032 8.80258 22.0711 10.7077C22.1378 10.8346 22.1862 10.9625 22.2163 11.0914C22.2464 11.2202 22.2615 11.3564 22.2615 11.5C22.2615 11.6436 22.249 11.7798 22.224 11.9087C22.199 12.0375 22.1532 12.1654 22.0865 12.2923C21.7327 13.0449 21.2884 13.7397 20.7538 14.3769C20.2192 15.0141 19.6192 15.5833 18.9538 16.0846ZM12 18.5C9.89488 18.5 7.96541 17.9375 6.21157 16.8125C4.45772 15.6875 3.06349 14.2058 2.02887 12.3673C1.94554 12.2404 1.88465 12.1026 1.8462 11.9539C1.80773 11.8051 1.7885 11.6539 1.7885 11.5C1.7885 11.3462 1.80516 11.1974 1.8385 11.0539C1.87183 10.9103 1.93016 10.7699 2.0135 10.6327C2.3853 9.95322 2.80646 9.3061 3.27697 8.69135C3.74749 8.0766 4.28851 7.52564 4.90005 7.03848L2.64235 4.76538C2.50388 4.61666 2.43561 4.44006 2.43755 4.23558C2.43946 4.03109 2.51286 3.85642 2.65772 3.71155C2.80259 3.56668 2.97823 3.49425 3.18465 3.49425C3.39105 3.49425 3.56668 3.56668 3.71155 3.71155L20.2885 20.2885C20.4269 20.4269 20.5003 20.5984 20.5086 20.8029C20.517 21.0073 20.4436 21.1871 20.2885 21.3423C20.1436 21.4871 19.9679 21.5596 19.7615 21.5596C19.5551 21.5596 19.3795 21.4871 19.2346 21.3423L15.7154 17.8538C15.1256 18.082 14.5196 18.2468 13.8971 18.3481C13.2747 18.4493 12.6423 18.5 12 18.5ZM5.95387 8.09228C5.36797 8.54484 4.84136 9.05671 4.37405 9.62788C3.90673 10.199 3.51538 10.8231 3.2 11.5C4.03333 13.1833 5.2375 14.5208 6.8125 15.5125C8.3875 16.5042 10.1167 17 12 17C12.4295 17 12.8523 16.9712 13.2683 16.9135C13.6843 16.8558 14.0975 16.7667 14.5077 16.6462L13.2423 15.35C13.0398 15.4384 12.8375 15.4984 12.6356 15.5298C12.4337 15.5612 12.2218 15.5769 12 15.5769C10.8654 15.5769 9.90226 15.1811 9.1106 14.3894C8.31893 13.5977 7.9231 12.6346 7.9231 11.5C7.9231 11.2782 7.94041 11.0663 7.97502 10.8644C8.00964 10.6625 8.06797 10.4602 8.15002 10.2577L5.95387 8.09228Z","fill":"currentColor"}] \ No newline at end of file diff --git a/src/components/icon/assets/visibility-outline.json b/src/components/icon/assets/visibility-outline.json new file mode 100644 index 0000000..0019316 --- /dev/null +++ b/src/components/icon/assets/visibility-outline.json @@ -0,0 +1 @@ +[{"d":"M12.0023 15.5769C13.1354 15.5769 14.0977 15.1803 14.8894 14.3871C15.6811 13.594 16.0769 12.6308 16.0769 11.4977C16.0769 10.3646 15.6803 9.40227 14.8872 8.6106C14.094 7.81893 13.1308 7.4231 11.9977 7.4231C10.8646 7.4231 9.90227 7.81968 9.1106 8.61285C8.31894 9.40603 7.9231 10.3692 7.9231 11.5023C7.9231 12.6354 8.31969 13.5977 9.11285 14.3894C9.90604 15.1811 10.8692 15.5769 12.0023 15.5769ZM12 14.2C11.25 14.2 10.6125 13.9375 10.0875 13.4125C9.5625 12.8875 9.3 12.25 9.3 11.5C9.3 10.75 9.5625 10.1125 10.0875 9.5875C10.6125 9.0625 11.25 8.8 12 8.8C12.75 8.8 13.3875 9.0625 13.9125 9.5875C14.4375 10.1125 14.7 10.75 14.7 11.5C14.7 12.25 14.4375 12.8875 13.9125 13.4125C13.3875 13.9375 12.75 14.2 12 14.2ZM12 18.5C9.89489 18.5 7.96958 17.9384 6.22408 16.8153C4.47856 15.6923 3.0853 14.2147 2.04428 12.3827C1.96095 12.2391 1.90005 12.0944 1.86158 11.9485C1.82311 11.8027 1.80388 11.653 1.80388 11.4995C1.80388 11.346 1.82311 11.1965 1.86158 11.051C1.90005 10.9055 1.96095 10.7609 2.04428 10.6173C3.0853 8.78527 4.47856 7.30771 6.22408 6.18465C7.96958 5.06156 9.89489 4.50002 12 4.50002C14.1051 4.50002 16.0304 5.06156 17.7759 6.18465C19.5214 7.30771 20.9147 8.78527 21.9557 10.6173C22.0391 10.7609 22.1 10.9056 22.1384 11.0514C22.1769 11.1973 22.1961 11.347 22.1961 11.5005C22.1961 11.654 22.1769 11.8035 22.1384 11.949C22.1 12.0945 22.0391 12.2391 21.9557 12.3827C20.9147 14.2147 19.5214 15.6923 17.7759 16.8153C16.0304 17.9384 14.1051 18.5 12 18.5ZM12 17C13.8833 17 15.6125 16.5042 17.1875 15.5125C18.7625 14.5208 19.9667 13.1833 20.8 11.5C19.9667 9.81667 18.7625 8.47917 17.1875 7.4875C15.6125 6.49583 13.8833 6 12 6C10.1167 6 8.3875 6.49583 6.8125 7.4875C5.2375 8.47917 4.03334 9.81667 3.2 11.5C4.03334 13.1833 5.2375 14.5208 6.8125 15.5125C8.3875 16.5042 10.1167 17 12 17Z","fill":"currentColor"}] \ No newline at end of file diff --git a/src/components/icon/assets/wallet-outline.json b/src/components/icon/assets/wallet-outline.json new file mode 100644 index 0000000..efaa76b --- /dev/null +++ b/src/components/icon/assets/wallet-outline.json @@ -0,0 +1 @@ +[{"d":"M3.80838 8.87936V16.7185C3.80838 18.0804 4.54131 19.1957 5.4467 19.1957H18.5533C19.4587 19.1957 20.1916 18.0912 20.1916 16.7185V8.87936H17.6371V6.35925C17.6371 5.50134 16.9365 4.80429 16.0742 4.80429H5.37125C4.50898 4.80429 3.80838 5.50134 3.80838 6.35925V8.87936ZM3.80838 8.87936H17.6263","stroke":"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},{"d":"M16.4623 13.2225C16.9147 13.2225 17.2814 12.8576 17.2814 12.4075C17.2814 11.9574 16.9147 11.5925 16.4623 11.5925C16.0099 11.5925 15.6431 11.9574 15.6431 12.4075C15.6431 12.8576 16.0099 13.2225 16.4623 13.2225Z","fill":"currentColor"}] \ No newline at end of file diff --git a/src/components/icon/assets/wallet.json b/src/components/icon/assets/wallet.json new file mode 100644 index 0000000..4ca9e85 --- /dev/null +++ b/src/components/icon/assets/wallet.json @@ -0,0 +1 @@ +[{"d":"M3 9.5363V16.7869C3 18.5855 4.03774 20 5.36792 20H18.6321C19.9623 20 21 18.5855 21 16.7869V10.5363C21 9.98402 20.5523 9.5363 20 9.5363H3ZM16.5189 13.2365C16.0566 13.2365 15.6887 12.8712 15.6887 12.4122C15.6887 11.9532 16.0566 11.5972 16.5189 11.5972C16.9811 11.5972 17.3396 11.9625 17.3396 12.4122C17.3396 12.8618 16.9717 13.2365 16.5189 13.2365ZM18.4151 6.27635C18.4151 5.02108 17.3868 4 16.1226 4H5.28302C4.0283 4 3 5.02108 3 6.27635V8.13115H18.4151V6.27635Z","fill":"currentColor"}] \ No newline at end of file diff --git a/src/components/d-organizations/d-organizations.css b/src/components/icon/d-icon.css similarity index 100% rename from src/components/d-organizations/d-organizations.css rename to src/components/icon/d-icon.css diff --git a/src/components/icon/d-icon.tsx b/src/components/icon/d-icon.tsx new file mode 100644 index 0000000..0f8dec4 --- /dev/null +++ b/src/components/icon/d-icon.tsx @@ -0,0 +1,86 @@ +import { Build, Component, Element, h, Host, Prop, State, Watch } from '@stencil/core'; +import { fetchAsset } from '../utils'; + +@Component({ + assetsDirs: ['assets'], + tag: 'd-icon', + styleUrl: 'd-icon.css', + shadow: true, +}) +export class DIcon { + @Element() el: HTMLElement; + @Prop() icon: string = null; + @Prop() outline: boolean = false; + @Prop() size: number = 24; + @State() private pathData: { d: string; fill?: string; stroke?: string }[]; + @State() private pathList: HTMLElement[]; + @State() private visible = false; + private intersectionObserver: IntersectionObserver; + + connectedCallback(): void { + this.waitUntilVisible(async () => { + this.visible = true; + await this.loadIconPathData(); + this.generatePathList(); + }); + } + + disconnectedCallback(): void { + if (this.intersectionObserver) { + this.intersectionObserver.disconnect(); + this.intersectionObserver = null; + } + } + + async componentWillLoad(): Promise { + this.loadIconPathData(); + } + + render() { + const fill = this.outline ? 'none' : 'currentColor'; + const stroke = this.outline ? 'currentColor' : 'none'; + const { size } = this; + return ( + + + {this.pathList} + + + ); + } + + @Watch('icon') private async loadIconPathData(): Promise { + const { icon, visible } = this; + if (!Build.isBrowser || !icon || !visible) { + return; + } + + this.pathData = await fetchAsset({ asset: this.outline ? `${icon}-outline` : icon }); + this.pathData = this.pathData; + } + + @Watch('pathData') private generatePathList(): void { + this.pathList = this.pathData?.map(data => ); + } + private waitUntilVisible(callback: () => void): void { + if (!Build.isBrowser || typeof window === 'undefined' || !(window as any).IntersectionObserver) { + callback(); + return; + } + + this.intersectionObserver = new IntersectionObserver( + entries => { + entries.forEach(entry => { + if (entry.isIntersecting) { + this.intersectionObserver.disconnect(); + this.intersectionObserver = null; + callback(); + } + }); + }, + { rootMargin: '50px' }, + ); + + this.intersectionObserver.observe(this.el); + } +} diff --git a/src/components/icon/icon.stories.ts b/src/components/icon/icon.stories.ts new file mode 100644 index 0000000..3a8e052 --- /dev/null +++ b/src/components/icon/icon.stories.ts @@ -0,0 +1,226 @@ +const createIconStory = (args: { iconName: string; size: number; outline: boolean }) => ` + +`; + +const meta = { + title: 'Design System/Icons', +}; + +export default meta; + +export const ArrowBackOutline = { + args: { + iconName: 'arrow-back', + size: 24, + outline: true, + }, + render: createIconStory, +}; + +export const ArrowForwardOutline = { + args: { + iconName: 'arrow-forward', + size: 24, + outline: true, + }, + render: createIconStory, +}; + +export const Check = { + args: { + iconName: 'check', + size: 24, + outline: true, + }, + render: createIconStory, +}; + +export const Close = { + args: { + iconName: 'close', + size: 24, + outline: true, + }, + render: createIconStory, +}; + +export const Copy = { + args: { + iconName: 'copy', + size: 24, + outline: true, + }, + render: createIconStory, +}; + +export const Done = { + args: { + iconName: 'done', + size: 24, + outline: true, + }, + render: createIconStory, +}; + +export const Help = { + args: { + iconName: 'help', + size: 24, + outline: true, + }, + render: createIconStory, +}; + +export const HomeOutline = { + args: { + iconName: 'home', + size: 24, + outline: true, + }, + render: createIconStory, +}; + +export const Home = { + args: { + iconName: 'home', + size: 24, + outline: false, + }, + render: createIconStory, +}; + +export const Key = { + args: { + iconName: 'key', + size: 24, + outline: true, + }, + render: createIconStory, +}; + +export const Language = { + args: { + iconName: 'language', + size: 24, + outline: true, + }, + render: createIconStory, +}; + +export const Lock = { + args: { + iconName: 'lock', + size: 24, + outline: true, + }, + render: createIconStory, +}; + +export const Logout = { + args: { + iconName: 'logout', + size: 24, + outline: true, + }, + render: createIconStory, +}; + +export const More = { + args: { + iconName: 'more', + size: 24, + outline: true, + }, + render: createIconStory, +}; + +export const NotificationOutline = { + args: { + iconName: 'notification', + size: 24, + outline: true, + }, + render: createIconStory, +}; + +export const Notification = { + args: { + iconName: 'notification', + size: 24, + outline: false, + }, + render: createIconStory, +}; + +export const ProfileOutline = { + args: { + iconName: 'profile', + size: 24, + outline: true, + }, + render: createIconStory, +}; + +export const Profile = { + args: { + iconName: 'profile', + size: 24, + outline: false, + }, + render: createIconStory, +}; + +export const Settings = { + args: { + iconName: 'settings', + size: 24, + outline: true, + }, + render: createIconStory, +}; + +export const Shield = { + args: { + iconName: 'shield', + size: 24, + outline: true, + }, + render: createIconStory, +}; + +export const VisibilityOff = { + args: { + iconName: 'visibility-off', + size: 24, + outline: true, + }, + render: createIconStory, +}; + +export const Visibility = { + args: { + iconName: 'visibility', + size: 24, + outline: true, + }, + render: createIconStory, +}; + +export const WalletOutline = { + args: { + iconName: 'wallet', + size: 24, + outline: true, + }, + render: createIconStory, +}; + +export const Wallet = { + args: { + iconName: 'wallet', + size: 24, + outline: false, + }, + render: createIconStory, +}; + diff --git a/src/components/icon/readme.md b/src/components/icon/readme.md new file mode 100644 index 0000000..72106c3 --- /dev/null +++ b/src/components/icon/readme.md @@ -0,0 +1,52 @@ +# library-name-icon + + + + + + +## Properties + +| Property | Attribute | Description | Type | Default | +| --------- | --------- | ----------- | --------- | ------- | +| `icon` | `icon` | | `string` | `null` | +| `outline` | `outline` | | `boolean` | `false` | +| `size` | `size` | | `number` | `24` | + + +## Dependencies + +### Used by + + - [d-avatar](../avatar) + - [d-credential-card](../credential-card) + - [d-credential-service](../credential-service) + - [d-definition](../definition) + - [d-did-box](../d-did-box) + - [d-empty-state](../empty-state) + - [d-header](../header) + - [d-input](../input) + - [d-session-card](../session-card) + - [d-settings-menu](../settings-menu) + - [d-tab-button](../tab-button) + +### Graph +```mermaid +graph TD; + d-avatar --> d-icon + d-credential-card --> d-icon + d-credential-service --> d-icon + d-definition --> d-icon + d-did-box --> d-icon + d-empty-state --> d-icon + d-header --> d-icon + d-input --> d-icon + d-session-card --> d-icon + d-settings-menu --> d-icon + d-tab-button --> d-icon + style d-icon fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/src/components/icon/test/d-icon.e2e.ts b/src/components/icon/test/d-icon.e2e.ts new file mode 100644 index 0000000..8385bfc --- /dev/null +++ b/src/components/icon/test/d-icon.e2e.ts @@ -0,0 +1,11 @@ +import { newE2EPage } from '@stencil/core/testing'; + +describe('d-icon', () => { + it('renders', async () => { + const page = await newE2EPage(); + await page.setContent(''); + + const element = await page.find('d-icon'); + expect(element).toHaveClass('hydrated'); + }); +}); diff --git a/src/components/icon/test/d-icon.spec.tsx b/src/components/icon/test/d-icon.spec.tsx new file mode 100644 index 0000000..b2943de --- /dev/null +++ b/src/components/icon/test/d-icon.spec.tsx @@ -0,0 +1,18 @@ +import { newSpecPage } from '@stencil/core/testing'; +import { DIcon } from '../d-icon'; + +describe('d-icon', () => { + it('renders', async () => { + const page = await newSpecPage({ + components: [DIcon], + html: ``, + }); + expect(page.root).toEqualHtml(` + + + + + + `); + }); +}); diff --git a/src/components/illustration/assets/card-cloud.json b/src/components/illustration/assets/card-cloud.json new file mode 100644 index 0000000..9bb9b6d --- /dev/null +++ b/src/components/illustration/assets/card-cloud.json @@ -0,0 +1 @@ +{"name":"svg","type":"element","value":"","parent":null,"attributes":{"width":"280","height":"280","viewBox":"0 0 280 280","fill":"none","xmlns":"http://www.w3.org/2000/svg"},"children":[{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M131.775 111.621C144.098 85.8049 169.661 79.793 185.292 79.793C219.412 79.793 246.027 104.851 246.027 138.261C246.027 149.618 239.584 164.707 235.288 174.569","fill":"var(--primary)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M131.775 111.621C144.098 85.8049 169.661 79.793 185.292 79.793C219.412 79.793 246.027 104.851 246.027 138.261C246.027 149.618 239.584 164.707 235.288 174.569","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M150.612 104.548C159.359 95.8557 174.517 89.3416 186.876 89.3416C209.683 88.2806 235.464 110.248 235.464 137.344C235.464 146.554 231.419 157.659 227.014 165.02","fill":"var(--primary)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M150.612 104.548C159.359 95.8557 174.517 89.3416 186.876 89.3416C209.683 88.2806 235.464 110.248 235.464 137.344C235.464 146.554 231.419 157.659 227.014 165.02","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M160.646 111.268C167.114 104.81 176.988 100.305 186.128 100.305C206.08 100.305 222.261 116.623 222.261 136.752C222.261 143.594 221.09 149.297 217.832 154.765","fill":"var(--primary)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M160.646 111.268C167.114 104.81 176.988 100.305 186.128 100.305C206.08 100.305 222.261 116.623 222.261 136.752C222.261 143.594 221.09 149.297 217.832 154.765","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M42.1416 175.736C42.2472 176.132 42.3599 176.514 42.4866 176.889L47.6271 189.068L167.512 119.047C166.23 116.409 165.329 115.285 163.575 113.191C157.555 105.963 149.189 102.285 141.274 104.357C136.549 105.595 132.684 108.707 129.965 112.979C125.177 100.184 113.974 92.2908 103.601 95.0068C95.757 97.0649 90.4475 104.647 89.2082 114.068C84.4762 111.508 79.2865 110.631 74.2658 111.946C64.7947 114.429 58.5769 124.005 57.7108 135.647C55.6335 135.131 53.4998 135.096 51.4084 135.64C42.9232 137.868 38.3954 148.718 41.2895 159.886C41.7543 161.661 42.388 163.33 43.1486 164.886C41.5712 167.807 41.1065 171.74 42.1416 175.736Z","fill":"var(--surface)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M130.811 198.333H24.6785C23.8194 196.402 23.3335 194.266 23.3335 192.01C23.3335 183.41 30.2696 176.443 38.8322 176.443C42.5855 176.443 46.0288 177.787 48.7117 180.022C48.761 179.809 48.8174 179.604 48.8807 179.399C50.444 173.904 55.4717 169.886 61.4431 169.886C63.5204 169.886 65.478 170.381 67.2173 171.251C68.527 163.365 74.0266 156.908 81.3429 154.27","fill":"var(--surface)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M130.811 198.333H24.6785C23.8194 196.402 23.3335 194.266 23.3335 192.01C23.3335 183.41 30.2696 176.443 38.8322 176.443C42.5855 176.443 46.0288 177.787 48.7117 180.022C48.761 179.809 48.8174 179.604 48.8807 179.399C50.444 173.904 55.4717 169.886 61.4431 169.886C63.5204 169.886 65.478 170.381 67.2173 171.251C68.527 163.365 74.0266 156.908 81.3429 154.27","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M194.784 147.523C196.678 144.276 200.192 142.098 204.206 142.098C210.234 142.098 215.121 147.006 215.121 153.061C215.121 154.001 214.994 154.907 214.776 155.776C215.656 155.472 216.599 155.303 217.585 155.303C219.31 155.303 220.916 155.798 222.275 156.661C224.747 158.231 226.387 160.996 226.387 164.144C226.387 164.632 226.338 165.106 226.261 165.572C227.331 165.19 228.479 164.971 229.676 164.971C235.253 164.971 239.767 169.505 239.767 175.107C239.767 176.507 239.485 177.837 238.978 179.053C240.428 178.494 241.992 178.169 243.639 178.169C250.836 178.169 256.667 184.032 256.667 191.254C256.667 193.864 255.899 196.29 254.589 198.327H188.714","fill":"var(--surface)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M194.784 147.523C196.678 144.276 200.192 142.098 204.206 142.098C210.234 142.098 215.121 147.006 215.121 153.061C215.121 154.001 214.994 154.907 214.776 155.776C215.656 155.472 216.599 155.303 217.585 155.303C219.31 155.303 220.916 155.798 222.275 156.661C224.747 158.231 226.387 160.996 226.387 164.144C226.387 164.632 226.338 165.106 226.261 165.572C227.331 165.19 228.479 164.971 229.676 164.971C235.253 164.971 239.767 169.505 239.767 175.107C239.767 176.507 239.485 177.837 238.978 179.053C240.428 178.494 241.992 178.169 243.639 178.169C250.836 178.169 256.667 184.032 256.667 191.254C256.667 193.864 255.899 196.29 254.589 198.327H188.714","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M188.384 118.807H87.7442C84.209 118.807 81.3433 121.685 81.3433 125.236V191.904C81.3433 195.455 84.209 198.333 87.7442 198.333H188.384C191.919 198.333 194.785 195.455 194.785 191.904V125.236C194.785 121.685 191.919 118.807 188.384 118.807Z","fill":"var(--primary)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M186.117 186.091H149.218C147.569 186.091 146.232 187.432 146.232 189.086C146.232 190.74 147.569 192.082 149.218 192.082H186.117C187.765 192.082 189.102 190.74 189.102 189.086C189.102 187.432 187.765 186.091 186.117 186.091Z","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M145.359 126.113H90.9554C89.3065 126.113 87.9697 127.454 87.9697 129.109C87.9697 130.763 89.3065 132.104 90.9554 132.104H145.359C147.008 132.104 148.345 130.763 148.345 129.109C148.345 127.454 147.008 126.113 145.359 126.113Z","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M126.023 138.116H90.9554C89.3065 138.116 87.9697 139.457 87.9697 141.112C87.9697 142.766 89.3065 144.107 90.9554 144.107H126.023C127.672 144.107 129.009 142.766 129.009 141.112C129.009 139.457 127.672 138.116 126.023 138.116Z","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]}]} \ No newline at end of file diff --git a/src/components/illustration/assets/cards.json b/src/components/illustration/assets/cards.json new file mode 100644 index 0000000..5a4cc2f --- /dev/null +++ b/src/components/illustration/assets/cards.json @@ -0,0 +1 @@ +{"name":"svg","type":"element","value":"","parent":null,"attributes":{"width":"280","height":"280","viewBox":"0 0 280 280","fill":"none","xmlns":"http://www.w3.org/2000/svg"},"children":[{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M126.035 69.3007L20.5896 139.089C16.306 141.924 15.1328 147.694 17.9691 151.975L55.2438 208.245C58.0801 212.527 63.8518 213.7 68.1354 210.865L173.581 141.076C177.864 138.241 179.038 132.472 176.201 128.19L138.927 71.92C136.09 67.6383 130.319 66.4656 126.035 69.3007Z","fill":"var(--surface)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M126.035 69.3007L20.5896 139.089C16.306 141.924 15.1328 147.694 17.9691 151.975L55.2438 208.245C58.0801 212.527 63.8518 213.7 68.1354 210.865L173.581 141.076C177.864 138.241 179.038 132.472 176.201 128.19L138.927 71.92C136.09 67.6383 130.319 66.4656 126.035 69.3007Z","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-dasharray":"5 5"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M113.61 105.987L104.02 177.296C103.336 182.385 106.908 187.064 112 187.747L244.805 205.563C249.897 206.246 254.58 202.674 255.264 197.584L264.854 126.276C265.539 121.187 261.966 116.507 256.874 115.824L124.069 98.0089C118.977 97.3259 114.295 100.898 113.61 105.987Z","fill":"var(--primary)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M113.61 105.987L104.02 177.296C103.336 182.385 106.908 187.064 112 187.747L244.805 205.563C249.897 206.246 254.58 202.674 255.264 197.584L264.854 126.276C265.539 121.187 261.966 116.507 256.874 115.824L124.069 98.0089C118.977 97.3259 114.295 100.898 113.61 105.987Z","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-dasharray":"5 5"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M201.204 153.306L187.495 151.465L189.337 137.774L188.58 137.669L186.738 151.36L173.041 149.519L172.936 150.288L186.644 152.117L184.803 165.82L185.56 165.913L187.402 152.222L201.099 154.063L201.204 153.306Z","fill":"var(--on-alt)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]}]} \ No newline at end of file diff --git a/src/components/illustration/assets/chat.json b/src/components/illustration/assets/chat.json new file mode 100644 index 0000000..d1da8fe --- /dev/null +++ b/src/components/illustration/assets/chat.json @@ -0,0 +1 @@ +{"name":"svg","type":"element","value":"","parent":null,"attributes":{"width":"280","height":"280","viewBox":"0 0 280 280","fill":"none","xmlns":"http://www.w3.org/2000/svg"},"children":[{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M82.0585 212.753H29.1665L46.4299 197.326L86.0989 181.532L98.22 191.817L101.276 193.175C101.366 193.205 101.45 193.242 101.526 193.286L101.276 193.175C98.6133 192.289 90.0671 197.399 87.9354 199.53C81.2347 206.231 82.0585 211.774 82.0585 212.753Z","fill":"var(--surface)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M29.1665 213.12C30.6798 210.21 46.3123 176.036 47.1645 170.145C49.1406 156.554 42.4637 149.576 42.3903 139.181C42.2874 125.855 52.4177 109.951 68.1237 104.14C81.5451 99.1739 96.803 100.386 109.247 108.166C117.005 113.014 123.513 123.849 120.377 138.027L125.614 165.465C123.153 165.921 120.685 166.376 118.224 166.832L119.826 184.095C120.12 187.298 118.011 190.912 115.227 192.668C111.899 194.762 107.734 195.041 104.039 193.696L87.0179 186.534","fill":"var(--surface)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M29.1665 213.12C30.6798 210.21 46.3123 176.036 47.1645 170.145C49.1406 156.554 42.4637 149.576 42.3903 139.181C42.2874 125.855 52.4177 109.951 68.1237 104.14C81.5451 99.1739 96.803 100.386 109.247 108.166C117.005 113.014 123.513 123.849 120.377 138.027L125.614 165.465C123.153 165.921 120.685 166.376 118.224 166.832L119.826 184.095C120.12 187.298 118.011 190.912 115.227 192.668C111.899 194.762 107.734 195.041 104.039 193.696L87.0179 186.534","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M79.4354 150.531C78.2527 147.387 76.3353 146.256 73.7054 146.087C69.7092 145.83 66.9544 150.259 67.0131 153.866C67.1013 159.288 71.3253 165.503 81.0736 168.566","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M102.629 193.109C100.432 193.22 95.6351 193.763 91.0071 197.113C83.132 202.806 82.2064 211.937 82.0815 213.414","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M128.862 149.943C131.714 149.943 134.026 145.625 134.026 140.298C134.026 134.971 131.714 130.652 128.862 130.652C126.009 130.652 123.697 134.971 123.697 140.298C123.697 145.625 126.009 149.943 128.862 149.943Z","fill":"var(--primary)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M107.08 154.873C111.73 154.873 115.499 149.696 115.499 143.31C115.499 136.924 111.73 131.747 107.08 131.747C102.431 131.747 98.6616 136.924 98.6616 143.31C98.6616 149.696 102.431 154.873 107.08 154.873Z","fill":"var(--primary)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M63.4673 149.943L65.5462 147.012C67.6766 144 71.1366 142.208 74.8317 142.208H98.6992","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M115.095 139.739C116.366 139.1 117.901 138.512 119.686 138.145C121.214 137.829 122.632 137.741 123.881 137.77","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M158.824 141.251L142.461 148.474L147.506 133.354C137.323 123.71 133.005 110.336 137.392 97.2006C144.497 75.9439 171.681 63.3325 198.128 69.0395C224.568 74.7466 240.249 96.602 233.15 117.864C226.051 139.12 198.866 151.732 172.426 146.025C167.493 144.962 162.932 143.331 158.824 141.251Z","fill":"var(--primary)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M102.503 171.248C103.649 172.357 104.751 173.129 105.736 173.687C110.76 176.493 115.58 174.995 118.826 173.158","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"g","type":"element","value":"","parent":null,"attributes":{"filter":"url(#filter0_d_3228_26702)"},"children":[{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M29.1665 213.12H248.006","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]}]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M185.27 98.1533V116.519","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M193.223 102.744L177.318 111.927","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M193.223 111.927L177.318 102.744","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M159.799 98.1533V116.519","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M167.75 102.744L151.846 111.927","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M167.75 111.927L151.846 102.744","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M210.487 98.1533V116.519","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M218.441 102.744L202.536 111.927","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M218.441 111.927L202.536 102.744","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-linecap":"round"},"children":[]},{"name":"g","type":"element","value":"","parent":null,"attributes":{"clip-path":"url(#clip0_3228_26702)"},"children":[{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M146.108 181.527C147.401 181.527 148.45 180.542 148.45 179.326C148.45 178.11 147.401 177.125 146.108 177.125C144.815 177.125 143.766 178.11 143.766 179.326C143.766 180.542 144.815 181.527 146.108 181.527Z","fill":"var(--on-alt)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M163.11 179.326C163.11 180.545 162.06 181.527 160.768 181.527C159.477 181.527 158.426 180.54 158.426 179.326C158.426 178.112 159.477 177.125 160.768 177.125C162.06 177.125 163.11 178.112 163.11 179.326Z","fill":"var(--on-alt)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M175.417 181.527C176.71 181.527 177.759 180.542 177.759 179.326C177.759 178.11 176.71 177.125 175.417 177.125C174.123 177.125 173.075 178.11 173.075 179.326C173.075 180.542 174.123 181.527 175.417 181.527Z","fill":"var(--on-alt)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M190.066 181.527C191.359 181.527 192.408 180.542 192.408 179.326C192.408 178.11 191.359 177.125 190.066 177.125C188.772 177.125 187.724 178.11 187.724 179.326C187.724 180.542 188.772 181.527 190.066 181.527Z","fill":"var(--on-alt)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M207.062 179.326C207.062 180.545 206.011 181.527 204.72 181.527C203.428 181.527 202.378 180.54 202.378 179.326C202.378 178.112 203.428 177.125 204.72 177.125C206.011 177.125 207.062 178.112 207.062 179.326Z","fill":"var(--on-alt)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M219.374 181.527C220.668 181.527 221.716 180.542 221.716 179.326C221.716 178.11 220.668 177.125 219.374 177.125C218.081 177.125 217.032 178.11 217.032 179.326C217.032 180.542 218.081 181.527 219.374 181.527Z","fill":"var(--on-alt)"},"children":[]}]},{"name":"g","type":"element","value":"","parent":null,"attributes":{"clip-path":"url(#clip1_3228_26702)"},"children":[{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M146.108 193.28C147.401 193.28 148.45 192.295 148.45 191.079C148.45 189.863 147.401 188.878 146.108 188.878C144.815 188.878 143.766 189.863 143.766 191.079C143.766 192.295 144.815 193.28 146.108 193.28Z","fill":"var(--on-alt)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M163.11 191.079C163.11 192.298 162.06 193.28 160.768 193.28C159.477 193.28 158.426 192.293 158.426 191.079C158.426 189.865 159.477 188.878 160.768 188.878C162.06 188.878 163.11 189.865 163.11 191.079Z","fill":"var(--on-alt)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M175.417 193.28C176.71 193.28 177.759 192.295 177.759 191.079C177.759 189.863 176.71 188.878 175.417 188.878C174.123 188.878 173.075 189.863 173.075 191.079C173.075 192.295 174.123 193.28 175.417 193.28Z","fill":"var(--on-alt)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M190.066 193.28C191.359 193.28 192.408 192.295 192.408 191.079C192.408 189.863 191.359 188.878 190.066 188.878C188.772 188.878 187.724 189.863 187.724 191.079C187.724 192.295 188.772 193.28 190.066 193.28Z","fill":"var(--on-alt)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M207.062 191.079C207.062 192.298 206.011 193.28 204.72 193.28C203.428 193.28 202.378 192.293 202.378 191.079C202.378 189.865 203.428 188.878 204.72 188.878C206.011 188.878 207.062 189.865 207.062 191.079Z","fill":"var(--on-alt)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M219.374 193.28C220.668 193.28 221.716 192.295 221.716 191.079C221.716 189.863 220.668 188.878 219.374 188.878C218.081 188.878 217.032 189.863 217.032 191.079C217.032 192.295 218.081 193.28 219.374 193.28Z","fill":"var(--on-alt)"},"children":[]}]},{"name":"defs","type":"element","value":"","parent":null,"attributes":{},"children":[{"name":"filter","type":"element","value":"","parent":null,"attributes":{"id":"filter0_d_3228_26702","x":"24.4165","y":"210.37","width":"228.34","height":"9.5","filterUnits":"userSpaceOnUse","color-interpolation-filters":"sRGB"},"children":[{"name":"feFlood","type":"element","value":"","parent":null,"attributes":{"flood-opacity":"0","result":"BackgroundImageFix"},"children":[]},{"name":"feColorMatrix","type":"element","value":"","parent":null,"attributes":{"in":"SourceAlpha","type":"matrix","values":"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0","result":"hardAlpha"},"children":[]},{"name":"feOffset","type":"element","value":"","parent":null,"attributes":{"dy":"2"},"children":[]},{"name":"feGaussianBlur","type":"element","value":"","parent":null,"attributes":{"stdDeviation":"2"},"children":[]},{"name":"feComposite","type":"element","value":"","parent":null,"attributes":{"in2":"hardAlpha","operator":"out"},"children":[]},{"name":"feColorMatrix","type":"element","value":"","parent":null,"attributes":{"type":"matrix","values":"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0"},"children":[]},{"name":"feBlend","type":"element","value":"","parent":null,"attributes":{"mode":"normal","in2":"BackgroundImageFix","result":"effect1_dropShadow_3228_26702"},"children":[]},{"name":"feBlend","type":"element","value":"","parent":null,"attributes":{"mode":"normal","in":"SourceGraphic","in2":"effect1_dropShadow_3228_26702","result":"shape"},"children":[]}]},{"name":"clipPath","type":"element","value":"","parent":null,"attributes":{"id":"clip0_3228_26702"},"children":[{"name":"rect","type":"element","value":"","parent":null,"attributes":{"width":"107.253","height":"4.40767","fill":"white","transform":"translate(143.766 177.125)"},"children":[]}]},{"name":"clipPath","type":"element","value":"","parent":null,"attributes":{"id":"clip1_3228_26702"},"children":[{"name":"rect","type":"element","value":"","parent":null,"attributes":{"width":"107.253","height":"4.40767","fill":"white","transform":"translate(143.766 188.878)"},"children":[]}]}]}]} \ No newline at end of file diff --git a/src/components/illustration/assets/circle-check.json b/src/components/illustration/assets/circle-check.json new file mode 100644 index 0000000..e0ab2f7 --- /dev/null +++ b/src/components/illustration/assets/circle-check.json @@ -0,0 +1 @@ +{"name":"svg","type":"element","value":"","parent":null,"attributes":{"xmlns":"http://www.w3.org/2000/svg","width":"121","height":"120","viewBox":"0 0 121 120","fill":"none"},"children":[{"name":"g","type":"element","value":"","parent":null,"attributes":{"id":"Illustrations","clip-path":"url(#clip0_3516_49732)"},"children":[{"name":"path","type":"element","value":"","parent":null,"attributes":{"id":"Vector","d":"M60.5 0C27.3631 0 0.5 26.8631 0.5 60C0.5 93.1387 27.3631 120 60.5 120C93.6387 120 120.5 93.1387 120.5 60C120.5 26.8631 93.6387 0 60.5 0ZM60.5 112.618C31.5519 112.618 8 88.9481 8 59.9998C8 31.0516 31.5519 7.49977 60.5 7.49977C89.4481 7.49977 113 31.0518 113 59.9998C113 88.9478 89.4481 112.618 60.5 112.618ZM84.4456 38.0456L49.2424 73.47L33.3893 57.6169C31.9249 56.1525 29.5511 56.1525 28.0849 57.6169C26.6205 59.0812 26.6205 61.455 28.0849 62.9194L46.6455 81.4819C48.1099 82.9444 50.4836 82.9444 51.9499 81.4819C52.1186 81.3131 52.2631 81.1293 52.3944 80.9381L89.7519 43.3499C91.2144 41.8855 91.2144 39.5118 89.7519 38.0456C88.2856 36.5812 85.9119 36.5812 84.4456 38.0456Z","fill":"var(--success)"},"children":[]}]},{"name":"defs","type":"element","value":"","parent":null,"attributes":{},"children":[{"name":"clipPath","type":"element","value":"","parent":null,"attributes":{"id":"clip0_3516_49732"},"children":[{"name":"rect","type":"element","value":"","parent":null,"attributes":{"width":"120","height":"120","fill":"white","transform":"translate(0.5)"},"children":[]}]}]}]} \ No newline at end of file diff --git a/src/components/illustration/assets/empty-wallet.json b/src/components/illustration/assets/empty-wallet.json new file mode 100644 index 0000000..a715ece --- /dev/null +++ b/src/components/illustration/assets/empty-wallet.json @@ -0,0 +1 @@ +{"name":"svg","type":"element","value":"","parent":null,"attributes":{"width":"255","height":"152","viewBox":"0 0 255 152","fill":"none","xmlns":"http://www.w3.org/2000/svg"},"children":[{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M114.035 5.30018L8.58937 75.0889C4.30582 77.9239 3.13259 83.6931 5.96888 87.9748L43.2436 144.245C46.0799 148.526 51.8517 149.699 56.1352 146.864L161.581 77.0754C165.864 74.2403 167.037 68.4711 164.201 64.1894L126.926 7.91952C124.09 3.63785 118.318 2.46513 114.035 5.30018Z","fill":"var(--surface)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M114.035 5.30018L8.58937 75.0889C4.30582 77.9239 3.13259 83.6931 5.96888 87.9748L43.2436 144.245C46.0799 148.526 51.8517 149.699 56.1352 146.864L161.581 77.0754C165.864 74.2403 167.037 68.4711 164.201 64.1894L126.926 7.91952C124.09 3.63785 118.318 2.46513 114.035 5.30018Z","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-dasharray":"5 5"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M101.61 41.9879L92.0199 113.296C91.3355 118.385 94.9083 123.065 100 123.748L232.805 141.563C237.897 142.246 242.58 138.674 243.264 133.585L252.854 62.2765C253.539 57.1871 249.966 52.5076 244.874 51.8246L112.069 34.0094C106.977 33.3264 102.295 36.8985 101.61 41.9879Z","fill":"var(--primary)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M101.61 41.9879L92.0199 113.296C91.3355 118.385 94.9083 123.065 100 123.748L232.805 141.563C237.897 142.246 242.58 138.674 243.264 133.585L252.854 62.2765C253.539 57.1871 249.966 52.5076 244.874 51.8246L112.069 34.0094C106.977 33.3264 102.295 36.8985 101.61 41.9879Z","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-dasharray":"5 5"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M189.204 89.3054L175.495 87.4644L177.337 73.7736L176.579 73.6687L174.738 87.3595L161.041 85.5185L160.936 86.2875L174.644 88.1169L172.802 101.819L173.56 101.913L175.402 88.2217L189.099 90.0627L189.204 89.3054Z","fill":"var(--on-alt)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]}]} \ No newline at end of file diff --git a/src/components/illustration/assets/hand-card.json b/src/components/illustration/assets/hand-card.json new file mode 100644 index 0000000..1b7bcea --- /dev/null +++ b/src/components/illustration/assets/hand-card.json @@ -0,0 +1 @@ +{"name":"svg","type":"element","value":"","parent":null,"attributes":{"width":"280","height":"280","viewBox":"0 0 280 280","fill":"none","xmlns":"http://www.w3.org/2000/svg"},"children":[{"name":"g","type":"element","value":"","parent":null,"attributes":{"clip-path":"url(#clip0_3228_26699)"},"children":[{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M126.101 181.892L140.563 161.307L125.332 157.675L100.048 185.347L103.611 156.042L121.948 136.426L95.0948 103.972L55.738 141.931L46.9396 196.673L126.101 181.892Z","fill":"var(--primary)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M110.848 147.803L122.575 177.274C124.241 181.462 128.985 183.505 133.173 181.839L251.34 134.817C255.528 133.151 257.571 128.407 255.904 124.219L222.932 41.3581C221.266 37.1704 216.522 35.1274 212.334 36.7938L94.1669 83.8154C89.9792 85.4818 87.9362 90.2253 89.6026 94.413L90.1888 95.8862","fill":"var(--primary)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M110.848 147.803L122.575 177.274C124.241 181.462 128.985 183.505 133.173 181.839L251.34 134.817C255.528 133.151 257.571 128.407 255.904 124.219L222.932 41.3581C221.266 37.1704 216.522 35.1274 212.334 36.7938L94.1669 83.8154C89.9792 85.4818 87.9362 90.2253 89.6026 94.413L90.1888 95.8862","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M114.561 99.5811L152.863 84.3397C154.576 83.658 156.605 84.2025 157.571 85.764C158.274 86.9033 158.32 88.1985 157.851 89.286C157.468 90.1769 156.745 90.9149 155.777 91.3002L127.24 102.656","fill":"var(--primary)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M114.561 99.5811L152.863 84.3397C154.576 83.658 156.605 84.2025 157.571 85.764C158.274 86.9033 158.32 88.1985 157.851 89.286C157.468 90.1769 156.745 90.9149 155.777 91.3002L127.24 102.656","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M46.6421 188.988L23.6509 198.137L42.1855 244.715L83.2393 228.992C95.7244 224.206 106.229 215.358 113.052 203.861L126.098 181.884","fill":"var(--primary)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M46.6421 188.988L23.6509 198.137L42.1855 244.715L83.2393 228.992C95.7244 224.206 106.229 215.358 113.052 203.861L126.098 181.884","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M109.263 112.475L124.332 98.0904C124.637 97.7965 125.142 97.8834 125.33 98.2592C128.784 105.11 127.426 113.406 121.958 118.793L90.3943 149.932","fill":"var(--primary)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M109.263 112.475L124.332 98.0904C124.637 97.7965 125.142 97.8834 125.33 98.2592C128.784 105.11 127.426 113.406 121.958 118.793L90.3943 149.932","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M96.1121 106.338L110.386 92.6049C111.066 91.9511 112.177 92.1416 112.614 92.9744C115.993 99.4908 114.622 107.466 109.262 112.475L79.8769 139.957","fill":"var(--primary)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M96.1121 106.338L110.386 92.6049C111.066 91.9511 112.177 92.1416 112.614 92.9744C115.993 99.4908 114.622 107.466 109.262 112.475L79.8769 139.957","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M46.4679 195.489L47.9021 142.767C48.09 135.771 51.2379 129.179 56.5539 124.638L95.0349 91.7529C95.5004 91.3567 96.2163 91.4937 96.4982 92.0334C99.5743 97.8364 98.3821 104.983 93.5939 109.477L68.0354 133.471","fill":"var(--primary)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M46.4679 195.489L47.9021 142.767C48.09 135.771 51.2379 129.179 56.5539 124.638L95.0349 91.7529C95.5004 91.3567 96.2163 91.4937 96.4982 92.0334C99.5743 97.8364 98.3821 104.983 93.5939 109.477L68.0354 133.471","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M123.413 117.294L132.425 108.55C132.703 108.286 133.161 108.401 133.27 108.77C135.548 115.964 133.827 123.83 128.757 129.423L128.409 129.801L108.742 149.955C105.142 153.459 102.939 157.969 102.522 162.679L100.647 184.036L117.911 165.48","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M113.547 95.1525L176.231 70.2092C177.199 69.8238 177.922 69.0858 178.305 68.1949C178.815 66.995 178.725 65.5161 177.765 64.3069C176.725 62.995 174.89 62.6229 173.342 63.2388L104.509 90.629C103.541 91.0144 102.818 91.7524 102.435 92.6433C102.048 93.5258 102.008 94.5579 102.393 95.5262C102.861 96.7014 103.852 97.5054 104.991 97.7903","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M111.464 110.371C111.35 110.397 111.229 110.407 111.117 110.413","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M243.027 121.539L199.66 138.796C197.722 139.567 196.775 141.762 197.546 143.697C198.316 145.633 200.511 146.577 202.449 145.806L245.817 128.549C247.755 127.778 248.701 125.584 247.931 123.648C247.161 121.712 244.965 120.768 243.027 121.539Z","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M134.068 113.619C132.076 115.6 129.342 118.414 128.179 119.106C125.896 120.475 123.589 118.22 123.195 117.687","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M126.694 102.728C124.702 104.71 121.968 107.523 120.806 108.216C118.522 109.585 116.216 107.329 115.821 106.796","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M100.913 101.877C101.352 102.546 103.973 105.328 106.603 103.601C107.933 102.727 111.105 99.1829 113.406 96.6762","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M97.3894 95.6957C95.0858 98.1942 91.9218 101.735 90.5871 102.621C87.9574 104.348 85.3357 101.566 84.8969 100.897","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]}]},{"name":"defs","type":"element","value":"","parent":null,"attributes":{},"children":[{"name":"clipPath","type":"element","value":"","parent":null,"attributes":{"id":"clip0_3228_26699"},"children":[{"name":"rect","type":"element","value":"","parent":null,"attributes":{"width":"280","height":"280","fill":"white"},"children":[]}]}]}]} \ No newline at end of file diff --git a/src/components/illustration/assets/hand-ellipsis.json b/src/components/illustration/assets/hand-ellipsis.json new file mode 100644 index 0000000..0be5a93 --- /dev/null +++ b/src/components/illustration/assets/hand-ellipsis.json @@ -0,0 +1 @@ +{"name":"svg","type":"element","value":"","parent":null,"attributes":{"width":"280","height":"280","viewBox":"0 0 280 280","fill":"none","xmlns":"http://www.w3.org/2000/svg"},"children":[{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M225.211 100.334H105.683C104.683 100.334 104.016 101.358 104.409 102.262C108.457 111.619 117.672 117.678 127.862 117.678H151.506V175.22C151.506 176.065 150.47 176.482 149.887 175.863L138.232 163.602C130.112 155.055 118.291 151.044 106.647 152.889C105.981 152.996 105.636 153.746 106.005 154.317L140.208 208.182C151.542 226.025 171.209 236.834 192.353 236.834H255.962V174.423H226.115","fill":"var(--primary)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M225.211 100.334H105.683C104.683 100.334 104.016 101.358 104.409 102.262C108.457 111.619 117.672 117.678 127.862 117.678H151.506V175.22C151.506 176.065 150.47 176.482 149.887 175.863L138.232 163.602C130.112 155.055 118.291 151.044 106.647 152.889C105.981 152.996 105.636 153.746 106.005 154.317L140.208 208.182C151.542 226.025 171.209 236.834 192.353 236.834H255.962V174.423H226.115","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M225.628 179.667V62.2987C225.628 61.195 224.567 60.4118 223.519 60.7441C214.35 63.6872 208.128 72.2554 208.128 81.9511V123.677","fill":"var(--primary)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M225.628 179.667V62.2987C225.628 61.195 224.567 60.4118 223.519 60.7441C214.35 63.6872 208.128 72.2554 208.128 81.9511V123.677","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M189.22 131.834V94.8226L180.476 75.4906C175.758 65.058 177.354 52.7928 184.572 43.9773C185.617 42.7076 187.589 42.9711 188.27 44.4803L208.128 88.3307V124.443","fill":"var(--primary)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M189.22 131.834V94.8226L180.476 75.4906C175.758 65.058 177.354 52.7928 184.572 43.9773C185.617 42.7076 187.589 42.9711 188.27 44.4803L208.128 88.3307V124.443","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M169.657 138.834V104.558L149.216 85.2534C142.857 79.2574 141.018 69.8387 144.613 61.8442C145.159 60.6354 146.713 60.2764 147.721 61.15L188.295 95.9646V131.82","fill":"var(--primary)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M169.657 138.834V104.558L149.216 85.2534C142.857 79.2574 141.018 69.8387 144.613 61.8442C145.159 60.6354 146.713 60.2764 147.721 61.15L188.295 95.9646V131.82","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M220.226 63C219.986 67.3155 219.565 73.3414 219.952 75.335C220.716 79.2654 224.637 79.0162 225.628 79.3333","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M182.461 46.667C183.846 51.2179 185.679 57.6091 186.846 59.524C189.141 63.3164 194.295 61.4264 195.295 60.8669","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M143.5 65.917C146.941 69.0816 150.979 72.9946 152.909 74.0454C156.719 76.1226 159.305 72.7156 159.833 71.7503","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M106.628 105.986C111.36 106.108 117.98 106.351 120.153 105.931C124.438 105.09 124.041 101.54 124.128 100.334","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M112 152.834C115.158 156.346 118.946 160.034 119.982 162C122.017 165.883 117.653 168.78 116.667 169.751","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M37.8215 150.653L38.6333 137.618L28.0214 144.756L24.5 138.68L36.031 133.046L24.5 127.34L28.0214 121.372L38.6333 128.474L37.8215 115.403H44.8882L43.8974 128.474L54.7719 121.372L58.2933 127.34L46.7264 133.046L58.2933 138.68L54.7719 144.756L43.8974 137.618L44.8882 150.653H37.8215Z","fill":"var(--surface)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M73.1428 150.653L73.9545 137.618L63.3427 144.756L59.8213 138.68L71.3523 133.046L59.8213 127.34L63.3427 121.372L73.9545 128.474L73.1428 115.403H80.2095L79.2187 128.474L90.0932 121.372L93.6146 127.34L82.0477 133.046L93.6146 138.68L90.0932 144.756L79.2187 137.618L80.2095 150.653H73.1428Z","fill":"var(--surface)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M108.536 150.653L109.348 137.618L98.7357 144.756L95.2144 138.68L106.745 133.046L95.2144 127.34L98.7357 121.372L109.348 128.474L108.536 115.403H115.603L114.612 128.474L125.486 121.372L129.008 127.34L117.441 133.046L129.008 138.68L125.486 144.756L114.612 137.618L115.603 150.653H108.536Z","fill":"var(--surface)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]}]} \ No newline at end of file diff --git a/src/components/illustration/assets/logo-hand.json b/src/components/illustration/assets/logo-hand.json new file mode 100644 index 0000000..caed275 --- /dev/null +++ b/src/components/illustration/assets/logo-hand.json @@ -0,0 +1 @@ +{"name":"svg","type":"element","value":"","parent":null,"attributes":{"width":"280","height":"280","viewBox":"0 0 280 280","fill":"none","xmlns":"http://www.w3.org/2000/svg"},"children":[{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M193.553 125.785C205.904 112.753 222.978 101.912 232.207 105.802C234.037 106.564 237.468 108.509 240.333 114.018C237.212 116.834 194.455 152.351 191.333 155.167","fill":"var(--primary)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M193.553 125.785C205.904 112.753 222.978 101.912 232.207 105.802C234.037 106.564 237.468 108.509 240.333 114.018C237.212 116.834 194.455 152.351 191.333 155.167","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M177.333 155.261C189.565 141.017 217.274 116.686 226.435 120.584C228.251 121.348 231.656 123.297 234.5 128.817C220.586 141.494 206.671 154.157 192.757 166.834","fill":"var(--primary)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M177.333 155.261C189.565 141.017 217.274 116.686 226.435 120.584C228.251 121.348 231.656 123.297 234.5 128.817C220.586 141.494 206.671 154.157 192.757 166.834","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M176.654 155.167H176.668L192.08 139.423C192.351 139.136 192.5 138.767 192.5 138.371V75.4752C192.5 75.0792 192.351 74.7105 192.08 74.4238L162.097 43.6176C161.812 43.3309 161.433 43.167 161.026 43.167H78.491C77.6642 43.167 77 43.8361 77 44.6691V149.719","fill":"var(--surface)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M176.654 155.167H176.668L192.08 139.423C192.351 139.136 192.5 138.767 192.5 138.371V75.4752C192.5 75.0792 192.351 74.7105 192.08 74.4238L162.097 43.6176C161.812 43.3309 161.433 43.167 161.026 43.167H78.491C77.6642 43.167 77 43.8361 77 44.6691V149.719","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M133.556 178.353H196.529C197.683 178.353 198.548 177.285 198.287 176.175C195.939 166.011 186.217 157.751 171.703 152.354C159.715 147.874 144.459 145.34 127.391 145.244C119.962 145.203 98.1703 142.532 75.9527 149.039C63.6355 152.628 51.1947 159.039 40.9922 170.285C40.443 170.888 39.9074 171.504 39.3994 172.107C28.8124 184.613 23.3472 200.654 23.3335 217.024V235.667H96.5774V199.517H86.32H147.37C153 199.517 158.438 197.449 162.64 193.709C168.393 188.586 174.16 183.463 179.914 178.339","fill":"var(--primary)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M133.556 178.353H196.529C197.683 178.353 198.548 177.285 198.287 176.175C195.939 166.011 186.217 157.751 171.703 152.354C159.715 147.874 144.459 145.34 127.391 145.244C119.962 145.203 98.1703 142.532 75.9527 149.039C63.6355 152.628 51.1947 159.039 40.9922 170.285C40.443 170.888 39.9074 171.504 39.3994 172.107C28.8124 184.613 23.3472 200.654 23.3335 217.024V235.667H96.5774V199.517H86.32H147.37C153 199.517 158.438 197.449 162.64 193.709C168.393 188.586 174.16 183.463 179.914 178.339","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M231 123.667C226.868 126.72 221.021 130.929 219.495 132.785C216.47 136.457 219.495 141.191 219.967 142.334","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M196 171.728C190.483 171.702 184.443 171.342 180.468 171.582C175.474 171.875 174.343 176.215 173.833 177.333","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M222.833 119C223.031 118.565 223.299 118.13 223.651 117.722C225.245 115.831 231.351 111.587 235.667 108.5","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M223.41 163.334C223.41 171.579 216.883 173.823 213.5 174.417C216.883 175.026 223.41 177.256 223.41 185.501C223.41 177.256 229.95 175.012 233.333 174.417C229.95 173.809 223.41 171.579 223.41 163.334Z","fill":"var(--primary)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M241.5 180.834C241.5 194.285 231.508 197.924 226.333 198.917C231.508 199.897 241.5 203.55 241.5 217.001C241.5 203.55 251.493 199.911 256.667 198.917C251.493 197.938 241.5 194.285 241.5 180.834Z","fill":"var(--primary)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M152.834 98.5979C150.379 83.8468 139.611 73.4721 130.545 73.5001C118.832 73.528 109.217 86.4475 109.683 101.618C110.122 115.502 119.778 129.596 122.206 131.833","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M130.788 96.834C130.653 98.02 129.616 108.261 137.253 116.005C144.567 123.428 153.928 122.535 155.167 122.395","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M144.359 134.167C137.196 130.145 121.555 119.415 119.856 104.551C119.172 98.4548 120.678 91.0785 125.376 87.1399C129.868 83.6883 135.799 86.5692 138.853 90.9672C140.963 93.862 141.456 97.5641 141.99 100.849C142.579 108.42 152.536 113.472 158.289 108.267C164.301 102.143 164.274 91.329 161.658 83.4517C158.138 73.7512 150.071 66.6532 140.757 63.5774C108.735 53.7238 91.3951 87.4878 102.558 118.371","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]}]} \ No newline at end of file diff --git a/src/components/illustration/assets/pidgeon.json b/src/components/illustration/assets/pidgeon.json new file mode 100644 index 0000000..0ae875e --- /dev/null +++ b/src/components/illustration/assets/pidgeon.json @@ -0,0 +1 @@ +{"name":"svg","type":"element","value":"","parent":null,"attributes":{"width":"280","height":"280","viewBox":"0 0 280 280","fill":"none","xmlns":"http://www.w3.org/2000/svg"},"children":[{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M158.67 123.069L177.914 142.586C178.093 142.764 178.188 143.006 178.188 143.254V183.093C178.188 183.341 178.087 183.584 177.914 183.761L158.676 203.154C158.498 203.338 158.248 203.438 157.992 203.438H105.026C104.497 203.438 104.069 203.013 104.069 202.486V123.731C104.069 123.205 104.497 122.779 105.026 122.779H157.992C158.248 122.779 158.498 122.88 158.676 123.063L158.67 123.069Z","fill":"var(--surface)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M109.591 90.2996C109.074 89.2634 109.526 87.8563 109.496 86.6552C109.591 83.8351 108.865 80.5675 106.967 78.6952C104.646 76.0812 100.117 76.5757 98.3794 79.5902C97.1534 81.5448 97.2725 84.153 97.1118 86.5492C96.9392 89.8286 96.7666 93.1021 96.594 96.3814C96.4334 99.4076 96.1715 102.522 97.1713 105.124C98.5579 108.839 101.498 112.531 104.932 114.497C111.032 118.13 120.333 117.418 129.278 116.917C137.913 116.493 145.15 114.315 138.585 104.936C134.693 99.5136 127.933 95.5159 121.642 93.5436C118.113 92.3838 114.68 91.6949 111.871 91.271C111.079 91.118 110.097 91.0238 109.621 90.3702L109.585 90.3114L109.591 90.2996Z","fill":"var(--primary)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M109.768 91.1699C107.541 91.4426 105.996 93.1496 105.38 95.3663C104.282 99.3434 107.541 103.048 109.146 104.873C116.558 113.29 133.083 112.241 141.128 111.156","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M97.0077 86.8103C93.6585 85.7296 91.9383 84.3755 92.0881 83.3415C92.238 82.3076 94.3101 81.5338 97.529 81.3604","fill":"var(--primary)"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M97.0077 86.8103C93.6585 85.7296 91.9383 84.3755 92.0881 83.3415C92.238 82.3076 94.3101 81.5338 97.529 81.3604","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M100.799 82.4502C100.836 82.4502 101.202 82.4502 101.835 82.4502C102.302 82.4502 102.743 82.4502 102.979 82.4502","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M109.519 122.779V117.329","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M112.789 122.779V117.329","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M177.643 121.689C182.76 121.689 186.908 117.541 186.908 112.424C186.908 107.307 182.76 103.159 177.643 103.159C172.526 103.159 168.378 107.307 168.378 112.424C168.378 117.541 172.526 121.689 177.643 121.689Z","fill":"var(--primary)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M183.731 123.128L185.917 127.7","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M173.039 123.103L170.83 127.663","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M166.392 114.719L161.448 115.835","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M168.803 104.304L164.845 101.132","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M178.451 99.6907L178.463 94.6221","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M188.075 104.352L192.045 101.203","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M190.426 114.786L195.359 115.926","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M24.5 203.438H256.667","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M94.2592 203.438C93.4954 196.173 93.2134 171.595 75.1113 151.45C67.9139 143.446 62.72 140.294 60.4697 139.129","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M94.2588 203.438C93.8271 198.58 93.1587 191.308 89.0244 183.539C81.288 169 68.7076 162.201 63.7393 159.839","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M88.809 174.008C87.7413 168.688 86.5383 161.566 86.0021 154.635C85.3933 146.768 85.4513 139.692 85.7943 133.679","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M95.2214 203.438C94.3167 195.304 92.828 184.486 93.2392 172.981C93.5477 164.316 94.3619 157.662 95.3489 151.119","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M203.257 143.489V154.284H192.985V162.019H184.728V143.489H203.257Z","fill":"var(--primary)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M203.258 154.389H193.448V162.019H203.258V154.389Z","fill":"var(--surface)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M211.977 154.389V172.918H193.448V162.124H203.72V154.389H211.977Z","fill":"var(--primary)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M153.118 166.599C151.568 157.501 144.768 151.101 139.046 151.119C131.649 151.143 125.578 159.104 125.879 168.456C126.152 177.024 132.253 185.71 133.785 187.089","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M139.024 165.289C138.938 165.992 138.296 172.085 143.048 176.687C147.605 181.103 153.434 180.57 154.208 180.485","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M147.732 188.179C143.227 185.693 133.405 179.065 132.329 169.881C131.899 166.121 132.84 161.555 135.799 159.128C138.628 157.001 142.351 158.77 144.268 161.496C145.591 163.282 145.903 165.574 146.238 167.595C146.615 172.278 152.867 175.393 156.484 172.179C160.266 168.4 160.248 161.719 158.607 156.842C156.396 150.849 151.32 146.466 145.468 144.568C125.347 138.474 114.443 159.346 121.46 178.425","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M97.4876 144.904L97.4819 144.902C96.6384 144.672 95.7679 145.169 95.5376 146.013L94.6554 149.244C94.4252 150.088 94.9223 150.958 95.7658 151.188L95.7715 151.19C96.615 151.42 97.4855 150.923 97.7158 150.079L98.598 146.848C98.8283 146.005 98.3311 145.134 97.4876 144.904Z","fill":"var(--primary)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M60.2141 155.651C59.4502 155.253 58.5084 155.55 58.1105 156.314C57.7127 157.078 58.0094 158.02 58.7734 158.418L61.7861 159.987C62.5501 160.385 63.4919 160.088 63.8898 159.324C64.2876 158.56 63.9909 157.618 63.2269 157.22L60.2141 155.651Z","fill":"var(--primary)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M87.8875 126.271C88.0034 125.365 87.3641 124.536 86.4596 124.42C85.5551 124.305 84.7278 124.946 84.6119 125.852L83.8848 131.536C83.7688 132.442 84.4081 133.27 85.3127 133.386C86.2172 133.502 87.0445 132.861 87.1604 131.955L87.8875 126.271Z","fill":"var(--primary)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M53.0578 134.339L53.0549 134.344C52.5785 135.169 52.8612 136.224 53.6863 136.7L58.5261 139.495C59.3512 139.971 60.4062 139.688 60.8825 138.863L60.8855 138.858C61.3618 138.033 61.0791 136.978 60.2541 136.502L55.4142 133.707C54.5892 133.231 53.5342 133.514 53.0578 134.339Z","fill":"var(--primary)","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-miterlimit":"10"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M182.687 185.747C182.846 185.723 184.246 186.007 185.321 185.741C186.077 185.564 186.597 185.262 187.099 184.961C187.69 184.607 188.21 184.229 188.866 183.898C190.142 183.248 192.204 183.13 193.675 183.579C194.49 183.827 195.045 184.187 195.612 184.542C196.173 184.902 196.693 185.28 197.479 185.558C198.501 185.924 199.629 186.024 200.87 185.853C201.904 185.717 202.571 185.369 203.203 185.002C203.788 184.66 204.29 184.294 204.917 183.963C206.075 183.354 207.475 183.189 209.022 183.39C209.938 183.514 210.588 183.809 211.155 184.146C211.929 184.607 212.573 185.115 213.53 185.51C214.174 185.77 214.912 185.906 215.763 185.924C217.074 185.959 218.067 185.7 218.912 185.262C219.644 184.878 220.199 184.441 220.926 184.057C221.576 183.709 222.285 183.419 223.313 183.342C224.819 183.23 226.024 183.455 227.017 183.98C227.838 184.424 228.458 184.926 229.333 185.345C230.124 185.723 231.158 185.942 232.227 185.924","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M179.467 191.004C179.703 191.152 179.945 191.3 180.199 191.447C180.755 191.76 181.322 192.073 182.178 192.233C183.903 192.546 185.357 192.304 186.479 191.749C187.347 191.317 187.956 190.803 188.807 190.366C189.781 189.864 191.306 189.58 192.912 189.84C193.863 189.988 194.49 190.319 195.098 190.662C195.748 191.04 196.268 191.453 197.012 191.796C198.117 192.31 199.393 192.499 200.917 192.28C201.856 192.144 202.512 191.849 203.097 191.5C203.835 191.069 204.438 190.591 205.318 190.207C206.553 189.675 208.426 189.604 209.784 190C210.552 190.23 211.084 190.549 211.61 190.874C212.183 191.235 212.703 191.613 213.429 191.914C214.487 192.357 216.099 192.534 217.582 192.192C218.522 191.979 219.118 191.607 219.703 191.241C220.3 190.862 220.879 190.484 221.629 190.159C222.592 189.74 224.276 189.64 225.439 189.876C226.278 190.053 226.869 190.325 227.412 190.644C228.163 191.093 228.795 191.583 229.734 191.961C230.461 192.257 231.294 192.381 232.221 192.363","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},"children":[]},{"name":"path","type":"element","value":"","parent":null,"attributes":{"d":"M173.843 196.351C174.7 196.138 175.639 196.103 176.708 196.256C177.801 196.416 178.439 196.788 179.077 197.16C179.745 197.556 180.294 197.993 181.115 198.336C182.167 198.773 183.419 198.885 184.754 198.702C185.712 198.566 186.391 198.235 186.993 197.881C187.572 197.538 188.086 197.178 188.701 196.841C189.87 196.209 191.572 195.973 193.22 196.315C194.242 196.528 194.868 196.93 195.494 197.332C196.02 197.662 196.516 198.011 197.166 198.3C198.064 198.696 199.122 198.838 200.362 198.767C201.55 198.69 202.347 198.365 203.044 197.958C203.824 197.497 204.474 196.995 205.419 196.593C206.488 196.144 208.178 196.032 209.478 196.339C210.293 196.534 210.872 196.841 211.403 197.172C211.953 197.509 212.479 197.863 213.081 198.182C214.481 198.921 216.679 198.944 218.038 198.483C218.575 198.306 219.006 198.076 219.408 197.84C220.046 197.461 220.602 197.054 221.322 196.705C222.563 196.097 224.701 195.967 226.196 196.493C226.757 196.693 227.188 196.936 227.614 197.19C228.27 197.58 228.831 198.005 229.634 198.348C230.278 198.625 231.253 198.785 232.222 198.779","stroke":"var(--on-alt)","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},"children":[]}]} \ No newline at end of file diff --git a/src/components/illustration/d-illustration.css b/src/components/illustration/d-illustration.css new file mode 100644 index 0000000..5d4e87f --- /dev/null +++ b/src/components/illustration/d-illustration.css @@ -0,0 +1,3 @@ +:host { + display: block; +} diff --git a/src/components/illustration/d-illustration.tsx b/src/components/illustration/d-illustration.tsx new file mode 100644 index 0000000..1967067 --- /dev/null +++ b/src/components/illustration/d-illustration.tsx @@ -0,0 +1,79 @@ +import { Build, Component, Element, h, Host, Prop, State, Watch } from '@stencil/core'; +import { fetchAsset } from '../utils'; +import { INode, stringify } from 'svgson'; + +@Component({ + assetsDirs: ['assets'], + tag: 'd-illustration', + styleUrl: 'd-illustration.css', + shadow: true, +}) +export class DIllustration { + @Element() el: HTMLElement; + @Prop() illustration: string = null; + @Prop() width: number = 24; + @Prop() height: number = 24; + @State() private pathData: INode; + @State() private svg: HTMLElement; + @State() private visible = false; + private intersectionObserver: IntersectionObserver; + + connectedCallback(): void { + this.waitUntilVisible(async () => { + this.visible = true; + await this.loadIllustrationPathData(); + }); + } + + disconnectedCallback(): void { + if (this.intersectionObserver) { + this.intersectionObserver.disconnect(); + this.intersectionObserver = null; + } + } + + async componentWillLoad(): Promise { + this.loadIllustrationPathData(); + } + + render() { + return ( + + {this.svg} + + ); + } + + @Watch('illustration') private async loadIllustrationPathData(): Promise { + const { illustration, visible } = this; + if (!Build.isBrowser || !illustration || !visible) { + return; + } + + this.pathData = await fetchAsset({ asset: illustration }); + this.pathData = this.pathData; + this.svg =
+ } + + private waitUntilVisible(callback: () => void): void { + if (!Build.isBrowser || typeof window === 'undefined' || !(window as any).IntersectionObserver) { + callback(); + return; + } + + this.intersectionObserver = new IntersectionObserver( + entries => { + entries.forEach(entry => { + if (entry.isIntersecting) { + this.intersectionObserver.disconnect(); + this.intersectionObserver = null; + callback(); + } + }); + }, + { rootMargin: '50px' }, + ); + + this.intersectionObserver.observe(this.el); + } +} diff --git a/src/components/illustration/illustration.stories.ts b/src/components/illustration/illustration.stories.ts new file mode 100644 index 0000000..2ec88d7 --- /dev/null +++ b/src/components/illustration/illustration.stories.ts @@ -0,0 +1,73 @@ +const createIllustrationStory = (args: { illustrationName: string; size: number; outline: boolean }) => ` + +`; + +const meta = { + title: 'Design System/Illustrations', +}; + +export default meta; + +export const CardCloud = { + args: { + illustrationName: 'card-cloud', + }, + render: createIllustrationStory, +}; + +export const Cards = { + args: { + illustrationName: 'cards', + }, + render: createIllustrationStory, +}; + +export const Chat = { + args: { + illustrationName: 'chat', + }, + render: createIllustrationStory, +}; + +export const CircleCheck = { + args: { + illustrationName: 'circle-check', + }, + render: createIllustrationStory, +}; + +export const EmptyWallet = { + args: { + illustrationName: 'empty-wallet', + }, + render: createIllustrationStory, +}; + +export const HandCard = { + args: { + illustrationName: 'hand-card', + }, + render: createIllustrationStory, +}; + +export const HandEllipsis = { + args: { + illustrationName: 'hand-ellipsis', + }, + render: createIllustrationStory, +}; + +export const LogoHand = { + args: { + illustrationName: 'logo-hand', + }, + render: createIllustrationStory, +}; + +export const Pidgeon = { + args: { + illustrationName: 'pidgeon', + }, + render: createIllustrationStory, +}; + diff --git a/src/components/illustration/readme.md b/src/components/illustration/readme.md new file mode 100644 index 0000000..68ac4d6 --- /dev/null +++ b/src/components/illustration/readme.md @@ -0,0 +1,19 @@ +# d-illustration + + + + + + +## Properties + +| Property | Attribute | Description | Type | Default | +| -------------- | -------------- | ----------- | -------- | ------- | +| `height` | `height` | | `number` | `24` | +| `illustration` | `illustration` | | `string` | `null` | +| `width` | `width` | | `number` | `24` | + + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/src/components/illustration/test/d-illustration.e2e.ts b/src/components/illustration/test/d-illustration.e2e.ts new file mode 100644 index 0000000..8e24562 --- /dev/null +++ b/src/components/illustration/test/d-illustration.e2e.ts @@ -0,0 +1,11 @@ +import { newE2EPage } from '@stencil/core/testing'; + +describe('d-illustration', () => { + it('renders', async () => { + const page = await newE2EPage(); + await page.setContent(''); + + const element = await page.find('d-illustration'); + expect(element).toHaveClass('hydrated'); + }); +}); diff --git a/src/components/illustration/test/d-illustration.spec.tsx b/src/components/illustration/test/d-illustration.spec.tsx new file mode 100644 index 0000000..f7c9a4c --- /dev/null +++ b/src/components/illustration/test/d-illustration.spec.tsx @@ -0,0 +1,17 @@ +import { newSpecPage } from '@stencil/core/testing'; +import { DIllustration } from '../d-illustration'; + +describe('d-illustration', () => { + it('renders', async () => { + const page = await newSpecPage({ + components: [DIllustration], + html: ``, + }); + expect(page.root).toEqualHtml(` + + + + + `); + }); +}); diff --git a/src/components/input/d-input.tsx b/src/components/input/d-input.tsx index c363848..31ff86b 100644 --- a/src/components/input/d-input.tsx +++ b/src/components/input/d-input.tsx @@ -31,23 +31,6 @@ export class DInput { }; render() { - const showIcon = ( - - ); - - const hideIcon = ( - - ); return ( @@ -77,16 +60,7 @@ export class DInput { > {this.personIcon && (
- - - - - + ;
)} {this.clearButton && ( @@ -96,7 +70,7 @@ export class DInput { )} {this.hidable && ( - {this.type === 'password' ? showIcon : hideIcon} + {this.type === 'password' ? : } )} diff --git a/src/components/input/readme.md b/src/components/input/readme.md index 2376265..733287f 100644 --- a/src/components/input/readme.md +++ b/src/components/input/readme.md @@ -36,6 +36,7 @@ - [d-text](../text) - ion-input +- [d-icon](../icon) - [d-button](../button) ### Graph @@ -43,6 +44,7 @@ graph TD; d-input --> d-text d-input --> ion-input + d-input --> d-icon d-input --> d-button ion-input --> ion-icon style d-input fill:#f9f,stroke:#333,stroke-width:4px diff --git a/src/components/loading/d-loading.css b/src/components/loading/d-loading.css new file mode 100644 index 0000000..5d4e87f --- /dev/null +++ b/src/components/loading/d-loading.css @@ -0,0 +1,3 @@ +:host { + display: block; +} diff --git a/src/components/d-loading/d-loading.tsx b/src/components/loading/d-loading.tsx similarity index 100% rename from src/components/d-loading/d-loading.tsx rename to src/components/loading/d-loading.tsx diff --git a/src/components/d-loading/loading.stories.ts b/src/components/loading/loading.stories.ts similarity index 100% rename from src/components/d-loading/loading.stories.ts rename to src/components/loading/loading.stories.ts diff --git a/src/components/d-loading/readme.md b/src/components/loading/readme.md similarity index 100% rename from src/components/d-loading/readme.md rename to src/components/loading/readme.md diff --git a/src/components/d-loading/test/d-loading.e2e.ts b/src/components/loading/test/d-loading.e2e.ts similarity index 100% rename from src/components/d-loading/test/d-loading.e2e.ts rename to src/components/loading/test/d-loading.e2e.ts diff --git a/src/components/d-loading/test/d-loading.spec.tsx b/src/components/loading/test/d-loading.spec.tsx similarity index 100% rename from src/components/d-loading/test/d-loading.spec.tsx rename to src/components/loading/test/d-loading.spec.tsx diff --git a/src/components/organizations/d-organizations.css b/src/components/organizations/d-organizations.css new file mode 100644 index 0000000..5d4e87f --- /dev/null +++ b/src/components/organizations/d-organizations.css @@ -0,0 +1,3 @@ +:host { + display: block; +} diff --git a/src/components/d-organizations/d-organizations.tsx b/src/components/organizations/d-organizations.tsx similarity index 100% rename from src/components/d-organizations/d-organizations.tsx rename to src/components/organizations/d-organizations.tsx diff --git a/src/components/d-organizations/organizations.stories.ts b/src/components/organizations/organizations.stories.ts similarity index 100% rename from src/components/d-organizations/organizations.stories.ts rename to src/components/organizations/organizations.stories.ts diff --git a/src/components/d-organizations/readme.md b/src/components/organizations/readme.md similarity index 100% rename from src/components/d-organizations/readme.md rename to src/components/organizations/readme.md diff --git a/src/components/d-organizations/test/d-organizations.e2e.ts b/src/components/organizations/test/d-organizations.e2e.ts similarity index 100% rename from src/components/d-organizations/test/d-organizations.e2e.ts rename to src/components/organizations/test/d-organizations.e2e.ts diff --git a/src/components/d-organizations/test/d-organizations.spec.tsx b/src/components/organizations/test/d-organizations.spec.tsx similarity index 100% rename from src/components/d-organizations/test/d-organizations.spec.tsx rename to src/components/organizations/test/d-organizations.spec.tsx diff --git a/src/components/session-card/d-session-card.tsx b/src/components/session-card/d-session-card.tsx index 47f8579..0ad97b3 100644 --- a/src/components/session-card/d-session-card.tsx +++ b/src/components/session-card/d-session-card.tsx @@ -11,22 +11,6 @@ export class DSessionCard { @Prop() success: boolean = false; render() { - const successIcon = ( - - - - - - - - - - - ); const failureIcon = ( @@ -64,7 +48,7 @@ export class DSessionCard { return (
- {this.success ? successIcon : failureIcon} + {this.success ? : failureIcon} {this.success ? 'Verified.' : 'Failure.'} diff --git a/src/components/session-card/readme.md b/src/components/session-card/readme.md index 699d65c..a6bde93 100644 --- a/src/components/session-card/readme.md +++ b/src/components/session-card/readme.md @@ -18,12 +18,14 @@ ### Depends on +- [d-icon](../icon) - [d-heading](../heading) - [d-text](../text) ### Graph ```mermaid graph TD; + d-session-card --> d-icon d-session-card --> d-heading d-session-card --> d-text style d-session-card fill:#f9f,stroke:#333,stroke-width:4px diff --git a/src/components/settings-menu/d-settings-menu.css b/src/components/settings-menu/d-settings-menu.css new file mode 100644 index 0000000..5d4e87f --- /dev/null +++ b/src/components/settings-menu/d-settings-menu.css @@ -0,0 +1,3 @@ +:host { + display: block; +} diff --git a/src/components/settings-menu/d-settings-menu.tsx b/src/components/settings-menu/d-settings-menu.tsx new file mode 100644 index 0000000..7635770 --- /dev/null +++ b/src/components/settings-menu/d-settings-menu.tsx @@ -0,0 +1,67 @@ +import { Component, Host, Prop, h } from '@stencil/core'; + +@Component({ + tag: 'd-settings-menu', + styleUrl: 'd-settings-menu.css', + shadow: true, +}) +export class DSettingsMenu { + @Prop() accountSettings: string; + @Prop() securityAndAuthentication: string; + @Prop() notificationsSettings: string; + @Prop() languages: string; + @Prop() support: string; + @Prop() privacyPolicy: string; + @Prop() logOut: string; + @Prop() version: string; + @Prop() developedBy: string; + @Prop() logoutCB: () => void; + @Prop() gotoLanguageSettings: () => void; + @Prop() openAppSettings: () => void; + + render() { + return ( + +
+
+ + + {this.accountSettings} + + + + {this.securityAndAuthentication} + + + + {this.notificationsSettings} + + + + {this.languages} + + + + + + {this.support} + + + + {this.privacyPolicy} + + + + + + {this.logOut} + + + +
+ +
+
+ ); + } +} diff --git a/src/components/settings-menu/readme.md b/src/components/settings-menu/readme.md new file mode 100644 index 0000000..e9f8ae8 --- /dev/null +++ b/src/components/settings-menu/readme.md @@ -0,0 +1,48 @@ +# d-settings-menu + + + + + + +## Properties + +| Property | Attribute | Description | Type | Default | +| --------------------------- | ----------------------------- | ----------- | ------------ | ----------- | +| `accountSettings` | `account-settings` | | `string` | `undefined` | +| `developedBy` | `developed-by` | | `string` | `undefined` | +| `gotoLanguageSettings` | -- | | `() => void` | `undefined` | +| `languages` | `languages` | | `string` | `undefined` | +| `logOut` | `log-out` | | `string` | `undefined` | +| `logoutCB` | -- | | `() => void` | `undefined` | +| `notificationsSettings` | `notifications-settings` | | `string` | `undefined` | +| `openAppSettings` | -- | | `() => void` | `undefined` | +| `privacyPolicy` | `privacy-policy` | | `string` | `undefined` | +| `securityAndAuthentication` | `security-and-authentication` | | `string` | `undefined` | +| `support` | `support` | | `string` | `undefined` | +| `version` | `version` | | `string` | `undefined` | + + +## Dependencies + +### Depends on + +- [d-buttons-group](../buttons-group) +- [d-button](../button) +- [d-icon](../icon) +- [d-app-details](../app-details) + +### Graph +```mermaid +graph TD; + d-settings-menu --> d-buttons-group + d-settings-menu --> d-button + d-settings-menu --> d-icon + d-settings-menu --> d-app-details + d-app-details --> d-text + style d-settings-menu fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/src/components/settings-menu/settings-menu.stories.ts b/src/components/settings-menu/settings-menu.stories.ts new file mode 100644 index 0000000..fadad59 --- /dev/null +++ b/src/components/settings-menu/settings-menu.stories.ts @@ -0,0 +1,40 @@ +import { Meta, StoryObj } from '@storybook/html'; +import type { Components } from '../../components.js'; + +const meta = { + title: 'Design System/Molecule/SettingsMenu', + render: args => ``, +} satisfies Meta; + +export default meta; +type Story = StoryObj; + +export const Default: Story = { + args: { + accountSettings: 'Account settings', + securityAndAuthentication: 'Security and authentication', + notificationsSettings: 'Notifications settings', + languages: 'Languages', + support: 'Support', + privacyPolicy: 'Privacy policy', + logOut: 'Log out', + version: 'Version', + developedBy: 'Developed by', + logoutCB: () => {}, + gotoLanguageSettings: () => {}, + openAppSettings: () => {}, + }, +}; diff --git a/src/components/settings-menu/test/d-settings-menu.e2e.ts b/src/components/settings-menu/test/d-settings-menu.e2e.ts new file mode 100644 index 0000000..59cd6c1 --- /dev/null +++ b/src/components/settings-menu/test/d-settings-menu.e2e.ts @@ -0,0 +1,11 @@ +import { newE2EPage } from '@stencil/core/testing'; + +describe('d-settings-menu', () => { + it('renders', async () => { + const page = await newE2EPage(); + await page.setContent(''); + + const element = await page.find('d-settings-menu'); + expect(element).toHaveClass('hydrated'); + }); +}); diff --git a/src/components/settings-menu/test/d-settings-menu.spec.tsx b/src/components/settings-menu/test/d-settings-menu.spec.tsx new file mode 100644 index 0000000..93e1401 --- /dev/null +++ b/src/components/settings-menu/test/d-settings-menu.spec.tsx @@ -0,0 +1,49 @@ +import { newSpecPage } from '@stencil/core/testing'; +import { DSettingsMenu } from '../d-settings-menu'; + +describe('d-settings-menu', () => { + it('renders', async () => { + const page = await newSpecPage({ + components: [DSettingsMenu], + html: ``, + }); + expect(page.root).toEqualHtml(` + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ `); + }); +}); diff --git a/src/components/swipable-page/d-swipable-page.css b/src/components/swipable-page/d-swipable-page.css new file mode 100644 index 0000000..5d4e87f --- /dev/null +++ b/src/components/swipable-page/d-swipable-page.css @@ -0,0 +1,3 @@ +:host { + display: block; +} diff --git a/src/components/swipable-page/d-swipable-page.tsx b/src/components/swipable-page/d-swipable-page.tsx new file mode 100644 index 0000000..7a44cdf --- /dev/null +++ b/src/components/swipable-page/d-swipable-page.tsx @@ -0,0 +1,34 @@ +import { Component, Host, h, Prop } from '@stencil/core'; + +@Component({ + tag: 'd-swipable-page', + styleUrl: 'd-swipable-page.css', + shadow: true, +}) +export class DSwipablePage { + @Prop() background: string; + @Prop() title: string; + @Prop() subtitle?: string; + @Prop() description: string; + + render() { + return ( + +
+ + + +
+ {this.title}, + {this.subtitle && ( + + {this.subtitle} + + )} + {this.description} +
+
+
+ ); + } +} diff --git a/src/components/swipable-page/readme.md b/src/components/swipable-page/readme.md new file mode 100644 index 0000000..1c8ac34 --- /dev/null +++ b/src/components/swipable-page/readme.md @@ -0,0 +1,37 @@ +# d-swipable-page + + + + + + +## Properties + +| Property | Attribute | Description | Type | Default | +| ------------- | ------------- | ----------- | -------- | ----------- | +| `background` | `background` | | `string` | `undefined` | +| `description` | `description` | | `string` | `undefined` | +| `subtitle` | `subtitle` | | `string` | `undefined` | +| `title` | `title` | | `string` | `undefined` | + + +## Dependencies + +### Depends on + +- [d-background-illustration](../background-illustration) +- [d-heading](../heading) +- [d-text](../text) + +### Graph +```mermaid +graph TD; + d-swipable-page --> d-background-illustration + d-swipable-page --> d-heading + d-swipable-page --> d-text + style d-swipable-page fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/src/components/swipable-page/swipable-page.stories.ts b/src/components/swipable-page/swipable-page.stories.ts new file mode 100644 index 0000000..b370a02 --- /dev/null +++ b/src/components/swipable-page/swipable-page.stories.ts @@ -0,0 +1,26 @@ +import { Meta, StoryObj } from '@storybook/html'; +import type { Components } from '../../components.js'; + +const meta = { + title: 'Design System/Molecule/SwipablePage', + render: args => ` + + `, +} satisfies Meta; + +export default meta; +type Story = StoryObj; + +export const Default: Story = { + args: { + background: 'https://wallet.zenswarm.forkbomb.eu/src/lib/assets/bg-1.svg', + title: 'Title', + subtitle: 'Subtitle', + description: 'Description', + }, +}; diff --git a/src/components/swipable-page/test/d-swipable-page.e2e.ts b/src/components/swipable-page/test/d-swipable-page.e2e.ts new file mode 100644 index 0000000..b176b69 --- /dev/null +++ b/src/components/swipable-page/test/d-swipable-page.e2e.ts @@ -0,0 +1,11 @@ +import { newE2EPage } from '@stencil/core/testing'; + +describe('d-swipable-page', () => { + it('renders', async () => { + const page = await newE2EPage(); + await page.setContent(''); + + const element = await page.find('d-swipable-page'); + expect(element).toHaveClass('hydrated'); + }); +}); diff --git a/src/components/swipable-page/test/d-swipable-page.spec.tsx b/src/components/swipable-page/test/d-swipable-page.spec.tsx new file mode 100644 index 0000000..860d068 --- /dev/null +++ b/src/components/swipable-page/test/d-swipable-page.spec.tsx @@ -0,0 +1,28 @@ +import { newSpecPage } from '@stencil/core/testing'; +import { DSwipablePage } from '../d-swipable-page'; + +describe('d-swipable-page', () => { + it('renders', async () => { + const page = await newSpecPage({ + components: [DSwipablePage], + html: ``, + }); + expect(page.root).toEqualHtml(` + + +
+ + + +
+ + , + + +
+
+
+
+ `); + }); +}); diff --git a/src/components/tab-button/d-tab-button.tsx b/src/components/tab-button/d-tab-button.tsx index 5f4a105..601ecf6 100644 --- a/src/components/tab-button/d-tab-button.tsx +++ b/src/components/tab-button/d-tab-button.tsx @@ -1,4 +1,5 @@ import { Component, Host, Prop, h } from '@stencil/core'; +export type Tab = 'home' | 'profile' | 'activity' | 'wallet'; @Component({ tag: 'd-tab-button', @@ -6,164 +7,23 @@ import { Component, Host, Prop, h } from '@stencil/core'; shadow: true, }) export class DTabButton { - @Prop() tab: 'home' | 'profile' | 'activity' | 'wallet'; + @Prop() tab: Tab; @Prop() active: boolean = false; @Prop() hasAlert: boolean = false; render() { - const homeSvg = ( - - - - - - ); - - const homeSvgFilled = ( - - - - ); - - const profileSvg = ( - - - - - - - - - - - - ); - - const profileSvgFilled = ( - - - - - - - - - - - - ); - - const walletSvg = ( - - - - - - - - - - - - ); - - const walletSvgFilled = ( - - - - - - - - - - - ); - - const activitySvg = ( - - - - - - ); - - const activitySvgFilled = ( - - - - - - - - - ); - - const svg = () => { - switch (this.tab) { - case 'home': - return this.active ? homeSvgFilled : homeSvg; - case 'profile': - return this.active ? profileSvgFilled : profileSvg; - case 'activity': - return this.active ? activitySvgFilled : activitySvg; - case 'wallet': - return this.active ? walletSvgFilled : walletSvg; - } + const svg = (): JSX.Element | null => { + const icons: Record = { + home: 'home', + profile: 'profile', + activity: 'notification', + wallet: 'wallet', + }; + + const icon = icons[this.tab]; + if (!icon) return null; + + return ; }; return ( diff --git a/src/components/tab-button/readme.md b/src/components/tab-button/readme.md index 3c1e67d..73a4841 100644 --- a/src/components/tab-button/readme.md +++ b/src/components/tab-button/readme.md @@ -18,6 +18,7 @@ ### Depends on +- [d-icon](../icon) - ion-tab-button - [d-info-led](../info-led) - ion-label @@ -26,6 +27,7 @@ ### Graph ```mermaid graph TD; + d-tab-button --> d-icon d-tab-button --> ion-tab-button d-tab-button --> d-info-led d-tab-button --> ion-label diff --git a/src/components/tab-button/test/d-tab-button.spec.tsx b/src/components/tab-button/test/d-tab-button.spec.tsx index 90fa1d5..c8ae377 100644 --- a/src/components/tab-button/test/d-tab-button.spec.tsx +++ b/src/components/tab-button/test/d-tab-button.spec.tsx @@ -12,11 +12,7 @@ describe('d-tab-button', () => {
- - - - - +
diff --git a/src/components/tab-page/readme.md b/src/components/tab-page/readme.md index 7c502c3..fe4db4d 100644 --- a/src/components/tab-page/readme.md +++ b/src/components/tab-page/readme.md @@ -34,6 +34,7 @@ graph TD; d-header --> ion-toolbar d-header --> ion-buttons d-header --> ion-button + d-header --> d-icon d-header --> ion-title d-header --> ion-menu-toggle d-header --> ion-menu diff --git a/src/components/text/readme.md b/src/components/text/readme.md index 7538184..4fbbe2c 100644 --- a/src/components/text/readme.md +++ b/src/components/text/readme.md @@ -27,6 +27,7 @@ - [d-input](../input) - [d-page-description](../page-description) - [d-session-card](../session-card) + - [d-swipable-page](../swipable-page) - [d-tab-button](../tab-button) ### Graph @@ -42,6 +43,7 @@ graph TD; d-input --> d-text d-page-description --> d-text d-session-card --> d-text + d-swipable-page --> d-text d-tab-button --> d-text style d-text fill:#f9f,stroke:#333,stroke-width:4px ``` diff --git a/src/components/utils.ts b/src/components/utils.ts new file mode 100644 index 0000000..6824763 --- /dev/null +++ b/src/components/utils.ts @@ -0,0 +1,23 @@ +import { getAssetPath } from '@stencil/core'; + +const assetCache = {}; +const requestCache = {}; + +export async function fetchAsset({ asset }: { asset: string }): Promise { + if (assetCache[asset]) { + return assetCache[asset]; + } + if (!requestCache[asset]) { + requestCache[asset] = fetch(getAssetPath(`./assets/${asset}.json`)) + .then(resp => resp.json()) + .catch(() => { + console.error(`"${asset}" is not a valid name`); + return ''; + }); + } + + const path = await requestCache[asset]; + assetCache[asset] = path; + + return path; +} diff --git a/src/index.html b/src/index.html index 36d62dd..919fdc9 100644 --- a/src/index.html +++ b/src/index.html @@ -29,6 +29,7 @@

Test page

pippo +
Typography