From 1ba7ff44d5bb83df620cf7f734bef336e75d3098 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Fri, 16 Aug 2024 13:26:58 +0200 Subject: [PATCH 01/21] Stuff --- packages/cli/src/colors/colorUtils.ts | 8 +- plugins/figma-plugin/src/plugin/plugin.ts | 68 ----- plugins/figma-plugin/src/ui/App.css | 59 ---- plugins/figma-plugin/src/ui/app.tsx | 48 --- .../src/ui/components/Footer/Footer.css | 40 --- .../src/ui/components/Footer/Footer.tsx | 26 -- plugins/figma-plugin/src/ui/index.html | 2 - .../src/ui/pages/PageOne/PageOne.tsx | 134 --------- .../src/ui/pages/PageTwo/PageTwo.tsx | 5 - plugins/{figma-plugin => figma}/.gitignore | 0 plugins/{figma-plugin => figma}/README.md | 0 .../assets/img/preview.png | Bin plugins/{figma-plugin => figma}/manifest.json | 4 +- plugins/{figma-plugin => figma}/package.json | 36 ++- plugins/figma/src/common/dummyFonts.ts | 18 ++ plugins/figma/src/common/dummyTheme.ts | 274 ++++++++++++++++++ plugins/figma/src/common/store.ts | 104 +++++++ .../src/common/types.ts | 2 + plugins/figma/src/common/utils.ts | 82 ++++++ plugins/figma/src/plugin/figma/fonts.ts | 24 ++ .../figma/src/plugin/figma/getVariables.ts | 20 ++ plugins/figma/src/plugin/figma/json.ts | 89 ++++++ plugins/figma/src/plugin/figma/themes.ts | 248 ++++++++++++++++ .../figma/src/plugin/figma/updateVariables.ts | 90 ++++++ plugins/figma/src/plugin/plugin.ts | 104 +++++++ plugins/figma/src/ui/App.css | 119 ++++++++ plugins/figma/src/ui/app.tsx | 136 +++++++++ .../Breadcrumbs/Breadcrumbs.module.css | 32 ++ .../ui/components/Breadcrumbs/Breadcrumbs.tsx | 25 ++ .../src/ui/components/Card/Card.module.css | 42 +++ plugins/figma/src/ui/components/Card/Card.tsx | 42 +++ .../CardButton/CardButton.module.css | 16 + .../ui/components/CardButton/CardButton.tsx | 14 + .../CodeSnippet/CodeSnippet.module.css | 40 +++ .../ui/components/CodeSnippet/CodeSnippet.tsx | 97 +++++++ .../ColorPicker/ColorPicker.module.css | 54 ++++ .../ui/components/ColorPicker/ColorPicker.tsx | 59 ++++ .../ColorPickers/ColorPickers.module.css | 0 .../components/ColorPickers/ColorPickers.tsx | 83 ++++++ .../ui/components/Footer/Footer.module.css | 90 ++++++ .../figma/src/ui/components/Footer/Footer.tsx | 104 +++++++ .../components/Textfield/Textfield.module.css | 2 + .../src/ui/components/Textfield/Textfield.tsx | 16 + .../src/ui/components/Toast/Toast.css | 0 .../src/ui/components/Toast/Toast.tsx | 11 +- plugins/figma/src/ui/index.html | 5 + .../{figma-plugin => figma}/src/ui/main.tsx | 5 + .../src/ui/pages/AddTheme/AddTheme.module.css | 28 ++ .../figma/src/ui/pages/AddTheme/AddTheme.tsx | 115 ++++++++ .../src/ui/pages/Colors/Colors.module.css | 17 ++ plugins/figma/src/ui/pages/Colors/Colors.tsx | 192 ++++++++++++ .../figma/src/ui/pages/Font/Font.module.css | 35 +++ plugins/figma/src/ui/pages/Font/Font.tsx | 135 +++++++++ .../figma/src/ui/pages/Fonts/Fonts.module.css | 10 + plugins/figma/src/ui/pages/Fonts/Fonts.tsx | 42 +++ .../src/ui/pages/Github/Github.module.css | 7 + plugins/figma/src/ui/pages/Github/Github.tsx | 44 +++ .../src/ui/pages/PageOne/PageOne.module.css | 9 + .../figma/src/ui/pages/PageOne/PageOne.tsx | 107 +++++++ .../figma/src/ui/pages/PageTwo/PageTwo.tsx | 21 ++ .../figma/src/ui/pages/Theme/Theme.module.css | 58 ++++ plugins/figma/src/ui/pages/Theme/Theme.tsx | 142 +++++++++ .../src/ui/pages/Themes/Themes.module.css | 9 + plugins/figma/src/ui/pages/Themes/Themes.tsx | 48 +++ .../src/ui/pages/pageThree/PageThree.tsx | 0 plugins/figma/src/ui/utils/github.ts | 79 +++++ .../src/ui/vite-env.d.ts | 0 plugins/{figma-plugin => figma}/tsconfig.json | 0 .../tsconfig.node.json | 4 +- .../vite.config.plugin.ts | 0 .../{figma-plugin => figma}/vite.config.ui.ts | 5 +- 71 files changed, 3176 insertions(+), 408 deletions(-) delete mode 100644 plugins/figma-plugin/src/plugin/plugin.ts delete mode 100644 plugins/figma-plugin/src/ui/App.css delete mode 100644 plugins/figma-plugin/src/ui/app.tsx delete mode 100644 plugins/figma-plugin/src/ui/components/Footer/Footer.css delete mode 100644 plugins/figma-plugin/src/ui/components/Footer/Footer.tsx delete mode 100644 plugins/figma-plugin/src/ui/index.html delete mode 100644 plugins/figma-plugin/src/ui/pages/PageOne/PageOne.tsx delete mode 100644 plugins/figma-plugin/src/ui/pages/PageTwo/PageTwo.tsx rename plugins/{figma-plugin => figma}/.gitignore (100%) rename plugins/{figma-plugin => figma}/README.md (100%) rename plugins/{figma-plugin => figma}/assets/img/preview.png (100%) rename plugins/{figma-plugin => figma}/manifest.json (68%) rename plugins/{figma-plugin => figma}/package.json (51%) create mode 100644 plugins/figma/src/common/dummyFonts.ts create mode 100644 plugins/figma/src/common/dummyTheme.ts create mode 100644 plugins/figma/src/common/store.ts rename plugins/{figma-plugin => figma}/src/common/types.ts (67%) create mode 100644 plugins/figma/src/common/utils.ts create mode 100644 plugins/figma/src/plugin/figma/fonts.ts create mode 100644 plugins/figma/src/plugin/figma/getVariables.ts create mode 100644 plugins/figma/src/plugin/figma/json.ts create mode 100644 plugins/figma/src/plugin/figma/themes.ts create mode 100644 plugins/figma/src/plugin/figma/updateVariables.ts create mode 100644 plugins/figma/src/plugin/plugin.ts create mode 100644 plugins/figma/src/ui/App.css create mode 100644 plugins/figma/src/ui/app.tsx create mode 100644 plugins/figma/src/ui/components/Breadcrumbs/Breadcrumbs.module.css create mode 100644 plugins/figma/src/ui/components/Breadcrumbs/Breadcrumbs.tsx create mode 100644 plugins/figma/src/ui/components/Card/Card.module.css create mode 100644 plugins/figma/src/ui/components/Card/Card.tsx create mode 100644 plugins/figma/src/ui/components/CardButton/CardButton.module.css create mode 100644 plugins/figma/src/ui/components/CardButton/CardButton.tsx create mode 100644 plugins/figma/src/ui/components/CodeSnippet/CodeSnippet.module.css create mode 100644 plugins/figma/src/ui/components/CodeSnippet/CodeSnippet.tsx create mode 100644 plugins/figma/src/ui/components/ColorPicker/ColorPicker.module.css create mode 100644 plugins/figma/src/ui/components/ColorPicker/ColorPicker.tsx create mode 100644 plugins/figma/src/ui/components/ColorPickers/ColorPickers.module.css create mode 100644 plugins/figma/src/ui/components/ColorPickers/ColorPickers.tsx create mode 100644 plugins/figma/src/ui/components/Footer/Footer.module.css create mode 100644 plugins/figma/src/ui/components/Footer/Footer.tsx create mode 100644 plugins/figma/src/ui/components/Textfield/Textfield.module.css create mode 100644 plugins/figma/src/ui/components/Textfield/Textfield.tsx rename plugins/{figma-plugin => figma}/src/ui/components/Toast/Toast.css (100%) rename plugins/{figma-plugin => figma}/src/ui/components/Toast/Toast.tsx (81%) create mode 100644 plugins/figma/src/ui/index.html rename plugins/{figma-plugin => figma}/src/ui/main.tsx (78%) create mode 100644 plugins/figma/src/ui/pages/AddTheme/AddTheme.module.css create mode 100644 plugins/figma/src/ui/pages/AddTheme/AddTheme.tsx create mode 100644 plugins/figma/src/ui/pages/Colors/Colors.module.css create mode 100644 plugins/figma/src/ui/pages/Colors/Colors.tsx create mode 100644 plugins/figma/src/ui/pages/Font/Font.module.css create mode 100644 plugins/figma/src/ui/pages/Font/Font.tsx create mode 100644 plugins/figma/src/ui/pages/Fonts/Fonts.module.css create mode 100644 plugins/figma/src/ui/pages/Fonts/Fonts.tsx create mode 100644 plugins/figma/src/ui/pages/Github/Github.module.css create mode 100644 plugins/figma/src/ui/pages/Github/Github.tsx create mode 100644 plugins/figma/src/ui/pages/PageOne/PageOne.module.css create mode 100644 plugins/figma/src/ui/pages/PageOne/PageOne.tsx create mode 100644 plugins/figma/src/ui/pages/PageTwo/PageTwo.tsx create mode 100644 plugins/figma/src/ui/pages/Theme/Theme.module.css create mode 100644 plugins/figma/src/ui/pages/Theme/Theme.tsx create mode 100644 plugins/figma/src/ui/pages/Themes/Themes.module.css create mode 100644 plugins/figma/src/ui/pages/Themes/Themes.tsx rename plugins/{figma-plugin => figma}/src/ui/pages/pageThree/PageThree.tsx (100%) create mode 100644 plugins/figma/src/ui/utils/github.ts rename plugins/{figma-plugin => figma}/src/ui/vite-env.d.ts (100%) rename plugins/{figma-plugin => figma}/tsconfig.json (100%) rename plugins/{figma-plugin => figma}/tsconfig.node.json (84%) rename plugins/{figma-plugin => figma}/vite.config.plugin.ts (100%) rename plugins/{figma-plugin => figma}/vite.config.ui.ts (86%) diff --git a/packages/cli/src/colors/colorUtils.ts b/packages/cli/src/colors/colorUtils.ts index f4f398340d..1e3f1177c2 100644 --- a/packages/cli/src/colors/colorUtils.ts +++ b/packages/cli/src/colors/colorUtils.ts @@ -191,16 +191,16 @@ export const HSLToHex = (h: number, s: number, l: number) => { * @param hex A hex color string * @returns RGB values in an array */ -export const hexToRgb = (hex: string) => { +export const hexToRgb = (hex: string, type: '255' | '1' = '255') => { const shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i; hex = hex.replace(shorthandRegex, (m, r: string, g: string, b: string) => r + r + g + g + b + b); const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); return result ? { - r: parseInt(result[1], 16), - g: parseInt(result[2], 16), - b: parseInt(result[3], 16), + r: type === '255' ? parseInt(result[1], 16) : parseInt(result[1], 16) / 255, + g: type === '255' ? parseInt(result[2], 16) : parseInt(result[2], 16) / 255, + b: type === '255' ? parseInt(result[3], 16) : parseInt(result[3], 16) / 255, } : null; }; diff --git a/plugins/figma-plugin/src/plugin/plugin.ts b/plugins/figma-plugin/src/plugin/plugin.ts deleted file mode 100644 index 57add14ccf..0000000000 --- a/plugins/figma-plugin/src/plugin/plugin.ts +++ /dev/null @@ -1,68 +0,0 @@ -figma.showUI(__html__, { width: 590, height: 575 }); - -function hexToRgb(hex: string) { - const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); - return result - ? { - r: parseInt(result[1], 16) / 255, - g: parseInt(result[2], 16) / 255, - b: parseInt(result[3], 16) / 255, - } - : null; -} - -function UpdateColor( - type: string, - obj: object, - modeId: string, - variable: Variable, -) { - const suffix = variable.name.split('/')[2]; - if (variable.name.startsWith(`theme/${type}`)) { - for (const [key, value] of Object.entries(obj)) { - if (key === suffix) { - const rgb = hexToRgb(value.value as string); - if (rgb) { - variable.setValueForMode(modeId, rgb); - } - } - } - } -} - -function getModeIndex(mode: string) { - if (mode === 'light') { - return 0; - } - return 1; -} - -figma.ui.onmessage = (msg: { type: string; text: string; mode: string }) => { - if (msg.type === 'update-variables') { - const obj = JSON.parse(msg.text); - const accent = obj.theme.accent as object; - const neutral = obj.theme.neutral as object; - const brand1 = obj.theme.brand1 as object; - const brand2 = obj.theme.brand2 as object; - const brand3 = obj.theme.brand3 as object; - - figma.variables.getLocalVariableCollectionsAsync().then((collections) => { - for (const collection of collections) { - if (collection.name === 'Mode') { - figma.variables.getLocalVariablesAsync('COLOR').then((variables) => { - const modeId: string = - collection.modes[getModeIndex(msg.mode)].modeId; - - for (const variable of variables) { - UpdateColor('accent', accent, modeId, variable); - UpdateColor('neutral', neutral, modeId, variable); - UpdateColor('brand1', brand1, modeId, variable); - UpdateColor('brand2', brand2, modeId, variable); - UpdateColor('brand3', brand3, modeId, variable); - } - }); - } - } - }); - } -}; diff --git a/plugins/figma-plugin/src/ui/App.css b/plugins/figma-plugin/src/ui/App.css deleted file mode 100644 index 7ef1c96250..0000000000 --- a/plugins/figma-plugin/src/ui/App.css +++ /dev/null @@ -1,59 +0,0 @@ -@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap'); - -* { - font-feature-settings: 'cv05' 1; - box-sizing: border-box; -} - -body { - font-family: 'Inter', sans-serif; - margin: 0; -} - -.content { - padding: 6px; -} - -.heading { - margin-bottom: 8px; -} - -.paragraph { - margin-bottom: 20px; - max-width: 98%; -} - -.modes { - margin-bottom: 20px; -} - -.textarea { - margin-bottom: 20px; -} - -.links { - display: flex; - border-bottom: 1px solid #cecece; - padding: 0 16px; -} - -.button { - position: absolute; - bottom: 65px; -} - -.link { - height: 52px; - display: flex; - align-items: center; - justify-content: center; - text-decoration: none; - color: #a0a0a0; - margin-right: 16px; - font-weight: 500; - font-size: 15px; -} - -.active { - color: #272727; -} diff --git a/plugins/figma-plugin/src/ui/app.tsx b/plugins/figma-plugin/src/ui/app.tsx deleted file mode 100644 index 9bd53e4474..0000000000 --- a/plugins/figma-plugin/src/ui/app.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import '@digdir/designsystemet-theme'; -import '@digdir/designsystemet-css'; - -import './App.css'; -import { Route, Routes } from 'react-router-dom'; - -import { Footer } from './components/Footer/Footer'; -import PageOne from './pages/PageOne/PageOne'; -import PageTwo from './pages/PageTwo/PageTwo'; -import PageThree from './pages/pageThree/PageThree'; - -function App() { - return ( -
- {/*
- (isActive ? 'link active' : 'link')} - to='/' - > - Lokale variabler - - - Sync fra repo - - - Oppdater UI Kit - -
*/} - -
- - } /> - } /> - } /> - -
-
-
- ); -} - -export default App; diff --git a/plugins/figma-plugin/src/ui/components/Footer/Footer.css b/plugins/figma-plugin/src/ui/components/Footer/Footer.css deleted file mode 100644 index 82fc26f57b..0000000000 --- a/plugins/figma-plugin/src/ui/components/Footer/Footer.css +++ /dev/null @@ -1,40 +0,0 @@ -.footer { - position: absolute; - z-index: 10; - background-color: white; - bottom: 0; - left: 0; - right: 0; - height: 44px; - border-top: 1px solid var(--ds-color-neutral-border-subtle); - display: flex; - align-items: center; - justify-content: space-between; - padding: 0 16px; -} - -.footer__right { - display: flex; - align-items: center; - gap: 8px; -} - -.version { - background-color: var(--ds-color-neutral-surface-default); - font-size: 14px; - color: var(--ds-color-neutral-text-subtle); - font-weight: 500; - padding: 3px 6px; - border-radius: 2px; -} - -.feedback { - color: var(--ds-color-neutral-text-subtle); - padding: 3px; - border-radius: 1px; -} - -.feedback:hover { - background-color: var(--ds-color-neutral-surface-default); - color: var(--ds-color-neutral-text-default); -} diff --git a/plugins/figma-plugin/src/ui/components/Footer/Footer.tsx b/plugins/figma-plugin/src/ui/components/Footer/Footer.tsx deleted file mode 100644 index 8f3900632e..0000000000 --- a/plugins/figma-plugin/src/ui/components/Footer/Footer.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import './Footer.css'; -import { Tooltip } from '@digdir/designsystemet-react'; -import { ChatElipsisIcon } from '@navikt/aksel-icons'; - -import packageJson from '../../../../package.json'; - -export const Footer = () => { - return ( -
-
-
-
V {packageJson.version}
- - - - - -
-
- ); -}; diff --git a/plugins/figma-plugin/src/ui/index.html b/plugins/figma-plugin/src/ui/index.html deleted file mode 100644 index 440f1f2593..0000000000 --- a/plugins/figma-plugin/src/ui/index.html +++ /dev/null @@ -1,2 +0,0 @@ -
- diff --git a/plugins/figma-plugin/src/ui/pages/PageOne/PageOne.tsx b/plugins/figma-plugin/src/ui/pages/PageOne/PageOne.tsx deleted file mode 100644 index 4a79abe1c2..0000000000 --- a/plugins/figma-plugin/src/ui/pages/PageOne/PageOne.tsx +++ /dev/null @@ -1,134 +0,0 @@ -import { - Button, - Heading, - Link, - Paragraph, - Textarea, - ToggleGroup, -} from '@digdir/designsystemet-react'; -import { useState } from 'react'; - -import { Toast } from '@ui/components/Toast/Toast'; - -import type { JsonInput } from '../../../common/types'; - -function PageOne() { - const [jsonText, setJsonText] = useState(''); - const [mode, setMode] = useState('light'); - const [errorText, setErrorText] = useState(''); - const [isLoading, setIsLoading] = useState(false); - - const isJsonValid = (str: string) => { - try { - JSON.parse(str); - } catch (e) { - return false; - } - return true; - }; - - const isJsonCorrect = (str: string) => { - try { - const obj = JSON.parse(str) as JsonInput; - if ( - obj.theme.accent && - obj.theme.neutral && - obj.theme.brand1 && - obj.theme.brand2 && - obj.theme.brand3 - ) { - return true; - } - } catch (e) { - return false; - } - return false; - }; - - const onSubmit = () => { - if (isLoading) { - return; - } - - if (jsonText === '') { - setErrorText('Dette feltet er påkrevd.'); - return; - } - - if (!isJsonValid(jsonText) || !isJsonCorrect(jsonText)) { - setErrorText('Ugyldig JSON, prøv og kopier og lim inn på nytt.'); - setJsonText(''); - return; - } - - setIsLoading(true); - setErrorText(''); - setJsonText(''); - - setTimeout(() => { - parent.postMessage( - { pluginMessage: { type: 'update-variables', text: jsonText, mode } }, - '*', - ); - }, 400); - - setTimeout(() => { - setIsLoading(false); - }, 7900); - }; - return ( -
-
- - Oppdater fargetema - - - - Oppdater{' '} - - Designsystemet - Core UI Kit - {' '} - community filen med ditt eget fargetema. Gå til{' '} - - theme.designsystemet.no - {' '} - og lag temaet ditt, velg light- eller dark mode og lim inn JSON koden - i feltet under. - - - setMode(e)} - > - Light Mode - Dark Mode - {/* Contrast */} - - +
- } - /> - */} + {/* } @@ -133,7 +208,7 @@ function Theme() { url='/themes/altinn/colors' title='Avstander' icon={} - /> + /> */}
); diff --git a/plugins/figma/src/ui/pages/Themes/Themes.tsx b/plugins/figma/src/ui/pages/Themes/Themes.tsx index c0a725074b..08de496f16 100644 --- a/plugins/figma/src/ui/pages/Themes/Themes.tsx +++ b/plugins/figma/src/ui/pages/Themes/Themes.tsx @@ -1,5 +1,5 @@ -import { useEffect } from 'react'; import { Button } from '@digdir/designsystemet-react'; +import { useEffect } from 'react'; import { Card } from '@ui/components/Card/Card'; import { CardButton } from '@ui/components/CardButton/CardButton'; @@ -39,7 +39,7 @@ function Themes() { /> ); })} - + {/* */} ); From 140ae4f169b6f5f78e69a05e4760395e992fa7ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Tue, 1 Oct 2024 10:37:23 +0200 Subject: [PATCH 05/21] Update yarn.lock --- yarn.lock | 363 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 295 insertions(+), 68 deletions(-) diff --git a/yarn.lock b/yarn.lock index f3cea559b4..04734dbdfc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2332,10 +2332,10 @@ __metadata: languageName: node linkType: hard -"@figma/plugin-typings@npm:^1.97.0": - version: 1.97.0 - resolution: "@figma/plugin-typings@npm:1.97.0" - checksum: 10/de2a1bbc92b5f507f78c51c5b43abfc28c8957a9b36b317b6a1073fc2ba40137b8df0a2a9a47b70ee47765f3afddfca53150cf07a84434c412fc5703e81ed845 +"@figma/plugin-typings@npm:^1.95.0": + version: 1.100.2 + resolution: "@figma/plugin-typings@npm:1.100.2" + checksum: 10/cc04afed7355b8e1ab71bfab41105034cc80498b5156f3e86ea6b7e66b2882477e200fc2b84a6aad23c86d984d8906b0e1689467303da9bae09aeed4d256db00 languageName: node linkType: hard @@ -2454,6 +2454,27 @@ __metadata: languageName: node linkType: hard +"@isomorphic-git/idb-keyval@npm:3.3.2": + version: 3.3.2 + resolution: "@isomorphic-git/idb-keyval@npm:3.3.2" + checksum: 10/d67cd1a2d1d9a264cb9b616bbd3d51fa98056946fd74a4529ea0105b90e6e2f0c241a4b4189a23cdc7a8b0b4d7a84966134dba452cf9670a8da22ff5b0f564b4 + languageName: node + linkType: hard + +"@isomorphic-git/lightning-fs@npm:^4.6.0": + version: 4.6.0 + resolution: "@isomorphic-git/lightning-fs@npm:4.6.0" + dependencies: + "@isomorphic-git/idb-keyval": "npm:3.3.2" + isomorphic-textencoder: "npm:1.0.1" + just-debounce-it: "npm:1.1.0" + just-once: "npm:1.1.0" + bin: + superblocktxt: src/superblocktxt.js + checksum: 10/e42117d132d1ebaee10940df926fdf06bc34a9127ccf9c564aaaf5007fb087d14bb830fc08a100109ae2df9057382697f17f9bbfd4bdeb66a6a0de36a64a48b8 + languageName: node + linkType: hard + "@istanbuljs/load-nyc-config@npm:^1.0.0": version: 1.1.0 resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" @@ -3118,10 +3139,10 @@ __metadata: languageName: node linkType: hard -"@remix-run/router@npm:1.19.0": - version: 1.19.0 - resolution: "@remix-run/router@npm:1.19.0" - checksum: 10/13a881fc47ca3571dcad298f6f19218c84f09f0dda38695d874a9fb1b496e42b6b37b777169d283cd1f5098a1470fa76c5143c53eb5a4078202bd12ea1541d29 +"@remix-run/router@npm:1.19.2": + version: 1.19.2 + resolution: "@remix-run/router@npm:1.19.2" + checksum: 10/31b62b66ea68bd62018189047de7b262700113438f62407df019f81a9856a08a705b2b77454be9293518e2f5f3bbf3f8b858ac19f48cb7d89f8ab56b7b630c19 languageName: node linkType: hard @@ -5058,6 +5079,15 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:^22.3.0": + version: 22.7.4 + resolution: "@types/node@npm:22.7.4" + dependencies: + undici-types: "npm:~6.19.2" + checksum: 10/19ddab80c4eba2253c855ed67c9bbc47417183049d01e59010a738bd80d47338bab79fd1f44ae51516bd63a1db4bf21ddb38b16bf6401a2e93252068ec52e88b + languageName: node + linkType: hard + "@types/object-hash@npm:^3.0.6": version: 3.0.6 resolution: "@types/object-hash@npm:3.0.6" @@ -5142,7 +5172,7 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:^18.3.0": +"@types/react-dom@npm:^18.0.11, @types/react-dom@npm:^18.3.0": version: 18.3.0 resolution: "@types/react-dom@npm:18.3.0" dependencies: @@ -5191,6 +5221,16 @@ __metadata: languageName: node linkType: hard +"@types/react@npm:^18.0.28": + version: 18.3.10 + resolution: "@types/react@npm:18.3.10" + dependencies: + "@types/prop-types": "npm:*" + csstype: "npm:^3.0.2" + checksum: 10/cdc946f15fcad62387e6485a2bbef3e45609708fd81e3ce30b03580077bb8a8a1bd0d19858d8602b33c3921bbb8907ddbc9411fd25294a2c2e944907dad8dd67 + languageName: node + linkType: hard + "@types/reactcss@npm:*": version: 1.2.12 resolution: "@types/reactcss@npm:1.2.12" @@ -5994,6 +6034,13 @@ __metadata: languageName: node linkType: hard +"async-lock@npm:^1.4.1": + version: 1.4.1 + resolution: "async-lock@npm:1.4.1" + checksum: 10/80d55ac95f920e880a865968b799963014f6d987dd790dd08173fae6e1af509d8cd0ab45a25daaca82e3ef8e7c939f5d128cd1facfcc5c647da8ac2409e20ef9 + languageName: node + linkType: hard + "async@npm:^2.6.4": version: 2.6.4 resolution: "async@npm:2.6.4" @@ -6775,6 +6822,13 @@ __metadata: languageName: node linkType: hard +"clean-git-ref@npm:^2.0.1": + version: 2.0.1 + resolution: "clean-git-ref@npm:2.0.1" + checksum: 10/b25f585ed47040ea5d699d40a2bb84d1f35afd651f3fcc05fb077224358ffd3d7509fc9edbfc4570f1fc732c987e03ac7d8ec31524ac503ac35c53cb1f5e3bf9 + languageName: node + linkType: hard + "clean-stack@npm:^2.0.0": version: 2.2.0 resolution: "clean-stack@npm:2.2.0" @@ -7174,6 +7228,15 @@ __metadata: languageName: node linkType: hard +"crc-32@npm:^1.2.0": + version: 1.2.2 + resolution: "crc-32@npm:1.2.2" + bin: + crc32: bin/crc32.njs + checksum: 10/824f696a5baaf617809aa9cd033313c8f94f12d15ebffa69f10202480396be44aef9831d900ab291638a8022ed91c360696dd5b1ba691eb3f34e60be8835b7c3 + languageName: node + linkType: hard + "create-jest@npm:^29.7.0": version: 29.7.0 resolution: "create-jest@npm:29.7.0" @@ -7582,6 +7645,15 @@ __metadata: languageName: node linkType: hard +"decompress-response@npm:^6.0.0": + version: 6.0.0 + resolution: "decompress-response@npm:6.0.0" + dependencies: + mimic-response: "npm:^3.1.0" + checksum: 10/d377cf47e02d805e283866c3f50d3d21578b779731e8c5072d6ce8c13cc31493db1c2f6784da9d1d5250822120cefa44f1deab112d5981015f2e17444b763812 + languageName: node + linkType: hard + "dedent@npm:^1.0.0": version: 1.5.3 resolution: "dedent@npm:1.5.3" @@ -7736,6 +7808,13 @@ __metadata: languageName: node linkType: hard +"diff3@npm:0.0.3": + version: 0.0.3 + resolution: "diff3@npm:0.0.3" + checksum: 10/9fb9983052e35209be1912c6999ee4aa1887365666ea28d5aba364ffe8514e0a745a4408a3702b5c5943e717571dcc892073b8f3b48fed5814e2c7fc1883f74e + languageName: node + linkType: hard + "diffable-html@npm:^4.1.0": version: 4.1.0 resolution: "diffable-html@npm:4.1.0" @@ -8715,6 +8794,13 @@ __metadata: languageName: node linkType: hard +"fast-text-encoding@npm:^1.0.0": + version: 1.0.6 + resolution: "fast-text-encoding@npm:1.0.6" + checksum: 10/f7b9e2e7a21e4ae5f4b8d3729850be83fb45052b28c9c38c09b8366463a291d6dc5448359238bdaf87f6a9e907d5895a94319a2c5e0e9f0786859ad6312d1d06 + languageName: node + linkType: hard + "fastest-levenshtein@npm:^1.0.16": version: 1.0.16 resolution: "fastest-levenshtein@npm:1.0.16" @@ -8749,29 +8835,36 @@ __metadata: languageName: node linkType: hard -"figma-plugin@workspace:plugins/figma-plugin": +"figma-plugin@workspace:plugins/figma": version: 0.0.0-use.local - resolution: "figma-plugin@workspace:plugins/figma-plugin" + resolution: "figma-plugin@workspace:plugins/figma" dependencies: + "@adobe/leonardo-contrast-colors": "npm:^1.0.0" + "@digdir/designsystemet": "workspace:^" "@digdir/designsystemet-css": "workspace:^" "@digdir/designsystemet-react": "workspace:^" "@digdir/designsystemet-theme": "workspace:^" - "@figma/plugin-typings": "npm:^1.97.0" - "@types/node": "npm:^22.1.0" - "@types/react": "npm:^18.3.3" - "@types/react-dom": "npm:^18.3.0" + "@figma/plugin-typings": "npm:^1.95.0" + "@isomorphic-git/lightning-fs": "npm:^4.6.0" + "@react-awesome/use-click-outside": "npm:^0.0.3" + "@types/node": "npm:^22.3.0" + "@types/react": "npm:^18.0.28" + "@types/react-color": "npm:^3.0.12" + "@types/react-dom": "npm:^18.0.11" "@vitejs/plugin-react": "npm:^4.3.1" - clsx: "npm:^2.1.1" - npm-run-all2: "npm:^6.2.2" - postcss: "npm:^8.4.41" - react: "npm:^18.3.1" - react-dom: "npm:^18.3.1" - react-router-dom: "npm:^6.26.0" - rollup: "npm:^4.22.4" - vite: "npm:^5.3.6" - vite-plugin-generate-file: "npm:^0.2.0" - vite-plugin-react-rich-svg: "npm:^1.1.1" + isomorphic-git: "npm:^1.27.0" + lucide-react: "npm:^0.399.0" + npm-run-all2: "npm:^6.2.0" + postcss: "npm:^8.4.21" + react: "npm:^18.2.0" + react-color: "npm:^2.19.3" + react-dom: "npm:^18.2.0" + react-hot-toast: "npm:^2.4.1" + react-router-dom: "npm:^6.23.1" + vite-plugin-generate-file: "npm:^0.1.1" + vite-plugin-react-rich-svg: "npm:^1.0.0" vite-plugin-singlefile: "npm:^2.0.2" + zustand: "npm:^4.5.4" languageName: unknown linkType: soft @@ -9466,6 +9559,15 @@ __metadata: languageName: node linkType: hard +"goober@npm:^2.1.10": + version: 2.1.14 + resolution: "goober@npm:2.1.14" + peerDependencies: + csstype: ^3.0.10 + checksum: 10/372f18333ef64c403d29be7c1175cc9cd74cb947ec52cd42fbb1cf3f9870ac1dfec9c7671192cbf47ebc0ec17d8b05b6ef9a2b92952397d5b555a692381d5eaa + languageName: node + linkType: hard + "gopd@npm:^1.0.1": version: 1.0.1 resolution: "gopd@npm:1.0.1" @@ -9958,6 +10060,13 @@ __metadata: languageName: node linkType: hard +"ignore@npm:^5.1.4": + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 10/cceb6a457000f8f6a50e1196429750d782afce5680dd878aa4221bd79972d68b3a55b4b1458fc682be978f4d3c6a249046aa0880637367216444ab7b014cfc98 + languageName: node + linkType: hard + "ignore@npm:^5.2.0, ignore@npm:^5.2.4": version: 5.2.4 resolution: "ignore@npm:5.2.4" @@ -10455,6 +10564,36 @@ __metadata: languageName: node linkType: hard +"isomorphic-git@npm:^1.27.0": + version: 1.27.1 + resolution: "isomorphic-git@npm:1.27.1" + dependencies: + async-lock: "npm:^1.4.1" + clean-git-ref: "npm:^2.0.1" + crc-32: "npm:^1.2.0" + diff3: "npm:0.0.3" + ignore: "npm:^5.1.4" + minimisted: "npm:^2.0.0" + pako: "npm:^1.0.10" + pify: "npm:^4.0.1" + readable-stream: "npm:^3.4.0" + sha.js: "npm:^2.4.9" + simple-get: "npm:^4.0.1" + bin: + isogit: cli.cjs + checksum: 10/f0205552b0dfb5173e8dfc651c6901cc01ac03fbf5ddeff8b1d73d7707fb741c7ca16b25254de598981206c5d1179799eb33eb1d1a8456002c7210f52108f25a + languageName: node + linkType: hard + +"isomorphic-textencoder@npm:1.0.1": + version: 1.0.1 + resolution: "isomorphic-textencoder@npm:1.0.1" + dependencies: + fast-text-encoding: "npm:^1.0.0" + checksum: 10/9bd0c04bff7b1dc9e410d2f9a2705ca4cc288872929d88fbb7758f06b5147de8dbaea5f95ce6cf4d314f064643f3d42d69a07bbb68df0261e81153d2d56f77f3 + languageName: node + linkType: hard + "istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0, istanbul-lib-coverage@npm:^3.2.2": version: 3.2.2 resolution: "istanbul-lib-coverage@npm:3.2.2" @@ -11385,6 +11524,20 @@ __metadata: languageName: node linkType: hard +"just-debounce-it@npm:1.1.0": + version: 1.1.0 + resolution: "just-debounce-it@npm:1.1.0" + checksum: 10/94ecf7e7cd49093e4d5b282fea2f6bc7b6866ff835a4739dc589228238562ecaeb4cf8cb2ae89f5c0c488235c16a96dcbb90920eff631fed39d9782fdffcdc80 + languageName: node + linkType: hard + +"just-once@npm:1.1.0": + version: 1.1.0 + resolution: "just-once@npm:1.1.0" + checksum: 10/e6bff9ee50bbe10e319decf6d19f9ed97e82a612fb56d63d4612910d84b1734a5697225bc098c7c0a7c404f844324eee073bf2bfcd4dcf575cd613aa9fe32ea5 + languageName: node + linkType: hard + "keyv@npm:^4.5.4": version: 4.5.4 resolution: "keyv@npm:4.5.4" @@ -11724,6 +11877,15 @@ __metadata: languageName: node linkType: hard +"lucide-react@npm:^0.399.0": + version: 0.399.0 + resolution: "lucide-react@npm:0.399.0" + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10/89212e54dc58c99f6d7593fc4ac5020771ec57bf334a4f5c1280df131cfb99b2c2ffabcf44a7c26670bee29979d687e7b4318b5d8681d404714faa1e9cc2a6ce + languageName: node + linkType: hard + "lz-string@npm:^1.5.0": version: 1.5.0 resolution: "lz-string@npm:1.5.0" @@ -12685,6 +12847,13 @@ __metadata: languageName: node linkType: hard +"mimic-response@npm:^3.1.0": + version: 3.1.0 + resolution: "mimic-response@npm:3.1.0" + checksum: 10/7e719047612411fe071332a7498cf0448bbe43c485c0d780046c76633a771b223ff49bd00267be122cedebb897037fdb527df72335d0d0f74724604ca70b37ad + languageName: node + linkType: hard + "min-indent@npm:^1.0.0, min-indent@npm:^1.0.1": version: 1.0.1 resolution: "min-indent@npm:1.0.1" @@ -12737,6 +12906,13 @@ __metadata: languageName: node linkType: hard +"minimist@npm:^1.2.5, minimist@npm:^1.2.8": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 10/908491b6cc15a6c440ba5b22780a0ba89b9810e1aea684e253e43c4e3b8d56ec1dcdd7ea96dde119c29df59c936cde16062159eae4225c691e19c70b432b6e6f + languageName: node + linkType: hard + "minimist@npm:^1.2.6": version: 1.2.7 resolution: "minimist@npm:1.2.7" @@ -12744,10 +12920,12 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.8": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 10/908491b6cc15a6c440ba5b22780a0ba89b9810e1aea684e253e43c4e3b8d56ec1dcdd7ea96dde119c29df59c936cde16062159eae4225c691e19c70b432b6e6f +"minimisted@npm:^2.0.0": + version: 2.0.1 + resolution: "minimisted@npm:2.0.1" + dependencies: + minimist: "npm:^1.2.5" + checksum: 10/f8c81346b1f535c0be173f4937991586ec86e55b7c94790000d1cba436053ed6a536d290321194b45512a8fa0e30678fd10c759e82ce5388c2dbe4f990b4a9ec languageName: node linkType: hard @@ -13152,9 +13330,9 @@ __metadata: languageName: node linkType: hard -"npm-run-all2@npm:^6.2.2": - version: 6.2.2 - resolution: "npm-run-all2@npm:6.2.2" +"npm-run-all2@npm:^6.2.0": + version: 6.2.3 + resolution: "npm-run-all2@npm:6.2.3" dependencies: ansi-styles: "npm:^6.2.1" cross-spawn: "npm:^7.0.3" @@ -13168,7 +13346,7 @@ __metadata: npm-run-all2: bin/npm-run-all/index.js run-p: bin/run-p/index.js run-s: bin/run-s/index.js - checksum: 10/79995322365ab1189bf00cd531b3b2c410334a8e0d54bf1045fed3b59117873e8a0aeafdc1f543f0cef295bdca1fe5cfea5613e7ed4cc65f396b72db587257f5 + checksum: 10/4fd4186cfc87d42555919337fce245f276be572d9c4a217444f9afbfad05b3d6b05c7c45f13cbc21a8280c4898d03c2ec22c0ce8bcfe00b5eccce19f36854d24 languageName: node linkType: hard @@ -13314,7 +13492,7 @@ __metadata: languageName: node linkType: hard -"once@npm:^1.3.0": +"once@npm:^1.3.0, once@npm:^1.3.1": version: 1.4.0 resolution: "once@npm:1.4.0" dependencies: @@ -13497,6 +13675,13 @@ __metadata: languageName: node linkType: hard +"pako@npm:^1.0.10": + version: 1.0.11 + resolution: "pako@npm:1.0.11" + checksum: 10/1ad07210e894472685564c4d39a08717e84c2a68a70d3c1d9e657d32394ef1670e22972a433cbfe48976cb98b154ba06855dcd3fcfba77f60f1777634bec48c0 + languageName: node + linkType: hard + "parent-module@npm:^1.0.0": version: 1.0.1 resolution: "parent-module@npm:1.0.1" @@ -14389,6 +14574,17 @@ __metadata: languageName: node linkType: hard +"postcss@npm:^8.4.21, postcss@npm:^8.4.43": + version: 8.4.47 + resolution: "postcss@npm:8.4.47" + dependencies: + nanoid: "npm:^3.3.7" + picocolors: "npm:^1.1.0" + source-map-js: "npm:^1.2.1" + checksum: 10/f2b50ba9b6fcb795232b6bb20de7cdc538c0025989a8ed9c4438d1960196ba3b7eaff41fdb1a5c701b3504651ea87aeb685577707f0ae4d6ce6f3eae5df79a81 + languageName: node + linkType: hard + "postcss@npm:^8.4.35": version: 8.4.35 resolution: "postcss@npm:8.4.35" @@ -14422,17 +14618,6 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.43": - version: 8.4.47 - resolution: "postcss@npm:8.4.47" - dependencies: - nanoid: "npm:^3.3.7" - picocolors: "npm:^1.1.0" - source-map-js: "npm:^1.2.1" - checksum: 10/f2b50ba9b6fcb795232b6bb20de7cdc538c0025989a8ed9c4438d1960196ba3b7eaff41fdb1a5c701b3504651ea87aeb685577707f0ae4d6ce6f3eae5df79a81 - languageName: node - linkType: hard - "preferred-pm@npm:^3.0.0": version: 3.1.4 resolution: "preferred-pm@npm:3.1.4" @@ -14802,7 +14987,7 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:^18.3.1": +"react-dom@npm:^18.2.0, react-dom@npm:^18.3.1": version: 18.3.1 resolution: "react-dom@npm:18.3.1" dependencies: @@ -14828,6 +15013,18 @@ __metadata: languageName: node linkType: hard +"react-hot-toast@npm:^2.4.1": + version: 2.4.1 + resolution: "react-hot-toast@npm:2.4.1" + dependencies: + goober: "npm:^2.1.10" + peerDependencies: + react: ">=16" + react-dom: ">=16" + checksum: 10/9af91efdb98837e39a126aff084b54db0336c5f88a7dad7c42daf7ee873d06a79d6e59f398412cc250a35ddf1a73c25700fe90b3c3a2a0c394fd17d99b2bcf8b + languageName: node + linkType: hard + "react-is@npm:18.1.0": version: 18.1.0 resolution: "react-is@npm:18.1.0" @@ -14863,27 +15060,27 @@ __metadata: languageName: node linkType: hard -"react-router-dom@npm:^6.26.0": - version: 6.26.0 - resolution: "react-router-dom@npm:6.26.0" +"react-router-dom@npm:^6.23.1": + version: 6.26.2 + resolution: "react-router-dom@npm:6.26.2" dependencies: - "@remix-run/router": "npm:1.19.0" - react-router: "npm:6.26.0" + "@remix-run/router": "npm:1.19.2" + react-router: "npm:6.26.2" peerDependencies: react: ">=16.8" react-dom: ">=16.8" - checksum: 10/be433029a0759d5faa2cd2cb28dd3c88106cdb46042c2e804e301aefad3db17aa9021b4e3d533e0fdcde5767ed0e1d296c04fecbc3e41231c3d8be9cc307018a + checksum: 10/4eee37839bd1a660807c090b4d272e4aa9b95d8a9a932cdcdf7c5b10735f39b6db73bad79b08a3012386a7e225ff6bf60435e2741fb7c68e137ac5a6295d4308 languageName: node linkType: hard -"react-router@npm:6.26.0": - version: 6.26.0 - resolution: "react-router@npm:6.26.0" +"react-router@npm:6.26.2": + version: 6.26.2 + resolution: "react-router@npm:6.26.2" dependencies: - "@remix-run/router": "npm:1.19.0" + "@remix-run/router": "npm:1.19.2" peerDependencies: react: ">=16.8" - checksum: 10/d0c79a0f95a88730c0d2bfd098da9d6bdd4d7f08d4e1ddd152b5d013d3c01064afdd6fed57d4d3fa50c42c412e6d00e9217b2abd6cdbf4aaf810b7c33e728400 + checksum: 10/496e855b53e61066c1791e354f5d79eab56a128d9722fdc6486c3ecd3b3a0bf9968e927028f429893b157f3cc10fc09e890a055847723ee242663e7995fedc9d languageName: node linkType: hard @@ -14940,7 +15137,7 @@ __metadata: languageName: node linkType: hard -"react@npm:^18.3.1": +"react@npm:^18.2.0, react@npm:^18.3.1": version: 18.3.1 resolution: "react@npm:18.3.1" dependencies: @@ -14989,7 +15186,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^3.1.1": +"readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" dependencies: @@ -15621,7 +15818,7 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: 10/32872cd0ff68a3ddade7a7617b8f4c2ae8764d8b7d884c651b74457967a9e0e886267d3ecc781220629c44a865167b61c375d2da6c720c840ecd73f45d5d9451 @@ -15855,6 +16052,18 @@ __metadata: languageName: node linkType: hard +"sha.js@npm:^2.4.9": + version: 2.4.11 + resolution: "sha.js@npm:2.4.11" + dependencies: + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + bin: + sha.js: ./bin.js + checksum: 10/d833bfa3e0a67579a6ce6e1bc95571f05246e0a441dd8c76e3057972f2a3e098465687a4369b07e83a0375a88703577f71b5b2e966809e67ebc340dbedb478c7 + languageName: node + linkType: hard + "shallow-clone@npm:^3.0.0": version: 3.0.1 resolution: "shallow-clone@npm:3.0.1" @@ -15954,6 +16163,24 @@ __metadata: languageName: node linkType: hard +"simple-concat@npm:^1.0.0": + version: 1.0.1 + resolution: "simple-concat@npm:1.0.1" + checksum: 10/4d211042cc3d73a718c21ac6c4e7d7a0363e184be6a5ad25c8a1502e49df6d0a0253979e3d50dbdd3f60ef6c6c58d756b5d66ac1e05cda9cacd2e9fc59e3876a + languageName: node + linkType: hard + +"simple-get@npm:^4.0.1": + version: 4.0.1 + resolution: "simple-get@npm:4.0.1" + dependencies: + decompress-response: "npm:^6.0.0" + once: "npm:^1.3.1" + simple-concat: "npm:^1.0.0" + checksum: 10/93f1b32319782f78f2f2234e9ce34891b7ab6b990d19d8afefaa44423f5235ce2676aae42d6743fecac6c8dfff4b808d4c24fe5265be813d04769917a9a44f36 + languageName: node + linkType: hard + "sisteransi@npm:^1.0.5": version: 1.0.5 resolution: "sisteransi@npm:1.0.5" @@ -17617,28 +17844,28 @@ __metadata: languageName: node linkType: hard -"vite-plugin-generate-file@npm:^0.2.0": - version: 0.2.0 - resolution: "vite-plugin-generate-file@npm:0.2.0" +"vite-plugin-generate-file@npm:^0.1.1": + version: 0.1.1 + resolution: "vite-plugin-generate-file@npm:0.1.1" dependencies: ejs: "npm:^3.1.9" js-yaml: "npm:^4.1.0" mime-types: "npm:^2.1.35" picocolors: "npm:^1.0.0" - checksum: 10/b94c4b41a3042f7b765be7ef7b7d71f76a86ac11f05762d5889e58588f6f7d92e1ef64cafb54e50bd18ab9d28c4b84e33947549d6d495b5d31ddb2c557f24e42 + checksum: 10/63dffc58e14b3b1cd1162bc7c11620be45dd6875dfd84df4c870f4887d483ee35141132718939964602d5270aeb48a40fda4458d6827531083486738f176b098 languageName: node linkType: hard -"vite-plugin-react-rich-svg@npm:^1.1.1": - version: 1.1.1 - resolution: "vite-plugin-react-rich-svg@npm:1.1.1" +"vite-plugin-react-rich-svg@npm:^1.0.0": + version: 1.1.2 + resolution: "vite-plugin-react-rich-svg@npm:1.1.2" dependencies: "@svgr/core": "npm:^8.1.0" "@svgr/plugin-jsx": "npm:^8.1.0" "@svgr/plugin-prettier": "npm:^8.1.0" "@svgr/plugin-svgo": "npm:^8.1.0" vite: "npm:^5.0.11" - checksum: 10/43d7c11134388c5919ef95dd33621621e9f4379fd2a4845d16113a7dcc4c1d001500ccbf495d00ee5c06d9219a8f55de2e6666b905514e9ceee030425d0c5e05 + checksum: 10/f54b25898d7234f222fe3c8ae42bd9f130fbd6a412fdc728f213a5dfa26bafa6cf3177d9f983b5452c768748e1cc6ee530450d7a97be01282b60fcf014701532 languageName: node linkType: hard From 246041fdac5d20f353d930cf8c4684b25208cd39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Tue, 1 Oct 2024 10:38:42 +0200 Subject: [PATCH 06/21] Delete PageOne.tsx --- .../src/ui/pages/PageOne/PageOne.tsx | 134 ------------------ 1 file changed, 134 deletions(-) delete mode 100644 plugins/figma-plugin/src/ui/pages/PageOne/PageOne.tsx diff --git a/plugins/figma-plugin/src/ui/pages/PageOne/PageOne.tsx b/plugins/figma-plugin/src/ui/pages/PageOne/PageOne.tsx deleted file mode 100644 index a7c99ab955..0000000000 --- a/plugins/figma-plugin/src/ui/pages/PageOne/PageOne.tsx +++ /dev/null @@ -1,134 +0,0 @@ -import { - Button, - Heading, - Link, - Paragraph, - Textarea, - ToggleGroup, -} from '@digdir/designsystemet-react'; -import { useState } from 'react'; - -import { Toast } from '@ui/components/Toast/Toast'; - -import type { JsonInput } from '../../../common/types'; - -function PageOne() { - const [jsonText, setJsonText] = useState(''); - const [mode, setMode] = useState('light'); - const [errorText, setErrorText] = useState(''); - const [isLoading, setIsLoading] = useState(false); - - const isJsonValid = (str: string) => { - try { - JSON.parse(str); - } catch (e) { - return false; - } - return true; - }; - - const isJsonCorrect = (str: string) => { - try { - const obj = JSON.parse(str) as JsonInput; - if ( - obj.theme.accent && - obj.theme.neutral && - obj.theme.brand1 && - obj.theme.brand2 && - obj.theme.brand3 - ) { - return true; - } - } catch (e) { - return false; - } - return false; - }; - - const onSubmit = () => { - if (isLoading) { - return; - } - - if (jsonText === '') { - setErrorText('Dette feltet er påkrevd.'); - return; - } - - if (!isJsonValid(jsonText) || !isJsonCorrect(jsonText)) { - setErrorText('Ugyldig JSON, prøv og kopier og lim inn på nytt.'); - setJsonText(''); - return; - } - - setIsLoading(true); - setErrorText(''); - setJsonText(''); - - setTimeout(() => { - parent.postMessage( - { pluginMessage: { type: 'update-variables', text: jsonText, mode } }, - '*', - ); - }, 400); - - setTimeout(() => { - setIsLoading(false); - }, 7900); - }; - return ( -
-
- - Oppdater fargetema - - - - Oppdater{' '} - - Designsystemet - Core UI Kit - {' '} - community filen med ditt eget fargetema. Gå til{' '} - - theme.designsystemet.no - {' '} - og lag temaet ditt, velg light- eller dark mode og lim inn JSON koden - i feltet under. - - - setMode(e)} - > - Light Mode - Dark Mode - {/* Contrast */} - - -
From 1a2d6d66f2a9b4103845adb1b7ffbbd3ce064c70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Wed, 2 Oct 2024 12:33:20 +0200 Subject: [PATCH 09/21] Update Theme.tsx --- plugins/figma/src/ui/pages/Theme/Theme.tsx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/plugins/figma/src/ui/pages/Theme/Theme.tsx b/plugins/figma/src/ui/pages/Theme/Theme.tsx index d55c68489b..dc936177d5 100644 --- a/plugins/figma/src/ui/pages/Theme/Theme.tsx +++ b/plugins/figma/src/ui/pages/Theme/Theme.tsx @@ -188,10 +188,12 @@ function Theme() {

Gå til{' '} - Temabyggeren for - å lage et tema og lim inn koden i feltet under. Det er kun fargene som - blir oppdatert for øyeblikket. Vi jobber med å utvide pluginen med mer - funksjonalitet senere. + + Temabyggeren + {' '} + for å lage et tema og lim inn koden i feltet under. Det er kun fargene + som blir oppdatert for øyeblikket. Vi jobber med å utvide pluginen med + mer funksjonalitet senere.

*/} + {noThemeFound && ( +

+ Fant ingen temaer. Husk at du må åpne pluginen i designsystemet sin + Core Ui kit Figma community fil. +

+ )}
{themes.map((theme, index) => { return ( From aebc5a73675e282c448710613faafa2cc4f2e903 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Thune?= Date: Tue, 8 Oct 2024 08:53:48 +0200 Subject: [PATCH 12/21] Stuff --- plugins/figma/manifest.json | 2 +- plugins/figma/src/ui/pages/Theme/Theme.tsx | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/plugins/figma/manifest.json b/plugins/figma/manifest.json index 98cb13291b..b4ce2f54cf 100644 --- a/plugins/figma/manifest.json +++ b/plugins/figma/manifest.json @@ -1,5 +1,5 @@ { - "name": "Designsystemet Tokens", + "name": "Designsystemet (beta)", "id": "1382044395533039221", "api": "1.0.0", "main": "dist/plugin.js", diff --git a/plugins/figma/src/ui/pages/Theme/Theme.tsx b/plugins/figma/src/ui/pages/Theme/Theme.tsx index 7757d001e9..5bc3f3acce 100644 --- a/plugins/figma/src/ui/pages/Theme/Theme.tsx +++ b/plugins/figma/src/ui/pages/Theme/Theme.tsx @@ -211,7 +211,6 @@ function Theme() {
} /> - - } /> - } /> } /> - - } /> } /> - } /> - } />