From 6828f52392c0b5bb5eadf533ac9a554dd04b5997 Mon Sep 17 00:00:00 2001
From: Thien Do <5953369+thien-do@users.noreply.github.com>
Date: Tue, 23 Jul 2024 22:53:56 +0700
Subject: [PATCH] merge
---
.eslintrc.cjs | 25 +
.eslintrc.json | 31 -
.github/DEVELOP.md | 12 +-
.github/workflows/node.js.yml | 16 -
.gitignore | 27 +-
.prettierignore | 6 -
.prettierrc.json | 4 -
.storybook/main.ts | 21 +
.storybook/preview.css | 34 +
.storybook/preview.tsx | 40 +
.storybook/syntax.css | 104 +
.storybook/theme.ts | 48 +
.storybook/typography.css | 43 +
LICENSE | 21 -
README.md | 7 +-
backup/.storybook/preview.css | 80 +
backup/.storybook/preview.tsx | 73 +
backup/.storybook/syntax.css | 100 +
backup/.storybook/typography.css | 48 +
backup/font/Inter-roman.var.woff2 | Bin 0 -> 225996 bytes
backup/font/local.css | 8 +
backup/font/remote.css | 1 +
backup/scripts/example/generate.ts | 68 +
backup/scripts/example/interface.ts | 16 +
backup/scripts/example/normalize.ts | 22 +
backup/scripts/example/raw.ts | 87 +
backup/scripts/report.js | 11 +
package.json | 72 +-
package.json.md | 13 +
pnpm-lock.yaml | 6423 +++++++++++++
src/vite-env.d.ts | 1 +
tsconfig.json | 25 +-
vite.config.ts | 6 +
yarn.lock | 12839 --------------------------
34 files changed, 7353 insertions(+), 12979 deletions(-)
create mode 100644 .eslintrc.cjs
delete mode 100644 .eslintrc.json
delete mode 100644 .github/workflows/node.js.yml
delete mode 100644 .prettierignore
delete mode 100644 .prettierrc.json
create mode 100644 .storybook/main.ts
create mode 100644 .storybook/preview.css
create mode 100644 .storybook/preview.tsx
create mode 100644 .storybook/syntax.css
create mode 100644 .storybook/theme.ts
create mode 100644 .storybook/typography.css
delete mode 100644 LICENSE
create mode 100644 backup/.storybook/preview.css
create mode 100644 backup/.storybook/preview.tsx
create mode 100644 backup/.storybook/syntax.css
create mode 100644 backup/.storybook/typography.css
create mode 100644 backup/font/Inter-roman.var.woff2
create mode 100644 backup/font/local.css
create mode 100644 backup/font/remote.css
create mode 100644 backup/scripts/example/generate.ts
create mode 100644 backup/scripts/example/interface.ts
create mode 100644 backup/scripts/example/normalize.ts
create mode 100644 backup/scripts/example/raw.ts
create mode 100755 backup/scripts/report.js
create mode 100644 package.json.md
create mode 100644 pnpm-lock.yaml
create mode 100644 src/vite-env.d.ts
create mode 100644 vite.config.ts
delete mode 100644 yarn.lock
diff --git a/.eslintrc.cjs b/.eslintrc.cjs
new file mode 100644
index 00000000..cd699f2d
--- /dev/null
+++ b/.eslintrc.cjs
@@ -0,0 +1,25 @@
+module.exports = {
+ root: true,
+ env: {
+ browser: true,
+ es2020: true
+ },
+ extends: [
+ 'eslint:recommended',
+ 'plugin:@typescript-eslint/recommended',
+ 'plugin:react-hooks/recommended',
+ 'plugin:storybook/recommended'
+ ],
+ ignorePatterns: [
+ 'dist',
+ '.eslintrc.cjs'
+ ],
+ parser: '@typescript-eslint/parser',
+ plugins: ['react-refresh'],
+ rules: {
+ 'react-refresh/only-export-components': [
+ 'warn',
+ { allowConstantExport: true },
+ ],
+ },
+}
diff --git a/.eslintrc.json b/.eslintrc.json
deleted file mode 100644
index 786c160d..00000000
--- a/.eslintrc.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "root": true,
- "parser": "@typescript-eslint/parser",
- "plugins": ["@typescript-eslint", "jest-dom"],
- "ignorePatterns": ["node_modules", "dist", "public", "test/coverage"],
- "extends": [
- "eslint:recommended",
- "plugin:@typescript-eslint/recommended",
- "plugin:react/recommended",
- "plugin:jest-dom/recommended",
- // Must be last: https://github.com/prettier/eslint-config-prettier
- "prettier"
- ],
- "parserOptions": {
- "project": "./tsconfig.json"
- },
- "rules": {
- // https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html#eslint
- "react/jsx-uses-react": "off",
- "react/react-in-jsx-scope": "off",
- // This allows us to shorten some simple children definition
- "react/no-children-prop": "off",
- // We allow inline component definition
- "react/display-name": "off"
- },
- "settings": {
- "react": {
- "version": "17"
- }
- }
-}
diff --git a/.github/DEVELOP.md b/.github/DEVELOP.md
index ca131022..96f984d1 100644
--- a/.github/DEVELOP.md
+++ b/.github/DEVELOP.md
@@ -14,12 +14,12 @@ To understand the principles that drive the design and development of Moai, see
Moai is a [monorepo](https://classic.yarnpkg.com/en/docs/workspaces/) powered by Yarn. There are several projects:
-| Path | Project | Framework |
-| ------- | ----------------- | ----------- |
-| core | [@moai/core] | [Rollup] |
-| gallery | [@moai/gallery] | [Rollup] |
-| docs | [moai.thien.do] | [Storybook] |
-| test | Test suits | [Jest] |
+| Path | Project | Framework |
+| ------- | --------------- | ----------- |
+| core | [@moai/core] | [Rollup] |
+| gallery | [@moai/gallery] | [Rollup] |
+| docs | [moai.thien.do] | [Storybook] |
+| test | Test suits | [Jest] |
The "test" and "docs" projects depend on "core" and "gallery" via symlinks. This means to run tests or start the docs site locally, you will need to build "core" and "gallery" first. Also, the "gallery" depends on the "core" project:
diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml
deleted file mode 100644
index c1d5c9dc..00000000
--- a/.github/workflows/node.js.yml
+++ /dev/null
@@ -1,16 +0,0 @@
-name: Prettier and ESLint
-
-on:
- pull_request:
- branches: [main]
-jobs:
- lint:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-node@v2
- with:
- node-version: 15.x
- cache: "yarn"
- - run: yarn install
- - run: yarn lint
diff --git a/.gitignore b/.gitignore
index 96e4deb4..bc6d3062 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,26 @@
-/node_modules
-.DS_Store
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
+
+*storybook.log
\ No newline at end of file
diff --git a/.prettierignore b/.prettierignore
deleted file mode 100644
index 41f8b3a6..00000000
--- a/.prettierignore
+++ /dev/null
@@ -1,6 +0,0 @@
-node_modules
-dist
-public
-.next
-.vercel
-/test/coverage
diff --git a/.prettierrc.json b/.prettierrc.json
deleted file mode 100644
index 8dc2e726..00000000
--- a/.prettierrc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "tabWidth": 4,
- "useTabs": true
-}
diff --git a/.storybook/main.ts b/.storybook/main.ts
new file mode 100644
index 00000000..499180bb
--- /dev/null
+++ b/.storybook/main.ts
@@ -0,0 +1,21 @@
+import type { StorybookConfig } from "@storybook/react-vite";
+
+const config: StorybookConfig = {
+ stories: [
+ "../src/docs/**/*.mdx",
+ "../src/docs/**/*.stories.@(js|jsx|mjs|ts|tsx)"
+ ],
+ addons: [
+ "@storybook/addon-docs",
+ "storybook-dark-mode"
+ ],
+ framework: {
+ name: "@storybook/react-vite",
+ options: {},
+ },
+ docs: {
+ docsMode: true,
+ }
+};
+
+export default config;
diff --git a/.storybook/preview.css b/.storybook/preview.css
new file mode 100644
index 00000000..e766ab3f
--- /dev/null
+++ b/.storybook/preview.css
@@ -0,0 +1,34 @@
+html {
+ tab-size: 4;
+}
+
+.light {
+ --background-strong: var(--white);
+ --border-strong: var(--gray-2);
+ --text-muted: var(--gray-4);
+}
+
+.dark {
+ --background-strong: var(--gray-7);
+ --border-strong: var(--gray-4);
+ --text-muted: var(--gray-3);
+}
+
+.sbdocs p,
+.sbdocs ul {
+ max-width: 640px;
+}
+
+.sbdocs blockquote:not(.x) {
+ border-color: var(--border-strong);
+}
+
+.sbdocs blockquote p {
+ font-style: italic;
+ color: var(--text-muted);
+}
+
+.sbdocs-wrapper:not(.x) {
+ padding: 24px;
+ background-color: var(--background-strong);
+}
diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx
new file mode 100644
index 00000000..541e598a
--- /dev/null
+++ b/.storybook/preview.tsx
@@ -0,0 +1,40 @@
+import { DocsContainer, Unstyled } from "@storybook/blocks";
+import { Preview } from '@storybook/react';
+import { useDarkMode } from "storybook-dark-mode";
+import { themes } from './theme';
+
+import "../global.css";
+import "./preview.css";
+import "./syntax.css";
+import "./typography.css";
+
+const Container: typeof DocsContainer = (props) => {
+ const dark = useDarkMode();
+ const theme = dark ? themes.dark : themes.light
+ return (
+
+ {props.children}
+
+ );
+};
+
+const preview: Preview = {
+ parameters: {
+ docs: {
+ container: Container,
+ },
+ options: {
+ storySort: {
+ method: "alphabetical",
+ order: [
+ "Intro",
+ ["Quick Start", "Proper Start"],
+ "Patterns",
+ "Components",
+ ],
+ },
+ },
+ },
+};
+
+export default preview;
diff --git a/.storybook/syntax.css b/.storybook/syntax.css
new file mode 100644
index 00000000..ac81f5b4
--- /dev/null
+++ b/.storybook/syntax.css
@@ -0,0 +1,104 @@
+@import url("https://fonts.googleapis.com/css2?family=Source+Code+Pro&display=swap");
+
+.light {
+ --background-weak: var(--gray-0);
+ --border-weak: var(--gray-1);
+ --text-normal: var(--gray-8);
+}
+
+.dark {
+ --background-weak: var(--gray-8);
+ --border-weak: var(--gray-5);
+ --text-normal: var(--gray-1);
+}
+
+/* Standalone source code */
+.docblock-source:not(.x) {
+ background-color: var(--background-weak);
+ border: solid 2px var(--border-weak);
+ box-shadow: none;
+}
+
+.prismjs:not(#x) {
+ font-size: 15px;
+ line-height: 21px;
+ color: var(--text-normal);
+}
+
+/* We should have this alone */
+.prismjs:not(#x) div,
+/* But Storybook set this so we also need to override it */
+.token:not(#x) {
+ font-family: "Source Code Pro", monospace;
+ font-weight: 400;
+}
+
+.light .token:not(#x).selector,
+.light .token:not(#x).tag {
+ color: #22863a;
+}
+.light .token:not(#x).attr-value,
+.light .token:not(#x).string {
+ color: #032f62;
+}
+.light .token:not(#x).rule,
+.light .token:not(#x).keyword {
+ color: #d73a49;
+}
+.light .token:not(#x).variable,
+.light .token:not(#x).class-name,
+.light .token:not(#x).type-definition,
+.light .token:not(#x).maybe-class-name,
+.light .token:not(#x).function {
+ color: #6f42c1;
+}
+.light .token:not(#x).doctype,
+.light .token:not(#x).doctype-tag,
+.light .token:not(#x).attr-name,
+.light .token:not(#x).property,
+.light .token:not(#x).number,
+.light .token:not(#x).constant,
+.light .token:not(#x).operator,
+.light .token:not(#x).property-access,
+.light .token:not(#x).boolean {
+ color: #005cc5;
+}
+.light .token:not(#x).punctuation,
+.light .token:not(#x).comment {
+ color: #6a737d;
+}
+
+.dark .token:not(#x).selector,
+.dark .token:not(#x).tag {
+ color: #7ec699;
+}
+.dark .token:not(#x).attr-value,
+.dark .token:not(#x).string {
+ color: #67cdcc;
+}
+.dark .token:not(#x).rule,
+.dark .token:not(#x).keyword {
+ color: #e2777a;
+}
+.dark .token:not(#x).variable,
+.dark .token:not(#x).class-name,
+.dark .token:not(#x).type-definition,
+.dark .token:not(#x).maybe-class-name,
+.dark .token:not(#x).function {
+ color: #cc99cd;
+}
+.dark .token:not(#x).doctype,
+.dark .token:not(#x).doctype-tag,
+.dark .token:not(#x).attr-name,
+.dark .token:not(#x).property,
+.dark .token:not(#x).number,
+.dark .token:not(#x).constant,
+.dark .token:not(#x).operator,
+.dark .token:not(#x).property-access,
+.dark .token:not(#x).boolean {
+ color: #6196cc;
+}
+.dark .token:not(#x).punctuation,
+.dark .token:not(#x).comment {
+ color: #999;
+}
diff --git a/.storybook/theme.ts b/.storybook/theme.ts
new file mode 100644
index 00000000..79a6912a
--- /dev/null
+++ b/.storybook/theme.ts
@@ -0,0 +1,48 @@
+import { create } from "@storybook/theming";
+
+const common = {
+ // Highlight color
+ colorPrimary: "hsl(199, 89%, 48%)", // highlight-5
+ colorSecondary: "hsl(199, 89%, 48%)", // highlight-5
+ // Typography
+ fontBase: '"Inter var", sans-serif',
+ // Branding
+ brandTitle: "Moai UI kit",
+ brandUrl: "https://moai.thien.do",
+};
+
+const light = create({
+ ...common,
+ base: "light",
+ // UI
+ appBg: "hsl(235, 18%, 98%)", // gray-0
+ appContentBg: "hsl(0, 0%, 100%)", // white
+ appBorderColor: "hsl(216, 12%, 77%)", // gray-2
+ appBorderRadius: 2,
+ // Text colors
+ textColor: "hsl(216, 13%, 15%)", // gray-8
+ textMutedColor: "hsl(220, 09%, 46%)", // gray-4
+ // Toolbar default and active colors
+ barTextColor: "hsl(216, 13%, 15%)", // gray-8
+ barSelectedColor: "hsl(216, 13%, 15%)", // gray-8
+ barBg: "hsl(0, 0%, 100%)", // white
+});
+
+const dark = create({
+ ...common,
+ base: "dark",
+ // UI
+ appBg: "hsl(216, 13%, 15%)", // gray-8
+ appContentBg: "hsl(220, 13%, 18%)", // gray-7
+ appBorderColor: "hsl(220, 09%, 46%)", // gray-4
+ appBorderRadius: 2,
+ // Text colors
+ textColor: "hsl(235, 18%, 98%)", // gray-0
+ textMutedColor: "hsl(218, 11%, 65%)", // gray-3
+ // Toolbar default and active colors
+ barTextColor: "hsl(235, 18%, 98%)", // gray-0
+ barSelectedColor: "hsl(235, 18%, 98%)", // gray-0
+ barBg: "hsl(220, 13%, 18%)", // gray-7
+});
+
+export const themes = { light, dark };
\ No newline at end of file
diff --git a/.storybook/typography.css b/.storybook/typography.css
new file mode 100644
index 00000000..800a674c
--- /dev/null
+++ b/.storybook/typography.css
@@ -0,0 +1,43 @@
+/* Vertical rhythm */
+.sbdocs p:not(#x):not(.gallery p),
+.sbdocs h1:not(#x),
+.sbdocs h2:not(#x):not(.gallery h2),
+.docblock-source:not(#x),
+.sbdocs ul:not(#x),
+.sbdocs ol:not(#x) {
+ margin: 24px 0;
+}
+
+.sbdocs h3:not(#x) {
+ margin: 48px 0 24px;
+}
+
+/* Body text */
+.sbdocs p:not(.x):not(.gallery p),
+.sbdocs li:not(.x) {
+ font-size: 16px;
+ line-height: 28px;
+}
+
+/* 1st heading */
+.sbdocs h1:not(.x) {
+ font-weight: 700;
+ font-size: 30px;
+ line-height: 30px;
+}
+
+/* 2nd heading */
+.sbdocs h2:not(.x):not(.gallery h2) {
+ padding: 0;
+ font-weight: 600;
+ font-size: 24px;
+ line-height: 24px;
+ border: none;
+}
+
+/* 3rd heading */
+.sbdocs h3:not(.x) {
+ font-weight: 600;
+ font-size: 20px;
+ line-height: 20px;
+}
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 3d6075ef..00000000
--- a/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2021 Moai UI Kit
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/README.md b/README.md
index c68903ae..b71310c6 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,8 @@
**Heads up!** This project is no longer in active development. It will be [archived](https://docs.github.com/en/repositories/archiving-a-github-repository/archiving-repositories) soon. Some suggestions:
-- Build your own UI kit with a good foundation like [Radix](https://www.radix-ui.com/) or [Headless UI](https://headlessui.com/). This is what I'm actually doing these days myself.
-- Fork this project. You have my sword, and bow, and axe, and only 22 unresolved bugs.
-- Refactor Moai to utilise Radix (which is what I wanted to do, if I don't need to pay the bills)
-
+- Build your own UI kit with a good foundation like [Radix](https://www.radix-ui.com/) or [Headless UI](https://headlessui.com/). This is what I'm actually doing these days myself.
+- Fork this project. You have my sword, and bow, and axe, and only 22 unresolved bugs.
+- Refactor Moai to utilise Radix (which is what I wanted to do, if I don't need to pay the bills)
diff --git a/backup/.storybook/preview.css b/backup/.storybook/preview.css
new file mode 100644
index 00000000..3275e0a2
--- /dev/null
+++ b/backup/.storybook/preview.css
@@ -0,0 +1,80 @@
+html {
+ tab-size: 4;
+}
+
+.sbdocs-p,
+.sbdocs-ul {
+ max-width: 640px;
+}
+
+code:not(#x),
+.sbdocs-code:not(#x) {
+ color: inherit;
+}
+
+.sbdocs-blockquote:not(.x) {
+ border-color: var(--border-strong);
+}
+
+.sbdocs-blockquote .sbdocs-p {
+ font-style: italic;
+ color: var(--text-muted);
+}
+
+/* Hide the "Stories" heading */
+.sbdocs-h2#stories {
+ display: none;
+}
+
+.sbdocs-wrapper:not(.x) {
+ padding: 24px;
+ background-color: var(--background-strong);
+}
+
+.sbdocs-preview:not(.x) {
+ background-color: var(--background-strong);
+ box-shadow: none;
+ border: solid 2px var(--border-weak);
+}
+
+.sbdocs-code:not(.x) {
+ display: inline;
+}
+
+.docblock-argstable:not(#x) {
+ table-layout: fixed;
+ margin-left: 0;
+ margin-right: 0;
+}
+
+.docblock-argstable-body:not(#x) {
+ box-shadow: none;
+ border: solid 2px var(--border-weak);
+}
+
+/* "name" column */
+.docblock-argstable-head:not(#x) th:nth-of-type(1) {
+ width: 20%;
+}
+
+/* "description" column */
+.docblock-argstable-head:not(#x) th:nth-of-type(2) {
+ width: 60%;
+}
+
+/* "default" column */
+.docblock-argstable-head:not(.x) th:nth-of-type(3),
+.docblock-argstable-body:not(.x) td:nth-of-type(3) {
+ display: none;
+}
+
+/* "controls" column */
+.docblock-argstable-head:not(#x) th:nth-of-type(4) {
+ width: 20%;
+}
+
+/* Category header */
+.docblock-argstable:not(.x) tbody td[colspan="1"],
+.docblock-argstable:not(.x) tbody td[colspan="3"] {
+ background-color: var(--border-weak) !important;
+}
diff --git a/backup/.storybook/preview.tsx b/backup/.storybook/preview.tsx
new file mode 100644
index 00000000..fe856910
--- /dev/null
+++ b/backup/.storybook/preview.tsx
@@ -0,0 +1,73 @@
+// This is kind of a temporary workaround.. it's necessary because @moai/gallery
+// does not use the src of core like the docs, but instead use the dist build
+import "@moai/core/dist/bundle.css";
+
+import {
+ Controls,
+ Description,
+ DocsContainer,
+ Stories,
+ Subtitle,
+ Title,
+} from "@storybook/blocks";
+import type { Preview } from "@storybook/react";
+import React, { ReactElement } from "react";
+import "../../core/font/remote.css";
+import "../../core/src/global/global.css";
+import "./preview.css";
+import "./syntax.css";
+import "./typography.css";
+
+const preview: Preview = {
+ parameters: {
+ controls: {
+ matchers: {
+ color: /(background|color)$/i,
+ date: /Date$/i,
+ },
+ },
+ options: {
+ storySort: {
+ method: "alphabetical",
+ order: [
+ "Intro",
+ ["Quick Start", "Proper Start"],
+ "Patterns",
+ "Components",
+ ],
+ },
+ },
+ docs: {
+ // Defines the container of docs
+ container: ({ children, context, ...props }) => {
+ return (
+
+ {children}
+
+ );
+ },
+ page: () => (
+ <>
+
+
+
+
+
+ >
+ ),
+ },
+ },
+ tags: ["autodocs"],
+ decorators: [
+ // Define the container of stories
+ (Story: () => ReactElement) => {
+ return (
+
+
+
+ );
+ },
+ ],
+};
+
+export default preview;
diff --git a/backup/.storybook/syntax.css b/backup/.storybook/syntax.css
new file mode 100644
index 00000000..3ba7b2b1
--- /dev/null
+++ b/backup/.storybook/syntax.css
@@ -0,0 +1,100 @@
+@import url("https://fonts.googleapis.com/css2?family=Source+Code+Pro&display=swap");
+
+/* Standalone source code */
+.docblock-source:not(.x),
+/* Source code inside a description */
+.sbdocs-pre:not(.x) > div {
+ background-color: var(--background-weak);
+ border: solid 2px var(--border-weak);
+ box-shadow: none;
+}
+
+.prismjs:not(#x) {
+ font-size: 15px;
+ line-height: 21px;
+ color: var(--text-normal);
+}
+
+/* Source code of a story */
+.docs-story + div:last-child {
+ background-color: var(--background-weak);
+ border-top: solid 2px var(--border-weak);
+}
+
+/* We should have this alone */
+.prismjs:not(#x) code,
+/* But Storybook set this so we also need to override it */
+.token:not(#x) {
+ font-family: "Source Code Pro", monospace;
+ font-weight: 400;
+}
+
+.light .token:not(#x).selector,
+.light .token:not(#x).tag {
+ color: #22863a;
+}
+.light .token:not(#x).attr-value,
+.light .token:not(#x).string {
+ color: #032f62;
+}
+.light .token:not(#x).rule,
+.light .token:not(#x).keyword {
+ color: #d73a49;
+}
+.light .token:not(#x).variable,
+.light .token:not(#x).class-name,
+.light .token:not(#x).type-definition,
+.light .token:not(#x).maybe-class-name,
+.light .token:not(#x).function {
+ color: #6f42c1;
+}
+.light .token:not(#x).doctype,
+.light .token:not(#x).doctype-tag,
+.light .token:not(#x).attr-name,
+.light .token:not(#x).property,
+.light .token:not(#x).number,
+.light .token:not(#x).constant,
+.light .token:not(#x).operator,
+.light .token:not(#x).property-access,
+.light .token:not(#x).boolean {
+ color: #005cc5;
+}
+.light .token:not(#x).punctuation,
+.light .token:not(#x).comment {
+ color: #6a737d;
+}
+
+.dark .token:not(#x).selector,
+.dark .token:not(#x).tag {
+ color: #7ec699;
+}
+.dark .token:not(#x).attr-value,
+.dark .token:not(#x).string {
+ color: #67cdcc;
+}
+.dark .token:not(#x).rule,
+.dark .token:not(#x).keyword {
+ color: #e2777a;
+}
+.dark .token:not(#x).variable,
+.dark .token:not(#x).class-name,
+.dark .token:not(#x).type-definition,
+.dark .token:not(#x).maybe-class-name,
+.dark .token:not(#x).function {
+ color: #cc99cd;
+}
+.dark .token:not(#x).doctype,
+.dark .token:not(#x).doctype-tag,
+.dark .token:not(#x).attr-name,
+.dark .token:not(#x).property,
+.dark .token:not(#x).number,
+.dark .token:not(#x).constant,
+.dark .token:not(#x).operator,
+.dark .token:not(#x).property-access,
+.dark .token:not(#x).boolean {
+ color: #6196cc;
+}
+.dark .token:not(#x).punctuation,
+.dark .token:not(#x).comment {
+ color: #999;
+}
diff --git a/backup/.storybook/typography.css b/backup/.storybook/typography.css
new file mode 100644
index 00000000..b876ecbb
--- /dev/null
+++ b/backup/.storybook/typography.css
@@ -0,0 +1,48 @@
+/* Vertical rhythm */
+.sbdocs-p:not(#x),
+.sbdocs-title:not(.x),
+.sbdocs-h1:not(#x),
+.sbdocs-h2:not(#x),
+.docblock-source:not(#x),
+.sbdocs-ul:not(#x),
+.sbdocs-ol:not(#x),
+.sbdocs-preview:not(#x) {
+ margin: 24px 0;
+}
+
+.sbdocs-h3:not(#x) {
+ margin: 48px 0 24px;
+}
+
+/* Body text */
+.sbdocs-code:not(.x),
+.sbdocs-p:not(.x),
+.sbdocs-li:not(.x),
+.docblock-argstable:not(#x) {
+ font-size: 16px;
+ line-height: 28px;
+}
+
+/* 1st heading */
+.sbdocs-title:not(.x),
+.sbdocs-h1:not(.x) {
+ font-weight: 700;
+ font-size: 30px;
+ line-height: 30px;
+}
+
+/* 2nd heading */
+.sbdocs-h2:not(.x) {
+ padding: 0;
+ font-weight: 600;
+ font-size: 24px;
+ line-height: 24px;
+ border: none;
+}
+
+/* 3rd heading */
+.sbdocs-h3:not(.x) {
+ font-weight: 600;
+ font-size: 20px;
+ line-height: 20px;
+}
diff --git a/backup/font/Inter-roman.var.woff2 b/backup/font/Inter-roman.var.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..91e198b4c8ba399a673588c2a29ab2413355e247
GIT binary patch
literal 225996
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