From c263d48092bd35606b789a83120be3f9a5e48833 Mon Sep 17 00:00:00 2001
From: kevintyj
Date: Fri, 1 Dec 2023 20:54:55 +0530
Subject: [PATCH] refactor: ESM refactor with eslint formatting
Introduces:
Eslint (spaces -> tabs)
Commitlint
Strict ESM enforce
Refactor to adhere to linting rules
---
.editorconfig | 19 +
.github/ISSUE_TEMPLATE/bug_report.yaml | 59 +
.github/ISSUE_TEMPLATE/config.yml | 5 +
.github/ISSUE_TEMPLATE/docs_change.yaml | 27 +
.github/ISSUE_TEMPLATE/request_feat.yaml | 60 +
.github/PULL_REQUEST_TEMPLATE.md | 24 +
.github/workflows/ci.yml | 48 +
.github/workflows/firebase-hosting-merge.yml | 33 +-
.../firebase-hosting-pull-request.yml | 31 +-
.github/workflows/prlint.yml | 34 +
.husky/commit-msg | 4 +
.husky/pre-commit | 4 +
LICENSE | 29 +
README.md | 8 +-
base-color.js | 43 +-
commitlint.config.js | 6 +
dist/assets/buttonPlaygroundPage.b28485cc.js | 2 +-
dist/assets/index.15e05be8.js | 42 +-
dist/assets/playgroundPage.65440987.js | 4 +-
eslint.config.js | 40 +
firebase.json | 28 +-
package.json | 87 +-
pnpm-lock.yaml | 4715 +++++++++++++----
postcss.config.js | 12 +-
public/commitlint.config.js | 6 +
src/App.tsx | 101 +-
src/assets/color.tsx | 729 ++-
src/assets/components/button.styled.tsx | 28 +-
src/assets/components/collapsible.styled.tsx | 50 +-
src/assets/components/colorIdentifier.scss | 4 +-
.../components/colorIdentifier.styled.tsx | 42 +-
.../components/documentationMenu.styled.tsx | 83 +-
src/assets/components/select.styled.tsx | 21 +-
src/components/colorListComponent.tsx | 331 --
src/components/colorSelectorComponent.tsx | 352 +-
src/components/colorSwatch.tsx | 97 +-
src/components/colorSwatchHelper.tsx | 116 +-
src/components/colorSwatchLarge.tsx | 122 +-
src/components/dataPlot.tsx | 98 +-
src/components/layouts/footer.tsx | 70 +-
src/components/layouts/navBar.tsx | 209 +-
.../playground/button/playgroundButton.tsx | 57 +-
.../playground/components/colorSwatch.tsx | 33 +-
.../playground/components/defaultButton.tsx | 103 +-
.../playground/components/divider.tsx | 12 +-
.../playground/components/heading.tsx | 55 +-
.../playground/components/helperBadge.tsx | 47 +-
src/components/playground/components/link.tsx | 52 +-
.../playground/components/paragraph.tsx | 50 +-
.../components/playgroundButtons.tsx | 106 +-
.../components/playgroundDocumentation.tsx | 194 +-
.../components/playgroundLanding.tsx | 361 +-
.../playground/components/sandboxCard.tsx | 73 +-
.../playground/pages/buttonPlaygroundPage.tsx | 260 +-
.../pages/documentationSamplePage.tsx | 52 +-
.../playground/pages/introPlaygroundPage.tsx | 130 +-
.../playground/pages/landingSamplePage.tsx | 52 +-
.../playground/pages/testerPage.tsx | 47 +-
.../playground/pages/textPlaygroundPage.tsx | 281 +-
.../playground/playgroundRoutes.tsx | 48 +-
src/components/shared/accessibilityCheck.tsx | 108 +-
src/components/shared/darkModeToggle.tsx | 84 +-
src/components/shared/toast.tsx | 120 +-
src/components/shared/toggleColorScale.tsx | 71 +-
src/functions/apca.ts | 223 +
src/functions/apca.tsx | 224 -
src/functions/colorConfig.tsx | 141 +-
src/functions/contrastCalc.tsx | 44 +-
src/functions/keyHandler.tsx | 65 +-
src/functions/parsley.js | 818 +--
src/index.tsx | 18 +-
src/pages/colorGenerationPage.tsx | 283 +-
src/pages/colorTablePage.tsx | 342 +-
src/pages/comingSoonPage.tsx | 61 +-
src/pages/playgroundPage.tsx | 207 +-
tailwind.config.js | 84 +-
tsconfig.json | 26 +-
vite.config.ts | 32 +-
78 files changed, 7972 insertions(+), 4815 deletions(-)
create mode 100644 .editorconfig
create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yaml
create mode 100644 .github/ISSUE_TEMPLATE/config.yml
create mode 100644 .github/ISSUE_TEMPLATE/docs_change.yaml
create mode 100644 .github/ISSUE_TEMPLATE/request_feat.yaml
create mode 100644 .github/PULL_REQUEST_TEMPLATE.md
create mode 100644 .github/workflows/ci.yml
create mode 100644 .github/workflows/prlint.yml
create mode 100755 .husky/commit-msg
create mode 100755 .husky/pre-commit
create mode 100644 LICENSE
create mode 100644 commitlint.config.js
create mode 100644 eslint.config.js
create mode 100644 public/commitlint.config.js
delete mode 100644 src/components/colorListComponent.tsx
create mode 100644 src/functions/apca.ts
delete mode 100644 src/functions/apca.tsx
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..35fd5ff
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,19 @@
+# Editor configuration, see http://editorconfig.org
+root = true
+
+[*]
+charset = utf-8
+indent_style = tab
+indent_size = 1
+tab_width = 4
+insert_final_newline = true
+trim_trailing_whitespace = true
+quote_type = single
+
+[*.md]
+max_line_length = off
+trim_trailing_whitespace = false
+
+[*.yml]
+indent_style = space
+indent_size = 2
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml
new file mode 100644
index 0000000..48cdb08
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.yaml
@@ -0,0 +1,59 @@
+name: 🐞 Bug Report
+description: File a bug/issue
+title: '[fix] '
+labels: [bug, needs triage]
+body:
+ - type: checkboxes
+ attributes:
+ label: Is there an existing issue for this?
+ description: Please search to see if an issue already exists for the bug you encountered.
+ options:
+ - label: I have searched the existing issues
+ required: true
+ - type: textarea
+ attributes:
+ label: Current Behavior
+ description: A concise description of what you're experiencing.
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Expected Behavior
+ description: A concise description of what you expected to happen.
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Steps To Reproduce
+ description: Steps to reproduce the behavior.
+ placeholder: |
+ 1. In this environment...
+ 1. With this config...
+ 1. Run '...'
+ 1. See error...
+ validations:
+ required: false
+ - type: textarea
+ attributes:
+ label: Environment
+ description: |
+ examples:
+ - **OS**: Ubuntu 20.04
+ - **Node**: 13.14.0
+ - **npm**: 7.6.3
+ value: |
+ - OS:
+ - Node:
+ - npm:
+ render: markdown
+ validations:
+ required: false
+ - type: textarea
+ attributes:
+ label: Anything else?
+ description: |
+ Links? References? Anything that will give us more context about the issue you are encountering!
+
+ Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000..7a8df57
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,5 @@
+blank_issues_enabled: false
+contact_links:
+ - name: 🏠 Alooma Development Homebase
+ url: https://rvx.one/alooma-homebase
+ about: Access our development homebase for additional information about the repository.
diff --git a/.github/ISSUE_TEMPLATE/docs_change.yaml b/.github/ISSUE_TEMPLATE/docs_change.yaml
new file mode 100644
index 0000000..f114dc7
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/docs_change.yaml
@@ -0,0 +1,27 @@
+name: 📖 Documentation Change
+description: Propose changes to the documentation
+title: '[docs] '
+labels: [documentation]
+body:
+ - type: checkboxes
+ attributes:
+ label: Is there an existing issue for this?
+ description: Please search to see if an issue already exists for the bug you encountered.
+ options:
+ - label: I have searched the existing issues
+ required: true
+ - type: textarea
+ attributes:
+ label: Describe the proposed changes
+ description: A concise description of what you're experiencing.
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Anything else?
+ description: |
+ Links? References? Anything that will give us more context about the issue you are encountering!
+
+ Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/request_feat.yaml b/.github/ISSUE_TEMPLATE/request_feat.yaml
new file mode 100644
index 0000000..afe28ad
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/request_feat.yaml
@@ -0,0 +1,60 @@
+name: 🌟 Feature Request
+description: Suggest a feature idea for this project
+title: '[feat] '
+labels: [enhancement]
+body:
+ - type: checkboxes
+ attributes:
+ label: Is there an existing request for this?
+ description: Please search to see if an feature request (issue) already exists for the bug you encountered.
+ options:
+ - label: I have searched the existing feature requests
+ required: true
+ - type: textarea
+ attributes:
+ label: Is the feature request related to a problem?
+ description: A concise description of the issue. E.g I'm always frustrated when [...]
+ validations:
+ required: false
+ - type: textarea
+ attributes:
+ label: Is the feature request related to a existing bug/RFC?
+ description: If so, please put the PR/Issue number below.
+ validations:
+ required: false
+ - type: textarea
+ attributes:
+ label: Describe the solution you'd like
+ description: What does the feature request look like?
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: What is the definition of done?
+ description: What are it's subtasks? How do we know the feature request is fulfilled?
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Any solutions considered?
+ description: |
+ Did you consider alternative solutions or features? Do you have a proposed solution for the feature request?
+ validations:
+ required: false
+ - type: dropdown
+ attributes:
+ label: Are you able to assist to bring the feature to reality?
+ options:
+ - No
+ - Yes, I can
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Anything else?
+ description: |
+ Links? References? Anything that will give us more context about the issue you are encountering!
+
+ Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
+ validations:
+ required: false
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000..f9a2f7a
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,24 @@
+## What is the purpose of this PR?
+
+## ClickUp/Jira/Github project ticket number(s)?
+
+## What did you do?
+
+## How do we test it?
+
+## Checklist before merging
+- [ ] Added tests where necessary
+- [ ] Performed a self-review of my code
+- [ ] Ensure all acceptance criteria are met
+- [ ] Implemented the UI as exactly as the design (applicable only for UI changes)
+- [ ] Added comments for codes where hard-to-understand
+- [ ] Haven't pushed unnecessary files (ex: `.env`, `.map`)
+- [ ] Haven't ignored Typescript warnings in the code (if do so add a comment with the reason)
+
+## Provide screenshot details of the PR
+
+## [optional] Tests passed screenshot
+
+## [optional] Breaking changes after PR
+
+## Anything else?
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..efe0f9c
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,48 @@
+name: 🧪 CI Tests
+on:
+ pull_request:
+ branches:
+ - '**'
+ push:
+ branches:
+ - main
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: 🔖Checkout repository
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ - name: 📦Setup PNPM
+ uses: pnpm/action-setup@v2
+ with:
+ version: 8
+ - name: 🌳Setup Node
+ uses: actions/setup-node@v3
+ with:
+ node-version: 20
+ cache: pnpm
+
+ - name: 🛠️Install dependencies from lockfile
+ run: pnpm install --frozen-lockfile
+
+ - name: 🧾Print versions
+ run: |
+ git --version
+ node --version
+ pnpm --version
+ pnpm commitlint --version
+
+ - name: 📝Validate PR commits with commitlint
+ if: ${{ github.event_name !== 'push' }}
+ run: pnpm commitlint --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose
+
+ - name: 🤞Run CI command
+ run: pnpm run ci
+
+ - name: ☂️Upload coverage reports to Codecov
+ uses: codecov/codecov-action@v3
+ env:
+ CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
diff --git a/.github/workflows/firebase-hosting-merge.yml b/.github/workflows/firebase-hosting-merge.yml
index 8d3426f..88ca883 100644
--- a/.github/workflows/firebase-hosting-merge.yml
+++ b/.github/workflows/firebase-hosting-merge.yml
@@ -2,17 +2,40 @@
# https://github.com/firebase/firebase-tools
name: Deploy to Firebase Hosting on merge
-'on':
+on:
push:
branches:
- - master
+ - main
jobs:
build_and_deploy:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
- - run: npm i && npm run build
- - uses: FirebaseExtended/action-hosting-deploy@v0
+ - name: 🔖Checkout repository
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ - name: 📦Setup PNPM
+ uses: pnpm/action-setup@v2
+ with:
+ version: 8
+ - name: 🌳Setup Node
+ uses: actions/setup-node@v3
+ with:
+ node-version: 20
+ cache: pnpm
+
+ - name: 🛠️Install dependencies from lockfile
+ run: pnpm install --frozen-lockfile
+
+ - name: 🧾Print versions
+ run: |
+ git --version
+ node --version
+ pnpm --version
+ pnpm commitlint --version
+
+ - name: 🚀 Firebase deployment on merge!
+ uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_AMBIENT_RVX }}'
diff --git a/.github/workflows/firebase-hosting-pull-request.yml b/.github/workflows/firebase-hosting-pull-request.yml
index 9b36c1f..8e62cf7 100644
--- a/.github/workflows/firebase-hosting-pull-request.yml
+++ b/.github/workflows/firebase-hosting-pull-request.yml
@@ -2,15 +2,38 @@
# https://github.com/firebase/firebase-tools
name: Deploy to Firebase Hosting on PR
-'on': pull_request
+on: pull_request
jobs:
build_and_preview:
if: '${{ github.event.pull_request.head.repo.full_name == github.repository }}'
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
- - run: npm i && npm run build
- - uses: FirebaseExtended/action-hosting-deploy@v0
+ - name: 🔖Checkout repository
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ - name: 📦Setup PNPM
+ uses: pnpm/action-setup@v2
+ with:
+ version: 8
+ - name: 🌳Setup Node
+ uses: actions/setup-node@v3
+ with:
+ node-version: 20
+ cache: pnpm
+
+ - name: 🛠️Install dependencies from lockfile
+ run: pnpm install --frozen-lockfile
+
+ - name: 🧾Print versions
+ run: |
+ git --version
+ node --version
+ pnpm --version
+ pnpm commitlint --version
+
+ - name: 🚀 Firebase deployment on merge!
+ uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_AMBIENT_RVX }}'
diff --git a/.github/workflows/prlint.yml b/.github/workflows/prlint.yml
new file mode 100644
index 0000000..5784348
--- /dev/null
+++ b/.github/workflows/prlint.yml
@@ -0,0 +1,34 @@
+name: 📝 Lint PR title
+on:
+ pull_request:
+ types: [opened, edited, reopened, synchronize]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: 🔖Checkout repository
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ - name: 📦Setup PNPM
+ uses: pnpm/action-setup@v2
+ with:
+ version: 8
+ - name: 🌳Setup Node
+ uses: actions/setup-node@v3
+ with:
+ node-version: 20
+ cache: pnpm
+ - name: 🛠️Install dependencies for prlint
+ run: pnpm install @commitlint/config-conventional
+
+ - name: 🧾Print versions
+ run: |
+ git --version
+ node --version
+ pnpm --version
+ pnpm commitlint --version
+
+ - name: 📝Validate PR title with commitlint
+ uses: kevintyj/prlint@v1
diff --git a/.husky/commit-msg b/.husky/commit-msg
new file mode 100755
index 0000000..4974c35
--- /dev/null
+++ b/.husky/commit-msg
@@ -0,0 +1,4 @@
+#!/usr/bin/env sh
+. "$(dirname -- "$0")/_/husky.sh"
+
+npx commitlint --edit $1
diff --git a/.husky/pre-commit b/.husky/pre-commit
new file mode 100755
index 0000000..d24fdfc
--- /dev/null
+++ b/.husky/pre-commit
@@ -0,0 +1,4 @@
+#!/usr/bin/env sh
+. "$(dirname -- "$0")/_/husky.sh"
+
+npx lint-staged
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..4742f7f
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,29 @@
+BSD 3-Clause License
+
+Copyright (c) 2023, Kevin Taeyoon Jin
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/README.md b/README.md
index 8e2d07e..8851629 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,10 @@
-![Ambient - generate contrast safe colors for UIUX](https://github.com/kevintyj/ambient/raw/master/public/ambient.png)
+![Ambient - generate contrast safe colors for UIUX](https://github.com/kevintyj/ambient/raw/main/public/ambient.png)
+
+---
+
+
+[![🧪 CI Tests](https://github.com/kevintyj/ambient/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/kevintyj/ambient/actions/workflows/ci.yml)
+[![License](https://img.shields.io/github/license/kevintyj/ambient)](https://github.com/kevintyj/ambient/blob/main/LICENSE)
**[Live Demo](https://ambient-rvx.web.app/)**
diff --git a/base-color.js b/base-color.js
index 6da62e2..5eb4927 100644
--- a/base-color.js
+++ b/base-color.js
@@ -1,33 +1,34 @@
+// eslint-disable-next-line unused-imports/no-unused-vars
const color = {
- OCEAN: "#1893f6",
+ OCEAN: '#1893f6',
- // PRIMARY BLUE
- BLUE:"#2b50e2",
+ // PRIMARY BLUE
+ BLUE: '#2b50e2',
- INDIGO: "#4c0cc7",
+ INDIGO: '#4c0cc7',
- // SECONDARY VIOLET
- VIOLET: "#6d2fc2",
+ // SECONDARY VIOLET
+ VIOLET: '#6d2fc2',
- CRIMSON: "#d73677",
- WINE: "#9d1635",
+ CRIMSON: '#d73677',
+ WINE: '#9d1635',
- // PRIMARY RED
- RED:"#C31F2E",
+ // PRIMARY RED
+ RED: '#C31F2E',
- SUN:"#EA3E33",
+ SUN: '#EA3E33',
- // SECONDARY ORANGE
- ORANGE:"#FB7912",
+ // SECONDARY ORANGE
+ ORANGE: '#FB7912',
- // PRIMARY YELLOW
- YELLOW:"#f8c51a",
+ // PRIMARY YELLOW
+ YELLOW: '#f8c51a',
- SAPLING:"#a2c940",
+ SAPLING: '#a2c940',
- //SECONDARY GREEN
- GREEN:"#0DA750",
+ // SECONDARY GREEN
+ GREEN: '#0DA750',
- AURORA: "#26b0a2",
- CYAN: "#09c8de",
-}
+ AURORA: '#26b0a2',
+ CYAN: '#09c8de',
+};
diff --git a/commitlint.config.js b/commitlint.config.js
new file mode 100644
index 0000000..79d6271
--- /dev/null
+++ b/commitlint.config.js
@@ -0,0 +1,6 @@
+export default {
+ extends: '@commitlint/config-conventional',
+ rules: {
+ 'subject-case': [2, 'always', 'sentence-case'],
+ },
+};
diff --git a/dist/assets/buttonPlaygroundPage.b28485cc.js b/dist/assets/buttonPlaygroundPage.b28485cc.js
index 5619c1d..59ce000 100644
--- a/dist/assets/buttonPlaygroundPage.b28485cc.js
+++ b/dist/assets/buttonPlaygroundPage.b28485cc.js
@@ -6,5 +6,5 @@ import{e as I,a as R,i as e,b as M,f as F,g as j,t as g,c as t,d as q,h as G,j a
hover:shadow hover:border-neutral-300 dark:hover:border-neutral-700
active:border-neutral-300
dark:active:border-neutral-700
- flex flex-col transition-all"> `),Q=r=>{const[a,b]=R(!1),x=()=>{b(!a())};return(()=>{const c=K.cloneNode(!0),d=c.firstChild,o=d.firstChild,s=d.nextSibling,f=s.firstChild;return f.firstChild,d.$$click=x,e(d,()=>r.title,o),e(f,()=>r.children,null),M(n=>{const h=r.title,$=`bi text-lg ${a()?"bi-chevron-down":"bi-chevron-up"}`,m=`h-auto overflow-hidden max-h-0 transition-all duration-[400ms]
+ flex flex-col transition-all"> `),Q=r=>{const[a,b]=R(!1),x=()=>{b(!a())};return(()=>{const c=K.cloneNode(!0),d=c.firstChild,o=d.firstChild,s=d.nextSibling,f=s.firstChild;return f.firstChild,d.$$click=x,e(d,()=>r.title,o),e(f,()=>r.children,null),M(n=>{const h=r.title,$=`bi text-lg ${a()?"bi-chevron-down":"bi-chevron-up"}`,m=`h-auto overflow-hidden max-h-0 transition-all duration-[400ms]
${a()?"max-h-[2000px]":""}`;return h!==n._v$&&F(d,"aria-label",n._v$=h),$!==n._v$2&&j(o,n._v$2=$),m!==n._v$3&&j(s,n._v$3=m),n},{_v$:void 0,_v$2:void 0,_v$3:void 0}),c})()};I(["click"]);const V=g('
'),u=r=>{const a=()=>X(C()),b=()=>Object.keys(C()),x=r.direction?r.direction:-1,c=()=>"NEUTRAL"in C()?[C().NEUTRAL["00"],C().NEUTRAL["09"]]:["red","red"],d=o=>{const s=o[r.baseColorPos];return r.textColorful?L(s,o[o.length-1],o[0]):L(s,c()[0],c()[1])};return(()=>{const o=V.cloneNode(!0);return e(o,t(E,{get border(){return r.border?r.border:"full"},get textColor(){return a()[0][9]},get color(){return q(()=>!!G(),!0)()?a()[0][0]:w[0]},get hoverColor(){return G()?w[1]:w[0]},get borderColor(){return a()[0][2]},get hoverBorderColor(){return a()[0][1]},children:"Default"}),null),e(o,t(O,{get each(){return a()},children:(s,f)=>t(E,{get border(){return r.border?r.border:"full"},get textColor(){return d(s)},get color(){return s[r.baseColorPos]},get hoverColor(){return s[r.baseColorPos+x]},get borderColor(){return s[r.baseColorPos+1]},get hoverBorderColor(){return s[r.baseColorPos+x+1]},get children(){return b()[f()].toLocaleLowerCase()}})}),null),o})()},Y=g('
Secondary Buttons - Increase text contrast on hover Primary Buttons - Increase text contrast on hover Primary Buttons - Colorful text Secondary Buttons (Default) - Colorful text Primary Buttons (Default) - Increase button contrast on hover
'),T=g('
'),Z=g('Components Buttons This area was created for users to see the effect of Color Scales on UIUX components. We have devised components to test your color scales to.
Color Swatch
Active Color Swatch
Secondary Buttons
Primary Buttons
Default Button
Default Secondary Button
Default Primary Button '),te=()=>(()=>{const r=Z.cloneNode(!0),a=r.firstChild,b=a.firstChild,x=b.firstChild,c=x.nextSibling,d=c.nextSibling,o=d.nextSibling,s=o.nextSibling,f=a.nextSibling,n=f.firstChild,h=n.firstChild,$=h.firstChild,m=$.nextSibling,P=h.nextSibling,v=P.firstChild;v.firstChild;const _=v.nextSibling;_.firstChild;const A=_.nextSibling;A.firstChild;const k=A.nextSibling;k.firstChild;const p=k.nextSibling;return p.firstChild,e(s,t(z,{})),e(m,H),e(n,t(J,{}),P),e(P,t(Q,{title:"Possible color combinations for button",get children(){const l=Y.cloneNode(!0),U=l.firstChild,y=U.nextSibling,S=y.nextSibling,B=S.nextSibling,W=B.nextSibling;return e(l,t(i,{APCA:!0,WCAG:!0}),y),e(l,t(u,{baseColorPos:2}),y),e(l,t(i,{APCA:!0,WCAG:!1}),S),e(l,t(u,{baseColorPos:5,border:"top"}),S),e(l,t(i,{APCA:!0,WCAG:!1}),B),e(l,t(u,{baseColorPos:5,border:"top",textColorful:!0}),B),e(l,t(i,{APCA:!0,WCAG:!0}),W),e(l,t(u,{baseColorPos:2,textColorful:!0}),W),e(l,t(i,{APCA:!0,WCAG:!1}),null),e(l,t(u,{baseColorPos:5,border:"top",direction:1}),null),l}}),v),e(v,t(i,{APCA:!0,WCAG:!0}),null),e(v,t(u,{baseColorPos:2,border:"full",textColorful:!0,direction:1}),null),e(_,t(i,{APCA:!0,WCAG:!1}),null),e(_,t(u,{baseColorPos:5,border:"top",direction:1}),null),e(A,t(i,{APCA:!0}),null),e(A,t(D,{get children(){const l=T.cloneNode(!0);return e(l,t(N,{type:"default",children:"Default Button"})),l}}),null),e(k,t(i,{APCA:!0}),null),e(k,t(D,{get children(){const l=T.cloneNode(!0);return e(l,t(N,{type:"secondary",children:"Secondary Button"})),l}}),null),e(p,t(i,{APCA:!0}),null),e(p,t(D,{get children(){const l=T.cloneNode(!0);return e(l,t(N,{type:"primary",children:"Primary Button"})),l}}),null),r})();export{te as default};
diff --git a/dist/assets/index.15e05be8.js b/dist/assets/index.15e05be8.js
index 2c85a63..888ee32 100644
--- a/dist/assets/index.15e05be8.js
+++ b/dist/assets/index.15e05be8.js
@@ -1,4 +1,4 @@
-(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))l(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const c of i.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&l(c)}).observe(document,{childList:!0,subtree:!0});function n(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerpolicy&&(i.referrerPolicy=o.referrerpolicy),o.crossorigin==="use-credentials"?i.credentials="include":o.crossorigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function l(o){if(o.ep)return;o.ep=!0;const i=n(o);fetch(o.href,i)}})();const xe={};function $r(e){xe.context=e}const Vf=(e,t)=>e===t,Ze=Symbol("solid-proxy"),Al=Symbol("solid-track"),Nn={equals:Vf};let fs=gs;const tt=1,Tn=2,us={owned:null,cleanups:null,context:null,owner:null},ml={};var ue=null;let mt=null,fe=null,Ce=null,Qe=null,Ml=0;function zt(e,t){const n=fe,l=ue,o=e.length===0,i=o?us:{owned:null,cleanups:null,context:null,owner:t||l},c=o?e:()=>e(()=>Oe(()=>Rl(i)));ue=i,fe=null;try{return Xe(c,!0)}finally{fe=n,ue=l}}function de(e,t){t=t?Object.assign({},Nn,t):Nn;const n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0},l=o=>(typeof o=="function"&&(o=o(n.value)),hs(n,o));return[bs.bind(n),l]}function zo(e,t,n){const l=zn(e,t,!0,tt);Xt(l)}function U(e,t,n){const l=zn(e,t,!1,tt);Xt(l)}function et(e,t,n){fs=ru;const l=zn(e,t,!1,tt);l.user=!0,Qe?Qe.push(l):Xt(l)}function G(e,t,n){n=n?Object.assign({},Nn,n):Nn;const l=zn(e,t,!0,0);return l.observers=null,l.observerSlots=null,l.comparator=n.equals||void 0,Xt(l),bs.bind(l)}function Zf(e,t,n){let l,o,i;arguments.length===2&&typeof t=="object"||arguments.length===1?(l=!0,o=e,i=t||{}):(l=e,o=t,i=n||{});let c=null,f=ml,h=null,p=!1,y="initialValue"in i,S=typeof l=="function"&&G(l);const T=new Set,[j,D]=(i.storage||de)(i.initialValue),[k,q]=de(void 0),[F,ee]=de(void 0,{equals:!1}),[oe,Q]=de(y?"ready":"unresolved");if(xe.context){h=`${xe.context.id}${xe.context.count++}`;let R;i.ssrLoadFrom==="initial"?f=i.initialValue:xe.load&&(R=xe.load(h))&&(f=R[0])}function se(R,B,H,$e){return c===R&&(c=null,y=!0,(R===f||B===f)&&i.onHydrated&&queueMicrotask(()=>i.onHydrated($e,{value:B})),f=ml,I(B,H)),B}function I(R,B){Xe(()=>{B||D(()=>R),Q(B?"errored":"ready"),q(B);for(const H of T.keys())H.decrement();T.clear()},!1)}function we(){const R=Qf,B=j(),H=k();if(H&&!c)throw H;return fe&&!fe.user&&R&&zo(()=>{F(),c&&(R.resolved||T.has(R)||(R.increment(),T.add(R)))}),B}function te(R=!0){if(R!==!1&&p)return;p=!1;const B=S?S():l;if(B==null||B===!1){se(c,Oe(j));return}const H=f!==ml?f:Oe(()=>o(B,{value:j(),refetching:R}));return typeof H!="object"||!(H&&"then"in H)?(se(c,H,void 0,B),H):(c=H,p=!0,queueMicrotask(()=>p=!1),Xe(()=>{Q(y?"refreshing":"pending"),ee()},!1),H.then($e=>se(H,$e,void 0,B),$e=>se(H,void 0,ps($e),B)))}return Object.defineProperties(we,{state:{get:()=>oe()},error:{get:()=>k()},loading:{get(){const R=oe();return R==="pending"||R==="refreshing"}},latest:{get(){if(!y)return we();const R=k();if(R&&!c)throw R;return j()}}}),S?zo(()=>te(!1)):te(!1),[we,{refetch:te,mutate:D}]}function Xf(e){return Xe(e,!1)}function Oe(e){const t=fe;fe=null;try{return e()}finally{fe=t}}function ds(e,t,n){const l=Array.isArray(e);let o,i=n&&n.defer;return c=>{let f;if(l){f=Array(e.length);for(let p=0;pt(f,o,c));return o=f,h}}function Fl(e){et(()=>Oe(e))}function yt(e){return ue===null||(ue.cleanups===null?ue.cleanups=[e]:ue.cleanups.push(e)),e}function vs(){return fe}function Kf(){return ue}function Yf(e,t){const n=ue;ue=e;try{return Xe(t,!0)}finally{ue=n}}function Jf(e){const t=fe,n=ue;return Promise.resolve().then(()=>{fe=t,ue=n;let l;return Xe(e,!1),fe=ue=null,l?l.done:void 0})}function Dl(e,t){const n=Symbol("context");return{id:n,Provider:nu(n),defaultValue:e}}function jn(e){let t;return(t=_s(ue,e.id))!==void 0?t:e.defaultValue}function Bn(e){const t=G(e),n=G(()=>Sl(t()));return n.toArray=()=>{const l=n();return Array.isArray(l)?l:l!=null?[l]:[]},n}let Qf;function bs(){const e=mt;if(this.sources&&(this.state||e))if(this.state===tt||e)Xt(this);else{const t=Ce;Ce=null,Xe(()=>Pn(this),!1),Ce=t}if(fe){const t=this.observers?this.observers.length:0;fe.sources?(fe.sources.push(this),fe.sourceSlots.push(t)):(fe.sources=[this],fe.sourceSlots=[t]),this.observers?(this.observers.push(fe),this.observerSlots.push(fe.sources.length-1)):(this.observers=[fe],this.observerSlots=[fe.sources.length-1])}return this.value}function hs(e,t,n){let l=e.value;return(!e.comparator||!e.comparator(l,t))&&(e.value=t,e.observers&&e.observers.length&&Xe(()=>{for(let o=0;o1e6)throw Ce=[],new Error},!1)),t}function Xt(e){if(!e.fn)return;Rl(e);const t=ue,n=fe,l=Ml;fe=ue=e,eu(e,e.value,l),fe=n,ue=t}function eu(e,t,n){let l;try{l=e.fn(t)}catch(o){e.pure&&(e.state=tt),$s(o)}(!e.updatedAt||e.updatedAt<=n)&&(e.updatedAt!=null&&"observers"in e?hs(e,l):e.value=l,e.updatedAt=n)}function zn(e,t,n,l=tt,o){const i={fn:e,state:l,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:ue,context:null,pure:n};return ue===null||ue!==us&&(ue.owned?ue.owned.push(i):ue.owned=[i]),i}function Ln(e){const t=mt;if(e.state===0||t)return;if(e.state===Tn||t)return Pn(e);if(e.suspense&&Oe(e.suspense.inFallback))return e.suspense.effects.push(e);const n=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt=0;l--)if(e=n[l],e.state===tt||t)Xt(e);else if(e.state===Tn||t){const o=Ce;Ce=null,Xe(()=>Pn(e,n[0]),!1),Ce=o}}function Xe(e,t){if(Ce)return e();let n=!1;t||(Ce=[]),Qe?n=!0:Qe=[],Ml++;try{const l=e();return tu(n),l}catch(l){Ce||(Qe=null),$s(l)}}function tu(e){if(Ce&&(gs(Ce),Ce=null),e)return;const t=Qe;Qe=null,t.length&&Xe(()=>fs(t),!1)}function gs(e){for(let t=0;to=Oe(()=>(ue.context={[e]:l.value},Bn(()=>l.children))),void 0),o}}const au=Symbol("fallback");function Uo(e){for(let t=0;t1?[]:null;return yt(()=>Uo(i)),()=>{let h=e()||[],p,y;return h[Al],Oe(()=>{let T=h.length,j,D,k,q,F,ee,oe,Q,se;if(T===0)c!==0&&(Uo(i),i=[],l=[],o=[],c=0,f&&(f=[])),n.fallback&&(l=[au],o[0]=zt(I=>(i[0]=I,n.fallback())),c=1);else if(c===0){for(o=new Array(T),y=0;y=ee&&Q>=ee&&l[oe]===h[Q];oe--,Q--)k[Q]=o[oe],q[Q]=i[oe],f&&(F[Q]=f[oe]);for(j=new Map,D=new Array(Q+1),y=Q;y>=ee;y--)se=h[y],p=j.get(se),D[y]=p===void 0?-1:p,j.set(se,y);for(p=ee;p<=oe;p++)se=l[p],y=j.get(se),y!==void 0&&y!==-1?(k[y]=o[p],q[y]=i[p],f&&(F[y]=f[p]),y=D[y],j.set(se,y)):i[p]();for(y=ee;ye(t||{}))}function pn(){return!0}const ys={get(e,t,n){return t===Ze?n:e.get(t)},has(e,t){return e.has(t)},set:pn,deleteProperty:pn,getOwnPropertyDescriptor(e,t){return{configurable:!0,enumerable:!0,get(){return e.get(t)},set:pn,deleteProperty:pn}},ownKeys(e){return e.keys()}};function pl(e){return(e=typeof e=="function"?e():e)?e:{}}function xr(...e){let t=!1;for(let l=0;l=0;o--){const i=pl(e[o])[l];if(i!==void 0)return i}},has(l){for(let o=e.length-1;o>=0;o--)if(l in pl(e[o]))return!0;return!1},keys(){const l=[];for(let o=0;o=0;l--)if(e[l]){const o=Object.getOwnPropertyDescriptors(e[l]);for(const i in o)i in n||Object.defineProperty(n,i,{enumerable:!0,get(){for(let c=e.length-1;c>=0;c--){const f=(e[c]||{})[i];if(f!==void 0)return f}}})}return n}function Il(e,...t){const n=new Set(t.flat()),l=Object.getOwnPropertyDescriptors(e),o=Ze in e;o||t.push(Object.keys(l).filter(c=>!n.has(c)));const i=t.map(c=>{const f={};for(let h=0;h!n.has(c))}},ys)),i}function Un(e){let t,n;const l=o=>{const i=xe.context;if(i){const[f,h]=de();(n||(n=e())).then(p=>{$r(i),h(()=>p.default),$r()}),t=f}else if(!t){const[f]=Zf(()=>(n||(n=e())).then(h=>h.default));t=f}let c;return G(()=>(c=t())&&Oe(()=>{if(!i)return c(o);const f=xe.context;$r(i);const h=c(o);return $r(f),h}))};return l.preload=()=>n||((n=e()).then(o=>t=()=>o.default),n),l}function Pe(e){const t="fallback"in e&&{fallback:()=>e.fallback};return G(lu(()=>e.each,e.children,t||void 0))}function qe(e){let t=!1;const n=e.keyed,l=G(()=>e.when,void 0,{equals:(o,i)=>t?o===i:!o==!i});return G(()=>{const o=l();if(o){const i=e.children,c=typeof i=="function"&&i.length>0;return t=n||c,c?Oe(()=>i(o)):i}return e.fallback},void 0,void 0)}function ou(e){let t=!1,n=!1;const l=(c,f)=>c[0]===f[0]&&(t?c[1]===f[1]:!c[1]==!f[1])&&c[2]===f[2],o=Bn(()=>e.children),i=G(()=>{let c=o();Array.isArray(c)||(c=[c]);for(let f=0;f{const[c,f,h]=i();if(c<0)return e.fallback;const p=h.children,y=typeof p=="function"&&p.length>0;return t=n||y,y?Oe(()=>p(f)):p},void 0,void 0)}function $n(e){return e}const su=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","disabled","formnovalidate","hidden","indeterminate","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","seamless","selected"],iu=new Set(["className","value","readOnly","formNoValidate","isMap","noModule","playsInline",...su]),cu=new Set(["innerHTML","textContent","innerText","children"]),fu=Object.assign(Object.create(null),{className:"class",htmlFor:"for"}),Go=Object.assign(Object.create(null),{class:"className",formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly"}),uu=new Set(["beforeinput","click","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"]),du={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"};function vu(e,t,n){let l=n.length,o=t.length,i=l,c=0,f=0,h=t[o-1].nextSibling,p=null;for(;cy-f){const D=t[c];for(;f{o=i,t===document?e():C(t,e(),t.firstChild?null:void 0,n)},l.owner),()=>{o(),t.textContent=""}}function P(e,t,n){const l=document.createElement("template");l.innerHTML=e;let o=l.content.firstChild;return n&&(o=o.firstChild),o}function rt(e,t=window.document){const n=t[qo]||(t[qo]=new Set);for(let l=0,o=e.length;lo.call(e,n[1],i))}else e.addEventListener(t,n)}function Ut(e,t,n={}){const l=Object.keys(t||{}),o=Object.keys(n);let i,c;for(i=0,c=o.length;io.children=qt(e,t.children,o.children)),U(()=>t.ref&&t.ref(e)),U(()=>gu(e,t,n,!0,o,!0)),o}function C(e,t,n,l){if(n!==void 0&&!l&&(l=[]),typeof t!="function")return qt(e,t,l,n);U(o=>qt(e,t(),o,n),l)}function gu(e,t,n,l,o={},i=!1){t||(t={});for(const c in o)if(!(c in t)){if(c==="children")continue;o[c]=Wo(e,c,null,o[c],n,i)}for(const c in t){if(c==="children"){l||qt(e,t.children);continue}const f=t[c];o[c]=Wo(e,c,f,o[c],n,i)}}function mu(e){return e.toLowerCase().replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}function Ho(e,t,n){const l=t.trim().split(/\s+/);for(let o=0,i=l.length;o-1&&du[t.split(":")[0]];p?hu(e,p,t,n):ge(e,fu[t]||t,n)}return n}function pu(e){const t=`$$${e.type}`;let n=e.composedPath&&e.composedPath()[0]||e.target;for(e.target!==n&&Object.defineProperty(e,"target",{configurable:!0,value:n}),Object.defineProperty(e,"currentTarget",{configurable:!0,get(){return n||document}}),xe.registry&&!xe.done&&(xe.done=!0,document.querySelectorAll("[id^=pl-]").forEach(l=>l.remove()));n;){const l=n[t];if(l&&!n.disabled){const o=n[`${t}Data`];if(o!==void 0?l.call(n,o,e):l.call(n,e),e.cancelBubble)return}n=n._$host||n.parentNode||n.host}}function qt(e,t,n,l,o){for(xe.context&&!n&&(n=[...e.childNodes]);typeof n=="function";)n=n();if(t===n)return n;const i=typeof t,c=l!==void 0;if(e=c&&n[0]&&n[0].parentNode||e,i==="string"||i==="number"){if(xe.context)return n;if(i==="number"&&(t=t.toString()),c){let f=n[0];f&&f.nodeType===3?f.data=t:f=document.createTextNode(t),n=Rt(e,n,l,f)}else n!==""&&typeof n=="string"?n=e.firstChild.data=t:n=e.textContent=t}else if(t==null||i==="boolean"){if(xe.context)return n;n=Rt(e,n,l)}else{if(i==="function")return U(()=>{let f=t();for(;typeof f=="function";)f=f();n=qt(e,f,n,l)}),()=>n;if(Array.isArray(t)){const f=[],h=n&&Array.isArray(n);if(El(f,t,n,o))return U(()=>n=qt(e,f,n,l,!0)),()=>n;if(xe.context){if(!f.length)return n;for(let p=0;p=0;c--){const f=t[c];if(o!==f){const h=f.parentNode===e;!i&&!c?h?e.replaceChild(o,f):e.insertBefore(o,n):h&&f.remove()}else i=!0}}else e.insertBefore(o,n);return[o]}const Gn=!1;function $u(e,t,n){return e.addEventListener(t,n),()=>e.removeEventListener(t,n)}function _u([e,t],n,l){return[n?()=>n(e()):e,l?o=>t(l(o)):t]}function yu(e){try{return document.querySelector(e)}catch{return null}}function xu(e,t){const n=yu(`#${e}`);n?n.scrollIntoView():t&&window.scrollTo(0,0)}function wu(e,t,n,l){let o=!1;const i=f=>typeof f=="string"?{value:f}:f,c=_u(de(i(e()),{equals:(f,h)=>f.value===h.value}),void 0,f=>(!o&&t(f),f));return n&&yt(n((f=e())=>{o=!0,c[1](i(f)),o=!1})),{signal:c,utils:l}}function ku(e){if(e){if(Array.isArray(e))return{signal:e}}else return{signal:de({value:""})};return e}function Cu(){return wu(()=>({value:window.location.pathname+window.location.search+window.location.hash,state:history.state}),({value:e,replace:t,scroll:n,state:l})=>{t?window.history.replaceState(l,"",e):window.history.pushState(l,"",e),xu(window.location.hash.slice(1),n)},e=>$u(window,"popstate",()=>e()),{go:e=>window.history.go(e)})}function Au(){let e=new Set;function t(o){return e.add(o),()=>e.delete(o)}let n=!1;function l(o,i){if(n)return!(n=!1);const c={to:o,options:i,defaultPrevented:!1,preventDefault:()=>c.defaultPrevented=!0};for(const f of e)f.listener({...c,from:f.location,retry:h=>{h&&(n=!0),f.navigate(o,i)}});return!c.defaultPrevented}return{subscribe:t,confirm:l}}const Su=/^(?:[a-z0-9]+:)?\/\//i,Eu=/^\/+|\/+$/g;function pt(e,t=!1){const n=e.replace(Eu,"");return n?t||/^[?#]/.test(n)?n:"/"+n:""}function Sn(e,t,n){if(Su.test(t))return;const l=pt(e),o=n&&pt(n);let i="";return!o||t.startsWith("/")?i=l:o.toLowerCase().indexOf(l.toLowerCase())!==0?i=l+o:i=o,(i||"/")+pt(t,!i)}function Nu(e,t){if(e==null)throw new Error(t);return e}function ws(e,t){return pt(e).replace(/\/*(\*.*)?$/g,"")+pt(t)}function Tu(e){const t={};return e.searchParams.forEach((n,l)=>{t[l]=n}),t}function En(e,t){return decodeURIComponent(t?e.replace(/\+/g," "):e)}function Lu(e,t){const[n,l]=e.split("/*",2),o=n.split("/").filter(Boolean),i=o.length;return c=>{const f=c.split("/").filter(Boolean),h=f.length-i;if(h<0||h>0&&l===void 0&&!t)return null;const p={path:i?"":"/",params:{}};for(let y=0;yo+(i.startsWith(":")?2:3),l.length-(n===void 0?0:1))}function ks(e){const t=new Map,n=Kf();return new Proxy({},{get(l,o){return t.has(o)||Yf(n,()=>t.set(o,G(()=>e()[o]))),t.get(o)()},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}},ownKeys(){return Reflect.ownKeys(e())}})}function Cs(e){let t=/(\/?\:[^\/]+)\?/.exec(e);if(!t)return[e];let n=e.slice(0,t.index),l=e.slice(t.index+t[0].length);const o=[n,n+=t[1]];for(;t=/^(\/\:[^\/]+)\?/.exec(l);)o.push(n+=t[1]),l=l.slice(t[0].length);return Cs(l).reduce((i,c)=>[...i,...o.map(f=>f+c)],[])}const Ou=100,As=Dl(),qn=Dl(),Hn=()=>Nu(jn(As),"Make sure your app is wrapped in a ");let Ar;const jl=()=>Ar||jn(qn)||Hn().base,Mu=e=>{const t=jl();return G(()=>t.resolvePath(e()))},Fu=e=>{const t=Hn();return G(()=>{const n=e();return n!==void 0?t.renderPath(n):n})},Ss=()=>Hn().location;function Du(e,t="",n){const{component:l,data:o,children:i}=e,c=!i||Array.isArray(i)&&!i.length,f={key:e,element:l?()=>_(l,{}):()=>{const{element:h}=e;return h===void 0&&n?_(n,{}):h},preload:e.component?l.preload:e.preload,data:o};return Es(e.path).reduce((h,p)=>{for(const y of Cs(p)){const S=ws(t,y),T=c?S:S.split("/*",1)[0];h.push({...f,originalPath:y,pattern:T,matcher:Lu(T,!c)})}return h},[])}function Ru(e,t=0){return{routes:e,score:Pu(e[e.length-1])*1e4-t,matcher(n){const l=[];for(let o=e.length-1;o>=0;o--){const i=e[o],c=i.matcher(n);if(!c)return null;l.unshift({...c,route:i})}return l}}}function Es(e){return Array.isArray(e)?e:[e]}function Ns(e,t="",n,l=[],o=[]){const i=Es(e);for(let c=0,f=i.length;cf.score-c.score)}function Iu(e,t){for(let n=0,l=e.length;n{const p=e();try{return new URL(p,n)}catch{return console.error(`Invalid path ${p}`),h}},n,{equals:(h,p)=>h.href===p.href}),o=G(()=>En(l().pathname)),i=G(()=>En(l().search,!0)),c=G(()=>En(l().hash)),f=G(()=>"");return{get pathname(){return o()},get search(){return i()},get hash(){return c()},get state(){return t()},get key(){return f()},query:ks(ds(i,()=>Tu(l())))}}function Bu(e,t="",n,l){const{signal:[o,i],utils:c={}}=ku(e),f=c.parsePath||(R=>R),h=c.renderPath||(R=>R),p=c.beforeLeave||Au(),y=Sn("",t),S=void 0;if(y===void 0)throw new Error(`${y} is not a valid base path`);y&&!o().value&&i({value:y,replace:!0,scroll:!1});const[T,j]=de(!1),D=async R=>{j(!0);try{await Jf(R)}finally{j(!1)}},[k,q]=de(o().value),[F,ee]=de(o().state),oe=ju(k,F),Q=[],se={pattern:y,params:{},path:()=>y,outlet:()=>null,resolvePath(R){return Sn(y,R)}};if(n)try{Ar=se,se.data=n({data:void 0,params:{},location:oe,navigate:we(se)})}finally{Ar=void 0}function I(R,B,H){Oe(()=>{if(typeof B=="number"){B&&(c.go?p.confirm(B,H)&&c.go(B):console.warn("Router integration does not support relative routing"));return}const{replace:$e,resolve:Ie,scroll:Ae,state:Ee}={replace:!1,resolve:!0,scroll:!0,...H},Fe=Ie?R.resolvePath(B):Sn("",B);if(Fe===void 0)throw new Error(`Path '${B}' is not a routable path`);if(Q.length>=Ou)throw new Error("Too many redirects");const je=k();if((Fe!==je||Ee!==F())&&!Gn){if(p.confirm(Fe,H)){const De=Q.push({value:je,replace:$e,scroll:Ae,state:F()});D(()=>{q(Fe),ee(Ee)}).then(()=>{Q.length===De&&te({value:Fe,state:Ee})})}}})}function we(R){return R=R||jn(qn)||se,(B,H)=>I(R,B,H)}function te(R){const B=Q[0];B&&((R.value!==B.value||R.state!==B.state)&&i({...R,replace:B.replace,scroll:B.scroll}),Q.length=0)}U(()=>{const{value:R,state:B}=o();Oe(()=>{R!==k()&&D(()=>{q(R),ee(B)})})});{let R=function(B){if(B.defaultPrevented||B.button!==0||B.metaKey||B.altKey||B.ctrlKey||B.shiftKey)return;const H=B.composedPath().find(De=>De instanceof Node&&De.nodeName.toUpperCase()==="A");if(!H||!H.hasAttribute("link"))return;const $e=H.href;if(H.target||!$e&&!H.hasAttribute("state"))return;const Ie=(H.getAttribute("rel")||"").split(/\s+/);if(H.hasAttribute("download")||Ie&&Ie.includes("external"))return;const Ae=new URL($e),Ee=En(Ae.pathname);if(Ae.origin!==window.location.origin||y&&Ee&&!Ee.toLowerCase().startsWith(y.toLowerCase()))return;const Fe=f(Ae.pathname+Ae.search+Ae.hash),je=H.getAttribute("state");B.preventDefault(),I(se,Fe,{resolve:!1,replace:H.hasAttribute("replace"),scroll:!H.hasAttribute("noscroll"),state:je&&JSON.parse(je)})};rt(["click"]),document.addEventListener("click",R),yt(()=>document.removeEventListener("click",R))}return{base:se,out:S,location:oe,isRouting:T,renderPath:h,parsePath:f,navigatorFactory:we,beforeLeave:p}}function zu(e,t,n,l){const{base:o,location:i,navigatorFactory:c}=e,{pattern:f,element:h,preload:p,data:y}=l().route,S=G(()=>l().path),T=ks(()=>l().params);p&&p();const j={parent:t,pattern:f,get child(){return n()},path:S,params:T,data:t.data,outlet:h,resolvePath(D){return Sn(o.path(),D,S())}};if(y)try{Ar=j,j.data=y({data:t.data,params:T,location:i,navigate:c(j)})}finally{Ar=void 0}return j}const Uu=P(" "),Gu=e=>{const{source:t,url:n,base:l,data:o,out:i}=e,c=t||Cu(),f=Bu(c,l,o);return _(As.Provider,{value:f,get children(){return e.children}})},qu=e=>{const t=Hn(),n=jl(),l=Bn(()=>e.children),o=G(()=>Ns(l(),ws(n.pattern,e.base||""),Hu)),i=G(()=>Iu(o(),t.location.pathname));t.out&&t.out.matches.push(i().map(({route:p,path:y,params:S})=>({originalPath:p.originalPath,pattern:p.pattern,path:y,params:S})));const c=[];let f;const h=G(ds(i,(p,y,S)=>{let T=y&&p.length===y.length;const j=[];for(let D=0,k=p.length;D{c[D]=ee,j[D]=zu(t,j[D-1]||n,()=>h()[D+1],()=>i()[D])}))}return c.splice(p.length).forEach(D=>D()),S&&T?S:(f=j[0],j)}));return _(qe,{get when(){return h()&&f},children:p=>_(qn.Provider,{value:p,get children(){return p.outlet()}})})},Ve=e=>{const t=Bn(()=>e.children);return xr(e,{get children(){return t()}})},Hu=()=>{const e=jl();return _(qe,{get when(){return e.child},children:t=>_(qn.Provider,{value:t,get children(){return t.outlet()}})})};function mr(e){e=xr({inactiveClass:"inactive",activeClass:"active"},e);const[,t]=Il(e,["href","state","class","activeClass","inactiveClass","end"]),n=Mu(()=>e.href),l=Fu(n),o=Ss(),i=G(()=>{const c=n();if(c===void 0)return!1;const f=pt(c.split(/[?#]/,1)[0]).toLowerCase(),h=pt(o.pathname).toLowerCase();return e.end?f===h:h.startsWith(f)});return(()=>{const c=Uu.cloneNode(!0);return Me(c,t,!1,!1),U(f=>{const h=l()||e.href,p=JSON.stringify(e.state),y={...e.class&&{[e.class]:!0},[e.inactiveClass]:!i(),[e.activeClass]:i(),...t.classList},S=i()?"page":void 0;return h!==f._v$&&ge(c,"href",f._v$=h),p!==f._v$2&&ge(c,"state",f._v$2=p),f._v$3=Ut(c,y,f._v$3),S!==f._v$4&&ge(c,"aria-current",f._v$4=S),f},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0}),c})()}var Wu=Dl(),Ts="s:id",Ls="s\\:id",On=new Set,wr=new Map;Gn||document.head.querySelectorAll(`style[${Ls}]`).forEach(e=>{On.add(e.getAttribute(Ts))});function Vu(e,t){var n;if(!On.has(e)&&(On.add(e),!Gn)){let l=document.createElement("style");l.setAttribute(Ts,e),l.innerHTML=t,document.head.appendChild(l)}wr.set(e,((n=wr.get(e))!=null?n:0)+1)}function Zu(e){var t;let n=(t=wr.get(e))!=null?t:0;if(n>1)wr.set(e,n-1);else{if(wr.set(e,0),!Gn){let l=document.head.querySelector(`style[${Ls}="${e}"]`);l&&document.head.removeChild(l)}On.delete(e)}}function ut(e,t,n){var l;let o=`${e}-${t}`,i=(l=jn(Wu))!=null?l:{insert:Vu,remove:Zu};i.insert(o,n),yt(()=>i.remove(o))}function Xu(e){let t,n;return yt(()=>{n&&n()}),()=>(t||(t=zt(l=>(n=l,G(e)))),t())}function dt(){let e=[],t=Xu(()=>{let n={};for(let l=0,o=e.length;l{if(n){e.push(n);return}return t()}}const Ps="/assets/ambient_logo_black_new.f89cb4cc.png",Os="/assets/ambient_logo_white_new.dd71c1fb.png",Ku=P(`{for(const i of o)if(i.type==="childList")for(const c of i.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&l(c)}).observe(document,{childList:!0,subtree:!0});function n(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerpolicy&&(i.referrerPolicy=o.referrerpolicy),o.crossorigin==="use-credentials"?i.credentials="include":o.crossorigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function l(o){if(o.ep)return;o.ep=!0;const i=n(o);fetch(o.href,i)}})();const xe={};function $r(e){xe.context=e}const Vf=(e,t)=>e===t,Ze=Symbol("solid-proxy"),Al=Symbol("solid-track"),Nn={equals:Vf};let fs=gs;const tt=1,Tn=2,us={owned:null,cleanups:null,context:null,owner:null},ml={};var ue=null;let mt=null,fe=null,Ce=null,Qe=null,Ml=0;function zt(e,t){const n=fe,l=ue,o=e.length===0,i=o?us:{owned:null,cleanups:null,context:null,owner:t||l},c=o?e:()=>e(()=>Oe(()=>Rl(i)));ue=i,fe=null;try{return Xe(c,!0)}finally{fe=n,ue=l}}function de(e,t){t=t?Object.assign({},Nn,t):Nn;const n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0},l=o=>(typeof o=="function"&&(o=o(n.value)),hs(n,o));return[bs.bind(n),l]}function zo(e,t,n){const l=zn(e,t,!0,tt);Xt(l)}function U(e,t,n){const l=zn(e,t,!1,tt);Xt(l)}function et(e,t,n){fs=ru;const l=zn(e,t,!1,tt);l.user=!0,Qe?Qe.push(l):Xt(l)}function G(e,t,n){n=n?Object.assign({},Nn,n):Nn;const l=zn(e,t,!0,0);return l.observers=null,l.observerSlots=null,l.comparator=n.equals||void 0,Xt(l),bs.bind(l)}function Zf(e,t,n){let l,o,i;arguments.length===2&&typeof t=="object"||arguments.length===1?(l=!0,o=e,i=t||{}):(l=e,o=t,i=n||{});let c=null,f=ml,h=null,p=!1,y="initialValue"in i,S=typeof l=="function"&&G(l);const T=new Set,[j,D]=(i.storage||de)(i.initialValue),[k,q]=de(void 0),[F,ee]=de(void 0,{equals:!1}),[oe,Q]=de(y?"ready":"unresolved");if(xe.context){h=`${xe.context.id}${xe.context.count++}`;let R;i.ssrLoadFrom==="initial"?f=i.initialValue:xe.load&&(R=xe.load(h))&&(f=R[0])}function se(R,B,H,$e){return c===R&&(c=null,y=!0,(R===f||B===f)&&i.onHydrated&&queueMicrotask(()=>i.onHydrated($e,{value:B})),f=ml,I(B,H)),B}function I(R,B){Xe(()=>{B||D(()=>R),Q(B?"errored":"ready"),q(B);for(const H of T.keys())H.decrement();T.clear()},!1)}function we(){const R=Qf,B=j(),H=k();if(H&&!c)throw H;return fe&&!fe.user&&R&&zo(()=>{F(),c&&(R.resolved||T.has(R)||(R.increment(),T.add(R)))}),B}function te(R=!0){if(R!==!1&&p)return;p=!1;const B=S?S():l;if(B==null||B===!1){se(c,Oe(j));return}const H=f!==ml?f:Oe(()=>o(B,{value:j(),refetching:R}));return typeof H!=="object"||!(H&&"then"in H)?(se(c,H,void 0,B),H):(c=H,p=!0,queueMicrotask(()=>p=!1),Xe(()=>{Q(y?"refreshing":"pending"),ee()},!1),H.then($e=>se(H,$e,void 0,B),$e=>se(H,void 0,ps($e),B)))}return Object.defineProperties(we,{state:{get:()=>oe()},error:{get:()=>k()},loading:{get(){const R=oe();return R==="pending"||R==="refreshing"}},latest:{get(){if(!y)return we();const R=k();if(R&&!c)throw R;return j()}}}),S?zo(()=>te(!1)):te(!1),[we,{refetch:te,mutate:D}]}function Xf(e){return Xe(e,!1)}function Oe(e){const t=fe;fe=null;try{return e()}finally{fe=t}}function ds(e,t,n){const l=Array.isArray(e);let o,i=n&&n.defer;return c=>{let f;if(l){f=Array(e.length);for(let p=0;pt(f,o,c));return o=f,h}}function Fl(e){et(()=>Oe(e))}function yt(e){return ue===null||(ue.cleanups===null?ue.cleanups=[e]:ue.cleanups.push(e)),e}function vs(){return fe}function Kf(){return ue}function Yf(e,t){const n=ue;ue=e;try{return Xe(t,!0)}finally{ue=n}}function Jf(e){const t=fe,n=ue;return Promise.resolve().then(()=>{fe=t,ue=n;let l;return Xe(e,!1),fe=ue=null,l?l.done:void 0})}function Dl(e,t){const n=Symbol("context");return{id:n,Provider:nu(n),defaultValue:e}}function jn(e){let t;return(t=_s(ue,e.id))!==void 0?t:e.defaultValue}function Bn(e){const t=G(e),n=G(()=>Sl(t()));return n.toArray=()=>{const l=n();return Array.isArray(l)?l:l!==null?[l]:[]},n}let Qf;function bs(){const e=mt;if(this.sources&&(this.state||e))if(this.state===tt||e)Xt(this);else{const t=Ce;Ce=null,Xe(()=>Pn(this),!1),Ce=t}if(fe){const t=this.observers?this.observers.length:0;fe.sources?(fe.sources.push(this),fe.sourceSlots.push(t)):(fe.sources=[this],fe.sourceSlots=[t]),this.observers?(this.observers.push(fe),this.observerSlots.push(fe.sources.length-1)):(this.observers=[fe],this.observerSlots=[fe.sources.length-1])}return this.value}function hs(e,t,n){let l=e.value;return(!e.comparator||!e.comparator(l,t))&&(e.value=t,e.observers&&e.observers.length&&Xe(()=>{for(let o=0;o1e6)throw Ce=[],new Error},!1)),t}function Xt(e){if(!e.fn)return;Rl(e);const t=ue,n=fe,l=Ml;fe=ue=e,eu(e,e.value,l),fe=n,ue=t}function eu(e,t,n){let l;try{l=e.fn(t)}catch(o){e.pure&&(e.state=tt),$s(o)}(!e.updatedAt||e.updatedAt<=n)&&(e.updatedAt!==null&&"observers"in e?hs(e,l):e.value=l,e.updatedAt=n)}function zn(e,t,n,l=tt,o){const i={fn:e,state:l,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:ue,context:null,pure:n};return ue===null||ue!==us&&(ue.owned?ue.owned.push(i):ue.owned=[i]),i}function Ln(e){const t=mt;if(e.state===0||t)return;if(e.state===Tn||t)return Pn(e);if(e.suspense&&Oe(e.suspense.inFallback))return e.suspense.effects.push(e);const n=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt=0;l--)if(e=n[l],e.state===tt||t)Xt(e);else if(e.state===Tn||t){const o=Ce;Ce=null,Xe(()=>Pn(e,n[0]),!1),Ce=o}}function Xe(e,t){if(Ce)return e();let n=!1;t||(Ce=[]),Qe?n=!0:Qe=[],Ml++;try{const l=e();return tu(n),l}catch(l){Ce||(Qe=null),$s(l)}}function tu(e){if(Ce&&(gs(Ce),Ce=null),e)return;const t=Qe;Qe=null,t.length&&Xe(()=>fs(t),!1)}function gs(e){for(let t=0;to=Oe(()=>(ue.context={[e]:l.value},Bn(()=>l.children))),void 0),o}}const au=Symbol("fallback");function Uo(e){for(let t=0;t1?[]:null;return yt(()=>Uo(i)),()=>{let h=e()||[],p,y;return h[Al],Oe(()=>{let T=h.length,j,D,k,q,F,ee,oe,Q,se;if(T===0)c!==0&&(Uo(i),i=[],l=[],o=[],c=0,f&&(f=[])),n.fallback&&(l=[au],o[0]=zt(I=>(i[0]=I,n.fallback())),c=1);else if(c===0){for(o=new Array(T),y=0;y=ee&&Q>=ee&&l[oe]===h[Q];oe--,Q--)k[Q]=o[oe],q[Q]=i[oe],f&&(F[Q]=f[oe]);for(j=new Map,D=new Array(Q+1),y=Q;y>=ee;y--)se=h[y],p=j.get(se),D[y]=p===void 0?-1:p,j.set(se,y);for(p=ee;p<=oe;p++)se=l[p],y=j.get(se),y!==void 0&&y!==-1?(k[y]=o[p],q[y]=i[p],f&&(F[y]=f[p]),y=D[y],j.set(se,y)):i[p]();for(y=ee;ye(t||{}))}function pn(){return!0}const ys={get(e,t,n){return t===Ze?n:e.get(t)},has(e,t){return e.has(t)},set:pn,deleteProperty:pn,getOwnPropertyDescriptor(e,t){return{configurable:!0,enumerable:!0,get(){return e.get(t)},set:pn,deleteProperty:pn}},ownKeys(e){return e.keys()}};function pl(e){return(e=typeof e=="function"?e():e)?e:{}}function xr(...e){let t=!1;for(let l=0;l=0;o--){const i=pl(e[o])[l];if(i!==void 0)return i}},has(l){for(let o=e.length-1;o>=0;o--)if(l in pl(e[o]))return!0;return!1},keys(){const l=[];for(let o=0;o=0;l--)if(e[l]){const o=Object.getOwnPropertyDescriptors(e[l]);for(const i in o)i in n||Object.defineProperty(n,i,{enumerable:!0,get(){for(let c=e.length-1;c>=0;c--){const f=(e[c]||{})[i];if(f!==void 0)return f}}})}return n}function Il(e,...t){const n=new Set(t.flat()),l=Object.getOwnPropertyDescriptors(e),o=Ze in e;o||t.push(Object.keys(l).filter(c=>!n.has(c)));const i=t.map(c=>{const f={};for(let h=0;h!n.has(c))}},ys)),i}function Un(e){let t,n;const l=o=>{const i=xe.context;if(i){const[f,h]=de();(n||(n=e())).then(p=>{$r(i),h(()=>p.default),$r()}),t=f}else if(!t){const[f]=Zf(()=>(n||(n=e())).then(h=>h.default));t=f}let c;return G(()=>(c=t())&&Oe(()=>{if(!i)return c(o);const f=xe.context;$r(i);const h=c(o);return $r(f),h}))};return l.preload=()=>n||((n=e()).then(o=>t=()=>o.default),n),l}function Pe(e){const t="fallback"in e&&{fallback:()=>e.fallback};return G(lu(()=>e.each,e.children,t||void 0))}function qe(e){let t=!1;const n=e.keyed,l=G(()=>e.when,void 0,{equals:(o,i)=>t?o===i:!o==!i});return G(()=>{const o=l();if(o){const i=e.children,c=typeof i=="function"&&i.length>0;return t=n||c,c?Oe(()=>i(o)):i}return e.fallback},void 0,void 0)}function ou(e){let t=!1,n=!1;const l=(c,f)=>c[0]===f[0]&&(t?c[1]===f[1]:!c[1]==!f[1])&&c[2]===f[2],o=Bn(()=>e.children),i=G(()=>{let c=o();Array.isArray(c)||(c=[c]);for(let f=0;f{const[c,f,h]=i();if(c<0)return e.fallback;const p=h.children,y=typeof p=="function"&&p.length>0;return t=n||y,y?Oe(()=>p(f)):p},void 0,void 0)}function $n(e){return e}const su=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","disabled","formnovalidate","hidden","indeterminate","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","seamless","selected"],iu=new Set(["className","value","readOnly","formNoValidate","isMap","noModule","playsInline",...su]),cu=new Set(["innerHTML","textContent","innerText","children"]),fu=Object.assign(Object.create(null),{className:"class",htmlFor:"for"}),Go=Object.assign(Object.create(null),{class:"className",formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly"}),uu=new Set(["beforeinput","click","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"]),du={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"};function vu(e,t,n){let l=n.length,o=t.length,i=l,c=0,f=0,h=t[o-1].nextSibling,p=null;for(;cy-f){const D=t[c];for(;f{o=i,t===document?e():C(t,e(),t.firstChild?null:void 0,n)},l.owner),()=>{o(),t.textContent=""}}function P(e,t,n){const l=document.createElement("template");l.innerHTML=e;let o=l.content.firstChild;return n&&(o=o.firstChild),o}function rt(e,t=window.document){const n=t[qo]||(t[qo]=new Set);for(let l=0,o=e.length;lo.call(e,n[1],i))}else e.addEventListener(t,n)}function Ut(e,t,n={}){const l=Object.keys(t||{}),o=Object.keys(n);let i,c;for(i=0,c=o.length;io.children=qt(e,t.children,o.children)),U(()=>t.ref&&t.ref(e)),U(()=>gu(e,t,n,!0,o,!0)),o}function C(e,t,n,l){if(n!==void 0&&!l&&(l=[]),typeof t!=="function")return qt(e,t,l,n);U(o=>qt(e,t(),o,n),l)}function gu(e,t,n,l,o={},i=!1){t||(t={});for(const c in o)if(!(c in t)){if(c==="children")continue;o[c]=Wo(e,c,null,o[c],n,i)}for(const c in t){if(c==="children"){l||qt(e,t.children);continue}const f=t[c];o[c]=Wo(e,c,f,o[c],n,i)}}function mu(e){return e.toLowerCase().replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}function Ho(e,t,n){const l=t.trim().split(/\s+/);for(let o=0,i=l.length;o-1&&du[t.split(":")[0]];p?hu(e,p,t,n):ge(e,fu[t]||t,n)}return n}function pu(e){const t=`$$${e.type}`;let n=e.composedPath&&e.composedPath()[0]||e.target;for(e.target!==n&&Object.defineProperty(e,"target",{configurable:!0,value:n}),Object.defineProperty(e,"currentTarget",{configurable:!0,get(){return n||document}}),xe.registry&&!xe.done&&(xe.done=!0,document.querySelectorAll("[id^=pl-]").forEach(l=>l.remove()));n;){const l=n[t];if(l&&!n.disabled){const o=n[`${t}Data`];if(o!==void 0?l.call(n,o,e):l.call(n,e),e.cancelBubble)return}n=n._$host||n.parentNode||n.host}}function qt(e,t,n,l,o){for(xe.context&&!n&&(n=[...e.childNodes]);typeof n=="function";)n=n();if(t===n)return n;const i=typeof t,c=l!==void 0;if(e=c&&n[0]&&n[0].parentNode||e,i==="string"||i==="number"){if(xe.context)return n;if(i==="number"&&(t=t.toString()),c){let f=n[0];f&&f.nodeType===3?f.data=t:f=document.createTextNode(t),n=Rt(e,n,l,f)}else n!==""&&typeof n=="string"?n=e.firstChild.data=t:n=e.textContent=t}else if(t==null||i==="boolean"){if(xe.context)return n;n=Rt(e,n,l)}else{if(i==="function")return U(()=>{let f=t();for(;typeof f=="function";)f=f();n=qt(e,f,n,l)}),()=>n;if(Array.isArray(t)){const f=[],h=n&&Array.isArray(n);if(El(f,t,n,o))return U(()=>n=qt(e,f,n,l,!0)),()=>n;if(xe.context){if(!f.length)return n;for(let p=0;p=0;c--){const f=t[c];if(o!==f){const h=f.parentNode===e;!i&&!c?h?e.replaceChild(o,f):e.insertBefore(o,n):h&&f.remove()}else i=!0}}else e.insertBefore(o,n);return[o]}const Gn=!1;function $u(e,t,n){return e.addEventListener(t,n),()=>e.removeEventListener(t,n)}function _u([e,t],n,l){return[n?()=>n(e()):e,l?o=>t(l(o)):t]}function yu(e){try{return document.querySelector(e)}catch{return null}}function xu(e,t){const n=yu(`#${e}`);n?n.scrollIntoView():t&&window.scrollTo(0,0)}function wu(e,t,n,l){let o=!1;const i=f=>typeof f=="string"?{value:f}:f,c=_u(de(i(e()),{equals:(f,h)=>f.value===h.value}),void 0,f=>(!o&&t(f),f));return n&&yt(n((f=e())=>{o=!0,c[1](i(f)),o=!1})),{signal:c,utils:l}}function ku(e){if(e){if(Array.isArray(e))return{signal:e}}else return{signal:de({value:""})};return e}function Cu(){return wu(()=>({value:window.location.pathname+window.location.search+window.location.hash,state:history.state}),({value:e,replace:t,scroll:n,state:l})=>{t?window.history.replaceState(l,"",e):window.history.pushState(l,"",e),xu(window.location.hash.slice(1),n)},e=>$u(window,"popstate",()=>e()),{go:e=>window.history.go(e)})}function Au(){let e=new Set;function t(o){return e.add(o),()=>e.delete(o)}let n=!1;function l(o,i){if(n)return!(n=!1);const c={to:o,options:i,defaultPrevented:!1,preventDefault:()=>c.defaultPrevented=!0};for(const f of e)f.listener({...c,from:f.location,retry:h=>{h&&(n=!0),f.navigate(o,i)}});return!c.defaultPrevented}return{subscribe:t,confirm:l}}const Su=/^(?:[a-z0-9]+:)?\/\//i,Eu=/^\/+|\/+$/g;function pt(e,t=!1){const n=e.replace(Eu,"");return n?t||/^[?#]/.test(n)?n:"/"+n:""}function Sn(e,t,n){if(Su.test(t))return;const l=pt(e),o=n&&pt(n);let i="";return!o||t.startsWith("/")?i=l:o.toLowerCase().indexOf(l.toLowerCase())!==0?i=l+o:i=o,(i||"/")+pt(t,!i)}function Nu(e,t){if(e==null)throw new Error(t);return e}function ws(e,t){return pt(e).replace(/\/*(\*.*)?$/g,"")+pt(t)}function Tu(e){const t={};return e.searchParams.forEach((n,l)=>{t[l]=n}),t}function En(e,t){return decodeURIComponent(t?e.replace(/\+/g," "):e)}function Lu(e,t){const[n,l]=e.split("/*",2),o=n.split("/").filter(Boolean),i=o.length;return c=>{const f=c.split("/").filter(Boolean),h=f.length-i;if(h<0||h>0&&l===void 0&&!t)return null;const p={path:i?"":"/",params:{}};for(let y=0;yo+(i.startsWith(":")?2:3),l.length-(n===void 0?0:1))}function ks(e){const t=new Map,n=Kf();return new Proxy({},{get(l,o){return t.has(o)||Yf(n,()=>t.set(o,G(()=>e()[o]))),t.get(o)()},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}},ownKeys(){return Reflect.ownKeys(e())}})}function Cs(e){let t=/(\/?\:[^\/]+)\?/.exec(e);if(!t)return[e];let n=e.slice(0,t.index),l=e.slice(t.index+t[0].length);const o=[n,n+=t[1]];for(;t=/^(\/\:[^\/]+)\?/.exec(l);)o.push(n+=t[1]),l=l.slice(t[0].length);return Cs(l).reduce((i,c)=>[...i,...o.map(f=>f+c)],[])}const Ou=100,As=Dl(),qn=Dl(),Hn=()=>Nu(jn(As),"Make sure your app is wrapped in a ");let Ar;const jl=()=>Ar||jn(qn)||Hn().base,Mu=e=>{const t=jl();return G(()=>t.resolvePath(e()))},Fu=e=>{const t=Hn();return G(()=>{const n=e();return n!==void 0?t.renderPath(n):n})},Ss=()=>Hn().location;function Du(e,t="",n){const{component:l,data:o,children:i}=e,c=!i||Array.isArray(i)&&!i.length,f={key:e,element:l?()=>_(l,{}):()=>{const{element:h}=e;return h===void 0&&n?_(n,{}):h},preload:e.component?l.preload:e.preload,data:o};return Es(e.path).reduce((h,p)=>{for(const y of Cs(p)){const S=ws(t,y),T=c?S:S.split("/*",1)[0];h.push({...f,originalPath:y,pattern:T,matcher:Lu(T,!c)})}return h},[])}function Ru(e,t=0){return{routes:e,score:Pu(e[e.length-1])*1e4-t,matcher(n){const l=[];for(let o=e.length-1;o>=0;o--){const i=e[o],c=i.matcher(n);if(!c)return null;l.unshift({...c,route:i})}return l}}}function Es(e){return Array.isArray(e)?e:[e]}function Ns(e,t="",n,l=[],o=[]){const i=Es(e);for(let c=0,f=i.length;cf.score-c.score)}function Iu(e,t){for(let n=0,l=e.length;n{const p=e();try{return new URL(p,n)}catch{return console.error(`Invalid path ${p}`),h}},n,{equals:(h,p)=>h.href===p.href}),o=G(()=>En(l().pathname)),i=G(()=>En(l().search,!0)),c=G(()=>En(l().hash)),f=G(()=>"");return{get pathname(){return o()},get search(){return i()},get hash(){return c()},get state(){return t()},get key(){return f()},query:ks(ds(i,()=>Tu(l())))}}function Bu(e,t="",n,l){const{signal:[o,i],utils:c={}}=ku(e),f=c.parsePath||(R=>R),h=c.renderPath||(R=>R),p=c.beforeLeave||Au(),y=Sn("",t),S=void 0;if(y===void 0)throw new Error(`${y} is not a valid base path`);y&&!o().value&&i({value:y,replace:!0,scroll:!1});const[T,j]=de(!1),D=async R=>{j(!0);try{await Jf(R)}finally{j(!1)}},[k,q]=de(o().value),[F,ee]=de(o().state),oe=ju(k,F),Q=[],se={pattern:y,params:{},path:()=>y,outlet:()=>null,resolvePath(R){return Sn(y,R)}};if(n)try{Ar=se,se.data=n({data:void 0,params:{},location:oe,navigate:we(se)})}finally{Ar=void 0}function I(R,B,H){Oe(()=>{if(typeof B=="number"){B&&(c.go?p.confirm(B,H)&&c.go(B):console.warn("Router integration does not support relative routing"));return}const{replace:$e,resolve:Ie,scroll:Ae,state:Ee}={replace:!1,resolve:!0,scroll:!0,...H},Fe=Ie?R.resolvePath(B):Sn("",B);if(Fe===void 0)throw new Error(`Path '${B}' is not a routable path`);if(Q.length>=Ou)throw new Error("Too many redirects");const je=k();if((Fe!==je||Ee!==F())&&!Gn){if(p.confirm(Fe,H)){const De=Q.push({value:je,replace:$e,scroll:Ae,state:F()});D(()=>{q(Fe),ee(Ee)}).then(()=>{Q.length===De&&te({value:Fe,state:Ee})})}}})}function we(R){return R=R||jn(qn)||se,(B,H)=>I(R,B,H)}function te(R){const B=Q[0];B&&((R.value!==B.value||R.state!==B.state)&&i({...R,replace:B.replace,scroll:B.scroll}),Q.length=0)}U(()=>{const{value:R,state:B}=o();Oe(()=>{R!==k()&&D(()=>{q(R),ee(B)})})});{let R=function(B){if(B.defaultPrevented||B.button!==0||B.metaKey||B.altKey||B.ctrlKey||B.shiftKey)return;const H=B.composedPath().find(De=>De instanceof Node&&De.nodeName.toUpperCase()==="A");if(!H||!H.hasAttribute("link"))return;const $e=H.href;if(H.target||!$e&&!H.hasAttribute("state"))return;const Ie=(H.getAttribute("rel")||"").split(/\s+/);if(H.hasAttribute("download")||Ie&&Ie.includes("external"))return;const Ae=new URL($e),Ee=En(Ae.pathname);if(Ae.origin!==window.location.origin||y&&Ee&&!Ee.toLowerCase().startsWith(y.toLowerCase()))return;const Fe=f(Ae.pathname+Ae.search+Ae.hash),je=H.getAttribute("state");B.preventDefault(),I(se,Fe,{resolve:!1,replace:H.hasAttribute("replace"),scroll:!H.hasAttribute("noscroll"),state:je&&JSON.parse(je)})};rt(["click"]),document.addEventListener("click",R),yt(()=>document.removeEventListener("click",R))}return{base:se,out:S,location:oe,isRouting:T,renderPath:h,parsePath:f,navigatorFactory:we,beforeLeave:p}}function zu(e,t,n,l){const{base:o,location:i,navigatorFactory:c}=e,{pattern:f,element:h,preload:p,data:y}=l().route,S=G(()=>l().path),T=ks(()=>l().params);p&&p();const j={parent:t,pattern:f,get child(){return n()},path:S,params:T,data:t.data,outlet:h,resolvePath(D){return Sn(o.path(),D,S())}};if(y)try{Ar=j,j.data=y({data:t.data,params:T,location:i,navigate:c(j)})}finally{Ar=void 0}return j}const Uu=P(" "),Gu=e=>{const{source:t,url:n,base:l,data:o,out:i}=e,c=t||Cu(),f=Bu(c,l,o);return _(As.Provider,{value:f,get children(){return e.children}})},qu=e=>{const t=Hn(),n=jl(),l=Bn(()=>e.children),o=G(()=>Ns(l(),ws(n.pattern,e.base||""),Hu)),i=G(()=>Iu(o(),t.location.pathname));t.out&&t.out.matches.push(i().map(({route:p,path:y,params:S})=>({originalPath:p.originalPath,pattern:p.pattern,path:y,params:S})));const c=[];let f;const h=G(ds(i,(p,y,S)=>{let T=y&&p.length===y.length;const j=[];for(let D=0,k=p.length;D{c[D]=ee,j[D]=zu(t,j[D-1]||n,()=>h()[D+1],()=>i()[D])}))}return c.splice(p.length).forEach(D=>D()),S&&T?S:(f=j[0],j)}));return _(qe,{get when(){return h()&&f},children:p=>_(qn.Provider,{value:p,get children(){return p.outlet()}})})},Ve=e=>{const t=Bn(()=>e.children);return xr(e,{get children(){return t()}})},Hu=()=>{const e=jl();return _(qe,{get when(){return e.child},children:t=>_(qn.Provider,{value:t,get children(){return t.outlet()}})})};function mr(e){e=xr({inactiveClass:"inactive",activeClass:"active"},e);const[,t]=Il(e,["href","state","class","activeClass","inactiveClass","end"]),n=Mu(()=>e.href),l=Fu(n),o=Ss(),i=G(()=>{const c=n();if(c===void 0)return!1;const f=pt(c.split(/[?#]/,1)[0]).toLowerCase(),h=pt(o.pathname).toLowerCase();return e.end?f===h:h.startsWith(f)});return(()=>{const c=Uu.cloneNode(!0);return Me(c,t,!1,!1),U(f=>{const h=l()||e.href,p=JSON.stringify(e.state),y={...e.class&&{[e.class]:!0},[e.inactiveClass]:!i(),[e.activeClass]:i(),...t.classList},S=i()?"page":void 0;return h!==f._v$&&ge(c,"href",f._v$=h),p!==f._v$2&&ge(c,"state",f._v$2=p),f._v$3=Ut(c,y,f._v$3),S!==f._v$4&&ge(c,"aria-current",f._v$4=S),f},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0}),c})()}var Wu=Dl(),Ts="s:id",Ls="s\\:id",On=new Set,wr=new Map;Gn||document.head.querySelectorAll(`style[${Ls}]`).forEach(e=>{On.add(e.getAttribute(Ts))});function Vu(e,t){var n;if(!On.has(e)&&(On.add(e),!Gn)){let l=document.createElement("style");l.setAttribute(Ts,e),l.innerHTML=t,document.head.appendChild(l)}wr.set(e,((n=wr.get(e))!==null?n:0)+1)}function Zu(e){var t;let n=(t=wr.get(e))!==null?t:0;if(n>1)wr.set(e,n-1);else{if(wr.set(e,0),!Gn){let l=document.head.querySelector(`style[${Ls}="${e}"]`);l&&document.head.removeChild(l)}On.delete(e)}}function ut(e,t,n){var l;let o=`${e}-${t}`,i=(l=jn(Wu))!==null?l:{insert:Vu,remove:Zu};i.insert(o,n),yt(()=>i.remove(o))}function Xu(e){let t,n;return yt(()=>{n&&n()}),()=>(t||(t=zt(l=>(n=l,G(e)))),t())}function dt(){let e=[],t=Xu(()=>{let n={};for(let l=0,o=e.length;l{if(n){e.push(n);return}return t()}}const Ps="/assets/ambient_logo_black_new.f89cb4cc.png",Os="/assets/ambient_logo_white_new.dd71c1fb.png",Ku=P(`=3?Array.prototype.slice.call(r):y(r[0])=="object"&&a?a.split("").filter(function(s){return r[0][s]!==void 0}).map(function(s){return r[0][s]}):r[0]},T=p,j=function(r){if(r.length<2)return null;var a=r.length-1;return T(r[a])=="string"?r[a].toLowerCase():null},D=Math.PI,k={clip_rgb:o,limit:n,type:p,unpack:S,last:j,PI:D,TWOPI:D*2,PITHIRD:D/3,DEG2RAD:D/180,RAD2DEG:180/D},q={format:{},autodetect:[]},F=k.last,ee=k.clip_rgb,oe=k.type,Q=q,se=function(){for(var a=[],s=arguments.length;s--;)a[s]=arguments[s];var u=this;if(oe(a[0])==="object"&&a[0].constructor&&a[0].constructor===this.constructor)return a[0];var v=F(a),b=!1;if(!v){b=!0,Q.sorted||(Q.autodetect=Q.autodetect.sort(function(A,L){return L.p-A.p}),Q.sorted=!0);for(var d=0,g=Q.autodetect;d4?r[4]:1;return b===1?[0,0,0,d]:[s>=1?0:255*(1-s)*(1-b),u>=1?0:255*(1-u)*(1-b),v>=1?0:255*(1-v)*(1-b),d]},Ee=Ae,Fe=te,je=I,De=q,Zn=k.unpack,Xn=k.type,xt=$e;je.prototype.cmyk=function(){return xt(this._rgb)},Fe.cmyk=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(je,[null].concat(r,["cmyk"])))},De.format.cmyk=Ee,De.autodetect.push({p:2,test:function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];if(r=Zn(r,"cmyk"),Xn(r)==="array"&&r.length===4)return"cmyk"}});var Nr=k.unpack,Kn=k.last,wt=function(r){return Math.round(r*100)/100},Tr=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=Nr(r,"hsla"),u=Kn(r)||"lsa";return s[0]=wt(s[0]||0),s[1]=wt(s[1]*100)+"%",s[2]=wt(s[2]*100)+"%",u==="hsla"||s.length>3&&s[3]<1?(s[3]=s.length>3?s[3]:1,u="hsla"):s.length=3,u+"("+s.join(",")+")"},Lr=Tr,Pr=k.unpack,Or=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];r=Pr(r,"rgba");var s=r[0],u=r[1],v=r[2];s/=255,u/=255,v/=255;var b=Math.min(s,u,v),d=Math.max(s,u,v),g=(d+b)/2,m,x;return d===b?(m=0,x=Number.NaN):m=g<.5?(d-b)/(d+b):(d-b)/(2-d-b),s==d?x=(u-v)/(d-b):u==d?x=2+(v-s)/(d-b):v==d&&(x=4+(s-u)/(d-b)),x*=60,x<0&&(x+=360),r.length>3&&r[3]!==void 0?[x,m,g,r[3]]:[x,m,g]},Yt=Or,Mr=k.unpack,Fr=k.last,Dr=Lr,Rr=Yt,Jt=Math.round,Qt=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=Mr(r,"rgba"),u=Fr(r)||"rgb";return u.substr(0,3)=="hsl"?Dr(Rr(s),u):(s[0]=Jt(s[0]),s[1]=Jt(s[1]),s[2]=Jt(s[2]),(u==="rgba"||s.length>3&&s[3]<1)&&(s[3]=s.length>3?s[3]:1,u="rgba"),u+"("+s.slice(0,u==="rgb"?3:4).join(",")+")")},Ir=Qt,jr=k.unpack,vt=Math.round,Yn=function(){for(var r,a=[],s=arguments.length;s--;)a[s]=arguments[s];a=jr(a,"hsl");var u=a[0],v=a[1],b=a[2],d,g,m;if(v===0)d=g=m=b*255;else{var x=[0,0,0],A=[0,0,0],L=b<.5?b*(1+v):b+v-b*v,E=2*b-L,M=u/360;x[0]=M+1/3,x[1]=M,x[2]=M-1/3;for(var O=0;O<3;O++)x[O]<0&&(x[O]+=1),x[O]>1&&(x[O]-=1),6*x[O]<1?A[O]=E+(L-E)*6*x[O]:2*x[O]<1?A[O]=L:3*x[O]<2?A[O]=E+(L-E)*(2/3-x[O])*6:A[O]=E;r=[vt(A[0]*255),vt(A[1]*255),vt(A[2]*255)],d=r[0],g=r[1],m=r[2]}return a.length>3?[d,g,m,a[3]]:[d,g,m,1]},Br=Yn,er=Br,kt=q,tr=/^rgb\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*\)$/,rr=/^rgba\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*,\s*([01]|[01]?\.\d+)\)$/,nr=/^rgb\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,ar=/^rgba\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,zr=/^hsl\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,Ur=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,Ct=Math.round,lr=function(r){r=r.toLowerCase().trim();var a;if(kt.format.named)try{return kt.format.named(r)}catch{}if(a=r.match(tr)){for(var s=a.slice(1,4),u=0;u<3;u++)s[u]=+s[u];return s[3]=1,s}if(a=r.match(rr)){for(var v=a.slice(1,5),b=0;b<4;b++)v[b]=+v[b];return v}if(a=r.match(nr)){for(var d=a.slice(1,4),g=0;g<3;g++)d[g]=Ct(d[g]*2.55);return d[3]=1,d}if(a=r.match(ar)){for(var m=a.slice(1,5),x=0;x<3;x++)m[x]=Ct(m[x]*2.55);return m[3]=+m[3],m}if(a=r.match(zr)){var A=a.slice(1,4);A[1]*=.01,A[2]*=.01;var L=er(A);return L[3]=1,L}if(a=r.match(Ur)){var E=a.slice(1,4);E[1]*=.01,E[2]*=.01;var M=er(E);return M[3]=+a[4],M}};lr.test=function(r){return tr.test(r)||rr.test(r)||nr.test(r)||ar.test(r)||zr.test(r)||Ur.test(r)};var Gr=lr,qr=te,or=I,Hr=q,Jn=k.type,Wr=Ir,sr=Gr;or.prototype.css=function(r){return Wr(this._rgb,r)},qr.css=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(or,[null].concat(r,["css"])))},Hr.format.css=sr,Hr.autodetect.push({p:5,test:function(r){for(var a=[],s=arguments.length-1;s-- >0;)a[s]=arguments[s+1];if(!a.length&&Jn(r)==="string"&&sr.test(r))return"css"}});var ir=I,Vr=te,Zr=q,Qn=k.unpack;Zr.format.gl=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=Qn(r,"rgba");return s[0]*=255,s[1]*=255,s[2]*=255,s},Vr.gl=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(ir,[null].concat(r,["gl"])))},ir.prototype.gl=function(){var r=this._rgb;return[r[0]/255,r[1]/255,r[2]/255,r[3]]};var ea=k.unpack,cr=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=ea(r,"rgb"),u=s[0],v=s[1],b=s[2],d=Math.min(u,v,b),g=Math.max(u,v,b),m=g-d,x=m*100/255,A=d/(255-m)*100,L;return m===0?L=Number.NaN:(u===g&&(L=(v-b)/m),v===g&&(L=2+(b-u)/m),b===g&&(L=4+(u-v)/m),L*=60,L<0&&(L+=360)),[L,x,A]},At=cr,Xr=k.unpack,Kr=Math.floor,ta=function(){for(var r,a,s,u,v,b,d=[],g=arguments.length;g--;)d[g]=arguments[g];d=Xr(d,"hcg");var m=d[0],x=d[1],A=d[2],L,E,M;A=A*255;var O=x*255;if(x===0)L=E=M=A;else{m===360&&(m=0),m>360&&(m-=360),m<0&&(m+=360),m/=60;var W=Kr(m),X=m-W,Y=A*(1-x),re=Y+O*(1-X),_e=Y+O*X,pe=Y+O;switch(W){case 0:r=[pe,_e,Y],L=r[0],E=r[1],M=r[2];break;case 1:a=[re,pe,Y],L=a[0],E=a[1],M=a[2];break;case 2:s=[Y,pe,_e],L=s[0],E=s[1],M=s[2];break;case 3:u=[Y,re,pe],L=u[0],E=u[1],M=u[2];break;case 4:v=[_e,Y,pe],L=v[0],E=v[1],M=v[2];break;case 5:b=[pe,Y,re],L=b[0],E=b[1],M=b[2];break}}return[L,E,M,d.length>3?d[3]:1]},ra=ta,na=k.unpack,aa=k.type,$=te,St=I,Yr=q,la=At;St.prototype.hcg=function(){return la(this._rgb)},$.hcg=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(St,[null].concat(r,["hcg"])))},Yr.format.hcg=ra,Yr.autodetect.push({p:1,test:function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];if(r=na(r,"hcg"),aa(r)==="array"&&r.length===3)return"hcg"}});var oa=k.unpack,sa=k.last,Et=Math.round,ia=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=oa(r,"rgba"),u=s[0],v=s[1],b=s[2],d=s[3],g=sa(r)||"auto";d===void 0&&(d=1),g==="auto"&&(g=d<1?"rgba":"rgb"),u=Et(u),v=Et(v),b=Et(b);var m=u<<16|v<<8|b,x="000000"+m.toString(16);x=x.substr(x.length-6);var A="0"+Et(d*255).toString(16);switch(A=A.substr(A.length-2),g.toLowerCase()){case"rgba":return"#"+x+A;case"argb":return"#"+A+x;default:return"#"+x}},Jr=ia,ca=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,fa=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,ua=function(r){if(r.match(ca)){(r.length===4||r.length===7)&&(r=r.substr(1)),r.length===3&&(r=r.split(""),r=r[0]+r[0]+r[1]+r[1]+r[2]+r[2]);var a=parseInt(r,16),s=a>>16,u=a>>8&255,v=a&255;return[s,u,v,1]}if(r.match(fa)){(r.length===5||r.length===9)&&(r=r.substr(1)),r.length===4&&(r=r.split(""),r=r[0]+r[0]+r[1]+r[1]+r[2]+r[2]+r[3]+r[3]);var b=parseInt(r,16),d=b>>24&255,g=b>>16&255,m=b>>8&255,x=Math.round((b&255)/255*100)/100;return[d,g,m,x]}throw new Error("unknown hex color: "+r)},Qr=ua,da=te,en=I,va=k.type,tn=q,ba=Jr;en.prototype.hex=function(r){return ba(this._rgb,r)},da.hex=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(en,[null].concat(r,["hex"])))},tn.format.hex=Qr,tn.autodetect.push({p:4,test:function(r){for(var a=[],s=arguments.length-1;s-- >0;)a[s]=arguments[s+1];if(!a.length&&va(r)==="string"&&[3,4,5,6,7,8,9].indexOf(r.length)>=0)return"hex"}});var ha=k.unpack,rn=k.TWOPI,ga=Math.min,ma=Math.sqrt,pa=Math.acos,$a=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=ha(r,"rgb"),u=s[0],v=s[1],b=s[2];u/=255,v/=255,b/=255;var d,g=ga(u,v,b),m=(u+v+b)/3,x=m>0?1-g/m:0;return x===0?d=NaN:(d=(u-v+(u-b))/2,d/=ma((u-v)*(u-v)+(u-b)*(v-b)),d=pa(d),b>v&&(d=rn-d),d/=rn),[d*360,x,m]},_a=$a,ya=k.unpack,fr=k.limit,nt=k.TWOPI,ur=k.PITHIRD,at=Math.cos,xa=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];r=ya(r,"hsi");var s=r[0],u=r[1],v=r[2],b,d,g;return isNaN(s)&&(s=0),isNaN(u)&&(u=0),s>360&&(s-=360),s<0&&(s+=360),s/=360,s<1/3?(g=(1-u)/3,b=(1+u*at(nt*s)/at(ur-nt*s))/3,d=1-(g+b)):s<2/3?(s-=1/3,b=(1-u)/3,d=(1+u*at(nt*s)/at(ur-nt*s))/3,g=1-(b+d)):(s-=2/3,d=(1-u)/3,g=(1+u*at(nt*s)/at(ur-nt*s))/3,b=1-(d+g)),b=fr(v*b*3),d=fr(v*d*3),g=fr(v*g*3),[b*255,d*255,g*255,r.length>3?r[3]:1]},wa=xa,ka=k.unpack,Ca=k.type,Aa=te,nn=I,an=q,Sa=_a;nn.prototype.hsi=function(){return Sa(this._rgb)},Aa.hsi=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(nn,[null].concat(r,["hsi"])))},an.format.hsi=wa,an.autodetect.push({p:2,test:function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];if(r=ka(r,"hsi"),Ca(r)==="array"&&r.length===3)return"hsi"}});var Ea=k.unpack,Na=k.type,Ta=te,ln=I,on=q,La=Yt;ln.prototype.hsl=function(){return La(this._rgb)},Ta.hsl=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(ln,[null].concat(r,["hsl"])))},on.format.hsl=Br,on.autodetect.push({p:2,test:function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];if(r=Ea(r,"hsl"),Na(r)==="array"&&r.length===3)return"hsl"}});var Pa=k.unpack,Oa=Math.min,Ma=Math.max,Fa=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];r=Pa(r,"rgb");var s=r[0],u=r[1],v=r[2],b=Oa(s,u,v),d=Ma(s,u,v),g=d-b,m,x,A;return A=d/255,d===0?(m=Number.NaN,x=0):(x=g/d,s===d&&(m=(u-v)/g),u===d&&(m=2+(v-s)/g),v===d&&(m=4+(s-u)/g),m*=60,m<0&&(m+=360)),[m,x,A]},Da=Fa,Ra=k.unpack,Ia=Math.floor,ja=function(){for(var r,a,s,u,v,b,d=[],g=arguments.length;g--;)d[g]=arguments[g];d=Ra(d,"hsv");var m=d[0],x=d[1],A=d[2],L,E,M;if(A*=255,x===0)L=E=M=A;else{m===360&&(m=0),m>360&&(m-=360),m<0&&(m+=360),m/=60;var O=Ia(m),W=m-O,X=A*(1-x),Y=A*(1-x*W),re=A*(1-x*(1-W));switch(O){case 0:r=[A,re,X],L=r[0],E=r[1],M=r[2];break;case 1:a=[Y,A,X],L=a[0],E=a[1],M=a[2];break;case 2:s=[X,A,re],L=s[0],E=s[1],M=s[2];break;case 3:u=[X,Y,A],L=u[0],E=u[1],M=u[2];break;case 4:v=[re,X,A],L=v[0],E=v[1],M=v[2];break;case 5:b=[A,X,Y],L=b[0],E=b[1],M=b[2];break}}return[L,E,M,d.length>3?d[3]:1]},Ba=ja,za=k.unpack,Ua=k.type,Ga=te,sn=I,cn=q,qa=Da;sn.prototype.hsv=function(){return qa(this._rgb)},Ga.hsv=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(sn,[null].concat(r,["hsv"])))},cn.format.hsv=Ba,cn.autodetect.push({p:2,test:function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];if(r=za(r,"hsv"),Ua(r)==="array"&&r.length===3)return"hsv"}});var Nt={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},lt=Nt,Ha=k.unpack,fn=Math.pow,Wa=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=Ha(r,"rgb"),u=s[0],v=s[1],b=s[2],d=Va(u,v,b),g=d[0],m=d[1],x=d[2],A=116*m-16;return[A<0?0:A,500*(g-m),200*(m-x)]},dr=function(r){return(r/=255)<=.04045?r/12.92:fn((r+.055)/1.055,2.4)},vr=function(r){return r>lt.t3?fn(r,1/3):r/lt.t2+lt.t0},Va=function(r,a,s){r=dr(r),a=dr(a),s=dr(s);var u=vr((.4124564*r+.3575761*a+.1804375*s)/lt.Xn),v=vr((.2126729*r+.7151522*a+.072175*s)/lt.Yn),b=vr((.0193339*r+.119192*a+.9503041*s)/lt.Zn);return[u,v,b]},Ul=Wa,Tt=Nt,Js=k.unpack,Qs=Math.pow,ei=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];r=Js(r,"lab");var s=r[0],u=r[1],v=r[2],b,d,g,m,x,A;return d=(s+16)/116,b=isNaN(u)?d:d+u/500,g=isNaN(v)?d:d-v/200,d=Tt.Yn*Xa(d),b=Tt.Xn*Xa(b),g=Tt.Zn*Xa(g),m=Za(3.2404542*b-1.5371385*d-.4985314*g),x=Za(-.969266*b+1.8760108*d+.041556*g),A=Za(.0556434*b-.2040259*d+1.0572252*g),[m,x,A,r.length>3?r[3]:1]},Za=function(r){return 255*(r<=.00304?12.92*r:1.055*Qs(r,1/2.4)-.055)},Xa=function(r){return r>Tt.t1?r*r*r:Tt.t2*(r-Tt.t0)},Gl=ei,ti=k.unpack,ri=k.type,ni=te,ql=I,Hl=q,ai=Ul;ql.prototype.lab=function(){return ai(this._rgb)},ni.lab=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(ql,[null].concat(r,["lab"])))},Hl.format.lab=Gl,Hl.autodetect.push({p:2,test:function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];if(r=ti(r,"lab"),ri(r)==="array"&&r.length===3)return"lab"}});var li=k.unpack,oi=k.RAD2DEG,si=Math.sqrt,ii=Math.atan2,ci=Math.round,fi=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=li(r,"lab"),u=s[0],v=s[1],b=s[2],d=si(v*v+b*b),g=(ii(b,v)*oi+360)%360;return ci(d*1e4)===0&&(g=Number.NaN),[u,d,g]},Wl=fi,ui=k.unpack,di=Ul,vi=Wl,bi=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=ui(r,"rgb"),u=s[0],v=s[1],b=s[2],d=di(u,v,b),g=d[0],m=d[1],x=d[2];return vi(g,m,x)},hi=bi,gi=k.unpack,mi=k.DEG2RAD,pi=Math.sin,$i=Math.cos,_i=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=gi(r,"lch"),u=s[0],v=s[1],b=s[2];return isNaN(b)&&(b=0),b=b*mi,[u,$i(b)*v,pi(b)*v]},Vl=_i,yi=k.unpack,xi=Vl,wi=Gl,ki=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];r=yi(r,"lch");var s=r[0],u=r[1],v=r[2],b=xi(s,u,v),d=b[0],g=b[1],m=b[2],x=wi(d,g,m),A=x[0],L=x[1],E=x[2];return[A,L,E,r.length>3?r[3]:1]},Zl=ki,Ci=k.unpack,Ai=Zl,Si=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=Ci(r,"hcl").reverse();return Ai.apply(void 0,s)},Ei=Si,Ni=k.unpack,Ti=k.type,Xl=te,un=I,Ka=q,Kl=hi;un.prototype.lch=function(){return Kl(this._rgb)},un.prototype.hcl=function(){return Kl(this._rgb).reverse()},Xl.lch=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(un,[null].concat(r,["lch"])))},Xl.hcl=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(un,[null].concat(r,["hcl"])))},Ka.format.lch=Zl,Ka.format.hcl=Ei,["lch","hcl"].forEach(function(r){return Ka.autodetect.push({p:2,test:function(){for(var a=[],s=arguments.length;s--;)a[s]=arguments[s];if(a=Ni(a,r),Ti(a)==="array"&&a.length===3)return r}})});var Li={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},Yl=Li,Pi=I,Jl=q,Oi=k.type,br=Yl,Mi=Qr,Fi=Jr;Pi.prototype.name=function(){for(var r=Fi(this._rgb,"rgb"),a=0,s=Object.keys(br);a0;)a[s]=arguments[s+1];if(!a.length&&Oi(r)==="string"&&br[r.toLowerCase()])return"named"}});var Di=k.unpack,Ri=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=Di(r,"rgb"),u=s[0],v=s[1],b=s[2];return(u<<16)+(v<<8)+b},Ii=Ri,ji=k.type,Bi=function(r){if(ji(r)=="number"&&r>=0&&r<=16777215){var a=r>>16,s=r>>8&255,u=r&255;return[a,s,u,1]}throw new Error("unknown num color: "+r)},zi=Bi,Ui=te,Ql=I,eo=q,Gi=k.type,qi=Ii;Ql.prototype.num=function(){return qi(this._rgb)},Ui.num=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(Ql,[null].concat(r,["num"])))},eo.format.num=zi,eo.autodetect.push({p:5,test:function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];if(r.length===1&&Gi(r[0])==="number"&&r[0]>=0&&r[0]<=16777215)return"num"}});var Hi=te,Ya=I,to=q,ro=k.unpack,no=k.type,ao=Math.round;Ya.prototype.rgb=function(r){return r===void 0&&(r=!0),r===!1?this._rgb.slice(0,3):this._rgb.slice(0,3).map(ao)},Ya.prototype.rgba=function(r){return r===void 0&&(r=!0),this._rgb.slice(0,4).map(function(a,s){return s<3?r===!1?a:ao(a):a})},Hi.rgb=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(Ya,[null].concat(r,["rgb"])))},to.format.rgb=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=ro(r,"rgba");return s[3]===void 0&&(s[3]=1),s},to.autodetect.push({p:3,test:function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];if(r=ro(r,"rgba"),no(r)==="array"&&(r.length===3||r.length===4&&no(r[3])=="number"&&r[3]>=0&&r[3]<=1))return"rgb"}});var dn=Math.log,Wi=function(r){var a=r/100,s,u,v;return a<66?(s=255,u=a<6?0:-155.25485562709179-.44596950469579133*(u=a-2)+104.49216199393888*dn(u),v=a<20?0:-254.76935184120902+.8274096064007395*(v=a-10)+115.67994401066147*dn(v)):(s=351.97690566805693+.114206453784165*(s=a-55)-40.25366309332127*dn(s),u=325.4494125711974+.07943456536662342*(u=a-50)-28.0852963507957*dn(u),v=255),[s,u,v,1]},lo=Wi,Vi=lo,Zi=k.unpack,Xi=Math.round,Ki=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];for(var s=Zi(r,"rgb"),u=s[0],v=s[2],b=1e3,d=4e4,g=.4,m;d-b>g;){m=(d+b)*.5;var x=Vi(m);x[2]/x[0]>=v/u?d=m:b=m}return Xi(m)},Yi=Ki,Ja=te,vn=I,Qa=q,Ji=Yi;vn.prototype.temp=vn.prototype.kelvin=vn.prototype.temperature=function(){return Ji(this._rgb)},Ja.temp=Ja.kelvin=Ja.temperature=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(vn,[null].concat(r,["temp"])))},Qa.format.temp=Qa.format.kelvin=Qa.format.temperature=lo;var Qi=k.unpack,el=Math.cbrt,ec=Math.pow,tc=Math.sign,rc=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=Qi(r,"rgb"),u=s[0],v=s[1],b=s[2],d=[tl(u/255),tl(v/255),tl(b/255)],g=d[0],m=d[1],x=d[2],A=el(.4122214708*g+.5363325363*m+.0514459929*x),L=el(.2119034982*g+.6806995451*m+.1073969566*x),E=el(.0883024619*g+.2817188376*m+.6299787005*x);return[.2104542553*A+.793617785*L-.0040720468*E,1.9779984951*A-2.428592205*L+.4505937099*E,.0259040371*A+.7827717662*L-.808675766*E]},oo=rc;function tl(r){var a=Math.abs(r);return a<.04045?r/12.92:(tc(r)||1)*ec((a+.055)/1.055,2.4)}var nc=k.unpack,bn=Math.pow,ac=Math.sign,lc=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];r=nc(r,"lab");var s=r[0],u=r[1],v=r[2],b=bn(s+.3963377774*u+.2158037573*v,3),d=bn(s-.1055613458*u-.0638541728*v,3),g=bn(s-.0894841775*u-1.291485548*v,3);return[255*rl(4.0767416621*b-3.3077115913*d+.2309699292*g),255*rl(-1.2684380046*b+2.6097574011*d-.3413193965*g),255*rl(-.0041960863*b-.7034186147*d+1.707614701*g),r.length>3?r[3]:1]},so=lc;function rl(r){var a=Math.abs(r);return a>.0031308?(ac(r)||1)*(1.055*bn(a,1/2.4)-.055):r*12.92}var oc=k.unpack,sc=k.type,ic=te,io=I,co=q,cc=oo;io.prototype.oklab=function(){return cc(this._rgb)},ic.oklab=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(io,[null].concat(r,["oklab"])))},co.format.oklab=so,co.autodetect.push({p:3,test:function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];if(r=oc(r,"oklab"),sc(r)==="array"&&r.length===3)return"oklab"}});var fc=k.unpack,uc=oo,dc=Wl,vc=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=fc(r,"rgb"),u=s[0],v=s[1],b=s[2],d=uc(u,v,b),g=d[0],m=d[1],x=d[2];return dc(g,m,x)},bc=vc,hc=k.unpack,gc=Vl,mc=so,pc=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];r=hc(r,"lch");var s=r[0],u=r[1],v=r[2],b=gc(s,u,v),d=b[0],g=b[1],m=b[2],x=mc(d,g,m),A=x[0],L=x[1],E=x[2];return[A,L,E,r.length>3?r[3]:1]},$c=pc,_c=k.unpack,yc=k.type,xc=te,fo=I,uo=q,wc=bc;fo.prototype.oklch=function(){return wc(this._rgb)},xc.oklch=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(fo,[null].concat(r,["oklch"])))},uo.format.oklch=$c,uo.autodetect.push({p:3,test:function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];if(r=_c(r,"oklch"),yc(r)==="array"&&r.length===3)return"oklch"}});var vo=I,kc=k.type;vo.prototype.alpha=function(r,a){return a===void 0&&(a=!1),r!==void 0&&kc(r)==="number"?a?(this._rgb[3]=r,this):new vo([this._rgb[0],this._rgb[1],this._rgb[2],r],"rgb"):this._rgb[3]};var Cc=I;Cc.prototype.clipped=function(){return this._rgb._clipped||!1};var bt=I,Ac=Nt;bt.prototype.darken=function(r){r===void 0&&(r=1);var a=this,s=a.lab();return s[0]-=Ac.Kn*r,new bt(s,"lab").alpha(a.alpha(),!0)},bt.prototype.brighten=function(r){return r===void 0&&(r=1),this.darken(-r)},bt.prototype.darker=bt.prototype.darken,bt.prototype.brighter=bt.prototype.brighten;var Sc=I;Sc.prototype.get=function(r){var a=r.split("."),s=a[0],u=a[1],v=this[s]();if(u){var b=s.indexOf(u)-(s.substr(0,2)==="ok"?2:0);if(b>-1)return v[b];throw new Error("unknown channel "+u+" in mode "+s)}else return v};var Lt=I,Ec=k.type,Nc=Math.pow,Tc=1e-7,Lc=20;Lt.prototype.luminance=function(r){if(r!==void 0&&Ec(r)==="number"){if(r===0)return new Lt([0,0,0,this._rgb[3]],"rgb");if(r===1)return new Lt([255,255,255,this._rgb[3]],"rgb");var a=this.luminance(),s="rgb",u=Lc,v=function(d,g){var m=d.interpolate(g,.5,s),x=m.luminance();return Math.abs(r-x)r?v(d,m):v(m,g)},b=(a>r?v(new Lt([0,0,0]),this):v(this,new Lt([255,255,255]))).rgb();return new Lt(b.concat([this._rgb[3]]))}return Pc.apply(void 0,this._rgb.slice(0,3))};var Pc=function(r,a,s){return r=nl(r),a=nl(a),s=nl(s),.2126*r+.7152*a+.0722*s},nl=function(r){return r/=255,r<=.03928?r/12.92:Nc((r+.055)/1.055,2.4)},Re={},bo=I,ho=k.type,hn=Re,go=function(r,a,s){s===void 0&&(s=.5);for(var u=[],v=arguments.length-3;v-- >0;)u[v]=arguments[v+3];var b=u[0]||"lrgb";if(!hn[b]&&!u.length&&(b=Object.keys(hn)[0]),!hn[b])throw new Error("interpolation mode "+b+" is not defined");return ho(r)!=="object"&&(r=new bo(r)),ho(a)!=="object"&&(a=new bo(a)),hn[b](r,a,s).alpha(r.alpha()+s*(a.alpha()-r.alpha()))},mo=I,Oc=go;mo.prototype.mix=mo.prototype.interpolate=function(r,a){a===void 0&&(a=.5);for(var s=[],u=arguments.length-2;u-- >0;)s[u]=arguments[u+2];return Oc.apply(void 0,[this,r,a].concat(s))};var po=I;po.prototype.premultiply=function(r){r===void 0&&(r=!1);var a=this._rgb,s=a[3];return r?(this._rgb=[a[0]*s,a[1]*s,a[2]*s,s],this):new po([a[0]*s,a[1]*s,a[2]*s,s],"rgb")};var al=I,Mc=Nt;al.prototype.saturate=function(r){r===void 0&&(r=1);var a=this,s=a.lch();return s[1]+=Mc.Kn*r,s[1]<0&&(s[1]=0),new al(s,"lch").alpha(a.alpha(),!0)},al.prototype.desaturate=function(r){return r===void 0&&(r=1),this.saturate(-r)};var $o=I,_o=k.type;$o.prototype.set=function(r,a,s){s===void 0&&(s=!1);var u=r.split("."),v=u[0],b=u[1],d=this[v]();if(b){var g=v.indexOf(b)-(v.substr(0,2)==="ok"?2:0);if(g>-1){if(_o(a)=="string")switch(a.charAt(0)){case"+":d[g]+=+a;break;case"-":d[g]+=+a;break;case"*":d[g]*=+a.substr(1);break;case"/":d[g]/=+a.substr(1);break;default:d[g]=+a}else if(_o(a)==="number")d[g]=a;else throw new Error("unsupported value for Color.set");var m=new $o(d,v);return s?(this._rgb=m._rgb,this):m}throw new Error("unknown channel "+b+" in mode "+v)}else return d};var Fc=I,Dc=function(r,a,s){var u=r._rgb,v=a._rgb;return new Fc(u[0]+s*(v[0]-u[0]),u[1]+s*(v[1]-u[1]),u[2]+s*(v[2]-u[2]),"rgb")};Re.rgb=Dc;var Rc=I,ll=Math.sqrt,Pt=Math.pow,Ic=function(r,a,s){var u=r._rgb,v=u[0],b=u[1],d=u[2],g=a._rgb,m=g[0],x=g[1],A=g[2];return new Rc(ll(Pt(v,2)*(1-s)+Pt(m,2)*s),ll(Pt(b,2)*(1-s)+Pt(x,2)*s),ll(Pt(d,2)*(1-s)+Pt(A,2)*s),"rgb")};Re.lrgb=Ic;var jc=I,Bc=function(r,a,s){var u=r.lab(),v=a.lab();return new jc(u[0]+s*(v[0]-u[0]),u[1]+s*(v[1]-u[1]),u[2]+s*(v[2]-u[2]),"lab")};Re.lab=Bc;var yo=I,Ot=function(r,a,s,u){var v,b,d,g;u==="hsl"?(d=r.hsl(),g=a.hsl()):u==="hsv"?(d=r.hsv(),g=a.hsv()):u==="hcg"?(d=r.hcg(),g=a.hcg()):u==="hsi"?(d=r.hsi(),g=a.hsi()):u==="lch"||u==="hcl"?(u="hcl",d=r.hcl(),g=a.hcl()):u==="oklch"&&(d=r.oklch().reverse(),g=a.oklch().reverse());var m,x,A,L,E,M;(u.substr(0,1)==="h"||u==="oklch")&&(v=d,m=v[0],A=v[1],E=v[2],b=g,x=b[0],L=b[1],M=b[2]);var O,W,X,Y;return!isNaN(m)&&!isNaN(x)?(x>m&&x-m>180?Y=x-(m+360):x180?Y=x+360-m:Y=x-m,W=m+s*Y):isNaN(m)?isNaN(x)?W=Number.NaN:(W=x,(E==1||E==0)&&u!="hsv"&&(O=L)):(W=m,(M==1||M==0)&&u!="hsv"&&(O=A)),O===void 0&&(O=A+s*(L-A)),X=E+s*(M-E),u==="oklch"?new yo([X,O,W],u):new yo([W,O,X],u)},zc=Ot,xo=function(r,a,s){return zc(r,a,s,"lch")};Re.lch=xo,Re.hcl=xo;var Uc=I,Gc=function(r,a,s){var u=r.num(),v=a.num();return new Uc(u+s*(v-u),"num")};Re.num=Gc;var qc=Ot,Hc=function(r,a,s){return qc(r,a,s,"hcg")};Re.hcg=Hc;var Wc=Ot,Vc=function(r,a,s){return Wc(r,a,s,"hsi")};Re.hsi=Vc;var Zc=Ot,Xc=function(r,a,s){return Zc(r,a,s,"hsl")};Re.hsl=Xc;var Kc=Ot,Yc=function(r,a,s){return Kc(r,a,s,"hsv")};Re.hsv=Yc;var Jc=I,Qc=function(r,a,s){var u=r.oklab(),v=a.oklab();return new Jc(u[0]+s*(v[0]-u[0]),u[1]+s*(v[1]-u[1]),u[2]+s*(v[2]-u[2]),"oklab")};Re.oklab=Qc;var ef=Ot,tf=function(r,a,s){return ef(r,a,s,"oklch")};Re.oklch=tf;var ol=I,rf=k.clip_rgb,sl=Math.pow,il=Math.sqrt,cl=Math.PI,wo=Math.cos,ko=Math.sin,nf=Math.atan2,af=function(r,a,s){a===void 0&&(a="lrgb"),s===void 0&&(s=null);var u=r.length;s||(s=Array.from(new Array(u)).map(function(){return 1}));var v=u/s.reduce(function(W,X){return W+X});if(s.forEach(function(W,X){s[X]*=v}),r=r.map(function(W){return new ol(W)}),a==="lrgb")return lf(r,s);for(var b=r.shift(),d=b.get(a),g=[],m=0,x=0,A=0;A=360;)O-=360;d[M]=O}else d[M]=d[M]/g[M];return E/=u,new ol(d,a).alpha(E>.99999?1:E,!0)},lf=function(r,a){for(var s=r.length,u=[0,0,0,0],v=0;v.9999999&&(u[3]=1),new ol(rf(u))},ze=te,Mt=k.type,of=Math.pow,fl=function(r){var a="rgb",s=ze("#ccc"),u=0,v=[0,1],b=[],d=[0,0],g=!1,m=[],x=!1,A=0,L=1,E=!1,M={},O=!0,W=1,X=function(N){if(N=N||["#fff","#000"],N&&Mt(N)==="string"&&ze.brewer&&ze.brewer[N.toLowerCase()]&&(N=ze.brewer[N.toLowerCase()]),Mt(N)==="array"){N.length===1&&(N=[N[0],N[0]]),N=N.slice(0);for(var z=0;z=g[Z];)Z++;return Z-1}return 0},re=function(N){return N},_e=function(N){return N},pe=function(N,z){var Z,V;if(z==null&&(z=!1),isNaN(N)||N===null)return s;if(z)V=N;else if(g&&g.length>2){var ye=Y(N);V=ye/(g.length-2)}else L!==A?V=(N-A)/(L-A):V=1;V=_e(V),z||(V=re(V)),W!==1&&(V=of(V,W)),V=d[0]+V*(1-d[0]-d[1]),V=Math.min(1,Math.max(0,V));var ie=Math.floor(V*1e4);if(O&&M[ie])Z=M[ie];else{if(Mt(m)==="array")for(var J=0;J=ne&&J===b.length-1){Z=m[J];break}if(V>ne&&V2){var J=N.map(function(ae,le){return le/(N.length-1)}),ne=N.map(function(ae){return(ae-A)/(L-A)});ne.every(function(ae,le){return J[le]===ae})||(_e=function(ae){if(ae<=0||ae>=1)return ae;for(var le=0;ae>=ne[le+1];)le++;var Ge=(ae-ne[le])/(ne[le+1]-ne[le]),it=J[le]+Ge*(J[le+1]-J[le]);return it})}}return v=[A,L],K},K.mode=function(N){return arguments.length?(a=N,Ne(),K):a},K.range=function(N,z){return X(N),K},K.out=function(N){return x=N,K},K.spread=function(N){return arguments.length?(u=N,K):u},K.correctLightness=function(N){return N==null&&(N=!0),E=N,Ne(),E?re=function(z){for(var Z=pe(0,!0).lab()[0],V=pe(1,!0).lab()[0],ye=Z>V,ie=pe(z,!0).lab()[0],J=Z+(V-Z)*z,ne=ie-J,ae=0,le=1,Ge=20;Math.abs(ne)>.01&&Ge-- >0;)(function(){return ye&&(ne*=-1),ne<0?(ae=z,z+=(le-z)*.5):(le=z,z+=(ae-z)*.5),ie=pe(z,!0).lab()[0],ne=ie-J})();return z}:re=function(z){return z},K},K.padding=function(N){return N!=null?(Mt(N)==="number"&&(N=[N,N]),d=N,K):d},K.colors=function(N,z){arguments.length<2&&(z="hex");var Z=[];if(arguments.length===0)Z=m.slice(0);else if(N===1)Z=[K(.5)];else if(N>1){var V=v[0],ye=v[1]-V;Z=sf(0,N,!1).map(function(le){return K(V+le/(N-1)*ye)})}else{r=[];var ie=[];if(g&&g.length>2)for(var J=1,ne=g.length,ae=1<=ne;ae?Jne;ae?J++:J--)ie.push((g[J-1]+g[J])*.5);else ie=v;Z=ie.map(function(le){return K(le)})}return ze[z]&&(Z=Z.map(function(le){return le[z]()})),Z},K.cache=function(N){return N!=null?(O=N,K):O},K.gamma=function(N){return N!=null?(W=N,K):W},K.nodata=function(N){return N!=null?(s=ze(N),K):s},K};function sf(r,a,s){for(var u=[],v=rb;v?d++:d--)u.push(d);return u}var hr=I,cf=fl,ff=function(r){for(var a=[1,1],s=1;s=5){var x,A,L;x=r.map(function(E){return E.lab()}),L=r.length-1,A=ff(L),v=function(E){var M=1-E,O=[0,1,2].map(function(W){return x.reduce(function(X,Y,re){return X+A[re]*Math.pow(M,L-re)*Math.pow(E,re)*Y[W]},0)});return new hr(O,"lab")}}else throw new RangeError("No point in running bezier with only one color.");return v},df=function(r){var a=uf(r);return a.scale=function(){return cf(a)},a},ul=te,Ue=function(r,a,s){if(!Ue[s])throw new Error("unknown blend mode "+s);return Ue[s](r,a)},ot=function(r){return function(a,s){var u=ul(s).rgb(),v=ul(a).rgb();return ul.rgb(r(u,v))}},st=function(r){return function(a,s){var u=[];return u[0]=r(a[0],s[0]),u[1]=r(a[1],s[1]),u[2]=r(a[2],s[2]),u}},vf=function(r){return r},bf=function(r,a){return r*a/255},hf=function(r,a){return r>a?a:r},gf=function(r,a){return r>a?r:a},mf=function(r,a){return 255*(1-(1-r/255)*(1-a/255))},pf=function(r,a){return a<128?2*r*a/255:255*(1-2*(1-r/255)*(1-a/255))},$f=function(r,a){return 255*(1-(1-a/255)/(r/255))},_f=function(r,a){return r===255?255:(r=255*(a/255)/(1-r/255),r>255?255:r)};Ue.normal=ot(st(vf)),Ue.multiply=ot(st(bf)),Ue.screen=ot(st(mf)),Ue.overlay=ot(st(pf)),Ue.darken=ot(st(hf)),Ue.lighten=ot(st(gf)),Ue.dodge=ot(st(_f)),Ue.burn=ot(st($f));for(var yf=Ue,dl=k.type,xf=k.clip_rgb,wf=k.TWOPI,kf=Math.pow,Cf=Math.sin,Af=Math.cos,Co=te,Sf=function(r,a,s,u,v){r===void 0&&(r=300),a===void 0&&(a=-1.5),s===void 0&&(s=1),u===void 0&&(u=1),v===void 0&&(v=[0,1]);var b=0,d;dl(v)==="array"?d=v[1]-v[0]:(d=0,v=[v,v]);var g=function(m){var x=wf*((r+120)/360+a*m),A=kf(v[0]+d*m,u),L=b!==0?s[0]+m*b:s,E=L*A*(1-A)/2,M=Af(x),O=Cf(x),W=A+E*(-.14861*M+1.78277*O),X=A+E*(-.29227*M-.90649*O),Y=A+E*(1.97294*M);return Co(xf([W*255,X*255,Y*255,1]))};return g.start=function(m){return m==null?r:(r=m,g)},g.rotations=function(m){return m==null?a:(a=m,g)},g.gamma=function(m){return m==null?u:(u=m,g)},g.hue=function(m){return m==null?s:(s=m,dl(s)==="array"?(b=s[1]-s[0],b===0&&(s=s[1])):b=0,g)},g.lightness=function(m){return m==null?v:(dl(m)==="array"?(v=m,d=m[1]-m[0]):(v=[m,m],d=0),g)},g.scale=function(){return Co.scale(g)},g.hue(s),g},Ef=I,Nf="0123456789abcdef",Tf=Math.floor,Lf=Math.random,Pf=function(){for(var r="#",a=0;a<6;a++)r+=Nf.charAt(Tf(Lf()*16));return new Ef(r,"hex")},vl=p,Ao=Math.log,Of=Math.pow,Mf=Math.floor,Ff=Math.abs,So=function(r,a){a===void 0&&(a=null);var s={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0};return vl(r)==="object"&&(r=Object.values(r)),r.forEach(function(u){a&&vl(u)==="object"&&(u=u[a]),u!=null&&!isNaN(u)&&(s.values.push(u),s.sum+=u,us.max&&(s.max=u),s.count+=1)}),s.domain=[s.min,s.max],s.limits=function(u,v){return Eo(s,u,v)},s},Eo=function(r,a,s){a===void 0&&(a="equal"),s===void 0&&(s=7),vl(r)=="array"&&(r=So(r));var u=r.min,v=r.max,b=r.values.sort(function(hl,gl){return hl-gl});if(s===1)return[u,v];var d=[];if(a.substr(0,1)==="c"&&(d.push(u),d.push(v)),a.substr(0,1)==="e"){d.push(u);for(var g=1;g 0");var m=Math.LOG10E*Ao(u),x=Math.LOG10E*Ao(v);d.push(u);for(var A=1;A200&&(_e=!1)}for(var ct={},Ft=0;Ftu?(s+.05)/(u+.05):(u+.05)/(s+.05)},Lo=I,Ke=Math.sqrt,ve=Math.pow,Rf=Math.min,If=Math.max,Po=Math.atan2,Oo=Math.abs,gn=Math.cos,Mo=Math.sin,jf=Math.exp,Fo=Math.PI,Bf=function(r,a,s,u,v){s===void 0&&(s=1),u===void 0&&(u=1),v===void 0&&(v=1);var b=function(gt){return 360*gt/(2*Fo)},d=function(gt){return 2*Fo*gt/360};r=new Lo(r),a=new Lo(a);var g=Array.from(r.lab()),m=g[0],x=g[1],A=g[2],L=Array.from(a.lab()),E=L[0],M=L[1],O=L[2],W=(m+E)/2,X=Ke(ve(x,2)+ve(A,2)),Y=Ke(ve(M,2)+ve(O,2)),re=(X+Y)/2,_e=.5*(1-Ke(ve(re,7)/(ve(re,7)+ve(25,7)))),pe=x*(1+_e),Ne=M*(1+_e),K=Ke(ve(pe,2)+ve(A,2)),N=Ke(ve(Ne,2)+ve(O,2)),z=(K+N)/2,Z=b(Po(A,pe)),V=b(Po(O,Ne)),ye=Z>=0?Z:Z+360,ie=V>=0?V:V+360,J=Oo(ye-ie)>180?(ye+ie+360)/2:(ye+ie)/2,ne=1-.17*gn(d(J-30))+.24*gn(d(2*J))+.32*gn(d(3*J+6))-.2*gn(d(4*J-63)),ae=ie-ye;ae=Oo(ae)<=180?ae:ie<=ye?ae+360:ae-360,ae=2*Ke(K*N)*Mo(d(ae)/2);var le=E-m,Ge=N-K,it=1+.015*ve(W-50,2)/Ke(20+ve(W-50,2)),ct=1+.045*z,Ft=1+.015*z*ne,Dt=30*jf(-ve((J-275)/25,2)),Ye=2*Ke(ve(z,7)/(ve(z,7)+ve(25,7))),ht=-Ye*Mo(2*d(Dt)),gr=Ke(ve(le/(s*it),2)+ve(Ge/(u*ct),2)+ve(ae/(v*Ft),2)+ht*(Ge/(u*ct))*(ae/(v*Ft)));return If(0,Rf(100,gr))},Do=I,zf=function(r,a,s){s===void 0&&(s="lab"),r=new Do(r),a=new Do(a);var u=r.get(s),v=a.get(s),b=0;for(var d in u){var g=(u[d]||0)-(v[d]||0);b+=g*g}return Math.sqrt(b)},Uf=I,Gf=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];try{return new(Function.prototype.bind.apply(Uf,[null].concat(r))),!0}catch{return!1}},Ro=te,Io=fl,qf={cool:function(){return Io([Ro.hsl(180,1,.9),Ro.hsl(250,.7,.4)])},hot:function(){return Io(["#000","#f00","#ff0","#fff"]).mode("rgb")}},mn={OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],Viridis:["#440154","#482777","#3f4a8a","#31678e","#26838f","#1f9d8a","#6cce5a","#b6de2b","#fee825"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},bl=0,jo=Object.keys(mn);bl{const n={};for(const l in e){const o=ke.mix(e[l][0],e[l][1],l=="NEUTRAL"?.8:.95,"lab"),i=ke.mix(ke(e[l][1]),Ju,.8,"rgb"),c=ke.mix(o,e[l][0],.7,"lch");n[l]=[l=="NEUTRAL"?ke(e[l][2]).brighten(.3).hex():ke.mix(ke(e[l][2]).darken(.44),i,.15,"lab").saturate(.7).hex(),ke.mix(o.hex(),c.hex(),.03).hex(),l=="NEUTRAL"?ke(c).brighten(.75).hex():ke.mix(c,e[l][0],.86,"lab").hex()]}return n},e0=[0,2,5,9,16,19],Zo=e=>[...ke.scale([e[0],e[1]]).mode("lab").colors(24).filter((t,n)=>e0.includes(n)),...ke.scale([e[1],e[2]]).mode("lab").colors(7).filter((t,n)=>n%2==0)],Xo=e=>e.reduce((t,n,l)=>({...t,[`0${l}`]:n}),{}),Ds=(e,t)=>{const n={};for(const l in e)t?n[l]=Xo(r0(Zo(e[l]))):n[l]=Xo(Zo(e[l]));return n},t0=[.87,.7,.5,.4,.1,0],r0=e=>{const t=e,n=ke($t[1]).brighten(.05);for(var l=0;l<6;l++)t[l]=ke.mix(e[l],n,t0[l],"rgb").hex();return t};let n0=Ds(Fs,!1),a0=Ds(Qu(Fs),!0);const Rs=()=>Se()?a0:n0,Kt=e=>Object.values(e).map(t=>Object.values(t)),Is={NEUTRAL:{"00":"#1b1d1c","01":"#262727","02":"#414342","03":"#585a59","04":"#747776","05":"#a0a2a1","06":"#abadac","07":"#b2b4b3","08":"#c9cbca","09":"#eff1f0"},OCEAN:{100:"#171c24",200:"#172336",300:"#152a46",400:"#143355",500:"#0a64ae",600:"#0679d2",700:"#1893f6",800:"#4caafa",900:"#72bcfb",1e3:"#c2e2fd"},BLUE:{100:"#181923",200:"#171a33",300:"#171b42",400:"#16204f",500:"#1235a1",600:"#1b41c1",700:"#2b50e2",800:"#5670e5",900:"#788bea",1e3:"#c5cdf6"},INDIGO:{100:"#171721",200:"#15152e",300:"#14133b",400:"#1a1147",500:"#2d088e",600:"#3b05aa",700:"#4c0cc7",800:"#6e3cd0",900:"#8960d7",1e3:"#ccbaee"},VIOLET:{100:"#1a1721",200:"#1d162f",300:"#21143b",400:"#291747",500:"#4a1d8b",600:"#5a24a6",700:"#6d2fc2",800:"#8756cb",900:"#9d75d4",1e3:"#d5c3ec"},CRIMSON:{100:"#21171d",200:"#2f1521",300:"#3d1327",400:"#4c172f",500:"#9e285a",600:"#bf346d",700:"#e14785",800:"#ea6c9e",900:"#f189b2",1e3:"#f9ccde"},WINE:{100:"#1d1719",200:"#251517",300:"#2e1316",400:"#371118",500:"#6d0721",600:"#840928",700:"#9d1635",800:"#af4259",900:"#bf6577",1e3:"#e3bcc4"},RED:{100:"#1f1719",200:"#2a1517",300:"#351315",400:"#411116",500:"#870819",600:"#a30f21",700:"#c31f2e",800:"#d04b56",900:"#db6f75",1e3:"#efc1c3"},SUN:{100:"#211719",200:"#2f1517",300:"#3e1316",400:"#4c1517",500:"#a3201b",600:"#c62c23",700:"#ea3e33",800:"#f1655c",900:"#f6837b",1e3:"#fbcac6"},ORANGE:{100:"#221a19",200:"#341c16",300:"#442114",400:"#532813",500:"#b04e08",600:"#d56004",700:"#fb7912",800:"#fd9644",900:"#fead6a",1e3:"#fedbbf"},YELLOW:{100:"#211f19",200:"#322916",300:"#413414",400:"#504013",500:"#ab8508",600:"#cfa306",700:"#f8c51a",800:"#fcd756",900:"#fde484",1e3:"#fef3ca"},SAPLING:{100:"#1d1f19",200:"#242b16",300:"#2c3614",400:"#364218",500:"#6d8925",600:"#84a82e",700:"#a2c940",800:"#bad76f",900:"#cde492",1e3:"#e9f3d0"},GREEN:{100:"#171d1b",200:"#15261a",300:"#132f1b",400:"#113920",500:"#077233",600:"#048b3f",700:"#0da750",800:"#45ba75",900:"#6fca92",1e3:"#c1e8d0"},AURORA:{100:"#171f1f",200:"#152b28",300:"#133730",400:"#12433a",500:"#1c8b74",600:"#28a98d",700:"#3bcbab",800:"#6cd9c0",900:"#90e4d1",1e3:"#cff3eb"},CYAN:{100:"#171f22",200:"#152a30",300:"#13363d",400:"#11414a",500:"#078899",600:"#04a6b9",700:"#09c8de",800:"#4ed7e9",900:"#7ce4f1",1e3:"#c6f3f9"}},l0={NEUTRAL:{"00":"#f3f5f3","01":"#eff1f0","02":"#d0d2d1","03":"#c2c5c4","04":"#9b9d9c","05":"#747776","06":"#585a59","07":"#414342","08":"#262727","09":"#1b1d1c"},OCEAN:{"00":"#f3fcff","01":"#e4f6fe","02":"#cfeafd","03":"#badefd","04":"#68b7fa","05":"#4eabfa","06":"#1893f6","07":"#036abe","08":"#06488d","09":"#03284e"},BLUE:{"00":"#f2f3fc","01":"#e3e6f9","02":"#d0d5f6","03":"#bdc6f5","04":"#7085ea","05":"#5872e6","06":"#2b50e2","07":"#0c35af","08":"#0b1f82","09":"#061148"},INDIGO:{"00":"#f4eefa","01":"#e7dcf6","02":"#d6c5f2","03":"#c5b1ec","04":"#8357d7","05":"#6f3ed0","06":"#4c0cc7","07":"#2b0199","08":"#130070","09":"#0a003d"},VIOLET:{"00":"#f6f1fb","01":"#ece1f6","02":"#ddcdf2","03":"#cfbbeb","04":"#996dd4","05":"#8958cc","06":"#6d2fc2","07":"#4d1996","08":"#320b6f","09":"#1c063d"},CRIMSON:{"00":"#fdf5fa","01":"#fce8f2","02":"#fad7e6","03":"#f9c5d9","04":"#f082ad","05":"#ea6e9f","06":"#e14785","07":"#ac265e","08":"#7d0d3c","09":"#450721"},WINE:{"00":"#faeff1","01":"#f4dde1","02":"#ebc7ce","03":"#e0b3bc","04":"#bc5d71","05":"#b0445b","06":"#9d1635","07":"#75001d","08":"#52000c","09":"#2d0007"},RED:{"00":"#fcf1f1","01":"#f8e0e0","02":"#f5cbcd","03":"#eeb8bb","04":"#d9666d","05":"#d04d58","06":"#c31f2e","07":"#920114","08":"#660007","09":"#380004"},SUN:{"00":"#fef4f2","01":"#fde7e3","02":"#fbd4d0","03":"#fbc2be","04":"#f67c73","05":"#f1675e","06":"#ea3e33","07":"#b21c16","08":"#7f0808","09":"#460405"},ORANGE:{"00":"#fffaf2","01":"#fff2e1","02":"#fee5cb","03":"#fed7b6","04":"#fda660","05":"#fd9746","06":"#fb7912","07":"#c15100","08":"#8e3100","09":"#4e1b00"},YELLOW:{"00":"#fffef8","01":"#fffcec","02":"#fefad9","03":"#fef2c3","04":"#fde177","05":"#fcd758","06":"#f8c51a","07":"#bb9000","08":"#866400","09":"#4a3700"},SAPLING:{"00":"#fdfef8","01":"#f9fced","02":"#f2f9dd","03":"#e7f2ca","04":"#c8e188","05":"#bbd870","06":"#a2c940","07":"#749521","08":"#4e690b","09":"#2b3a06"},GREEN:{"00":"#f3fbf6","01":"#e3f7ea","02":"#cef0da","03":"#b8e5ca","04":"#64c68b","05":"#47bb77","06":"#0da750","07":"#007a32","08":"#00561c","09":"#002f0f"},AURORA:{"00":"#f8fefd","01":"#edfbfa","02":"#dcf9f3","03":"#c9f3e9","04":"#86e3cd","05":"#6edac1","06":"#3bcbab","07":"#18967c","08":"#026a55","09":"#013a2f"},CYAN:{"00":"#f6fefe","01":"#e9fcfd","02":"#d6f9fb","03":"#bff2f9","04":"#70e1f0","05":"#50d8e9","06":"#09c8de","07":"#0093a6","08":"#006776","09":"#003941"}},Ht=()=>Se()?Is:l0,Mn=()=>Kt(Ht()),o0=P(' '),s0=e=>(()=>{const t=o0.cloneNode(!0);return Me(t,e,!1,!0),C(t,()=>e.children),t})(),i0=P('Flex Design Colors '),c0=P('Flex Design Colors Uniform '),[Nl,Ko]=de("Flex Design Colors Uniform"),[he,kr]=de(Is),js=()=>{const[e,t]=de("fu");return et(()=>{e()=="fc"&&kr(Ht()),e()=="fu"?kr(Rs()):kr(Ht())}),_(s0,{"aria-label":"Change Color Pallet",value:"fu",onChange:l=>{l.target.value=="fc"?(t("fc"),Ko("Flex Design Colors (Legacy)")):l.target.value=="fu"&&(t("fu"),Ko("Flex Design Colors Uniform"))},get children(){return[i0.cloneNode(!0),c0.cloneNode(!0)]}})},f0=P(" "),u0=P(' '),d0=P(' '),[Se,Tl]=de(window.matchMedia("(prefers-color-scheme: dark)").matches),v0=()=>{Fl(()=>{localStorage.getItem("theme")&&Tl(localStorage.getItem("theme")=="dark")}),et(()=>{Se()?(document.documentElement.classList.add("dark"),localStorage.setItem("theme","dark")):(document.documentElement.classList.remove("dark"),localStorage.setItem("theme","light")),Nl()=="Flex Design Colors Uniform"?kr(Rs()):kr(Ht())});const e=()=>{Tl(!Se())};return _(Le,{aria:"Dark-mode Toggle",get children(){const t=f0.cloneNode(!0);return t.$$click=()=>e(),C(t,(()=>{const n=G(()=>!!Se(),!0);return()=>n()?u0.cloneNode(!0):d0.cloneNode(!0)})()),t}})};rt(["click"]);const Yo=P(' '),Jo=P(' '),b0=P(`=3?Array.prototype.slice.call(r):y(r[0])=="object"&&a?a.split("").filter(function(s){return r[0][s]!==void 0}).map(function(s){return r[0][s]}):r[0]},T=p,j=function(r){if(r.length<2)return null;var a=r.length-1;return T(r[a])=="string"?r[a].toLowerCase():null},D=Math.PI,k={clip_rgb:o,limit:n,type:p,unpack:S,last:j,PI:D,TWOPI:D*2,PITHIRD:D/3,DEG2RAD:D/180,RAD2DEG:180/D},q={format:{},autodetect:[]},F=k.last,ee=k.clip_rgb,oe=k.type,Q=q,se=function(){for(var a=[],s=arguments.length;s--;)a[s]=arguments[s];var u=this;if(oe(a[0])==="object"&&a[0].constructor&&a[0].constructor===this.constructor)return a[0];var v=F(a),b=!1;if(!v){b=!0,Q.sorted||(Q.autodetect=Q.autodetect.sort(function(A,L){return L.p-A.p}),Q.sorted=!0);for(var d=0,g=Q.autodetect;d4?r[4]:1;return b===1?[0,0,0,d]:[s>=1?0:255*(1-s)*(1-b),u>=1?0:255*(1-u)*(1-b),v>=1?0:255*(1-v)*(1-b),d]},Ee=Ae,Fe=te,je=I,De=q,Zn=k.unpack,Xn=k.type,xt=$e;je.prototype.cmyk=function(){return xt(this._rgb)},Fe.cmyk=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(je,[null].concat(r,["cmyk"])))},De.format.cmyk=Ee,De.autodetect.push({p:2,test:function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];if(r=Zn(r,"cmyk"),Xn(r)==="array"&&r.length===4)return"cmyk"}});var Nr=k.unpack,Kn=k.last,wt=function(r){return Math.round(r*100)/100},Tr=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=Nr(r,"hsla"),u=Kn(r)||"lsa";return s[0]=wt(s[0]||0),s[1]=wt(s[1]*100)+"%",s[2]=wt(s[2]*100)+"%",u==="hsla"||s.length>3&&s[3]<1?(s[3]=s.length>3?s[3]:1,u="hsla"):s.length=3,u+"("+s.join(",")+")"},Lr=Tr,Pr=k.unpack,Or=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];r=Pr(r,"rgba");var s=r[0],u=r[1],v=r[2];s/=255,u/=255,v/=255;var b=Math.min(s,u,v),d=Math.max(s,u,v),g=(d+b)/2,m,x;return d===b?(m=0,x=Number.NaN):m=g<.5?(d-b)/(d+b):(d-b)/(2-d-b),s==d?x=(u-v)/(d-b):u==d?x=2+(v-s)/(d-b):v==d&&(x=4+(s-u)/(d-b)),x*=60,x<0&&(x+=360),r.length>3&&r[3]!==void 0?[x,m,g,r[3]]:[x,m,g]},Yt=Or,Mr=k.unpack,Fr=k.last,Dr=Lr,Rr=Yt,Jt=Math.round,Qt=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=Mr(r,"rgba"),u=Fr(r)||"rgb";return u.substr(0,3)=="hsl"?Dr(Rr(s),u):(s[0]=Jt(s[0]),s[1]=Jt(s[1]),s[2]=Jt(s[2]),(u==="rgba"||s.length>3&&s[3]<1)&&(s[3]=s.length>3?s[3]:1,u="rgba"),u+"("+s.slice(0,u==="rgb"?3:4).join(",")+")")},Ir=Qt,jr=k.unpack,vt=Math.round,Yn=function(){for(var r,a=[],s=arguments.length;s--;)a[s]=arguments[s];a=jr(a,"hsl");var u=a[0],v=a[1],b=a[2],d,g,m;if(v===0)d=g=m=b*255;else{var x=[0,0,0],A=[0,0,0],L=b<.5?b*(1+v):b+v-b*v,E=2*b-L,M=u/360;x[0]=M+1/3,x[1]=M,x[2]=M-1/3;for(var O=0;O<3;O++)x[O]<0&&(x[O]+=1),x[O]>1&&(x[O]-=1),6*x[O]<1?A[O]=E+(L-E)*6*x[O]:2*x[O]<1?A[O]=L:3*x[O]<2?A[O]=E+(L-E)*(2/3-x[O])*6:A[O]=E;r=[vt(A[0]*255),vt(A[1]*255),vt(A[2]*255)],d=r[0],g=r[1],m=r[2]}return a.length>3?[d,g,m,a[3]]:[d,g,m,1]},Br=Yn,er=Br,kt=q,tr=/^rgb\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*\)$/,rr=/^rgba\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*,\s*([01]|[01]?\.\d+)\)$/,nr=/^rgb\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,ar=/^rgba\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,zr=/^hsl\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,Ur=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,Ct=Math.round,lr=function(r){r=r.toLowerCase().trim();var a;if(kt.format.named)try{return kt.format.named(r)}catch{}if(a=r.match(tr)){for(var s=a.slice(1,4),u=0;u<3;u++)s[u]=+s[u];return s[3]=1,s}if(a=r.match(rr)){for(var v=a.slice(1,5),b=0;b<4;b++)v[b]=+v[b];return v}if(a=r.match(nr)){for(var d=a.slice(1,4),g=0;g<3;g++)d[g]=Ct(d[g]*2.55);return d[3]=1,d}if(a=r.match(ar)){for(var m=a.slice(1,5),x=0;x<3;x++)m[x]=Ct(m[x]*2.55);return m[3]=+m[3],m}if(a=r.match(zr)){var A=a.slice(1,4);A[1]*=.01,A[2]*=.01;var L=er(A);return L[3]=1,L}if(a=r.match(Ur)){var E=a.slice(1,4);E[1]*=.01,E[2]*=.01;var M=er(E);return M[3]=+a[4],M}};lr.test=function(r){return tr.test(r)||rr.test(r)||nr.test(r)||ar.test(r)||zr.test(r)||Ur.test(r)};var Gr=lr,qr=te,or=I,Hr=q,Jn=k.type,Wr=Ir,sr=Gr;or.prototype.css=function(r){return Wr(this._rgb,r)},qr.css=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(or,[null].concat(r,["css"])))},Hr.format.css=sr,Hr.autodetect.push({p:5,test:function(r){for(var a=[],s=arguments.length-1;s-- >0;)a[s]=arguments[s+1];if(!a.length&&Jn(r)==="string"&&sr.test(r))return"css"}});var ir=I,Vr=te,Zr=q,Qn=k.unpack;Zr.format.gl=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=Qn(r,"rgba");return s[0]*=255,s[1]*=255,s[2]*=255,s},Vr.gl=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(ir,[null].concat(r,["gl"])))},ir.prototype.gl=function(){var r=this._rgb;return[r[0]/255,r[1]/255,r[2]/255,r[3]]};var ea=k.unpack,cr=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=ea(r,"rgb"),u=s[0],v=s[1],b=s[2],d=Math.min(u,v,b),g=Math.max(u,v,b),m=g-d,x=m*100/255,A=d/(255-m)*100,L;return m===0?L=Number.NaN:(u===g&&(L=(v-b)/m),v===g&&(L=2+(b-u)/m),b===g&&(L=4+(u-v)/m),L*=60,L<0&&(L+=360)),[L,x,A]},At=cr,Xr=k.unpack,Kr=Math.floor,ta=function(){for(var r,a,s,u,v,b,d=[],g=arguments.length;g--;)d[g]=arguments[g];d=Xr(d,"hcg");var m=d[0],x=d[1],A=d[2],L,E,M;A=A*255;var O=x*255;if(x===0)L=E=M=A;else{m===360&&(m=0),m>360&&(m-=360),m<0&&(m+=360),m/=60;var W=Kr(m),X=m-W,Y=A*(1-x),re=Y+O*(1-X),_e=Y+O*X,pe=Y+O;switch(W){case 0:r=[pe,_e,Y],L=r[0],E=r[1],M=r[2];break;case 1:a=[re,pe,Y],L=a[0],E=a[1],M=a[2];break;case 2:s=[Y,pe,_e],L=s[0],E=s[1],M=s[2];break;case 3:u=[Y,re,pe],L=u[0],E=u[1],M=u[2];break;case 4:v=[_e,Y,pe],L=v[0],E=v[1],M=v[2];break;case 5:b=[pe,Y,re],L=b[0],E=b[1],M=b[2];break}}return[L,E,M,d.length>3?d[3]:1]},ra=ta,na=k.unpack,aa=k.type,$=te,St=I,Yr=q,la=At;St.prototype.hcg=function(){return la(this._rgb)},$.hcg=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(St,[null].concat(r,["hcg"])))},Yr.format.hcg=ra,Yr.autodetect.push({p:1,test:function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];if(r=na(r,"hcg"),aa(r)==="array"&&r.length===3)return"hcg"}});var oa=k.unpack,sa=k.last,Et=Math.round,ia=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=oa(r,"rgba"),u=s[0],v=s[1],b=s[2],d=s[3],g=sa(r)||"auto";d===void 0&&(d=1),g==="auto"&&(g=d<1?"rgba":"rgb"),u=Et(u),v=Et(v),b=Et(b);var m=u<<16|v<<8|b,x="000000"+m.toString(16);x=x.substr(x.length-6);var A="0"+Et(d*255).toString(16);switch(A=A.substr(A.length-2),g.toLowerCase()){case"rgba":return"#"+x+A;case"argb":return"#"+A+x;default:return"#"+x}},Jr=ia,ca=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,fa=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,ua=function(r){if(r.match(ca)){(r.length===4||r.length===7)&&(r=r.substr(1)),r.length===3&&(r=r.split(""),r=r[0]+r[0]+r[1]+r[1]+r[2]+r[2]);var a=parseInt(r,16),s=a>>16,u=a>>8&255,v=a&255;return[s,u,v,1]}if(r.match(fa)){(r.length===5||r.length===9)&&(r=r.substr(1)),r.length===4&&(r=r.split(""),r=r[0]+r[0]+r[1]+r[1]+r[2]+r[2]+r[3]+r[3]);var b=parseInt(r,16),d=b>>24&255,g=b>>16&255,m=b>>8&255,x=Math.round((b&255)/255*100)/100;return[d,g,m,x]}throw new Error("unknown hex color: "+r)},Qr=ua,da=te,en=I,va=k.type,tn=q,ba=Jr;en.prototype.hex=function(r){return ba(this._rgb,r)},da.hex=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(en,[null].concat(r,["hex"])))},tn.format.hex=Qr,tn.autodetect.push({p:4,test:function(r){for(var a=[],s=arguments.length-1;s-- >0;)a[s]=arguments[s+1];if(!a.length&&va(r)==="string"&&[3,4,5,6,7,8,9].indexOf(r.length)>=0)return"hex"}});var ha=k.unpack,rn=k.TWOPI,ga=Math.min,ma=Math.sqrt,pa=Math.acos,$a=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=ha(r,"rgb"),u=s[0],v=s[1],b=s[2];u/=255,v/=255,b/=255;var d,g=ga(u,v,b),m=(u+v+b)/3,x=m>0?1-g/m:0;return x===0?d=NaN:(d=(u-v+(u-b))/2,d/=ma((u-v)*(u-v)+(u-b)*(v-b)),d=pa(d),b>v&&(d=rn-d),d/=rn),[d*360,x,m]},_a=$a,ya=k.unpack,fr=k.limit,nt=k.TWOPI,ur=k.PITHIRD,at=Math.cos,xa=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];r=ya(r,"hsi");var s=r[0],u=r[1],v=r[2],b,d,g;return isNaN(s)&&(s=0),isNaN(u)&&(u=0),s>360&&(s-=360),s<0&&(s+=360),s/=360,s<1/3?(g=(1-u)/3,b=(1+u*at(nt*s)/at(ur-nt*s))/3,d=1-(g+b)):s<2/3?(s-=1/3,b=(1-u)/3,d=(1+u*at(nt*s)/at(ur-nt*s))/3,g=1-(b+d)):(s-=2/3,d=(1-u)/3,g=(1+u*at(nt*s)/at(ur-nt*s))/3,b=1-(d+g)),b=fr(v*b*3),d=fr(v*d*3),g=fr(v*g*3),[b*255,d*255,g*255,r.length>3?r[3]:1]},wa=xa,ka=k.unpack,Ca=k.type,Aa=te,nn=I,an=q,Sa=_a;nn.prototype.hsi=function(){return Sa(this._rgb)},Aa.hsi=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(nn,[null].concat(r,["hsi"])))},an.format.hsi=wa,an.autodetect.push({p:2,test:function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];if(r=ka(r,"hsi"),Ca(r)==="array"&&r.length===3)return"hsi"}});var Ea=k.unpack,Na=k.type,Ta=te,ln=I,on=q,La=Yt;ln.prototype.hsl=function(){return La(this._rgb)},Ta.hsl=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(ln,[null].concat(r,["hsl"])))},on.format.hsl=Br,on.autodetect.push({p:2,test:function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];if(r=Ea(r,"hsl"),Na(r)==="array"&&r.length===3)return"hsl"}});var Pa=k.unpack,Oa=Math.min,Ma=Math.max,Fa=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];r=Pa(r,"rgb");var s=r[0],u=r[1],v=r[2],b=Oa(s,u,v),d=Ma(s,u,v),g=d-b,m,x,A;return A=d/255,d===0?(m=Number.NaN,x=0):(x=g/d,s===d&&(m=(u-v)/g),u===d&&(m=2+(v-s)/g),v===d&&(m=4+(s-u)/g),m*=60,m<0&&(m+=360)),[m,x,A]},Da=Fa,Ra=k.unpack,Ia=Math.floor,ja=function(){for(var r,a,s,u,v,b,d=[],g=arguments.length;g--;)d[g]=arguments[g];d=Ra(d,"hsv");var m=d[0],x=d[1],A=d[2],L,E,M;if(A*=255,x===0)L=E=M=A;else{m===360&&(m=0),m>360&&(m-=360),m<0&&(m+=360),m/=60;var O=Ia(m),W=m-O,X=A*(1-x),Y=A*(1-x*W),re=A*(1-x*(1-W));switch(O){case 0:r=[A,re,X],L=r[0],E=r[1],M=r[2];break;case 1:a=[Y,A,X],L=a[0],E=a[1],M=a[2];break;case 2:s=[X,A,re],L=s[0],E=s[1],M=s[2];break;case 3:u=[X,Y,A],L=u[0],E=u[1],M=u[2];break;case 4:v=[re,X,A],L=v[0],E=v[1],M=v[2];break;case 5:b=[A,X,Y],L=b[0],E=b[1],M=b[2];break}}return[L,E,M,d.length>3?d[3]:1]},Ba=ja,za=k.unpack,Ua=k.type,Ga=te,sn=I,cn=q,qa=Da;sn.prototype.hsv=function(){return qa(this._rgb)},Ga.hsv=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(sn,[null].concat(r,["hsv"])))},cn.format.hsv=Ba,cn.autodetect.push({p:2,test:function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];if(r=za(r,"hsv"),Ua(r)==="array"&&r.length===3)return"hsv"}});var Nt={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},lt=Nt,Ha=k.unpack,fn=Math.pow,Wa=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=Ha(r,"rgb"),u=s[0],v=s[1],b=s[2],d=Va(u,v,b),g=d[0],m=d[1],x=d[2],A=116*m-16;return[A<0?0:A,500*(g-m),200*(m-x)]},dr=function(r){return(r/=255)<=.04045?r/12.92:fn((r+.055)/1.055,2.4)},vr=function(r){return r>lt.t3?fn(r,1/3):r/lt.t2+lt.t0},Va=function(r,a,s){r=dr(r),a=dr(a),s=dr(s);var u=vr((.4124564*r+.3575761*a+.1804375*s)/lt.Xn),v=vr((.2126729*r+.7151522*a+.072175*s)/lt.Yn),b=vr((.0193339*r+.119192*a+.9503041*s)/lt.Zn);return[u,v,b]},Ul=Wa,Tt=Nt,Js=k.unpack,Qs=Math.pow,ei=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];r=Js(r,"lab");var s=r[0],u=r[1],v=r[2],b,d,g,m,x,A;return d=(s+16)/116,b=isNaN(u)?d:d+u/500,g=isNaN(v)?d:d-v/200,d=Tt.Yn*Xa(d),b=Tt.Xn*Xa(b),g=Tt.Zn*Xa(g),m=Za(3.2404542*b-1.5371385*d-.4985314*g),x=Za(-.969266*b+1.8760108*d+.041556*g),A=Za(.0556434*b-.2040259*d+1.0572252*g),[m,x,A,r.length>3?r[3]:1]},Za=function(r){return 255*(r<=.00304?12.92*r:1.055*Qs(r,1/2.4)-.055)},Xa=function(r){return r>Tt.t1?r*r*r:Tt.t2*(r-Tt.t0)},Gl=ei,ti=k.unpack,ri=k.type,ni=te,ql=I,Hl=q,ai=Ul;ql.prototype.lab=function(){return ai(this._rgb)},ni.lab=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(ql,[null].concat(r,["lab"])))},Hl.format.lab=Gl,Hl.autodetect.push({p:2,test:function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];if(r=ti(r,"lab"),ri(r)==="array"&&r.length===3)return"lab"}});var li=k.unpack,oi=k.RAD2DEG,si=Math.sqrt,ii=Math.atan2,ci=Math.round,fi=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=li(r,"lab"),u=s[0],v=s[1],b=s[2],d=si(v*v+b*b),g=(ii(b,v)*oi+360)%360;return ci(d*1e4)===0&&(g=Number.NaN),[u,d,g]},Wl=fi,ui=k.unpack,di=Ul,vi=Wl,bi=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=ui(r,"rgb"),u=s[0],v=s[1],b=s[2],d=di(u,v,b),g=d[0],m=d[1],x=d[2];return vi(g,m,x)},hi=bi,gi=k.unpack,mi=k.DEG2RAD,pi=Math.sin,$i=Math.cos,_i=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=gi(r,"lch"),u=s[0],v=s[1],b=s[2];return isNaN(b)&&(b=0),b=b*mi,[u,$i(b)*v,pi(b)*v]},Vl=_i,yi=k.unpack,xi=Vl,wi=Gl,ki=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];r=yi(r,"lch");var s=r[0],u=r[1],v=r[2],b=xi(s,u,v),d=b[0],g=b[1],m=b[2],x=wi(d,g,m),A=x[0],L=x[1],E=x[2];return[A,L,E,r.length>3?r[3]:1]},Zl=ki,Ci=k.unpack,Ai=Zl,Si=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=Ci(r,"hcl").reverse();return Ai.apply(void 0,s)},Ei=Si,Ni=k.unpack,Ti=k.type,Xl=te,un=I,Ka=q,Kl=hi;un.prototype.lch=function(){return Kl(this._rgb)},un.prototype.hcl=function(){return Kl(this._rgb).reverse()},Xl.lch=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(un,[null].concat(r,["lch"])))},Xl.hcl=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(un,[null].concat(r,["hcl"])))},Ka.format.lch=Zl,Ka.format.hcl=Ei,["lch","hcl"].forEach(function(r){return Ka.autodetect.push({p:2,test:function(){for(var a=[],s=arguments.length;s--;)a[s]=arguments[s];if(a=Ni(a,r),Ti(a)==="array"&&a.length===3)return r}})});var Li={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},Yl=Li,Pi=I,Jl=q,Oi=k.type,br=Yl,Mi=Qr,Fi=Jr;Pi.prototype.name=function(){for(var r=Fi(this._rgb,"rgb"),a=0,s=Object.keys(br);a0;)a[s]=arguments[s+1];if(!a.length&&Oi(r)==="string"&&br[r.toLowerCase()])return"named"}});var Di=k.unpack,Ri=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=Di(r,"rgb"),u=s[0],v=s[1],b=s[2];return(u<<16)+(v<<8)+b},Ii=Ri,ji=k.type,Bi=function(r){if(ji(r)=="number"&&r>=0&&r<=16777215){var a=r>>16,s=r>>8&255,u=r&255;return[a,s,u,1]}throw new Error("unknown num color: "+r)},zi=Bi,Ui=te,Ql=I,eo=q,Gi=k.type,qi=Ii;Ql.prototype.num=function(){return qi(this._rgb)},Ui.num=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(Ql,[null].concat(r,["num"])))},eo.format.num=zi,eo.autodetect.push({p:5,test:function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];if(r.length===1&&Gi(r[0])==="number"&&r[0]>=0&&r[0]<=16777215)return"num"}});var Hi=te,Ya=I,to=q,ro=k.unpack,no=k.type,ao=Math.round;Ya.prototype.rgb=function(r){return r===void 0&&(r=!0),r===!1?this._rgb.slice(0,3):this._rgb.slice(0,3).map(ao)},Ya.prototype.rgba=function(r){return r===void 0&&(r=!0),this._rgb.slice(0,4).map(function(a,s){return s<3?r===!1?a:ao(a):a})},Hi.rgb=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(Ya,[null].concat(r,["rgb"])))},to.format.rgb=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=ro(r,"rgba");return s[3]===void 0&&(s[3]=1),s},to.autodetect.push({p:3,test:function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];if(r=ro(r,"rgba"),no(r)==="array"&&(r.length===3||r.length===4&&no(r[3])=="number"&&r[3]>=0&&r[3]<=1))return"rgb"}});var dn=Math.log,Wi=function(r){var a=r/100,s,u,v;return a<66?(s=255,u=a<6?0:-155.25485562709179-.44596950469579133*(u=a-2)+104.49216199393888*dn(u),v=a<20?0:-254.76935184120902+.8274096064007395*(v=a-10)+115.67994401066147*dn(v)):(s=351.97690566805693+.114206453784165*(s=a-55)-40.25366309332127*dn(s),u=325.4494125711974+.07943456536662342*(u=a-50)-28.0852963507957*dn(u),v=255),[s,u,v,1]},lo=Wi,Vi=lo,Zi=k.unpack,Xi=Math.round,Ki=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];for(var s=Zi(r,"rgb"),u=s[0],v=s[2],b=1e3,d=4e4,g=.4,m;d-b>g;){m=(d+b)*.5;var x=Vi(m);x[2]/x[0]>=v/u?d=m:b=m}return Xi(m)},Yi=Ki,Ja=te,vn=I,Qa=q,Ji=Yi;vn.prototype.temp=vn.prototype.kelvin=vn.prototype.temperature=function(){return Ji(this._rgb)},Ja.temp=Ja.kelvin=Ja.temperature=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(vn,[null].concat(r,["temp"])))},Qa.format.temp=Qa.format.kelvin=Qa.format.temperature=lo;var Qi=k.unpack,el=Math.cbrt,ec=Math.pow,tc=Math.sign,rc=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=Qi(r,"rgb"),u=s[0],v=s[1],b=s[2],d=[tl(u/255),tl(v/255),tl(b/255)],g=d[0],m=d[1],x=d[2],A=el(.4122214708*g+.5363325363*m+.0514459929*x),L=el(.2119034982*g+.6806995451*m+.1073969566*x),E=el(.0883024619*g+.2817188376*m+.6299787005*x);return[.2104542553*A+.793617785*L-.0040720468*E,1.9779984951*A-2.428592205*L+.4505937099*E,.0259040371*A+.7827717662*L-.808675766*E]},oo=rc;function tl(r){var a=Math.abs(r);return a<.04045?r/12.92:(tc(r)||1)*ec((a+.055)/1.055,2.4)}var nc=k.unpack,bn=Math.pow,ac=Math.sign,lc=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];r=nc(r,"lab");var s=r[0],u=r[1],v=r[2],b=bn(s+.3963377774*u+.2158037573*v,3),d=bn(s-.1055613458*u-.0638541728*v,3),g=bn(s-.0894841775*u-1.291485548*v,3);return[255*rl(4.0767416621*b-3.3077115913*d+.2309699292*g),255*rl(-1.2684380046*b+2.6097574011*d-.3413193965*g),255*rl(-.0041960863*b-.7034186147*d+1.707614701*g),r.length>3?r[3]:1]},so=lc;function rl(r){var a=Math.abs(r);return a>.0031308?(ac(r)||1)*(1.055*bn(a,1/2.4)-.055):r*12.92}var oc=k.unpack,sc=k.type,ic=te,io=I,co=q,cc=oo;io.prototype.oklab=function(){return cc(this._rgb)},ic.oklab=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(io,[null].concat(r,["oklab"])))},co.format.oklab=so,co.autodetect.push({p:3,test:function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];if(r=oc(r,"oklab"),sc(r)==="array"&&r.length===3)return"oklab"}});var fc=k.unpack,uc=oo,dc=Wl,vc=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];var s=fc(r,"rgb"),u=s[0],v=s[1],b=s[2],d=uc(u,v,b),g=d[0],m=d[1],x=d[2];return dc(g,m,x)},bc=vc,hc=k.unpack,gc=Vl,mc=so,pc=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];r=hc(r,"lch");var s=r[0],u=r[1],v=r[2],b=gc(s,u,v),d=b[0],g=b[1],m=b[2],x=mc(d,g,m),A=x[0],L=x[1],E=x[2];return[A,L,E,r.length>3?r[3]:1]},$c=pc,_c=k.unpack,yc=k.type,xc=te,fo=I,uo=q,wc=bc;fo.prototype.oklch=function(){return wc(this._rgb)},xc.oklch=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];return new(Function.prototype.bind.apply(fo,[null].concat(r,["oklch"])))},uo.format.oklch=$c,uo.autodetect.push({p:3,test:function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];if(r=_c(r,"oklch"),yc(r)==="array"&&r.length===3)return"oklch"}});var vo=I,kc=k.type;vo.prototype.alpha=function(r,a){return a===void 0&&(a=!1),r!==void 0&&kc(r)==="number"?a?(this._rgb[3]=r,this):new vo([this._rgb[0],this._rgb[1],this._rgb[2],r],"rgb"):this._rgb[3]};var Cc=I;Cc.prototype.clipped=function(){return this._rgb._clipped||!1};var bt=I,Ac=Nt;bt.prototype.darken=function(r){r===void 0&&(r=1);var a=this,s=a.lab();return s[0]-=Ac.Kn*r,new bt(s,"lab").alpha(a.alpha(),!0)},bt.prototype.brighten=function(r){return r===void 0&&(r=1),this.darken(-r)},bt.prototype.darker=bt.prototype.darken,bt.prototype.brighter=bt.prototype.brighten;var Sc=I;Sc.prototype.get=function(r){var a=r.split("."),s=a[0],u=a[1],v=this[s]();if(u){var b=s.indexOf(u)-(s.substr(0,2)==="ok"?2:0);if(b>-1)return v[b];throw new Error("unknown channel "+u+" in mode "+s)}else return v};var Lt=I,Ec=k.type,Nc=Math.pow,Tc=1e-7,Lc=20;Lt.prototype.luminance=function(r){if(r!==void 0&&Ec(r)==="number"){if(r===0)return new Lt([0,0,0,this._rgb[3]],"rgb");if(r===1)return new Lt([255,255,255,this._rgb[3]],"rgb");var a=this.luminance(),s="rgb",u=Lc,v=function(d,g){var m=d.interpolate(g,.5,s),x=m.luminance();return Math.abs(r-x)r?v(d,m):v(m,g)},b=(a>r?v(new Lt([0,0,0]),this):v(this,new Lt([255,255,255]))).rgb();return new Lt(b.concat([this._rgb[3]]))}return Pc.apply(void 0,this._rgb.slice(0,3))};var Pc=function(r,a,s){return r=nl(r),a=nl(a),s=nl(s),.2126*r+.7152*a+.0722*s},nl=function(r){return r/=255,r<=.03928?r/12.92:Nc((r+.055)/1.055,2.4)},Re={},bo=I,ho=k.type,hn=Re,go=function(r,a,s){s===void 0&&(s=.5);for(var u=[],v=arguments.length-3;v-- >0;)u[v]=arguments[v+3];var b=u[0]||"lrgb";if(!hn[b]&&!u.length&&(b=Object.keys(hn)[0]),!hn[b])throw new Error("interpolation mode "+b+" is not defined");return ho(r)!=="object"&&(r=new bo(r)),ho(a)!=="object"&&(a=new bo(a)),hn[b](r,a,s).alpha(r.alpha()+s*(a.alpha()-r.alpha()))},mo=I,Oc=go;mo.prototype.mix=mo.prototype.interpolate=function(r,a){a===void 0&&(a=.5);for(var s=[],u=arguments.length-2;u-- >0;)s[u]=arguments[u+2];return Oc.apply(void 0,[this,r,a].concat(s))};var po=I;po.prototype.premultiply=function(r){r===void 0&&(r=!1);var a=this._rgb,s=a[3];return r?(this._rgb=[a[0]*s,a[1]*s,a[2]*s,s],this):new po([a[0]*s,a[1]*s,a[2]*s,s],"rgb")};var al=I,Mc=Nt;al.prototype.saturate=function(r){r===void 0&&(r=1);var a=this,s=a.lch();return s[1]+=Mc.Kn*r,s[1]<0&&(s[1]=0),new al(s,"lch").alpha(a.alpha(),!0)},al.prototype.desaturate=function(r){return r===void 0&&(r=1),this.saturate(-r)};var $o=I,_o=k.type;$o.prototype.set=function(r,a,s){s===void 0&&(s=!1);var u=r.split("."),v=u[0],b=u[1],d=this[v]();if(b){var g=v.indexOf(b)-(v.substr(0,2)==="ok"?2:0);if(g>-1){if(_o(a)=="string")switch(a.charAt(0)){case"+":d[g]+=+a;break;case"-":d[g]+=+a;break;case"*":d[g]*=+a.substr(1);break;case"/":d[g]/=+a.substr(1);break;default:d[g]=+a}else if(_o(a)==="number")d[g]=a;else throw new Error("unsupported value for Color.set");var m=new $o(d,v);return s?(this._rgb=m._rgb,this):m}throw new Error("unknown channel "+b+" in mode "+v)}else return d};var Fc=I,Dc=function(r,a,s){var u=r._rgb,v=a._rgb;return new Fc(u[0]+s*(v[0]-u[0]),u[1]+s*(v[1]-u[1]),u[2]+s*(v[2]-u[2]),"rgb")};Re.rgb=Dc;var Rc=I,ll=Math.sqrt,Pt=Math.pow,Ic=function(r,a,s){var u=r._rgb,v=u[0],b=u[1],d=u[2],g=a._rgb,m=g[0],x=g[1],A=g[2];return new Rc(ll(Pt(v,2)*(1-s)+Pt(m,2)*s),ll(Pt(b,2)*(1-s)+Pt(x,2)*s),ll(Pt(d,2)*(1-s)+Pt(A,2)*s),"rgb")};Re.lrgb=Ic;var jc=I,Bc=function(r,a,s){var u=r.lab(),v=a.lab();return new jc(u[0]+s*(v[0]-u[0]),u[1]+s*(v[1]-u[1]),u[2]+s*(v[2]-u[2]),"lab")};Re.lab=Bc;var yo=I,Ot=function(r,a,s,u){var v,b,d,g;u==="hsl"?(d=r.hsl(),g=a.hsl()):u==="hsv"?(d=r.hsv(),g=a.hsv()):u==="hcg"?(d=r.hcg(),g=a.hcg()):u==="hsi"?(d=r.hsi(),g=a.hsi()):u==="lch"||u==="hcl"?(u="hcl",d=r.hcl(),g=a.hcl()):u==="oklch"&&(d=r.oklch().reverse(),g=a.oklch().reverse());var m,x,A,L,E,M;(u.substr(0,1)==="h"||u==="oklch")&&(v=d,m=v[0],A=v[1],E=v[2],b=g,x=b[0],L=b[1],M=b[2]);var O,W,X,Y;return!isNaN(m)&&!isNaN(x)?(x>m&&x-m>180?Y=x-(m+360):x180?Y=x+360-m:Y=x-m,W=m+s*Y):isNaN(m)?isNaN(x)?W=Number.NaN:(W=x,(E==1||E==0)&&u!=="hsv"&&(O=L)):(W=m,(M==1||M==0)&&u!=="hsv"&&(O=A)),O===void 0&&(O=A+s*(L-A)),X=E+s*(M-E),u==="oklch"?new yo([X,O,W],u):new yo([W,O,X],u)},zc=Ot,xo=function(r,a,s){return zc(r,a,s,"lch")};Re.lch=xo,Re.hcl=xo;var Uc=I,Gc=function(r,a,s){var u=r.num(),v=a.num();return new Uc(u+s*(v-u),"num")};Re.num=Gc;var qc=Ot,Hc=function(r,a,s){return qc(r,a,s,"hcg")};Re.hcg=Hc;var Wc=Ot,Vc=function(r,a,s){return Wc(r,a,s,"hsi")};Re.hsi=Vc;var Zc=Ot,Xc=function(r,a,s){return Zc(r,a,s,"hsl")};Re.hsl=Xc;var Kc=Ot,Yc=function(r,a,s){return Kc(r,a,s,"hsv")};Re.hsv=Yc;var Jc=I,Qc=function(r,a,s){var u=r.oklab(),v=a.oklab();return new Jc(u[0]+s*(v[0]-u[0]),u[1]+s*(v[1]-u[1]),u[2]+s*(v[2]-u[2]),"oklab")};Re.oklab=Qc;var ef=Ot,tf=function(r,a,s){return ef(r,a,s,"oklch")};Re.oklch=tf;var ol=I,rf=k.clip_rgb,sl=Math.pow,il=Math.sqrt,cl=Math.PI,wo=Math.cos,ko=Math.sin,nf=Math.atan2,af=function(r,a,s){a===void 0&&(a="lrgb"),s===void 0&&(s=null);var u=r.length;s||(s=Array.from(new Array(u)).map(function(){return 1}));var v=u/s.reduce(function(W,X){return W+X});if(s.forEach(function(W,X){s[X]*=v}),r=r.map(function(W){return new ol(W)}),a==="lrgb")return lf(r,s);for(var b=r.shift(),d=b.get(a),g=[],m=0,x=0,A=0;A=360;)O-=360;d[M]=O}else d[M]=d[M]/g[M];return E/=u,new ol(d,a).alpha(E>.99999?1:E,!0)},lf=function(r,a){for(var s=r.length,u=[0,0,0,0],v=0;v.9999999&&(u[3]=1),new ol(rf(u))},ze=te,Mt=k.type,of=Math.pow,fl=function(r){var a="rgb",s=ze("#ccc"),u=0,v=[0,1],b=[],d=[0,0],g=!1,m=[],x=!1,A=0,L=1,E=!1,M={},O=!0,W=1,X=function(N){if(N=N||["#fff","#000"],N&&Mt(N)==="string"&&ze.brewer&&ze.brewer[N.toLowerCase()]&&(N=ze.brewer[N.toLowerCase()]),Mt(N)==="array"){N.length===1&&(N=[N[0],N[0]]),N=N.slice(0);for(var z=0;z=g[Z];)Z++;return Z-1}return 0},re=function(N){return N},_e=function(N){return N},pe=function(N,z){var Z,V;if(z==null&&(z=!1),isNaN(N)||N===null)return s;if(z)V=N;else if(g&&g.length>2){var ye=Y(N);V=ye/(g.length-2)}else L!==A?V=(N-A)/(L-A):V=1;V=_e(V),z||(V=re(V)),W!==1&&(V=of(V,W)),V=d[0]+V*(1-d[0]-d[1]),V=Math.min(1,Math.max(0,V));var ie=Math.floor(V*1e4);if(O&&M[ie])Z=M[ie];else{if(Mt(m)==="array")for(var J=0;J=ne&&J===b.length-1){Z=m[J];break}if(V>ne&&V2){var J=N.map(function(ae,le){return le/(N.length-1)}),ne=N.map(function(ae){return(ae-A)/(L-A)});ne.every(function(ae,le){return J[le]===ae})||(_e=function(ae){if(ae<=0||ae>=1)return ae;for(var le=0;ae>=ne[le+1];)le++;var Ge=(ae-ne[le])/(ne[le+1]-ne[le]),it=J[le]+Ge*(J[le+1]-J[le]);return it})}}return v=[A,L],K},K.mode=function(N){return arguments.length?(a=N,Ne(),K):a},K.range=function(N,z){return X(N),K},K.out=function(N){return x=N,K},K.spread=function(N){return arguments.length?(u=N,K):u},K.correctLightness=function(N){return N==null&&(N=!0),E=N,Ne(),E?re=function(z){for(var Z=pe(0,!0).lab()[0],V=pe(1,!0).lab()[0],ye=Z>V,ie=pe(z,!0).lab()[0],J=Z+(V-Z)*z,ne=ie-J,ae=0,le=1,Ge=20;Math.abs(ne)>.01&&Ge-- >0;)(function(){return ye&&(ne*=-1),ne<0?(ae=z,z+=(le-z)*.5):(le=z,z+=(ae-z)*.5),ie=pe(z,!0).lab()[0],ne=ie-J})();return z}:re=function(z){return z},K},K.padding=function(N){return N!==null?(Mt(N)==="number"&&(N=[N,N]),d=N,K):d},K.colors=function(N,z){arguments.length<2&&(z="hex");var Z=[];if(arguments.length===0)Z=m.slice(0);else if(N===1)Z=[K(.5)];else if(N>1){var V=v[0],ye=v[1]-V;Z=sf(0,N,!1).map(function(le){return K(V+le/(N-1)*ye)})}else{r=[];var ie=[];if(g&&g.length>2)for(var J=1,ne=g.length,ae=1<=ne;ae?Jne;ae?J++:J--)ie.push((g[J-1]+g[J])*.5);else ie=v;Z=ie.map(function(le){return K(le)})}return ze[z]&&(Z=Z.map(function(le){return le[z]()})),Z},K.cache=function(N){return N!==null?(O=N,K):O},K.gamma=function(N){return N!==null?(W=N,K):W},K.nodata=function(N){return N!==null?(s=ze(N),K):s},K};function sf(r,a,s){for(var u=[],v=rb;v?d++:d--)u.push(d);return u}var hr=I,cf=fl,ff=function(r){for(var a=[1,1],s=1;s=5){var x,A,L;x=r.map(function(E){return E.lab()}),L=r.length-1,A=ff(L),v=function(E){var M=1-E,O=[0,1,2].map(function(W){return x.reduce(function(X,Y,re){return X+A[re]*Math.pow(M,L-re)*Math.pow(E,re)*Y[W]},0)});return new hr(O,"lab")}}else throw new RangeError("No point in running bezier with only one color.");return v},df=function(r){var a=uf(r);return a.scale=function(){return cf(a)},a},ul=te,Ue=function(r,a,s){if(!Ue[s])throw new Error("unknown blend mode "+s);return Ue[s](r,a)},ot=function(r){return function(a,s){var u=ul(s).rgb(),v=ul(a).rgb();return ul.rgb(r(u,v))}},st=function(r){return function(a,s){var u=[];return u[0]=r(a[0],s[0]),u[1]=r(a[1],s[1]),u[2]=r(a[2],s[2]),u}},vf=function(r){return r},bf=function(r,a){return r*a/255},hf=function(r,a){return r>a?a:r},gf=function(r,a){return r>a?r:a},mf=function(r,a){return 255*(1-(1-r/255)*(1-a/255))},pf=function(r,a){return a<128?2*r*a/255:255*(1-2*(1-r/255)*(1-a/255))},$f=function(r,a){return 255*(1-(1-a/255)/(r/255))},_f=function(r,a){return r===255?255:(r=255*(a/255)/(1-r/255),r>255?255:r)};Ue.normal=ot(st(vf)),Ue.multiply=ot(st(bf)),Ue.screen=ot(st(mf)),Ue.overlay=ot(st(pf)),Ue.darken=ot(st(hf)),Ue.lighten=ot(st(gf)),Ue.dodge=ot(st(_f)),Ue.burn=ot(st($f));for(var yf=Ue,dl=k.type,xf=k.clip_rgb,wf=k.TWOPI,kf=Math.pow,Cf=Math.sin,Af=Math.cos,Co=te,Sf=function(r,a,s,u,v){r===void 0&&(r=300),a===void 0&&(a=-1.5),s===void 0&&(s=1),u===void 0&&(u=1),v===void 0&&(v=[0,1]);var b=0,d;dl(v)==="array"?d=v[1]-v[0]:(d=0,v=[v,v]);var g=function(m){var x=wf*((r+120)/360+a*m),A=kf(v[0]+d*m,u),L=b!==0?s[0]+m*b:s,E=L*A*(1-A)/2,M=Af(x),O=Cf(x),W=A+E*(-.14861*M+1.78277*O),X=A+E*(-.29227*M-.90649*O),Y=A+E*(1.97294*M);return Co(xf([W*255,X*255,Y*255,1]))};return g.start=function(m){return m==null?r:(r=m,g)},g.rotations=function(m){return m==null?a:(a=m,g)},g.gamma=function(m){return m==null?u:(u=m,g)},g.hue=function(m){return m==null?s:(s=m,dl(s)==="array"?(b=s[1]-s[0],b===0&&(s=s[1])):b=0,g)},g.lightness=function(m){return m==null?v:(dl(m)==="array"?(v=m,d=m[1]-m[0]):(v=[m,m],d=0),g)},g.scale=function(){return Co.scale(g)},g.hue(s),g},Ef=I,Nf="0123456789abcdef",Tf=Math.floor,Lf=Math.random,Pf=function(){for(var r="#",a=0;a<6;a++)r+=Nf.charAt(Tf(Lf()*16));return new Ef(r,"hex")},vl=p,Ao=Math.log,Of=Math.pow,Mf=Math.floor,Ff=Math.abs,So=function(r,a){a===void 0&&(a=null);var s={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0};return vl(r)==="object"&&(r=Object.values(r)),r.forEach(function(u){a&&vl(u)==="object"&&(u=u[a]),u!==null&&!isNaN(u)&&(s.values.push(u),s.sum+=u,us.max&&(s.max=u),s.count+=1)}),s.domain=[s.min,s.max],s.limits=function(u,v){return Eo(s,u,v)},s},Eo=function(r,a,s){a===void 0&&(a="equal"),s===void 0&&(s=7),vl(r)=="array"&&(r=So(r));var u=r.min,v=r.max,b=r.values.sort(function(hl,gl){return hl-gl});if(s===1)return[u,v];var d=[];if(a.substr(0,1)==="c"&&(d.push(u),d.push(v)),a.substr(0,1)==="e"){d.push(u);for(var g=1;g 0");var m=Math.LOG10E*Ao(u),x=Math.LOG10E*Ao(v);d.push(u);for(var A=1;A200&&(_e=!1)}for(var ct={},Ft=0;Ftu?(s+.05)/(u+.05):(u+.05)/(s+.05)},Lo=I,Ke=Math.sqrt,ve=Math.pow,Rf=Math.min,If=Math.max,Po=Math.atan2,Oo=Math.abs,gn=Math.cos,Mo=Math.sin,jf=Math.exp,Fo=Math.PI,Bf=function(r,a,s,u,v){s===void 0&&(s=1),u===void 0&&(u=1),v===void 0&&(v=1);var b=function(gt){return 360*gt/(2*Fo)},d=function(gt){return 2*Fo*gt/360};r=new Lo(r),a=new Lo(a);var g=Array.from(r.lab()),m=g[0],x=g[1],A=g[2],L=Array.from(a.lab()),E=L[0],M=L[1],O=L[2],W=(m+E)/2,X=Ke(ve(x,2)+ve(A,2)),Y=Ke(ve(M,2)+ve(O,2)),re=(X+Y)/2,_e=.5*(1-Ke(ve(re,7)/(ve(re,7)+ve(25,7)))),pe=x*(1+_e),Ne=M*(1+_e),K=Ke(ve(pe,2)+ve(A,2)),N=Ke(ve(Ne,2)+ve(O,2)),z=(K+N)/2,Z=b(Po(A,pe)),V=b(Po(O,Ne)),ye=Z>=0?Z:Z+360,ie=V>=0?V:V+360,J=Oo(ye-ie)>180?(ye+ie+360)/2:(ye+ie)/2,ne=1-.17*gn(d(J-30))+.24*gn(d(2*J))+.32*gn(d(3*J+6))-.2*gn(d(4*J-63)),ae=ie-ye;ae=Oo(ae)<=180?ae:ie<=ye?ae+360:ae-360,ae=2*Ke(K*N)*Mo(d(ae)/2);var le=E-m,Ge=N-K,it=1+.015*ve(W-50,2)/Ke(20+ve(W-50,2)),ct=1+.045*z,Ft=1+.015*z*ne,Dt=30*jf(-ve((J-275)/25,2)),Ye=2*Ke(ve(z,7)/(ve(z,7)+ve(25,7))),ht=-Ye*Mo(2*d(Dt)),gr=Ke(ve(le/(s*it),2)+ve(Ge/(u*ct),2)+ve(ae/(v*Ft),2)+ht*(Ge/(u*ct))*(ae/(v*Ft)));return If(0,Rf(100,gr))},Do=I,zf=function(r,a,s){s===void 0&&(s="lab"),r=new Do(r),a=new Do(a);var u=r.get(s),v=a.get(s),b=0;for(var d in u){var g=(u[d]||0)-(v[d]||0);b+=g*g}return Math.sqrt(b)},Uf=I,Gf=function(){for(var r=[],a=arguments.length;a--;)r[a]=arguments[a];try{return new(Function.prototype.bind.apply(Uf,[null].concat(r))),!0}catch{return!1}},Ro=te,Io=fl,qf={cool:function(){return Io([Ro.hsl(180,1,.9),Ro.hsl(250,.7,.4)])},hot:function(){return Io(["#000","#f00","#ff0","#fff"]).mode("rgb")}},mn={OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],Viridis:["#440154","#482777","#3f4a8a","#31678e","#26838f","#1f9d8a","#6cce5a","#b6de2b","#fee825"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},bl=0,jo=Object.keys(mn);bl{const n={};for(const l in e){const o=ke.mix(e[l][0],e[l][1],l=="NEUTRAL"?.8:.95,"lab"),i=ke.mix(ke(e[l][1]),Ju,.8,"rgb"),c=ke.mix(o,e[l][0],.7,"lch");n[l]=[l=="NEUTRAL"?ke(e[l][2]).brighten(.3).hex():ke.mix(ke(e[l][2]).darken(.44),i,.15,"lab").saturate(.7).hex(),ke.mix(o.hex(),c.hex(),.03).hex(),l=="NEUTRAL"?ke(c).brighten(.75).hex():ke.mix(c,e[l][0],.86,"lab").hex()]}return n},e0=[0,2,5,9,16,19],Zo=e=>[...ke.scale([e[0],e[1]]).mode("lab").colors(24).filter((t,n)=>e0.includes(n)),...ke.scale([e[1],e[2]]).mode("lab").colors(7).filter((t,n)=>n%2==0)],Xo=e=>e.reduce((t,n,l)=>({...t,[`0${l}`]:n}),{}),Ds=(e,t)=>{const n={};for(const l in e)t?n[l]=Xo(r0(Zo(e[l]))):n[l]=Xo(Zo(e[l]));return n},t0=[.87,.7,.5,.4,.1,0],r0=e=>{const t=e,n=ke($t[1]).brighten(.05);for(var l=0;l<6;l++)t[l]=ke.mix(e[l],n,t0[l],"rgb").hex();return t};let n0=Ds(Fs,!1),a0=Ds(Qu(Fs),!0);const Rs=()=>Se()?a0:n0,Kt=e=>Object.values(e).map(t=>Object.values(t)),Is={NEUTRAL:{"00":"#1b1d1c","01":"#262727","02":"#414342","03":"#585a59","04":"#747776","05":"#a0a2a1","06":"#abadac","07":"#b2b4b3","08":"#c9cbca","09":"#eff1f0"},OCEAN:{100:"#171c24",200:"#172336",300:"#152a46",400:"#143355",500:"#0a64ae",600:"#0679d2",700:"#1893f6",800:"#4caafa",900:"#72bcfb",1e3:"#c2e2fd"},BLUE:{100:"#181923",200:"#171a33",300:"#171b42",400:"#16204f",500:"#1235a1",600:"#1b41c1",700:"#2b50e2",800:"#5670e5",900:"#788bea",1e3:"#c5cdf6"},INDIGO:{100:"#171721",200:"#15152e",300:"#14133b",400:"#1a1147",500:"#2d088e",600:"#3b05aa",700:"#4c0cc7",800:"#6e3cd0",900:"#8960d7",1e3:"#ccbaee"},VIOLET:{100:"#1a1721",200:"#1d162f",300:"#21143b",400:"#291747",500:"#4a1d8b",600:"#5a24a6",700:"#6d2fc2",800:"#8756cb",900:"#9d75d4",1e3:"#d5c3ec"},CRIMSON:{100:"#21171d",200:"#2f1521",300:"#3d1327",400:"#4c172f",500:"#9e285a",600:"#bf346d",700:"#e14785",800:"#ea6c9e",900:"#f189b2",1e3:"#f9ccde"},WINE:{100:"#1d1719",200:"#251517",300:"#2e1316",400:"#371118",500:"#6d0721",600:"#840928",700:"#9d1635",800:"#af4259",900:"#bf6577",1e3:"#e3bcc4"},RED:{100:"#1f1719",200:"#2a1517",300:"#351315",400:"#411116",500:"#870819",600:"#a30f21",700:"#c31f2e",800:"#d04b56",900:"#db6f75",1e3:"#efc1c3"},SUN:{100:"#211719",200:"#2f1517",300:"#3e1316",400:"#4c1517",500:"#a3201b",600:"#c62c23",700:"#ea3e33",800:"#f1655c",900:"#f6837b",1e3:"#fbcac6"},ORANGE:{100:"#221a19",200:"#341c16",300:"#442114",400:"#532813",500:"#b04e08",600:"#d56004",700:"#fb7912",800:"#fd9644",900:"#fead6a",1e3:"#fedbbf"},YELLOW:{100:"#211f19",200:"#322916",300:"#413414",400:"#504013",500:"#ab8508",600:"#cfa306",700:"#f8c51a",800:"#fcd756",900:"#fde484",1e3:"#fef3ca"},SAPLING:{100:"#1d1f19",200:"#242b16",300:"#2c3614",400:"#364218",500:"#6d8925",600:"#84a82e",700:"#a2c940",800:"#bad76f",900:"#cde492",1e3:"#e9f3d0"},GREEN:{100:"#171d1b",200:"#15261a",300:"#132f1b",400:"#113920",500:"#077233",600:"#048b3f",700:"#0da750",800:"#45ba75",900:"#6fca92",1e3:"#c1e8d0"},AURORA:{100:"#171f1f",200:"#152b28",300:"#133730",400:"#12433a",500:"#1c8b74",600:"#28a98d",700:"#3bcbab",800:"#6cd9c0",900:"#90e4d1",1e3:"#cff3eb"},CYAN:{100:"#171f22",200:"#152a30",300:"#13363d",400:"#11414a",500:"#078899",600:"#04a6b9",700:"#09c8de",800:"#4ed7e9",900:"#7ce4f1",1e3:"#c6f3f9"}},l0={NEUTRAL:{"00":"#f3f5f3","01":"#eff1f0","02":"#d0d2d1","03":"#c2c5c4","04":"#9b9d9c","05":"#747776","06":"#585a59","07":"#414342","08":"#262727","09":"#1b1d1c"},OCEAN:{"00":"#f3fcff","01":"#e4f6fe","02":"#cfeafd","03":"#badefd","04":"#68b7fa","05":"#4eabfa","06":"#1893f6","07":"#036abe","08":"#06488d","09":"#03284e"},BLUE:{"00":"#f2f3fc","01":"#e3e6f9","02":"#d0d5f6","03":"#bdc6f5","04":"#7085ea","05":"#5872e6","06":"#2b50e2","07":"#0c35af","08":"#0b1f82","09":"#061148"},INDIGO:{"00":"#f4eefa","01":"#e7dcf6","02":"#d6c5f2","03":"#c5b1ec","04":"#8357d7","05":"#6f3ed0","06":"#4c0cc7","07":"#2b0199","08":"#130070","09":"#0a003d"},VIOLET:{"00":"#f6f1fb","01":"#ece1f6","02":"#ddcdf2","03":"#cfbbeb","04":"#996dd4","05":"#8958cc","06":"#6d2fc2","07":"#4d1996","08":"#320b6f","09":"#1c063d"},CRIMSON:{"00":"#fdf5fa","01":"#fce8f2","02":"#fad7e6","03":"#f9c5d9","04":"#f082ad","05":"#ea6e9f","06":"#e14785","07":"#ac265e","08":"#7d0d3c","09":"#450721"},WINE:{"00":"#faeff1","01":"#f4dde1","02":"#ebc7ce","03":"#e0b3bc","04":"#bc5d71","05":"#b0445b","06":"#9d1635","07":"#75001d","08":"#52000c","09":"#2d0007"},RED:{"00":"#fcf1f1","01":"#f8e0e0","02":"#f5cbcd","03":"#eeb8bb","04":"#d9666d","05":"#d04d58","06":"#c31f2e","07":"#920114","08":"#660007","09":"#380004"},SUN:{"00":"#fef4f2","01":"#fde7e3","02":"#fbd4d0","03":"#fbc2be","04":"#f67c73","05":"#f1675e","06":"#ea3e33","07":"#b21c16","08":"#7f0808","09":"#460405"},ORANGE:{"00":"#fffaf2","01":"#fff2e1","02":"#fee5cb","03":"#fed7b6","04":"#fda660","05":"#fd9746","06":"#fb7912","07":"#c15100","08":"#8e3100","09":"#4e1b00"},YELLOW:{"00":"#fffef8","01":"#fffcec","02":"#fefad9","03":"#fef2c3","04":"#fde177","05":"#fcd758","06":"#f8c51a","07":"#bb9000","08":"#866400","09":"#4a3700"},SAPLING:{"00":"#fdfef8","01":"#f9fced","02":"#f2f9dd","03":"#e7f2ca","04":"#c8e188","05":"#bbd870","06":"#a2c940","07":"#749521","08":"#4e690b","09":"#2b3a06"},GREEN:{"00":"#f3fbf6","01":"#e3f7ea","02":"#cef0da","03":"#b8e5ca","04":"#64c68b","05":"#47bb77","06":"#0da750","07":"#007a32","08":"#00561c","09":"#002f0f"},AURORA:{"00":"#f8fefd","01":"#edfbfa","02":"#dcf9f3","03":"#c9f3e9","04":"#86e3cd","05":"#6edac1","06":"#3bcbab","07":"#18967c","08":"#026a55","09":"#013a2f"},CYAN:{"00":"#f6fefe","01":"#e9fcfd","02":"#d6f9fb","03":"#bff2f9","04":"#70e1f0","05":"#50d8e9","06":"#09c8de","07":"#0093a6","08":"#006776","09":"#003941"}},Ht=()=>Se()?Is:l0,Mn=()=>Kt(Ht()),o0=P(' '),s0=e=>(()=>{const t=o0.cloneNode(!0);return Me(t,e,!1,!0),C(t,()=>e.children),t})(),i0=P('Flex Design Colors '),c0=P('Flex Design Colors Uniform '),[Nl,Ko]=de("Flex Design Colors Uniform"),[he,kr]=de(Is),js=()=>{const[e,t]=de("fu");return et(()=>{e()=="fc"&&kr(Ht()),e()=="fu"?kr(Rs()):kr(Ht())}),_(s0,{"aria-label":"Change Color Pallet",value:"fu",onChange:l=>{l.target.value=="fc"?(t("fc"),Ko("Flex Design Colors (Legacy)")):l.target.value=="fu"&&(t("fu"),Ko("Flex Design Colors Uniform"))},get children(){return[i0.cloneNode(!0),c0.cloneNode(!0)]}})},f0=P(" "),u0=P(' '),d0=P(' '),[Se,Tl]=de(window.matchMedia("(prefers-color-scheme: dark)").matches),v0=()=>{Fl(()=>{localStorage.getItem("theme")&&Tl(localStorage.getItem("theme")=="dark")}),et(()=>{Se()?(document.documentElement.classList.add("dark"),localStorage.setItem("theme","dark")):(document.documentElement.classList.remove("dark"),localStorage.setItem("theme","light")),Nl()=="Flex Design Colors Uniform"?kr(Rs()):kr(Ht())});const e=()=>{Tl(!Se())};return _(Le,{aria:"Dark-mode Toggle",get children(){const t=f0.cloneNode(!0);return t.$$click=()=>e(),C(t,(()=>{const n=G(()=>!!Se(),!0);return()=>n()?u0.cloneNode(!0):d0.cloneNode(!0)})()),t}})};rt(["click"]);const Yo=P(' '),Jo=P(' '),b0=P(`>16,n=(e&65280)>>8,l=e&255;function o(i){return Math.pow(i/255,_0)}return y0*o(t)+x0*o(n)+w0*o(l)}function F0(e,t){var n=0,l=0;return e=e>_n?e:e+Math.pow(_n-e,es),t=t>_n?t:t+Math.pow(_n-t,es),Math.abs(t-e)
e?(n=(Math.pow(t,k0)-Math.pow(e,C0))*E0,l=n-ns?0:n>-L0?n-n*O0*rs:n+rs),l*100)}const Bt=(e,t)=>{const n=parseInt(`0x${e.substring(1)}`,16),l=parseInt(`0x${t.substring(1)}`,16);return F0(as(n),as(l))},$l=(e,t)=>{for(const n of e){if(Bt(n,t)>(Se()?30:40))return[Bt(Se()?e[2]:e[8],t),Se()?e[2]:e[8]];if(Bt(n,t)<(Se()?-60:-50))return[Bt(Se()?e[8]:e[2],t),Se()?e[8]:e[2]]}return[0,"#000"]},D0=(e,t,n)=>{const l=Math.abs(Bt(t,e)),o=Math.abs(Bt(n,e));return l>o?t:n},[ce,yn]=de([7,5]),R0=()=>(yt(()=>{document.removeEventListener("keydown",()=>!0)}),et(()=>{document.removeEventListener("keydown",()=>!0),document.addEventListener("keydown",e=>{(e.ctrlKey||e.metaKey)&&e.key==="k"&&Tl(!Se()),["Space","ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].indexOf(e.code)>-1&&e.preventDefault(),e.code=="ArrowUp"&&ce()[1]>0&&yn([ce()[0],ce()[1]-1]),e.code=="ArrowDown"&&ce()[1]0&&yn([ce()[0]-1,ce()[1]]),e.code=="ArrowRight"&&ce()[0]typeof e=="function",Fn=(e,t)=>I0(e)?e(t):e;var be;(function(e){e[e.ADD_TOAST=0]="ADD_TOAST",e[e.UPDATE_TOAST=1]="UPDATE_TOAST",e[e.UPSERT_TOAST=2]="UPSERT_TOAST",e[e.DISMISS_TOAST=3]="DISMISS_TOAST",e[e.REMOVE_TOAST=4]="REMOVE_TOAST",e[e.START_PAUSE=5]="START_PAUSE",e[e.END_PAUSE=6]="END_PAUSE"})(be||(be={}));const Dn=Symbol("store-raw"),Sr=Symbol("store-node"),j0=Symbol("store-name");function Bs(e,t){let n=e[Ze];if(!n&&(Object.defineProperty(e,Ze,{value:n=new Proxy(e,U0)}),!Array.isArray(e))){const l=Object.keys(e),o=Object.getOwnPropertyDescriptors(e);for(let i=0,c=l.length;ie[Ze][t]),n}function zs(e){if(vs()){const t=Bl(e);(t._||(t._=Us()))()}}function z0(e){return zs(e),Reflect.ownKeys(e)}function Us(e){const[t,n]=de(e,{equals:!1,internal:!0});return t.$=n,t}const U0={get(e,t,n){if(t===Dn)return e;if(t===Ze)return n;if(t===Al)return zs(e),n;const l=Bl(e),o=l.hasOwnProperty(t);let i=o?l[t]():e[t];if(t===Sr||t==="__proto__")return i;if(!o){const c=Object.getOwnPropertyDescriptor(e,t);vs()&&(typeof i!="function"||e.hasOwnProperty(t))&&!(c&&c.get)&&(i=Ll(l,t,i)())}return Wt(i)?Bs(i):i},has(e,t){return t===Dn||t===Ze||t===Al||t===Sr||t==="__proto__"?!0:(this.get(e,t,e),t in e)},set(){return!0},deleteProperty(){return!0},ownKeys:z0,getOwnPropertyDescriptor:B0};function Zt(e,t,n,l=!1){if(!l&&e[t]===n)return;const o=e[t],i=e.length;n===void 0?delete e[t]:e[t]=n;let c=Bl(e),f;(f=Ll(c,t,o))&&f.$(()=>n),Array.isArray(e)&&e.length!==i&&(f=Ll(c,"length",i))&&f.$(e.length),(f=c._)&&f.$()}function Gs(e,t){const n=Object.keys(t);for(let l=0;l1){l=t.shift();const c=typeof l,f=Array.isArray(e);if(Array.isArray(l)){for(let h=0;h1){_r(e[l],t,[l].concat(n));return}o=e[l],n=[l].concat(n)}let i=t[0];typeof i=="function"&&(i=i(o,n),i===o)||l===void 0&&i==null||(i=Vt(i),l===void 0||Wt(o)&&Wt(i)&&!Array.isArray(i)?Gs(o,i):Zt(e,l,i))}function q0(...[e,t]){const n=Vt(e||{}),l=Array.isArray(n),o=Bs(n);function i(...c){Xf(()=>{l&&c.length===1?G0(n,c[0]):_r(n,c)})}return[o,i]}const Rn=new WeakMap,qs={get(e,t){if(t===Dn)return e;const n=e[t];let l;return Wt(n)?Rn.get(n)||(Rn.set(n,l=new Proxy(n,qs)),l):n},set(e,t,n){return Zt(e,t,Vt(n)),!0},deleteProperty(e,t){return Zt(e,t,void 0,!0),!0}};function xn(e){return t=>{if(Wt(t)){let n;(n=Rn.get(t))||Rn.set(t,n=new Proxy(t,qs)),e(n)}return t}}const[_t,ft]=q0({toasts:[],pausedAt:void 0}),H0=()=>{const{pausedAt:e,toasts:t}=_t;if(e)return;const n=Date.now();return t.map(o=>{if(o.duration===1/0)return;const i=(o.duration||0)+o.pauseDuration-(n-o.createdAt);if(i<=0){o.visible&&We({type:be.DISMISS_TOAST,toastId:o.id});return}return setTimeout(()=>{We({type:be.DISMISS_TOAST,toastId:o.id})},i)})},Cr=new Map,ls=(e,t)=>{if(Cr.has(e))return;const n=setTimeout(()=>{Cr.delete(e),We({type:be.REMOVE_TOAST,toastId:e})},t);Cr.set(e,n)},W0=e=>{const t=Cr.get(e);Cr.delete(e),t&&clearTimeout(t)},We=e=>{switch(e.type){case be.ADD_TOAST:ft("toasts",o=>{const i=o;return[e.toast,...i]});break;case be.DISMISS_TOAST:const{toastId:t}=e,n=_t.toasts;if(t){const o=n.find(i=>i.id===t);o&&ls(t,o.unmountDelay),ft("toasts",i=>i.id===t,xn(i=>i.visible=!1))}else n.forEach(o=>{ls(o.id,o.unmountDelay)}),ft("toasts",o=>o.id!==void 0,xn(o=>o.visible=!1));break;case be.REMOVE_TOAST:if(!e.toastId){ft("toasts",[]);break}ft("toasts",o=>o.filter(c=>c.id!==e.toastId));break;case be.UPDATE_TOAST:e.toast.id&&W0(e.toast.id),ft("toasts",o=>o.id===e.toast.id,o=>({...o,...e.toast}));break;case be.UPSERT_TOAST:_t.toasts.find(o=>o.id===e.toast.id)?We({type:be.UPDATE_TOAST,toast:e.toast}):We({type:be.ADD_TOAST,toast:e.toast});break;case be.START_PAUSE:ft(xn(o=>{o.pausedAt=Date.now(),o.toasts.forEach(i=>{i.paused=!0})}));break;case be.END_PAUSE:const l=e.time-(_t.pausedAt||0);ft(xn(o=>{o.pausedAt=void 0,o.toasts.forEach(i=>{i.pauseDuration+=l,i.paused=!1})}));break}},V0={blank:4e3,error:4e3,success:2e3,loading:1/0,custom:4e3},Gt={id:"",icon:"",unmountDelay:500,duration:3e3,ariaProps:{role:"status","aria-live":"polite"},className:"",style:{},position:"top-right",iconTheme:{}},Hs={position:"top-right",toastOptions:Gt,gutter:8,containerStyle:{},containerClassName:""},wn="16px",Z0={position:"fixed","z-index":9999,top:wn,bottom:wn,left:wn,right:wn,"pointer-events":"none"},X0=(()=>{let e=0;return()=>String(++e)})(),K0=e=>{nd(t=>({containerClassName:e.containerClassName??t.containerClassName,containerStyle:e.containerStyle??t.containerStyle,gutter:e.gutter??t.gutter,position:e.position??t.position,toastOptions:{...e.toastOptions}}))},Y0=(e,t)=>{const l=e.includes("top")?{top:0,"margin-top":`${t}px`}:{bottom:0,"margin-bottom":`${t}px`},o=e.includes("center")?{"justify-content":"center"}:e.includes("right")?{"justify-content":"flex-end"}:{};return{left:0,right:0,display:"flex",position:"absolute",transition:"all 230ms cubic-bezier(.21,1.02,.73,1)",...l,...o}},J0=(e,t)=>{const n=e.getBoundingClientRect();n.height!==t.height&&We({type:be.UPDATE_TOAST,toast:{id:t.id,height:n.height}})},Q0=(e,t)=>{const{toasts:n}=_t,l=jt().gutter||Hs.gutter||8,o=n.filter(h=>(h.position||t)===t&&h.height),i=o.findIndex(h=>h.id===e.id),c=o.filter((h,p)=>ph+l+(p.height||0),0)},ed=(e,t)=>(e.position||t).includes("top")?1:-1,td={display:"flex","align-items":"center",color:"#363636",background:"white","box-shadow":"0 3px 10px rgba(0, 0, 0, 0.1), 0 3px 3px rgba(0, 0, 0, 0.05)","max-width":"350px","pointer-events":"auto",padding:"8px 10px","border-radius":"4px","line-height":"1.3","will-change":"transform"},rd={display:"flex","align-items":"center",flex:"1 1 auto",margin:"4px 10px","white-space":"pre-line"},kn={"flex-shrink":0,"min-width":"20px","min-height":"20px",display:"flex","align-items":"center","justify-content":"center","text-align":"center"},In=e=>({calcMode:"spline",keyTimes:"0; 1",keySplines:e}),[jt,nd]=de(Hs),ad=(e,t="blank",n)=>({...Gt,...jt().toastOptions,...n,type:t,message:e,pauseDuration:0,createdAt:Date.now(),visible:!0,id:n.id||X0(),paused:!1,style:{...Gt.style,...jt().toastOptions?.style,...n.style},duration:n.duration||jt().toastOptions?.duration||V0[t],position:n.position||jt().toastOptions?.position||jt().position||Gt.position}),Er=e=>(t,n={})=>{const l=_t.toasts.find(i=>i.id===n.id),o=ad(t,e,{...l,duration:void 0,...n});return We({type:be.UPSERT_TOAST,toast:o}),o.id},He=(e,t)=>Er("blank")(e,t);He.error=Er("error");He.success=Er("success");He.loading=Er("loading");He.custom=Er("custom");He.dismiss=e=>{We({type:be.DISMISS_TOAST,toastId:e})};He.promise=(e,t,n)=>{const l=He.loading(t.loading,{...n});return e.then(o=>(He.success(Fn(t.success,o),{id:l,...n}),o)).catch(o=>{He.error(Fn(t.error,o),{id:l,...n})}),e};He.remove=e=>{We({type:be.REMOVE_TOAST,toastId:e})};const ld=P("
"),od=e=>(et(()=>{K0(e)}),et(()=>{const t=H0();yt(()=>{!t||t.forEach(n=>n&&clearTimeout(n))})}),(()=>{const t=ld.cloneNode(!0);return t.firstChild,C(t,_(Pe,{get each(){return _t.toasts},children:n=>_(fd,{toast:n})}),null),U(n=>{const l={...Z0,...e.containerStyle},o=e.containerClassName;return n._v$=w(t,l,n._v$),o!==n._v$2&&Be(t,n._v$2=o),n},{_v$:void 0,_v$2:void 0}),t})()),Cn=P("
"),sd=P(""),id=e=>{let t;return et(()=>{if(!t)return;const n=ed(e.toast,e.position);e.toast.visible?t.animate([{transform:`translate3d(0,${n*-200}%,0) scale(.6)`,opacity:.5},{transform:"translate3d(0,0,0) scale(1)",opacity:1}],{duration:350,fill:"forwards",easing:"cubic-bezier(.21,1.02,.73,1)"}):t.animate([{transform:"translate3d(0,0,-1px) scale(1)",opacity:1},{transform:`translate3d(0,${n*-150}%,-1px) scale(.4)`,opacity:0}],{duration:400,fill:"forwards",easing:"cubic-bezier(.06,.71,.55,1)"})}),(()=>{const n=sd.cloneNode(!0),l=n.firstChild,o=t;return typeof o=="function"?o(n):t=n,C(n,_(ou,{get children(){return[_($n,{get when(){return e.toast.icon},get children(){const i=Cn.cloneNode(!0);return C(i,()=>e.toast.icon),U(c=>w(i,kn,c)),i}}),_($n,{get when(){return e.toast.type==="loading"},get children(){const i=Cn.cloneNode(!0);return C(i,_(pd,xr(()=>e.toast.iconTheme))),U(c=>w(i,kn,c)),i}}),_($n,{get when(){return e.toast.type==="success"},get children(){const i=Cn.cloneNode(!0);return C(i,_(bd,xr(()=>e.toast.iconTheme))),U(c=>w(i,kn,c)),i}}),_($n,{get when(){return e.toast.type==="error"},get children(){const i=Cn.cloneNode(!0);return C(i,_(gd,xr(()=>e.toast.iconTheme))),U(c=>w(i,kn,c)),i}})]}}),l),Me(l,()=>e.toast.ariaProps,!1,!0),C(l,()=>Fn(e.toast.message,e.toast)),U(i=>{const c=e.toast.className,f={...td,...e.toast.style},h=rd;return c!==i._v$&&Be(n,i._v$=c),i._v$2=w(n,f,i._v$2),i._v$3=w(l,h,i._v$3),i},{_v$:void 0,_v$2:void 0,_v$3:void 0}),n})()},cd=P("
"),fd=e=>{const t=()=>{const o=e.toast.position||Gt.position,i=Q0(e.toast,o);return Y0(o,i)},n=G(()=>t());let l;return Fl(()=>{l&&J0(l,e.toast)}),(()=>{const o=cd.cloneNode(!0);o.addEventListener("mouseleave",()=>We({type:be.END_PAUSE,time:Date.now()})),o.addEventListener("mouseenter",()=>We({type:be.START_PAUSE,time:Date.now()}));const i=l;return typeof i=="function"?i(o):l=o,C(o,(()=>{const c=G(()=>e.toast.type==="custom",!0);return()=>c()?Fn(e.toast.message,e.toast):_(id,{get toast(){return e.toast},get position(){return e.toast.position||Gt.position}})})()),U(c=>{const f=n(),h=e.toast.visible?"sldt-active":"";return c._v$=w(o,f,c._v$),h!==c._v$2&&Be(o,c._v$2=h),c},{_v$:void 0,_v$2:void 0}),o})()},ud=P(' ',8,!0),dd=P(' ',8,!0),Ws=e=>{const t={dur:"0.35s",begin:"100ms",fill:"freeze",calcMode:"spline",keyTimes:"0; 0.6; 1",keySplines:"0.25 0.71 0.4 0.88; .59 .22 .87 .63"};return(()=>{const n=ud.cloneNode(!0),l=n.firstChild,o=l.nextSibling;return Me(l,t,!0,!1),Me(o,t,!0,!1),U(()=>ge(n,"fill",e.fill)),n})()},Vs=e=>{const t={dur:"1s",begin:e.begin||"320ms",fill:"freeze",...In("0.0 0.0 0.2 1")};return(()=>{const n=dd.cloneNode(!0),l=n.firstChild,o=l.nextSibling;return Me(l,t,!0,!1),Me(o,t,!0,!1),U(()=>ge(n,"fill",e.fill)),n})()},vd=P(' '),bd=e=>{const t=e.primary||"#34C759";return(()=>{const n=vd.cloneNode(!0),l=n.firstChild,o=l.firstChild;return n.style.setProperty("overflow","visible"),C(n,_(Ws,{fill:t}),l),C(n,_(Vs,{fill:t,begin:"350ms"}),l),Me(o,()=>In("0.0, 0.0, 0.58, 1.0"),!0,!1),U(()=>ge(l,"stroke",e.secondary||"#FCFCFC")),n})()},hd=P(' '),gd=e=>{const t=e.primary||"#FF3B30";return(()=>{const n=hd.cloneNode(!0),l=n.firstChild,o=l.firstChild,i=l.nextSibling,c=i.firstChild;return n.style.setProperty("overflow","visible"),C(n,_(Ws,{fill:t}),l),C(n,_(Vs,{fill:t}),l),Me(o,()=>In("0.0, 0.0, 0.58, 1.0"),!0,!1),Me(c,()=>In("0.0, 0.0, 0.58, 1.0"),!0,!1),U(f=>{const h=e.secondary||"#FFFFFF",p=e.secondary||"#FFFFFF";return h!==f._v$&&ge(l,"stroke",f._v$=h),p!==f._v$2&&ge(i,"fill",f._v$2=p),f},{_v$:void 0,_v$2:void 0}),n})()},md=P(' '),pd=e=>(()=>{const t=md.cloneNode(!0),n=t.firstChild,l=n.nextSibling;return t.style.setProperty("overflow","visible"),U(o=>{const i=e.primary||"#E5E7EB",c=e.secondary||"#4b5563";return i!==o._v$&&ge(n,"stroke",o._v$=i),c!==o._v$2&&ge(l,"stroke",o._v$2=c),o},{_v$:void 0,_v$2:void 0}),t})(),Pl=He,$d=P(``),_d=P(' '),zl=e=>{navigator.clipboard.writeText(e).then(()=>{Pl.custom(t=>_(os,{box:e,showExit:!0,toast:t,children:"Pallette Copied! "}),{unmountDelay:0})},()=>{Pl.custom(t=>_(os,{color:"error",showExit:!0,toast:t,children:"Copying Failed!"}))})},os=e=>{const[t,n]=Il(e,["children","toast","color","showExit","box"]);return(()=>{const l=$d.cloneNode(!0),o=l.firstChild,i=o.firstChild;return Me(l,n,!1,!0),C(l,(()=>{const c=G(()=>!!t.box,!0);return()=>c()&&_(Wn,{class:"h-5 w-5 rounded-md",get color(){return e.box}})})(),o),C(o,()=>e.children,i),C(i,()=>e.box),C(l,(()=>{const c=G(()=>!!t.showExit,!0);return()=>c()&&(()=>{const f=_d.cloneNode(!0);return f.$$click=()=>Pl.dismiss(e.toast.id),f})()})(),null),l})()};rt(["click"]);const yd=P(''),xd=P('
'),wd=P(''),kd=e=>{const t=()=>e.swatch?e.swatch:Ht(),n=()=>ce();return[(()=>{const l=yd.cloneNode(!0);return l.firstChild,C(l,_(Pe,{get each(){return Object.keys(Object.values(t())[0])},children:(o,i)=>(()=>{const c=xd.cloneNode(!0);return C(c,o),c})()}),null),l})(),_(Pe,{get each(){return Object.entries(t())},children:([l,o],i)=>(()=>{const c=wd.cloneNode(!0),f=c.firstChild;return C(f,()=>l.toLocaleLowerCase()),C(c,_(Pe,{get each(){return Object.values(o)},children:(h,p)=>_(Wn,{color:h,get textColor(){return $l(Object.values(o),h)[1].toString()},tabindex:0,get class(){return`grow text-[10px] sm:text-xs h-10 flex flex-1 justify-center items-center font-mono font-medium outline-none
- ${n()[0]==p()&&n()[1]==i()?"focused":""}`},onClick:()=>zl(h),get children(){return G(()=>Math.abs($l(Object.values(o),h)[0])>60,!0)()?$l(Object.values(o),h)[0].toFixed():""}})}),null),c})()})]},Cd=P(' '),Ad=P(' '),Sd=P(''),Ed=P("
"),Ol=e=>{const t=()=>e.swatch?e.swatch:Ht(),n=()=>e.swatchArr?e.swatchArr:Mn();return(()=>{const l=Sd.cloneNode(!0),o=l.firstChild,i=o.nextSibling;return C(l,_(qe,{get when(){return!e.disableText},get children(){return[(()=>{const c=Cd.cloneNode(!0);return C(c,()=>e.trackIndex=="color"?"Color Name":"Color ID"),c})(),(()=>{const c=Ad.cloneNode(!0);return C(c,(()=>{const f=G(()=>e.trackIndex=="color",!0);return()=>f()?Object.keys(t())[ce()[1]].toLocaleLowerCase():`0${Object.keys(Object.values(t()))[ce()[0]]}`})()),c})()]}}),o),C(o,_(Pe,{get each(){return G(()=>e.trackIndex=="color",!0)()?Object.keys(Object.values(t())[0]):Object.keys(t())},children:(c,f)=>(()=>{const h=Ed.cloneNode(!0);return C(h,(()=>{const p=G(()=>e.trackIndex=="color",!0);return()=>p()?c:Object.keys(t())[f()].toLocaleLowerCase()})()),U(()=>Be(h,`${e.trackIndex=="color"?"font-mono":""}
- w-full text-slate-600 dark:text-neutral-400 capitalize text-xs sm:text-sm`)),h})()})),C(i,_(Pe,{get each(){return G(()=>e.trackIndex=="color",!0)()?n()[ce()[1]]:n().map(c=>c[ce()[0]])},children:(c,f)=>_(Wn,{color:c,tabindex:0,get class(){return`h-12 flex flex-1 justify-center items-center font-mono font-medium outline-none
+ `;return l!==n._v$&&ge(t,"tabindex",n._v$=l),o!==n._v$2&&Be(t,n._v$2=o),n._v$3=w(t,i,n._v$3),n},{_v$:void 0,_v$2:void 0,_v$3:void 0}),t})());rt(["click"]);const _0=2.4,y0=.2126729,x0=.7151522,w0=.072175,k0=.56,C0=.57,A0=.62,S0=.65,_n=.022,es=1.414,E0=1.14,N0=1.14,T0=.035991,L0=.035991,P0=27.7847239587675,O0=27.7847239587675,ts=.027,rs=.027,ns=.001,M0=5e-4;function as(e){let t=(e&16711680)>>16,n=(e&65280)>>8,l=e&255;function o(i){return Math.pow(i/255,_0)}return y0*o(t)+x0*o(n)+w0*o(l)}function F0(e,t){var n=0,l=0;return e=e>_n?e:e+Math.pow(_n-e,es),t=t>_n?t:t+Math.pow(_n-t,es),Math.abs(t-e)e?(n=(Math.pow(t,k0)-Math.pow(e,C0))*E0,l=n-ns?0:n>-L0?n-n*O0*rs:n+rs),l*100)}const Bt=(e,t)=>{const n=parseInt(`0x${e.substring(1)}`,16),l=parseInt(`0x${t.substring(1)}`,16);return F0(as(n),as(l))},$l=(e,t)=>{for(const n of e){if(Bt(n,t)>(Se()?30:40))return[Bt(Se()?e[2]:e[8],t),Se()?e[2]:e[8]];if(Bt(n,t)<(Se()?-60:-50))return[Bt(Se()?e[8]:e[2],t),Se()?e[8]:e[2]]}return[0,"#000"]},D0=(e,t,n)=>{const l=Math.abs(Bt(t,e)),o=Math.abs(Bt(n,e));return l>o?t:n},[ce,yn]=de([7,5]),R0=()=>(yt(()=>{document.removeEventListener("keydown",()=>!0)}),et(()=>{document.removeEventListener("keydown",()=>!0),document.addEventListener("keydown",e=>{(e.ctrlKey||e.metaKey)&&e.key==="k"&&Tl(!Se()),["Space","ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].indexOf(e.code)>-1&&e.preventDefault(),e.code=="ArrowUp"&&ce()[1]>0&&yn([ce()[0],ce()[1]-1]),e.code=="ArrowDown"&&ce()[1]0&&yn([ce()[0]-1,ce()[1]]),e.code=="ArrowRight"&&ce()[0]typeof e=="function",Fn=(e,t)=>I0(e)?e(t):e;var be;(function(e){e[e.ADD_TOAST=0]="ADD_TOAST",e[e.UPDATE_TOAST=1]="UPDATE_TOAST",e[e.UPSERT_TOAST=2]="UPSERT_TOAST",e[e.DISMISS_TOAST=3]="DISMISS_TOAST",e[e.REMOVE_TOAST=4]="REMOVE_TOAST",e[e.START_PAUSE=5]="START_PAUSE",e[e.END_PAUSE=6]="END_PAUSE"})(be||(be={}));const Dn=Symbol("store-raw"),Sr=Symbol("store-node"),j0=Symbol("store-name");function Bs(e,t){let n=e[Ze];if(!n&&(Object.defineProperty(e,Ze,{value:n=new Proxy(e,U0)}),!Array.isArray(e))){const l=Object.keys(e),o=Object.getOwnPropertyDescriptors(e);for(let i=0,c=l.length;ie[Ze][t]),n}function zs(e){if(vs()){const t=Bl(e);(t._||(t._=Us()))()}}function z0(e){return zs(e),Reflect.ownKeys(e)}function Us(e){const[t,n]=de(e,{equals:!1,internal:!0});return t.$=n,t}const U0={get(e,t,n){if(t===Dn)return e;if(t===Ze)return n;if(t===Al)return zs(e),n;const l=Bl(e),o=l.hasOwnProperty(t);let i=o?l[t]():e[t];if(t===Sr||t==="__proto__")return i;if(!o){const c=Object.getOwnPropertyDescriptor(e,t);vs()&&(typeof i!=="function"||e.hasOwnProperty(t))&&!(c&&c.get)&&(i=Ll(l,t,i)())}return Wt(i)?Bs(i):i},has(e,t){return t===Dn||t===Ze||t===Al||t===Sr||t==="__proto__"?!0:(this.get(e,t,e),t in e)},set(){return!0},deleteProperty(){return!0},ownKeys:z0,getOwnPropertyDescriptor:B0};function Zt(e,t,n,l=!1){if(!l&&e[t]===n)return;const o=e[t],i=e.length;n===void 0?delete e[t]:e[t]=n;let c=Bl(e),f;(f=Ll(c,t,o))&&f.$(()=>n),Array.isArray(e)&&e.length!==i&&(f=Ll(c,"length",i))&&f.$(e.length),(f=c._)&&f.$()}function Gs(e,t){const n=Object.keys(t);for(let l=0;l1){l=t.shift();const c=typeof l,f=Array.isArray(e);if(Array.isArray(l)){for(let h=0;h1){_r(e[l],t,[l].concat(n));return}o=e[l],n=[l].concat(n)}let i=t[0];typeof i=="function"&&(i=i(o,n),i===o)||l===void 0&&i==null||(i=Vt(i),l===void 0||Wt(o)&&Wt(i)&&!Array.isArray(i)?Gs(o,i):Zt(e,l,i))}function q0(...[e,t]){const n=Vt(e||{}),l=Array.isArray(n),o=Bs(n);function i(...c){Xf(()=>{l&&c.length===1?G0(n,c[0]):_r(n,c)})}return[o,i]}const Rn=new WeakMap,qs={get(e,t){if(t===Dn)return e;const n=e[t];let l;return Wt(n)?Rn.get(n)||(Rn.set(n,l=new Proxy(n,qs)),l):n},set(e,t,n){return Zt(e,t,Vt(n)),!0},deleteProperty(e,t){return Zt(e,t,void 0,!0),!0}};function xn(e){return t=>{if(Wt(t)){let n;(n=Rn.get(t))||Rn.set(t,n=new Proxy(t,qs)),e(n)}return t}}const[_t,ft]=q0({toasts:[],pausedAt:void 0}),H0=()=>{const{pausedAt:e,toasts:t}=_t;if(e)return;const n=Date.now();return t.map(o=>{if(o.duration===1/0)return;const i=(o.duration||0)+o.pauseDuration-(n-o.createdAt);if(i<=0){o.visible&&We({type:be.DISMISS_TOAST,toastId:o.id});return}return setTimeout(()=>{We({type:be.DISMISS_TOAST,toastId:o.id})},i)})},Cr=new Map,ls=(e,t)=>{if(Cr.has(e))return;const n=setTimeout(()=>{Cr.delete(e),We({type:be.REMOVE_TOAST,toastId:e})},t);Cr.set(e,n)},W0=e=>{const t=Cr.get(e);Cr.delete(e),t&&clearTimeout(t)},We=e=>{switch(e.type){case be.ADD_TOAST:ft("toasts",o=>{const i=o;return[e.toast,...i]});break;case be.DISMISS_TOAST:const{toastId:t}=e,n=_t.toasts;if(t){const o=n.find(i=>i.id===t);o&&ls(t,o.unmountDelay),ft("toasts",i=>i.id===t,xn(i=>i.visible=!1))}else n.forEach(o=>{ls(o.id,o.unmountDelay)}),ft("toasts",o=>o.id!==void 0,xn(o=>o.visible=!1));break;case be.REMOVE_TOAST:if(!e.toastId){ft("toasts",[]);break}ft("toasts",o=>o.filter(c=>c.id!==e.toastId));break;case be.UPDATE_TOAST:e.toast.id&&W0(e.toast.id),ft("toasts",o=>o.id===e.toast.id,o=>({...o,...e.toast}));break;case be.UPSERT_TOAST:_t.toasts.find(o=>o.id===e.toast.id)?We({type:be.UPDATE_TOAST,toast:e.toast}):We({type:be.ADD_TOAST,toast:e.toast});break;case be.START_PAUSE:ft(xn(o=>{o.pausedAt=Date.now(),o.toasts.forEach(i=>{i.paused=!0})}));break;case be.END_PAUSE:const l=e.time-(_t.pausedAt||0);ft(xn(o=>{o.pausedAt=void 0,o.toasts.forEach(i=>{i.pauseDuration+=l,i.paused=!1})}));break}},V0={blank:4e3,error:4e3,success:2e3,loading:1/0,custom:4e3},Gt={id:"",icon:"",unmountDelay:500,duration:3e3,ariaProps:{role:"status","aria-live":"polite"},className:"",style:{},position:"top-right",iconTheme:{}},Hs={position:"top-right",toastOptions:Gt,gutter:8,containerStyle:{},containerClassName:""},wn="16px",Z0={position:"fixed","z-index":9999,top:wn,bottom:wn,left:wn,right:wn,"pointer-events":"none"},X0=(()=>{let e=0;return()=>String(++e)})(),K0=e=>{nd(t=>({containerClassName:e.containerClassName??t.containerClassName,containerStyle:e.containerStyle??t.containerStyle,gutter:e.gutter??t.gutter,position:e.position??t.position,toastOptions:{...e.toastOptions}}))},Y0=(e,t)=>{const l=e.includes("top")?{top:0,"margin-top":`${t}px`}:{bottom:0,"margin-bottom":`${t}px`},o=e.includes("center")?{"justify-content":"center"}:e.includes("right")?{"justify-content":"flex-end"}:{};return{left:0,right:0,display:"flex",position:"absolute",transition:"all 230ms cubic-bezier(.21,1.02,.73,1)",...l,...o}},J0=(e,t)=>{const n=e.getBoundingClientRect();n.height!==t.height&&We({type:be.UPDATE_TOAST,toast:{id:t.id,height:n.height}})},Q0=(e,t)=>{const{toasts:n}=_t,l=jt().gutter||Hs.gutter||8,o=n.filter(h=>(h.position||t)===t&&h.height),i=o.findIndex(h=>h.id===e.id),c=o.filter((h,p)=>ph+l+(p.height||0),0)},ed=(e,t)=>(e.position||t).includes("top")?1:-1,td={display:"flex","align-items":"center",color:"#363636",background:"white","box-shadow":"0 3px 10px rgba(0, 0, 0, 0.1), 0 3px 3px rgba(0, 0, 0, 0.05)","max-width":"350px","pointer-events":"auto",padding:"8px 10px","border-radius":"4px","line-height":"1.3","will-change":"transform"},rd={display:"flex","align-items":"center",flex:"1 1 auto",margin:"4px 10px","white-space":"pre-line"},kn={"flex-shrink":0,"min-width":"20px","min-height":"20px",display:"flex","align-items":"center","justify-content":"center","text-align":"center"},In=e=>({calcMode:"spline",keyTimes:"0; 1",keySplines:e}),[jt,nd]=de(Hs),ad=(e,t="blank",n)=>({...Gt,...jt().toastOptions,...n,type:t,message:e,pauseDuration:0,createdAt:Date.now(),visible:!0,id:n.id||X0(),paused:!1,style:{...Gt.style,...jt().toastOptions?.style,...n.style},duration:n.duration||jt().toastOptions?.duration||V0[t],position:n.position||jt().toastOptions?.position||jt().position||Gt.position}),Er=e=>(t,n={})=>{const l=_t.toasts.find(i=>i.id===n.id),o=ad(t,e,{...l,duration:void 0,...n});return We({type:be.UPSERT_TOAST,toast:o}),o.id},He=(e,t)=>Er("blank")(e,t);He.error=Er("error");He.success=Er("success");He.loading=Er("loading");He.custom=Er("custom");He.dismiss=e=>{We({type:be.DISMISS_TOAST,toastId:e})};He.promise=(e,t,n)=>{const l=He.loading(t.loading,{...n});return e.then(o=>(He.success(Fn(t.success,o),{id:l,...n}),o)).catch(o=>{He.error(Fn(t.error,o),{id:l,...n})}),e};He.remove=e=>{We({type:be.REMOVE_TOAST,toastId:e})};const ld=P("
"),od=e=>(et(()=>{K0(e)}),et(()=>{const t=H0();yt(()=>{!t||t.forEach(n=>n&&clearTimeout(n))})}),(()=>{const t=ld.cloneNode(!0);return t.firstChild,C(t,_(Pe,{get each(){return _t.toasts},children:n=>_(fd,{toast:n})}),null),U(n=>{const l={...Z0,...e.containerStyle},o=e.containerClassName;return n._v$=w(t,l,n._v$),o!==n._v$2&&Be(t,n._v$2=o),n},{_v$:void 0,_v$2:void 0}),t})()),Cn=P("
"),sd=P(""),id=e=>{let t;return et(()=>{if(!t)return;const n=ed(e.toast,e.position);e.toast.visible?t.animate([{transform:`translate3d(0,${n*-200}%,0) scale(.6)`,opacity:.5},{transform:"translate3d(0,0,0) scale(1)",opacity:1}],{duration:350,fill:"forwards",easing:"cubic-bezier(.21,1.02,.73,1)"}):t.animate([{transform:"translate3d(0,0,-1px) scale(1)",opacity:1},{transform:`translate3d(0,${n*-150}%,-1px) scale(.4)`,opacity:0}],{duration:400,fill:"forwards",easing:"cubic-bezier(.06,.71,.55,1)"})}),(()=>{const n=sd.cloneNode(!0),l=n.firstChild,o=t;return typeof o=="function"?o(n):t=n,C(n,_(ou,{get children(){return[_($n,{get when(){return e.toast.icon},get children(){const i=Cn.cloneNode(!0);return C(i,()=>e.toast.icon),U(c=>w(i,kn,c)),i}}),_($n,{get when(){return e.toast.type==="loading"},get children(){const i=Cn.cloneNode(!0);return C(i,_(pd,xr(()=>e.toast.iconTheme))),U(c=>w(i,kn,c)),i}}),_($n,{get when(){return e.toast.type==="success"},get children(){const i=Cn.cloneNode(!0);return C(i,_(bd,xr(()=>e.toast.iconTheme))),U(c=>w(i,kn,c)),i}}),_($n,{get when(){return e.toast.type==="error"},get children(){const i=Cn.cloneNode(!0);return C(i,_(gd,xr(()=>e.toast.iconTheme))),U(c=>w(i,kn,c)),i}})]}}),l),Me(l,()=>e.toast.ariaProps,!1,!0),C(l,()=>Fn(e.toast.message,e.toast)),U(i=>{const c=e.toast.className,f={...td,...e.toast.style},h=rd;return c!==i._v$&&Be(n,i._v$=c),i._v$2=w(n,f,i._v$2),i._v$3=w(l,h,i._v$3),i},{_v$:void 0,_v$2:void 0,_v$3:void 0}),n})()},cd=P("
"),fd=e=>{const t=()=>{const o=e.toast.position||Gt.position,i=Q0(e.toast,o);return Y0(o,i)},n=G(()=>t());let l;return Fl(()=>{l&&J0(l,e.toast)}),(()=>{const o=cd.cloneNode(!0);o.addEventListener("mouseleave",()=>We({type:be.END_PAUSE,time:Date.now()})),o.addEventListener("mouseenter",()=>We({type:be.START_PAUSE,time:Date.now()}));const i=l;return typeof i=="function"?i(o):l=o,C(o,(()=>{const c=G(()=>e.toast.type==="custom",!0);return()=>c()?Fn(e.toast.message,e.toast):_(id,{get toast(){return e.toast},get position(){return e.toast.position||Gt.position}})})()),U(c=>{const f=n(),h=e.toast.visible?"sldt-active":"";return c._v$=w(o,f,c._v$),h!==c._v$2&&Be(o,c._v$2=h),c},{_v$:void 0,_v$2:void 0}),o})()},ud=P(' ',8,!0),dd=P(' ',8,!0),Ws=e=>{const t={dur:"0.35s",begin:"100ms",fill:"freeze",calcMode:"spline",keyTimes:"0; 0.6; 1",keySplines:"0.25 0.71 0.4 0.88; .59 .22 .87 .63"};return(()=>{const n=ud.cloneNode(!0),l=n.firstChild,o=l.nextSibling;return Me(l,t,!0,!1),Me(o,t,!0,!1),U(()=>ge(n,"fill",e.fill)),n})()},Vs=e=>{const t={dur:"1s",begin:e.begin||"320ms",fill:"freeze",...In("0.0 0.0 0.2 1")};return(()=>{const n=dd.cloneNode(!0),l=n.firstChild,o=l.nextSibling;return Me(l,t,!0,!1),Me(o,t,!0,!1),U(()=>ge(n,"fill",e.fill)),n})()},vd=P(' '),bd=e=>{const t=e.primary||"#34C759";return(()=>{const n=vd.cloneNode(!0),l=n.firstChild,o=l.firstChild;return n.style.setProperty("overflow","visible"),C(n,_(Ws,{fill:t}),l),C(n,_(Vs,{fill:t,begin:"350ms"}),l),Me(o,()=>In("0.0, 0.0, 0.58, 1.0"),!0,!1),U(()=>ge(l,"stroke",e.secondary||"#FCFCFC")),n})()},hd=P(' '),gd=e=>{const t=e.primary||"#FF3B30";return(()=>{const n=hd.cloneNode(!0),l=n.firstChild,o=l.firstChild,i=l.nextSibling,c=i.firstChild;return n.style.setProperty("overflow","visible"),C(n,_(Ws,{fill:t}),l),C(n,_(Vs,{fill:t}),l),Me(o,()=>In("0.0, 0.0, 0.58, 1.0"),!0,!1),Me(c,()=>In("0.0, 0.0, 0.58, 1.0"),!0,!1),U(f=>{const h=e.secondary||"#FFFFFF",p=e.secondary||"#FFFFFF";return h!==f._v$&&ge(l,"stroke",f._v$=h),p!==f._v$2&&ge(i,"fill",f._v$2=p),f},{_v$:void 0,_v$2:void 0}),n})()},md=P(' '),pd=e=>(()=>{const t=md.cloneNode(!0),n=t.firstChild,l=n.nextSibling;return t.style.setProperty("overflow","visible"),U(o=>{const i=e.primary||"#E5E7EB",c=e.secondary||"#4b5563";return i!==o._v$&&ge(n,"stroke",o._v$=i),c!==o._v$2&&ge(l,"stroke",o._v$2=c),o},{_v$:void 0,_v$2:void 0}),t})(),Pl=He,$d=P(``),_d=P(' '),zl=e=>{navigator.clipboard.writeText(e).then(()=>{Pl.custom(t=>_(os,{box:e,showExit:!0,toast:t,children:"Pallette Copied! "}),{unmountDelay:0})},()=>{Pl.custom(t=>_(os,{color:"error",showExit:!0,toast:t,children:"Copying Failed!"}))})},os=e=>{const[t,n]=Il(e,["children","toast","color","showExit","box"]);return(()=>{const l=$d.cloneNode(!0),o=l.firstChild,i=o.firstChild;return Me(l,n,!1,!0),C(l,(()=>{const c=G(()=>!!t.box,!0);return()=>c()&&_(Wn,{class:"h-5 w-5 rounded-md",get color(){return e.box}})})(),o),C(o,()=>e.children,i),C(i,()=>e.box),C(l,(()=>{const c=G(()=>!!t.showExit,!0);return()=>c()&&(()=>{const f=_d.cloneNode(!0);return f.$$click=()=>Pl.dismiss(e.toast.id),f})()})(),null),l})()};rt(["click"]);const yd=P(''),xd=P('
'),wd=P(''),kd=e=>{const t=()=>e.swatch?e.swatch:Ht(),n=()=>ce();return[(()=>{const l=yd.cloneNode(!0);return l.firstChild,C(l,_(Pe,{get each(){return Object.keys(Object.values(t())[0])},children:(o,i)=>(()=>{const c=xd.cloneNode(!0);return C(c,o),c})()}),null),l})(),_(Pe,{get each(){return Object.entries(t())},children:([l,o],i)=>(()=>{const c=wd.cloneNode(!0),f=c.firstChild;return C(f,()=>l.toLocaleLowerCase()),C(c,_(Pe,{get each(){return Object.values(o)},children:(h,p)=>_(Wn,{color:h,get textColor(){return $l(Object.values(o),h)[1].toString()},tabindex:0,get class(){return`grow text-[10px] sm:text-xs h-10 flex flex-1 justify-center items-center font-mono font-medium outline-none
+ ${n()[0]==p()&&n()[1]==i()?"focused":""}`},onClick:()=>zl(h),get children(){return G(()=>Math.abs($l(Object.values(o),h)[0])>60,!0)()?$l(Object.values(o),h)[0].toFixed():""}})}),null),c})()})]},Cd=P(' '),Ad=P(' '),Sd=P(''),Ed=P("
"),Ol=e=>{const t=()=>e.swatch?e.swatch:Ht(),n=()=>e.swatchArr?e.swatchArr:Mn();return(()=>{const l=Sd.cloneNode(!0),o=l.firstChild,i=o.nextSibling;return C(l,_(qe,{get when(){return!e.disableText},get children(){return[(()=>{const c=Cd.cloneNode(!0);return C(c,()=>e.trackIndex=="color"?"Color Name":"Color ID"),c})(),(()=>{const c=Ad.cloneNode(!0);return C(c,(()=>{const f=G(()=>e.trackIndex=="color",!0);return()=>f()?Object.keys(t())[ce()[1]].toLocaleLowerCase():`0${Object.keys(Object.values(t()))[ce()[0]]}`})()),c})()]}}),o),C(o,_(Pe,{get each(){return G(()=>e.trackIndex=="color",!0)()?Object.keys(Object.values(t())[0]):Object.keys(t())},children:(c,f)=>(()=>{const h=Ed.cloneNode(!0);return C(h,(()=>{const p=G(()=>e.trackIndex=="color",!0);return()=>p()?c:Object.keys(t())[f()].toLocaleLowerCase()})()),U(()=>Be(h,`${e.trackIndex=="color"?"font-mono":""}
+ w-full text-slate-600 dark:text-neutral-400 capitalize text-xs sm:text-sm`)),h})()})),C(i,_(Pe,{get each(){return G(()=>e.trackIndex=="color",!0)()?n()[ce()[1]]:n().map(c=>c[ce()[0]])},children:(c,f)=>_(Wn,{color:c,tabindex:0,get class(){return`h-12 flex flex-1 justify-center items-center font-mono font-medium outline-none
${ce()[0]==f()&&e.trackIndex=="color"||ce()[1]==f()&&e.trackIndex=="id"?"focused":""}`},onClick:()=>zl(c)})})),l})()},Nd=P(``),Td=P('
'),Ld=P(`
`),It=e=>{const t=()=>e.swatchArr?e.swatchArr:Mn(),n=()=>e.plotArea==1?t()[ce()[1]]:t().map(o=>o[ce()[0]]),l=()=>n().map(o=>{const i=ke(o).lch();return{l:i[0],c:i[1],h:i[2]/3.6}});return(()=>{const o=Nd.cloneNode(!0),i=o.firstChild,c=i.nextSibling,f=c.nextSibling,h=f.firstChild;return C(i,()=>e.plotType=="l"?"Lightness":e.plotType=="c"?"Chroma":"Hue"),C(c,_(Pe,{get each(){return n()},children:(p,y)=>(()=>{const S=Td.cloneNode(!0);return U(T=>w(S,`
@@ -95,31 +95,31 @@
bg-white dark:bg-[#181819] border-neutral-200 dark:border-neutral-800
bg-opacity-80 dark:bg-opacity-90 w-full z-50">`),Id=()=>(()=>{const e=Rd.cloneNode(!0),t=e.firstChild,n=t.firstChild,l=n.firstChild,o=l.firstChild,i=l.nextSibling,c=i.firstChild;return ge(o,"src",Ps),ge(c,"src",Os),e})(),jd="modulepreload",Bd=function(e){return"/"+e},is={},Vn=function(t,n,l){return!n||n.length===0?t():Promise.all(n.map(o=>{if(o=Bd(o),o in is)return;is[o]=!0;const i=o.endsWith(".css"),c=i?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${o}"]${c}`))return;const f=document.createElement("link");if(f.rel=i?"stylesheet":jd,i||(f.as="script",f.crossOrigin=""),f.href=o,document.head.appendChild(f),i)return new Promise((h,p)=>{f.addEventListener("load",h),f.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t())},zd=P('Testing Reactivity
'),Ud="amb--692c4c9c-0",Gd=".text-style[s\\:amb--692c4c9c-0]{color:var(--s-amb--692c4c9c-1)}",qd=()=>{const e=dt(),t=()=>he(),n=()=>Kt(t());return et(()=>{console.log(n()[5][2])}),ut(Ud,1,Gd),e(()=>({"--s-amb--692c4c9c-1":n()[5][2]})),[_(js,{}),(()=>{const l=zd.cloneNode(!0);return U(o=>w(l,e(),o)),l})()]},Zs=()=>Kt(he()),Hd=()=>ce()[1],Xs=()=>Zs()[Hd()],Ks=()=>Zs()[0],cs=()=>"NEUTRAL"in he()?[he().NEUTRAL["00"],he().NEUTRAL["09"]]:["red","red"],Te=e=>Xs()[e],Je=e=>Ks()[e],Wd=()=>D0((()=>Te(5))(),cs()[0],cs()[1]),Vd=P(' '),Zd=P(`
`),[Xd,Uv]=de(!0),yr=e=>{if(Xd()||e.active)return(()=>{const t=Zd.cloneNode(!0);return C(t,_(qe,{get when(){return e.arrow},get children(){return Vd.cloneNode(!0)}}),null),C(t,()=>e.children,null),U(()=>t.classList.toggle("mx-4",!!e.margin)),t})()},Kd=P(''),Yd=P(``),_l=e=>{let t=e.activeHelper,n=0;const l=o=>{const i=t?t[n]:"Err";return n+=1,n>=o.length&&(n=0),i};return(()=>{const o=Kd.cloneNode(!0),i=o.firstChild;return C(i,_(qe,{get when(){return e.track=="neutralbg"}}),null),C(i,_(Pe,{get each(){return G(()=>e.track=="neutral",!0)()?Ks():Xs()},children:(c,f)=>_(Wn,{color:c,class:"h-10 flex flex-1 justify-center items-center font-mono font-medium outline-none",onClick:()=>zl(c),get children(){return _(qe,{get when(){return G(()=>!!e.active,!0)()&&e.active.includes(f())},get children(){const h=Yd.cloneNode(!0),p=h.firstChild,y=p.nextSibling;return C(h,f,y),C(y,_(yr,{active:!0,get children(){return G(()=>!!e.activeHelper,!0)()?l(t||e.activeHelper):`0${f()}`}})),h}})}})}),null),o})()},Jd=P('
'),yl=()=>Jd.cloneNode(!0),Qd=P("
"),ev="amb--b8a07c5a-0",tv=".heading[s\\:amb--b8a07c5a-0]{color:var(--s-amb--b8a07c5a-1)}",xl=e=>{const t=dt(),n=()=>Je(9),l=()=>e.size?e.size==1?"4xl":e.size==2?"3xl":e.size==3?"2xl":e.size==4?"xl":e.size==5?"lg":(e.size==6,"base"):"base";return ut(ev,1,tv),t(()=>({"--s-amb--b8a07c5a-1":n()})),(()=>{const o=Qd.cloneNode(!0);return Me(o,e,!1,!0),C(o,()=>e.children),U(i=>{const c=`text-${l()} heading font-bold ${e.class}`,f=t();return c!==i._v$&&Be(o,i._v$=c),i._v$2=w(o,f,i._v$2),i},{_v$:void 0,_v$2:void 0}),o})()},rv=P(" "),nv="amb--9605a64a-0",av=".link[s\\:amb--9605a64a-0]{color:var(--s-amb--9605a64a-1);cursor:pointer;font-weight:500}.link[s\\:amb--9605a64a-0]:hover{color:var(--s-amb--9605a64a-2)}.hint[s\\:amb--9605a64a-0]{color:var(--s-amb--9605a64a-3)}.hint[s\\:amb--9605a64a-0]:hover{color:var(--s-amb--9605a64a-4)}",wl=e=>{const t=dt(),n=()=>Te(7),l=()=>Te(6),o=()=>Te(4),i=()=>Te(3),c=()=>e.size?e.size=="base"?"base":e.size=="large"?"lg":e.size=="small"?"sm":"base":"base";return ut(nv,1,av),t(()=>({"--s-amb--9605a64a-1":n(),"--s-amb--9605a64a-2":l(),"--s-amb--9605a64a-3":o(),"--s-amb--9605a64a-4":i()})),(()=>{const f=rv.cloneNode(!0);return Me(f,e,!1,!0),C(f,()=>e.children),U(h=>{const p=`text-${c()} link inline-block ${e.class}`,y=t();return p!==h._v$&&Be(f,h._v$=p),h._v$2=w(f,y,h._v$2),h},{_v$:void 0,_v$2:void 0}),f})()},lv=P("
"),ov="amb--31e8fde6-0",sv=".paragraph[s\\:amb--31e8fde6-0]{color:var(--s-amb--31e8fde6-1)}.bold[s\\:amb--31e8fde6-0]{color:var(--s-amb--31e8fde6-2);font-weight:500}.hint[s\\:amb--31e8fde6-0]{color:var(--s-amb--31e8fde6-3)}",pr=e=>{const t=dt(),n=()=>Je(7),l=()=>Je(8),o=()=>Je(4),i=()=>e.size?e.size=="base"?"base":e.size=="large"?"lg":e.size=="small"?"sm":"base":"base";return ut(ov,1,sv),t(()=>({"--s-amb--31e8fde6-1":n(),"--s-amb--31e8fde6-2":l(),"--s-amb--31e8fde6-3":o()})),(()=>{const c=lv.cloneNode(!0);return Me(c,e,!1,!0),C(c,()=>e.children),U(f=>{const h=`text-${i()} paragraph inline ${e.class}`,p=t();return h!==f._v$&&Be(c,f._v$=h),f._v$2=w(c,p,f._v$2),f},{_v$:void 0,_v$2:void 0}),c})()},iv=P(' '),cv=P(''),fv=P(' '),uv=P(''),Ys=e=>{const[t,n]=de(!1);return[_(qe,{get when(){return t()},get children(){const l=cv.cloneNode(!0),o=l.firstChild,i=o.firstChild,c=i.firstChild;return c.$$click=()=>n(!1),C(c,_(Le,{aria:"Toggle Fullscreen View",square:!0,get children(){return iv.cloneNode(!0)}})),C(i,()=>e.children,null),U(()=>Be(i,`relative rounded border w-full max-w-screen-xl
- border-neutral-300 bg-white dark:border-neutral-800 dark:bg-[${$t[1]}] shadow p-6 sm:p-8`)),l}}),(()=>{const l=uv.cloneNode(!0),o=l.firstChild;return o.$$click=()=>n(!0),C(o,_(Le,{aria:"Toggle Fullscreen View",square:!0,get children(){return fv.cloneNode(!0)}})),C(l,()=>e.children,null),U(()=>Be(l,`relative rounded border w-full border-neutral-300 bg-white dark:border-neutral-800 dark:bg-[${$t[1]}] shadow p-6 sm:p-8`)),l})()]};rt(["click"]);const dv=P(``),_l=e=>{let t=e.activeHelper,n=0;const l=o=>{const i=t?t[n]:"Err";return n+=1,n>=o.length&&(n=0),i};return(()=>{const o=Kd.cloneNode(!0),i=o.firstChild;return C(i,_(qe,{get when(){return e.track=="neutralbg"}}),null),C(i,_(Pe,{get each(){return G(()=>e.track=="neutral",!0)()?Ks():Xs()},children:(c,f)=>_(Wn,{color:c,class:"h-10 flex flex-1 justify-center items-center font-mono font-medium outline-none",onClick:()=>zl(c),get children(){return _(qe,{get when(){return G(()=>!!e.active,!0)()&&e.active.includes(f())},get children(){const h=Yd.cloneNode(!0),p=h.firstChild,y=p.nextSibling;return C(h,f,y),C(y,_(yr,{active:!0,get children(){return G(()=>!!e.activeHelper,!0)()?l(t||e.activeHelper):`0${f()}`}})),h}})}})}),null),o})()},Jd=P('
'),yl=()=>Jd.cloneNode(!0),Qd=P("
"),ev="amb--b8a07c5a-0",tv=".heading[s\\:amb--b8a07c5a-0]{color:var(--s-amb--b8a07c5a-1)}",xl=e=>{const t=dt(),n=()=>Je(9),l=()=>e.size?e.size==1?"4xl":e.size==2?"3xl":e.size==3?"2xl":e.size==4?"xl":e.size==5?"lg":(e.size==6,"base"):"base";return ut(ev,1,tv),t(()=>({"--s-amb--b8a07c5a-1":n()})),(()=>{const o=Qd.cloneNode(!0);return Me(o,e,!1,!0),C(o,()=>e.children),U(i=>{const c=`text-${l()} heading font-bold ${e.class}`,f=t();return c!==i._v$&&Be(o,i._v$=c),i._v$2=w(o,f,i._v$2),i},{_v$:void 0,_v$2:void 0}),o})()},rv=P(" "),nv="amb--9605a64a-0",av=".link[s\\:amb--9605a64a-0]{color:var(--s-amb--9605a64a-1);cursor:pointer;font-weight:500}.link[s\\:amb--9605a64a-0]:hover{color:var(--s-amb--9605a64a-2)}.hint[s\\:amb--9605a64a-0]{color:var(--s-amb--9605a64a-3)}.hint[s\\:amb--9605a64a-0]:hover{color:var(--s-amb--9605a64a-4)}",wl=e=>{const t=dt(),n=()=>Te(7),l=()=>Te(6),o=()=>Te(4),i=()=>Te(3),c=()=>e.size?e.size=="base"?"base":e.size=="large"?"lg":e.size=="small"?"sm":"base":"base";return ut(nv,1,av),t(()=>({"--s-amb--9605a64a-1":n(),"--s-amb--9605a64a-2":l(),"--s-amb--9605a64a-3":o(),"--s-amb--9605a64a-4":i()})),(()=>{const f=rv.cloneNode(!0);return Me(f,e,!1,!0),C(f,()=>e.children),U(h=>{const p=`text-${c()} link inline-block ${e.class}`,y=t();return p!==h._v$&&Be(f,h._v$=p),h._v$2=w(f,y,h._v$2),h},{_v$:void 0,_v$2:void 0}),f})()},lv=P("
"),ov="amb--31e8fde6-0",sv=".paragraph[s\\:amb--31e8fde6-0]{color:var(--s-amb--31e8fde6-1)}.bold[s\\:amb--31e8fde6-0]{color:var(--s-amb--31e8fde6-2);font-weight:500}.hint[s\\:amb--31e8fde6-0]{color:var(--s-amb--31e8fde6-3)}",pr=e=>{const t=dt(),n=()=>Je(7),l=()=>Je(8),o=()=>Je(4),i=()=>e.size?e.size=="base"?"base":e.size=="large"?"lg":e.size=="small"?"sm":"base":"base";return ut(ov,1,sv),t(()=>({"--s-amb--31e8fde6-1":n(),"--s-amb--31e8fde6-2":l(),"--s-amb--31e8fde6-3":o()})),(()=>{const c=lv.cloneNode(!0);return Me(c,e,!1,!0),C(c,()=>e.children),U(f=>{const h=`text-${i()} paragraph inline ${e.class}`,p=t();return h!==f._v$&&Be(c,f._v$=h),f._v$2=w(c,p,f._v$2),f},{_v$:void 0,_v$2:void 0}),c})()},iv=P(' '),cv=P(''),fv=P(' '),uv=P(''),Ys=e=>{const[t,n]=de(!1);return[_(qe,{get when(){return t()},get children(){const l=cv.cloneNode(!0),o=l.firstChild,i=o.firstChild,c=i.firstChild;return c.$$click=()=>n(!1),C(c,_(Le,{aria:"Toggle Fullscreen View",square:!0,get children(){return iv.cloneNode(!0)}})),C(i,()=>e.children,null),U(()=>Be(i,`relative rounded border w-full max-w-screen-xl
+ border-neutral-300 bg-white dark:border-neutral-800 dark:bg-[${$t[1]}] shadow p-6 sm:p-8`)),l}}),(()=>{const l=uv.cloneNode(!0),o=l.firstChild;return o.$$click=()=>n(!0),C(o,_(Le,{aria:"Toggle Fullscreen View",square:!0,get children(){return fv.cloneNode(!0)}})),C(l,()=>e.children,null),U(()=>Be(l,`relative rounded border w-full border-neutral-300 bg-white dark:border-neutral-800 dark:bg-[${$t[1]}] shadow p-6 sm:p-8`)),l})()]};rt(["click"]);const dv=P(``),vv=P(' '),bv=P(`This component passes WCAG 2.0 contrast test, however may fail APCA (WCAG 3.0) tests depending on the use case.It is recommended that special care is put to the font size and background separation for better readability.
`),hv=P(`This component passes WCAG 2.0 contrast test, however may fail APCA (WCAG 3.0) tests depending on the use case.It is recommended that special care is put to the font size and background separation for better readability.
`),hv=P(``),gv=P(``),gv=P(`
Contains WCAG Failing Colors
Some of the components that contain the colors below have WCAG 2.0 failing contrast values.These components have been tested against APCA (WCAG 3.0) contrast tests and have passed. If you require WCAG 2.0 compliance, please consider using a different colorset.
`),mv=P('
'),kl=e=>(()=>{const t=mv.cloneNode(!0);return C(t,_(qe,{get when(){return e.APCA},get children(){return dv.cloneNode(!0)}}),null),C(t,_(qe,{get when(){return e.WCAG},get children(){const n=hv.cloneNode(!0);return n.firstChild.nextSibling,C(n,_(qe,{get when(){return!e.APCA},get children(){return[vv.cloneNode(!0),bv.cloneNode(!0)]}}),null),n}}),null),C(t,_(qe,{get when(){return e.WCAG==!1},get children(){const n=gv.cloneNode(!0);return n.firstChild.nextSibling.nextSibling.nextSibling,n}}),null),t})(),pv=P("
"),$v=P(' '),_v=P('
'),yv=P('
Components Typography
Headings Paragraphs (body) Links
Sample Typography sample
'),xv=()=>{const e=[1,2,3,4,5,6],t=["default","hint","bold"],n=["small","base","large"];return(()=>{const l=yv.cloneNode(!0),o=l.firstChild,i=o.nextSibling,c=i.firstChild,f=c.nextSibling,h=f.nextSibling,p=i.nextSibling,y=p.nextSibling;return C(l,_(yl,{}),i),C(i,_(kl,{APCA:!0}),f),C(i,_(_l,{track:"neutral",active:[9],activeHelper:["Default"]}),f),C(i,_(Pe,{each:e,children:S=>_(xl,{size:S,get children(){return["This is a heading of size ",S,_(yr,{margin:!0,get children(){return[G(()=>Object.keys(he())[0].toLocaleLowerCase())," 09"]}})]}})}),f),C(i,_(kl,{APCA:!0}),h),C(i,_(_l,{track:"neutral",active:[4,7,8],activeHelper:["Hint","Default","Bold"]}),h),C(i,_(Pe,{each:t,children:S=>_(Pe,{each:n,children:T=>_(pr,{size:T,class:S,get children(){return["This is the ",S," paragraph text of size ",T,_(yr,{margin:!0,get children(){return[G(()=>Object.keys(he())[0].toLocaleLowerCase())," ",S=="bold"?" 08":S=="hint"?" 04":" 07"]}})]}})})}),h),C(i,_(kl,{APCA:!0,WCAG:!1}),null),C(i,_(_l,{track:"color",active:[3,4,6,7],activeHelper:["Hint Hover","Hint","Default Hover","Default"]}),null),C(i,_(Pe,{each:n,children:S=>_(wl,{size:S,get children(){return["This is the default link of size ",S,_(yr,{margin:!0,get children(){return[G(()=>Object.keys(he())[ce()[1]].toLocaleLowerCase())," 07"]}})]}})}),null),C(i,_(Pe,{each:n,children:S=>_(wl,{size:S,class:"hint",get children(){return["This is the hint link of size ",S,_(yr,{margin:!0,get children(){return[G(()=>Object.keys(he())[ce()[1]].toLocaleLowerCase())," 04"]}})]}})}),null),C(l,_(yl,{}),y),C(y,_(Ys,{get children(){return[(()=>{const S=pv.cloneNode(!0);return C(S,_(xl,{size:1,children:"We do things differently,"}),null),C(S,_(xl,{size:1,children:"Its what makes us unique."}),null),S})(),_(yl,{}),(()=>{const S=_v.cloneNode(!0);return C(S,_(pr,{get children(){return[_(pr,{class:"bold",children:"Technology can be complicated sometimes. It has its own ecosystem, its own language, and it\u2019s just difficult to understand how it works."}),"Some of us humans may not get it easily. This is why our core value is to build an intimate and intricate connection between technology and humans. After all tech is built to help humans."]}}),null),C(S,_(pr,{get children(){return["Our technology is for everyone. Our tech is humanly familiar. This is perhaps what we thrive the most, which makes us different from the other traditional agencies. We care deeply about helping you tackle your most significant challenges and turn your vision into reality, keeping the end-user in mind at all times. With us, it\u2019s never just about the project in hand.",_(pr,{class:"bold",children:"It\u2019s about building trust and enabling your long-term success."}),"We will meet you where you are on your journey, integrate our people with yours, and share our skills every step of the way to make the product you envisioned a reality."]}}),null),C(S,_(wl,{get children(){return["Check out what makes us different ",$v.cloneNode(!0)]}}),null),S})()]}})),l})()},wv=P(" "),kv="amb--2af6ebdb-0",Cv=".playground-btn[s\\:amb--2af6ebdb-0]{color:var(--s-amb--2af6ebdb-1);background-color:var(--s-amb--2af6ebdb-2);border-color:var(--s-amb--2af6ebdb-3);border-width:var(--s-amb--2af6ebdb-4)!important;border-top-color:var(--s-amb--2af6ebdb-5);transition:background-color 80ms ease-out,border-color 80ms ease-out}.playground-btn[s\\:amb--2af6ebdb-0]:hover{background-color:var(--s-amb--2af6ebdb-6);border-color:var(--s-amb--2af6ebdb-7);border-top-color:var(--s-amb--2af6ebdb-8)}",Cl=e=>{const t=dt();return ut(kv,1,Cv),t(()=>({"--s-amb--2af6ebdb-1":e.textColor?e.textColor:"","--s-amb--2af6ebdb-2":e.color?e.color:"","--s-amb--2af6ebdb-3":e.borderColor?e.borderColor:"","--s-amb--2af6ebdb-4":e.border=="top"?"1px 0 0 0":"1px","--s-amb--2af6ebdb-5":e.borderTopColor?e.borderTopColor:e.borderColor?e.borderColor:"","--s-amb--2af6ebdb-6":e.hoverColor?e.hoverColor:"","--s-amb--2af6ebdb-7":e.hoverBorderColor?e.hoverBorderColor:e.borderColor?e.borderColor:"","--s-amb--2af6ebdb-8":e.borderTopHoverColor?e.borderTopHoverColor:e.hoverBorderColor?e.hoverBorderColor:""})),(()=>{const n=wv.cloneNode(!0);return C(n,()=>e.children),U(l=>{const o=`playground-btn font-medium rounded-md
bg-white dark:bg-neutral-800/50 dark:text-slate-100
border border-neutral-200 dark:border-neutral-800
shadow-sm hover:shadow pt-1 py-1.5 px-4
dark:shadow-black/20
- active:translate-y-px capitalize ${e.selfFlex?"":"self-start"}`,i=t();return o!==l._v$&&Be(n,l._v$=o),l._v$2=w(n,i,l._v$2),l},{_v$:void 0,_v$2:void 0}),n})()},Av="amb--dd933722-0",Sv=".heading[s\\:amb--dd933722-0]{color:var(--s-amb--dd933722-1)}",An=e=>{const t=dt(),n=()=>Je(9);if(ut(Av,1,Sv),t(()=>({"--s-amb--dd933722-1":n()})),e.type=="default")return _(Cl,{border:"full",get textColor(){return Je(9)},get color(){return G(()=>!!Se(),!0)()?Je(0):$t[0]},get hoverColor(){return Se()?$t[1]:$t[0]},get borderColor(){return Je(2)},get hoverBorderColor(){return Je(1)},get children(){return e.children}});if(e.type=="secondary")return _(Cl,{border:"full",get textColor(){return Te(9)},get color(){return Te(2)},get hoverColor(){return Te(1)},get borderColor(){return Te(3)},get hoverBorderColor(){return Te(2)},get children(){return e.children}});if(e.type=="primary")return _(Cl,{border:"top",get textColor(){return Wd()},get color(){return Te(5)},get hoverColor(){return Te(6)},get borderColor(){return Te(6)},get hoverBorderColor(){return Te(7)},get children(){return e.children}})},Ev=P(' '),Nv=P(`Let your imagination run wild!
Contrast safe, tested, and beautiful colors! Use Flex Colors to design your next website's color palette.
See what we are all about
What sets us apart
Features Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lightweight Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Read More Composable Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Read More Fast Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Read More About our team Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
`),Tv="amb--5eaf9b4f-0",Lv=".link[s\\:amb--5eaf9b4f-0]{color:var(--s-amb--5eaf9b4f-1)}.link[s\\:amb--5eaf9b4f-0]:hover{color:var(--s-amb--5eaf9b4f-2)}.link-border[s\\:amb--5eaf9b4f-0]{border-color:var(--s-amb--5eaf9b4f-3)}.border-color[s\\:amb--5eaf9b4f-0]{border-color:var(--s-amb--5eaf9b4f-4)}.heading[s\\:amb--5eaf9b4f-0]{color:var(--s-amb--5eaf9b4f-5)}.heading-special[s\\:amb--5eaf9b4f-0]{background:-webkit-linear-gradient(var(--s-amb--5eaf9b4f-6),var(--s-amb--5eaf9b4f-7));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.over[s\\:amb--5eaf9b4f-0]{color:var(--s-amb--5eaf9b4f-8)}.icon[s\\:amb--5eaf9b4f-0]{color:var(--s-amb--5eaf9b4f-9)}.neutral-01[s\\:amb--5eaf9b4f-0]{fill:var(--s-amb--5eaf9b4f-10)}.neutral-02[s\\:amb--5eaf9b4f-0]{fill:var(--s-amb--5eaf9b4f-11)}.neutral-03[s\\:amb--5eaf9b4f-0]{fill:var(--s-amb--5eaf9b4f-12)}.color-01[s\\:amb--5eaf9b4f-0]{fill:var(--s-amb--5eaf9b4f-13)}.color-02[s\\:amb--5eaf9b4f-0]{fill:var(--s-amb--5eaf9b4f-14)}.color-03[s\\:amb--5eaf9b4f-0]{fill:var(--s-amb--5eaf9b4f-15)}.color-04[s\\:amb--5eaf9b4f-0]{fill:var(--s-amb--5eaf9b4f-16)}.color-05[s\\:amb--5eaf9b4f-0]{fill:var(--s-amb--5eaf9b4f-17)}.color-06[s\\:amb--5eaf9b4f-0]{fill:var(--s-amb--5eaf9b4f-18)}.bg-neutral-00[s\\:amb--5eaf9b4f-0]{background:var(--s-amb--5eaf9b4f-19)}.bg-neutral-01[s\\:amb--5eaf9b4f-0]{background:var(--s-amb--5eaf9b4f-20)}.paragraph[s\\:amb--5eaf9b4f-0]{color:var(--s-amb--5eaf9b4f-21)}.bold[s\\:amb--5eaf9b4f-0]{color:var(--s-amb--5eaf9b4f-22);font-weight:500}.hint[s\\:amb--5eaf9b4f-0]{color:var(--s-amb--5eaf9b4f-23)}.code[s\\:amb--5eaf9b4f-0]{background-color:var(--s-amb--5eaf9b4f-24);border:1px solid var(--s-amb--5eaf9b4f-25);border-top:1px solid var(--s-amb--5eaf9b4f-26);color:var(--s-amb--5eaf9b4f-27)}",Pv=()=>{const e=dt(),t=()=>Kt(he()),n=()=>ce()[1],l=()=>t()[n()],o=()=>t()[0],i=()=>o()[9],c=()=>o()[7],f=()=>o()[8],h=()=>o()[5],p=()=>l()[7],y=()=>o()[0],S=()=>o()[1],T=()=>o()[2],j=()=>o()[8];return et(()=>{}),ut(Tv,1,Lv),e(()=>({"--s-amb--5eaf9b4f-1":p(),"--s-amb--5eaf9b4f-2":l()[8],"--s-amb--5eaf9b4f-3":p(),"--s-amb--5eaf9b4f-4":S(),"--s-amb--5eaf9b4f-5":i(),"--s-amb--5eaf9b4f-6":l()[6],"--s-amb--5eaf9b4f-7":l()[5],"--s-amb--5eaf9b4f-8":l()[6],"--s-amb--5eaf9b4f-9":l()[5],"--s-amb--5eaf9b4f-10":o()[1],"--s-amb--5eaf9b4f-11":o()[2],"--s-amb--5eaf9b4f-12":o()[3],"--s-amb--5eaf9b4f-13":l()[1],"--s-amb--5eaf9b4f-14":l()[2],"--s-amb--5eaf9b4f-15":l()[3],"--s-amb--5eaf9b4f-16":l()[4],"--s-amb--5eaf9b4f-17":l()[5],"--s-amb--5eaf9b4f-18":l()[6],"--s-amb--5eaf9b4f-19":o()[0],"--s-amb--5eaf9b4f-20":o()[1],"--s-amb--5eaf9b4f-21":c(),"--s-amb--5eaf9b4f-22":f(),"--s-amb--5eaf9b4f-23":h(),"--s-amb--5eaf9b4f-24":y(),"--s-amb--5eaf9b4f-25":S(),"--s-amb--5eaf9b4f-26":T(),"--s-amb--5eaf9b4f-27":j()})),(()=>{const D=Nv.cloneNode(!0),k=D.firstChild,q=k.firstChild,F=q.firstChild,ee=F.firstChild,oe=ee.firstChild,Q=oe.nextSibling,se=Q.nextSibling,I=se.nextSibling,we=I.nextSibling,te=we.nextSibling,R=te.nextSibling,B=R.nextSibling,H=F.nextSibling,$e=q.nextSibling,Ie=k.nextSibling,Ae=Ie.firstChild,Ee=Ae.firstChild,Fe=Ee.firstChild,je=Fe.nextSibling,De=Ee.nextSibling,Zn=De.firstChild,Xn=Zn.nextSibling,xt=De.nextSibling,Nr=xt.nextSibling,Kn=Nr.firstChild,wt=Ae.nextSibling,Tr=wt.firstChild,Lr=Tr.firstChild,Pr=Lr.firstChild,Or=Pr.nextSibling,Yt=Or.nextSibling,Mr=Yt.nextSibling,Fr=Mr.nextSibling,Dr=Fr.nextSibling,Rr=Dr.nextSibling,Jt=Rr.nextSibling,Qt=Ie.nextSibling,Ir=Qt.firstChild,jr=Ir.nextSibling,vt=jr.nextSibling,Yn=vt.firstChild,Br=Yn.nextSibling,er=vt.nextSibling,kt=er.firstChild,tr=kt.firstChild,rr=tr.nextSibling,nr=rr.nextSibling,ar=nr.nextSibling,zr=ar.firstChild,Ur=zr.nextSibling,Ct=kt.nextSibling,lr=Ct.firstChild,Gr=lr.nextSibling,qr=Gr.nextSibling,or=qr.nextSibling,Hr=or.firstChild,Jn=Hr.nextSibling,Wr=Ct.nextSibling,sr=Wr.firstChild,ir=sr.nextSibling,Vr=ir.nextSibling,Zr=Vr.nextSibling,Qn=Zr.firstChild,ea=Qn.nextSibling,cr=Qt.nextSibling,At=cr.firstChild,Xr=At.firstChild,Kr=Xr.nextSibling,ta=Kr.firstChild,ra=ta.nextSibling,na=At.nextSibling,aa=cr.nextSibling;return C($e,_(An,{type:"default",children:"Sign in"})),C(xt,_(An,{type:"primary",children:"Get started"}),null),C(xt,_(An,{type:"secondary",children:"Why choose Flex?"}),null),C(At,_(An,{type:"default",get children(){return["Read our blog post ",(()=>{const $=Ev.cloneNode(!0);return U(St=>w($,e(),St)),$})()]}}),null),U($=>{const St=e(),Yr=e(),la=e(),oa=e(),sa=e(),Et=e(),ia=e(),Jr=e(),ca=e(),fa=e(),ua=e(),Qr=e(),da=e(),en=e(),va=e(),tn=e(),ba=e(),ha=e(),rn=e(),ga=e(),ma=e(),pa=e(),$a=e(),_a=e(),ya=e(),fr=e(),nt=e(),ur=e(),at=e(),xa=e(),wa=e(),ka=e(),Ca=e(),Aa=e(),nn=e(),an=e(),Sa=e(),Ea=e(),Na=e(),Ta=e(),ln=e(),on=e(),La=e(),Pa=e(),Oa=e(),Ma=e(),Fa=e(),Da=e(),Ra=e(),Ia=e(),ja=e(),Ba=e(),za=e(),Ua=e(),Ga=e(),sn=e(),cn=e(),qa=e(),Nt=e(),lt=e(),Ha=e(),fn=e(),Wa=e(),dr=e(),vr=e(),Va=e();return $._v$=w(D,St,$._v$),$._v$2=w(k,Yr,$._v$2),$._v$3=w(q,la,$._v$3),$._v$4=w(F,oa,$._v$4),$._v$5=w(ee,sa,$._v$5),$._v$6=w(oe,Et,$._v$6),$._v$7=w(Q,ia,$._v$7),$._v$8=w(se,Jr,$._v$8),$._v$9=w(I,ca,$._v$9),$._v$10=w(we,fa,$._v$10),$._v$11=w(te,ua,$._v$11),$._v$12=w(R,Qr,$._v$12),$._v$13=w(B,da,$._v$13),$._v$14=w(H,en,$._v$14),$._v$15=w($e,va,$._v$15),$._v$16=w(Ie,tn,$._v$16),$._v$17=w(Ae,ba,$._v$17),$._v$18=w(Ee,ha,$._v$18),$._v$19=w(je,rn,$._v$19),$._v$20=w(De,ga,$._v$20),$._v$21=w(Xn,ma,$._v$21),$._v$22=w(xt,pa,$._v$22),$._v$23=w(Nr,$a,$._v$23),$._v$24=w(Kn,_a,$._v$24),$._v$25=w(wt,ya,$._v$25),$._v$26=w(Tr,fr,$._v$26),$._v$27=w(Lr,nt,$._v$27),$._v$28=w(Pr,ur,$._v$28),$._v$29=w(Or,at,$._v$29),$._v$30=w(Yt,xa,$._v$30),$._v$31=w(Mr,wa,$._v$31),$._v$32=w(Fr,ka,$._v$32),$._v$33=w(Dr,Ca,$._v$33),$._v$34=w(Rr,Aa,$._v$34),$._v$35=w(Jt,nn,$._v$35),$._v$36=w(Qt,an,$._v$36),$._v$37=w(Ir,Sa,$._v$37),$._v$38=w(jr,Ea,$._v$38),$._v$39=w(vt,Na,$._v$39),$._v$40=w(Br,Ta,$._v$40),$._v$41=w(er,ln,$._v$41),$._v$42=w(kt,on,$._v$42),$._v$43=w(tr,La,$._v$43),$._v$44=w(rr,Pa,$._v$44),$._v$45=w(nr,Oa,$._v$45),$._v$46=w(ar,Ma,$._v$46),$._v$47=w(Ur,Fa,$._v$47),$._v$48=w(Ct,Da,$._v$48),$._v$49=w(lr,Ra,$._v$49),$._v$50=w(Gr,Ia,$._v$50),$._v$51=w(qr,ja,$._v$51),$._v$52=w(or,Ba,$._v$52),$._v$53=w(Jn,za,$._v$53),$._v$54=w(Wr,Ua,$._v$54),$._v$55=w(sr,Ga,$._v$55),$._v$56=w(ir,sn,$._v$56),$._v$57=w(Vr,cn,$._v$57),$._v$58=w(Zr,qa,$._v$58),$._v$59=w(ea,Nt,$._v$59),$._v$60=w(cr,lt,$._v$60),$._v$61=w(At,Ha,$._v$61),$._v$62=w(Xr,fn,$._v$62),$._v$63=w(Kr,Wa,$._v$63),$._v$64=w(ra,dr,$._v$64),$._v$65=w(na,vr,$._v$65),$._v$66=w(aa,Va,$._v$66),$},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0,_v$5:void 0,_v$6:void 0,_v$7:void 0,_v$8:void 0,_v$9:void 0,_v$10:void 0,_v$11:void 0,_v$12:void 0,_v$13:void 0,_v$14:void 0,_v$15:void 0,_v$16:void 0,_v$17:void 0,_v$18:void 0,_v$19:void 0,_v$20:void 0,_v$21:void 0,_v$22:void 0,_v$23:void 0,_v$24:void 0,_v$25:void 0,_v$26:void 0,_v$27:void 0,_v$28:void 0,_v$29:void 0,_v$30:void 0,_v$31:void 0,_v$32:void 0,_v$33:void 0,_v$34:void 0,_v$35:void 0,_v$36:void 0,_v$37:void 0,_v$38:void 0,_v$39:void 0,_v$40:void 0,_v$41:void 0,_v$42:void 0,_v$43:void 0,_v$44:void 0,_v$45:void 0,_v$46:void 0,_v$47:void 0,_v$48:void 0,_v$49:void 0,_v$50:void 0,_v$51:void 0,_v$52:void 0,_v$53:void 0,_v$54:void 0,_v$55:void 0,_v$56:void 0,_v$57:void 0,_v$58:void 0,_v$59:void 0,_v$60:void 0,_v$61:void 0,_v$62:void 0,_v$63:void 0,_v$64:void 0,_v$65:void 0,_v$66:void 0}),D})()},Ov=P(''),Mv=()=>(()=>{const e=Ov.cloneNode(!0);return e.firstChild,C(e,_(Ol,{get swatch(){return he()},get swatchArr(){return Kt(he())},trackIndex:"id",disableText:!0}),null),C(e,_(Ys,{get children(){return _(Pv,{})}}),null),e})(),Fv=Un(()=>Vn(()=>import("./playgroundPage.65440987.js"),[])),Dv=Un(()=>Vn(()=>import("./buttonPlaygroundPage.b28485cc.js"),[])),Rv=Un(()=>Vn(()=>import("./introPlaygroundPage.da64518d.js"),[])),Iv=Un(()=>Vn(()=>import("./documentationSamplePage.e78368eb.js"),[])),jv=()=>_(Ve,{path:"/playground",component:Fv,get children(){return[_(Ve,{path:"/intro",component:Rv}),_(Ve,{path:"/buttons",component:Dv}),_(Ve,{path:"/texts",component:xv}),_(Ve,{path:"/documentation",component:Iv}),_(Ve,{path:"/landing",component:Mv}),_(Ve,{path:"/test",component:qd})]}}),Bv=P(''),zv=()=>(Fl(()=>{let e=`
- \u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588 \u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588
- \u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588
- \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588
- \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588
- \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588
+ active:translate-y-px capitalize ${e.selfFlex?"":"self-start"}`,i=t();return o!==l._v$&&Be(n,l._v$=o),l._v$2=w(n,i,l._v$2),l},{_v$:void 0,_v$2:void 0}),n})()},Av="amb--dd933722-0",Sv=".heading[s\\:amb--dd933722-0]{color:var(--s-amb--dd933722-1)}",An=e=>{const t=dt(),n=()=>Je(9);if(ut(Av,1,Sv),t(()=>({"--s-amb--dd933722-1":n()})),e.type=="default")return _(Cl,{border:"full",get textColor(){return Je(9)},get color(){return G(()=>!!Se(),!0)()?Je(0):$t[0]},get hoverColor(){return Se()?$t[1]:$t[0]},get borderColor(){return Je(2)},get hoverBorderColor(){return Je(1)},get children(){return e.children}});if(e.type=="secondary")return _(Cl,{border:"full",get textColor(){return Te(9)},get color(){return Te(2)},get hoverColor(){return Te(1)},get borderColor(){return Te(3)},get hoverBorderColor(){return Te(2)},get children(){return e.children}});if(e.type=="primary")return _(Cl,{border:"top",get textColor(){return Wd()},get color(){return Te(5)},get hoverColor(){return Te(6)},get borderColor(){return Te(6)},get hoverBorderColor(){return Te(7)},get children(){return e.children}})},Ev=P(' '),Nv=P(`Let your imagination run wild!
Contrast safe, tested, and beautiful colors! Use Flex Colors to design your next website's color palette.
See what we are all about
What sets us apart
Features Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lightweight Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Read More Composable Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Read More Fast Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Read More About our team Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
`),Tv="amb--5eaf9b4f-0",Lv=".link[s\\:amb--5eaf9b4f-0]{color:var(--s-amb--5eaf9b4f-1)}.link[s\\:amb--5eaf9b4f-0]:hover{color:var(--s-amb--5eaf9b4f-2)}.link-border[s\\:amb--5eaf9b4f-0]{border-color:var(--s-amb--5eaf9b4f-3)}.border-color[s\\:amb--5eaf9b4f-0]{border-color:var(--s-amb--5eaf9b4f-4)}.heading[s\\:amb--5eaf9b4f-0]{color:var(--s-amb--5eaf9b4f-5)}.heading-special[s\\:amb--5eaf9b4f-0]{background:-webkit-linear-gradient(var(--s-amb--5eaf9b4f-6),var(--s-amb--5eaf9b4f-7));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.over[s\\:amb--5eaf9b4f-0]{color:var(--s-amb--5eaf9b4f-8)}.icon[s\\:amb--5eaf9b4f-0]{color:var(--s-amb--5eaf9b4f-9)}.neutral-01[s\\:amb--5eaf9b4f-0]{fill:var(--s-amb--5eaf9b4f-10)}.neutral-02[s\\:amb--5eaf9b4f-0]{fill:var(--s-amb--5eaf9b4f-11)}.neutral-03[s\\:amb--5eaf9b4f-0]{fill:var(--s-amb--5eaf9b4f-12)}.color-01[s\\:amb--5eaf9b4f-0]{fill:var(--s-amb--5eaf9b4f-13)}.color-02[s\\:amb--5eaf9b4f-0]{fill:var(--s-amb--5eaf9b4f-14)}.color-03[s\\:amb--5eaf9b4f-0]{fill:var(--s-amb--5eaf9b4f-15)}.color-04[s\\:amb--5eaf9b4f-0]{fill:var(--s-amb--5eaf9b4f-16)}.color-05[s\\:amb--5eaf9b4f-0]{fill:var(--s-amb--5eaf9b4f-17)}.color-06[s\\:amb--5eaf9b4f-0]{fill:var(--s-amb--5eaf9b4f-18)}.bg-neutral-00[s\\:amb--5eaf9b4f-0]{background:var(--s-amb--5eaf9b4f-19)}.bg-neutral-01[s\\:amb--5eaf9b4f-0]{background:var(--s-amb--5eaf9b4f-20)}.paragraph[s\\:amb--5eaf9b4f-0]{color:var(--s-amb--5eaf9b4f-21)}.bold[s\\:amb--5eaf9b4f-0]{color:var(--s-amb--5eaf9b4f-22);font-weight:500}.hint[s\\:amb--5eaf9b4f-0]{color:var(--s-amb--5eaf9b4f-23)}.code[s\\:amb--5eaf9b4f-0]{background-color:var(--s-amb--5eaf9b4f-24);border:1px solid var(--s-amb--5eaf9b4f-25);border-top:1px solid var(--s-amb--5eaf9b4f-26);color:var(--s-amb--5eaf9b4f-27)}",Pv=()=>{const e=dt(),t=()=>Kt(he()),n=()=>ce()[1],l=()=>t()[n()],o=()=>t()[0],i=()=>o()[9],c=()=>o()[7],f=()=>o()[8],h=()=>o()[5],p=()=>l()[7],y=()=>o()[0],S=()=>o()[1],T=()=>o()[2],j=()=>o()[8];return et(()=>{}),ut(Tv,1,Lv),e(()=>({"--s-amb--5eaf9b4f-1":p(),"--s-amb--5eaf9b4f-2":l()[8],"--s-amb--5eaf9b4f-3":p(),"--s-amb--5eaf9b4f-4":S(),"--s-amb--5eaf9b4f-5":i(),"--s-amb--5eaf9b4f-6":l()[6],"--s-amb--5eaf9b4f-7":l()[5],"--s-amb--5eaf9b4f-8":l()[6],"--s-amb--5eaf9b4f-9":l()[5],"--s-amb--5eaf9b4f-10":o()[1],"--s-amb--5eaf9b4f-11":o()[2],"--s-amb--5eaf9b4f-12":o()[3],"--s-amb--5eaf9b4f-13":l()[1],"--s-amb--5eaf9b4f-14":l()[2],"--s-amb--5eaf9b4f-15":l()[3],"--s-amb--5eaf9b4f-16":l()[4],"--s-amb--5eaf9b4f-17":l()[5],"--s-amb--5eaf9b4f-18":l()[6],"--s-amb--5eaf9b4f-19":o()[0],"--s-amb--5eaf9b4f-20":o()[1],"--s-amb--5eaf9b4f-21":c(),"--s-amb--5eaf9b4f-22":f(),"--s-amb--5eaf9b4f-23":h(),"--s-amb--5eaf9b4f-24":y(),"--s-amb--5eaf9b4f-25":S(),"--s-amb--5eaf9b4f-26":T(),"--s-amb--5eaf9b4f-27":j()})),(()=>{const D=Nv.cloneNode(!0),k=D.firstChild,q=k.firstChild,F=q.firstChild,ee=F.firstChild,oe=ee.firstChild,Q=oe.nextSibling,se=Q.nextSibling,I=se.nextSibling,we=I.nextSibling,te=we.nextSibling,R=te.nextSibling,B=R.nextSibling,H=F.nextSibling,$e=q.nextSibling,Ie=k.nextSibling,Ae=Ie.firstChild,Ee=Ae.firstChild,Fe=Ee.firstChild,je=Fe.nextSibling,De=Ee.nextSibling,Zn=De.firstChild,Xn=Zn.nextSibling,xt=De.nextSibling,Nr=xt.nextSibling,Kn=Nr.firstChild,wt=Ae.nextSibling,Tr=wt.firstChild,Lr=Tr.firstChild,Pr=Lr.firstChild,Or=Pr.nextSibling,Yt=Or.nextSibling,Mr=Yt.nextSibling,Fr=Mr.nextSibling,Dr=Fr.nextSibling,Rr=Dr.nextSibling,Jt=Rr.nextSibling,Qt=Ie.nextSibling,Ir=Qt.firstChild,jr=Ir.nextSibling,vt=jr.nextSibling,Yn=vt.firstChild,Br=Yn.nextSibling,er=vt.nextSibling,kt=er.firstChild,tr=kt.firstChild,rr=tr.nextSibling,nr=rr.nextSibling,ar=nr.nextSibling,zr=ar.firstChild,Ur=zr.nextSibling,Ct=kt.nextSibling,lr=Ct.firstChild,Gr=lr.nextSibling,qr=Gr.nextSibling,or=qr.nextSibling,Hr=or.firstChild,Jn=Hr.nextSibling,Wr=Ct.nextSibling,sr=Wr.firstChild,ir=sr.nextSibling,Vr=ir.nextSibling,Zr=Vr.nextSibling,Qn=Zr.firstChild,ea=Qn.nextSibling,cr=Qt.nextSibling,At=cr.firstChild,Xr=At.firstChild,Kr=Xr.nextSibling,ta=Kr.firstChild,ra=ta.nextSibling,na=At.nextSibling,aa=cr.nextSibling;return C($e,_(An,{type:"default",children:"Sign in"})),C(xt,_(An,{type:"primary",children:"Get started"}),null),C(xt,_(An,{type:"secondary",children:"Why choose Flex?"}),null),C(At,_(An,{type:"default",get children(){return["Read our blog post ",(()=>{const $=Ev.cloneNode(!0);return U(St=>w($,e(),St)),$})()]}}),null),U($=>{const St=e(),Yr=e(),la=e(),oa=e(),sa=e(),Et=e(),ia=e(),Jr=e(),ca=e(),fa=e(),ua=e(),Qr=e(),da=e(),en=e(),va=e(),tn=e(),ba=e(),ha=e(),rn=e(),ga=e(),ma=e(),pa=e(),$a=e(),_a=e(),ya=e(),fr=e(),nt=e(),ur=e(),at=e(),xa=e(),wa=e(),ka=e(),Ca=e(),Aa=e(),nn=e(),an=e(),Sa=e(),Ea=e(),Na=e(),Ta=e(),ln=e(),on=e(),La=e(),Pa=e(),Oa=e(),Ma=e(),Fa=e(),Da=e(),Ra=e(),Ia=e(),ja=e(),Ba=e(),za=e(),Ua=e(),Ga=e(),sn=e(),cn=e(),qa=e(),Nt=e(),lt=e(),Ha=e(),fn=e(),Wa=e(),dr=e(),vr=e(),Va=e();return $._v$=w(D,St,$._v$),$._v$2=w(k,Yr,$._v$2),$._v$3=w(q,la,$._v$3),$._v$4=w(F,oa,$._v$4),$._v$5=w(ee,sa,$._v$5),$._v$6=w(oe,Et,$._v$6),$._v$7=w(Q,ia,$._v$7),$._v$8=w(se,Jr,$._v$8),$._v$9=w(I,ca,$._v$9),$._v$10=w(we,fa,$._v$10),$._v$11=w(te,ua,$._v$11),$._v$12=w(R,Qr,$._v$12),$._v$13=w(B,da,$._v$13),$._v$14=w(H,en,$._v$14),$._v$15=w($e,va,$._v$15),$._v$16=w(Ie,tn,$._v$16),$._v$17=w(Ae,ba,$._v$17),$._v$18=w(Ee,ha,$._v$18),$._v$19=w(je,rn,$._v$19),$._v$20=w(De,ga,$._v$20),$._v$21=w(Xn,ma,$._v$21),$._v$22=w(xt,pa,$._v$22),$._v$23=w(Nr,$a,$._v$23),$._v$24=w(Kn,_a,$._v$24),$._v$25=w(wt,ya,$._v$25),$._v$26=w(Tr,fr,$._v$26),$._v$27=w(Lr,nt,$._v$27),$._v$28=w(Pr,ur,$._v$28),$._v$29=w(Or,at,$._v$29),$._v$30=w(Yt,xa,$._v$30),$._v$31=w(Mr,wa,$._v$31),$._v$32=w(Fr,ka,$._v$32),$._v$33=w(Dr,Ca,$._v$33),$._v$34=w(Rr,Aa,$._v$34),$._v$35=w(Jt,nn,$._v$35),$._v$36=w(Qt,an,$._v$36),$._v$37=w(Ir,Sa,$._v$37),$._v$38=w(jr,Ea,$._v$38),$._v$39=w(vt,Na,$._v$39),$._v$40=w(Br,Ta,$._v$40),$._v$41=w(er,ln,$._v$41),$._v$42=w(kt,on,$._v$42),$._v$43=w(tr,La,$._v$43),$._v$44=w(rr,Pa,$._v$44),$._v$45=w(nr,Oa,$._v$45),$._v$46=w(ar,Ma,$._v$46),$._v$47=w(Ur,Fa,$._v$47),$._v$48=w(Ct,Da,$._v$48),$._v$49=w(lr,Ra,$._v$49),$._v$50=w(Gr,Ia,$._v$50),$._v$51=w(qr,ja,$._v$51),$._v$52=w(or,Ba,$._v$52),$._v$53=w(Jn,za,$._v$53),$._v$54=w(Wr,Ua,$._v$54),$._v$55=w(sr,Ga,$._v$55),$._v$56=w(ir,sn,$._v$56),$._v$57=w(Vr,cn,$._v$57),$._v$58=w(Zr,qa,$._v$58),$._v$59=w(ea,Nt,$._v$59),$._v$60=w(cr,lt,$._v$60),$._v$61=w(At,Ha,$._v$61),$._v$62=w(Xr,fn,$._v$62),$._v$63=w(Kr,Wa,$._v$63),$._v$64=w(ra,dr,$._v$64),$._v$65=w(na,vr,$._v$65),$._v$66=w(aa,Va,$._v$66),$},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0,_v$5:void 0,_v$6:void 0,_v$7:void 0,_v$8:void 0,_v$9:void 0,_v$10:void 0,_v$11:void 0,_v$12:void 0,_v$13:void 0,_v$14:void 0,_v$15:void 0,_v$16:void 0,_v$17:void 0,_v$18:void 0,_v$19:void 0,_v$20:void 0,_v$21:void 0,_v$22:void 0,_v$23:void 0,_v$24:void 0,_v$25:void 0,_v$26:void 0,_v$27:void 0,_v$28:void 0,_v$29:void 0,_v$30:void 0,_v$31:void 0,_v$32:void 0,_v$33:void 0,_v$34:void 0,_v$35:void 0,_v$36:void 0,_v$37:void 0,_v$38:void 0,_v$39:void 0,_v$40:void 0,_v$41:void 0,_v$42:void 0,_v$43:void 0,_v$44:void 0,_v$45:void 0,_v$46:void 0,_v$47:void 0,_v$48:void 0,_v$49:void 0,_v$50:void 0,_v$51:void 0,_v$52:void 0,_v$53:void 0,_v$54:void 0,_v$55:void 0,_v$56:void 0,_v$57:void 0,_v$58:void 0,_v$59:void 0,_v$60:void 0,_v$61:void 0,_v$62:void 0,_v$63:void 0,_v$64:void 0,_v$65:void 0,_v$66:void 0}),D})()},Ov=P(''),Mv=()=>(()=>{const e=Ov.cloneNode(!0);return e.firstChild,C(e,_(Ol,{get swatch(){return he()},get swatchArr(){return Kt(he())},trackIndex:"id",disableText:!0}),null),C(e,_(Ys,{get children(){return _(Pv,{})}}),null),e})(),Fv=Un(()=>Vn(()=>import("./playgroundPage.65440987.js"),[])),Dv=Un(()=>Vn(()=>import("./buttonPlaygroundPage.b28485cc.js"),[])),Rv=Un(()=>Vn(()=>import("./introPlaygroundPage.da64518d.js"),[])),Iv=Un(()=>Vn(()=>import("./documentationSamplePage.e78368eb.js"),[])),jv=()=>_(Ve,{path:"/playground",component:Fv,get children(){return[_(Ve,{path:"/intro",component:Rv}),_(Ve,{path:"/buttons",component:Dv}),_(Ve,{path:"/texts",component:xv}),_(Ve,{path:"/documentation",component:Iv}),_(Ve,{path:"/landing",component:Mv}),_(Ve,{path:"/test",component:qd})]}}),Bv=P(''),zv=()=>(Fl(()=>{let e=`
+ \u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588 \u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588
+ \u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588
+ \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588
+ \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588
+ \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588
`;e+=`
Using Ambient at work? Work with me on your next project!
https://kevintyj.com
diff --git a/dist/assets/playgroundPage.65440987.js b/dist/assets/playgroundPage.65440987.js
index 1a9a81c..5bc3b7a 100644
--- a/dist/assets/playgroundPage.65440987.js
+++ b/dist/assets/playgroundPage.65440987.js
@@ -1,6 +1,6 @@
import{i as n,c as l,S as L,F as W,t as o,A as S,u as q,P as Y,a as P,M as Z,b as c,s as t,B as O,O as ee,D as ae,d as B,e as te}from"./index.15e05be8.js";const re=o('
'),le=o(`
`),ne=o(' '),se=a=>l(S,{get href(){return a.link},class:"pl-3 py-1",get classList(){return{"-ml-px text-am-pink dark:text-am-pink-light font-semibold border-l-2 border-am-pink dark:border-am-pink-light":a.selected}},get children(){return a.children}}),D=a=>{const x=()=>q().pathname;return(()=>{const v=re.cloneNode(!0);return n(v,l(W,{get each(){return Object.entries(a.list)},children:([d,g])=>l(L,{when:g&&g!="",get fallback(){return(()=>{const b=ne.cloneNode(!0);return n(b,d),b})()},get children(){const b=le.cloneNode(!0);return n(b,l(se,{get selected(){return g==x()},link:g,children:d})),b}})})),v})()},de=o(' '),ie=o(`
`),ne=o(' '),se=a=>l(S,{get href(){return a.link},class:"pl-3 py-1",get classList(){return{"-ml-px text-am-pink dark:text-am-pink-light font-semibold border-l-2 border-am-pink dark:border-am-pink-light":a.selected}},get children(){return a.children}}),D=a=>{const x=()=>q().pathname;return(()=>{const v=re.cloneNode(!0);return n(v,l(W,{get each(){return Object.entries(a.list)},children:([d,g])=>l(L,{when:g&&g!=="",get fallback(){return(()=>{const b=ne.cloneNode(!0);return n(b,d),b})()},get children(){const b=le.cloneNode(!0);return n(b,l(se,{get selected(){return g==x()},link:g,children:d})),b}})})),v})()},de=o(' '),ie=o(` `),me="amb--a6aa559c-0",_e=".menuBG[s\\:amb--a6aa559c-0]{display:flex}.menuShown[s\\:amb--a6aa559c-0]{transform:translateX(0)!important}",$e=()=>{const a=Y(),[x,v]=P(!1),[d,g]=P({Components:"",Introduction:"/playground/intro",Buttons:"/playground/buttons",Texts:"/playground/texts",Pages:"",Documentation:"/playground/documentation",Landing:"/playground/landing"}),b=()=>q().pathname,$=()=>Object.entries(d()).findIndex(i=>i[1]==b()),w=()=>Object.values(d())[$()-1]?Object.values(d())[$()-1]:"",y=()=>Object.values(d())[$()+1]?Object.values(d())[$()+1]:"";return Z(me,1,_e),[(()=>{const i=ie.cloneNode(!0),m=i.firstChild,_=m.firstChild;return i.$$click=()=>v(!1),_.$$click=()=>v(!1),n(_,l(O,{aria:"Open Mobile Menu",get children(){const r=de.cloneNode(!0);return c(u=>t(r,a(),u)),r}})),n(m,l(D,{get list(){return d()}}),null),c(r=>{const u=!!x(),p=a(),f=!!x(),h=a(),j=a();return u!==r._v$&&i.classList.toggle("menuBG",r._v$=u),r._v$2=t(i,p,r._v$2),f!==r._v$3&&m.classList.toggle("menuShown",r._v$3=f),r._v$4=t(m,h,r._v$4),r._v$5=t(_,j,r._v$5),r},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0,_v$5:void 0}),i})(),(()=>{const i=be.cloneNode(!0),m=i.firstChild,_=m.firstChild,r=_.firstChild,u=r.firstChild,p=r.nextSibling,f=p.firstChild,h=f.nextSibling,j=h.nextSibling,C=_.nextSibling,M=C.firstChild,N=M.firstChild,k=N.firstChild,z=k.firstChild;return u.$$click=()=>v(!0),n(u,l(O,{aria:"Open Mobile Menu",square:!0,get children(){const e=oe.cloneNode(!0);return c(s=>t(e,a(),s)),e}})),f.$$click=()=>v(!0),n(f,l(O,{aria:"Toggle Mobile Navigation List",square:!0,get children(){const e=ce.cloneNode(!0);return c(s=>t(e,a(),s)),e}})),n(h,l(D,{get list(){return d()}})),n(C,l(ee,{}),M),n(N,l(ae,{}),k),n(z,l(L,{get when(){return w()!=""},get children(){return l(S,{get href(){return B(()=>!!w(),!0)()?w():"#"},get children(){return[(()=>{const e=ue.cloneNode(!0);return c(s=>t(e,a(),s)),e})(),(()=>{const e=I.cloneNode(!0);return n(e,()=>Object.keys(d())[$()-1]),c(s=>t(e,a(),s)),e})()]}})}})),n(k,l(L,{get when(){return y()!=""},get children(){return l(S,{get href(){return B(()=>!!y(),!0)()?y():"#"},get children(){return[(()=>{const e=I.cloneNode(!0);return n(e,()=>Object.keys(d())[$()+1]),c(s=>t(e,a(),s)),e})(),(()=>{const e=ve.cloneNode(!0);return c(s=>t(e,a(),s)),e})()]}})}}),null),c(e=>{const s=a(),E=a(),F=a(),G=a(),T=a(),A=a(),R=a(),X=a(),H=a(),J=a(),K=a(),Q=a(),U=a(),V=a();return e._v$6=t(i,s,e._v$6),e._v$7=t(m,E,e._v$7),e._v$8=t(_,F,e._v$8),e._v$9=t(r,G,e._v$9),e._v$10=t(u,T,e._v$10),e._v$11=t(p,A,e._v$11),e._v$12=t(f,R,e._v$12),e._v$13=t(h,X,e._v$13),e._v$14=t(j,H,e._v$14),e._v$15=t(C,J,e._v$15),e._v$16=t(M,K,e._v$16),e._v$17=t(N,Q,e._v$17),e._v$18=t(k,U,e._v$18),e._v$19=t(z,V,e._v$19),e},{_v$6:void 0,_v$7:void 0,_v$8:void 0,_v$9:void 0,_v$10:void 0,_v$11:void 0,_v$12:void 0,_v$13:void 0,_v$14:void 0,_v$15:void 0,_v$16:void 0,_v$17:void 0,_v$18:void 0,_v$19:void 0}),i})()]};te(["click"]);export{$e as default};
+ drop-shadow-[0_0_8px_rgba(0,0,0,0.14)]" s:amb--a6aa559c-0>
`),me="amb--a6aa559c-0",_e=".menuBG[s\\:amb--a6aa559c-0]{display:flex}.menuShown[s\\:amb--a6aa559c-0]{transform:translateX(0)!important}",$e=()=>{const a=Y(),[x,v]=P(!1),[d,g]=P({Components:"",Introduction:"/playground/intro",Buttons:"/playground/buttons",Texts:"/playground/texts",Pages:"",Documentation:"/playground/documentation",Landing:"/playground/landing"}),b=()=>q().pathname,$=()=>Object.entries(d()).findIndex(i=>i[1]==b()),w=()=>Object.values(d())[$()-1]?Object.values(d())[$()-1]:"",y=()=>Object.values(d())[$()+1]?Object.values(d())[$()+1]:"";return Z(me,1,_e),[(()=>{const i=ie.cloneNode(!0),m=i.firstChild,_=m.firstChild;return i.$$click=()=>v(!1),_.$$click=()=>v(!1),n(_,l(O,{aria:"Open Mobile Menu",get children(){const r=de.cloneNode(!0);return c(u=>t(r,a(),u)),r}})),n(m,l(D,{get list(){return d()}}),null),c(r=>{const u=!!x(),p=a(),f=!!x(),h=a(),j=a();return u!==r._v$&&i.classList.toggle("menuBG",r._v$=u),r._v$2=t(i,p,r._v$2),f!==r._v$3&&m.classList.toggle("menuShown",r._v$3=f),r._v$4=t(m,h,r._v$4),r._v$5=t(_,j,r._v$5),r},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0,_v$5:void 0}),i})(),(()=>{const i=be.cloneNode(!0),m=i.firstChild,_=m.firstChild,r=_.firstChild,u=r.firstChild,p=r.nextSibling,f=p.firstChild,h=f.nextSibling,j=h.nextSibling,C=_.nextSibling,M=C.firstChild,N=M.firstChild,k=N.firstChild,z=k.firstChild;return u.$$click=()=>v(!0),n(u,l(O,{aria:"Open Mobile Menu",square:!0,get children(){const e=oe.cloneNode(!0);return c(s=>t(e,a(),s)),e}})),f.$$click=()=>v(!0),n(f,l(O,{aria:"Toggle Mobile Navigation List",square:!0,get children(){const e=ce.cloneNode(!0);return c(s=>t(e,a(),s)),e}})),n(h,l(D,{get list(){return d()}})),n(C,l(ee,{}),M),n(N,l(ae,{}),k),n(z,l(L,{get when(){return w()!==""},get children(){return l(S,{get href(){return B(()=>!!w(),!0)()?w():"#"},get children(){return[(()=>{const e=ue.cloneNode(!0);return c(s=>t(e,a(),s)),e})(),(()=>{const e=I.cloneNode(!0);return n(e,()=>Object.keys(d())[$()-1]),c(s=>t(e,a(),s)),e})()]}})}})),n(k,l(L,{get when(){return y()!==""},get children(){return l(S,{get href(){return B(()=>!!y(),!0)()?y():"#"},get children(){return[(()=>{const e=I.cloneNode(!0);return n(e,()=>Object.keys(d())[$()+1]),c(s=>t(e,a(),s)),e})(),(()=>{const e=ve.cloneNode(!0);return c(s=>t(e,a(),s)),e})()]}})}}),null),c(e=>{const s=a(),E=a(),F=a(),G=a(),T=a(),A=a(),R=a(),X=a(),H=a(),J=a(),K=a(),Q=a(),U=a(),V=a();return e._v$6=t(i,s,e._v$6),e._v$7=t(m,E,e._v$7),e._v$8=t(_,F,e._v$8),e._v$9=t(r,G,e._v$9),e._v$10=t(u,T,e._v$10),e._v$11=t(p,A,e._v$11),e._v$12=t(f,R,e._v$12),e._v$13=t(h,X,e._v$13),e._v$14=t(j,H,e._v$14),e._v$15=t(C,J,e._v$15),e._v$16=t(M,K,e._v$16),e._v$17=t(N,Q,e._v$17),e._v$18=t(k,U,e._v$18),e._v$19=t(z,V,e._v$19),e},{_v$6:void 0,_v$7:void 0,_v$8:void 0,_v$9:void 0,_v$10:void 0,_v$11:void 0,_v$12:void 0,_v$13:void 0,_v$14:void 0,_v$15:void 0,_v$16:void 0,_v$17:void 0,_v$18:void 0,_v$19:void 0}),i})()]};te(["click"]);export{$e as default};
diff --git a/eslint.config.js b/eslint.config.js
new file mode 100644
index 0000000..174114c
--- /dev/null
+++ b/eslint.config.js
@@ -0,0 +1,40 @@
+import antfu from '@antfu/eslint-config';
+
+/* Using custom configuration of Antfu's code style: https://github.com/antfu/eslint-config */
+export default await antfu(
+ {
+ typescript: true,
+ stylistic: {
+ quotes: 'single',
+ indent: 'tab',
+ semi: 'always',
+ },
+ ignores: [
+ '**/dist',
+ '.idea',
+ // disable eslint for vendor utils
+ 'src/functions/apca.ts',
+ 'src/functions/parsley.js',
+ ],
+ overrides: {
+ typescript: {
+ 'ts/consistent-type-definitions': ['error', 'type'],
+ },
+ },
+ },
+ {
+ rules: {
+ 'style/no-tabs': ['error', { allowIndentationTabs: true }],
+ 'style/no-mixed-spaces-and-tabs': ['error', 'smart-tabs'],
+ 'style/array-bracket-newline': ['error', { multiline: true }],
+ 'style/array-element-newline': ['error', 'consistent'],
+ 'antfu/top-level-function': 'off',
+ },
+ },
+ {
+ files: ['tsconfig.json', 'tsconfig.node.json', 'package.json'],
+ rules: {
+ 'jsonc/sort-keys': 'off',
+ },
+ },
+);
diff --git a/firebase.json b/firebase.json
index 2c33c29..69da1ba 100644
--- a/firebase.json
+++ b/firebase.json
@@ -1,16 +1,16 @@
{
- "hosting": {
- "public": "dist",
- "ignore": [
- "firebase.json",
- "**/.*",
- "**/node_modules/**"
- ],
- "rewrites": [
- {
- "source": "**",
- "destination": "/index.html"
- }
- ]
- }
+ "hosting": {
+ "public": "dist",
+ "ignore": [
+ "firebase.json",
+ "**/.*",
+ "**/node_modules/**"
+ ],
+ "rewrites": [
+ {
+ "source": "**",
+ "destination": "/index.html"
+ }
+ ]
+ }
}
diff --git a/package.json b/package.json
index 5ab8211..0fed968 100644
--- a/package.json
+++ b/package.json
@@ -1,34 +1,57 @@
{
- "name": "ambient",
- "version": "1.0.0",
- "description": "Color Checker Tool",
- "scripts": {
- "start": "vite",
- "dev": "vite --debug",
- "build": "vite build",
- "serve": "vite preview"
- },
- "license": "MIT",
- "devDependencies": {
- "@tailwindcss/typography": "^0.5.8",
- "autoprefixer": "^10.4.13",
- "postcss": "^8.4.19",
- "sass": "^1.56.2",
- "tailwindcss": "^3.2.4",
- "typescript": "^4.8.2",
- "vite": "^3.0.9",
- "vite-plugin-solid": "^2.3.0",
- "vite-plugin-solid-styled": "^0.7.4"
- },
- "dependencies": {
- "@felte/solid": "^1.2.7",
- "@solidjs/router": "^0.5.1",
- "@types/chroma-js": "^2.1.4",
- "bootstrap-icons": "^1.10.2",
- "chroma-js": "^2.4.2",
- "lodash": "^4.17.21",
- "solid-js": "^1.6.4",
- "solid-styled": "^0.7.4",
- "solid-toast": "^0.3.5"
- }
+ "name": "ambient",
+ "version": "1.0.0",
+ "type": "module",
+ "description": "Color Checker Tool",
+ "author": "Kevin Taeyoon Jin ",
+ "license": "BSD-3-Clause",
+ "homepage": "https://github.com/kevintyj/ambient#readme",
+ "repository": "github:kevintyj/ambient",
+ "bugs": {
+ "url": "https://github.com/kevintyj/ambient/issues"
+ },
+ "keywords": [
+ "ui",
+ "ambient",
+ "accessibility"
+ ],
+ "scripts": {
+ "prepare": "husky install",
+ "start": "vite",
+ "dev": "vite --debug",
+ "build": "vite build",
+ "serve": "vite preview",
+ "lint:es": "eslint .",
+ "ci": "pnpm run lint:es && pnpm run build"
+ },
+ "devDependencies": {
+ "@antfu/eslint-config": "^2.1.2",
+ "@commitlint/cli": "^18.4.3",
+ "@commitlint/config-conventional": "^18.4.3",
+ "@tailwindcss/typography": "^0.5.10",
+ "autoprefixer": "^10.4.16",
+ "eslint": "^8.54.0",
+ "husky": "^8.0.3",
+ "postcss": "^8.4.31",
+ "sass": "^1.69.5",
+ "tailwindcss": "^3.3.5",
+ "typescript": "^5.3.2",
+ "vite": "^5.0.4",
+ "vite-plugin-solid": "^2.7.2",
+ "vite-plugin-solid-styled": "^0.10.0"
+ },
+ "dependencies": {
+ "@felte/solid": "^1.2.11",
+ "@solidjs/router": "^0.9.1",
+ "@types/chroma-js": "^2.4.3",
+ "bootstrap-icons": "^1.11.2",
+ "chroma-js": "^2.4.2",
+ "lodash": "^4.17.21",
+ "solid-js": "^1.8.6",
+ "solid-styled": "^0.10.0",
+ "solid-toast": "^0.5.0"
+ },
+ "lint-staged": {
+ "*": "eslint --fix"
+ }
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 453d9b2..2356e73 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -6,17 +6,17 @@ settings:
dependencies:
'@felte/solid':
- specifier: ^1.2.7
- version: 1.2.7(solid-js@1.6.4)
+ specifier: ^1.2.11
+ version: 1.2.11(solid-js@1.8.6)
'@solidjs/router':
- specifier: ^0.5.1
- version: 0.5.1(solid-js@1.6.4)
+ specifier: ^0.9.1
+ version: 0.9.1(solid-js@1.8.6)
'@types/chroma-js':
- specifier: ^2.1.4
- version: 2.1.4
+ specifier: ^2.4.3
+ version: 2.4.3
bootstrap-icons:
- specifier: ^1.10.2
- version: 1.10.2
+ specifier: ^1.11.2
+ version: 1.11.2
chroma-js:
specifier: ^2.4.2
version: 2.4.2
@@ -24,908 +24,663 @@ dependencies:
specifier: ^4.17.21
version: 4.17.21
solid-js:
- specifier: ^1.6.4
- version: 1.6.4
+ specifier: ^1.8.6
+ version: 1.8.6
solid-styled:
- specifier: ^0.7.4
- version: 0.7.4(@babel/core@7.20.5)(solid-js@1.6.4)
+ specifier: ^0.10.0
+ version: 0.10.0(solid-js@1.8.6)
solid-toast:
- specifier: ^0.3.5
- version: 0.3.5(solid-js@1.6.4)
+ specifier: ^0.5.0
+ version: 0.5.0(solid-js@1.8.6)
devDependencies:
+ '@antfu/eslint-config':
+ specifier: ^2.1.2
+ version: 2.1.2(eslint@8.54.0)(typescript@5.3.2)
+ '@commitlint/cli':
+ specifier: ^18.4.3
+ version: 18.4.3(typescript@5.3.2)
+ '@commitlint/config-conventional':
+ specifier: ^18.4.3
+ version: 18.4.3
'@tailwindcss/typography':
- specifier: ^0.5.8
- version: 0.5.8(tailwindcss@3.2.4)
+ specifier: ^0.5.10
+ version: 0.5.10(tailwindcss@3.3.5)
autoprefixer:
- specifier: ^10.4.13
- version: 10.4.13(postcss@8.4.19)
+ specifier: ^10.4.16
+ version: 10.4.16(postcss@8.4.31)
+ eslint:
+ specifier: ^8.54.0
+ version: 8.54.0
+ husky:
+ specifier: ^8.0.3
+ version: 8.0.3
postcss:
- specifier: ^8.4.19
- version: 8.4.19
+ specifier: ^8.4.31
+ version: 8.4.31
sass:
- specifier: ^1.56.2
- version: 1.56.2
+ specifier: ^1.69.5
+ version: 1.69.5
tailwindcss:
- specifier: ^3.2.4
- version: 3.2.4(postcss@8.4.19)
+ specifier: ^3.3.5
+ version: 3.3.5
typescript:
- specifier: ^4.8.2
- version: 4.8.2
+ specifier: ^5.3.2
+ version: 5.3.2
vite:
- specifier: ^3.0.9
- version: 3.0.9(sass@1.56.2)
+ specifier: ^5.0.4
+ version: 5.0.4(@types/node@18.19.0)(sass@1.69.5)
vite-plugin-solid:
- specifier: ^2.3.0
- version: 2.3.0(solid-js@1.6.4)(vite@3.0.9)
+ specifier: ^2.7.2
+ version: 2.7.2(solid-js@1.8.6)(vite@5.0.4)
vite-plugin-solid-styled:
- specifier: ^0.7.4
- version: 0.7.4(solid-styled@0.7.4)(vite@3.0.9)
+ specifier: ^0.10.0
+ version: 0.10.0(solid-styled@0.10.0)(vite@5.0.4)
packages:
- /@ampproject/remapping@2.2.0:
- resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==}
- engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/gen-mapping': 0.1.1
- '@jridgewell/trace-mapping': 0.3.14
-
- /@babel/code-frame@7.18.6:
- resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/highlight': 7.18.6
-
- /@babel/compat-data@7.18.8:
- resolution: {integrity: sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==}
- engines: {node: '>=6.9.0'}
+ /@aashutoshrathi/word-wrap@1.2.6:
+ resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
+ engines: {node: '>=0.10.0'}
dev: true
- /@babel/compat-data@7.20.5:
- resolution: {integrity: sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==}
- engines: {node: '>=6.9.0'}
+ /@alloc/quick-lru@5.2.0:
+ resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
+ engines: {node: '>=10'}
+ dev: true
- /@babel/core@7.18.6:
- resolution: {integrity: sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==}
- engines: {node: '>=6.9.0'}
+ /@ampproject/remapping@2.2.1:
+ resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
+ engines: {node: '>=6.0.0'}
dependencies:
- '@ampproject/remapping': 2.2.0
- '@babel/code-frame': 7.18.6
- '@babel/generator': 7.18.7
- '@babel/helper-compilation-targets': 7.18.6(@babel/core@7.18.6)
- '@babel/helper-module-transforms': 7.18.8
- '@babel/helpers': 7.18.6
- '@babel/parser': 7.18.8
- '@babel/template': 7.18.6
- '@babel/traverse': 7.18.8
- '@babel/types': 7.18.8
- convert-source-map: 1.8.0
- debug: 4.3.4
- gensync: 1.0.0-beta.2
- json5: 2.2.1
- semver: 6.3.0
- transitivePeerDependencies:
- - supports-color
- dev: true
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.20
- /@babel/core@7.20.5:
- resolution: {integrity: sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==}
- engines: {node: '>=6.9.0'}
+ /@antfu/eslint-config@2.1.2(eslint@8.54.0)(typescript@5.3.2):
+ resolution: {integrity: sha512-eOkXtRcj3pAqkdbqNYEBUgFKTcDYYwAAAnGEs+DTTcJJJReIlrPx4WJIE02whOsi+5oKcJ7EK/swS6PcdcCIog==}
+ hasBin: true
+ peerDependencies:
+ '@unocss/eslint-plugin': '>=0.50.0'
+ eslint: '>=8.40.0'
+ eslint-plugin-react: ^7.33.2
+ eslint-plugin-react-hooks: ^4.6.0
+ eslint-plugin-react-refresh: ^0.4.4
+ peerDependenciesMeta:
+ '@unocss/eslint-plugin':
+ optional: true
+ eslint-plugin-react:
+ optional: true
+ eslint-plugin-react-hooks:
+ optional: true
+ eslint-plugin-react-refresh:
+ optional: true
dependencies:
- '@ampproject/remapping': 2.2.0
- '@babel/code-frame': 7.18.6
- '@babel/generator': 7.20.5
- '@babel/helper-compilation-targets': 7.20.0(@babel/core@7.20.5)
- '@babel/helper-module-transforms': 7.20.2
- '@babel/helpers': 7.20.6
- '@babel/parser': 7.20.5
- '@babel/template': 7.18.10
- '@babel/traverse': 7.20.5
- '@babel/types': 7.20.5
- convert-source-map: 1.8.0
- debug: 4.3.4
- gensync: 1.0.0-beta.2
- json5: 2.2.1
- semver: 6.3.0
+ '@antfu/eslint-define-config': 1.23.0-2
+ '@antfu/install-pkg': 0.3.0
+ '@eslint-types/jsdoc': 46.8.2-1
+ '@eslint-types/typescript-eslint': 6.12.0
+ '@eslint-types/unicorn': 49.0.0
+ '@stylistic/eslint-plugin': 1.4.1(eslint@8.54.0)(typescript@5.3.2)
+ '@typescript-eslint/eslint-plugin': 6.13.1(@typescript-eslint/parser@6.13.1)(eslint@8.54.0)(typescript@5.3.2)
+ '@typescript-eslint/parser': 6.13.1(eslint@8.54.0)(typescript@5.3.2)
+ eslint: 8.54.0
+ eslint-config-flat-gitignore: 0.1.2
+ eslint-plugin-antfu: 1.0.11(eslint@8.54.0)
+ eslint-plugin-eslint-comments: 3.2.0(eslint@8.54.0)
+ eslint-plugin-i: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint@8.54.0)
+ eslint-plugin-jsdoc: 46.9.0(eslint@8.54.0)
+ eslint-plugin-jsonc: 2.10.0(eslint@8.54.0)
+ eslint-plugin-markdown: 3.0.1(eslint@8.54.0)
+ eslint-plugin-n: 16.3.1(eslint@8.54.0)
+ eslint-plugin-no-only-tests: 3.1.0
+ eslint-plugin-perfectionist: 2.5.0(eslint@8.54.0)(typescript@5.3.2)(vue-eslint-parser@9.3.2)
+ eslint-plugin-unicorn: 49.0.0(eslint@8.54.0)
+ eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@6.13.1)(eslint@8.54.0)
+ eslint-plugin-vitest: 0.3.10(@typescript-eslint/eslint-plugin@6.13.1)(eslint@8.54.0)(typescript@5.3.2)
+ eslint-plugin-vue: 9.19.2(eslint@8.54.0)
+ eslint-plugin-yml: 1.10.0(eslint@8.54.0)
+ globals: 13.23.0
+ jsonc-eslint-parser: 2.4.0
+ local-pkg: 0.5.0
+ parse-gitignore: 2.0.0
+ picocolors: 1.0.0
+ prompts: 2.4.2
+ vue-eslint-parser: 9.3.2(eslint@8.54.0)
+ yaml-eslint-parser: 1.2.2
+ yargs: 17.7.2
transitivePeerDependencies:
+ - astro-eslint-parser
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
- supports-color
-
- /@babel/generator@7.18.7:
- resolution: {integrity: sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.18.8
- '@jridgewell/gen-mapping': 0.3.2
- jsesc: 2.5.2
+ - svelte
+ - svelte-eslint-parser
+ - typescript
+ - vitest
dev: true
- /@babel/generator@7.20.5:
- resolution: {integrity: sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.20.5
- '@jridgewell/gen-mapping': 0.3.2
- jsesc: 2.5.2
+ /@antfu/eslint-define-config@1.23.0-2:
+ resolution: {integrity: sha512-LvxY21+ZhpuBf/aHeBUtGQhSEfad4PkNKXKvDOSvukaM3XVTfBhwmHX2EKwAsdq5DlfjbT3qqYyMiueBIO5iDQ==}
+ engines: {node: '>=18.0.0', npm: '>=9.0.0', pnpm: '>= 8.6.0'}
+ dev: true
- /@babel/helper-annotate-as-pure@7.18.6:
- resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==}
- engines: {node: '>=6.9.0'}
+ /@antfu/install-pkg@0.3.0:
+ resolution: {integrity: sha512-hzTVgEFGBBMXUjsNhIRDdt9jvAkZzPbMLQW8q2wXz455+1zxGFtM0nxPl2pukFWHXcC/Bn/UCHV9rd0+pwYsmw==}
dependencies:
- '@babel/types': 7.18.8
+ execa: 8.0.1
+ find-up: 7.0.0
dev: true
- /@babel/helper-compilation-targets@7.18.6(@babel/core@7.18.6):
- resolution: {integrity: sha512-vFjbfhNCzqdeAtZflUFrG5YIFqGTqsctrtkZ1D/NB0mDW9TwW3GmmUepYY4G9wCET5rY5ugz4OGTcLd614IzQg==}
+ /@babel/code-frame@7.23.5:
+ resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==}
engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
dependencies:
- '@babel/compat-data': 7.18.8
- '@babel/core': 7.18.6
- '@babel/helper-validator-option': 7.18.6
- browserslist: 4.21.2
- semver: 6.3.0
- dev: true
+ '@babel/highlight': 7.23.4
+ chalk: 2.4.2
- /@babel/helper-compilation-targets@7.20.0(@babel/core@7.20.5):
- resolution: {integrity: sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==}
+ /@babel/compat-data@7.23.5:
+ resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==}
engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/compat-data': 7.20.5
- '@babel/core': 7.20.5
- '@babel/helper-validator-option': 7.18.6
- browserslist: 4.21.4
- semver: 6.3.0
- /@babel/helper-create-class-features-plugin@7.18.6(@babel/core@7.18.6):
- resolution: {integrity: sha512-YfDzdnoxHGV8CzqHGyCbFvXg5QESPFkXlHtvdCkesLjjVMT2Adxe4FGUR5ChIb3DxSaXO12iIOCWoXdsUVwnqw==}
+ /@babel/core@7.23.5:
+ resolution: {integrity: sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==}
engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.18.6
- '@babel/helper-annotate-as-pure': 7.18.6
- '@babel/helper-environment-visitor': 7.18.6
- '@babel/helper-function-name': 7.18.6
- '@babel/helper-member-expression-to-functions': 7.18.6
- '@babel/helper-optimise-call-expression': 7.18.6
- '@babel/helper-replace-supers': 7.18.6
- '@babel/helper-split-export-declaration': 7.18.6
+ '@ampproject/remapping': 2.2.1
+ '@babel/code-frame': 7.23.5
+ '@babel/generator': 7.23.5
+ '@babel/helper-compilation-targets': 7.22.15
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5)
+ '@babel/helpers': 7.23.5
+ '@babel/parser': 7.23.5
+ '@babel/template': 7.22.15
+ '@babel/traverse': 7.23.5
+ '@babel/types': 7.23.5
+ convert-source-map: 2.0.0
+ debug: 4.3.4
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
transitivePeerDependencies:
- supports-color
- dev: true
- /@babel/helper-create-class-features-plugin@7.18.6(@babel/core@7.20.5):
- resolution: {integrity: sha512-YfDzdnoxHGV8CzqHGyCbFvXg5QESPFkXlHtvdCkesLjjVMT2Adxe4FGUR5ChIb3DxSaXO12iIOCWoXdsUVwnqw==}
+ /@babel/generator@7.23.5:
+ resolution: {integrity: sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==}
engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-annotate-as-pure': 7.18.6
- '@babel/helper-environment-visitor': 7.18.6
- '@babel/helper-function-name': 7.18.6
- '@babel/helper-member-expression-to-functions': 7.18.6
- '@babel/helper-optimise-call-expression': 7.18.6
- '@babel/helper-replace-supers': 7.18.6
- '@babel/helper-split-export-declaration': 7.18.6
- transitivePeerDependencies:
- - supports-color
- dev: true
+ '@babel/types': 7.23.5
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.20
+ jsesc: 2.5.2
- /@babel/helper-environment-visitor@7.18.6:
- resolution: {integrity: sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q==}
+ /@babel/helper-annotate-as-pure@7.22.5:
+ resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.5
dev: true
- /@babel/helper-environment-visitor@7.18.9:
- resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==}
- engines: {node: '>=6.9.0'}
-
- /@babel/helper-function-name@7.18.6:
- resolution: {integrity: sha512-0mWMxV1aC97dhjCah5U5Ua7668r5ZmSC2DLfH2EZnf9c3/dHZKiFa5pRLMH5tjSl471tY6496ZWk/kjNONBxhw==}
+ /@babel/helper-compilation-targets@7.22.15:
+ resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/template': 7.18.6
- '@babel/types': 7.18.8
- dev: true
-
- /@babel/helper-function-name@7.19.0:
- resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==}
+ '@babel/compat-data': 7.23.5
+ '@babel/helper-validator-option': 7.23.5
+ browserslist: 4.22.1
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+ /@babel/helper-create-class-features-plugin@7.23.5(@babel/core@7.23.5):
+ resolution: {integrity: sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A==}
engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
dependencies:
- '@babel/template': 7.18.10
- '@babel/types': 7.20.5
+ '@babel/core': 7.23.5
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-member-expression-to-functions': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.5)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ semver: 6.3.1
+ dev: true
+
+ /@babel/helper-environment-visitor@7.22.20:
+ resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
+ engines: {node: '>=6.9.0'}
- /@babel/helper-hoist-variables@7.18.6:
- resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==}
+ /@babel/helper-function-name@7.23.0:
+ resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.18.8
+ '@babel/template': 7.22.15
+ '@babel/types': 7.23.5
- /@babel/helper-member-expression-to-functions@7.18.6:
- resolution: {integrity: sha512-CeHxqwwipekotzPDUuJOfIMtcIHBuc7WAzLmTYWctVigqS5RktNMQ5bEwQSuGewzYnCtTWa3BARXeiLxDTv+Ng==}
+ /@babel/helper-hoist-variables@7.22.5:
+ resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.18.8
- dev: true
+ '@babel/types': 7.23.5
- /@babel/helper-module-imports@7.16.0:
- resolution: {integrity: sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==}
+ /@babel/helper-member-expression-to-functions@7.23.0:
+ resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.18.8
+ '@babel/types': 7.23.5
dev: true
/@babel/helper-module-imports@7.18.6:
resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.18.8
+ '@babel/types': 7.23.5
+ dev: true
- /@babel/helper-module-transforms@7.18.8:
- resolution: {integrity: sha512-che3jvZwIcZxrwh63VfnFTUzcAM9v/lznYkkRxIBGMPt1SudOKHAEec0SIRCfiuIzTcF7VGj/CaTT6gY4eWxvA==}
+ /@babel/helper-module-imports@7.22.15:
+ resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/helper-environment-visitor': 7.18.6
- '@babel/helper-module-imports': 7.18.6
- '@babel/helper-simple-access': 7.18.6
- '@babel/helper-split-export-declaration': 7.18.6
- '@babel/helper-validator-identifier': 7.18.6
- '@babel/template': 7.18.6
- '@babel/traverse': 7.18.8
- '@babel/types': 7.18.8
- transitivePeerDependencies:
- - supports-color
- dev: true
+ '@babel/types': 7.23.5
- /@babel/helper-module-transforms@7.20.2:
- resolution: {integrity: sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==}
+ /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.5):
+ resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
dependencies:
- '@babel/helper-environment-visitor': 7.18.9
- '@babel/helper-module-imports': 7.18.6
- '@babel/helper-simple-access': 7.20.2
- '@babel/helper-split-export-declaration': 7.18.6
- '@babel/helper-validator-identifier': 7.19.1
- '@babel/template': 7.18.10
- '@babel/traverse': 7.20.5
- '@babel/types': 7.20.5
- transitivePeerDependencies:
- - supports-color
-
- /@babel/helper-optimise-call-expression@7.18.6:
- resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==}
+ '@babel/core': 7.23.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-simple-access': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/helper-validator-identifier': 7.22.20
+
+ /@babel/helper-optimise-call-expression@7.22.5:
+ resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.18.8
+ '@babel/types': 7.23.5
dev: true
- /@babel/helper-plugin-utils@7.18.6:
- resolution: {integrity: sha512-gvZnm1YAAxh13eJdkb9EWHBnF3eAub3XTLCZEehHT2kWxiKVRL64+ae5Y6Ivne0mVHmMYKT+xWgZO+gQhuLUBg==}
+ /@babel/helper-plugin-utils@7.22.5:
+ resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==}
engines: {node: '>=6.9.0'}
dev: true
- /@babel/helper-replace-supers@7.18.6:
- resolution: {integrity: sha512-fTf7zoXnUGl9gF25fXCWE26t7Tvtyn6H4hkLSYhATwJvw2uYxd3aoXplMSe0g9XbwK7bmxNes7+FGO0rB/xC0g==}
+ /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.5):
+ resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==}
engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
dependencies:
- '@babel/helper-environment-visitor': 7.18.6
- '@babel/helper-member-expression-to-functions': 7.18.6
- '@babel/helper-optimise-call-expression': 7.18.6
- '@babel/traverse': 7.18.8
- '@babel/types': 7.18.8
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.23.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-member-expression-to-functions': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
dev: true
- /@babel/helper-simple-access@7.18.6:
- resolution: {integrity: sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==}
+ /@babel/helper-simple-access@7.22.5:
+ resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.18.8
- dev: true
+ '@babel/types': 7.23.5
- /@babel/helper-simple-access@7.20.2:
- resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==}
+ /@babel/helper-skip-transparent-expression-wrappers@7.22.5:
+ resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.5
+ '@babel/types': 7.23.5
+ dev: true
- /@babel/helper-split-export-declaration@7.18.6:
- resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==}
+ /@babel/helper-split-export-declaration@7.22.6:
+ resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.18.8
-
- /@babel/helper-string-parser@7.19.4:
- resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==}
- engines: {node: '>=6.9.0'}
+ '@babel/types': 7.23.5
- /@babel/helper-validator-identifier@7.18.6:
- resolution: {integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==}
+ /@babel/helper-string-parser@7.23.4:
+ resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
engines: {node: '>=6.9.0'}
- /@babel/helper-validator-identifier@7.19.1:
- resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==}
+ /@babel/helper-validator-identifier@7.22.20:
+ resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
engines: {node: '>=6.9.0'}
- /@babel/helper-validator-option@7.18.6:
- resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==}
+ /@babel/helper-validator-option@7.23.5:
+ resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
engines: {node: '>=6.9.0'}
- /@babel/helpers@7.18.6:
- resolution: {integrity: sha512-vzSiiqbQOghPngUYt/zWGvK3LAsPhz55vc9XNN0xAl2gV4ieShI2OQli5duxWHD+72PZPTKAcfcZDE1Cwc5zsQ==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/template': 7.18.6
- '@babel/traverse': 7.18.8
- '@babel/types': 7.18.8
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/helpers@7.20.6:
- resolution: {integrity: sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==}
+ /@babel/helpers@7.23.5:
+ resolution: {integrity: sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/template': 7.18.10
- '@babel/traverse': 7.20.5
- '@babel/types': 7.20.5
+ '@babel/template': 7.22.15
+ '@babel/traverse': 7.23.5
+ '@babel/types': 7.23.5
transitivePeerDependencies:
- supports-color
- /@babel/highlight@7.18.6:
- resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==}
+ /@babel/highlight@7.23.4:
+ resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/helper-validator-identifier': 7.18.6
+ '@babel/helper-validator-identifier': 7.22.20
chalk: 2.4.2
js-tokens: 4.0.0
- /@babel/parser@7.18.8:
- resolution: {integrity: sha512-RSKRfYX20dyH+elbJK2uqAkVyucL+xXzhqlMD5/ZXx+dAAwpyB7HsvnHe/ZUGOF+xLr5Wx9/JoXVTj6BQE2/oA==}
- engines: {node: '>=6.0.0'}
- hasBin: true
- dependencies:
- '@babel/types': 7.18.8
- dev: true
-
- /@babel/parser@7.20.5:
- resolution: {integrity: sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==}
+ /@babel/parser@7.23.5:
+ resolution: {integrity: sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==}
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
- '@babel/types': 7.20.5
-
- /@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.18.6):
- resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.18.6
- '@babel/helper-plugin-utils': 7.18.6
- dev: true
-
- /@babel/plugin-syntax-typescript@7.18.6(@babel/core@7.18.6):
- resolution: {integrity: sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.18.6
- '@babel/helper-plugin-utils': 7.18.6
- dev: true
+ '@babel/types': 7.23.5
- /@babel/plugin-syntax-typescript@7.18.6(@babel/core@7.20.5):
- resolution: {integrity: sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==}
+ /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.5):
+ resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-plugin-utils': 7.18.6
+ '@babel/core': 7.23.5
+ '@babel/helper-plugin-utils': 7.22.5
dev: true
- /@babel/plugin-transform-typescript@7.18.8(@babel/core@7.18.6):
- resolution: {integrity: sha512-p2xM8HI83UObjsZGofMV/EdYjamsDm6MoN3hXPYIT0+gxIoopE+B7rPYKAxfrz9K9PK7JafTTjqYC6qipLExYA==}
+ /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.5):
+ resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.18.6
- '@babel/helper-create-class-features-plugin': 7.18.6(@babel/core@7.18.6)
- '@babel/helper-plugin-utils': 7.18.6
- '@babel/plugin-syntax-typescript': 7.18.6(@babel/core@7.18.6)
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.23.5
+ '@babel/helper-plugin-utils': 7.22.5
dev: true
- /@babel/plugin-transform-typescript@7.18.8(@babel/core@7.20.5):
- resolution: {integrity: sha512-p2xM8HI83UObjsZGofMV/EdYjamsDm6MoN3hXPYIT0+gxIoopE+B7rPYKAxfrz9K9PK7JafTTjqYC6qipLExYA==}
+ /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.5):
+ resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-create-class-features-plugin': 7.18.6(@babel/core@7.20.5)
- '@babel/helper-plugin-utils': 7.18.6
- '@babel/plugin-syntax-typescript': 7.18.6(@babel/core@7.20.5)
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.23.5
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-simple-access': 7.22.5
dev: true
- /@babel/preset-typescript@7.18.6(@babel/core@7.18.6):
- resolution: {integrity: sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==}
+ /@babel/plugin-transform-typescript@7.23.5(@babel/core@7.23.5):
+ resolution: {integrity: sha512-2fMkXEJkrmwgu2Bsv1Saxgj30IXZdJ+84lQcKKI7sm719oXs0BBw2ZENKdJdR1PjWndgLCEBNXJOri0fk7RYQA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.18.6
- '@babel/helper-plugin-utils': 7.18.6
- '@babel/helper-validator-option': 7.18.6
- '@babel/plugin-transform-typescript': 7.18.8(@babel/core@7.18.6)
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.23.5
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-create-class-features-plugin': 7.23.5(@babel/core@7.23.5)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.5)
dev: true
- /@babel/preset-typescript@7.18.6(@babel/core@7.20.5):
- resolution: {integrity: sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==}
+ /@babel/preset-typescript@7.23.3(@babel/core@7.23.5):
+ resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-plugin-utils': 7.18.6
- '@babel/helper-validator-option': 7.18.6
- '@babel/plugin-transform-typescript': 7.18.8(@babel/core@7.20.5)
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/template@7.18.10:
- resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.18.6
- '@babel/parser': 7.20.5
- '@babel/types': 7.20.5
-
- /@babel/template@7.18.6:
- resolution: {integrity: sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.18.6
- '@babel/parser': 7.18.8
- '@babel/types': 7.18.8
+ '@babel/core': 7.23.5
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-validator-option': 7.23.5
+ '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.5)
+ '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.5)
+ '@babel/plugin-transform-typescript': 7.23.5(@babel/core@7.23.5)
dev: true
- /@babel/traverse@7.18.8:
- resolution: {integrity: sha512-UNg/AcSySJYR/+mIcJQDCv00T+AqRO7j/ZEJLzpaYtgM48rMg5MnkJgyNqkzo88+p4tfRvZJCEiwwfG6h4jkRg==}
+ /@babel/template@7.22.15:
+ resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/code-frame': 7.18.6
- '@babel/generator': 7.18.7
- '@babel/helper-environment-visitor': 7.18.6
- '@babel/helper-function-name': 7.18.6
- '@babel/helper-hoist-variables': 7.18.6
- '@babel/helper-split-export-declaration': 7.18.6
- '@babel/parser': 7.18.8
- '@babel/types': 7.18.8
- debug: 4.3.4
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
- dev: true
+ '@babel/code-frame': 7.23.5
+ '@babel/parser': 7.23.5
+ '@babel/types': 7.23.5
- /@babel/traverse@7.20.5:
- resolution: {integrity: sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==}
+ /@babel/traverse@7.23.5:
+ resolution: {integrity: sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/code-frame': 7.18.6
- '@babel/generator': 7.20.5
- '@babel/helper-environment-visitor': 7.18.9
- '@babel/helper-function-name': 7.19.0
- '@babel/helper-hoist-variables': 7.18.6
- '@babel/helper-split-export-declaration': 7.18.6
- '@babel/parser': 7.20.5
- '@babel/types': 7.20.5
+ '@babel/code-frame': 7.23.5
+ '@babel/generator': 7.23.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/parser': 7.23.5
+ '@babel/types': 7.23.5
debug: 4.3.4
globals: 11.12.0
transitivePeerDependencies:
- supports-color
- /@babel/types@7.18.8:
- resolution: {integrity: sha512-qwpdsmraq0aJ3osLJRApsc2ouSJCdnMeZwB0DhbtHAtRpZNZCdlbRnHIgcRKzdE1g0iOGg644fzjOBcdOz9cPw==}
+ /@babel/types@7.23.5:
+ resolution: {integrity: sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/helper-validator-identifier': 7.18.6
+ '@babel/helper-string-parser': 7.23.4
+ '@babel/helper-validator-identifier': 7.22.20
to-fast-properties: 2.0.0
- /@babel/types@7.20.5:
- resolution: {integrity: sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==}
- engines: {node: '>=6.9.0'}
+ /@commitlint/cli@18.4.3(typescript@5.3.2):
+ resolution: {integrity: sha512-zop98yfB3A6NveYAZ3P1Mb6bIXuCeWgnUfVNkH4yhIMQpQfzFwseadazOuSn0OOfTt0lWuFauehpm9GcqM5lww==}
+ engines: {node: '>=v18'}
+ hasBin: true
dependencies:
- '@babel/helper-string-parser': 7.19.4
- '@babel/helper-validator-identifier': 7.19.1
- to-fast-properties: 2.0.0
-
- /@esbuild/linux-loong64@0.14.54:
- resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
- requiresBuild: true
+ '@commitlint/format': 18.4.3
+ '@commitlint/lint': 18.4.3
+ '@commitlint/load': 18.4.3(typescript@5.3.2)
+ '@commitlint/read': 18.4.3
+ '@commitlint/types': 18.4.3
+ execa: 5.1.1
+ lodash.isfunction: 3.0.9
+ resolve-from: 5.0.0
+ resolve-global: 1.0.0
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - typescript
dev: true
- optional: true
-
- /@felte/common@1.1.4:
- resolution: {integrity: sha512-4jNB4EwRpaGZppwV/YqbGF7SVRwehWw+hyTGmw2N+pL86LuqVTTSrgVOGXwPaLTju1BxAptcoAXjxZbBf0XB4Q==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: false
-
- /@felte/core@1.3.7:
- resolution: {integrity: sha512-/AkIEZu/Yg/K+YEdnup5c3Bb0xyr9ONdZnS0us6V/b9DgfiEqbcm1xgglD/mtwh+IH7KOhIuQecjBdPQfpNViQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dependencies:
- '@felte/common': 1.1.4
- dev: false
- /@felte/solid@1.2.7(solid-js@1.6.4):
- resolution: {integrity: sha512-kVCmIBxJiemAcklJ61yxW7WCo+r4sGDSfuUws3t9pFQyKHENT+7HEfUU3hpEqx+BA5xd4bczS8MrOhf9L429rw==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- peerDependencies:
- solid-js: ^1.2.0
- dependencies:
- '@felte/core': 1.3.7
- solid-js: 1.6.4
- dev: false
-
- /@jridgewell/gen-mapping@0.1.1:
- resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==}
- engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/set-array': 1.1.2
- '@jridgewell/sourcemap-codec': 1.4.14
-
- /@jridgewell/gen-mapping@0.3.2:
- resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==}
- engines: {node: '>=6.0.0'}
+ /@commitlint/config-conventional@18.4.3:
+ resolution: {integrity: sha512-729eRRaNta7JZF07qf6SAGSghoDEp9mH7yHU0m7ff0q89W97wDrWCyZ3yoV3mcQJwbhlmVmZPTkPcm7qiAu8WA==}
+ engines: {node: '>=v18'}
dependencies:
- '@jridgewell/set-array': 1.1.2
- '@jridgewell/sourcemap-codec': 1.4.14
- '@jridgewell/trace-mapping': 0.3.14
-
- /@jridgewell/resolve-uri@3.1.0:
- resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
- engines: {node: '>=6.0.0'}
-
- /@jridgewell/set-array@1.1.2:
- resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
- engines: {node: '>=6.0.0'}
-
- /@jridgewell/sourcemap-codec@1.4.14:
- resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
+ conventional-changelog-conventionalcommits: 7.0.2
+ dev: true
- /@jridgewell/trace-mapping@0.3.14:
- resolution: {integrity: sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==}
+ /@commitlint/config-validator@18.4.3:
+ resolution: {integrity: sha512-FPZZmTJBARPCyef9ohRC9EANiQEKSWIdatx5OlgeHKu878dWwpyeFauVkhzuBRJFcCA4Uvz/FDtlDKs008IHcA==}
+ engines: {node: '>=v18'}
dependencies:
- '@jridgewell/resolve-uri': 3.1.0
- '@jridgewell/sourcemap-codec': 1.4.14
+ '@commitlint/types': 18.4.3
+ ajv: 8.12.0
+ dev: true
- /@nodelib/fs.scandir@2.1.5:
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
+ /@commitlint/ensure@18.4.3:
+ resolution: {integrity: sha512-MI4fwD9TWDVn4plF5+7JUyLLbkOdzIRBmVeNlk4dcGlkrVA+/l5GLcpN66q9LkFsFv6G2X31y89ApA3hqnqIFg==}
+ engines: {node: '>=v18'}
dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
+ '@commitlint/types': 18.4.3
+ lodash.camelcase: 4.3.0
+ lodash.kebabcase: 4.1.1
+ lodash.snakecase: 4.1.1
+ lodash.startcase: 4.4.0
+ lodash.upperfirst: 4.3.1
dev: true
- /@nodelib/fs.stat@2.0.5:
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
+ /@commitlint/execute-rule@18.4.3:
+ resolution: {integrity: sha512-t7FM4c+BdX9WWZCPrrbV5+0SWLgT3kCq7e7/GhHCreYifg3V8qyvO127HF796vyFql75n4TFF+5v1asOOWkV1Q==}
+ engines: {node: '>=v18'}
dev: true
- /@nodelib/fs.walk@1.2.8:
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
+ /@commitlint/format@18.4.3:
+ resolution: {integrity: sha512-8b+ItXYHxAhRAXFfYki5PpbuMMOmXYuzLxib65z2XTqki59YDQJGpJ/wB1kEE5MQDgSTQWtKUrA8n9zS/1uIDQ==}
+ engines: {node: '>=v18'}
dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.14.0
+ '@commitlint/types': 18.4.3
+ chalk: 4.1.2
dev: true
- /@rollup/pluginutils@5.0.2:
- resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
+ /@commitlint/is-ignored@18.4.3:
+ resolution: {integrity: sha512-ZseOY9UfuAI32h9w342Km4AIaTieeFskm2ZKdrG7r31+c6zGBzuny9KQhwI9puc0J3GkUquEgKJblCl7pMnjwg==}
+ engines: {node: '>=v18'}
dependencies:
- '@types/estree': 1.0.0
- estree-walker: 2.0.2
- picomatch: 2.3.1
+ '@commitlint/types': 18.4.3
+ semver: 7.5.4
dev: true
- /@solidjs/router@0.5.1(solid-js@1.6.4):
- resolution: {integrity: sha512-igyrwUqm/9T26Lb6l7oXwpc4lLUVqbhbN92wOL3NgLoLVmkQlUNTZciuAe+Su8XeJXlrWjl6oxDJDLt+6pws/g==}
- peerDependencies:
- solid-js: ^1.5.3
+ /@commitlint/lint@18.4.3:
+ resolution: {integrity: sha512-18u3MRgEXNbnYkMOWoncvq6QB8/90m9TbERKgdPqVvS+zQ/MsuRhdvHYCIXGXZxUb0YI4DV2PC4bPneBV/fYuA==}
+ engines: {node: '>=v18'}
dependencies:
- solid-js: 1.6.4
- dev: false
+ '@commitlint/is-ignored': 18.4.3
+ '@commitlint/parse': 18.4.3
+ '@commitlint/rules': 18.4.3
+ '@commitlint/types': 18.4.3
+ dev: true
- /@tailwindcss/typography@0.5.8(tailwindcss@3.2.4):
- resolution: {integrity: sha512-xGQEp8KXN8Sd8m6R4xYmwxghmswrd0cPnNI2Lc6fmrC3OojysTBJJGSIVwPV56q4t6THFUK3HJ0EaWwpglSxWw==}
- peerDependencies:
- tailwindcss: '>=3.0.0 || insiders'
+ /@commitlint/load@18.4.3(typescript@5.3.2):
+ resolution: {integrity: sha512-v6j2WhvRQJrcJaj5D+EyES2WKTxPpxENmNpNG3Ww8MZGik3jWRXtph0QTzia5ZJyPh2ib5aC/6BIDymkUUM58Q==}
+ engines: {node: '>=v18'}
dependencies:
- lodash.castarray: 4.4.0
+ '@commitlint/config-validator': 18.4.3
+ '@commitlint/execute-rule': 18.4.3
+ '@commitlint/resolve-extends': 18.4.3
+ '@commitlint/types': 18.4.3
+ '@types/node': 18.19.0
+ chalk: 4.1.2
+ cosmiconfig: 8.3.6(typescript@5.3.2)
+ cosmiconfig-typescript-loader: 5.0.0(@types/node@18.19.0)(cosmiconfig@8.3.6)(typescript@5.3.2)
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
- postcss-selector-parser: 6.0.10
- tailwindcss: 3.2.4(postcss@8.4.19)
+ lodash.uniq: 4.5.0
+ resolve-from: 5.0.0
+ transitivePeerDependencies:
+ - typescript
dev: true
- /@types/chroma-js@2.1.4:
- resolution: {integrity: sha512-l9hWzP7cp7yleJUI7P2acmpllTJNYf5uU6wh50JzSIZt3fFHe+w2FM6w9oZGBTYzjjm2qHdnQvI+fF/JF/E5jQ==}
- dev: false
-
- /@types/css-tree@2.0.0:
- resolution: {integrity: sha512-mY2sXRLBnUPMYw6mkOT+6dABeaNxAEKZz6scE9kQPNJx8fKe1fOsm8Honl7+xFYe6TKX8WNk2+7oMp2vBArJ9Q==}
-
- /@types/estree@1.0.0:
- resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==}
+ /@commitlint/message@18.4.3:
+ resolution: {integrity: sha512-ddJ7AztWUIoEMAXoewx45lKEYEOeOlBVWjk8hDMUGpprkuvWULpaXczqdjwVtjrKT3JhhN+gMs8pm5G3vB2how==}
+ engines: {node: '>=v18'}
dev: true
- /acorn-node@1.8.2:
- resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==}
+ /@commitlint/parse@18.4.3:
+ resolution: {integrity: sha512-eoH7CXM9L+/Me96KVcfJ27EIIbA5P9sqw3DqjJhRYuhaULIsPHFs5S5GBDCqT0vKZQDx0DgxhMpW6AQbnKrFtA==}
+ engines: {node: '>=v18'}
dependencies:
- acorn: 7.4.1
- acorn-walk: 7.2.0
- xtend: 4.0.2
- dev: true
-
- /acorn-walk@7.2.0:
- resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
- engines: {node: '>=0.4.0'}
+ '@commitlint/types': 18.4.3
+ conventional-changelog-angular: 7.0.0
+ conventional-commits-parser: 5.0.0
dev: true
- /acorn@7.4.1:
- resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
- engines: {node: '>=0.4.0'}
- hasBin: true
+ /@commitlint/read@18.4.3:
+ resolution: {integrity: sha512-H4HGxaYA6OBCimZAtghL+B+SWu8ep4X7BwgmedmqWZRHxRLcX2q0bWBtUm5FsMbluxbOfrJwOs/Z0ah4roP/GQ==}
+ engines: {node: '>=v18'}
+ dependencies:
+ '@commitlint/top-level': 18.4.3
+ '@commitlint/types': 18.4.3
+ fs-extra: 11.2.0
+ git-raw-commits: 2.0.11
+ minimist: 1.2.8
dev: true
- /ansi-styles@3.2.1:
- resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
- engines: {node: '>=4'}
+ /@commitlint/resolve-extends@18.4.3:
+ resolution: {integrity: sha512-30sk04LZWf8+SDgJrbJCjM90gTg2LxsD9cykCFeFu+JFHvBFq5ugzp2eO/DJGylAdVaqxej3c7eTSE64hR/lnw==}
+ engines: {node: '>=v18'}
dependencies:
- color-convert: 1.9.3
+ '@commitlint/config-validator': 18.4.3
+ '@commitlint/types': 18.4.3
+ import-fresh: 3.3.0
+ lodash.mergewith: 4.6.2
+ resolve-from: 5.0.0
+ resolve-global: 1.0.0
+ dev: true
- /anymatch@3.1.3:
- resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
- engines: {node: '>= 8'}
+ /@commitlint/rules@18.4.3:
+ resolution: {integrity: sha512-8KIeukDf45BiY+Lul1T0imSNXF0sMrlLG6JpLLKolkmYVQ6PxxoNOriwyZ3UTFFpaVbPy0rcITaV7U9JCAfDTA==}
+ engines: {node: '>=v18'}
dependencies:
- normalize-path: 3.0.0
- picomatch: 2.3.1
+ '@commitlint/ensure': 18.4.3
+ '@commitlint/message': 18.4.3
+ '@commitlint/to-lines': 18.4.3
+ '@commitlint/types': 18.4.3
+ execa: 5.1.1
dev: true
- /arg@5.0.2:
- resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+ /@commitlint/to-lines@18.4.3:
+ resolution: {integrity: sha512-fy1TAleik4Zfru1RJ8ZU6cOSvgSVhUellxd3WZV1D5RwHZETt1sZdcA4mQN2y3VcIZsUNKkW0Mq8CM9/L9harQ==}
+ engines: {node: '>=v18'}
dev: true
- /autoprefixer@10.4.13(postcss@8.4.19):
- resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==}
- engines: {node: ^10 || ^12 || >=14}
- hasBin: true
- peerDependencies:
- postcss: ^8.1.0
+ /@commitlint/top-level@18.4.3:
+ resolution: {integrity: sha512-E6fJPBLPFL5R8+XUNSYkj4HekIOuGMyJo3mIx2PkYc3clel+pcWQ7TConqXxNWW4x1ugigiIY2RGot55qUq1hw==}
+ engines: {node: '>=v18'}
dependencies:
- browserslist: 4.21.4
- caniuse-lite: 1.0.30001439
- fraction.js: 4.2.0
- normalize-range: 0.1.2
- picocolors: 1.0.0
- postcss: 8.4.19
- postcss-value-parser: 4.2.0
+ find-up: 5.0.0
dev: true
- /babel-plugin-jsx-dom-expressions@0.33.12(@babel/core@7.18.6):
- resolution: {integrity: sha512-FQeNcBvC+PrPYGpeUztI7AiiAqJL2H8e7mL4L6qHZ7B4wZfbgyREsHZwKmmDqxAehlyAUolTdhDNk9xfyHdIZw==}
- peerDependencies:
- '@babel/core': ^7.0.0
+ /@commitlint/types@18.4.3:
+ resolution: {integrity: sha512-cvzx+vtY/I2hVBZHCLrpoh+sA0hfuzHwDc+BAFPimYLjJkpHnghQM+z8W/KyLGkygJh3BtI3xXXq+dKjnSWEmA==}
+ engines: {node: '>=v18'}
dependencies:
- '@babel/core': 7.18.6
- '@babel/helper-module-imports': 7.16.0
- '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.18.6)
- '@babel/types': 7.18.8
- html-entities: 2.3.2
+ chalk: 4.1.2
dev: true
- /babel-preset-solid@1.4.6(@babel/core@7.18.6):
- resolution: {integrity: sha512-5n+nm1zgj7BK9cv0kYu0p+kbsXgGbrxLmA5bv5WT0V5WnqRgshWILInPWLJNZbvP5gBj+huDKwk3J4RhhbFlhA==}
- peerDependencies:
- '@babel/core': ^7.0.0
+ /@es-joy/jsdoccomment@0.41.0:
+ resolution: {integrity: sha512-aKUhyn1QI5Ksbqcr3fFJj16p99QdjUxXAEuFst1Z47DRyoiMwivIH9MV/ARcJOCXVjPfjITciej8ZD2O/6qUmw==}
+ engines: {node: '>=16'}
dependencies:
- '@babel/core': 7.18.6
- babel-plugin-jsx-dom-expressions: 0.33.12(@babel/core@7.18.6)
+ comment-parser: 1.4.1
+ esquery: 1.5.0
+ jsdoc-type-pratt-parser: 4.0.0
dev: true
- /binary-extensions@2.2.0:
- resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
- engines: {node: '>=8'}
+ /@esbuild/android-arm64@0.19.8:
+ resolution: {integrity: sha512-B8JbS61bEunhfx8kasogFENgQfr/dIp+ggYXwTqdbMAgGDhRa3AaPpQMuQU0rNxDLECj6FhDzk1cF9WHMVwrtA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
dev: true
+ optional: true
- /bootstrap-icons@1.10.2:
- resolution: {integrity: sha512-PTPYadRn1AMGr+QTSxe4ZCc+Wzv9DGZxbi3lNse/dajqV31n2/wl/7NX78ZpkvFgRNmH4ogdIQPQmxAfhEV6nA==}
- dev: false
-
- /braces@3.0.2:
- resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
- engines: {node: '>=8'}
- dependencies:
- fill-range: 7.0.1
+ /@esbuild/android-arm@0.19.8:
+ resolution: {integrity: sha512-31E2lxlGM1KEfivQl8Yf5aYU/mflz9g06H6S15ITUFQueMFtFjESRMoDSkvMo8thYvLBax+VKTPlpnx+sPicOA==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
dev: true
+ optional: true
- /browserslist@4.21.2:
- resolution: {integrity: sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
- dependencies:
- caniuse-lite: 1.0.30001366
- electron-to-chromium: 1.4.189
- node-releases: 2.0.6
- update-browserslist-db: 1.0.4(browserslist@4.21.2)
+ /@esbuild/android-x64@0.19.8:
+ resolution: {integrity: sha512-rdqqYfRIn4jWOp+lzQttYMa2Xar3OK9Yt2fhOhzFXqg0rVWEfSclJvZq5fZslnz6ypHvVf3CT7qyf0A5pM682A==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
dev: true
+ optional: true
- /browserslist@4.21.4:
- resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
- dependencies:
- caniuse-lite: 1.0.30001439
- electron-to-chromium: 1.4.284
- node-releases: 2.0.6
- update-browserslist-db: 1.0.10(browserslist@4.21.4)
-
- /camelcase-css@2.0.1:
- resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
- engines: {node: '>= 6'}
- dev: true
-
- /caniuse-lite@1.0.30001366:
- resolution: {integrity: sha512-yy7XLWCubDobokgzudpkKux8e0UOOnLHE6mlNJBzT3lZJz6s5atSEzjoL+fsCPkI0G8MP5uVdDx1ur/fXEWkZA==}
- dev: true
-
- /caniuse-lite@1.0.30001439:
- resolution: {integrity: sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==}
-
- /chalk@2.4.2:
- resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
- engines: {node: '>=4'}
- dependencies:
- ansi-styles: 3.2.1
- escape-string-regexp: 1.0.5
- supports-color: 5.5.0
-
- /chokidar@3.5.3:
- resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
- engines: {node: '>= 8.10.0'}
- dependencies:
- anymatch: 3.1.3
- braces: 3.0.2
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.2
- dev: true
-
- /chroma-js@2.4.2:
- resolution: {integrity: sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A==}
- dev: false
-
- /color-convert@1.9.3:
- resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
- dependencies:
- color-name: 1.1.3
-
- /color-name@1.1.3:
- resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
-
- /color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
- dev: true
-
- /convert-source-map@1.8.0:
- resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==}
- dependencies:
- safe-buffer: 5.1.2
-
- /css-tree@2.3.1:
- resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
- engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
- dependencies:
- mdn-data: 2.0.30
- source-map-js: 1.0.2
-
- /cssesc@3.0.0:
- resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
- engines: {node: '>=4'}
- hasBin: true
- dev: true
-
- /csstype@3.1.0:
- resolution: {integrity: sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==}
-
- /debug@4.3.4:
- resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
- dependencies:
- ms: 2.1.2
-
- /defined@1.0.1:
- resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==}
- dev: true
-
- /detective@5.2.1:
- resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==}
- engines: {node: '>=0.8.0'}
- hasBin: true
- dependencies:
- acorn-node: 1.8.2
- defined: 1.0.1
- minimist: 1.2.7
- dev: true
-
- /didyoumean@1.2.2:
- resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
- dev: true
-
- /dlv@1.1.3:
- resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
- dev: true
-
- /electron-to-chromium@1.4.189:
- resolution: {integrity: sha512-dQ6Zn4ll2NofGtxPXaDfY2laIa6NyCQdqXYHdwH90GJQW0LpJJib0ZU/ERtbb0XkBEmUD2eJtagbOie3pdMiPg==}
- dev: true
-
- /electron-to-chromium@1.4.284:
- resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==}
-
- /esbuild-android-64@0.14.54:
- resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /esbuild-android-arm64@0.14.54:
- resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==}
+ /@esbuild/darwin-arm64@0.19.8:
+ resolution: {integrity: sha512-RQw9DemMbIq35Bprbboyf8SmOr4UXsRVxJ97LgB55VKKeJOOdvsIPy0nFyF2l8U+h4PtBx/1kRf0BelOYCiQcw==}
engines: {node: '>=12'}
cpu: [arm64]
- os: [android]
+ os: [darwin]
requiresBuild: true
dev: true
optional: true
- /esbuild-darwin-64@0.14.54:
- resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==}
+ /@esbuild/darwin-x64@0.19.8:
+ resolution: {integrity: sha512-3sur80OT9YdeZwIVgERAysAbwncom7b4bCI2XKLjMfPymTud7e/oY4y+ci1XVp5TfQp/bppn7xLw1n/oSQY3/Q==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
@@ -933,17 +688,17 @@ packages:
dev: true
optional: true
- /esbuild-darwin-arm64@0.14.54:
- resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==}
+ /@esbuild/freebsd-arm64@0.19.8:
+ resolution: {integrity: sha512-WAnPJSDattvS/XtPCTj1tPoTxERjcTpH6HsMr6ujTT+X6rylVe8ggxk8pVxzf5U1wh5sPODpawNicF5ta/9Tmw==}
engines: {node: '>=12'}
cpu: [arm64]
- os: [darwin]
+ os: [freebsd]
requiresBuild: true
dev: true
optional: true
- /esbuild-freebsd-64@0.14.54:
- resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==}
+ /@esbuild/freebsd-x64@0.19.8:
+ resolution: {integrity: sha512-ICvZyOplIjmmhjd6mxi+zxSdpPTKFfyPPQMQTK/w+8eNK6WV01AjIztJALDtwNNfFhfZLux0tZLC+U9nSyA5Zg==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
@@ -951,89 +706,89 @@ packages:
dev: true
optional: true
- /esbuild-freebsd-arm64@0.14.54:
- resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==}
+ /@esbuild/linux-arm64@0.19.8:
+ resolution: {integrity: sha512-z1zMZivxDLHWnyGOctT9JP70h0beY54xDDDJt4VpTX+iwA77IFsE1vCXWmprajJGa+ZYSqkSbRQ4eyLCpCmiCQ==}
engines: {node: '>=12'}
cpu: [arm64]
- os: [freebsd]
+ os: [linux]
requiresBuild: true
dev: true
optional: true
- /esbuild-linux-32@0.14.54:
- resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==}
+ /@esbuild/linux-arm@0.19.8:
+ resolution: {integrity: sha512-H4vmI5PYqSvosPaTJuEppU9oz1dq2A7Mr2vyg5TF9Ga+3+MGgBdGzcyBP7qK9MrwFQZlvNyJrvz6GuCaj3OukQ==}
engines: {node: '>=12'}
- cpu: [ia32]
+ cpu: [arm]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /esbuild-linux-64@0.14.54:
- resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==}
+ /@esbuild/linux-ia32@0.19.8:
+ resolution: {integrity: sha512-1a8suQiFJmZz1khm/rDglOc8lavtzEMRo0v6WhPgxkrjcU0LkHj+TwBrALwoz/OtMExvsqbbMI0ChyelKabSvQ==}
engines: {node: '>=12'}
- cpu: [x64]
+ cpu: [ia32]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /esbuild-linux-arm64@0.14.54:
- resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==}
+ /@esbuild/linux-loong64@0.19.8:
+ resolution: {integrity: sha512-fHZWS2JJxnXt1uYJsDv9+b60WCc2RlvVAy1F76qOLtXRO+H4mjt3Tr6MJ5l7Q78X8KgCFudnTuiQRBhULUyBKQ==}
engines: {node: '>=12'}
- cpu: [arm64]
+ cpu: [loong64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /esbuild-linux-arm@0.14.54:
- resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==}
+ /@esbuild/linux-mips64el@0.19.8:
+ resolution: {integrity: sha512-Wy/z0EL5qZYLX66dVnEg9riiwls5IYnziwuju2oUiuxVc+/edvqXa04qNtbrs0Ukatg5HEzqT94Zs7J207dN5Q==}
engines: {node: '>=12'}
- cpu: [arm]
+ cpu: [mips64el]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /esbuild-linux-mips64le@0.14.54:
- resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==}
+ /@esbuild/linux-ppc64@0.19.8:
+ resolution: {integrity: sha512-ETaW6245wK23YIEufhMQ3HSeHO7NgsLx8gygBVldRHKhOlD1oNeNy/P67mIh1zPn2Hr2HLieQrt6tWrVwuqrxg==}
engines: {node: '>=12'}
- cpu: [mips64el]
+ cpu: [ppc64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /esbuild-linux-ppc64le@0.14.54:
- resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==}
+ /@esbuild/linux-riscv64@0.19.8:
+ resolution: {integrity: sha512-T2DRQk55SgoleTP+DtPlMrxi/5r9AeFgkhkZ/B0ap99zmxtxdOixOMI570VjdRCs9pE4Wdkz7JYrsPvsl7eESg==}
engines: {node: '>=12'}
- cpu: [ppc64]
+ cpu: [riscv64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /esbuild-linux-riscv64@0.14.54:
- resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==}
+ /@esbuild/linux-s390x@0.19.8:
+ resolution: {integrity: sha512-NPxbdmmo3Bk7mbNeHmcCd7R7fptJaczPYBaELk6NcXxy7HLNyWwCyDJ/Xx+/YcNH7Im5dHdx9gZ5xIwyliQCbg==}
engines: {node: '>=12'}
- cpu: [riscv64]
+ cpu: [s390x]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /esbuild-linux-s390x@0.14.54:
- resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==}
+ /@esbuild/linux-x64@0.19.8:
+ resolution: {integrity: sha512-lytMAVOM3b1gPypL2TRmZ5rnXl7+6IIk8uB3eLsV1JwcizuolblXRrc5ShPrO9ls/b+RTp+E6gbsuLWHWi2zGg==}
engines: {node: '>=12'}
- cpu: [s390x]
+ cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /esbuild-netbsd-64@0.14.54:
- resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==}
+ /@esbuild/netbsd-x64@0.19.8:
+ resolution: {integrity: sha512-hvWVo2VsXz/8NVt1UhLzxwAfo5sioj92uo0bCfLibB0xlOmimU/DeAEsQILlBQvkhrGjamP0/el5HU76HAitGw==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
@@ -1041,8 +796,8 @@ packages:
dev: true
optional: true
- /esbuild-openbsd-64@0.14.54:
- resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==}
+ /@esbuild/openbsd-x64@0.19.8:
+ resolution: {integrity: sha512-/7Y7u77rdvmGTxR83PgaSvSBJCC2L3Kb1M/+dmSIvRvQPXXCuC97QAwMugBNG0yGcbEGfFBH7ojPzAOxfGNkwQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
@@ -1050,8 +805,8 @@ packages:
dev: true
optional: true
- /esbuild-sunos-64@0.14.54:
- resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==}
+ /@esbuild/sunos-x64@0.19.8:
+ resolution: {integrity: sha512-9Lc4s7Oi98GqFA4HzA/W2JHIYfnXbUYgekUP/Sm4BG9sfLjyv6GKKHKKVs83SMicBF2JwAX6A1PuOLMqpD001w==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
@@ -1059,237 +814,2327 @@ packages:
dev: true
optional: true
- /esbuild-windows-32@0.14.54:
- resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==}
+ /@esbuild/win32-arm64@0.19.8:
+ resolution: {integrity: sha512-rq6WzBGjSzihI9deW3fC2Gqiak68+b7qo5/3kmB6Gvbh/NYPA0sJhrnp7wgV4bNwjqM+R2AApXGxMO7ZoGhIJg==}
engines: {node: '>=12'}
- cpu: [ia32]
+ cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
- /esbuild-windows-64@0.14.54:
- resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==}
+ /@esbuild/win32-ia32@0.19.8:
+ resolution: {integrity: sha512-AIAbverbg5jMvJznYiGhrd3sumfwWs8572mIJL5NQjJa06P8KfCPWZQ0NwZbPQnbQi9OWSZhFVSUWjjIrn4hSw==}
engines: {node: '>=12'}
- cpu: [x64]
+ cpu: [ia32]
os: [win32]
requiresBuild: true
dev: true
optional: true
- /esbuild-windows-arm64@0.14.54:
- resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==}
+ /@esbuild/win32-x64@0.19.8:
+ resolution: {integrity: sha512-bfZ0cQ1uZs2PqpulNL5j/3w+GDhP36k1K5c38QdQg+Swy51jFZWWeIkteNsufkQxp986wnqRRsb/bHbY1WQ7TA==}
engines: {node: '>=12'}
- cpu: [arm64]
+ cpu: [x64]
os: [win32]
requiresBuild: true
dev: true
optional: true
- /esbuild@0.14.54:
- resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
- optionalDependencies:
- '@esbuild/linux-loong64': 0.14.54
- esbuild-android-64: 0.14.54
- esbuild-android-arm64: 0.14.54
- esbuild-darwin-64: 0.14.54
- esbuild-darwin-arm64: 0.14.54
- esbuild-freebsd-64: 0.14.54
- esbuild-freebsd-arm64: 0.14.54
- esbuild-linux-32: 0.14.54
- esbuild-linux-64: 0.14.54
- esbuild-linux-arm: 0.14.54
- esbuild-linux-arm64: 0.14.54
- esbuild-linux-mips64le: 0.14.54
- esbuild-linux-ppc64le: 0.14.54
- esbuild-linux-riscv64: 0.14.54
- esbuild-linux-s390x: 0.14.54
- esbuild-netbsd-64: 0.14.54
- esbuild-openbsd-64: 0.14.54
- esbuild-sunos-64: 0.14.54
- esbuild-windows-32: 0.14.54
- esbuild-windows-64: 0.14.54
- esbuild-windows-arm64: 0.14.54
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.54.0):
+ resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+ dependencies:
+ eslint: 8.54.0
+ eslint-visitor-keys: 3.4.3
dev: true
- /escalade@3.1.1:
- resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
- engines: {node: '>=6'}
-
- /escape-string-regexp@1.0.5:
- resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
- engines: {node: '>=0.8.0'}
-
- /estree-walker@2.0.2:
- resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ /@eslint-community/regexpp@4.10.0:
+ resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
dev: true
- /fast-glob@3.2.12:
- resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==}
- engines: {node: '>=8.6.0'}
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- '@nodelib/fs.walk': 1.2.8
- glob-parent: 5.1.2
- merge2: 1.4.1
- micromatch: 4.0.5
+ /@eslint-types/jsdoc@46.8.2-1:
+ resolution: {integrity: sha512-FwD7V0xX0jyaqj8Ul5ZY+TAAPohDfVqtbuXJNHb+OIv1aTIqZi5+Zn3F2UwQ5O3BnQd2mTduyK0+HjGx3/AMFg==}
dev: true
- /fastq@1.14.0:
- resolution: {integrity: sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==}
- dependencies:
- reusify: 1.0.4
+ /@eslint-types/typescript-eslint@6.12.0:
+ resolution: {integrity: sha512-N8cbOYjyFl2BFgDhDgHhTGpgiMkFg0CoITG5hdBm9ZGmcEgUvFBnHvHG7qJl3qVEmFnoKUdfSAcr7MRb2/Jxvw==}
dev: true
- /fill-range@7.0.1:
- resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
- engines: {node: '>=8'}
- dependencies:
- to-regex-range: 5.0.1
+ /@eslint-types/unicorn@49.0.0:
+ resolution: {integrity: sha512-NfXSZIsPFRD2fwTDZQj8SaXqS/rXjB5foxMraLovyrYGXiQK2y0780drDKYYSVbqvco29QIYoZNmnKTUkzZMvQ==}
dev: true
- /fraction.js@4.2.0:
- resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
+ /@eslint/eslintrc@2.1.3:
+ resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.3.4
+ espree: 9.6.1
+ globals: 13.23.0
+ ignore: 5.3.0
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
dev: true
- /fsevents@2.3.2:
- resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
- requiresBuild: true
+ /@eslint/js@8.54.0:
+ resolution: {integrity: sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- optional: true
- /function-bind@1.1.1:
- resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
- dev: true
+ /@felte/common@1.1.8:
+ resolution: {integrity: sha512-VbEOfNLWfDx0SpCfeE+fNWDpvcntND4MFs7Lxd18RIjrZYH82D0wWe9th2oVF9QT5XzgBEdMF5NGIttcwU4sjg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dev: false
- /gensync@1.0.0-beta.2:
- resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
- engines: {node: '>=6.9.0'}
+ /@felte/core@1.4.1:
+ resolution: {integrity: sha512-dUzfzug5cK93kBjG0u9F3zDM781qCJP4QwYPOpJsXbydwVseDM5BXpDqvZUFhqJsd0x1GKftkX69+iWafyASjw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ '@felte/common': 1.1.8
+ dev: false
- /glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
+ /@felte/solid@1.2.11(solid-js@1.8.6):
+ resolution: {integrity: sha512-0NlcDjr+AY6m2B48J4hvHMxbLvx1l7O9/j3izkb35qb+26wki4tk4HpIzmnRIweTT7PXsObq6mnuc20+MGlrMQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ peerDependencies:
+ solid-js: ^1.2.0
dependencies:
- is-glob: 4.0.3
- dev: true
+ '@felte/core': 1.4.1
+ solid-js: 1.8.6
+ dev: false
- /glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
+ /@humanwhocodes/config-array@0.11.13:
+ resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==}
+ engines: {node: '>=10.10.0'}
dependencies:
- is-glob: 4.0.3
+ '@humanwhocodes/object-schema': 2.0.1
+ debug: 4.3.4
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
dev: true
- /globals@11.12.0:
- resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
- engines: {node: '>=4'}
+ /@humanwhocodes/module-importer@1.0.1:
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
+ engines: {node: '>=12.22'}
+ dev: true
- /has-flag@3.0.0:
- resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
- engines: {node: '>=4'}
+ /@humanwhocodes/object-schema@2.0.1:
+ resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==}
+ dev: true
- /has@1.0.3:
- resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
- engines: {node: '>= 0.4.0'}
+ /@jridgewell/gen-mapping@0.3.3:
+ resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
+ engines: {node: '>=6.0.0'}
dependencies:
- function-bind: 1.1.1
- dev: true
+ '@jridgewell/set-array': 1.1.2
+ '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/trace-mapping': 0.3.20
- /html-entities@2.3.2:
- resolution: {integrity: sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==}
- dev: true
+ /@jridgewell/resolve-uri@3.1.1:
+ resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
+ engines: {node: '>=6.0.0'}
- /immutable@4.1.0:
- resolution: {integrity: sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==}
- dev: true
+ /@jridgewell/set-array@1.1.2:
+ resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
+ engines: {node: '>=6.0.0'}
- /is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
+ /@jridgewell/sourcemap-codec@1.4.15:
+ resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
+
+ /@jridgewell/trace-mapping@0.3.20:
+ resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
dependencies:
- binary-extensions: 2.2.0
- dev: true
+ '@jridgewell/resolve-uri': 3.1.1
+ '@jridgewell/sourcemap-codec': 1.4.15
- /is-core-module@2.10.0:
- resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==}
+ /@nodelib/fs.scandir@2.1.5:
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
dependencies:
- has: 1.0.3
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
dev: true
- /is-extglob@2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
+ /@nodelib/fs.stat@2.0.5:
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
dev: true
- /is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
+ /@nodelib/fs.walk@1.2.8:
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
dependencies:
- is-extglob: 2.1.1
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.15.0
dev: true
- /is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
+ /@rollup/pluginutils@5.1.0:
+ resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@types/estree': 1.0.5
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
dev: true
- /is-what@4.1.7:
- resolution: {integrity: sha512-DBVOQNiPKnGMxRMLIYSwERAS5MVY1B7xYiGnpgctsOFvVDz9f9PFXXxMcTOHuoqYp4NK9qFYQaIC1NRRxLMpBQ==}
- engines: {node: '>=12.13'}
+ /@rollup/rollup-android-arm-eabi@4.6.1:
+ resolution: {integrity: sha512-0WQ0ouLejaUCRsL93GD4uft3rOmB8qoQMU05Kb8CmMtMBe7XUDLAltxVZI1q6byNqEtU7N1ZX1Vw5lIpgulLQA==}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
dev: true
+ optional: true
- /js-tokens@4.0.0:
- resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
-
- /js-xxhash@2.0.0:
- resolution: {integrity: sha512-R7Gad0Y0grmuF/WRBUmxgQA1bGpbmRWM/OwNJZQPVdJBAteJIdBYOBYcHbuJeJwxdddqBVIdP3EfrDNFqahJ2A==}
- engines: {node: '>=14.0.0'}
+ /@rollup/rollup-android-arm64@4.6.1:
+ resolution: {integrity: sha512-1TKm25Rn20vr5aTGGZqo6E4mzPicCUD79k17EgTLAsXc1zysyi4xXKACfUbwyANEPAEIxkzwue6JZ+stYzWUTA==}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-darwin-arm64@4.6.1:
+ resolution: {integrity: sha512-cEXJQY/ZqMACb+nxzDeX9IPLAg7S94xouJJCNVE5BJM8JUEP4HeTF+ti3cmxWeSJo+5D+o8Tc0UAWUkfENdeyw==}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-darwin-x64@4.6.1:
+ resolution: {integrity: sha512-LoSU9Xu56isrkV2jLldcKspJ7sSXmZWkAxg7sW/RfF7GS4F5/v4EiqKSMCFbZtDu2Nc1gxxFdQdKwkKS4rwxNg==}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm-gnueabihf@4.6.1:
+ resolution: {integrity: sha512-EfI3hzYAy5vFNDqpXsNxXcgRDcFHUWSx5nnRSCKwXuQlI5J9dD84g2Usw81n3FLBNsGCegKGwwTVsSKK9cooSQ==}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm64-gnu@4.6.1:
+ resolution: {integrity: sha512-9lhc4UZstsegbNLhH0Zu6TqvDfmhGzuCWtcTFXY10VjLLUe4Mr0Ye2L3rrtHaDd/J5+tFMEuo5LTCSCMXWfUKw==}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm64-musl@4.6.1:
+ resolution: {integrity: sha512-FfoOK1yP5ksX3wwZ4Zk1NgyGHZyuRhf99j64I5oEmirV8EFT7+OhUZEnP+x17lcP/QHJNWGsoJwrz4PJ9fBEXw==}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-gnu@4.6.1:
+ resolution: {integrity: sha512-DNGZvZDO5YF7jN5fX8ZqmGLjZEXIJRdJEdTFMhiyXqyXubBa0WVLDWSNlQ5JR2PNgDbEV1VQowhVRUh+74D+RA==}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-musl@4.6.1:
+ resolution: {integrity: sha512-RkJVNVRM+piYy87HrKmhbexCHg3A6Z6MU0W9GHnJwBQNBeyhCJG9KDce4SAMdicQnpURggSvtbGo9xAWOfSvIQ==}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-arm64-msvc@4.6.1:
+ resolution: {integrity: sha512-v2FVT6xfnnmTe3W9bJXl6r5KwJglMK/iRlkKiIFfO6ysKs0rDgz7Cwwf3tjldxQUrHL9INT/1r4VA0n9L/F1vQ==}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-ia32-msvc@4.6.1:
+ resolution: {integrity: sha512-YEeOjxRyEjqcWphH9dyLbzgkF8wZSKAKUkldRY6dgNR5oKs2LZazqGB41cWJ4Iqqcy9/zqYgmzBkRoVz3Q9MLw==}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-x64-msvc@4.6.1:
+ resolution: {integrity: sha512-0zfTlFAIhgz8V2G8STq8toAjsYYA6eci1hnXuyOTUFnymrtJwnS6uGKiv3v5UrPZkBlamLvrLV2iiaeqCKzb0A==}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@solidjs/router@0.9.1(solid-js@1.8.6):
+ resolution: {integrity: sha512-kRY75piOQsyoH75E/RP6lr7uVGFCjeeCCCJx7Z2D1Vc6+I1yFQjLCvE+6agXGwqDoWi6vbETP1g7gmp/L1mNLg==}
+ peerDependencies:
+ solid-js: ^1.8.4
+ dependencies:
+ solid-js: 1.8.6
+ dev: false
+
+ /@stylistic/eslint-plugin-js@1.4.1(eslint@8.54.0):
+ resolution: {integrity: sha512-WXHPEVw5PB7OML7cLwHJDEcCyLiP7vzKeBbSwmpHLK0oh0JYkoJfTg2hEdFuQT5rQxFy3KzCy9R1mZ0wgLjKrA==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: '>=8.40.0'
+ dependencies:
+ acorn: 8.11.2
+ escape-string-regexp: 4.0.0
+ eslint: 8.54.0
+ eslint-visitor-keys: 3.4.3
+ espree: 9.6.1
+ graphemer: 1.4.0
+ dev: true
+
+ /@stylistic/eslint-plugin-jsx@1.4.1(eslint@8.54.0):
+ resolution: {integrity: sha512-INBYpZmXrkeqnjCrUuTKMa7BeXiCR5VNvq71033hbPqXnG9oQDxX5mqE9Duj9qlISEOsxzhSr+UXGmq3mVYG9Q==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: '>=8.40.0'
+ dependencies:
+ '@stylistic/eslint-plugin-js': 1.4.1(eslint@8.54.0)
+ eslint: 8.54.0
+ estraverse: 5.3.0
+ dev: true
+
+ /@stylistic/eslint-plugin-ts@1.4.1(eslint@8.54.0)(typescript@5.3.2):
+ resolution: {integrity: sha512-zuqnxhWoqPhZcxOb7AiYZz1RF/fUCsbJ7xq60IdRWnEY6MPybqYVJAb+SYilJ3PYxqmz8zdZeYkSeVy6f1fNnA==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: '>=8.40.0'
+ dependencies:
+ '@stylistic/eslint-plugin-js': 1.4.1(eslint@8.54.0)
+ '@typescript-eslint/utils': 6.13.1(eslint@8.54.0)(typescript@5.3.2)
+ eslint: 8.54.0
+ graphemer: 1.4.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@stylistic/eslint-plugin@1.4.1(eslint@8.54.0)(typescript@5.3.2):
+ resolution: {integrity: sha512-CDwQCxglLTkUjpIJT4ltlpC8sKkPvTA7DjFcWiuZtBr0Vc6owGuYgJso4X1TDiD2JkjD3idbXCoGK0AfzNrgww==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: '>=8.40.0'
+ dependencies:
+ '@stylistic/eslint-plugin-js': 1.4.1(eslint@8.54.0)
+ '@stylistic/eslint-plugin-jsx': 1.4.1(eslint@8.54.0)
+ '@stylistic/eslint-plugin-ts': 1.4.1(eslint@8.54.0)(typescript@5.3.2)
+ eslint: 8.54.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@tailwindcss/typography@0.5.10(tailwindcss@3.3.5):
+ resolution: {integrity: sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==}
+ peerDependencies:
+ tailwindcss: '>=3.0.0 || insiders'
+ dependencies:
+ lodash.castarray: 4.4.0
+ lodash.isplainobject: 4.0.6
+ lodash.merge: 4.6.2
+ postcss-selector-parser: 6.0.10
+ tailwindcss: 3.3.5
+ dev: true
+
+ /@types/babel__core@7.20.5:
+ resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
+ dependencies:
+ '@babel/parser': 7.23.5
+ '@babel/types': 7.23.5
+ '@types/babel__generator': 7.6.7
+ '@types/babel__template': 7.4.4
+ '@types/babel__traverse': 7.20.4
+ dev: true
+
+ /@types/babel__generator@7.6.7:
+ resolution: {integrity: sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==}
+ dependencies:
+ '@babel/types': 7.23.5
+ dev: true
+
+ /@types/babel__template@7.4.4:
+ resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
+ dependencies:
+ '@babel/parser': 7.23.5
+ '@babel/types': 7.23.5
+ dev: true
+
+ /@types/babel__traverse@7.20.4:
+ resolution: {integrity: sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==}
+ dependencies:
+ '@babel/types': 7.23.5
+ dev: true
+
+ /@types/chroma-js@2.4.3:
+ resolution: {integrity: sha512-1ly5ly/7S/YF8aD7MxUQnFOZxdegimuOunJl0xDsLlguu5JrwuSTVGVH3UpIUlh6YauI0RMNT4cqjBonhgbdIQ==}
+ dev: false
+
+ /@types/css-tree@2.3.4:
+ resolution: {integrity: sha512-wdxxe7zEpOXfy5C3FmwinAIc/6p6du/wOKMGZf07JHuHHRIvLtLq8h66zi3Yn7PCyswxbp3Ujx9h+vSuMvfN/w==}
+
+ /@types/estree@1.0.5:
+ resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
+ dev: true
+
+ /@types/json-schema@7.0.15:
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+ dev: true
+
+ /@types/mdast@3.0.15:
+ resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==}
+ dependencies:
+ '@types/unist': 2.0.10
+ dev: true
+
+ /@types/minimist@1.2.5:
+ resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==}
+ dev: true
+
+ /@types/node@18.19.0:
+ resolution: {integrity: sha512-667KNhaD7U29mT5wf+TZUnrzPrlL2GNQ5N0BMjO2oNULhBxX0/FKCkm6JMu0Jh7Z+1LwUlR21ekd7KhIboNFNw==}
+ dependencies:
+ undici-types: 5.26.5
+ dev: true
+
+ /@types/normalize-package-data@2.4.4:
+ resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
+ dev: true
+
+ /@types/semver@7.5.6:
+ resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==}
+ dev: true
+
+ /@types/unist@2.0.10:
+ resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==}
+ dev: true
+
+ /@typescript-eslint/eslint-plugin@6.13.1(@typescript-eslint/parser@6.13.1)(eslint@8.54.0)(typescript@5.3.2):
+ resolution: {integrity: sha512-5bQDGkXaxD46bPvQt08BUz9YSaO4S0fB1LB5JHQuXTfkGPI3+UUeS387C/e9jRie5GqT8u5kFTrMvAjtX4O5kA==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@eslint-community/regexpp': 4.10.0
+ '@typescript-eslint/parser': 6.13.1(eslint@8.54.0)(typescript@5.3.2)
+ '@typescript-eslint/scope-manager': 6.13.1
+ '@typescript-eslint/type-utils': 6.13.1(eslint@8.54.0)(typescript@5.3.2)
+ '@typescript-eslint/utils': 6.13.1(eslint@8.54.0)(typescript@5.3.2)
+ '@typescript-eslint/visitor-keys': 6.13.1
+ debug: 4.3.4
+ eslint: 8.54.0
+ graphemer: 1.4.0
+ ignore: 5.3.0
+ natural-compare: 1.4.0
+ semver: 7.5.4
+ ts-api-utils: 1.0.3(typescript@5.3.2)
+ typescript: 5.3.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/parser@6.13.1(eslint@8.54.0)(typescript@5.3.2):
+ resolution: {integrity: sha512-fs2XOhWCzRhqMmQf0eicLa/CWSaYss2feXsy7xBD/pLyWke/jCIVc2s1ikEAtSW7ina1HNhv7kONoEfVNEcdDQ==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/scope-manager': 6.13.1
+ '@typescript-eslint/types': 6.13.1
+ '@typescript-eslint/typescript-estree': 6.13.1(typescript@5.3.2)
+ '@typescript-eslint/visitor-keys': 6.13.1
+ debug: 4.3.4
+ eslint: 8.54.0
+ typescript: 5.3.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/scope-manager@6.13.1:
+ resolution: {integrity: sha512-BW0kJ7ceiKi56GbT2KKzZzN+nDxzQK2DS6x0PiSMPjciPgd/JRQGMibyaN2cPt2cAvuoH0oNvn2fwonHI+4QUQ==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dependencies:
+ '@typescript-eslint/types': 6.13.1
+ '@typescript-eslint/visitor-keys': 6.13.1
+ dev: true
+
+ /@typescript-eslint/type-utils@6.13.1(eslint@8.54.0)(typescript@5.3.2):
+ resolution: {integrity: sha512-A2qPlgpxx2v//3meMqQyB1qqTg1h1dJvzca7TugM3Yc2USDY+fsRBiojAEo92HO7f5hW5mjAUF6qobOPzlBCBQ==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/typescript-estree': 6.13.1(typescript@5.3.2)
+ '@typescript-eslint/utils': 6.13.1(eslint@8.54.0)(typescript@5.3.2)
+ debug: 4.3.4
+ eslint: 8.54.0
+ ts-api-utils: 1.0.3(typescript@5.3.2)
+ typescript: 5.3.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/types@6.13.1:
+ resolution: {integrity: sha512-gjeEskSmiEKKFIbnhDXUyiqVma1gRCQNbVZ1C8q7Zjcxh3WZMbzWVfGE9rHfWd1msQtPS0BVD9Jz9jded44eKg==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dev: true
+
+ /@typescript-eslint/typescript-estree@6.13.1(typescript@5.3.2):
+ resolution: {integrity: sha512-sBLQsvOC0Q7LGcUHO5qpG1HxRgePbT6wwqOiGLpR8uOJvPJbfs0mW3jPA3ujsDvfiVwVlWUDESNXv44KtINkUQ==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/types': 6.13.1
+ '@typescript-eslint/visitor-keys': 6.13.1
+ debug: 4.3.4
+ globby: 11.1.0
+ is-glob: 4.0.3
+ semver: 7.5.4
+ ts-api-utils: 1.0.3(typescript@5.3.2)
+ typescript: 5.3.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/utils@6.13.1(eslint@8.54.0)(typescript@5.3.2):
+ resolution: {integrity: sha512-ouPn/zVoan92JgAegesTXDB/oUp6BP1v8WpfYcqh649ejNc9Qv+B4FF2Ff626kO1xg0wWwwG48lAJ4JuesgdOw==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0)
+ '@types/json-schema': 7.0.15
+ '@types/semver': 7.5.6
+ '@typescript-eslint/scope-manager': 6.13.1
+ '@typescript-eslint/types': 6.13.1
+ '@typescript-eslint/typescript-estree': 6.13.1(typescript@5.3.2)
+ eslint: 8.54.0
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@typescript-eslint/visitor-keys@6.13.1:
+ resolution: {integrity: sha512-NDhQUy2tg6XGNBGDRm1XybOHSia8mcXmlbKWoQP+nm1BIIMxa55shyJfZkHpEBN62KNPLrocSM2PdPcaLgDKMQ==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dependencies:
+ '@typescript-eslint/types': 6.13.1
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
+ /@ungap/structured-clone@1.2.0:
+ resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
+ dev: true
+
+ /JSONStream@1.3.5:
+ resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
+ hasBin: true
+ dependencies:
+ jsonparse: 1.3.1
+ through: 2.3.8
+ dev: true
+
+ /acorn-jsx@5.3.2(acorn@8.11.2):
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ acorn: 8.11.2
+ dev: true
+
+ /acorn@8.11.2:
+ resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+ dev: true
+
+ /ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-json-stable-stringify: 2.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.4.1
+ dev: true
+
+ /ajv@8.12.0:
+ resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==}
+ dependencies:
+ fast-deep-equal: 3.1.3
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+ uri-js: 4.4.1
+ dev: true
+
+ /ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /ansi-styles@3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
+ dependencies:
+ color-convert: 1.9.3
+
+ /ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+ dependencies:
+ color-convert: 2.0.1
+ dev: true
+
+ /any-promise@1.3.0:
+ resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
+ dev: true
+
+ /anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+ dev: true
+
+ /are-docs-informative@0.0.2:
+ resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==}
+ engines: {node: '>=14'}
+ dev: true
+
+ /arg@5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+ dev: true
+
+ /argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ dev: true
+
+ /array-ify@1.0.0:
+ resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==}
+ dev: true
+
+ /array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /arrify@1.0.1:
+ resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /autoprefixer@10.4.16(postcss@8.4.31):
+ resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ browserslist: 4.22.1
+ caniuse-lite: 1.0.30001565
+ fraction.js: 4.3.7
+ normalize-range: 0.1.2
+ picocolors: 1.0.0
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /babel-plugin-jsx-dom-expressions@0.37.9(@babel/core@7.23.5):
+ resolution: {integrity: sha512-6w+zs2i14fVanj4e1hXCU5cp+x0U0LJ5jScknpMZZUteHhwFRGJflHMVJ+xAcW7ku41FYjr7DgtK9mnc2SXlJg==}
+ peerDependencies:
+ '@babel/core': ^7.20.12
+ dependencies:
+ '@babel/core': 7.23.5
+ '@babel/helper-module-imports': 7.18.6
+ '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.5)
+ '@babel/types': 7.23.5
+ html-entities: 2.3.3
+ validate-html-nesting: 1.2.2
+ dev: true
+
+ /babel-preset-solid@1.8.6(@babel/core@7.23.5):
+ resolution: {integrity: sha512-Ened42CHjU4EFkvNeS042/3Pm21yvMWn8p4G4ddzQTlKaMwSGGD1VciA/e7EshBVHJCcBj9vHiUd/r3A4qLPZA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.5
+ babel-plugin-jsx-dom-expressions: 0.37.9(@babel/core@7.23.5)
+ dev: true
+
+ /balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ dev: true
+
+ /binary-extensions@2.2.0:
+ resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /boolbase@1.0.0:
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+ dev: true
+
+ /bootstrap-icons@1.11.2:
+ resolution: {integrity: sha512-TgdiPv+IM9tgDb+dsxrnGIyocsk85d2M7T0qIgkvPedZeoZfyeG/j+yiAE4uHCEayKef2RP05ahQ0/e9Sv75Wg==}
+ dev: false
+
+ /brace-expansion@1.1.11:
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+ dev: true
+
+ /brace-expansion@2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ dependencies:
+ balanced-match: 1.0.2
+ dev: true
+
+ /braces@3.0.2:
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
+ engines: {node: '>=8'}
+ dependencies:
+ fill-range: 7.0.1
+ dev: true
+
+ /browserslist@4.22.1:
+ resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001565
+ electron-to-chromium: 1.4.600
+ node-releases: 2.0.14
+ update-browserslist-db: 1.0.13(browserslist@4.22.1)
+
+ /builtin-modules@3.3.0:
+ resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /builtins@5.0.1:
+ resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==}
+ dependencies:
+ semver: 7.5.4
+ dev: true
+
+ /callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /camelcase-css@2.0.1:
+ resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
+ engines: {node: '>= 6'}
+ dev: true
+
+ /camelcase-keys@6.2.2:
+ resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==}
+ engines: {node: '>=8'}
+ dependencies:
+ camelcase: 5.3.1
+ map-obj: 4.3.0
+ quick-lru: 4.0.1
+ dev: true
+
+ /camelcase@5.3.1:
+ resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /caniuse-lite@1.0.30001565:
+ resolution: {integrity: sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==}
+
+ /chalk@2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+
+ /chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+ dev: true
+
+ /character-entities-legacy@1.1.4:
+ resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==}
+ dev: true
+
+ /character-entities@1.2.4:
+ resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==}
+ dev: true
+
+ /character-reference-invalid@1.1.4:
+ resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==}
+ dev: true
+
+ /chokidar@3.5.3:
+ resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
+ engines: {node: '>= 8.10.0'}
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.2
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
+ /chroma-js@2.4.2:
+ resolution: {integrity: sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A==}
+ dev: false
+
+ /ci-info@3.9.0:
+ resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /clean-regexp@1.0.0:
+ resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==}
+ engines: {node: '>=4'}
+ dependencies:
+ escape-string-regexp: 1.0.5
+ dev: true
+
+ /cliui@8.0.1:
+ resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
+ dev: true
+
+ /color-convert@1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+ dependencies:
+ color-name: 1.1.3
+
+ /color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+ dependencies:
+ color-name: 1.1.4
+ dev: true
+
+ /color-name@1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+
+ /color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+ dev: true
+
+ /commander@4.1.1:
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
+ engines: {node: '>= 6'}
+ dev: true
+
+ /comment-parser@1.4.1:
+ resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==}
+ engines: {node: '>= 12.0.0'}
+ dev: true
+
+ /compare-func@2.0.0:
+ resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==}
+ dependencies:
+ array-ify: 1.0.0
+ dot-prop: 5.3.0
+ dev: true
+
+ /concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+ dev: true
+
+ /conventional-changelog-angular@7.0.0:
+ resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==}
+ engines: {node: '>=16'}
+ dependencies:
+ compare-func: 2.0.0
+ dev: true
+
+ /conventional-changelog-conventionalcommits@7.0.2:
+ resolution: {integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==}
+ engines: {node: '>=16'}
+ dependencies:
+ compare-func: 2.0.0
+ dev: true
+
+ /conventional-commits-parser@5.0.0:
+ resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==}
+ engines: {node: '>=16'}
+ hasBin: true
+ dependencies:
+ JSONStream: 1.3.5
+ is-text-path: 2.0.0
+ meow: 12.1.1
+ split2: 4.2.0
+ dev: true
+
+ /convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+
+ /cosmiconfig-typescript-loader@5.0.0(@types/node@18.19.0)(cosmiconfig@8.3.6)(typescript@5.3.2):
+ resolution: {integrity: sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==}
+ engines: {node: '>=v16'}
+ peerDependencies:
+ '@types/node': '*'
+ cosmiconfig: '>=8.2'
+ typescript: '>=4'
+ dependencies:
+ '@types/node': 18.19.0
+ cosmiconfig: 8.3.6(typescript@5.3.2)
+ jiti: 1.21.0
+ typescript: 5.3.2
+ dev: true
+
+ /cosmiconfig@8.3.6(typescript@5.3.2):
+ resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ typescript: '>=4.9.5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ typescript: 5.3.2
+ dev: true
+
+ /cross-spawn@7.0.3:
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ engines: {node: '>= 8'}
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+ dev: true
+
+ /css-tree@2.3.1:
+ resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+ dependencies:
+ mdn-data: 2.0.30
+ source-map-js: 1.0.2
+
+ /cssesc@3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: true
+
+ /csstype@3.1.2:
+ resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
+
+ /dargs@7.0.0:
+ resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /debug@3.2.7:
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.3
+ dev: true
+
+ /debug@4.3.4:
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
+
+ /decamelize-keys@1.1.1:
+ resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ decamelize: 1.2.0
+ map-obj: 1.0.1
+ dev: true
+
+ /decamelize@1.2.0:
+ resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /deep-is@0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+ dev: true
+
+ /detect-libc@1.0.3:
+ resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
+ engines: {node: '>=0.10'}
+ hasBin: true
+
+ /didyoumean@1.2.2:
+ resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
+ dev: true
+
+ /dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-type: 4.0.0
+ dev: true
+
+ /dlv@1.1.3:
+ resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
+ dev: true
+
+ /doctrine@2.1.0:
+ resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ esutils: 2.0.3
+ dev: true
+
+ /doctrine@3.0.0:
+ resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ esutils: 2.0.3
+ dev: true
+
+ /dot-prop@5.3.0:
+ resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==}
+ engines: {node: '>=8'}
+ dependencies:
+ is-obj: 2.0.0
+ dev: true
+
+ /electron-to-chromium@1.4.600:
+ resolution: {integrity: sha512-KD6CWjf1BnQG+NsXuyiTDDT1eV13sKuYsOUioXkQweYTQIbgHkXPry9K7M+7cKtYHnSUPitVaLrXYB1jTkkYrw==}
+
+ /emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+ dev: true
+
+ /error-ex@1.3.2:
+ resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+ dependencies:
+ is-arrayish: 0.2.1
+ dev: true
+
+ /esbuild@0.19.8:
+ resolution: {integrity: sha512-l7iffQpT2OrZfH2rXIp7/FkmaeZM0vxbxN9KfiCwGYuZqzMg/JdvX26R31Zxn/Pxvsrg3Y9N6XTcnknqDyyv4w==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/android-arm': 0.19.8
+ '@esbuild/android-arm64': 0.19.8
+ '@esbuild/android-x64': 0.19.8
+ '@esbuild/darwin-arm64': 0.19.8
+ '@esbuild/darwin-x64': 0.19.8
+ '@esbuild/freebsd-arm64': 0.19.8
+ '@esbuild/freebsd-x64': 0.19.8
+ '@esbuild/linux-arm': 0.19.8
+ '@esbuild/linux-arm64': 0.19.8
+ '@esbuild/linux-ia32': 0.19.8
+ '@esbuild/linux-loong64': 0.19.8
+ '@esbuild/linux-mips64el': 0.19.8
+ '@esbuild/linux-ppc64': 0.19.8
+ '@esbuild/linux-riscv64': 0.19.8
+ '@esbuild/linux-s390x': 0.19.8
+ '@esbuild/linux-x64': 0.19.8
+ '@esbuild/netbsd-x64': 0.19.8
+ '@esbuild/openbsd-x64': 0.19.8
+ '@esbuild/sunos-x64': 0.19.8
+ '@esbuild/win32-arm64': 0.19.8
+ '@esbuild/win32-ia32': 0.19.8
+ '@esbuild/win32-x64': 0.19.8
+ dev: true
+
+ /escalade@3.1.1:
+ resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
+ engines: {node: '>=6'}
+
+ /escape-string-regexp@1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+
+ /escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /eslint-compat-utils@0.1.2(eslint@8.54.0):
+ resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ eslint: '>=6.0.0'
+ dependencies:
+ eslint: 8.54.0
+ dev: true
+
+ /eslint-config-flat-gitignore@0.1.2:
+ resolution: {integrity: sha512-PcBsqtd5QHEZH4ROvpnRN4EP0qcHh9voCCHgtyHxnJZHGspJREcZn7oPqRG/GfWt9m3C0fkC2l5CuBtMig2wXQ==}
+ dependencies:
+ parse-gitignore: 2.0.0
+ dev: true
+
+ /eslint-import-resolver-node@0.3.9:
+ resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
+ dependencies:
+ debug: 3.2.7
+ is-core-module: 2.13.1
+ resolve: 1.22.8
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint@8.54.0):
+ resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: '*'
+ eslint-import-resolver-node: '*'
+ eslint-import-resolver-typescript: '*'
+ eslint-import-resolver-webpack: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ eslint:
+ optional: true
+ eslint-import-resolver-node:
+ optional: true
+ eslint-import-resolver-typescript:
+ optional: true
+ eslint-import-resolver-webpack:
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': 6.13.1(eslint@8.54.0)(typescript@5.3.2)
+ debug: 3.2.7
+ eslint: 8.54.0
+ eslint-import-resolver-node: 0.3.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-plugin-antfu@1.0.11(eslint@8.54.0):
+ resolution: {integrity: sha512-m+RWX/D+Ep9xU7VTDYKG4UmDUV9bOa5/SU/fUwWcRyYGbEy3lgxlnhuxv+Zw5Ca/RlcabCFt+vxh62wo1RI/6w==}
+ peerDependencies:
+ eslint: '*'
+ dependencies:
+ eslint: 8.54.0
+ dev: true
+
+ /eslint-plugin-es-x@7.5.0(eslint@8.54.0):
+ resolution: {integrity: sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '>=8'
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0)
+ '@eslint-community/regexpp': 4.10.0
+ eslint: 8.54.0
+ eslint-compat-utils: 0.1.2(eslint@8.54.0)
+ dev: true
+
+ /eslint-plugin-eslint-comments@3.2.0(eslint@8.54.0):
+ resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==}
+ engines: {node: '>=6.5.0'}
+ peerDependencies:
+ eslint: '>=4.19.1'
+ dependencies:
+ escape-string-regexp: 1.0.5
+ eslint: 8.54.0
+ ignore: 5.3.0
+ dev: true
+
+ /eslint-plugin-i@2.29.0(@typescript-eslint/parser@6.13.1)(eslint@8.54.0):
+ resolution: {integrity: sha512-slGeTS3GQzx9267wLJnNYNO8X9EHGsc75AKIAFvnvMYEcTJKotPKL1Ru5PIGVHIVet+2DsugePWp8Oxpx8G22w==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ eslint: ^7.2.0 || ^8
+ dependencies:
+ debug: 3.2.7
+ doctrine: 2.1.0
+ eslint: 8.54.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint@8.54.0)
+ get-tsconfig: 4.7.2
+ is-glob: 4.0.3
+ minimatch: 3.1.2
+ resolve: 1.22.8
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - '@typescript-eslint/parser'
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: true
+
+ /eslint-plugin-jsdoc@46.9.0(eslint@8.54.0):
+ resolution: {integrity: sha512-UQuEtbqLNkPf5Nr/6PPRCtr9xypXY+g8y/Q7gPa0YK7eDhh0y2lWprXRnaYbW7ACgIUvpDKy9X2bZqxtGzBG9Q==}
+ engines: {node: '>=16'}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ dependencies:
+ '@es-joy/jsdoccomment': 0.41.0
+ are-docs-informative: 0.0.2
+ comment-parser: 1.4.1
+ debug: 4.3.4
+ escape-string-regexp: 4.0.0
+ eslint: 8.54.0
+ esquery: 1.5.0
+ is-builtin-module: 3.2.1
+ semver: 7.5.4
+ spdx-expression-parse: 3.0.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-plugin-jsonc@2.10.0(eslint@8.54.0):
+ resolution: {integrity: sha512-9d//o6Jyh4s1RxC9fNSt1+MMaFN2ruFdXPG9XZcb/mR2KkfjADYiNL/hbU6W0Cyxfg3tS/XSFuhl5LgtMD8hmw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '>=6.0.0'
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0)
+ eslint: 8.54.0
+ eslint-compat-utils: 0.1.2(eslint@8.54.0)
+ jsonc-eslint-parser: 2.4.0
+ natural-compare: 1.4.0
+ dev: true
+
+ /eslint-plugin-markdown@3.0.1(eslint@8.54.0):
+ resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ eslint: 8.54.0
+ mdast-util-from-markdown: 0.8.5
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-plugin-n@16.3.1(eslint@8.54.0):
+ resolution: {integrity: sha512-w46eDIkxQ2FaTHcey7G40eD+FhTXOdKudDXPUO2n9WNcslze/i/HT2qJ3GXjHngYSGDISIgPNhwGtgoix4zeOw==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ eslint: '>=7.0.0'
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0)
+ builtins: 5.0.1
+ eslint: 8.54.0
+ eslint-plugin-es-x: 7.5.0(eslint@8.54.0)
+ get-tsconfig: 4.7.2
+ ignore: 5.3.0
+ is-builtin-module: 3.2.1
+ is-core-module: 2.13.1
+ minimatch: 3.1.2
+ resolve: 1.22.8
+ semver: 7.5.4
+ dev: true
+
+ /eslint-plugin-no-only-tests@3.1.0:
+ resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==}
+ engines: {node: '>=5.0.0'}
+ dev: true
+
+ /eslint-plugin-perfectionist@2.5.0(eslint@8.54.0)(typescript@5.3.2)(vue-eslint-parser@9.3.2):
+ resolution: {integrity: sha512-F6XXcq4mKKUe/SREoMGQqzgw6cgCgf3pFzkFfQVIGtqD1yXVpQjnhTepzhBeZfxZwgMzR9HO4yH4CUhIQ2WBcQ==}
+ peerDependencies:
+ astro-eslint-parser: ^0.16.0
+ eslint: '>=8.0.0'
+ svelte: '>=3.0.0'
+ svelte-eslint-parser: ^0.33.0
+ vue-eslint-parser: '>=9.0.0'
+ peerDependenciesMeta:
+ astro-eslint-parser:
+ optional: true
+ svelte:
+ optional: true
+ svelte-eslint-parser:
+ optional: true
+ vue-eslint-parser:
+ optional: true
+ dependencies:
+ '@typescript-eslint/utils': 6.13.1(eslint@8.54.0)(typescript@5.3.2)
+ eslint: 8.54.0
+ minimatch: 9.0.3
+ natural-compare-lite: 1.4.0
+ vue-eslint-parser: 9.3.2(eslint@8.54.0)
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /eslint-plugin-unicorn@49.0.0(eslint@8.54.0):
+ resolution: {integrity: sha512-0fHEa/8Pih5cmzFW5L7xMEfUTvI9WKeQtjmKpTUmY+BiFCDxkxrTdnURJOHKykhtwIeyYsxnecbGvDCml++z4Q==}
+ engines: {node: '>=16'}
+ peerDependencies:
+ eslint: '>=8.52.0'
+ dependencies:
+ '@babel/helper-validator-identifier': 7.22.20
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0)
+ ci-info: 3.9.0
+ clean-regexp: 1.0.0
+ eslint: 8.54.0
+ esquery: 1.5.0
+ indent-string: 4.0.0
+ is-builtin-module: 3.2.1
+ jsesc: 3.0.2
+ pluralize: 8.0.0
+ read-pkg-up: 7.0.1
+ regexp-tree: 0.1.27
+ regjsparser: 0.10.0
+ semver: 7.5.4
+ strip-indent: 3.0.0
+ dev: true
+
+ /eslint-plugin-unused-imports@3.0.0(@typescript-eslint/eslint-plugin@6.13.1)(eslint@8.54.0):
+ resolution: {integrity: sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ '@typescript-eslint/eslint-plugin': ^6.0.0
+ eslint: ^8.0.0
+ peerDependenciesMeta:
+ '@typescript-eslint/eslint-plugin':
+ optional: true
+ dependencies:
+ '@typescript-eslint/eslint-plugin': 6.13.1(@typescript-eslint/parser@6.13.1)(eslint@8.54.0)(typescript@5.3.2)
+ eslint: 8.54.0
+ eslint-rule-composer: 0.3.0
+ dev: true
+
+ /eslint-plugin-vitest@0.3.10(@typescript-eslint/eslint-plugin@6.13.1)(eslint@8.54.0)(typescript@5.3.2):
+ resolution: {integrity: sha512-08lj4rdhZHYyHk+Py2nJ7SlE6arP8GNfGXl9jVqhe9s5JoZIGiBpIkLGX+VNBiB6vXTn56H6Ant7Koc6XzRjtQ==}
+ engines: {node: 14.x || >= 16}
+ peerDependencies:
+ '@typescript-eslint/eslint-plugin': '*'
+ eslint: '>=8.0.0'
+ vitest: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/eslint-plugin':
+ optional: true
+ vitest:
+ optional: true
+ dependencies:
+ '@typescript-eslint/eslint-plugin': 6.13.1(@typescript-eslint/parser@6.13.1)(eslint@8.54.0)(typescript@5.3.2)
+ '@typescript-eslint/utils': 6.13.1(eslint@8.54.0)(typescript@5.3.2)
+ eslint: 8.54.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /eslint-plugin-vue@9.19.2(eslint@8.54.0):
+ resolution: {integrity: sha512-CPDqTOG2K4Ni2o4J5wixkLVNwgctKXFu6oBpVJlpNq7f38lh9I80pRTouZSJ2MAebPJlINU/KTFSXyQfBUlymA==}
+ engines: {node: ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.2.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0)
+ eslint: 8.54.0
+ natural-compare: 1.4.0
+ nth-check: 2.1.1
+ postcss-selector-parser: 6.0.13
+ semver: 7.5.4
+ vue-eslint-parser: 9.3.2(eslint@8.54.0)
+ xml-name-validator: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-plugin-yml@1.10.0(eslint@8.54.0):
+ resolution: {integrity: sha512-53SUwuNDna97lVk38hL/5++WXDuugPM9SUQ1T645R0EHMRCdBIIxGye/oOX2qO3FQ7aImxaUZJU/ju+NMUBrLQ==}
+ engines: {node: ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '>=6.0.0'
+ dependencies:
+ debug: 4.3.4
+ eslint: 8.54.0
+ eslint-compat-utils: 0.1.2(eslint@8.54.0)
+ lodash: 4.17.21
+ natural-compare: 1.4.0
+ yaml-eslint-parser: 1.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-rule-composer@0.3.0:
+ resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==}
+ engines: {node: '>=4.0.0'}
+ dev: true
+
+ /eslint-scope@7.2.2:
+ resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+ dev: true
+
+ /eslint-visitor-keys@3.4.3:
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
+ /eslint@8.54.0:
+ resolution: {integrity: sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ hasBin: true
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0)
+ '@eslint-community/regexpp': 4.10.0
+ '@eslint/eslintrc': 2.1.3
+ '@eslint/js': 8.54.0
+ '@humanwhocodes/config-array': 0.11.13
+ '@humanwhocodes/module-importer': 1.0.1
+ '@nodelib/fs.walk': 1.2.8
+ '@ungap/structured-clone': 1.2.0
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.3
+ debug: 4.3.4
+ doctrine: 3.0.0
+ escape-string-regexp: 4.0.0
+ eslint-scope: 7.2.2
+ eslint-visitor-keys: 3.4.3
+ espree: 9.6.1
+ esquery: 1.5.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 6.0.1
+ find-up: 5.0.0
+ glob-parent: 6.0.2
+ globals: 13.23.0
+ graphemer: 1.4.0
+ ignore: 5.3.0
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ is-path-inside: 3.0.3
+ js-yaml: 4.1.0
+ json-stable-stringify-without-jsonify: 1.0.1
+ levn: 0.4.1
+ lodash.merge: 4.6.2
+ minimatch: 3.1.2
+ natural-compare: 1.4.0
+ optionator: 0.9.3
+ strip-ansi: 6.0.1
+ text-table: 0.2.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /espree@9.6.1:
+ resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ acorn: 8.11.2
+ acorn-jsx: 5.3.2(acorn@8.11.2)
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
+ /esquery@1.5.0:
+ resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
+ engines: {node: '>=0.10'}
+ dependencies:
+ estraverse: 5.3.0
+ dev: true
+
+ /esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+ dependencies:
+ estraverse: 5.3.0
+ dev: true
+
+ /estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+ dev: true
+
+ /estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ dev: true
+
+ /esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /execa@5.1.1:
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
+ engines: {node: '>=10'}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 2.1.0
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
+ dev: true
+
+ /execa@8.0.1:
+ resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
+ engines: {node: '>=16.17'}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 8.0.1
+ human-signals: 5.0.0
+ is-stream: 3.0.0
+ merge-stream: 2.0.0
+ npm-run-path: 5.1.0
+ onetime: 6.0.0
+ signal-exit: 4.1.0
+ strip-final-newline: 3.0.0
+ dev: true
+
+ /fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+ dev: true
+
+ /fast-glob@3.3.2:
+ resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
+ engines: {node: '>=8.6.0'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.5
+ dev: true
+
+ /fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+ dev: true
+
+ /fast-levenshtein@2.0.6:
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+ dev: true
+
+ /fastq@1.15.0:
+ resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
+ dependencies:
+ reusify: 1.0.4
+ dev: true
+
+ /file-entry-cache@6.0.1:
+ resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+ dependencies:
+ flat-cache: 3.2.0
+ dev: true
+
+ /fill-range@7.0.1:
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ to-regex-range: 5.0.1
+ dev: true
+
+ /find-up@4.1.0:
+ resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
+ engines: {node: '>=8'}
+ dependencies:
+ locate-path: 5.0.0
+ path-exists: 4.0.0
+ dev: true
+
+ /find-up@5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
+ dependencies:
+ locate-path: 6.0.0
+ path-exists: 4.0.0
+ dev: true
+
+ /find-up@7.0.0:
+ resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==}
+ engines: {node: '>=18'}
+ dependencies:
+ locate-path: 7.2.0
+ path-exists: 5.0.0
+ unicorn-magic: 0.1.0
+ dev: true
+
+ /flat-cache@3.2.0:
+ resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+ dependencies:
+ flatted: 3.2.9
+ keyv: 4.5.4
+ rimraf: 3.0.2
+ dev: true
+
+ /flatted@3.2.9:
+ resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==}
+ dev: true
+
+ /fraction.js@4.3.7:
+ resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
+ dev: true
+
+ /fs-extra@11.2.0:
+ resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
+ engines: {node: '>=14.14'}
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.1
+ dev: true
+
+ /fs.realpath@1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+ dev: true
+
+ /fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+ dev: true
+
+ /gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+
+ /get-caller-file@2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+ dev: true
+
+ /get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /get-stream@8.0.1:
+ resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
+ engines: {node: '>=16'}
+ dev: true
+
+ /get-tsconfig@4.7.2:
+ resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==}
+ dependencies:
+ resolve-pkg-maps: 1.0.0
+ dev: true
+
+ /git-raw-commits@2.0.11:
+ resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ dargs: 7.0.0
+ lodash: 4.17.21
+ meow: 8.1.2
+ split2: 3.2.2
+ through2: 4.0.2
+ dev: true
+
+ /glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+ dependencies:
+ is-glob: 4.0.3
+ dev: true
+
+ /glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ is-glob: 4.0.3
+ dev: true
+
+ /glob@7.1.6:
+ resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+ dev: true
+
+ /glob@7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+ dev: true
+
+ /global-dirs@0.1.1:
+ resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==}
+ engines: {node: '>=4'}
+ dependencies:
+ ini: 1.3.8
+ dev: true
+
+ /globals@11.12.0:
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+ engines: {node: '>=4'}
+
+ /globals@13.23.0:
+ resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==}
+ engines: {node: '>=8'}
+ dependencies:
+ type-fest: 0.20.2
+ dev: true
+
+ /globby@11.1.0:
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
+ engines: {node: '>=10'}
+ dependencies:
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.3.2
+ ignore: 5.3.0
+ merge2: 1.4.1
+ slash: 3.0.0
+ dev: true
+
+ /graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+ dev: true
+
+ /graphemer@1.4.0:
+ resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+ dev: true
+
+ /hard-rejection@2.1.0:
+ resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /has-flag@3.0.0:
+ resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
+ engines: {node: '>=4'}
+
+ /has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /hasown@2.0.0:
+ resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ function-bind: 1.1.2
+ dev: true
+
+ /hosted-git-info@2.8.9:
+ resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
+ dev: true
+
+ /hosted-git-info@4.1.0:
+ resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==}
+ engines: {node: '>=10'}
+ dependencies:
+ lru-cache: 6.0.0
+ dev: true
+
+ /html-entities@2.3.3:
+ resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==}
+ dev: true
+
+ /human-signals@2.1.0:
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+ engines: {node: '>=10.17.0'}
+ dev: true
+
+ /human-signals@5.0.0:
+ resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
+ engines: {node: '>=16.17.0'}
+ dev: true
+
+ /husky@8.0.3:
+ resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==}
+ engines: {node: '>=14'}
+ hasBin: true
+ dev: true
+
+ /ignore@5.3.0:
+ resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==}
+ engines: {node: '>= 4'}
+ dev: true
+
+ /immutable@4.3.4:
+ resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==}
+ dev: true
+
+ /import-fresh@3.3.0:
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ engines: {node: '>=6'}
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+ dev: true
+
+ /imurmurhash@0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+ engines: {node: '>=0.8.19'}
+ dev: true
+
+ /indent-string@4.0.0:
+ resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /inflight@1.0.6:
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+ dev: true
+
+ /inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ dev: true
+
+ /ini@1.3.8:
+ resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
+ dev: true
+
+ /is-alphabetical@1.0.4:
+ resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==}
+ dev: true
+
+ /is-alphanumerical@1.0.4:
+ resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==}
+ dependencies:
+ is-alphabetical: 1.0.4
+ is-decimal: 1.0.4
+ dev: true
+
+ /is-arrayish@0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+ dev: true
+
+ /is-binary-path@2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+ dependencies:
+ binary-extensions: 2.2.0
+ dev: true
+
+ /is-builtin-module@3.2.1:
+ resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
+ engines: {node: '>=6'}
+ dependencies:
+ builtin-modules: 3.3.0
+ dev: true
+
+ /is-core-module@2.13.1:
+ resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
+ dependencies:
+ hasown: 2.0.0
+ dev: true
+
+ /is-decimal@1.0.4:
+ resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==}
+ dev: true
+
+ /is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-extglob: 2.1.1
+ dev: true
+
+ /is-hexadecimal@1.0.4:
+ resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==}
+ dev: true
+
+ /is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+ dev: true
+
+ /is-obj@2.0.0:
+ resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /is-path-inside@3.0.3:
+ resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /is-plain-obj@1.1.0:
+ resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /is-stream@3.0.0:
+ resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dev: true
+
+ /is-text-path@2.0.0:
+ resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==}
+ engines: {node: '>=8'}
+ dependencies:
+ text-extensions: 2.4.0
+ dev: true
+
+ /is-what@4.1.16:
+ resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==}
+ engines: {node: '>=12.13'}
+ dev: true
+
+ /isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+ dev: true
+
+ /jiti@1.21.0:
+ resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
+ hasBin: true
+ dev: true
+
+ /js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ /js-yaml@4.1.0:
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ hasBin: true
+ dependencies:
+ argparse: 2.0.1
+ dev: true
+
+ /jsdoc-type-pratt-parser@4.0.0:
+ resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==}
+ engines: {node: '>=12.0.0'}
+ dev: true
+
+ /jsesc@0.5.0:
+ resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
+ hasBin: true
+ dev: true
/jsesc@2.5.2:
resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
engines: {node: '>=4'}
hasBin: true
- /json5@2.2.1:
- resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==}
+ /jsesc@3.0.2:
+ resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
engines: {node: '>=6'}
hasBin: true
+ dev: true
+
+ /json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+ dev: true
+
+ /json-parse-even-better-errors@2.3.1:
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+ dev: true
+
+ /json-schema-traverse@0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+ dev: true
+
+ /json-schema-traverse@1.0.0:
+ resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
+ dev: true
+
+ /json-stable-stringify-without-jsonify@1.0.1:
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+ dev: true
+
+ /json5@2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ /jsonc-eslint-parser@2.4.0:
+ resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ acorn: 8.11.2
+ eslint-visitor-keys: 3.4.3
+ espree: 9.6.1
+ semver: 7.5.4
+ dev: true
+
+ /jsonc-parser@3.2.0:
+ resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
+ dev: true
+
+ /jsonfile@6.1.0:
+ resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
+ dependencies:
+ universalify: 2.0.1
+ optionalDependencies:
+ graceful-fs: 4.2.11
+ dev: true
+
+ /jsonparse@1.3.1:
+ resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==}
+ engines: {'0': node >= 0.2.0}
+ dev: true
+
+ /keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+ dependencies:
+ json-buffer: 3.0.1
+ dev: true
+
+ /kind-of@6.0.3:
+ resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /kleur@3.0.3:
+ resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /levn@0.4.1:
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ dev: true
+
+ /lightningcss-darwin-arm64@1.22.1:
+ resolution: {integrity: sha512-ldvElu+R0QimNTjsKpaZkUv3zf+uefzLy/R1R19jtgOfSRM+zjUCUgDhfEDRmVqJtMwYsdhMI2aJtJChPC6Osg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /lightningcss-darwin-x64@1.22.1:
+ resolution: {integrity: sha512-5p2rnlVTv6Gpw4PlTLq925nTVh+HFh4MpegX8dPDYJae+NFVjQ67gY7O6iHIzQjLipDiYejFF0yHrhjU3XgLBQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /lightningcss-freebsd-x64@1.22.1:
+ resolution: {integrity: sha512-1FaBtcFrZqB2hkFbAxY//Pnp8koThvyB6AhjbdVqKD4/pu13Rl91fKt2N9qyeQPUt3xy7ORUvSO+dPk3J6EjXg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ optional: true
+
+ /lightningcss-linux-arm-gnueabihf@1.22.1:
+ resolution: {integrity: sha512-6rub98tYGfE5I5j0BP8t/2d4BZyu1S7Iz9vUkm0H26snAFHYxLfj3RbQn0xHHIePSetjLnhcg3QlfwUAkD/FYg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /lightningcss-linux-arm64-gnu@1.22.1:
+ resolution: {integrity: sha512-nYO5qGtb/1kkTZu3FeTiM+2B2TAb7m2DkLCTgQIs2bk2o9aEs7I96fwySKcoHWQAiQDGR9sMux9vkV4KQXqPaQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /lightningcss-linux-arm64-musl@1.22.1:
+ resolution: {integrity: sha512-MCV6RuRpzXbunvzwY644iz8cw4oQxvW7oer9xPkdadYqlEyiJJ6wl7FyJOH7Q6ZYH4yjGAUCvxDBxPbnDu9ZVg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /lightningcss-linux-x64-gnu@1.22.1:
+ resolution: {integrity: sha512-RjNgpdM20VUXgV7us/VmlO3Vn2ZRiDnc3/bUxCVvySZWPiVPprpqW/QDWuzkGa+NCUf6saAM5CLsZLSxncXJwg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /lightningcss-linux-x64-musl@1.22.1:
+ resolution: {integrity: sha512-ZgO4C7Rd6Hv/5MnyY2KxOYmIlzk4rplVolDt3NbkNR8DndnyX0Q5IR4acJWNTBICQ21j3zySzKbcJaiJpk/4YA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /lightningcss-win32-x64-msvc@1.22.1:
+ resolution: {integrity: sha512-4pozV4eyD0MDET41ZLHAeBo+H04Nm2UEYIk5w/ts40231dRFV7E0cjwbnZvSoc1DXFgecAhiC0L16ruv/ZDCpg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /lightningcss@1.22.1:
+ resolution: {integrity: sha512-Fy45PhibiNXkm0cK5FJCbfO8Y6jUpD/YcHf/BtuI+jvYYqSXKF4muk61jjE8YxCR9y+hDYIWSzHTc+bwhDE6rQ==}
+ engines: {node: '>= 12.0.0'}
+ dependencies:
+ detect-libc: 1.0.3
+ optionalDependencies:
+ lightningcss-darwin-arm64: 1.22.1
+ lightningcss-darwin-x64: 1.22.1
+ lightningcss-freebsd-x64: 1.22.1
+ lightningcss-linux-arm-gnueabihf: 1.22.1
+ lightningcss-linux-arm64-gnu: 1.22.1
+ lightningcss-linux-arm64-musl: 1.22.1
+ lightningcss-linux-x64-gnu: 1.22.1
+ lightningcss-linux-x64-musl: 1.22.1
+ lightningcss-win32-x64-msvc: 1.22.1
+
+ /lilconfig@2.1.0:
+ resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /lilconfig@3.0.0:
+ resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==}
+ engines: {node: '>=14'}
+ dev: true
+
+ /lines-and-columns@1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ dev: true
+
+ /local-pkg@0.5.0:
+ resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
+ engines: {node: '>=14'}
+ dependencies:
+ mlly: 1.4.2
+ pkg-types: 1.0.3
+ dev: true
+
+ /locate-path@5.0.0:
+ resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
+ engines: {node: '>=8'}
+ dependencies:
+ p-locate: 4.1.0
+ dev: true
- /lilconfig@2.0.6:
- resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==}
+ /locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
+ dependencies:
+ p-locate: 5.0.0
+ dev: true
+
+ /locate-path@7.2.0:
+ resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ p-locate: 6.0.0
+ dev: true
+
+ /lodash.camelcase@4.3.0:
+ resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
dev: true
/lodash.castarray@4.4.0:
resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==}
dev: true
+ /lodash.isfunction@3.0.9:
+ resolution: {integrity: sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==}
+ dev: true
+
/lodash.isplainobject@4.0.6:
resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
dev: true
+ /lodash.kebabcase@4.1.1:
+ resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==}
+ dev: true
+
/lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true
+ /lodash.mergewith@4.6.2:
+ resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==}
+ dev: true
+
+ /lodash.snakecase@4.1.1:
+ resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==}
+ dev: true
+
+ /lodash.startcase@4.4.0:
+ resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
+ dev: true
+
+ /lodash.uniq@4.5.0:
+ resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
+ dev: true
+
+ /lodash.upperfirst@4.3.1:
+ resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==}
+ dev: true
+
/lodash@4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
- dev: false
+
+ /lru-cache@5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+ dependencies:
+ yallist: 3.1.1
+
+ /lru-cache@6.0.0:
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
+ engines: {node: '>=10'}
+ dependencies:
+ yallist: 4.0.0
+ dev: true
+
+ /map-obj@1.0.1:
+ resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /map-obj@4.3.0:
+ resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /mdast-util-from-markdown@0.8.5:
+ resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==}
+ dependencies:
+ '@types/mdast': 3.0.15
+ mdast-util-to-string: 2.0.0
+ micromark: 2.11.4
+ parse-entities: 2.0.0
+ unist-util-stringify-position: 2.0.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /mdast-util-to-string@2.0.0:
+ resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==}
+ dev: true
/mdn-data@2.0.30:
resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
- /merge-anything@5.0.2:
- resolution: {integrity: sha512-POPQBWkBC0vxdgzRJ2Mkj4+2NTKbvkHo93ih+jGDhNMLzIw+rYKjO7949hOQM2X7DxMHH1uoUkwWFLIzImw7gA==}
+ /meow@12.1.1:
+ resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==}
+ engines: {node: '>=16.10'}
+ dev: true
+
+ /meow@8.1.2:
+ resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ '@types/minimist': 1.2.5
+ camelcase-keys: 6.2.2
+ decamelize-keys: 1.1.1
+ hard-rejection: 2.1.0
+ minimist-options: 4.1.0
+ normalize-package-data: 3.0.3
+ read-pkg-up: 7.0.1
+ redent: 3.0.0
+ trim-newlines: 3.0.1
+ type-fest: 0.18.1
+ yargs-parser: 20.2.9
+ dev: true
+
+ /merge-anything@5.1.7:
+ resolution: {integrity: sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==}
engines: {node: '>=12.13'}
dependencies:
- is-what: 4.1.7
- ts-toolbelt: 9.6.0
+ is-what: 4.1.16
+ dev: true
+
+ /merge-stream@2.0.0:
+ resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
dev: true
/merge2@1.4.1:
@@ -1297,6 +3142,15 @@ packages:
engines: {node: '>= 8'}
dev: true
+ /micromark@2.11.4:
+ resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==}
+ dependencies:
+ debug: 4.3.4
+ parse-entities: 2.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/micromatch@4.0.5:
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
engines: {node: '>=8.6'}
@@ -1305,21 +3159,106 @@ packages:
picomatch: 2.3.1
dev: true
- /minimist@1.2.7:
- resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==}
+ /mimic-fn@2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /mimic-fn@4.0.0:
+ resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /min-indent@1.0.1:
+ resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ dependencies:
+ brace-expansion: 1.1.11
+ dev: true
+
+ /minimatch@9.0.3:
+ resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
+ /minimist-options@4.1.0:
+ resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==}
+ engines: {node: '>= 6'}
+ dependencies:
+ arrify: 1.0.1
+ is-plain-obj: 1.1.0
+ kind-of: 6.0.3
+ dev: true
+
+ /minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+ dev: true
+
+ /mlly@1.4.2:
+ resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==}
+ dependencies:
+ acorn: 8.11.2
+ pathe: 1.1.1
+ pkg-types: 1.0.3
+ ufo: 1.3.2
dev: true
/ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
- /nanoid@3.3.4:
- resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
+ /ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+ dev: true
+
+ /mz@2.7.0:
+ resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
+ dependencies:
+ any-promise: 1.3.0
+ object-assign: 4.1.1
+ thenify-all: 1.6.0
+ dev: true
+
+ /nanoid@3.3.7:
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
dev: true
- /node-releases@2.0.6:
- resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==}
+ /natural-compare-lite@1.4.0:
+ resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
+ dev: true
+
+ /natural-compare@1.4.0:
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+ dev: true
+
+ /node-releases@2.0.14:
+ resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
+
+ /normalize-package-data@2.5.0:
+ resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
+ dependencies:
+ hosted-git-info: 2.8.9
+ resolve: 1.22.8
+ semver: 5.7.2
+ validate-npm-package-license: 3.0.4
+ dev: true
+
+ /normalize-package-data@3.0.3:
+ resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==}
+ engines: {node: '>=10'}
+ dependencies:
+ hosted-git-info: 4.1.0
+ is-core-module: 2.13.1
+ semver: 7.5.4
+ validate-npm-package-license: 3.0.4
+ dev: true
/normalize-path@3.0.0:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
@@ -1331,15 +3270,186 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /npm-run-path@4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-key: 3.1.1
+ dev: true
+
+ /npm-run-path@5.1.0:
+ resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ path-key: 4.0.0
+ dev: true
+
+ /nth-check@2.1.1:
+ resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+ dependencies:
+ boolbase: 1.0.0
+ dev: true
+
+ /object-assign@4.1.1:
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/object-hash@3.0.0:
resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
engines: {node: '>= 6'}
dev: true
+ /once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+ dependencies:
+ wrappy: 1.0.2
+ dev: true
+
+ /onetime@5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
+ dependencies:
+ mimic-fn: 2.1.0
+ dev: true
+
+ /onetime@6.0.0:
+ resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ mimic-fn: 4.0.0
+ dev: true
+
+ /optionator@0.9.3:
+ resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ '@aashutoshrathi/word-wrap': 1.2.6
+ deep-is: 0.1.4
+ fast-levenshtein: 2.0.6
+ levn: 0.4.1
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ dev: true
+
+ /p-limit@2.3.0:
+ resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
+ engines: {node: '>=6'}
+ dependencies:
+ p-try: 2.2.0
+ dev: true
+
+ /p-limit@3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ yocto-queue: 0.1.0
+ dev: true
+
+ /p-limit@4.0.0:
+ resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ yocto-queue: 1.0.0
+ dev: true
+
+ /p-locate@4.1.0:
+ resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
+ engines: {node: '>=8'}
+ dependencies:
+ p-limit: 2.3.0
+ dev: true
+
+ /p-locate@5.0.0:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+ engines: {node: '>=10'}
+ dependencies:
+ p-limit: 3.1.0
+ dev: true
+
+ /p-locate@6.0.0:
+ resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ p-limit: 4.0.0
+ dev: true
+
+ /p-try@2.2.0:
+ resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+ dependencies:
+ callsites: 3.1.0
+ dev: true
+
+ /parse-entities@2.0.0:
+ resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==}
+ dependencies:
+ character-entities: 1.2.4
+ character-entities-legacy: 1.1.4
+ character-reference-invalid: 1.1.4
+ is-alphanumerical: 1.0.4
+ is-decimal: 1.0.4
+ is-hexadecimal: 1.0.4
+ dev: true
+
+ /parse-gitignore@2.0.0:
+ resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==}
+ engines: {node: '>=14'}
+ dev: true
+
+ /parse-json@5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@babel/code-frame': 7.23.5
+ error-ex: 1.3.2
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+ dev: true
+
+ /path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /path-exists@5.0.0:
+ resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dev: true
+
+ /path-is-absolute@1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /path-key@4.0.0:
+ resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
+ engines: {node: '>=12'}
+ dev: true
+
/path-parse@1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
dev: true
+ /path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /pathe@1.1.1:
+ resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==}
+ dev: true
+
/picocolors@1.0.0:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
@@ -1353,31 +3463,49 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
- /postcss-import@14.1.0(postcss@8.4.19):
- resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==}
- engines: {node: '>=10.0.0'}
+ /pirates@4.0.6:
+ resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
+ engines: {node: '>= 6'}
+ dev: true
+
+ /pkg-types@1.0.3:
+ resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==}
+ dependencies:
+ jsonc-parser: 3.2.0
+ mlly: 1.4.2
+ pathe: 1.1.1
+ dev: true
+
+ /pluralize@8.0.0:
+ resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /postcss-import@15.1.0(postcss@8.4.31):
+ resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
+ engines: {node: '>=14.0.0'}
peerDependencies:
postcss: ^8.0.0
dependencies:
- postcss: 8.4.19
+ postcss: 8.4.31
postcss-value-parser: 4.2.0
read-cache: 1.0.0
- resolve: 1.22.1
+ resolve: 1.22.8
dev: true
- /postcss-js@4.0.0(postcss@8.4.19):
- resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==}
+ /postcss-js@4.0.1(postcss@8.4.31):
+ resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
engines: {node: ^12 || ^14 || >= 16}
peerDependencies:
- postcss: ^8.3.3
+ postcss: ^8.4.21
dependencies:
camelcase-css: 2.0.1
- postcss: 8.4.19
+ postcss: 8.4.31
dev: true
- /postcss-load-config@3.1.4(postcss@8.4.19):
- resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
- engines: {node: '>= 10'}
+ /postcss-load-config@4.0.2(postcss@8.4.31):
+ resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
+ engines: {node: '>= 14'}
peerDependencies:
postcss: '>=8.0.9'
ts-node: '>=9.0.0'
@@ -1387,77 +3515,174 @@ packages:
ts-node:
optional: true
dependencies:
- lilconfig: 2.0.6
- postcss: 8.4.19
- yaml: 1.10.2
+ lilconfig: 3.0.0
+ postcss: 8.4.31
+ yaml: 2.3.4
dev: true
- /postcss-nested@6.0.0(postcss@8.4.19):
- resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==}
+ /postcss-nested@6.0.1(postcss@8.4.31):
+ resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
engines: {node: '>=12.0'}
peerDependencies:
postcss: ^8.2.14
dependencies:
- postcss: 8.4.19
- postcss-selector-parser: 6.0.11
+ postcss: 8.4.31
+ postcss-selector-parser: 6.0.13
+ dev: true
+
+ /postcss-selector-parser@6.0.10:
+ resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
+ engines: {node: '>=4'}
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+ dev: true
+
+ /postcss-selector-parser@6.0.13:
+ resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+ dev: true
+
+ /postcss-value-parser@4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+ dev: true
+
+ /postcss@8.4.31:
+ resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.0.0
+ source-map-js: 1.0.2
+ dev: true
+
+ /prelude-ls@1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
+ engines: {node: '>= 0.8.0'}
+ dev: true
+
+ /prompts@2.4.2:
+ resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
+ engines: {node: '>= 6'}
+ dependencies:
+ kleur: 3.0.3
+ sisteransi: 1.0.5
+ dev: true
+
+ /punycode@2.3.1:
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ dev: true
+
+ /quick-lru@4.0.1:
+ resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /read-cache@1.0.0:
+ resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
+ dependencies:
+ pify: 2.3.0
+ dev: true
+
+ /read-pkg-up@7.0.1:
+ resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
+ engines: {node: '>=8'}
+ dependencies:
+ find-up: 4.1.0
+ read-pkg: 5.2.0
+ type-fest: 0.8.1
+ dev: true
+
+ /read-pkg@5.2.0:
+ resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@types/normalize-package-data': 2.4.4
+ normalize-package-data: 2.5.0
+ parse-json: 5.2.0
+ type-fest: 0.6.0
+ dev: true
+
+ /readable-stream@3.6.2:
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
+ engines: {node: '>= 6'}
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
+ dev: true
+
+ /readdirp@3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+ dependencies:
+ picomatch: 2.3.1
dev: true
- /postcss-selector-parser@6.0.10:
- resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
- engines: {node: '>=4'}
+ /redent@3.0.0:
+ resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
+ engines: {node: '>=8'}
dependencies:
- cssesc: 3.0.0
- util-deprecate: 1.0.2
+ indent-string: 4.0.0
+ strip-indent: 3.0.0
dev: true
- /postcss-selector-parser@6.0.11:
- resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==}
- engines: {node: '>=4'}
+ /regexp-tree@0.1.27:
+ resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==}
+ hasBin: true
+ dev: true
+
+ /regjsparser@0.10.0:
+ resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==}
+ hasBin: true
dependencies:
- cssesc: 3.0.0
- util-deprecate: 1.0.2
+ jsesc: 0.5.0
dev: true
- /postcss-value-parser@4.2.0:
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+ /require-directory@2.1.1:
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+ engines: {node: '>=0.10.0'}
dev: true
- /postcss@8.4.19:
- resolution: {integrity: sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==}
- engines: {node: ^10 || ^12 || >=14}
- dependencies:
- nanoid: 3.3.4
- picocolors: 1.0.0
- source-map-js: 1.0.2
+ /require-from-string@2.0.2:
+ resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
+ engines: {node: '>=0.10.0'}
dev: true
- /queue-microtask@1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ /resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
dev: true
- /quick-lru@5.1.1:
- resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
- engines: {node: '>=10'}
+ /resolve-from@5.0.0:
+ resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
+ engines: {node: '>=8'}
dev: true
- /read-cache@1.0.0:
- resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
+ /resolve-global@1.0.0:
+ resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==}
+ engines: {node: '>=8'}
dependencies:
- pify: 2.3.0
+ global-dirs: 0.1.1
dev: true
- /readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
- dependencies:
- picomatch: 2.3.1
+ /resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
dev: true
- /resolve@1.22.1:
- resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
+ /resolve@1.22.8:
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
hasBin: true
dependencies:
- is-core-module: 2.10.0
+ is-core-module: 2.13.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
dev: true
@@ -1467,12 +3692,31 @@ packages:
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
dev: true
- /rollup@2.77.3:
- resolution: {integrity: sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==}
- engines: {node: '>=10.0.0'}
+ /rimraf@3.0.2:
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+ dev: true
+
+ /rollup@4.6.1:
+ resolution: {integrity: sha512-jZHaZotEHQaHLgKr8JnQiDT1rmatjgKlMekyksz+yk9jt/8z9quNjnKNRoaM0wd9DC2QKXjmWWuDYtM3jfF8pQ==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
optionalDependencies:
- fsevents: 2.3.2
+ '@rollup/rollup-android-arm-eabi': 4.6.1
+ '@rollup/rollup-android-arm64': 4.6.1
+ '@rollup/rollup-darwin-arm64': 4.6.1
+ '@rollup/rollup-darwin-x64': 4.6.1
+ '@rollup/rollup-linux-arm-gnueabihf': 4.6.1
+ '@rollup/rollup-linux-arm64-gnu': 4.6.1
+ '@rollup/rollup-linux-arm64-musl': 4.6.1
+ '@rollup/rollup-linux-x64-gnu': 4.6.1
+ '@rollup/rollup-linux-x64-musl': 4.6.1
+ '@rollup/rollup-win32-arm64-msvc': 4.6.1
+ '@rollup/rollup-win32-ia32-msvc': 4.6.1
+ '@rollup/rollup-win32-x64-msvc': 4.6.1
+ fsevents: 2.3.3
dev: true
/run-parallel@1.2.0:
@@ -1481,114 +3725,290 @@ packages:
queue-microtask: 1.2.3
dev: true
- /safe-buffer@5.1.2:
- resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
+ /safe-buffer@5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+ dev: true
- /sass@1.56.2:
- resolution: {integrity: sha512-ciEJhnyCRwzlBCB+h5cCPM6ie/6f8HrhZMQOf5vlU60Y1bI1rx5Zb0vlDZvaycHsg/MqFfF1Eq2eokAa32iw8w==}
- engines: {node: '>=12.0.0'}
+ /sass@1.69.5:
+ resolution: {integrity: sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==}
+ engines: {node: '>=14.0.0'}
hasBin: true
dependencies:
chokidar: 3.5.3
- immutable: 4.1.0
+ immutable: 4.3.4
source-map-js: 1.0.2
dev: true
- /semver@6.3.0:
- resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
+ /semver@5.7.2:
+ resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
+ hasBin: true
+ dev: true
+
+ /semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+
+ /semver@7.5.4:
+ resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
+ engines: {node: '>=10'}
hasBin: true
+ dependencies:
+ lru-cache: 6.0.0
+ dev: true
+
+ /seroval@0.14.1:
+ resolution: {integrity: sha512-ZlC9y1KVDhZFdEHLYZup1RjKDutyX1tt3ffOauqRbRURa2vRr2NU/bHuVEuNEqR3zE2uCU3WM6LqH6Oinc3tWg==}
+ engines: {node: '>=10'}
+
+ /shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+ dependencies:
+ shebang-regex: 3.0.0
+ dev: true
+
+ /shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+ dev: true
+
+ /signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+ engines: {node: '>=14'}
+ dev: true
- /solid-js@1.6.4:
- resolution: {integrity: sha512-IfJJ1ejAcRTOEB0XXk/J8tzvVNZXAdEuHtWQwTXefUteZPGWOl4aVSOrkoj3y1bjwDayqok3+Vv3TV/j4IhKyw==}
+ /sisteransi@1.0.5:
+ resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+ dev: true
+
+ /slash@3.0.0:
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /solid-js@1.8.6:
+ resolution: {integrity: sha512-yiH6ZfBBZ3xj/aU/PBpVKB+8r8WWp100NGF7k/Z0IrK9Y8Lv0jwvFiJY1cHdc6Tj7GqXArKnMBabM0m1k+LzkA==}
dependencies:
- csstype: 3.1.0
+ csstype: 3.1.2
+ seroval: 0.14.1
- /solid-refresh@0.4.1(solid-js@1.6.4):
- resolution: {integrity: sha512-v3tD/OXQcUyXLrWjPW1dXZyeWwP7/+GQNs8YTL09GBq+5FguA6IejJWUvJDrLIA4M0ho9/5zK2e9n+uy+4488g==}
+ /solid-refresh@0.5.3(solid-js@1.8.6):
+ resolution: {integrity: sha512-Otg5it5sjOdZbQZJnvo99TEBAr6J7PQ5AubZLNU6szZzg3RQQ5MX04oteBIIGDs0y2Qv8aXKm9e44V8z+UnFdw==}
peerDependencies:
solid-js: ^1.3
dependencies:
- '@babel/generator': 7.18.7
- '@babel/helper-module-imports': 7.18.6
- '@babel/types': 7.18.8
- solid-js: 1.6.4
+ '@babel/generator': 7.23.5
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/types': 7.23.5
+ solid-js: 1.8.6
dev: true
- /solid-styled@0.7.4(@babel/core@7.20.5)(solid-js@1.6.4):
- resolution: {integrity: sha512-cxMgEiUl2+nTd6DFFiVeu+oLE5AYfxSqQAagvspiaWO+ZsNUTh0abcC3IoxorQkkOCPQmelk18EeJUAiNf6f7g==}
+ /solid-styled@0.10.0(solid-js@1.8.6):
+ resolution: {integrity: sha512-0oWaKuBCnpF72AkLeZ40jokmL3/P4hXrCqSNg5uEkut9nBRfZ+JeFGPu7+klCvKgEcBAFNESffdMh1+NwS/w2Q==}
engines: {node: '>=12'}
peerDependencies:
- '@babel/core': ^7
solid-js: ^1
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-module-imports': 7.18.6
- '@babel/traverse': 7.20.5
- '@babel/types': 7.20.5
- '@types/css-tree': 2.0.0
+ '@babel/core': 7.23.5
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/traverse': 7.23.5
+ '@babel/types': 7.23.5
+ '@types/css-tree': 2.3.4
+ browserslist: 4.22.1
css-tree: 2.3.1
- js-xxhash: 2.0.0
- solid-js: 1.6.4
+ lightningcss: 1.22.1
+ solid-js: 1.8.6
transitivePeerDependencies:
- supports-color
- /solid-toast@0.3.5(solid-js@1.6.4):
- resolution: {integrity: sha512-m4PX2ESex9nSwt9d9XTr3r+Kp3vjSoViDWj3gj6Xxgz21IKYODMKhACXurlZCztz56NQBnfX2m4es4I8JgXGQQ==}
+ /solid-toast@0.5.0(solid-js@1.8.6):
+ resolution: {integrity: sha512-t770JakjyS2P9b8Qa1zMLOD51KYKWXbTAyJePVUoYex5c5FH5S/HtUBUbZAWFcqRCKmAE8KhyIiCvDZA8bOnxQ==}
peerDependencies:
solid-js: ^1.5.4
dependencies:
- solid-js: 1.6.4
+ solid-js: 1.8.6
dev: false
/source-map-js@1.0.2:
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
engines: {node: '>=0.10.0'}
+ /spdx-correct@3.2.0:
+ resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
+ dependencies:
+ spdx-expression-parse: 3.0.1
+ spdx-license-ids: 3.0.16
+ dev: true
+
+ /spdx-exceptions@2.3.0:
+ resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==}
+ dev: true
+
+ /spdx-expression-parse@3.0.1:
+ resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
+ dependencies:
+ spdx-exceptions: 2.3.0
+ spdx-license-ids: 3.0.16
+ dev: true
+
+ /spdx-license-ids@3.0.16:
+ resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==}
+ dev: true
+
+ /split2@3.2.2:
+ resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==}
+ dependencies:
+ readable-stream: 3.6.2
+ dev: true
+
+ /split2@4.2.0:
+ resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
+ engines: {node: '>= 10.x'}
+ dev: true
+
+ /string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+ dev: true
+
+ /string_decoder@1.3.0:
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: true
+
+ /strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+ dependencies:
+ ansi-regex: 5.0.1
+ dev: true
+
+ /strip-final-newline@2.0.0:
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /strip-final-newline@3.0.0:
+ resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /strip-indent@3.0.0:
+ resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ min-indent: 1.0.1
+ dev: true
+
+ /strip-json-comments@3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /sucrase@3.34.0:
+ resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.3
+ commander: 4.1.1
+ glob: 7.1.6
+ lines-and-columns: 1.2.4
+ mz: 2.7.0
+ pirates: 4.0.6
+ ts-interface-checker: 0.1.13
+ dev: true
+
/supports-color@5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
dependencies:
has-flag: 3.0.0
+ /supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+ dependencies:
+ has-flag: 4.0.0
+ dev: true
+
/supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
dev: true
- /tailwindcss@3.2.4(postcss@8.4.19):
- resolution: {integrity: sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==}
- engines: {node: '>=12.13.0'}
+ /tailwindcss@3.3.5:
+ resolution: {integrity: sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==}
+ engines: {node: '>=14.0.0'}
hasBin: true
- peerDependencies:
- postcss: ^8.0.9
dependencies:
+ '@alloc/quick-lru': 5.2.0
arg: 5.0.2
chokidar: 3.5.3
- color-name: 1.1.4
- detective: 5.2.1
didyoumean: 1.2.2
dlv: 1.1.3
- fast-glob: 3.2.12
+ fast-glob: 3.3.2
glob-parent: 6.0.2
is-glob: 4.0.3
- lilconfig: 2.0.6
+ jiti: 1.21.0
+ lilconfig: 2.1.0
micromatch: 4.0.5
normalize-path: 3.0.0
object-hash: 3.0.0
picocolors: 1.0.0
- postcss: 8.4.19
- postcss-import: 14.1.0(postcss@8.4.19)
- postcss-js: 4.0.0(postcss@8.4.19)
- postcss-load-config: 3.1.4(postcss@8.4.19)
- postcss-nested: 6.0.0(postcss@8.4.19)
- postcss-selector-parser: 6.0.11
- postcss-value-parser: 4.2.0
- quick-lru: 5.1.1
- resolve: 1.22.1
+ postcss: 8.4.31
+ postcss-import: 15.1.0(postcss@8.4.31)
+ postcss-js: 4.0.1(postcss@8.4.31)
+ postcss-load-config: 4.0.2(postcss@8.4.31)
+ postcss-nested: 6.0.1(postcss@8.4.31)
+ postcss-selector-parser: 6.0.13
+ resolve: 1.22.8
+ sucrase: 3.34.0
transitivePeerDependencies:
- ts-node
dev: true
+ /text-extensions@2.4.0:
+ resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /text-table@0.2.0:
+ resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+ dev: true
+
+ /thenify-all@1.6.0:
+ resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
+ engines: {node: '>=0.8'}
+ dependencies:
+ thenify: 3.3.1
+ dev: true
+
+ /thenify@3.3.1:
+ resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
+ dependencies:
+ any-promise: 1.3.0
+ dev: true
+
+ /through2@4.0.2:
+ resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==}
+ dependencies:
+ readable-stream: 3.6.2
+ dev: true
+
+ /through@2.3.8:
+ resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
+ dev: true
+
/to-fast-properties@2.0.0:
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
engines: {node: '>=4'}
@@ -1600,109 +4020,328 @@ packages:
is-number: 7.0.0
dev: true
- /ts-toolbelt@9.6.0:
- resolution: {integrity: sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==}
+ /trim-newlines@3.0.1:
+ resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==}
+ engines: {node: '>=8'}
dev: true
- /typescript@4.8.2:
- resolution: {integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==}
- engines: {node: '>=4.2.0'}
- hasBin: true
+ /ts-api-utils@1.0.3(typescript@5.3.2):
+ resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==}
+ engines: {node: '>=16.13.0'}
+ peerDependencies:
+ typescript: '>=4.2.0'
+ dependencies:
+ typescript: 5.3.2
+ dev: true
+
+ /ts-interface-checker@0.1.13:
+ resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
+ dev: true
+
+ /type-check@0.4.0:
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: 1.2.1
+ dev: true
+
+ /type-fest@0.18.1:
+ resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /type-fest@0.20.2:
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /type-fest@0.6.0:
+ resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /type-fest@0.8.1:
+ resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
+ engines: {node: '>=8'}
dev: true
- /update-browserslist-db@1.0.10(browserslist@4.21.4):
- resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==}
+ /typescript@5.3.2:
+ resolution: {integrity: sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==}
+ engines: {node: '>=14.17'}
hasBin: true
+ dev: true
+
+ /ufo@1.3.2:
+ resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==}
+ dev: true
+
+ /undici-types@5.26.5:
+ resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+ dev: true
+
+ /unicorn-magic@0.1.0:
+ resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
+ engines: {node: '>=18'}
+ dev: true
+
+ /unist-util-stringify-position@2.0.3:
+ resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==}
+ dependencies:
+ '@types/unist': 2.0.10
+ dev: true
+
+ /universalify@2.0.1:
+ resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
+ engines: {node: '>= 10.0.0'}
+ dev: true
+
+ /unplugin-solid-styled@0.10.0(solid-styled@0.10.0)(vite@5.0.4):
+ resolution: {integrity: sha512-MlZhF24r8/+OlASy1fQ0APDtzNPBOe6S7/jve7lRzAm4IFBUNOhrM1SMHQqf1wZ4TO8+zkeENe3ybI7DREz+EQ==}
+ engines: {node: '>=10'}
peerDependencies:
- browserslist: '>= 4.21.0'
+ solid-styled: '>=0.9'
+ vite: ^3 || ^4 || ^5
+ peerDependenciesMeta:
+ vite:
+ optional: true
dependencies:
- browserslist: 4.21.4
- escalade: 3.1.1
- picocolors: 1.0.0
+ '@rollup/pluginutils': 5.1.0
+ solid-styled: 0.10.0(solid-js@1.8.6)
+ unplugin: 1.5.1
+ vite: 5.0.4(@types/node@18.19.0)(sass@1.69.5)
+ transitivePeerDependencies:
+ - rollup
+ dev: true
+
+ /unplugin@1.5.1:
+ resolution: {integrity: sha512-0QkvG13z6RD+1L1FoibQqnvTwVBXvS4XSPwAyinVgoOCl2jAgwzdUKmEj05o4Lt8xwQI85Hb6mSyYkcAGwZPew==}
+ dependencies:
+ acorn: 8.11.2
+ chokidar: 3.5.3
+ webpack-sources: 3.2.3
+ webpack-virtual-modules: 0.6.1
+ dev: true
- /update-browserslist-db@1.0.4(browserslist@4.21.2):
- resolution: {integrity: sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==}
+ /update-browserslist-db@1.0.13(browserslist@4.22.1):
+ resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
dependencies:
- browserslist: 4.21.2
+ browserslist: 4.22.1
escalade: 3.1.1
picocolors: 1.0.0
+
+ /uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ dependencies:
+ punycode: 2.3.1
dev: true
/util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
dev: true
- /vite-plugin-solid-styled@0.7.4(solid-styled@0.7.4)(vite@3.0.9):
- resolution: {integrity: sha512-A+m3CuBmYbDWS+ouDOxwaRD5UTv6ZIItoE5HeUzvOlDallrwD6dxFI3U7lEp4Vjz5Wcvo/sE5uqQKY3peOfkFQ==}
+ /validate-html-nesting@1.2.2:
+ resolution: {integrity: sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==}
+ dev: true
+
+ /validate-npm-package-license@3.0.4:
+ resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
+ dependencies:
+ spdx-correct: 3.2.0
+ spdx-expression-parse: 3.0.1
+ dev: true
+
+ /vite-plugin-solid-styled@0.10.0(solid-styled@0.10.0)(vite@5.0.4):
+ resolution: {integrity: sha512-NrTrLRZCcudvTuG/nrstnTPWZuP7I07tHPEx+O8w4Bh2lSAogGnYcBjBW62+RUOD11TckxGVzO8ReWMWFTb1Eg==}
engines: {node: '>=10'}
peerDependencies:
- solid-styled: '>=0.7'
- vite: ^3
- dependencies:
- '@babel/core': 7.20.5
- '@babel/preset-typescript': 7.18.6(@babel/core@7.20.5)
- '@rollup/pluginutils': 5.0.2
- solid-styled: 0.7.4(@babel/core@7.20.5)(solid-js@1.6.4)
- vite: 3.0.9(sass@1.56.2)
+ solid-styled: '>=0.9'
+ vite: ^3 || ^4 || ^5
+ dependencies:
+ solid-styled: 0.10.0(solid-js@1.8.6)
+ unplugin-solid-styled: 0.10.0(solid-styled@0.10.0)(vite@5.0.4)
+ vite: 5.0.4(@types/node@18.19.0)(sass@1.69.5)
transitivePeerDependencies:
- rollup
- - supports-color
dev: true
- /vite-plugin-solid@2.3.0(solid-js@1.6.4)(vite@3.0.9):
- resolution: {integrity: sha512-N2sa54C3UZC2nN5vpj5o6YP+XdIAZW6n6xv8OasxNAcAJPFeZT7EOVvumL0V4c8hBz1yuYniMWdESY8807fVSg==}
+ /vite-plugin-solid@2.7.2(solid-js@1.8.6)(vite@5.0.4):
+ resolution: {integrity: sha512-GV2SMLAibOoXe76i02AsjAg7sbm/0lngBlERvJKVN67HOrJsHcWgkt0R6sfGLDJuFkv2aBe14Zm4vJcNME+7zw==}
peerDependencies:
- solid-js: ^1.3.17
- vite: ^3.0.0
- dependencies:
- '@babel/core': 7.18.6
- '@babel/preset-typescript': 7.18.6(@babel/core@7.18.6)
- babel-preset-solid: 1.4.6(@babel/core@7.18.6)
- merge-anything: 5.0.2
- solid-js: 1.6.4
- solid-refresh: 0.4.1(solid-js@1.6.4)
- vite: 3.0.9(sass@1.56.2)
+ solid-js: ^1.7.2
+ vite: ^3.0.0 || ^4.0.0
+ dependencies:
+ '@babel/core': 7.23.5
+ '@babel/preset-typescript': 7.23.3(@babel/core@7.23.5)
+ '@types/babel__core': 7.20.5
+ babel-preset-solid: 1.8.6(@babel/core@7.23.5)
+ merge-anything: 5.1.7
+ solid-js: 1.8.6
+ solid-refresh: 0.5.3(solid-js@1.8.6)
+ vite: 5.0.4(@types/node@18.19.0)(sass@1.69.5)
+ vitefu: 0.2.5(vite@5.0.4)
transitivePeerDependencies:
- supports-color
dev: true
- /vite@3.0.9(sass@1.56.2):
- resolution: {integrity: sha512-waYABTM+G6DBTCpYAxvevpG50UOlZuynR0ckTK5PawNVt7ebX6X7wNXHaGIO6wYYFXSM7/WcuFuO2QzhBB6aMw==}
- engines: {node: ^14.18.0 || >=16.0.0}
+ /vite@5.0.4(@types/node@18.19.0)(sass@1.69.5):
+ resolution: {integrity: sha512-RzAr8LSvM8lmhB4tQ5OPcBhpjOZRZjuxv9zO5UcxeoY2bd3kP3Ticd40Qma9/BqZ8JS96Ll/jeBX9u+LJZrhVg==}
+ engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
+ '@types/node': ^18.0.0 || >=20.0.0
less: '*'
+ lightningcss: ^1.21.0
sass: '*'
stylus: '*'
+ sugarss: '*'
terser: ^5.4.0
peerDependenciesMeta:
+ '@types/node':
+ optional: true
less:
optional: true
+ lightningcss:
+ optional: true
sass:
optional: true
stylus:
optional: true
+ sugarss:
+ optional: true
terser:
optional: true
dependencies:
- esbuild: 0.14.54
- postcss: 8.4.19
- resolve: 1.22.1
- rollup: 2.77.3
- sass: 1.56.2
+ '@types/node': 18.19.0
+ esbuild: 0.19.8
+ postcss: 8.4.31
+ rollup: 4.6.1
+ sass: 1.69.5
optionalDependencies:
- fsevents: 2.3.2
+ fsevents: 2.3.3
dev: true
- /xtend@4.0.2:
- resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
- engines: {node: '>=0.4'}
+ /vitefu@0.2.5(vite@5.0.4):
+ resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==}
+ peerDependencies:
+ vite: ^3.0.0 || ^4.0.0 || ^5.0.0
+ peerDependenciesMeta:
+ vite:
+ optional: true
+ dependencies:
+ vite: 5.0.4(@types/node@18.19.0)(sass@1.69.5)
dev: true
- /yaml@1.10.2:
- resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
- engines: {node: '>= 6'}
+ /vue-eslint-parser@9.3.2(eslint@8.54.0):
+ resolution: {integrity: sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==}
+ engines: {node: ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '>=6.0.0'
+ dependencies:
+ debug: 4.3.4
+ eslint: 8.54.0
+ eslint-scope: 7.2.2
+ eslint-visitor-keys: 3.4.3
+ espree: 9.6.1
+ esquery: 1.5.0
+ lodash: 4.17.21
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /webpack-sources@3.2.3:
+ resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
+ engines: {node: '>=10.13.0'}
+ dev: true
+
+ /webpack-virtual-modules@0.6.1:
+ resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==}
+ dev: true
+
+ /which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+ dev: true
+
+ /wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ dev: true
+
+ /wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+ dev: true
+
+ /xml-name-validator@4.0.0:
+ resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /y18n@5.0.8:
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /yallist@3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+
+ /yallist@4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+ dev: true
+
+ /yaml-eslint-parser@1.2.2:
+ resolution: {integrity: sha512-pEwzfsKbTrB8G3xc/sN7aw1v6A6c/pKxLAkjclnAyo5g5qOh6eL9WGu0o3cSDQZKrTNk4KL4lQSwZW+nBkANEg==}
+ engines: {node: ^14.17.0 || >=16.0.0}
+ dependencies:
+ eslint-visitor-keys: 3.4.3
+ lodash: 4.17.21
+ yaml: 2.3.4
+ dev: true
+
+ /yaml@2.3.4:
+ resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
+ engines: {node: '>= 14'}
+ dev: true
+
+ /yargs-parser@20.2.9:
+ resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /yargs-parser@21.1.1:
+ resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /yargs@17.7.2:
+ resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
+ engines: {node: '>=12'}
+ dependencies:
+ cliui: 8.0.1
+ escalade: 3.1.1
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ string-width: 4.2.3
+ y18n: 5.0.8
+ yargs-parser: 21.1.1
+ dev: true
+
+ /yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /yocto-queue@1.0.0:
+ resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
+ engines: {node: '>=12.20'}
dev: true
diff --git a/postcss.config.js b/postcss.config.js
index 33ad091..7b75c83 100644
--- a/postcss.config.js
+++ b/postcss.config.js
@@ -1,6 +1,6 @@
-module.exports = {
- plugins: {
- tailwindcss: {},
- autoprefixer: {},
- },
-}
+export default {
+ plugins: {
+ tailwindcss: {},
+ autoprefixer: {},
+ },
+};
diff --git a/public/commitlint.config.js b/public/commitlint.config.js
new file mode 100644
index 0000000..79d6271
--- /dev/null
+++ b/public/commitlint.config.js
@@ -0,0 +1,6 @@
+export default {
+ extends: '@commitlint/config-conventional',
+ rules: {
+ 'subject-case': [2, 'always', 'sentence-case'],
+ },
+};
diff --git a/src/App.tsx b/src/App.tsx
index 54d6ea0..82eb03b 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,63 +1,64 @@
-import { Component, JSXElement, onMount } from 'solid-js';
-import { Routes, Route } from "@solidjs/router"
-import NavBar from "./components/layouts/navBar";
+import type { Component } from 'solid-js';
+import { onMount } from 'solid-js';
+import { Route, Routes } from '@solidjs/router';
+import { Toaster } from 'solid-toast';
+import NavBar from './components/layouts/navBar';
import ColorTablePage from './pages/colorTablePage';
import ComingSoonPage from './pages/comingSoonPage';
import Footer from './components/layouts/footer';
-import { Toaster } from 'solid-toast';
import PlaygroundRoutes from './components/playground/playgroundRoutes';
import KeyHandler from './functions/keyHandler';
-import ColorGenerationPage from "./pages/colorGenerationPage";
+import ColorGenerationPage from './pages/colorGenerationPage';
const App: Component = () => {
+ onMount(() => {
+ let ASCII = `
+ █████ ███ ███ ██████ ██ ███████ ███ ██ ████████
+ ██ ██ ████ ████ ██ ██ ██ ██ ████ ██ ██
+ ███████ ██ ████ ██ ██████ ██ █████ ██ ██ ██ ██
+ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
+ ██ ██ ██ ██ ██████ ██ ███████ ██ ████ ██
+ `;
- onMount(() => {
- let ASCII = `
- █████ ███ ███ ██████ ██ ███████ ███ ██ ████████
- ██ ██ ████ ████ ██ ██ ██ ██ ████ ██ ██
- ███████ ██ ████ ██ ██████ ██ █████ ██ ██ ██ ██
- ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
- ██ ██ ██ ██ ██████ ██ ███████ ██ ████ ██
- `
-
- ASCII += `\n Using Ambient at work? Work with me on your next project!
+ ASCII += `\n Using Ambient at work? Work with me on your next project!
https://kevintyj.com
- `
- console.log(`%c${ASCII}`, `font-family: monospace; color: #F13D52; `)
- })
+ `;
+ // eslint-disable-next-line no-console
+ console.log(`%c${ASCII}`, `font-family: monospace; color: #F13D52; `);
+ });
- return (
- <>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- >
- );
+ return (
+ <>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ >
+ );
};
export default App;
diff --git a/src/assets/color.tsx b/src/assets/color.tsx
index 0a1aee8..9c024ea 100644
--- a/src/assets/color.tsx
+++ b/src/assets/color.tsx
@@ -1,372 +1,371 @@
-import { createMemo } from "solid-js";
-import { darkMode } from "../components/shared/darkModeToggle";
-import { colorsToArr } from "../functions/colorConfig";
+import { darkMode } from '../components/shared/darkModeToggle';
+import { colorsToArr } from '../functions/colorConfig';
export const BaseColorScaleDark: Record> = {
- "NEUTRAL": {
- "00": "#1b1d1c",
- "01": "#262727",
- "02": "#414342",
- "03": "#585a59",
- "04": "#747776",
- "05": "#a0a2a1",
- "06": "#abadac",
- "07": "#b2b4b3",
- "08": "#c9cbca",
- "09": "#eff1f0",
- },
- "OCEAN": {
- "100": "#171c24",
- "200": "#172336",
- "300": "#152a46",
- "400": "#143355",
- "500": "#0a64ae",
- "600": "#0679d2",
- "700": "#1893f6",
- "800": "#4caafa",
- "900": "#72bcfb",
- "1000": "#c2e2fd"
- },
- "BLUE": {
- "100": "#181923",
- "200": "#171a33",
- "300": "#171b42",
- "400": "#16204f",
- "500": "#1235a1",
- "600": "#1b41c1",
- "700": "#2b50e2",
- "800": "#5670e5",
- "900": "#788bea",
- "1000": "#c5cdf6"
- },
- "INDIGO": {
- "100": "#171721",
- "200": "#15152e",
- "300": "#14133b",
- "400": "#1a1147",
- "500": "#2d088e",
- "600": "#3b05aa",
- "700": "#4c0cc7",
- "800": "#6e3cd0",
- "900": "#8960d7",
- "1000": "#ccbaee"
- },
- "VIOLET": {
- "100": "#1a1721",
- "200": "#1d162f",
- "300": "#21143b",
- "400": "#291747",
- "500": "#4a1d8b",
- "600": "#5a24a6",
- "700": "#6d2fc2",
- "800": "#8756cb",
- "900": "#9d75d4",
- "1000": "#d5c3ec"
- },
- "CRIMSON": {
- "100": "#21171d",
- "200": "#2f1521",
- "300": "#3d1327",
- "400": "#4c172f",
- "500": "#9e285a",
- "600": "#bf346d",
- "700": "#e14785",
- "800": "#ea6c9e",
- "900": "#f189b2",
- "1000": "#f9ccde"
- },
- "WINE": {
- "100": "#1d1719",
- "200": "#251517",
- "300": "#2e1316",
- "400": "#371118",
- "500": "#6d0721",
- "600": "#840928",
- "700": "#9d1635",
- "800": "#af4259",
- "900": "#bf6577",
- "1000": "#e3bcc4"
- },
- "RED": {
- "100": "#1f1719",
- "200": "#2a1517",
- "300": "#351315",
- "400": "#411116",
- "500": "#870819",
- "600": "#a30f21",
- "700": "#c31f2e",
- "800": "#d04b56",
- "900": "#db6f75",
- "1000": "#efc1c3"
- },
- "SUN": {
- "100": "#211719",
- "200": "#2f1517",
- "300": "#3e1316",
- "400": "#4c1517",
- "500": "#a3201b",
- "600": "#c62c23",
- "700": "#ea3e33",
- "800": "#f1655c",
- "900": "#f6837b",
- "1000": "#fbcac6"
- },
- "ORANGE": {
- "100": "#221a19",
- "200": "#341c16",
- "300": "#442114",
- "400": "#532813",
- "500": "#b04e08",
- "600": "#d56004",
- "700": "#fb7912",
- "800": "#fd9644",
- "900": "#fead6a",
- "1000": "#fedbbf"
- },
- "YELLOW": {
- "100": "#211f19",
- "200": "#322916",
- "300": "#413414",
- "400": "#504013",
- "500": "#ab8508",
- "600": "#cfa306",
- "700": "#f8c51a",
- "800": "#fcd756",
- "900": "#fde484",
- "1000": "#fef3ca"
- },
- "SAPLING": {
- "100": "#1d1f19",
- "200": "#242b16",
- "300": "#2c3614",
- "400": "#364218",
- "500": "#6d8925",
- "600": "#84a82e",
- "700": "#a2c940",
- "800": "#bad76f",
- "900": "#cde492",
- "1000": "#e9f3d0"
- },
- "GREEN": {
- "100": "#171d1b",
- "200": "#15261a",
- "300": "#132f1b",
- "400": "#113920",
- "500": "#077233",
- "600": "#048b3f",
- "700": "#0da750",
- "800": "#45ba75",
- "900": "#6fca92",
- "1000": "#c1e8d0"
- },
- "AURORA": {
- "100": "#171f1f",
- "200": "#152b28",
- "300": "#133730",
- "400": "#12433a",
- "500": "#1c8b74",
- "600": "#28a98d",
- "700": "#3bcbab",
- "800": "#6cd9c0",
- "900": "#90e4d1",
- "1000": "#cff3eb"
- },
- "CYAN": {
- "100": "#171f22",
- "200": "#152a30",
- "300": "#13363d",
- "400": "#11414a",
- "500": "#078899",
- "600": "#04a6b9",
- "700": "#09c8de",
- "800": "#4ed7e9",
- "900": "#7ce4f1",
- "1000": "#c6f3f9"
- }
-}
+ NEUTRAL: {
+ '00': '#1b1d1c',
+ '01': '#262727',
+ '02': '#414342',
+ '03': '#585a59',
+ '04': '#747776',
+ '05': '#a0a2a1',
+ '06': '#abadac',
+ '07': '#b2b4b3',
+ '08': '#c9cbca',
+ '09': '#eff1f0',
+ },
+ OCEAN: {
+ 100: '#171c24',
+ 200: '#172336',
+ 300: '#152a46',
+ 400: '#143355',
+ 500: '#0a64ae',
+ 600: '#0679d2',
+ 700: '#1893f6',
+ 800: '#4caafa',
+ 900: '#72bcfb',
+ 1000: '#c2e2fd',
+ },
+ BLUE: {
+ 100: '#181923',
+ 200: '#171a33',
+ 300: '#171b42',
+ 400: '#16204f',
+ 500: '#1235a1',
+ 600: '#1b41c1',
+ 700: '#2b50e2',
+ 800: '#5670e5',
+ 900: '#788bea',
+ 1000: '#c5cdf6',
+ },
+ INDIGO: {
+ 100: '#171721',
+ 200: '#15152e',
+ 300: '#14133b',
+ 400: '#1a1147',
+ 500: '#2d088e',
+ 600: '#3b05aa',
+ 700: '#4c0cc7',
+ 800: '#6e3cd0',
+ 900: '#8960d7',
+ 1000: '#ccbaee',
+ },
+ VIOLET: {
+ 100: '#1a1721',
+ 200: '#1d162f',
+ 300: '#21143b',
+ 400: '#291747',
+ 500: '#4a1d8b',
+ 600: '#5a24a6',
+ 700: '#6d2fc2',
+ 800: '#8756cb',
+ 900: '#9d75d4',
+ 1000: '#d5c3ec',
+ },
+ CRIMSON: {
+ 100: '#21171d',
+ 200: '#2f1521',
+ 300: '#3d1327',
+ 400: '#4c172f',
+ 500: '#9e285a',
+ 600: '#bf346d',
+ 700: '#e14785',
+ 800: '#ea6c9e',
+ 900: '#f189b2',
+ 1000: '#f9ccde',
+ },
+ WINE: {
+ 100: '#1d1719',
+ 200: '#251517',
+ 300: '#2e1316',
+ 400: '#371118',
+ 500: '#6d0721',
+ 600: '#840928',
+ 700: '#9d1635',
+ 800: '#af4259',
+ 900: '#bf6577',
+ 1000: '#e3bcc4',
+ },
+ RED: {
+ 100: '#1f1719',
+ 200: '#2a1517',
+ 300: '#351315',
+ 400: '#411116',
+ 500: '#870819',
+ 600: '#a30f21',
+ 700: '#c31f2e',
+ 800: '#d04b56',
+ 900: '#db6f75',
+ 1000: '#efc1c3',
+ },
+ SUN: {
+ 100: '#211719',
+ 200: '#2f1517',
+ 300: '#3e1316',
+ 400: '#4c1517',
+ 500: '#a3201b',
+ 600: '#c62c23',
+ 700: '#ea3e33',
+ 800: '#f1655c',
+ 900: '#f6837b',
+ 1000: '#fbcac6',
+ },
+ ORANGE: {
+ 100: '#221a19',
+ 200: '#341c16',
+ 300: '#442114',
+ 400: '#532813',
+ 500: '#b04e08',
+ 600: '#d56004',
+ 700: '#fb7912',
+ 800: '#fd9644',
+ 900: '#fead6a',
+ 1000: '#fedbbf',
+ },
+ YELLOW: {
+ 100: '#211f19',
+ 200: '#322916',
+ 300: '#413414',
+ 400: '#504013',
+ 500: '#ab8508',
+ 600: '#cfa306',
+ 700: '#f8c51a',
+ 800: '#fcd756',
+ 900: '#fde484',
+ 1000: '#fef3ca',
+ },
+ SAPLING: {
+ 100: '#1d1f19',
+ 200: '#242b16',
+ 300: '#2c3614',
+ 400: '#364218',
+ 500: '#6d8925',
+ 600: '#84a82e',
+ 700: '#a2c940',
+ 800: '#bad76f',
+ 900: '#cde492',
+ 1000: '#e9f3d0',
+ },
+ GREEN: {
+ 100: '#171d1b',
+ 200: '#15261a',
+ 300: '#132f1b',
+ 400: '#113920',
+ 500: '#077233',
+ 600: '#048b3f',
+ 700: '#0da750',
+ 800: '#45ba75',
+ 900: '#6fca92',
+ 1000: '#c1e8d0',
+ },
+ AURORA: {
+ 100: '#171f1f',
+ 200: '#152b28',
+ 300: '#133730',
+ 400: '#12433a',
+ 500: '#1c8b74',
+ 600: '#28a98d',
+ 700: '#3bcbab',
+ 800: '#6cd9c0',
+ 900: '#90e4d1',
+ 1000: '#cff3eb',
+ },
+ CYAN: {
+ 100: '#171f22',
+ 200: '#152a30',
+ 300: '#13363d',
+ 400: '#11414a',
+ 500: '#078899',
+ 600: '#04a6b9',
+ 700: '#09c8de',
+ 800: '#4ed7e9',
+ 900: '#7ce4f1',
+ 1000: '#c6f3f9',
+ },
+};
const BaseColorScaleLight: Record> = {
- "NEUTRAL": {
- "00": "#f3f5f3",
- "01": "#eff1f0",
- "02": "#d0d2d1",
- "03": "#c2c5c4",
- "04": "#9b9d9c",
- "05": "#747776",
- "06": "#585a59",
- "07": "#414342",
- "08": "#262727",
- "09": "#1b1d1c",
- },
- "OCEAN": {
- "00": "#f3fcff",
- "01": "#e4f6fe",
- "02": "#cfeafd",
- "03": "#badefd",
- "04": "#68b7fa",
- "05": "#4eabfa",
- "06": "#1893f6",
- "07": "#036abe",
- "08": "#06488d",
- "09": "#03284e",
- },
- "BLUE": {
- "00": "#f2f3fc",
- "01": "#e3e6f9",
- "02": "#d0d5f6",
- "03": "#bdc6f5",
- "04": "#7085ea",
- "05": "#5872e6",
- "06": "#2b50e2",
- "07": "#0c35af",
- "08": "#0b1f82",
- "09": "#061148",
- },
- "INDIGO": {
- "00": "#f4eefa",
- "01": "#e7dcf6",
- "02": "#d6c5f2",
- "03": "#c5b1ec",
- "04": "#8357d7",
- "05": "#6f3ed0",
- "06": "#4c0cc7",
- "07": "#2b0199",
- "08": "#130070",
- "09": "#0a003d",
- },
- "VIOLET": {
- "00": "#f6f1fb",
- "01": "#ece1f6",
- "02": "#ddcdf2",
- "03": "#cfbbeb",
- "04": "#996dd4",
- "05": "#8958cc",
- "06": "#6d2fc2",
- "07": "#4d1996",
- "08": "#320b6f",
- "09": "#1c063d",
- },
- "CRIMSON": {
- "00": "#fdf5fa",
- "01": "#fce8f2",
- "02": "#fad7e6",
- "03": "#f9c5d9",
- "04": "#f082ad",
- "05": "#ea6e9f",
- "06": "#e14785",
- "07": "#ac265e",
- "08": "#7d0d3c",
- "09": "#450721",
- },
- "WINE": {
- "00": "#faeff1",
- "01": "#f4dde1",
- "02": "#ebc7ce",
- "03": "#e0b3bc",
- "04": "#bc5d71",
- "05": "#b0445b",
- "06": "#9d1635",
- "07": "#75001d",
- "08": "#52000c",
- "09": "#2d0007",
- },
- "RED": {
- "00": "#fcf1f1",
- "01": "#f8e0e0",
- "02": "#f5cbcd",
- "03": "#eeb8bb",
- "04": "#d9666d",
- "05": "#d04d58",
- "06": "#c31f2e",
- "07": "#920114",
- "08": "#660007",
- "09": "#380004",
- },
- "SUN": {
- "00": "#fef4f2",
- "01": "#fde7e3",
- "02": "#fbd4d0",
- "03": "#fbc2be",
- "04": "#f67c73",
- "05": "#f1675e",
- "06": "#ea3e33",
- "07": "#b21c16",
- "08": "#7f0808",
- "09": "#460405",
- },
- "ORANGE": {
- "00": "#fffaf2",
- "01": "#fff2e1",
- "02": "#fee5cb",
- "03": "#fed7b6",
- "04": "#fda660",
- "05": "#fd9746",
- "06": "#fb7912",
- "07": "#c15100",
- "08": "#8e3100",
- "09": "#4e1b00",
- },
- "YELLOW": {
- "00": "#fffef8",
- "01": "#fffcec",
- "02": "#fefad9",
- "03": "#fef2c3",
- "04": "#fde177",
- "05": "#fcd758",
- "06": "#f8c51a",
- "07": "#bb9000",
- "08": "#866400",
- "09": "#4a3700",
- },
- "SAPLING": {
- "00": "#fdfef8",
- "01": "#f9fced",
- "02": "#f2f9dd",
- "03": "#e7f2ca",
- "04": "#c8e188",
- "05": "#bbd870",
- "06": "#a2c940",
- "07": "#749521",
- "08": "#4e690b",
- "09": "#2b3a06",
- },
- "GREEN": {
- "00": "#f3fbf6",
- "01": "#e3f7ea",
- "02": "#cef0da",
- "03": "#b8e5ca",
- "04": "#64c68b",
- "05": "#47bb77",
- "06": "#0da750",
- "07": "#007a32",
- "08": "#00561c",
- "09": "#002f0f",
- },
- "AURORA": {
- "00": "#f8fefd",
- "01": "#edfbfa",
- "02": "#dcf9f3",
- "03": "#c9f3e9",
- "04": "#86e3cd",
- "05": "#6edac1",
- "06": "#3bcbab",
- "07": "#18967c",
- "08": "#026a55",
- "09": "#013a2f",
- },
- "CYAN": {
- "00": "#f6fefe",
- "01": "#e9fcfd",
- "02": "#d6f9fb",
- "03": "#bff2f9",
- "04": "#70e1f0",
- "05": "#50d8e9",
- "06": "#09c8de",
- "07": "#0093a6",
- "08": "#006776",
- "09": "#003941",
- }
-}
+ NEUTRAL: {
+ '00': '#f3f5f3',
+ '01': '#eff1f0',
+ '02': '#d0d2d1',
+ '03': '#c2c5c4',
+ '04': '#9b9d9c',
+ '05': '#747776',
+ '06': '#585a59',
+ '07': '#414342',
+ '08': '#262727',
+ '09': '#1b1d1c',
+ },
+ OCEAN: {
+ '00': '#f3fcff',
+ '01': '#e4f6fe',
+ '02': '#cfeafd',
+ '03': '#badefd',
+ '04': '#68b7fa',
+ '05': '#4eabfa',
+ '06': '#1893f6',
+ '07': '#036abe',
+ '08': '#06488d',
+ '09': '#03284e',
+ },
+ BLUE: {
+ '00': '#f2f3fc',
+ '01': '#e3e6f9',
+ '02': '#d0d5f6',
+ '03': '#bdc6f5',
+ '04': '#7085ea',
+ '05': '#5872e6',
+ '06': '#2b50e2',
+ '07': '#0c35af',
+ '08': '#0b1f82',
+ '09': '#061148',
+ },
+ INDIGO: {
+ '00': '#f4eefa',
+ '01': '#e7dcf6',
+ '02': '#d6c5f2',
+ '03': '#c5b1ec',
+ '04': '#8357d7',
+ '05': '#6f3ed0',
+ '06': '#4c0cc7',
+ '07': '#2b0199',
+ '08': '#130070',
+ '09': '#0a003d',
+ },
+ VIOLET: {
+ '00': '#f6f1fb',
+ '01': '#ece1f6',
+ '02': '#ddcdf2',
+ '03': '#cfbbeb',
+ '04': '#996dd4',
+ '05': '#8958cc',
+ '06': '#6d2fc2',
+ '07': '#4d1996',
+ '08': '#320b6f',
+ '09': '#1c063d',
+ },
+ CRIMSON: {
+ '00': '#fdf5fa',
+ '01': '#fce8f2',
+ '02': '#fad7e6',
+ '03': '#f9c5d9',
+ '04': '#f082ad',
+ '05': '#ea6e9f',
+ '06': '#e14785',
+ '07': '#ac265e',
+ '08': '#7d0d3c',
+ '09': '#450721',
+ },
+ WINE: {
+ '00': '#faeff1',
+ '01': '#f4dde1',
+ '02': '#ebc7ce',
+ '03': '#e0b3bc',
+ '04': '#bc5d71',
+ '05': '#b0445b',
+ '06': '#9d1635',
+ '07': '#75001d',
+ '08': '#52000c',
+ '09': '#2d0007',
+ },
+ RED: {
+ '00': '#fcf1f1',
+ '01': '#f8e0e0',
+ '02': '#f5cbcd',
+ '03': '#eeb8bb',
+ '04': '#d9666d',
+ '05': '#d04d58',
+ '06': '#c31f2e',
+ '07': '#920114',
+ '08': '#660007',
+ '09': '#380004',
+ },
+ SUN: {
+ '00': '#fef4f2',
+ '01': '#fde7e3',
+ '02': '#fbd4d0',
+ '03': '#fbc2be',
+ '04': '#f67c73',
+ '05': '#f1675e',
+ '06': '#ea3e33',
+ '07': '#b21c16',
+ '08': '#7f0808',
+ '09': '#460405',
+ },
+ ORANGE: {
+ '00': '#fffaf2',
+ '01': '#fff2e1',
+ '02': '#fee5cb',
+ '03': '#fed7b6',
+ '04': '#fda660',
+ '05': '#fd9746',
+ '06': '#fb7912',
+ '07': '#c15100',
+ '08': '#8e3100',
+ '09': '#4e1b00',
+ },
+ YELLOW: {
+ '00': '#fffef8',
+ '01': '#fffcec',
+ '02': '#fefad9',
+ '03': '#fef2c3',
+ '04': '#fde177',
+ '05': '#fcd758',
+ '06': '#f8c51a',
+ '07': '#bb9000',
+ '08': '#866400',
+ '09': '#4a3700',
+ },
+ SAPLING: {
+ '00': '#fdfef8',
+ '01': '#f9fced',
+ '02': '#f2f9dd',
+ '03': '#e7f2ca',
+ '04': '#c8e188',
+ '05': '#bbd870',
+ '06': '#a2c940',
+ '07': '#749521',
+ '08': '#4e690b',
+ '09': '#2b3a06',
+ },
+ GREEN: {
+ '00': '#f3fbf6',
+ '01': '#e3f7ea',
+ '02': '#cef0da',
+ '03': '#b8e5ca',
+ '04': '#64c68b',
+ '05': '#47bb77',
+ '06': '#0da750',
+ '07': '#007a32',
+ '08': '#00561c',
+ '09': '#002f0f',
+ },
+ AURORA: {
+ '00': '#f8fefd',
+ '01': '#edfbfa',
+ '02': '#dcf9f3',
+ '03': '#c9f3e9',
+ '04': '#86e3cd',
+ '05': '#6edac1',
+ '06': '#3bcbab',
+ '07': '#18967c',
+ '08': '#026a55',
+ '09': '#013a2f',
+ },
+ CYAN: {
+ '00': '#f6fefe',
+ '01': '#e9fcfd',
+ '02': '#d6f9fb',
+ '03': '#bff2f9',
+ '04': '#70e1f0',
+ '05': '#50d8e9',
+ '06': '#09c8de',
+ '07': '#0093a6',
+ '08': '#006776',
+ '09': '#003941',
+ },
+};
export const colors = () => darkMode() ? BaseColorScaleDark : BaseColorScaleLight;
export const colorsArr = () => colorsToArr(colors());
diff --git a/src/assets/components/button.styled.tsx b/src/assets/components/button.styled.tsx
index f53e514..2ead0ae 100644
--- a/src/assets/components/button.styled.tsx
+++ b/src/assets/components/button.styled.tsx
@@ -1,16 +1,16 @@
-import {ParentComponent} from "solid-js";
+import type { ParentComponent } from 'solid-js';
type IButtonProps = ParentComponent< & {
- square?: boolean;
- aria: string;
- type?: "button" | "submit" | "reset" | undefined;
+ square?: boolean
+ aria: string
+ type?: 'button' | 'submit' | 'reset' | undefined
}>;
const Button: IButtonProps = (props) => {
- return (
- {
active:border-neutral-300
dark:active:border-neutral-700
active:translate-y-px"
- classList={{'w-8 h-8 px-0': props.square}} type={props.type}>
- {props.children}
-
- )
-}
+ classList={{ 'w-8 h-8 px-0': props.square }}
+ type={props.type}
+ >
+ {props.children}
+
+ );
+};
export default Button;
diff --git a/src/assets/components/collapsible.styled.tsx b/src/assets/components/collapsible.styled.tsx
index c8c0ce8..7660b3a 100644
--- a/src/assets/components/collapsible.styled.tsx
+++ b/src/assets/components/collapsible.styled.tsx
@@ -1,19 +1,19 @@
-import {createSignal, ParentComponent} from "solid-js";
+import type { ParentComponent } from 'solid-js';
+import { createSignal } from 'solid-js';
type ICollapsibleProps = ParentComponent< & {
- title: string;
+ title: string
}>;
const Collapsible: ICollapsibleProps = (props) => {
+ const [state, setState] = createSignal(false);
- const [state, setState] = createSignal(false)
+ const handleState = () => {
+ setState(!state());
+ };
- const handleState = () => {
- setState(!state())
- }
-
- return (
- {
hover:shadow hover:border-neutral-300 dark:hover:border-neutral-700
active:border-neutral-300
dark:active:border-neutral-700
- flex flex-col transition-all">
-
- {props.title}
-
-
-
-
- )
-}
+ flex flex-col transition-all"
+ >
+
+ {props.title}
+
+
+
+
+ );
+};
export default Collapsible;
diff --git a/src/assets/components/colorIdentifier.scss b/src/assets/components/colorIdentifier.scss
index ec4d32f..e741707 100644
--- a/src/assets/components/colorIdentifier.scss
+++ b/src/assets/components/colorIdentifier.scss
@@ -15,6 +15,6 @@
right: -1.5px;
border-radius: 6px;
border: 2.5px solid #fff;
- box-shadow: 0px 0px 2px 0px #00000032, inset 0px 0px 2px 0px #00000032;
+ box-shadow: 0 0 2px 0 #00000032, inset 0 0 2px 0 #00000032;
}
-}
\ No newline at end of file
+}
diff --git a/src/assets/components/colorIdentifier.styled.tsx b/src/assets/components/colorIdentifier.styled.tsx
index 0994d57..27350d0 100644
--- a/src/assets/components/colorIdentifier.styled.tsx
+++ b/src/assets/components/colorIdentifier.styled.tsx
@@ -1,36 +1,32 @@
-import {JSX, ParentComponent, splitProps} from "solid-js";
+import type { ParentComponent } from 'solid-js';
-import './colorIdentifier.scss'
+import './colorIdentifier.scss';
type IColorIdentifier = ParentComponent< & {
- color?: string;
- textColor?: string;
- class?: string;
- tabindex?: number;
- onClick?: any;
+ color?: string
+ textColor?: string
+ class?: string
+ tabindex?: number
+ onClick?: any
}
>;
-
const ColorIdentifier: IColorIdentifier = (props) => {
-
- const [local, others] = splitProps(props, ['children', 'color', 'textColor', 'class', 'tabindex']);
-
- return (
-
- {props.children}
-
- )
-}
+ >
+ {props.children}
+
+ );
+};
export default ColorIdentifier;
diff --git a/src/assets/components/documentationMenu.styled.tsx b/src/assets/components/documentationMenu.styled.tsx
index c5d537c..26b8e59 100644
--- a/src/assets/components/documentationMenu.styled.tsx
+++ b/src/assets/components/documentationMenu.styled.tsx
@@ -1,51 +1,58 @@
-import { A, useLocation } from "@solidjs/router";
-import { Component, createMemo, For, ParentComponent, Show } from "solid-js";
+import { A, useLocation } from '@solidjs/router';
+import type { Component, ParentComponent } from 'solid-js';
+import { For, Show } from 'solid-js';
type IMenuItemProps = ParentComponent< & {
- link: string;
- selected?: boolean;
+ link: string
+ selected?: boolean
}>;
type IMenuListProps = Component< & {
- list: Record;
- parentPath?: string;
- default?: string;
+ list: Record
+ parentPath?: string
+ default?: string
}>;
const MenuItem: IMenuItemProps = (props) => {
- return (
-
- {props.children}
-
- )
-}
+ return (
+
+ {props.children}
+
+ );
+};
const DocumentationMenuList: IMenuListProps = (props) => {
+ const pathname = () => useLocation().pathname;
- const pathname = () => useLocation().pathname;
-
- return (
-
-
{([item, link]) =>
-
- {item}
- }
- >
-
+
+ {([item, link]) => (
+
+ {item}
+
+ )}
+ >
+
-
- {item}
-
-
-
- }
-
- )
-}
+ transition-all"
+ >
+
+ {item}
+
+
+
+ )}
+
+
+ );
+};
-export default DocumentationMenuList
+export default DocumentationMenuList;
diff --git a/src/assets/components/select.styled.tsx b/src/assets/components/select.styled.tsx
index 09e38ad..70f47bc 100644
--- a/src/assets/components/select.styled.tsx
+++ b/src/assets/components/select.styled.tsx
@@ -1,13 +1,14 @@
-import { JSX } from "solid-js/jsx-runtime";
+import type { JSX } from 'solid-js/jsx-runtime';
-const Select = (props : JSX.SelectHTMLAttributes) => {
- return (
-
- {props.children}
-
- )
-}
+const Select = (props: JSX.SelectHTMLAttributes) => {
+ return (
+
+ {props.children}
+
+ );
+};
export default Select;
-
diff --git a/src/components/colorListComponent.tsx b/src/components/colorListComponent.tsx
deleted file mode 100644
index 54c34a3..0000000
--- a/src/components/colorListComponent.tsx
+++ /dev/null
@@ -1,331 +0,0 @@
-import chroma from "chroma-js";
-import {Component, createEffect, createSignal, JSX} from "solid-js";
-import SwatchList from "../shared/components/swatchList";
-import { Button } from "../shared/styles/components/button.styled";
-import { Flex } from "../shared/styles/components/flex.styled";
-import { Select } from "../shared/styles/components/select.styled";
-import {
- SetLegacy, SetLegacyLight,
- SetRelative,
- SetRelativeLight,
- SetShades,
- SetShadesLight
-} from "../shared/styles/functions/functions.styled";
-import {
- ColorLegacy, ColorLegacyLight,
- ColorMix, ColorMixLight,
- ColorRelative, ColorRelativeLight,
- ColorShades,
- ColorShadesLight
-} from "../shared/styles/utils/variables.styled";
-import {create} from "lodash";
-
-export type ISwatchItem = {
- name: string;
- swatch: Record>;
- light: boolean;
-}
-
-export const [showContrast, setShowContrast] = createSignal('0');
-export const [contrastCalcType, setContrastCalcType] = createSignal(0);
-
-const [colorType, setColorType] = createSignal('hex');
-
-export const [shadeLength, setShadeLength] = createSignal(7);
-
-const updateColorType = (type: any) => {
- setColorType(type.target.value);
-}
-
-const updateShowContrast = (type: any) => {
- setShowContrast(type.target.value);
-}
-
-const updateContrastCalc = (type: any) => {
- setContrastCalcType(type.target.value);
-}
-
-const updateShadeLength = (type: any) => {
- setShadeLength(type.target.value);
- setShades(shadeLength());
-}
-
-export const setShades = (len: number) => {
- if (len == 10) {
- SetLegacy([0.03, 0.1, 0.2, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.2]);
- SetRelative([0.7, 0.6, 0.65, 0.7, 0.85, 0.9, 1, 1.1, 1.2, 1.2]);
- SetShades([1.95, 1.86, 1.78, 1.72, 1.3, 1.15, 1, 0.86, 0.74, 0.32]);
-
- SetLegacyLight([1.8, 1.7, 1.5, 1.25, 1.2, 1.1, 1, 0.8, 0.7, 0.7]);
- SetRelativeLight([1.5, 1.4, 1.3, 1.2, 1.15, 1.1, 1, 0.85, 0.7, 0.7]);
- SetShadesLight([0.1, 0.2, 0.3, 0.37, 0.77, 0.85, 1, 1.2, 1.4, 1.67]);
- }
- if (len == 9) {
- SetLegacy([0.1, 0.2, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.2]);
- SetRelative([0.6, 0.65, 0.7, 0.85, 0.9, 1, 1.1, 1.2, 1.2]);
- SetShades([1.86, 1.78, 1.72, 1.3, 1.15, 1, 0.86, 0.74, 0.32]);
-
- SetLegacyLight([1.7, 1.5, 1.25, 1.2, 1.1, 1, 0.8, 0.7, 0.7]);
- SetRelativeLight([1.4, 1.3, 1.2, 1.15, 1.1, 1, 0.85, 0.7, 0.7]);
- SetShadesLight([0.2, 0.3, 0.37, 0.77, 0.85, 1, 1.2, 1.4, 1.67]);
-
- } if (len == 7) {
- SetLegacy([0.1, 0.7, 0.9, 1, 1.1, 1.2, 1.5]);
- SetRelative([0.6, 0.7, 0.9, 1, 1.1, 1.2, 1.3]);
- SetShades([1.85, 1.65, 1.1, 1, 0.9, 0.35, 0.18]);
-
- SetLegacyLight([1.5, 1.2, 1.1, 1, 0.9, 0.7, 0.1]);
- SetRelativeLight([1.3, 1.2, 1.1, 1, 0.9, 0.7, 0.6]);
- SetShadesLight([0.18, 0.35, 0.9, 1, 1.1, 1.65, 1.85]);
- }
-}
-
-const ColorListPage: () => JSX.Element = () => {
-
- const listColorConversion = () => {
- let output = [];
- for (const scale of sListDeepCopy()) {
- let calcType: Record = {};
- calcType[`name`] = scale.name;
- let colorSwatchObj: Record> = {};
- for (const [colorName, colorSwatch] of Object.entries(scale.swatch)){
- let colorScaleObj: Record = {};
- for (const [scaleName, scaleValue] of Object.entries(colorSwatch)){
- if (typeof scaleValue === "string") {
- colorScaleObj[scaleName] = scaleValue;
- }
- switch(colorType()){
- case 'hex':
- // @ts-ignore
- colorScaleObj[scaleName] = chroma(scaleValue).hex();
- break;
- case 'rgb':
- // @ts-ignore
- colorScaleObj[scaleName] = `rgb(${chroma(scaleValue).rgb().toString()})`;
- break;
- case 'hsl':
- // @ts-ignore
- colorScaleObj[scaleName] = `hsl(${chroma(scaleValue).hsl().toString()})`;
- break;
- case 'hsv':
- // @ts-ignore
- colorScaleObj[scaleName] = `hsv(${chroma(scaleValue).hsv().toString()})`;
- break;
- case 'hsi':
- // @ts-ignore
- colorScaleObj[scaleName] = `hsi(${chroma(scaleValue).hsi().toString()})`;
- break;
- case 'lab':
- // @ts-ignore
- colorScaleObj[scaleName] = `lab(${chroma(scaleValue).lab().toString()})`;
- break;
- case 'oklab':
- // @ts-ignore
- colorScaleObj[scaleName] = `oklab(${chroma(scaleValue).oklab().toString()})`;
- break;
- case 'lch':
- // @ts-ignore
- colorScaleObj[scaleName] = `lch(${chroma(scaleValue).lch().toString()})`;
- break;
- case 'hcl':
- // @ts-ignore
- colorScaleObj[scaleName] = `hcl(${chroma(scaleValue).hcl().toString()})`;
- break;
- case 'okhcl':
- // @ts-ignore
- colorScaleObj[scaleName] = `okhcl(${chroma(scaleValue).okhcl().toString()})`;
- break;
- }
- }
- colorSwatchObj[colorName] = colorScaleObj;
- }
- calcType[`swatch`] = colorSwatchObj;
- output.push(calcType);
- }
-
- return output;
- }
-
- const fileDownloadFull = () => {
- console.log(listColorConversion());
- const fileData = JSON.stringify(sListDeepCopy());
- const blob = new Blob([fileData], {type: "text/plain"});
- const url = URL.createObjectURL(blob);
- const link = document.createElement('a');
- link.download = 'ambientcolors-full.json';
- link.href = url;
- link.click();
- }
-
- const fileDownloadTW = () => {
- const fileData = JSON.stringify(listColorConversion()[0].swatch);
- const blob = new Blob([fileData], {type: "text/plain"});
- const url = URL.createObjectURL(blob);
- const link = document.createElement('a');
- link.download = 'ambientcolors-full.json';
- link.href = url;
- link.click();
- }
-
- const sListDeepCopy = () => [
- {
- name: 'Shades Corrected (RGB)',
- swatch: ColorShades(),
- light: false
- }, {
- name: 'Shades Corrected (RGB) Light Mode',
- swatch: ColorShadesLight(),
- light: true
- }
- // , {
- // name: 'Blended (Lab Color Mix)',
- // swatch: ColorMix(),
- // light: false
- // }, {
- // name: 'Blended (Lab Color Mix) Light Mode',
- // swatch: ColorMixLight(),
- // light: true
- // }, {
- // name: 'Relative (HSV & Relative Luminance)',
- // swatch: ColorRelative(),
- // light: false
- // }, {
- // name: 'Relative (HSV & Relative Luminance) Light Mode',
- // swatch: ColorRelativeLight(),
- // light: true
- // }, {
- // name: 'Brighten and Darken (Legacy)',
- // swatch: ColorLegacy(),
- // light: false
- // }, {
- // name: 'Brighten and Darken (Legacy) Light Mode',
- // swatch: ColorLegacyLight(),
- // light: true
- // }
- ]
-
- const [sList, setSList]= createSignal([sListDeepCopy()[0], sListDeepCopy()[1]]);
-
- return(
- <>
-
- Generated Colors
-
-
-
- Export colors
-
-
- Export colors (Tailwind)
-
-
- Export color type:
-
-
-
- HEX (Default)
-
-
- RGB
-
-
- HSL
-
-
- HSV
-
-
- HSI
-
-
- LAB
-
-
- OKLAB
-
-
- LCH
-
-
- HCL
-
-
- OKHCL
-
-
-
- Color Shade Length:
-
-
-
- 7 (Default)
-
-
- 9 (Bootstrap)
-
-
- 10 (Tailwind)
-
-
-
- {/**/}
- {/* */}
- {/* Display Colors:*/}
- {/*
*/}
- {/* */}
- {/* */}
- {/* Most Contrasting Color (Default)*/}
- {/* */}
- {/* */}
- {/* First Compliant Color*/}
- {/* */}
- {/* */}
- {/* */}
-
-
- Contrast Color Method:
-
-
-
- Most Contrasting Color (Default)
-
-
- First Compliant Color
-
-
-
- Always Show Contrast Info
-
-
-
- False (Default)
-
-
- True
-
-
-
-
-
- >
- )
-
-}
-
-export default ColorListPage;
diff --git a/src/components/colorSelectorComponent.tsx b/src/components/colorSelectorComponent.tsx
index 3407433..4c39276 100644
--- a/src/components/colorSelectorComponent.tsx
+++ b/src/components/colorSelectorComponent.tsx
@@ -1,159 +1,195 @@
-import {Component, createContext, createEffect, createMemo, createSignal, For} from "solid-js";
-import {createForm} from "@felte/solid";
-import toast from "solid-toast";
-import Toast from "./shared/toast";
-import {BaseBackgroundArr, ScalePrimObj} from "../functions/colorConfig";
-import PlaygroundBtn from "./playground/button/playgroundButton";
-import {neutralSwatch} from "./playground/components/colorSwatch";
-import {darkMode} from "./shared/darkModeToggle";
-import {css} from "solid-styled";
-import {useColorArrContext} from "../pages/colorGenerationPage";
-
-const ColorSelectorComponent:Component = () => {
-
- const [colorsArr, setColorsArr] = useColorArrContext();
-
- const [colors, setColors] = createSignal(colorsArr());
-
- createEffect(() => {
- setColorsArr(colors());
- })
-
- css`
- .color-picker {
- width: 28px;
- height: 32px;
- }
-
- .color-picker::-webkit-color-swatch {
- border-radius: 4px;
- border: none;
- outline: 1px solid rgba(136, 136, 136, 0.32);
- outline-offset: 2px;
- }
- `
-
- const addColor = () => {
- setColors([...colors(), ['NAME', ['#FFFFFF', '#666666', '#111111']]]);
- }
-
- const removeColor = (index: number) => {
- setColors([...colors().slice(0, index), ...colors().slice(index + 1)]);
- }
-
- const handleColorChange = (row: number, index: number, val: string) => {
- let newColorArr: string[] = [...colors()[row][1]];
- newColorArr[index] = val;
- setColors([...colors().slice(0, row), [colors()[row][0], newColorArr], ...colors().slice(row + 1)]);
- }
-
-
- const arrToArr = (arr: []) => {
- let c: [] = [];
- for(let i = 0; i < arr.length; i += 2) {
- c.push(arr[i]);
- }
- return c;
- }
-
- const { form, data, errors, isSubmitting, isValid } = createForm({
- onSubmit: (val) => {
- console.log(val)
- setColorsArr(colors());
- }, validate: (val) => {
- const errors = {};
- let values: string[] = arrToArr(Object.values(val) as []);
- if (values.length !== new Set(values).size) {
- // @ts-ignore
- errors.duplicate = 'There are duplicates in the color names!';
- }
- if (isSubmitting() && !isValid) {
- console.log('wow');
- toast.custom((t) => (
-
- Something Happened
-
- ));
- console.log('lmao');
- }
- return errors;
- }
- })
-
- return(
-
+ );
+};
+
+export default ColorSelectorComponent;
diff --git a/src/components/colorSwatch.tsx b/src/components/colorSwatch.tsx
index ce28cf2..68a447f 100644
--- a/src/components/colorSwatch.tsx
+++ b/src/components/colorSwatch.tsx
@@ -1,50 +1,59 @@
-import { Component, createEffect, For, onMount } from "solid-js";
-import { colors, colorsArr } from "../assets/color";
-import ColorIdentifier from "../assets/components/colorIdentifier.styled";
-import { calcMinAPCA } from "../functions/contrastCalc";
-import { focused } from "../functions/keyHandler";
-import Toast, { copy } from "./shared/toast";
+import type { Component } from 'solid-js';
+import { For } from 'solid-js';
+import { colors } from '../assets/color';
+import ColorIdentifier from '../assets/components/colorIdentifier.styled';
+import { calcMinAPCA } from '../functions/contrastCalc';
+import { focused } from '../functions/keyHandler';
+import { copy } from './shared/toast';
-type IColorSwatchProps = Component>;
-}>
+type IColorSwatchProps = Component>
+}>;
const ColorSwatch: IColorSwatchProps = (props) => {
+ const watchingSwatch = () => props.swatch ? props.swatch : colors();
- const watchingSwatch = () => props.swatch ? props.swatch : colors();
+ const focusedState = () => focused();
- const focusedState = () => focused();
+ return (
+ <>
+
+
+
+ {(id, _i) => (
+
+ {id}
+
+ )}
+
+
+
+ {([color, swatch], j) => (
+
+
+ {color.toLocaleLowerCase()}
+
+
+ {(color, k) => (
+ copy(color)}
+ >
+ {Math.abs(calcMinAPCA(Object.values(swatch), color)[0]) > 60
+ ? calcMinAPCA(Object.values(swatch), color)[0].toFixed()
+ : ''}
+
+ )}
+
+
+ )}
+
+ >
+ );
+};
- return (
- <>
-
-
-
{(id, i) =>
-
- {id}
-
- }
-
- {([color, swatch], j) =>
-
-
- {color.toLocaleLowerCase()}
-
-
{(color, k) =>
- copy(color)}>
- {Math.abs(calcMinAPCA(Object.values(swatch), color)[0]) > 60 ?
- calcMinAPCA(Object.values(swatch), color)[0].toFixed() :
- ""}
-
- }
-
- }
- >
- )
-}
-
-export default ColorSwatch
+export default ColorSwatch;
diff --git a/src/components/colorSwatchHelper.tsx b/src/components/colorSwatchHelper.tsx
index fd5e3ef..d99a435 100644
--- a/src/components/colorSwatchHelper.tsx
+++ b/src/components/colorSwatchHelper.tsx
@@ -1,59 +1,61 @@
-import { Component, createEffect, For, onMount, Show } from "solid-js";
-import ColorIdentifier from "../assets/components/colorIdentifier.styled";
-import { baseNeutral, baseSwatch } from "./playground/components/colorSwatch";
-import HelperBadge from "./playground/components/helperBadge";
-import { copy } from "./shared/toast";
-
-
-type IColorSwatchHelperProps = Component;
- activeHelper?: Array
-}>
+import type { Component } from 'solid-js';
+import { For, Show } from 'solid-js';
+import ColorIdentifier from '../assets/components/colorIdentifier.styled';
+import { baseNeutral, baseSwatch } from './playground/components/colorSwatch';
+import HelperBadge from './playground/components/helperBadge';
+import { copy } from './shared/toast';
+
+type IColorSwatchHelperProps = Component
+ activeHelper?: Array
+}>;
const ColorSwatchHelper: IColorSwatchHelperProps = (props) => {
-
- let helperMod = props.activeHelper
-
- let counter = 0
-
- const modifiedShift = (arr: Array) => {
- const out = helperMod ? helperMod[counter] : 'Err'
- counter += 1
- if (counter >= arr.length) {
- counter = 0
- }
- return out
- }
-
- return (
- <>
-
-
-
-
-
-
{(color, k) =>
- copy(color)}>
-
-
- 0{k()}
-
-
- {props.activeHelper ? modifiedShift(helperMod ? helperMod : props.activeHelper) : `0${k()}`}
-
-
-
-
-
- }
-
-
- >
- )
-}
-
-export default ColorSwatchHelper
+ const helperMod = props.activeHelper;
+
+ let counter = 0;
+
+ const modifiedShift = (arr: Array) => {
+ const out = helperMod ? helperMod[counter] : 'Err';
+ counter += 1;
+ if (counter >= arr.length)
+ counter = 0;
+
+ return out;
+ };
+
+ return (
+ <>
+
+
+
+ {(color, k) => (
+ copy(color)}
+ >
+
+
+ 0
+ {k()}
+
+
+ {props.activeHelper ? modifiedShift(helperMod || props.activeHelper) : `0${k()}`}
+
+
+
+
+
+ )}
+
+
+
+ >
+ );
+};
+
+export default ColorSwatchHelper;
diff --git a/src/components/colorSwatchLarge.tsx b/src/components/colorSwatchLarge.tsx
index da0fce9..cb9a813 100644
--- a/src/components/colorSwatchLarge.tsx
+++ b/src/components/colorSwatchLarge.tsx
@@ -1,62 +1,70 @@
-import {Component, For, Show} from "solid-js";
-import { colors, colorsArr } from "../assets/color";
-import ColorIdentifier from "../assets/components/colorIdentifier.styled";
-import { colorsToArr } from "../functions/colorConfig";
-import { focused } from "../functions/keyHandler";
-import { copy } from "./shared/toast";
+import type { Component } from 'solid-js';
+import { For, Show } from 'solid-js';
+import { colors, colorsArr } from '../assets/color';
+import ColorIdentifier from '../assets/components/colorIdentifier.styled';
+import { focused } from '../functions/keyHandler';
+import { copy } from './shared/toast';
-type IColorSwatchLargeProps = Component>;
- swatchArr?: Array>;
- trackIndex?: 'color' | 'id';
- disableText?: boolean;
-}>
+type IColorSwatchLargeProps = Component>
+ swatchArr?: Array>
+ trackIndex?: 'color' | 'id'
+ disableText?: boolean
+}>;
const ColorSwatchLarge: IColorSwatchLargeProps = (props) => {
+ const watchingSwatch = () => props.swatch ? props.swatch : colors();
+ const watchingSwatchArr = () => props.swatchArr ? props.swatchArr : colorsArr();
- const watchingSwatch = () => props.swatch ? props.swatch : colors();
- const watchingSwatchArr = () => props.swatchArr ? props.swatchArr : colorsArr();
+ return (
+ <>
+
+
+
+ {props.trackIndex === 'color' ? 'Color Name' : 'Color ID'}
+
+
+ {props.trackIndex === 'color'
+ ? Object.keys(watchingSwatch())[focused()[1]].toLocaleLowerCase()
+ : `0${Object.keys(Object.values(watchingSwatch()))[focused()[0]]}`}
+
+
+
+
+ {(id, i) => (
+
+ {props.trackIndex === 'color' ? id : Object.keys(watchingSwatch())[i()].toLocaleLowerCase()}
+
+ )}
+
+
+
+ val[focused()[0]])}
+ >
+ {(color, k) => (
+ copy(color)}
+ />
+ )}
+
+
+
+ >
+ );
+};
- return (
- <>
-
-
-
- {props.trackIndex == 'color' ? 'Color Name' : 'Color ID'}
-
-
- {props.trackIndex == 'color' ?
- Object.keys(watchingSwatch())[focused()[1]].toLocaleLowerCase() :
- `0${Object.keys(Object.values(watchingSwatch()))[focused()[0]]}`}
-
-
-
-
{(id, i) =>
-
- {props.trackIndex == 'color' ? id : Object.keys(watchingSwatch())[i()].toLocaleLowerCase()}
-
- }
-
-
- val[focused()[0]])}>{(color, k) =>
- copy(color)}/>
- }
-
-
- >
- )
-}
-
-export default ColorSwatchLarge
+export default ColorSwatchLarge;
diff --git a/src/components/dataPlot.tsx b/src/components/dataPlot.tsx
index a593f81..8961bfa 100644
--- a/src/components/dataPlot.tsx
+++ b/src/components/dataPlot.tsx
@@ -1,55 +1,65 @@
-import chroma from "chroma-js";
-import { Component, For } from "solid-js"
-import { colorsArr } from "../assets/color";
-import { colorsToArr } from "../functions/colorConfig";
-import { focused } from "../functions/keyHandler";
+import chroma from 'chroma-js';
+import type { Component } from 'solid-js';
+import { For } from 'solid-js';
+import { colorsArr } from '../assets/color';
+import { focused } from '../functions/keyHandler';
-type IDataPlotProps = Component>;
- plotArea: 1 | 0;
- plotType: 'l' | 'c' | 'h';
-}>
+type IDataPlotProps = Component>
+ plotArea: 1 | 0
+ plotType: 'l' | 'c' | 'h'
+}>;
const DataPlot: IDataPlotProps = (props) => {
+ const watchingSwatch = () => props.swatchArr ? props.swatchArr : colorsArr();
- const watchingSwatch = () => props.swatchArr ? props.swatchArr : colorsArr();
+ const colorsRemap = () => props.plotArea === 1
+ ? watchingSwatch()[focused()[1]]
+ : watchingSwatch().map(val => val[focused()[0]]);
- const colorsRemap = () => props.plotArea == 1 ?
- watchingSwatch()[focused()[1]] :
- watchingSwatch().map(val => val[focused()[0]]);
+ const lchCalc = () => colorsRemap().map((hex) => {
+ const lch = chroma(hex).lch();
+ return { l: lch[0], c: lch[1], h: (lch[2] / 3.6) };
+ });
- const lchCalc = () => colorsRemap().map(hex => {
- const lch = chroma(hex).lch()
- return {l: lch[0], c: lch[1], h: (lch[2] / 3.6)}
- })
-
- return (
-
-
- {props.plotType == 'l' ? 'Lightness' : props.plotType == 'c' ? 'Chroma' : 'Hue'}
-
-
-
{(swatch, i) =>
-
+
+ {props.plotType === 'l' ? 'Lightness' : props.plotType === 'c' ? 'Chroma' : 'Hue'}
+
+
+
+ {(swatch, _i) => (
+
- }
-
-
-
-
{(swatch, i) =>
-
+ )}
+
+
+
+
+
+ {(swatch, i) => (
+
- }
-
-
-
- )
-}
+ `}
+ />
+ )}
+
+
+
+
+ );
+};
-export default DataPlot
+export default DataPlot;
diff --git a/src/components/layouts/footer.tsx b/src/components/layouts/footer.tsx
index e5dd9a3..076aaee 100644
--- a/src/components/layouts/footer.tsx
+++ b/src/components/layouts/footer.tsx
@@ -1,33 +1,47 @@
-import {Component } from "solid-js";
-import lightLogoUrl from "../../assets/images/ambient_logo_black_new.png";
-import darkLogoUrl from "../../assets/images/ambient_logo_white_new.png";
-import Button from "../../assets/components/button.styled";
-import DarkModeToggle, { darkMode } from "../shared/darkModeToggle";
+import type { Component } from 'solid-js';
+import lightLogoUrl from '../../assets/images/ambient_logo_black_new.png';
+import darkLogoUrl from '../../assets/images/ambient_logo_white_new.png';
const Footer: Component = () => {
-
- return (
-
- )
-}
+ bg-opacity-80 dark:bg-opacity-90 w-full z-50"
+ >
+
+
+ );
+};
export default Footer;
diff --git a/src/components/layouts/navBar.tsx b/src/components/layouts/navBar.tsx
index 4a0392f..4c4fd92 100644
--- a/src/components/layouts/navBar.tsx
+++ b/src/components/layouts/navBar.tsx
@@ -1,18 +1,17 @@
-import {Component, createMemo, createSignal } from "solid-js";
-import lightLogoUrl from "../../assets/images/ambient_logo_black_new.png";
-import darkLogoUrl from "../../assets/images/ambient_logo_white_new.png";
-import Button from "../../assets/components/button.styled";
-import DarkModeToggle, { darkMode } from "../shared/darkModeToggle";
-import { A, useLocation } from "@solidjs/router";
-import { css } from "solid-styled";
-
+import type { Component } from 'solid-js';
+import { createMemo, createSignal } from 'solid-js';
+import { A, useLocation } from '@solidjs/router';
+import { css } from 'solid-styled';
+import lightLogoUrl from '../../assets/images/ambient_logo_black_new.png';
+import darkLogoUrl from '../../assets/images/ambient_logo_white_new.png';
+import Button from '../../assets/components/button.styled';
+import DarkModeToggle from '../shared/darkModeToggle';
const NavBar: Component = () => {
+ const location = useLocation();
+ const pathname = createMemo(() => location.pathname);
- const location = useLocation();
- const pathname = createMemo(() => location.pathname);
-
- css`
+ css`
.menuBG {
display: flex;
transition: all 0.5s;
@@ -23,104 +22,120 @@ const NavBar: Component = () => {
.anim-menu {
transition: all 0.5s;
}
- `
+ `;
- const [mobileMenu, setMobileMenu] = createSignal(false)
+ const [mobileMenu, setMobileMenu] = createSignal(false);
- return (
- <>
- setMobileMenu(false)}>
-
+
+
+
-
+
+ >
+ );
+};
export default NavBar;
diff --git a/src/components/playground/button/playgroundButton.tsx b/src/components/playground/button/playgroundButton.tsx
index 63cf5f2..a74cec8 100644
--- a/src/components/playground/button/playgroundButton.tsx
+++ b/src/components/playground/button/playgroundButton.tsx
@@ -1,50 +1,53 @@
-import {ParentComponent} from "solid-js";
+import type { ParentComponent } from 'solid-js';
import { css } from 'solid-styled';
type IButtonProps = ParentComponent< & {
- textColor?: string;
- color?: string;
- hoverColor?: string;
- border: 'top' | 'full' | 'full-top';
- borderColor?: string;
- hoverBorderColor?: string;
- borderTopColor?: string;
- borderTopHoverColor?: string;
- selfFlex?: boolean;
- type?: "submit" | "reset" | "button" | undefined;
+ textColor?: string
+ color?: string
+ hoverColor?: string
+ border: 'top' | 'full' | 'full-top'
+ borderColor?: string
+ hoverBorderColor?: string
+ borderTopColor?: string
+ borderTopHoverColor?: string
+ selfFlex?: boolean
+ type?: 'submit' | 'reset' | 'button' | undefined
}>;
const PlaygroundBtn: IButtonProps = (props) => {
-
- css`
+ css`
.playground-btn {
color: ${props.textColor ? props.textColor : ''};
background-color: ${props.color ? props.color : ''};
border-color: ${props.borderColor ? props.borderColor : ''};
- border-width: ${props.border == 'top' ? '1px 0 0 0' : '1px'} !important;
- border-top-color: ${props.borderTopColor ? props.borderTopColor : props.borderColor ? props.borderColor : '' };
+ border-width: ${props.border === 'top' ? '1px 0 0 0' : '1px'} !important;
+ border-top-color: ${props.borderTopColor ? props.borderTopColor : props.borderColor ? props.borderColor : ''};
transition: background-color 80ms ease-out, border-color 80ms ease-out;
}
.playground-btn:hover {
background-color: ${props.hoverColor ? props.hoverColor : ''};
- border-color: ${props.hoverBorderColor ? props.hoverBorderColor :
- props.borderColor ? props.borderColor : ''};
- border-top-color: ${props.borderTopHoverColor ? props.borderTopHoverColor : props.hoverBorderColor ? props.hoverBorderColor : '' };
+ border-color: ${props.hoverBorderColor
+? props.hoverBorderColor
+ : props.borderColor ? props.borderColor : ''};
+ border-top-color: ${props.borderTopHoverColor ? props.borderTopHoverColor : props.hoverBorderColor ? props.hoverBorderColor : ''};
}
`;
- return (
- <>
-
+
- {props.children}
-
- >
- )
-}
+ active:translate-y-px capitalize ${props.selfFlex ? '' : 'self-start'}`}
+ type={props.type ? props.type : 'button'}
+ >
+ {props.children}
+
+ >
+ );
+};
export default PlaygroundBtn;
diff --git a/src/components/playground/components/colorSwatch.tsx b/src/components/playground/components/colorSwatch.tsx
index b2844da..a52ce75 100644
--- a/src/components/playground/components/colorSwatch.tsx
+++ b/src/components/playground/components/colorSwatch.tsx
@@ -1,26 +1,27 @@
-import { colorsToArr } from "../../../functions/colorConfig";
-import { calcMaxAPCAText } from "../../../functions/contrastCalc";
-import { focused } from "../../../functions/keyHandler";
-import { visibleColorScale } from "../../shared/toggleColorScale";
+import { colorsToArr } from '../../../functions/colorConfig';
+import { calcMaxAPCAText } from '../../../functions/contrastCalc';
+import { focused } from '../../../functions/keyHandler';
+import { visibleColorScale } from '../../shared/toggleColorScale';
const watchingSwatch = () => colorsToArr(visibleColorScale());
-const focusRow = () => focused()[1]
+const focusRow = () => focused()[1];
-export const baseSwatch = () => watchingSwatch()[focusRow()]
-export const baseNeutral = () => watchingSwatch()[0]
+export const baseSwatch = () => watchingSwatch()[focusRow()];
+export const baseNeutral = () => watchingSwatch()[0];
-const textColor = () => "NEUTRAL" in visibleColorScale() ?
-[visibleColorScale()["NEUTRAL"]["00"], visibleColorScale()["NEUTRAL"]["09"]] : ['red', 'red'];
+const textColor = () => 'NEUTRAL' in visibleColorScale()
+ ? [visibleColorScale().NEUTRAL['00'], visibleColorScale().NEUTRAL['09']]
+ : ['red', 'red'];
export const colorSwatch = (ind: number) => {
- return baseSwatch()[ind];
-}
+ return baseSwatch()[ind];
+};
export const neutralSwatch = (ind: number) => {
- return baseNeutral()[ind];
-}
+ return baseNeutral()[ind];
+};
export const calcTextColor = () => {
- const buttonBG = () => colorSwatch(5)
- return calcMaxAPCAText(buttonBG(), textColor()[0], textColor()[1])
-}
\ No newline at end of file
+ const buttonBG = () => colorSwatch(5);
+ return calcMaxAPCAText(buttonBG(), textColor()[0], textColor()[1]);
+};
diff --git a/src/components/playground/components/defaultButton.tsx b/src/components/playground/components/defaultButton.tsx
index 7097e64..0eed9ff 100644
--- a/src/components/playground/components/defaultButton.tsx
+++ b/src/components/playground/components/defaultButton.tsx
@@ -1,59 +1,66 @@
-import { ParentComponent } from "solid-js";
-import { css } from "solid-styled";
-import { BaseBackgroundArr } from "../../../functions/colorConfig";
-import { darkMode } from "../../shared/darkModeToggle";
-import PlaygroundBtn from "../button/playgroundButton";
-import { calcTextColor, colorSwatch, neutralSwatch } from "./colorSwatch";
+import type { ParentComponent } from 'solid-js';
+import { css } from 'solid-styled';
+import { BaseBackgroundArr } from '../../../functions/colorConfig';
+import { darkMode } from '../../shared/darkModeToggle';
+import PlaygroundBtn from '../button/playgroundButton';
+import { calcTextColor, colorSwatch, neutralSwatch } from './colorSwatch';
-type IDefaultBtnProps = ParentComponent<& {
- type: 'default' | 'secondary' | 'primary'
+type IDefaultBtnProps = ParentComponent< & {
+ type: 'default' | 'secondary' | 'primary'
}
>;
const DefaultButton: IDefaultBtnProps = (props) => {
+ const headerColor = () => neutralSwatch(9);
- const headerColor = () => neutralSwatch(9)
-
- css`
+ css`
.heading{
color: ${headerColor()};
}
- `
+ `;
- if (props.type == 'default'){
- return (
-
- {props.children}
-
- )
- } if (props.type == 'secondary') {
- return (
-
- {props.children}
-
- )
- } if (props.type == 'primary') {
- return (
-
- {props.children}
-
- )
- }
-}
+ if (props.type === 'default') {
+ return (
+
+ {props.children}
+
+ );
+ }
+ if (props.type === 'secondary') {
+ return (
+
+ {props.children}
+
+ );
+ }
+ if (props.type === 'primary') {
+ return (
+
+ {props.children}
+
+ );
+ }
+};
-export default DefaultButton;
\ No newline at end of file
+export default DefaultButton;
diff --git a/src/components/playground/components/divider.tsx b/src/components/playground/components/divider.tsx
index c0f75ff..3de73e0 100644
--- a/src/components/playground/components/divider.tsx
+++ b/src/components/playground/components/divider.tsx
@@ -1,9 +1,9 @@
-import { Component } from "solid-js";
+import type { Component } from 'solid-js';
const Divider: Component = () => {
- return (
-
- )
-}
+ return (
+
+ );
+};
-export default Divider
\ No newline at end of file
+export default Divider;
diff --git a/src/components/playground/components/heading.tsx b/src/components/playground/components/heading.tsx
index 36ff626..ce1078d 100644
--- a/src/components/playground/components/heading.tsx
+++ b/src/components/playground/components/heading.tsx
@@ -1,34 +1,39 @@
-import { JSX } from "solid-js/jsx-runtime";
-import { css } from "solid-styled";
-import { neutralSwatch } from "./colorSwatch";
+import type { JSX } from 'solid-js/jsx-runtime';
+import { css } from 'solid-styled';
+import { neutralSwatch } from './colorSwatch';
-const Heading = (props : JSX.SelectHTMLAttributes) => {
+ const headerColor = () => neutralSwatch(9);
- const headerColor = () => neutralSwatch(9)
+ const textSize = () => {
+ return props.size
+ ? props.size === 1
+ ? '4xl'
+ : props.size === 2
+ ? '3xl'
+ : props.size === 3
+ ? '2xl'
+ : props.size === 4
+ ? 'xl'
+ : props.size === 5
+ ? 'lg'
+ : props.size === 6 ? 'base' : 'base'
+ : 'base';
+ };
- const textSize = () => {
- return props.size ?
- props.size == 1 ? '4xl' :
- props.size == 2 ? '3xl' :
- props.size == 3 ? '2xl' :
- props.size == 4 ? 'xl' :
- props.size == 5 ? 'lg' :
- props.size == 6 ? 'base' : 'base' : 'base'
- }
-
- css`
+ css`
.heading{
color: ${headerColor()};
}
- `
+ `;
- return (
-
- {props.children}
-
- )
-}
+ return (
+
+ {props.children}
+
+ );
+};
-export default Heading;
\ No newline at end of file
+export default Heading;
diff --git a/src/components/playground/components/helperBadge.tsx b/src/components/playground/components/helperBadge.tsx
index c540ba0..d3fc7a0 100644
--- a/src/components/playground/components/helperBadge.tsx
+++ b/src/components/playground/components/helperBadge.tsx
@@ -1,28 +1,33 @@
-import { createSignal, ParentComponent, Show } from "solid-js";
+import type { ParentComponent } from 'solid-js';
+import { Show, createSignal } from 'solid-js';
-export const [helper, setHelper] = createSignal(true)
+export const [helper, setHelper] = createSignal(true);
-type IHelperProps = ParentComponent<& {
- type?: 'default' | 'secondary' | 'primary';
- arrow?: boolean;
- margin?: boolean;
- active?: boolean;
+type IHelperProps = ParentComponent< & {
+ type?: 'default' | 'secondary' | 'primary'
+ arrow?: boolean
+ margin?: boolean
+ active?: boolean
}
>;
const HelperBadge: IHelperProps = (props) => {
+ if (helper() || props.active) {
+ return (
+ <>
+
+
+
+
+ {props.children}
+
+ >
+ );
+ }
+};
- if (helper() || props.active) return(
- <>
-
-
-
-
- {props.children}
-
- >
- )
-}
-
-export default HelperBadge;
\ No newline at end of file
+export default HelperBadge;
diff --git a/src/components/playground/components/link.tsx b/src/components/playground/components/link.tsx
index 3b1c853..2a79250 100644
--- a/src/components/playground/components/link.tsx
+++ b/src/components/playground/components/link.tsx
@@ -1,24 +1,26 @@
-import { JSX } from "solid-js/jsx-runtime";
-import { css } from "solid-styled";
-import { colorSwatch } from "./colorSwatch";
+import type { JSX } from 'solid-js/jsx-runtime';
+import { css } from 'solid-styled';
+import { colorSwatch } from './colorSwatch';
-const LinkAnchor = (props : JSX.SelectHTMLAttributes) => {
+ const linkColor = () => colorSwatch(7);
+ const linkHoverColor = () => colorSwatch(6);
+ const hintColor = () => colorSwatch(4);
+ const hintHoverColor = () => colorSwatch(3);
- const linkColor = () => colorSwatch(7)
- const linkHoverColor = () => colorSwatch(6)
- const hintColor = () => colorSwatch(4)
- const hintHoverColor = () => colorSwatch(3)
+ const textSize = () => {
+ return props.size
+ ? props.size === 'base'
+ ? 'base'
+ : props.size === 'large'
+ ? 'lg'
+ : props.size === 'small' ? 'sm' : 'base'
+ : 'base';
+ };
- const textSize = () => {
- return props.size ?
- props.size == 'base' ? 'base' :
- props.size == 'large' ? 'lg' :
- props.size == 'small' ? 'sm' : 'base' : 'base'
- }
-
- css`
+ css`
.link{
color: ${linkColor()};
cursor: pointer;
@@ -33,13 +35,13 @@ const LinkAnchor = (props : JSX.SelectHTMLAttributes
- {props.children}
-
- )
-}
+ return (
+
+ {props.children}
+
+ );
+};
-export default LinkAnchor;
\ No newline at end of file
+export default LinkAnchor;
diff --git a/src/components/playground/components/paragraph.tsx b/src/components/playground/components/paragraph.tsx
index 1426918..b751cbb 100644
--- a/src/components/playground/components/paragraph.tsx
+++ b/src/components/playground/components/paragraph.tsx
@@ -1,23 +1,25 @@
-import { JSX } from "solid-js/jsx-runtime";
-import { css } from "solid-styled";
-import { neutralSwatch } from "./colorSwatch";
+import type { JSX } from 'solid-js/jsx-runtime';
+import { css } from 'solid-styled';
+import { neutralSwatch } from './colorSwatch';
-const Paragraph = (props : JSX.SelectHTMLAttributes) => {
+ const bodyColor = () => neutralSwatch(7);
+ const boldColor = () => neutralSwatch(8);
+ const hintColor = () => neutralSwatch(4);
- const bodyColor = () => neutralSwatch(7)
- const boldColor = () => neutralSwatch(8)
- const hintColor = () => neutralSwatch(4)
+ const textSize = () => {
+ return props.size
+ ? props.size === 'base'
+ ? 'base'
+ : props.size === 'large'
+ ? 'lg'
+ : props.size === 'small' ? 'sm' : 'base'
+ : 'base';
+ };
- const textSize = () => {
- return props.size ?
- props.size == 'base' ? 'base' :
- props.size == 'large' ? 'lg' :
- props.size == 'small' ? 'sm' : 'base' : 'base'
- }
-
- css`
+ css`
.paragraph{
color: ${bodyColor()};
}
@@ -28,13 +30,13 @@ const Paragraph = (props : JSX.SelectHTMLAttributes
- {props.children}
-
- )
-}
+ return (
+
+ {props.children}
+
+ );
+};
-export default Paragraph;
\ No newline at end of file
+export default Paragraph;
diff --git a/src/components/playground/components/playgroundButtons.tsx b/src/components/playground/components/playgroundButtons.tsx
index 4443f93..d316133 100644
--- a/src/components/playground/components/playgroundButtons.tsx
+++ b/src/components/playground/components/playgroundButtons.tsx
@@ -1,59 +1,65 @@
-import { Component, For } from "solid-js";
-import { BaseBackgroundArr, colorsToArr } from "../../../functions/colorConfig";
-import { calcMaxAPCAText } from "../../../functions/contrastCalc";
-import PlaygroundBtn from "../button/playgroundButton";
-import { darkMode } from "../../shared/darkModeToggle";
-import { visibleColorScale } from "../../shared/toggleColorScale";
+import type { Component } from 'solid-js';
+import { For } from 'solid-js';
+import { BaseBackgroundArr, colorsToArr } from '../../../functions/colorConfig';
+import { calcMaxAPCAText } from '../../../functions/contrastCalc';
+import PlaygroundBtn from '../button/playgroundButton';
+import { darkMode } from '../../shared/darkModeToggle';
+import { visibleColorScale } from '../../shared/toggleColorScale';
type IButtonProps = Component< & {
- baseColorPos: number;
- textColorful?: boolean;
- border?: 'top' | 'full' | 'full-top';
- direction?: 1 | -1;
+ baseColorPos: number
+ textColorful?: boolean
+ border?: 'top' | 'full' | 'full-top'
+ direction?: 1 | -1
}>;
const PlaygroundButtons: IButtonProps = (props) => {
+ const watchingSwatch = () => colorsToArr(visibleColorScale());
+ const swatchNames = () => Object.keys(visibleColorScale());
+ const direction = props.direction ? props.direction : -1;
- const watchingSwatch = () => colorsToArr(visibleColorScale());
- const swatchNames = () => Object.keys(visibleColorScale());
- const direction = props.direction ? props.direction : -1 ;
+ const textColor = () => 'NEUTRAL' in visibleColorScale()
+ ? [visibleColorScale().NEUTRAL['00'], visibleColorScale().NEUTRAL['09']]
+ : ['red', 'red'];
- const textColor = () => "NEUTRAL" in visibleColorScale() ?
- [visibleColorScale()["NEUTRAL"]["00"], visibleColorScale()["NEUTRAL"]["09"]] : ['red', 'red'];
+ const calcTextColor = (swatch: Array) => {
+ const bg = swatch[props.baseColorPos];
+ if (props.textColorful)
+ return calcMaxAPCAText(bg, swatch[swatch.length - 1], swatch[0]);
+ else
+ return calcMaxAPCAText(bg, textColor()[0], textColor()[1]);
+ };
- const calcTextColor = (swatch: Array) => {
- const bg = swatch[props.baseColorPos];
- if (props.textColorful) {
- return calcMaxAPCAText(bg, swatch[swatch.length - 1], swatch[0])
- } else {
- return calcMaxAPCAText(bg, textColor()[0], textColor()[1])
- }
- }
+ return (
+ <>
+
+
+ Default
+
+
+ {(swatch, i) => (
+
+ {swatchNames()[i()].toLocaleLowerCase()}
+
+ )}
+
+
+ >
+ );
+};
- return (
- <>
-
-
- Default
-
-
{(swatch, i) =>
-
- {swatchNames()[i()].toLocaleLowerCase()}
-
- }
-
- >
- )
-}
-
-export default PlaygroundButtons
+export default PlaygroundButtons;
diff --git a/src/components/playground/components/playgroundDocumentation.tsx b/src/components/playground/components/playgroundDocumentation.tsx
index 9732730..e5efad1 100644
--- a/src/components/playground/components/playgroundDocumentation.tsx
+++ b/src/components/playground/components/playgroundDocumentation.tsx
@@ -1,42 +1,48 @@
-import { Component, createEffect } from "solid-js";
-import { css } from "solid-styled";
-import { BaseBackgroundArr, colorsToArr } from "../../../functions/colorConfig";
-import { calcMaxAPCAText } from "../../../functions/contrastCalc";
-import { focused } from "../../../functions/keyHandler";
-import ColorSwatchLarge from "../../colorSwatchLarge";
-import PlaygroundBtn from "../button/playgroundButton";
-import { darkMode } from "../../shared/darkModeToggle";
-import { visibleColorScale } from "../../shared/toggleColorScale";
-import DefaultButton from "./defaultButton";
+import type { Component } from 'solid-js';
+import { createEffect } from 'solid-js';
+import { css } from 'solid-styled';
+import { BaseBackgroundArr, colorsToArr } from '../../../functions/colorConfig';
+import { focused } from '../../../functions/keyHandler';
+import PlaygroundBtn from '../button/playgroundButton';
+import { darkMode } from '../../shared/darkModeToggle';
+import { visibleColorScale } from '../../shared/toggleColorScale';
+import DefaultButton from './defaultButton';
-const DEBUG = false
+const DEBUG = false;
const PlaygroundDocumentation: Component = () => {
+ const watchingSwatch = () => colorsToArr(visibleColorScale());
- const watchingSwatch = () => colorsToArr(visibleColorScale());
- const swatchNames = () => Object.keys(visibleColorScale());
- const focusRow = () => focused()[1]
+ // eslint-disable-next-line unused-imports/no-unused-vars
+ const swatchNames = () => Object.keys(visibleColorScale());
+ const focusRow = () => focused()[1];
- const baseSwatch = () => watchingSwatch()[focusRow()]
- const baseNeutral = () => watchingSwatch()[0]
- const headerColor = () => baseNeutral()[9]
- const bodyColor = () => baseNeutral()[7]
- const boldColor = () => baseNeutral()[8]
- const hintColor = () => baseNeutral()[5]
- const linkColor = () => baseSwatch()[7]
+ const baseSwatch = () => watchingSwatch()[focusRow()];
+ const baseNeutral = () => watchingSwatch()[0];
+ const headerColor = () => baseNeutral()[9];
+ const bodyColor = () => baseNeutral()[7];
+ const boldColor = () => baseNeutral()[8];
+ const hintColor = () => baseNeutral()[5];
+ const linkColor = () => baseSwatch()[7];
- const codeBG = () => baseNeutral()[0]
- const codeBorder = () => baseNeutral()[1]
- const codeBorderTop = () => baseNeutral()[2]
- const codeColor = () => baseNeutral()[8]
+ const codeBG = () => baseNeutral()[0];
+ const codeBorder = () => baseNeutral()[1];
+ const codeBorderTop = () => baseNeutral()[2];
+ const codeColor = () => baseNeutral()[8];
- createEffect(() => {
- if (DEBUG) console.log("Page Effected");
- if (DEBUG) console.log(darkMode());
- if (DEBUG) console.log(watchingSwatch());
- })
+ createEffect(() => {
+ if (DEBUG)
+ // eslint-disable-next-line no-console
+ console.log('Page Effected');
+ if (DEBUG)
+ // eslint-disable-next-line no-console
+ console.log(darkMode());
+ if (DEBUG)
+ // eslint-disable-next-line no-console
+ console.log(watchingSwatch());
+ });
- css`
+ css`
.link{
color: ${linkColor()};
}
@@ -65,62 +71,74 @@ const PlaygroundDocumentation: Component = () => {
border-top: 1px solid ${codeBorderTop()};
color: ${codeColor()};
}
- `
+ `;
- return (
-
-
-
-
-
- Quick Search
-
-
Getting Started
-
- Introduction
-
-
- Setup and Install
-
-
- Pre-requisite
-
-
-
-
-
Getting Started
-
This is the heading
-
Required setup and install instructions
-
Enviornment Setup
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit,
- sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- Ut enim ad minim veniam, quis nostrud exercitation ullamco
- laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
- dolor in reprehenderit in voluptate velit esse cillum dolore eu
- fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
- proident, sunt in culpa qui officia deserunt mollit anim id
- est laborum.
-
-
- More documentation
-
-
- Go see examples!
-
-
-
Using TurboPack
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit,
- sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
-
npx create-spring-turbo@latest
-
-
-
- )
-}
+ return (
+
+
+
+
+
+
+ Quick Search
+
+
Getting Started
+
+ Introduction
+
+
+ Setup and Install
+
+
+ Pre-requisite
+
+
+
+
+
Getting Started
+
This is the heading
+
Required setup and install instructions
+
Enviornment Setup
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit,
+ sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+ Ut enim ad minim veniam, quis nostrud exercitation ullamco
+ laboris nisi ut
+ aliquip ex ea commodo consequat.
+ {' '}
+ Duis aute irure
+ dolor in reprehenderit in voluptate velit esse cillum dolore eu
+ fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
+ proident, sunt in culpa qui officia deserunt mollit anim id
+ est laborum.
+
+
+
+ More documentation
+
+
+ Go see examples!
+
+
+
Using TurboPack
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit,
+ sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+ {' '}
+
+
npx create-spring-turbo@latest
+
+
+
+ );
+};
-export default PlaygroundDocumentation
+export default PlaygroundDocumentation;
diff --git a/src/components/playground/components/playgroundLanding.tsx b/src/components/playground/components/playgroundLanding.tsx
index e8e22ef..9797aba 100644
--- a/src/components/playground/components/playgroundLanding.tsx
+++ b/src/components/playground/components/playgroundLanding.tsx
@@ -1,54 +1,56 @@
-import { Component, createEffect } from "solid-js";
-import { css } from "solid-styled";
-import { BaseBackgroundArr, colorsToArr } from "../../../functions/colorConfig";
-import { calcMaxAPCAText } from "../../../functions/contrastCalc";
-import { focused } from "../../../functions/keyHandler";
-import ColorSwatchLarge from "../../colorSwatchLarge";
-import PlaygroundBtn from "../button/playgroundButton";
-import { darkMode } from "../../shared/darkModeToggle";
-import { visibleColorScale } from "../../shared/toggleColorScale";
-import DefaultButton from "./defaultButton";
-import {A} from "@solidjs/router";
-import lightLogoUrl from "../../../assets/images/ambient_logo_black_new.png";
-import darkLogoUrl from "../../../assets/images/ambient_logo_white_new.png";
-
-const DEBUG = false
+import type { Component } from 'solid-js';
+import { createEffect } from 'solid-js';
+import { css } from 'solid-styled';
+import { colorsToArr } from '../../../functions/colorConfig';
+import { focused } from '../../../functions/keyHandler';
+import { darkMode } from '../../shared/darkModeToggle';
+import { visibleColorScale } from '../../shared/toggleColorScale';
+import DefaultButton from './defaultButton';
+
+const DEBUG = false;
const PlaygroundLanding: Component = () => {
+ const watchingSwatch = () => colorsToArr(visibleColorScale());
- const watchingSwatch = () => colorsToArr(visibleColorScale());
- const swatchNames = () => Object.keys(visibleColorScale());
- const focusRow = () => focused()[1]
+ // eslint-disable-next-line unused-imports/no-unused-vars
+ const swatchNames = () => Object.keys(visibleColorScale());
+ const focusRow = () => focused()[1];
- const baseSwatch = () => watchingSwatch()[focusRow()]
- const baseNeutral = () => watchingSwatch()[0]
+ const baseSwatch = () => watchingSwatch()[focusRow()];
+ const baseNeutral = () => watchingSwatch()[0];
- const headerColor = () => baseNeutral()[9]
- const bodyColor = () => baseNeutral()[7]
- const boldColor = () => baseNeutral()[8]
- const hintColor = () => baseNeutral()[5]
- const linkColor = () => baseSwatch()[7]
+ const headerColor = () => baseNeutral()[9];
+ const bodyColor = () => baseNeutral()[7];
+ const boldColor = () => baseNeutral()[8];
+ const hintColor = () => baseNeutral()[5];
+ const linkColor = () => baseSwatch()[7];
- const codeBG = () => baseNeutral()[0]
- const codeBorder = () => baseNeutral()[1]
- const codeBorderTop = () => baseNeutral()[2]
- const codeColor = () => baseNeutral()[8]
+ const codeBG = () => baseNeutral()[0];
+ const codeBorder = () => baseNeutral()[1];
+ const codeBorderTop = () => baseNeutral()[2];
+ const codeColor = () => baseNeutral()[8];
- createEffect(() => {
- if (DEBUG) console.log("Page Effected");
- if (DEBUG) console.log(darkMode());
- if (DEBUG) console.log(watchingSwatch());
- })
+ createEffect(() => {
+ if (DEBUG)
+ // eslint-disable-next-line no-console
+ console.log('Page Effected');
+ if (DEBUG)
+ // eslint-disable-next-line no-console
+ console.log(darkMode());
+ if (DEBUG)
+ // eslint-disable-next-line no-console
+ console.log(watchingSwatch());
+ });
- css`
+ css`
.link{
color: ${linkColor()};
}
-
+
.link:hover{
color: ${baseSwatch()[8]}
}
-
+
.link-border{
border-color: ${linkColor()};
}
@@ -63,15 +65,15 @@ const PlaygroundLanding: Component = () => {
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
-
+
.over{
color: ${baseSwatch()[6]}
}
-
+
.icon{
- color: ${baseSwatch()[5]}
+ color: ${baseSwatch()[5]}
}
-
+
.neutral-01{
fill: ${baseNeutral()[1]}
}
@@ -81,7 +83,7 @@ const PlaygroundLanding: Component = () => {
.neutral-03{
fill: ${baseNeutral()[3]}
}
-
+
.color-01{
fill: ${baseSwatch()[1]}
}
@@ -100,15 +102,15 @@ const PlaygroundLanding: Component = () => {
.color-06{
fill: ${baseSwatch()[6]}
}
-
+
.bg-neutral-00{
background: ${baseNeutral()[0]}
}
-
+
.bg-neutral-01{
background: ${baseNeutral()[1]}
}
-
+
.paragraph{
color: ${bodyColor()};
}
@@ -125,125 +127,150 @@ const PlaygroundLanding: Component = () => {
border-top: 1px solid ${codeBorderTop()};
color: ${codeColor()};
}
- `
-
- return (
- <>
-
-
-
-
-
- Let your imagination run wild!
-
-
- Contrast safe, tested, and beautiful colors!
- Use Flex Colors to design your next website's color palette.
-
-
-
- Get started
-
-
- Why choose Flex?
-
-
-
- See what we are all about
-
-
-
-
-
- What sets us apart
-
- Features
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit,
- sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- Ut enim ad minim veniam, quis nostrud exercitation ullamco
- laboris nisi ut aliquip ex ea commodo consequat.
-
-
-
-
Lightweight
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
-
Read More
-
-
-
-
Composable
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
-
Read More
-
-
-
-
Fast
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
-
Read More
-
-
-
-
-
-
- About our team
-
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit,
- sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- Ut enim ad minim veniam, quis nostrud exercitation ullamco
- laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
- dolor in reprehenderit in voluptate velit esse cillum dolore eu
- fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
- proident, sunt in culpa qui officia deserunt mollit anim id
- est laborum.
-
- Read our blog post
-
-
-
-
-
-
- >
- )
-}
-
-export default PlaygroundLanding
+ `;
+
+ return (
+ <>
+
+
+
+
+
+ Let your imagination run
+ {' '}
+ wild!
+
+
+ Contrast safe, tested, and beautiful colors!
+ {' '}
+
+ Use Flex Colors to design your next website's color palette.
+
+
+
+ Get started
+
+
+ Why choose Flex?
+
+
+
+
+ See what we are all about
+
+
+
+
+
+ What sets us apart
+
+ Features
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit,
+ sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+ Ut enim ad minim veniam, quis nostrud exercitation ullamco
+ laboris nisi ut
+ aliquip ex ea commodo consequat.
+
+
+
+
+
Lightweight
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+
+ Read More
+
+
+
+
+
+
Composable
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+
+ Read More
+
+
+
+
+
+
Fast
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+
+ Read More
+
+
+
+
+
+
+
+
+ About our team
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit,
+ sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+ Ut enim ad minim veniam, quis nostrud exercitation ullamco
+ laboris nisi ut
+ aliquip ex ea commodo consequat.
+ Duis aute irure
+ dolor in reprehenderit in voluptate velit esse cillum dolore eu
+ fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
+ proident, sunt in culpa qui officia deserunt mollit anim id
+ est laborum.
+
+
+ Read our blog post
+ {' '}
+
+
+
+
+
+
+
+ >
+ );
+};
+
+export default PlaygroundLanding;
diff --git a/src/components/playground/components/sandboxCard.tsx b/src/components/playground/components/sandboxCard.tsx
index cde3f4a..0c0ab3c 100644
--- a/src/components/playground/components/sandboxCard.tsx
+++ b/src/components/playground/components/sandboxCard.tsx
@@ -1,40 +1,41 @@
-import { createSignal, ParentComponent, Show } from "solid-js";
-import Button from "../../../assets/components/button.styled";
-import { BaseBackgroundArr } from "../../../functions/colorConfig";
+import type { ParentComponent } from 'solid-js';
+import { Show, createSignal } from 'solid-js';
+import Button from '../../../assets/components/button.styled';
+import { BaseBackgroundArr } from '../../../functions/colorConfig';
const SandboxCard: ParentComponent = (props) => {
+ const [open, setOpen] = createSignal(false);
- const [open, setOpen] = createSignal(false)
+ return (
+ <>
+
+
+
+
+
setOpen(true)}>
+
+
+
+
+ {props.children}
+
+ >
+ );
+};
- return (
- <>
-
-
-
-
-
setOpen(true)}>
-
-
-
-
- {props.children}
-
- >
- )
-}
-
-export default SandboxCard
+export default SandboxCard;
diff --git a/src/components/playground/pages/buttonPlaygroundPage.tsx b/src/components/playground/pages/buttonPlaygroundPage.tsx
index 8378c52..1f02b13 100644
--- a/src/components/playground/pages/buttonPlaygroundPage.tsx
+++ b/src/components/playground/pages/buttonPlaygroundPage.tsx
@@ -1,139 +1,139 @@
-import { Component } from "solid-js";
-import Collapsible from "../../../assets/components/collapsible.styled";
-import ToggleColorScale, { currScaleText } from "../../shared/toggleColorScale";
-import DefaultButton from "../components/defaultButton";
-import Divider from "../components/divider";
-import PlaygroundButtons from "../components/playgroundButtons";
-import SandboxCard from "../components/sandboxCard";
-import AccessibilityCheck from "../../shared/accessibilityCheck";
+import type { Component } from 'solid-js';
+import Collapsible from '../../../assets/components/collapsible.styled';
+import ToggleColorScale, { currScaleText } from '../../shared/toggleColorScale';
+import DefaultButton from '../components/defaultButton';
+import Divider from '../components/divider';
+import PlaygroundButtons from '../components/playgroundButtons';
+import SandboxCard from '../components/sandboxCard';
+import AccessibilityCheck from '../../shared/accessibilityCheck';
const ButtonPlaygroundPage: Component = () => {
- return (
-
-
-
-
- Components
-
-
- Buttons
-
-
- This area was created for users to see the effect of Color Scales on UIUX components. We have devised components to test your color scales to.
-
-
- Color Swatch
-
-
-
-
-
-
-
-
-
-
- Active Color Swatch
-
-
- {currScaleText()}
-
-
-
-
+ return (
+
+
+
+
+ Components
+
+
+ Buttons
+
+
+ This area was created for users to see the effect of Color Scales on UIUX components. We have devised components to test your color scales to.
+
+
+ Color Swatch
+
+
+
+
+
+
+
+
+
+
+ Active Color Swatch
+
+
+ {currScaleText()}
+
+
+
+
-
-
-
- Secondary Buttons - Increase text contrast on hover
-
-
-
+
+
+
+ Secondary Buttons - Increase text contrast on hover
+
+
+
-
- Primary Buttons - Increase text contrast on hover
-
-
-
+
+ Primary Buttons - Increase text contrast on hover
+
+
+
-
- Primary Buttons - Colorful text
-
-
-
+
+ Primary Buttons - Colorful text
+
+
+
-
- Secondary Buttons (Default) - Colorful text
-
-
-
+
+ Secondary Buttons (Default) - Colorful text
+
+
+
-
- Primary Buttons (Default) - Increase button contrast on hover
-
-
-
-
-
-
-
- Secondary Buttons
-
-
-
-
-
-
- Primary Buttons
-
-
-
-
-
-
- Default Button
-
-
-
-
-
- Default Button
-
-
-
-
-
-
- Default Secondary Button
-
-
+
+ Primary Buttons (Default) - Increase button contrast on hover
+
+
+
+
+
+
+
+ Secondary Buttons
+
+
+
+
+
+
+ Primary Buttons
+
+
+
+
+
+
+ Default Button
+
+
+
+
+
+ Default Button
+
+
+
+
+
+
+ Default Secondary Button
+
+
-
-
-
- Secondary Button
-
-
-
-
-
-
- Default Primary Button
-
-
-
-
-
- Primary Button
-
-
-
-
-
-
-
-
- )
-}
+
+
+
+ Secondary Button
+
+
+
+
+
+
+ Default Primary Button
+
+
+
+
+
+ Primary Button
+
+
+
+
+
+
+
+
+ );
+};
-export default ButtonPlaygroundPage
+export default ButtonPlaygroundPage;
diff --git a/src/components/playground/pages/documentationSamplePage.tsx b/src/components/playground/pages/documentationSamplePage.tsx
index baca5c5..2c39239 100644
--- a/src/components/playground/pages/documentationSamplePage.tsx
+++ b/src/components/playground/pages/documentationSamplePage.tsx
@@ -1,31 +1,31 @@
-import { Component } from "solid-js";
-import { colorsToArr } from "../../../functions/colorConfig";
-import ColorSwatchLarge from "../../colorSwatchLarge";
-import { visibleColorScale } from "../../shared/toggleColorScale";
-import PlaygroundDocumentation from "../components/playgroundDocumentation";
-import SandboxCard from "../components/sandboxCard";
+import type { Component } from 'solid-js';
+import { colorsToArr } from '../../../functions/colorConfig';
+import ColorSwatchLarge from '../../colorSwatchLarge';
+import { visibleColorScale } from '../../shared/toggleColorScale';
+import PlaygroundDocumentation from '../components/playgroundDocumentation';
+import SandboxCard from '../components/sandboxCard';
const DocumentationSamplePage: Component = () => {
- return(
- <>
-
-
-
- Pages
-
-
- Documentation
-
-
+ return (
+ <>
+
+
+
+ Pages
+
+
+ Documentation
+
+
-
+
-
-
-
-
- >
- )
-}
+
+
+
+
+ >
+ );
+};
-export default DocumentationSamplePage
+export default DocumentationSamplePage;
diff --git a/src/components/playground/pages/introPlaygroundPage.tsx b/src/components/playground/pages/introPlaygroundPage.tsx
index c1ef4c4..15739c2 100644
--- a/src/components/playground/pages/introPlaygroundPage.tsx
+++ b/src/components/playground/pages/introPlaygroundPage.tsx
@@ -1,68 +1,68 @@
-import { Component } from "solid-js";
-import Divider from "../components/divider";
+import type { Component } from 'solid-js';
+import Divider from '../components/divider';
const IntroPlaygroundPage: Component = () => {
- return(
-
-
-
-
- Components
-
-
- Introduction
-
-
- The Playground was created for users to quickly test and see how different colors may look in different UIUX applications.
-
-
-
-
-
-
- Changing Color Scales
-
-
-
- Some components supports the ability to change color schemes. To do this please select the desired color scheme from the top of the page.
-
-
-
- Shortcuts
-
-
- Changing Dark/Light Modes
-
-
-
- Cmd + k or Ctrl + k can be used to quickly switch between Dark and Light Mode at any page in the application. There is also a helpful toggle on the top of the navigation page.
-
-
-
- Interactive components
-
-
- Components with changing colors
-
-
-
- The Playground was created for users to quickly test and see how different colors may look in different UIUX applications.
-
-
-
- Components vs Pages
-
-
- Playground Components
-
-
-
- Components define possible UIUX elements while Pages define the sample pages that are created through Ambient.
-
-
-
-
- )
-}
+ return (
+
+
+
+
+ Components
+
+
+ Introduction
+
+
+ The Playground was created for users to quickly test and see how different colors may look in different UIUX applications.
+
+
+
+
+
+
+ Changing Color Scales
+
+
+
+ Some components supports the ability to change color schemes. To do this please select the desired color scheme from the top of the page.
+
+
+
+ Shortcuts
+
+
+ Changing Dark/Light Modes
+
+
+
+ Cmd + k or Ctrl + k can be used to quickly switch between Dark and Light Mode at any page in the application. There is also a helpful toggle on the top of the navigation page.
+
+
+
+ Interactive components
+
+
+ Components with changing colors
+
+
+
+ The Playground was created for users to quickly test and see how different colors may look in different UIUX applications.
+
+
+
+ Components vs Pages
+
+
+ Playground Components
+
+
+
+ Components define possible UIUX elements while Pages define the sample pages that are created through Ambient.
+
+
+
+
+ );
+};
-export default IntroPlaygroundPage
+export default IntroPlaygroundPage;
diff --git a/src/components/playground/pages/landingSamplePage.tsx b/src/components/playground/pages/landingSamplePage.tsx
index 6cb93f2..cc99829 100644
--- a/src/components/playground/pages/landingSamplePage.tsx
+++ b/src/components/playground/pages/landingSamplePage.tsx
@@ -1,31 +1,31 @@
-import { Component } from "solid-js";
-import { colorsToArr } from "../../../functions/colorConfig";
-import ColorSwatchLarge from "../../colorSwatchLarge";
-import { visibleColorScale } from "../../shared/toggleColorScale";
-import SandboxCard from "../components/sandboxCard";
-import PlaygroundLanding from "../components/playgroundLanding";
+import type { Component } from 'solid-js';
+import { colorsToArr } from '../../../functions/colorConfig';
+import ColorSwatchLarge from '../../colorSwatchLarge';
+import { visibleColorScale } from '../../shared/toggleColorScale';
+import SandboxCard from '../components/sandboxCard';
+import PlaygroundLanding from '../components/playgroundLanding';
const LandingSamplePage: Component = () => {
- return(
- <>
-
-
-
- Pages
-
-
- Landing Page
-
-
+ return (
+ <>
+
+
+
+ Pages
+
+
+ Landing Page
+
+
-
+
-
-
-
-
- >
- )
-}
+
+
+
+
+ >
+ );
+};
-export default LandingSamplePage
+export default LandingSamplePage;
diff --git a/src/components/playground/pages/testerPage.tsx b/src/components/playground/pages/testerPage.tsx
index 1bcb23c..3b82dee 100644
--- a/src/components/playground/pages/testerPage.tsx
+++ b/src/components/playground/pages/testerPage.tsx
@@ -1,32 +1,33 @@
-import { Component, createEffect, onError, onMount } from "solid-js"
-import { css } from "solid-styled"
-import Button from "../../../assets/components/button.styled";
-import { colorsToArr } from "../../../functions/colorConfig";
-import ToggleColorScale, { visibleColorScale } from "../../shared/toggleColorScale";
-
+import type { Component } from 'solid-js';
+import { createEffect } from 'solid-js';
+import { css } from 'solid-styled';
+import { colorsToArr } from '../../../functions/colorConfig';
+import ToggleColorScale, { visibleColorScale } from '../../shared/toggleColorScale';
const TesterPage: Component = () => {
- const Array = () => visibleColorScale();
- const ColorArray = () => colorsToArr(Array());
+ // eslint-disable-next-line unused-imports/no-unused-vars
+ const Array = () => visibleColorScale();
+ const ColorArray = () => colorsToArr({});
- createEffect(() => {
- console.log(ColorArray()[5][2])
- })
+ createEffect(() => {
+ // eslint-disable-next-line no-console
+ console.log(ColorArray()[5][2]);
+ });
- css`
+ css`
.text-style{
color: ${ColorArray()[5][2]};
}
- `
+ `;
- return (
- <>
-
-
- Testing Reactivity
-
- >
- )
-}
+ return (
+ <>
+
+
+ Testing Reactivity
+
+ >
+ );
+};
-export default TesterPage
+export default TesterPage;
diff --git a/src/components/playground/pages/textPlaygroundPage.tsx b/src/components/playground/pages/textPlaygroundPage.tsx
index 9b5a321..1d4427b 100644
--- a/src/components/playground/pages/textPlaygroundPage.tsx
+++ b/src/components/playground/pages/textPlaygroundPage.tsx
@@ -1,135 +1,166 @@
-import { Component, For } from "solid-js";
-import { focused } from "../../../functions/keyHandler";
-import ColorSwatchHelper from "../../colorSwatchHelper";
-import { visibleColorScale } from "../../shared/toggleColorScale";
-import Divider from "../components/divider";
-import Heading from "../components/heading";
-import HelperBadge from "../components/helperBadge";
-import LinkAnchor from "../components/link";
-import Paragraph from "../components/paragraph";
-import SandboxCard from "../components/sandboxCard";
-import AccessibilityCheck from "../../shared/accessibilityCheck";
+import type { Component } from 'solid-js';
+import { For } from 'solid-js';
+import { focused } from '../../../functions/keyHandler';
+import ColorSwatchHelper from '../../colorSwatchHelper';
+import { visibleColorScale } from '../../shared/toggleColorScale';
+import Divider from '../components/divider';
+import Heading from '../components/heading';
+import HelperBadge from '../components/helperBadge';
+import LinkAnchor from '../components/link';
+import Paragraph from '../components/paragraph';
+import SandboxCard from '../components/sandboxCard';
+import AccessibilityCheck from '../../shared/accessibilityCheck';
const TextPlaygroundPage: Component = () => {
+ const headingSizes = [1, 2, 3, 4, 5, 6];
- const headingSizes = [1, 2, 3, 4, 5, 6]
+ const textTypes = ['default', 'hint', 'bold'];
+ const textSizes = ['small', 'base', 'large'];
- const textTypes = ['default', 'hint', 'bold']
- const textSizes = ['small', 'base', 'large']
+ return (
+ <>
+
+
+
+ Components
+
+
+ Typography
+
+
+
+
+
+ Headings
+
+
- return(
- <>
-
-
-
- Components
-
-
- Typography
-
-
-
-
-
- Headings
-
-
+
+
+ {size => (
+
+ This is a heading of size
+ {' '}
+ {size}
+
+ {Object.keys(visibleColorScale())[0].toLocaleLowerCase()}
+ {' '}
+ 09
+
+
+ )}
+
-
- {size => (
-
- This is a heading of size {size}
-
- {Object.keys(visibleColorScale())[0].toLocaleLowerCase()} 09
-
-
- )}
+
+ Paragraphs (body)
+
+
-
- Paragraphs (body)
-
-
+
+
+ {type => (
+
+ {size => (
+
+ This is the
+ {' '}
+ {type}
+ {' '}
+ paragraph text of size
+ {size}
+
+ {Object.keys(visibleColorScale())[0].toLocaleLowerCase()}
+ {' '}
+ {type === 'bold' ? ' 08' : type === 'hint' ? ' 04' : ' 07'}
+
+
+ )}
+
+ )}
+
-
- {type => (
- {size => (
-
- This is the {type} paragraph text of size {size}
-
- {Object.keys(visibleColorScale())[0].toLocaleLowerCase()} {type=='bold' ? ' 08' : type=='hint' ? ' 04' : ' 07'}
-
-
- )}
- )}
+
+ Links
+
+
-
- Links
-
-
+
+
+ {size => (
+
+ This is the default link of size
+ {' '}
+ {size}
+
+ {Object.keys(visibleColorScale())[focused()[1]].toLocaleLowerCase()}
+ {' '}
+ 07
+
+
+ )}
+
+
+ {size => (
+
+ This is the hint link of size
+ {' '}
+ {size}
+
+ {Object.keys(visibleColorScale())[focused()[1]].toLocaleLowerCase()}
+ {' '}
+ 04
+
+
+ )}
+
+
+
+
+ Sample
+
+
+ Typography sample
+
+
+
+
+
+
+
+ We do things differently,
+
+
+ Its what makes us unique.
+
+
+
+
+
+
+ Technology can be complicated sometimes. It has its own ecosystem, its own language, and it’s just difficult to understand how it works.
+
+ Some of us humans may not get it easily. This is why our core value is to build an intimate and intricate connection between technology and humans.
+ After all tech is built to help humans.
+
+
+ Our technology is for everyone. Our tech is humanly familiar. This is perhaps what we thrive the most, which makes us different from the other traditional agencies.
+ We care deeply about helping you tackle your most significant challenges and turn your vision into reality, keeping the end-user in mind at all times. With us, it’s never just about the project in hand.
+
+ It’s about building trust and enabling your long-term success.
+
+ We will meet you where you are on your journey, integrate our people with yours, and share our skills every step of the way to make the product you envisioned a reality.
+
+
+ Check out what makes us different
+ {' '}
+
+
+
+
+
+
+ >
+ );
+};
-
-
{size => (
-
- This is the default link of size {size}
-
- {Object.keys(visibleColorScale())[focused()[1]].toLocaleLowerCase()} 07
-
-
- )}
-
{size => (
-
- This is the hint link of size {size}
-
- {Object.keys(visibleColorScale())[focused()[1]].toLocaleLowerCase()} 04
-
-
- )}
-
-
-
- Sample
-
-
- Typography sample
-
-
-
-
-
-
-
- We do things differently,
-
-
- Its what makes us unique.
-
-
-
-
-
-
- Technology can be complicated sometimes. It has its own ecosystem, its own language, and it’s just difficult to understand how it works.
-
- Some of us humans may not get it easily. This is why our core value is to build an intimate and intricate connection between technology and humans.
- After all tech is built to help humans.
-
-
- Our technology is for everyone. Our tech is humanly familiar. This is perhaps what we thrive the most, which makes us different from the other traditional agencies.
- We care deeply about helping you tackle your most significant challenges and turn your vision into reality, keeping the end-user in mind at all times. With us, it’s never just about the project in hand.
-
- It’s about building trust and enabling your long-term success.
-
- We will meet you where you are on your journey, integrate our people with yours, and share our skills every step of the way to make the product you envisioned a reality.
-
-
- Check out what makes us different
-
-
-
-
-
- >
- )
-}
-
-export default TextPlaygroundPage
+export default TextPlaygroundPage;
diff --git a/src/components/playground/playgroundRoutes.tsx b/src/components/playground/playgroundRoutes.tsx
index e429272..4446151 100644
--- a/src/components/playground/playgroundRoutes.tsx
+++ b/src/components/playground/playgroundRoutes.tsx
@@ -1,28 +1,30 @@
-import { Route } from "@solidjs/router";
-import { Component, lazy } from "solid-js";
-import TesterPage from "./pages/testerPage";
-import TextPlaygroundPage from "./pages/textPlaygroundPage";
-import LandingSamplePage from "./pages/landingSamplePage";
-const PlaygroundPage = lazy (() => import("../../pages/playgroundPage"));
-const ButtonPlaygroundPage = lazy(() => import("./pages/buttonPlaygroundPage"));
-const IntroPlaygroundPage = lazy(() => import("./pages/introPlaygroundPage"));
-const DocumentationSamplePage = lazy (() => import("./pages/documentationSamplePage"));
+import { Route } from '@solidjs/router';
+import type { Component } from 'solid-js';
+import { lazy } from 'solid-js';
+import TesterPage from './pages/testerPage';
+import TextPlaygroundPage from './pages/textPlaygroundPage';
+import LandingSamplePage from './pages/landingSamplePage';
+
+const PlaygroundPage = lazy (() => import('../../pages/playgroundPage'));
+const ButtonPlaygroundPage = lazy(() => import('./pages/buttonPlaygroundPage'));
+const IntroPlaygroundPage = lazy(() => import('./pages/introPlaygroundPage'));
+const DocumentationSamplePage = lazy (() => import('./pages/documentationSamplePage'));
const PlaygroundRoutes: Component = () => {
- return (
- <>
-
-
-
-
+ return (
+ <>
+
+
+
+
-
-
+
+
-
-
- >
- )
-}
+
+
+ >
+ );
+};
-export default PlaygroundRoutes
+export default PlaygroundRoutes;
diff --git a/src/components/shared/accessibilityCheck.tsx b/src/components/shared/accessibilityCheck.tsx
index 6544203..5373190 100644
--- a/src/components/shared/accessibilityCheck.tsx
+++ b/src/components/shared/accessibilityCheck.tsx
@@ -1,60 +1,70 @@
-import {Component, Show} from "solid-js";
+import type { Component } from 'solid-js';
+import { Show } from 'solid-js';
type IAccessibilityCheckProps = Component< & {
- APCA?: boolean;
- WCAG?: boolean;
+ APCA?: boolean
+ WCAG?: boolean
}>;
const AccessibilityCheck: IAccessibilityCheckProps = (props) => {
- return (
-
-
-
+
+
-
- APCA Contrast Passing
-
-
-
-
+
+ APCA Contrast Passing
+
+
+
+
-
- WCAG AA Contrast Passing
-
-
-
- This component passes WCAG 2.0 contrast test, however may fail APCA (WCAG 3.0) tests depending on the use case.
- It is recommended that special care is put to the font size and background separation for better readability.
-
-
-
-
-
-
+
+ WCAG AA Contrast Passing
+
+
+
+ This component passes WCAG 2.0 contrast test, however may fail APCA (WCAG 3.0) tests depending on the use case.
+ It is recommended that special care is put to the font size and background separation for better readability.
+
+
+
+
+
+
-
- Contains WCAG Failing Colors
-
-
- Some of the components that contain the colors below have WCAG 2.0 failing contrast values.
- These components have been tested against APCA (WCAG 3.0) contrast tests and have passed.
- If you require WCAG 2.0 compliance, please consider using a different colorset.
-
-
-
-
+ dark:from-[#4e141a66] dark:via-[#91202828] dark:to-transparent
+ font-semibold text-sm inline dark:text-neutral-400 text-neutral-600 group cursor-help`}
+ >
+
+ Contains WCAG Failing Colors
+
+
+ Some of the components that contain the colors below have WCAG 2.0 failing contrast values.
+ These components have been tested against APCA (WCAG 3.0) contrast tests and have passed.
+ If you require WCAG 2.0 compliance, please consider using a different colorset.
+
+
+
+
- )
-}
+ );
+};
export default AccessibilityCheck;
diff --git a/src/components/shared/darkModeToggle.tsx b/src/components/shared/darkModeToggle.tsx
index d5f2ec2..49d496f 100644
--- a/src/components/shared/darkModeToggle.tsx
+++ b/src/components/shared/darkModeToggle.tsx
@@ -1,51 +1,53 @@
-import { Component, createEffect, createSignal, onMount } from "solid-js"
-import { colors } from "../../assets/color";
-import Button from "../../assets/components/button.styled"
-import { generatedColors } from "../../functions/colorConfig";
-import { currScaleText, setColorScale } from "./toggleColorScale";
+import type { Component } from 'solid-js';
+import { createEffect, createSignal, onMount } from 'solid-js';
+import { colors } from '../../assets/color';
+import Button from '../../assets/components/button.styled';
+import { generatedColors } from '../../functions/colorConfig';
+import { currScaleText, setColorScale } from './toggleColorScale';
-export const [darkMode, setDarkMode] = createSignal(window.matchMedia('(prefers-color-scheme: dark)').matches)
+export const [darkMode, setDarkMode] = createSignal(window.matchMedia('(prefers-color-scheme: dark)').matches);
const DEBUG = false;
const DarkModeToggle: Component = () => {
- onMount(() => {
- if(localStorage.getItem('theme')){
- setDarkMode(localStorage.getItem('theme') == 'dark' ? true : false);
- }
- })
+ onMount(() => {
+ if (localStorage.getItem('theme'))
+ setDarkMode(localStorage.getItem('theme') === 'dark');
+ });
- createEffect(() => {
- // On page load or when changing themes, best to add inline in `head` to avoid FOUC
- if (darkMode()) {
- document.documentElement.classList.add('dark')
- localStorage.setItem('theme', 'dark');
- } else {
- document.documentElement.classList.remove('dark')
- localStorage.setItem('theme', 'light');
- }
- if (DEBUG) {
- console.log('Theme dark: ' + darkMode());
- console.log('Local storage theme: ' + localStorage.theme);
- }
- if (currScaleText() == 'Flex Design Colors Uniform') {
- setColorScale(generatedColors())
- } else {
- setColorScale(colors())
- }
- })
+ createEffect(() => {
+ // On page load or when changing themes, best to add inline in `head` to avoid FOUC
+ if (darkMode()) {
+ document.documentElement.classList.add('dark');
+ localStorage.setItem('theme', 'dark');
+ }
+ else {
+ document.documentElement.classList.remove('dark');
+ localStorage.setItem('theme', 'light');
+ }
+ if (DEBUG) {
+ // eslint-disable-next-line no-console
+ console.log(`Theme dark: ${darkMode()}`);
+ // eslint-disable-next-line no-console
+ console.log(`Local storage theme: ${localStorage.theme}`);
+ }
+ if (currScaleText() === 'Flex Design Colors Uniform')
+ setColorScale(generatedColors());
+ else
+ setColorScale(colors());
+ });
- const toggleDarkMode = () => {
- setDarkMode(!darkMode());
- }
+ const toggleDarkMode = () => {
+ setDarkMode(!darkMode());
+ };
- return(
-
- toggleDarkMode()}>
- {darkMode() ? : }
-
-
- )
-}
+ return (
+
+ toggleDarkMode()}>
+ {darkMode() ? : }
+
+
+ );
+};
export default DarkModeToggle;
diff --git a/src/components/shared/toast.tsx b/src/components/shared/toast.tsx
index 1ed0698..1dd70b4 100644
--- a/src/components/shared/toast.tsx
+++ b/src/components/shared/toast.tsx
@@ -1,70 +1,70 @@
-import {ParentComponent, splitProps,} from "solid-js";
-import toast from "solid-toast";
-import ColorIdentifier from "../../assets/components/colorIdentifier.styled";
-
-export const copy = (color: string) => {
- navigator.clipboard.writeText(color).then(() => {
- /* clipboard successfully set */
- toast.custom((t) => (
-
- Pallette Copied!
-
- ), {
- unmountDelay: 0
- });
- }, () => {
- /* clipboard write failed */
- toast.custom((t) => (
-
- Copying Failed!
-
- ));
- })
-}
+import type { ParentComponent } from 'solid-js';
+import { splitProps } from 'solid-js';
+import toast from 'solid-toast';
+import ColorIdentifier from '../../assets/components/colorIdentifier.styled';
type IToastProps = ParentComponent< & {
- toast?: any,
- color?: 'warning' | 'error' | 'info',
- showExit?: boolean,
- box?: string,
- }
+ toast?: any
+ color?: 'warning' | 'error' | 'info'
+ showExit?: boolean
+ box?: string
+}
>;
const Toast: IToastProps = (props) => {
+ const [local, others] = splitProps(props, ['children', 'toast', 'color', 'showExit', 'box']);
- const [local, others] = splitProps(props, ['children', 'toast', 'color', 'showExit', 'box']);
+ // TODO: Implement default toast colors
+ // eslint-disable-next-line unused-imports/no-unused-vars
+ const toastColor = () => {
+ switch (props.color) {
+ case 'warning':
+ return '#674d0f';
+ case 'error':
+ return '#5d000a';
+ case 'info':
+ return '#040e1f';
+ }
+ return 'black';
+ };
- const toastColor = () => {
- switch(props.color) {
- case 'warning':
- return '#674d0f'
- case 'error':
- return '#5d000a'
- case 'info':
- return '#040e1f'
- }
- return 'black';
- }
+ return (
+
+ );
+};
- return(
-
- )
-
-}
+export const copy = (color: string) => {
+ navigator.clipboard.writeText(color).then(() => {
+ /* clipboard successfully set */
+ toast.custom(t => (
+
+ Pallette Copied!
+
+ ), {
+ unmountDelay: 0,
+ });
+ }, () => {
+ /* clipboard write failed */
+ toast.custom(t => (
+
+ Copying Failed!
+
+ ));
+ });
+};
export default Toast;
diff --git a/src/components/shared/toggleColorScale.tsx b/src/components/shared/toggleColorScale.tsx
index 4af1d6b..e95c5d1 100644
--- a/src/components/shared/toggleColorScale.tsx
+++ b/src/components/shared/toggleColorScale.tsx
@@ -1,42 +1,43 @@
-import { Component, createEffect, createSignal, onMount } from "solid-js"
-import { BaseColorScaleDark, colors } from "../../assets/color";
-import Select from "../../assets/components/select.styled";
-import { generatedColors } from "../../functions/colorConfig";
+import type { Component } from 'solid-js';
+import { createEffect, createSignal } from 'solid-js';
+import { BaseColorScaleDark, colors } from '../../assets/color';
+import Select from '../../assets/components/select.styled';
+import { generatedColors } from '../../functions/colorConfig';
-const DEBUG = true;
-
-export const [currScaleText, setCurrScaleText] = createSignal('Flex Design Colors Uniform')
-export const [visibleColorScale, setColorScale] = createSignal(BaseColorScaleDark)
+export const [currScaleText, setCurrScaleText] = createSignal('Flex Design Colors Uniform');
+export const [visibleColorScale, setColorScale] = createSignal(BaseColorScaleDark);
const ToggleColorScale: Component = () => {
+ const [currScale, setCurrScale] = createSignal('fu');
- const [currScale, setCurrScale] = createSignal('fu')
-
- createEffect(() => {
- if (currScale() == 'fc') setColorScale(colors())
- if (currScale() == 'fu') setColorScale(generatedColors())
- else setColorScale(colors())
- })
+ createEffect(() => {
+ if (currScale() === 'fc')
+ setColorScale(colors());
+ if (currScale() === 'fu')
+ setColorScale(generatedColors());
+ else setColorScale(colors());
+ });
- const handleColorScaleChange = (type: any) => {
- if (type.target.value == 'fc'){
- setCurrScale('fc')
- setCurrScaleText('Flex Design Colors (Legacy)')
- } else if (type.target.value == 'fu') {
- setCurrScale('fu')
- setCurrScaleText('Flex Design Colors Uniform')
- };
- }
- return(
-
-
- Flex Design Colors
-
-
- Flex Design Colors Uniform
-
-
- )
-}
+ const handleColorScaleChange = (type: any) => {
+ if (type.target.value === 'fc') {
+ setCurrScale('fc');
+ setCurrScaleText('Flex Design Colors (Legacy)');
+ }
+ else if (type.target.value === 'fu') {
+ setCurrScale('fu');
+ setCurrScaleText('Flex Design Colors Uniform');
+ };
+ };
+ return (
+
+
+ Flex Design Colors
+
+
+ Flex Design Colors Uniform
+
+
+ );
+};
export default ToggleColorScale;
diff --git a/src/functions/apca.ts b/src/functions/apca.ts
new file mode 100644
index 0000000..ea57e5c
--- /dev/null
+++ b/src/functions/apca.ts
@@ -0,0 +1,223 @@
+///////////////////////////////////////////////////////////////////////////////
+/////
+/// // SAPC APCA - Accessible Perceptual Contrast Algorithm
+/// // Beta 0.0.98G-4g • contrast function only
+/// // DIST: GH SE Revision date: Oct 1, 2021
+/// // Function to parse color values and determine Lc contrast
+/// // Copyright © 2019-2021 by Andrew Somers. All Rights Reserved.
+/// // LICENSE: Non-Commercial, Limited Use, beta versions are revocable
+/// // CONTACT: For SAPC/APCA Please use the ISSUES tab at:
+/// // https://github.com/Myndex/SAPC-APCA/
+/////
+///////////////////////////////////////////////////////////////////////////////
+/////
+/// // USAGE:
+/// // Use sRGBtoY(color) to convert sRGB to Luminance (Y)
+/// // Then send Y-text and Y-background to APCAcontrast(Text, BG)
+/////
+/// // Lc = APCAcontrast( sRGBtoY(TEXTcolor) , sRGBtoY(BACKGNDcolor) );
+/////
+/// // Live Demonstrator at https://www.myndex.com/APCA/
+/////
+///////////////////////////////////////////////////////////////////////////////
+
+////////////////////////////////////////////////////////////////////////////////
+/////
+/// // SAPC Method and APCA Algorithm
+/////
+/// // GITHUB: https://github.com/Myndex/SAPC-APCA
+/// // DEVELOPER SITE: https://www.myndex.com/WEB/Perception
+/////
+/// // Acknowledgments and Thanks To:
+/// // • This project references the research and work of Dr.Lovie-Kitchin,
+/// // Dr.Legge, Dr.Arditi, M.Fairchild, R.Hunt, M.Stone, Dr.Poynton,
+/// // L.Arend, M.Luo, E.Burns, R.Blackwell, P.Barton, M.Brettel, and many
+/// // others — see refs at https://www.myndex.com/WEB/WCAG_CE17polarity
+/// // • Bruce Bailey of USAccessBoard for his encouragement, ideas, & feedback
+/// // • Chris Lilley of W3 for his early and continued comments & feedback.
+/// // • Chris Loiselle of Oracle for getting us back on track in a pandemic
+/// // • The many volunteer test subjects for participating in the studies.
+/// // • Principal research conducted at Myndex by A.Somers.
+/////
+////////////////////////////////////////////////////////////////////////////////
+
+////////////////////////////////////////////////////////////////////////////////
+/////
+/// // ***** SAPC BLOCK *****
+/////
+/// // For Evaluations, refer to this as: SAPC-8, v0.0.98 G-series constant 4g
+/// // SAPC • S-LUV Advanced Predictive Color
+/////
+/// // SIMPLE VERSION — Only the basic APCA contrast predictor.
+/////
+/// // Included Extensions & Model Features in this file:
+/// // • SAPC-8 Core Contrast (Base APCA)
+/// // • G series constants, group "G-4g" using a 2.4 monitor exponent
+/// // • sRGB to Y, parses numeric sRGB color to luminance
+/// // • SmoothScale™ scaling technique (non-clinical use only)
+/// // • SoftToe black level soft clamp and flare compensation.
+/////
+/////
+////////////////////////////////////////////////////////////////////////////////
+/////
+/// // DISCLAIMER AND LIMITATIONS OF USE
+/// // APCA is an embodiment of certain suprathreshold contrast
+/// // prediction technologies and it is licensed to the W3 on a
+/// // limited basis for use in certain specific accessibility
+/// // guidelines for web content only. APCA may be used for
+/// // predicting colors for web content use without royalty.
+/////
+/// // However, Any such license excludes other use cases
+/// // not related to web content. Prohibited uses include
+/// // medical, clinical evaluation, human safety related,
+/// // aerospace, transportation, military applications,
+/// // and uses which are not specific to web based content
+/// // presented on self-illuminated displays or devices.
+/////
+////////////////////////////////////////////////////////////////////////////////
+
+/// /////// APCA 0.0.98 G USAGE //////////////////////////////////////////////
+///
+/// The API for "APCA_0_0_98G_4g_minimal" is trivially simple.
+/// Send text and background sRGB numeric values to the sRGBtoY() function,
+/// and send the resulting text-Y and background-Y to the APCAcontrast function,
+/// it returns a signed float with the numeric Lc contrast result.
+///
+/// The two inputs are TEXT color and BACKGROUND color in that order.
+/// Each must be a numeric NOT a string, as this simple version has
+/// no string parsing utilities. EXAMPLE:
+/// ________________________________________________________________________
+///
+/// txtColor = 0x123456; // color of the text, as will be rendered
+/// bgColor = 0xabcdef; // color for the background, as will be rendered
+///
+/// contrastLc = APCAcontrast( sRGBtoY(txtColor) , sRGBtoY(bgColor) );
+/// ________________________________________________________________________
+///
+/// ********** QUICK START **********
+///
+/// Each color must be a 24bit color (8 bit per channel) as a single integer
+/// (or 0x) sRGB encoded color, i.e. White is either the integer 16777216 or
+/// the hex 0xffffff. A float is returned with a positive or negative value.
+/// Negative values mean light text and a dark background, positive values
+/// mean dark text and a light background. 60.0, or -60.0 is a contrast
+/// "sort of like" the old WCAG 2's 4.5:1. NOTE: the total range is now less
+/// than ± 110, so output can be rounded to a signed INT but DO NOT output
+/// an absolute value - light text on dark BG should return a negative number.
+///
+/// ***** IMPORTANT: Do Not Mix Up Text and Background inputs. *****
+/// **************** APCA is polarity dependent! *****************
+///
+/// /////// APCA 0.0.98 G - 4g Constants ////////////////////////////////////
+
+const mainTRC = 2.4; // 2.4 exponent emulates actual monitor perception
+
+const sRco = 0.2126729;
+const sGco = 0.7151522;
+const sBco = 0.0721750; // sRGB coefficients
+
+const normBG = 0.56;
+const normTXT = 0.57;
+const revTXT = 0.62;
+const revBG = 0.65; // G-4g constants for use with 2.4 exponent
+
+const blkThrs = 0.022;
+const blkClmp = 1.414;
+const scaleBoW = 1.14;
+const scaleWoB = 1.14;
+const loBoWthresh = 0.035991;
+const loWoBthresh = 0.035991;
+const loBoWfactor = 27.7847239587675;
+const loWoBfactor = 27.7847239587675;
+const loBoWoffset = 0.027;
+const loWoBoffset = 0.027;
+const loClip = 0.001;
+const deltaYmin = 0.0005;
+
+/// /////// ƒ sRGBtoY() ///////////////////////////////////////////////////////
+
+export function sRGBtoY(sRGBcolor) {
+ // send 8 bit-per-channel integer sRGB (0xFFFFFF)
+
+ const r = (sRGBcolor & 0xFF0000) >> 16;
+ const g = (sRGBcolor & 0x00FF00) >> 8;
+ const b = (sRGBcolor & 0x0000FF);
+
+ function simpleExp(chan) { return (chan / 255.0) ** mainTRC; }
+
+ // linearize r, g, or b then apply coefficients
+ // and sum then return the resulting luminance
+
+ return sRco * simpleExp(r) + sGco * simpleExp(g) + sBco * simpleExp(b);
+}
+
+/// /////// ƒ APCAcontrast() //////////////////////////////////////////////////
+
+export function APCAcontrast(txtY, bgY) {
+ // send linear Y (luminance) for text and background.
+ // IMPORTANT: Do not swap, polarity is important.
+
+ let SAPC = 0.0; // For raw SAPC values
+ let outputContrast = 0.0; // For weighted final values
+
+ // TUTORIAL
+
+ // Use Y for text and BG, and soft clamp black,
+ // return 0 for very close luminances, determine
+ // polarity, and calculate SAPC raw contrast
+ // Then scale for easy to remember levels.
+
+ // Note that reverse contrast (white text on black)
+ // intentionally returns a negative number
+ // Proper polarity is important!
+
+ /// /////// BLACK SOFT CLAMP /////////////////////////////////////////
+
+ // Soft clamps Y for either color if it is near black.
+ txtY = (txtY > blkThrs)
+ ? txtY
+ : txtY + (blkThrs - txtY) ** blkClmp;
+ bgY = (bgY > blkThrs)
+ ? bgY
+ : bgY + (blkThrs - bgY) ** blkClmp;
+
+ /// // Return 0 Early for extremely low ∆Y
+ if (Math.abs(bgY - txtY) < deltaYmin)
+ return 0.0;
+
+ /// /////// APCA/SAPC CONTRAST ///////////////////////////////////////
+
+ if (bgY > txtY) { // For normal polarity, black text on white (BoW)
+ // Calculate the SAPC contrast value and scale
+
+ SAPC = (bgY ** normBG - txtY ** normTXT) * scaleBoW;
+
+ // Low Contrast smooth rollout to prevent polarity reversal
+ // and also a low-clip for very low contrasts
+ outputContrast = (SAPC < loClip)
+ ? 0.0
+ : (SAPC < loBoWthresh)
+ ? SAPC - SAPC * loBoWfactor * loBoWoffset
+ : SAPC - loBoWoffset;
+ }
+ else { // For reverse polarity, light text on dark (WoB)
+ // WoB should always return negative value.
+
+ SAPC = (bgY ** revBG - txtY ** revTXT) * scaleWoB;
+
+ outputContrast = (SAPC > -loClip)
+ ? 0.0
+ : (SAPC > -loWoBthresh)
+ ? SAPC - SAPC * loWoBfactor * loWoBoffset
+ : SAPC + loWoBoffset;
+ }
+
+ // return Lc (lightness contrast) as a signed numeric value
+ // It is permissible to round to the nearest whole number.
+
+ return outputContrast * 100.0;
+} // End APCAcontrast()
+
+/// /\ //////////////////////////////////////////////
+/// //\ END 0.98G4g APCA BLOCK //////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
diff --git a/src/functions/apca.tsx b/src/functions/apca.tsx
deleted file mode 100644
index 82857aa..0000000
--- a/src/functions/apca.tsx
+++ /dev/null
@@ -1,224 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-/////
-///// SAPC APCA - Accessible Perceptual Contrast Algorithm
-///// Beta 0.0.98G-4g • contrast function only
-///// DIST: GH SE Revision date: Oct 1, 2021
-///// Function to parse color values and determine Lc contrast
-///// Copyright © 2019-2021 by Andrew Somers. All Rights Reserved.
-///// LICENSE: Non-Commercial, Limited Use, beta versions are revocable
-///// CONTACT: For SAPC/APCA Please use the ISSUES tab at:
-///// https://github.com/Myndex/SAPC-APCA/
-/////
-///////////////////////////////////////////////////////////////////////////////
-/////
-///// USAGE:
-///// Use sRGBtoY(color) to convert sRGB to Luminance (Y)
-///// Then send Y-text and Y-background to APCAcontrast(Text, BG)
-/////
-///// Lc = APCAcontrast( sRGBtoY(TEXTcolor) , sRGBtoY(BACKGNDcolor) );
-/////
-///// Live Demonstrator at https://www.myndex.com/APCA/
-/////
-///////////////////////////////////////////////////////////////////////////////
-
-////////////////////////////////////////////////////////////////////////////////
-/////
-///// SAPC Method and APCA Algorithm
-/////
-///// GITHUB: https://github.com/Myndex/SAPC-APCA
-///// DEVELOPER SITE: https://www.myndex.com/WEB/Perception
-/////
-///// Acknowledgments and Thanks To:
-///// • This project references the research and work of Dr.Lovie-Kitchin,
-///// Dr.Legge, Dr.Arditi, M.Fairchild, R.Hunt, M.Stone, Dr.Poynton,
-///// L.Arend, M.Luo, E.Burns, R.Blackwell, P.Barton, M.Brettel, and many
-///// others — see refs at https://www.myndex.com/WEB/WCAG_CE17polarity
-///// • Bruce Bailey of USAccessBoard for his encouragement, ideas, & feedback
-///// • Chris Lilley of W3 for his early and continued comments & feedback.
-///// • Chris Loiselle of Oracle for getting us back on track in a pandemic
-///// • The many volunteer test subjects for participating in the studies.
-///// • Principal research conducted at Myndex by A.Somers.
-/////
-////////////////////////////////////////////////////////////////////////////////
-
-////////////////////////////////////////////////////////////////////////////////
-/////
-///// ***** SAPC BLOCK *****
-/////
-///// For Evaluations, refer to this as: SAPC-8, v0.0.98 G-series constant 4g
-///// SAPC • S-LUV Advanced Predictive Color
-/////
-///// SIMPLE VERSION — Only the basic APCA contrast predictor.
-/////
-///// Included Extensions & Model Features in this file:
-///// • SAPC-8 Core Contrast (Base APCA)
-///// • G series constants, group "G-4g" using a 2.4 monitor exponent
-///// • sRGB to Y, parses numeric sRGB color to luminance
-///// • SmoothScale™ scaling technique (non-clinical use only)
-///// • SoftToe black level soft clamp and flare compensation.
-/////
-/////
-////////////////////////////////////////////////////////////////////////////////
-/////
-///// DISCLAIMER AND LIMITATIONS OF USE
-///// APCA is an embodiment of certain suprathreshold contrast
-///// prediction technologies and it is licensed to the W3 on a
-///// limited basis for use in certain specific accessibility
-///// guidelines for web content only. APCA may be used for
-///// predicting colors for web content use without royalty.
-/////
-///// However, Any such license excludes other use cases
-///// not related to web content. Prohibited uses include
-///// medical, clinical evaluation, human safety related,
-///// aerospace, transportation, military applications,
-///// and uses which are not specific to web based content
-///// presented on self-illuminated displays or devices.
-/////
-////////////////////////////////////////////////////////////////////////////////
-
-////////// APCA 0.0.98 G USAGE //////////////////////////////////////////////
-///
-/// The API for "APCA_0_0_98G_4g_minimal" is trivially simple.
-/// Send text and background sRGB numeric values to the sRGBtoY() function,
-/// and send the resulting text-Y and background-Y to the APCAcontrast function,
-/// it returns a signed float with the numeric Lc contrast result.
-///
-/// The two inputs are TEXT color and BACKGROUND color in that order.
-/// Each must be a numeric NOT a string, as this simple version has
-/// no string parsing utilities. EXAMPLE:
-/// ________________________________________________________________________
-///
-/// txtColor = 0x123456; // color of the text, as will be rendered
-/// bgColor = 0xabcdef; // color for the background, as will be rendered
-///
-/// contrastLc = APCAcontrast( sRGBtoY(txtColor) , sRGBtoY(bgColor) );
-/// ________________________________________________________________________
-///
-/// ********** QUICK START **********
-///
-/// Each color must be a 24bit color (8 bit per channel) as a single integer
-/// (or 0x) sRGB encoded color, i.e. White is either the integer 16777216 or
-/// the hex 0xffffff. A float is returned with a positive or negative value.
-/// Negative values mean light text and a dark background, positive values
-/// mean dark text and a light background. 60.0, or -60.0 is a contrast
-/// "sort of like" the old WCAG 2's 4.5:1. NOTE: the total range is now less
-/// than ± 110, so output can be rounded to a signed INT but DO NOT output
-/// an absolute value - light text on dark BG should return a negative number.
-///
-/// ***** IMPORTANT: Do Not Mix Up Text and Background inputs. *****
-/// **************** APCA is polarity dependent! *****************
-///
-////////// APCA 0.0.98 G - 4g Constants ////////////////////////////////////
-
-const mainTRC = 2.4; // 2.4 exponent emulates actual monitor perception
-
-const sRco = 0.2126729,
- sGco = 0.7151522,
- sBco = 0.0721750; // sRGB coefficients
-
-const normBG = 0.56,
- normTXT = 0.57,
- revTXT = 0.62,
- revBG = 0.65; // G-4g constants for use with 2.4 exponent
-
-const blkThrs = 0.022,
- blkClmp = 1.414,
- scaleBoW = 1.14,
- scaleWoB = 1.14,
- loBoWthresh = 0.035991,
- loWoBthresh = 0.035991,
- loBoWfactor = 27.7847239587675,
- loWoBfactor = 27.7847239587675,
- loBoWoffset = 0.027,
- loWoBoffset = 0.027,
- loClip = 0.001,
- deltaYmin = 0.0005;
-
-////////// ƒ sRGBtoY() ///////////////////////////////////////////////////////
-
-export function sRGBtoY (sRGBcolor) {
- // send 8 bit-per-channel integer sRGB (0xFFFFFF)
-
-
-
- let r = (sRGBcolor & 0xFF0000) >> 16,
- g = (sRGBcolor & 0x00FF00) >> 8,
- b = (sRGBcolor & 0x0000FF);
-
- function simpleExp (chan) { return Math.pow(chan/255.0, mainTRC); }
-
- // linearize r, g, or b then apply coefficients
- // and sum then return the resulting luminance
-
- return sRco * simpleExp(r) + sGco * simpleExp(g) + sBco * simpleExp(b);
-}
-
-
-////////// ƒ APCAcontrast() //////////////////////////////////////////////////
-
-export function APCAcontrast (txtY,bgY) {
- // send linear Y (luminance) for text and background.
- // IMPORTANT: Do not swap, polarity is important.
-
- var SAPC = 0.0; // For raw SAPC values
- var outputContrast = 0.0; // For weighted final values
-
- // TUTORIAL
-
- // Use Y for text and BG, and soft clamp black,
- // return 0 for very close luminances, determine
- // polarity, and calculate SAPC raw contrast
- // Then scale for easy to remember levels.
-
- // Note that reverse contrast (white text on black)
- // intentionally returns a negative number
- // Proper polarity is important!
-
-////////// BLACK SOFT CLAMP /////////////////////////////////////////
-
- // Soft clamps Y for either color if it is near black.
- txtY = (txtY > blkThrs) ? txtY :
- txtY + Math.pow(blkThrs - txtY, blkClmp);
- bgY = (bgY > blkThrs) ? bgY :
- bgY + Math.pow(blkThrs - bgY, blkClmp);
-
- ///// Return 0 Early for extremely low ∆Y
- if ( Math.abs(bgY - txtY) < deltaYmin ) { return 0.0; }
-
-
-////////// APCA/SAPC CONTRAST ///////////////////////////////////////
-
- if ( bgY > txtY ) { // For normal polarity, black text on white (BoW)
-
- // Calculate the SAPC contrast value and scale
-
- SAPC = ( Math.pow(bgY, normBG) - Math.pow(txtY, normTXT) ) * scaleBoW;
-
- // Low Contrast smooth rollout to prevent polarity reversal
- // and also a low-clip for very low contrasts
- outputContrast = (SAPC < loClip) ? 0.0 :
- (SAPC < loBoWthresh) ?
- SAPC - SAPC * loBoWfactor * loBoWoffset :
- SAPC - loBoWoffset;
-
- } else { // For reverse polarity, light text on dark (WoB)
- // WoB should always return negative value.
-
- SAPC = ( Math.pow(bgY, revBG) - Math.pow(txtY, revTXT) ) * scaleWoB;
-
- outputContrast = (SAPC > -loClip) ? 0.0 :
- (SAPC > -loWoBthresh) ?
- SAPC - SAPC * loWoBfactor * loWoBoffset :
- SAPC + loWoBoffset;
- }
-
- // return Lc (lightness contrast) as a signed numeric value
- // It is permissible to round to the nearest whole number.
-
- return outputContrast * 100.0;
-
-} // End APCAcontrast()
-
-////\ //////////////////////////////////////////////
-/////\ END 0.98G4g APCA BLOCK //////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
diff --git a/src/functions/colorConfig.tsx b/src/functions/colorConfig.tsx
index dc0481e..e1d3e18 100644
--- a/src/functions/colorConfig.tsx
+++ b/src/functions/colorConfig.tsx
@@ -1,91 +1,94 @@
-import chroma, { hex } from "chroma-js"
-import { darkMode } from "../components/shared/darkModeToggle"
+import chroma from 'chroma-js';
+import { darkMode } from '../components/shared/darkModeToggle';
export const BaseBackgroundArr: Array = ['#FFFFFF', '#181819'];
-const BaseBackgroundDarkMixed = chroma.mix(BaseBackgroundArr[1], '#000', 0.2, 'rgb')
+const BaseBackgroundDarkMixed = chroma.mix(BaseBackgroundArr[1], '#000', 0.2, 'rgb');
export const ScalePrimObj = {
- "NEUTRAL": ['#F8F8F6', '#626262', '#181816'],
- "OCEAN": ['#E6F5FA', '#359AFA', '#081F46'],
- // "SKY": ['#E2F1FF', '#1B78E7', '#091847'],
- "BLUE": ['#E9EEFE', '#264FE3', '#061148'],
- "INDIGO": ['#EBEDFB', '#4624D3', '#0B003D'],
- "VIOLET": ['#F0E9F8', '#6C1CDB', '#1c063d'],
- "CRIMSON": ["#FAEAF2", "#E03780", "#420518"],
- "WINE": ['#FDE9ED', '#9d1635', '#32000A'],
- "RED": ['#FEEEEC', '#CA2331', '#380004'],
- "SUN": ['#FEF2EE', '#ea3e33', '#460405'],
- "ORANGE": ['#FDF6ED', '#fb7912', '#52160B'],
- "AMBER": ['#fdfaf2', '#fdad18', '#542210'],
- "YELLOW": ['#FDFCF2', '#f8c51a', '#58280F'],
- "SAPLING": ['#FAFEEC', '#a2c940', '#2b3a06'],
- "GREEN": ['#EEFDF3', '#0da750', '#002f0f'],
- "AURORA": ['#EBFDF9', '#02B192', '#003228'],
- "CYAN": ['#EFFDFD', '#20C4D9', '#01313F']
-}
+ NEUTRAL: ['#F8F8F6', '#626262', '#181816'],
+ OCEAN: ['#E6F5FA', '#359AFA', '#081F46'],
+ // "SKY": ['#E2F1FF', '#1B78E7', '#091847'],
+ BLUE: ['#E9EEFE', '#264FE3', '#061148'],
+ INDIGO: ['#EBEDFB', '#4624D3', '#0B003D'],
+ VIOLET: ['#F0E9F8', '#6C1CDB', '#1c063d'],
+ CRIMSON: ['#FAEAF2', '#E03780', '#420518'],
+ WINE: ['#FDE9ED', '#9d1635', '#32000A'],
+ RED: ['#FEEEEC', '#CA2331', '#380004'],
+ SUN: ['#FEF2EE', '#ea3e33', '#460405'],
+ ORANGE: ['#FDF6ED', '#fb7912', '#52160B'],
+ AMBER: ['#fdfaf2', '#fdad18', '#542210'],
+ YELLOW: ['#FDFCF2', '#f8c51a', '#58280F'],
+ SAPLING: ['#FAFEEC', '#a2c940', '#2b3a06'],
+ GREEN: ['#EEFDF3', '#0da750', '#002f0f'],
+ AURORA: ['#EBFDF9', '#02B192', '#003228'],
+ CYAN: ['#EFFDFD', '#20C4D9', '#01313F'],
+};
// Generate dark scales using background colors
-export const generateDarkScales = (genScaleObj: Record>, darkScale: Array) => {
- const out: Record> = {}
- for (const prop in genScaleObj) {
- const primary = chroma.mix(genScaleObj[prop][0], genScaleObj[prop][1], (prop == "NEUTRAL" ? 0.8 : 0.95), 'lab')
- const mixedDark = chroma.mix(chroma(genScaleObj[prop][1]), BaseBackgroundDarkMixed, 0.8, 'rgb')
- const mixedLight = chroma.mix(primary, genScaleObj[prop][0], 0.7, 'lch')
- out[prop] = [
- prop == "NEUTRAL" ? chroma(genScaleObj[prop][2]).brighten(0.3).hex() :
- chroma.mix(chroma(genScaleObj[prop][2]).darken(0.44), mixedDark, 0.15, 'lab').saturate(0.7).hex(),
- chroma.mix(primary.hex(), mixedLight.hex(),0.03).hex(),
- prop == "NEUTRAL" ? chroma(mixedLight).brighten(0.75).hex() :
- chroma.mix(mixedLight, genScaleObj[prop][0], 0.86, 'lab').hex()
- ]
- }
- return out
-}
+export const generateDarkScales = (genScaleObj: Record>, _darkScale: Array) => {
+ const out: Record> = {};
+ for (const prop in genScaleObj) {
+ const primary = chroma.mix(genScaleObj[prop][0], genScaleObj[prop][1], (prop === 'NEUTRAL' ? 0.8 : 0.95), 'lab');
+ const mixedDark = chroma.mix(chroma(genScaleObj[prop][1]), BaseBackgroundDarkMixed, 0.8, 'rgb');
+ const mixedLight = chroma.mix(primary, genScaleObj[prop][0], 0.7, 'lch');
+ out[prop] = [
+ prop === 'NEUTRAL'
+ ? chroma(genScaleObj[prop][2]).brighten(0.3).hex()
+ : chroma.mix(chroma(genScaleObj[prop][2]).darken(0.44), mixedDark, 0.15, 'lab').saturate(0.7).hex(),
+ chroma.mix(primary.hex(), mixedLight.hex(), 0.03).hex(),
+ prop === 'NEUTRAL'
+ ? chroma(mixedLight).brighten(0.75).hex()
+ : chroma.mix(mixedLight, genScaleObj[prop][0], 0.86, 'lab').hex(),
+ ];
+ }
+ return out;
+};
// Steps to elect using the color scales generator
-const ColorTakeInd = [0, 2, 5, 9, 16, 19]
-
+const ColorTakeInd = [0, 2, 5, 9, 16, 19];
// Generate color scales from the primitive scale for one color
const generateScalePrim = (genPrim: Array) => {
- return [...chroma.scale([genPrim[0], genPrim[1]]).mode('lab').colors(24).filter((val, i) => ColorTakeInd.includes(i)),
- ...chroma.scale([genPrim[1], genPrim[2]]).mode('lab').colors(7).filter((val, i) => i % 2 == 0)]
-}
+ return [...chroma.scale([genPrim[0], genPrim[1]]).mode('lab').colors(24).filter((val, i) => ColorTakeInd.includes(i)), ...chroma.scale([genPrim[1], genPrim[2]]).mode('lab').colors(7).filter((val, i) => i % 2 === 0)];
+};
// Generate color scale object with name for one color
const generateScalePrimObject = (genScale: Array) => {
- return genScale.reduce((memo, val, i) => ({...memo, [`0${i}`]: val}), {})
-}
-
-// Generate the entire object map for the color scale
-export const genColorScale = (genScaleObj: Record>, dark: boolean) => {
- const out: Record> = {}
- for (const prop in genScaleObj) {
- if (dark) out[prop] = generateScalePrimObject(redefineDarkScale(generateScalePrim(genScaleObj[prop])))
- else out[prop] = generateScalePrimObject(generateScalePrim(genScaleObj[prop]))
- }
- return out
-}
+ return genScale.reduce((memo, val, i) => ({ ...memo, [`0${i}`]: val }), {});
+};
-const DarkenInd = [0.87, 0.7, 0.5, 0.4, 0.1, 0]
+const DarkenInd = [0.87, 0.7, 0.5, 0.4, 0.1, 0];
// Correct dark scales for background
const redefineDarkScale = (genScale: Array) => {
- const out: Array = genScale
- const BackgroundMixed = chroma(BaseBackgroundArr[1]).brighten(0.05)
- for (var c = 0; c < 6; c++){
- out[c] = chroma.mix(genScale[c], BackgroundMixed, DarkenInd[c], 'rgb').hex()
- }
- return out
-}
+ const out: Array = genScale;
+ const BackgroundMixed = chroma(BaseBackgroundArr[1]).brighten(0.05);
+ for (let c = 0; c < 6; c++)
+ out[c] = chroma.mix(genScale[c], BackgroundMixed, DarkenInd[c], 'rgb').hex();
+
+ return out;
+};
+
+// Generate the entire object map for the color scale
+export const genColorScale = (genScaleObj: Record>, dark: boolean) => {
+ const out: Record> = {};
+ for (const prop in genScaleObj) {
+ if (dark)
+ out[prop] = generateScalePrimObject(redefineDarkScale(generateScalePrim(genScaleObj[prop])));
+ else out[prop] = generateScalePrimObject(generateScalePrim(genScaleObj[prop]));
+ }
+ return out;
+};
-let genLightScale = genColorScale(ScalePrimObj, false)
-let genDarkScale = genColorScale(generateDarkScales(ScalePrimObj, BaseBackgroundArr), true)
+const genLightScale = genColorScale(ScalePrimObj, false);
+const genDarkScale = genColorScale(generateDarkScales(ScalePrimObj, BaseBackgroundArr), true);
-export const generatedColors = () => darkMode() ? genDarkScale : genLightScale
-export const generatedColorsArr = () => darkMode() ? colorsToArr(genDarkScale) : colorsToArr(genLightScale)
+export const generatedColors = () => darkMode() ? genDarkScale : genLightScale;
-export const colorsToArr = (colorObj : Record>) => {
- return Object.values(colorObj).map((obj) => {return Object.values(obj)})
-}
+export const colorsToArr = (colorObj: Record>) => {
+ return Object.values(colorObj).map((obj) => {
+ return Object.values(obj);
+ });
+};
+export const generatedColorsArr = () => darkMode() ? colorsToArr(genDarkScale) : colorsToArr(genLightScale);
diff --git a/src/functions/contrastCalc.tsx b/src/functions/contrastCalc.tsx
index 50f83ae..5f067c9 100644
--- a/src/functions/contrastCalc.tsx
+++ b/src/functions/contrastCalc.tsx
@@ -1,28 +1,30 @@
-import chroma from "chroma-js"
-import { darkMode } from "../components/shared/darkModeToggle";
-import { APCAcontrast, sRGBtoY } from "./apca";
+import chroma from 'chroma-js';
+import { darkMode } from '../components/shared/darkModeToggle';
+import { APCAcontrast, sRGBtoY } from './apca';
export const calcWCAG = (text: string, bg: string) => {
- return chroma.contrast(text, bg);
-}
+ return chroma.contrast(text, bg);
+};
-export const calcAPCA = (txt: string, bg: string) : number => {
- const textHex: number = parseInt(`0x${txt.substring(1)}`, 16);
- const bgHex: number = parseInt(`0x${bg.substring(1)}`, 16);
+export const calcAPCA = (txt: string, bg: string): number => {
+ const textHex: number = Number.parseInt(`0x${txt.substring(1)}`, 16);
+ const bgHex: number = Number.parseInt(`0x${bg.substring(1)}`, 16);
- return APCAcontrast(sRGBtoY(textHex), sRGBtoY(bgHex));
-}
+ return APCAcontrast(sRGBtoY(textHex), sRGBtoY(bgHex));
+};
-export const calcMinAPCA = (text: Array, bg: string) : [number, string] => {
- for (const textColor of text) {
- if (calcAPCA(textColor, bg) > (darkMode() ? 30 : 40)) return [calcAPCA(darkMode() ? text[2] : text[8], bg), darkMode() ? text[2] : text[8]]
- if (calcAPCA(textColor, bg) < (darkMode() ? -60 : -50)) return [calcAPCA(darkMode() ? text[8] : text[2], bg), darkMode() ? text[8] : text[2]]
- }
- return [0, '#000']
-}
+export const calcMinAPCA = (text: Array, bg: string): [number, string] => {
+ for (const textColor of text) {
+ if (calcAPCA(textColor, bg) > (darkMode() ? 30 : 40))
+ return [calcAPCA(darkMode() ? text[2] : text[8], bg), darkMode() ? text[2] : text[8]];
+ if (calcAPCA(textColor, bg) < (darkMode() ? -60 : -50))
+ return [calcAPCA(darkMode() ? text[8] : text[2], bg), darkMode() ? text[8] : text[2]];
+ }
+ return [0, '#000'];
+};
export const calcMaxAPCAText = (bg: string, txtBright: string, txtDark: string) => {
- const brightAPCA = Math.abs(calcAPCA(txtBright, bg))
- const darkAPCA = Math.abs(calcAPCA(txtDark, bg))
- return brightAPCA > darkAPCA ? txtBright : txtDark
-}
\ No newline at end of file
+ const brightAPCA = Math.abs(calcAPCA(txtBright, bg));
+ const darkAPCA = Math.abs(calcAPCA(txtDark, bg));
+ return brightAPCA > darkAPCA ? txtBright : txtDark;
+};
diff --git a/src/functions/keyHandler.tsx b/src/functions/keyHandler.tsx
index d4eb41c..4aa02c5 100644
--- a/src/functions/keyHandler.tsx
+++ b/src/functions/keyHandler.tsx
@@ -1,39 +1,38 @@
-import {Component, createEffect, createSignal, onCleanup } from "solid-js";
-import { colorsArr } from "../assets/color";
-import { darkMode, setDarkMode } from "../components/shared/darkModeToggle";
+import type { Component } from 'solid-js';
+import { createEffect, createSignal, onCleanup } from 'solid-js';
+import { colorsArr } from '../assets/color';
+import { darkMode, setDarkMode } from '../components/shared/darkModeToggle';
-export const [focused, setFocused] = createSignal([7,5]);
+export const [focused, setFocused] = createSignal([7, 5]);
const KeyHandler: Component = () => {
+ onCleanup(() => {
+ document.removeEventListener('keydown', () => true);
+ });
- onCleanup(() => {
- document.removeEventListener('keydown', () => true);
- })
-
- createEffect(() => {
- document.removeEventListener('keydown', () => true);
- document.addEventListener('keydown', (e: KeyboardEvent) => {
- if ((e.ctrlKey || e.metaKey) && e.key === 'k') {
- setDarkMode(!darkMode());
- }
- if(["Space","ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].indexOf(e.code) > -1) {
- e.preventDefault();
- }
- if("ArrowUp" == e.code && focused()[1] > 0) {
- setFocused([focused()[0], focused()[1] - 1]);
- }
- if("ArrowDown" == e.code && focused()[1] < colorsArr().length -1) {
- setFocused([focused()[0], focused()[1] + 1]);
- }
- if("ArrowLeft" == e.code && focused()[0] > 0) {
- setFocused([focused()[0] - 1, focused()[1]]);
- }
- if("ArrowRight" == e.code && focused()[0] < colorsArr()[0].length - 1) {
- setFocused([focused()[0] + 1, focused()[1]]);
- }
- })
- })
- return (<>>)
-}
+ createEffect(() => {
+ document.removeEventListener('keydown', () => true);
+ document.addEventListener('keydown', (e: KeyboardEvent) => {
+ if ((e.ctrlKey || e.metaKey) && e.key === 'k')
+ setDarkMode(!darkMode());
+
+ if (['Space', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(e.code))
+ e.preventDefault();
+
+ if (e.code === 'ArrowUp' && focused()[1] > 0)
+ setFocused([focused()[0], focused()[1] - 1]);
+
+ if (e.code === 'ArrowDown' && focused()[1] < colorsArr().length - 1)
+ setFocused([focused()[0], focused()[1] + 1]);
+
+ if (e.code === 'ArrowLeft' && focused()[0] > 0)
+ setFocused([focused()[0] - 1, focused()[1]]);
+
+ if (e.code === 'ArrowRight' && focused()[0] < colorsArr()[0].length - 1)
+ setFocused([focused()[0] + 1, focused()[1]]);
+ });
+ });
+ return (<>>);
+};
export default KeyHandler;
diff --git a/src/functions/parsley.js b/src/functions/parsley.js
index b78e14c..53b223a 100644
--- a/src/functions/parsley.js
+++ b/src/functions/parsley.js
@@ -1,5 +1,6 @@
///////////////////////////////////////////////////////////////////////////////
-/** @preserve
+/**
+ @preserve
///// CoLoR PaRsLeY a simple set of color parsing thingies!
///// Beta 0.1.8 Revision date: June 04, 2022
/////
@@ -18,362 +19,527 @@
/////
///// Output as array: [r,g,b,a,isValid,colorspace]
///// Example: [123,123,123,1.0,true,'sRGB']
-// */
+//
+ */
///////////////////////////////////////////////////////////////////////////////
-// ==ClosureCompiler==
+// ===ClosureCompiler===
// @compilation_level SIMPLE_OPTIMIZATIONS
// @output_file_name colorparsley.min.js
// @code_url https://raw.githubusercontent.com/Myndex/colorparsley/master/src/colorparsley.js
-// ==/ClosureCompiler==
+// ===/ClosureCompiler===
-//
+//
////////////////////////////////////////////////////////////////////////////////
-
-
////////////////////////////////////////////////////////////////////////////////
-///// BEGIN COLOR PARSLEY 0.1.8 BLOCK \/////////////////////////////////////
-//// \///////////////////////////////////
+/// // BEGIN COLOR PARSLEY 0.1.8 BLOCK \/////////////////////////////////////
+/// / \///////////////////////////////////
/// \/////////////////////////////////
-
-///// Æ’ colorParsley() ///////////////////////////////////////////////////
+/// // Æ’ colorParsley() ///////////////////////////////////////////////////
// export
-export function colorParsley (colorIn) {
-
- if (typeof colorIn === 'string') {
- return parseString(colorIn);
- } else if (typeof colorIn === 'number') {
- return [(colorIn & 0xFF0000) >> 16,
- (colorIn & 0x00FF00) >> 8,
- (colorIn & 0x0000FF), 1, true, 'unknown'];
- } else if (typeof colorIn === 'object') {
- if (Array.isArray(colorIn)) {
- return colorIn;
- } else if (!isNaN(colorIn.r) || !isNaN(colorIn.red)){
- // validate object & return array
- let objArray = [0,0,0,0,false,'unknown'];
- // takes object with r g b or red green blue etc...
- objArray[0] = (colorIn.r)?colorIn.r:(colorIn.red)?
- colorIn.red:false;
- objArray[1] = (colorIn.g)?colorIn.g:(colorIn.green)?
- colorIn.green:false;
- objArray[2] = (colorIn.b)?colorIn.b:(colorIn.blue)?
- colorIn.blue:false;
- objArray[3] = (colorIn.a)?colorIn.a:(colorIn.alpha)?
- colorIn.alpha:1;
- objArray[4] = (objArray[0]&&objArray[1]&&objArray[2]) ? true : false;
- objArray[5] =
- (colorIn.space)?colorIn.space:
- (colorIn.colorSpace)?colorIn.colorSpace:
- (colorIn.colorspace)?colorIn.colorspace:
- 'unknown';
-
- return objArray;
- }
- }; // End if statement
- // console.log('colorParsley error: invalid input')
- return [0,0,0,0,false,'inputError'] // throw 'InvalidInput' // return error
+export function colorParsley(colorIn) {
+ if (typeof colorIn === 'string') {
+ return parseString(colorIn);
+ }
+ else if (typeof colorIn === 'number') {
+ return [
+ (colorIn & 0xFF0000) >> 16,
+ (colorIn & 0x00FF00) >> 8,
+ (
+ colorIn & 0x0000FF),
+ 1,
+ true,
+ 'unknown',
+ ];
+ }
+ else if (typeof colorIn === 'object') {
+ if (Array.isArray(colorIn)) {
+ return colorIn;
+ }
+ else if (!isNaN(colorIn.r) || !isNaN(colorIn.red)) {
+ // validate object & return array
+ const objArray = [0, 0, 0, 0, false, 'unknown'];
+ // takes object with r g b or red green blue etc...
+ objArray[0] = (colorIn.r)
+ ? colorIn.r
+ : (colorIn.red)
+ ? colorIn.red
+ : false;
+ objArray[1] = (colorIn.g)
+ ? colorIn.g
+ : (colorIn.green)
+ ? colorIn.green
+ : false;
+ objArray[2] = (colorIn.b)
+ ? colorIn.b
+ : (colorIn.blue)
+ ? colorIn.blue
+ : false;
+ objArray[3] = (colorIn.a)
+ ? colorIn.a
+ : (colorIn.alpha)
+ ? colorIn.alpha
+ : 1;
+ objArray[4] = !!((objArray[0] && objArray[1] && objArray[2]));
+ objArray[5]
+ = (colorIn.space)
+ ? colorIn.space
+ : (colorIn.colorSpace)
+ ? colorIn.colorSpace
+ : (colorIn.colorspace)
+ ? colorIn.colorspace
+ : 'unknown';
+
+ return objArray;
+ }
+ }; // End if statement
+ // console.log('colorParsley error: invalid input')
+ return [0, 0, 0, 0, false, 'inputError']; // throw 'InvalidInput' // return error
};
-
-///// Æ’ parseString() ///////////////////////////////////////////////////
+/// // Æ’ parseString() ///////////////////////////////////////////////////
// private
-function parseString (colorString = '#abcdef') {
-
- // strip junk and make a clean string (replace unmatched)
- // This retains all alphanumeric and , . # % ( ) /
- colorString = colorString.replace(/[^\w,.#%()\/ -]/g,'');
- colorString = colorString.toLowerCase(); // set lowercase
-
- let isValid = false; // validation flag, in array element [4]
- let type = 'sRGB'; // Default colorspace flag in element [5]
- let retArray = [0,0,0,0,isValid,type]; // init the return array
-
-
- // test for named color before iterating array
- if (colorString.match(/^(?:(?!rgb|l.h|hs|col|\d|#).{0,4})(?=[g-z])/)) {
-
-
- ///// CSS4 NAMED COLORS plus a bonus set of GREYS and GRAYS //////////
-
- // If name is matched, parse and return the color values
- let namedColors = {
- gray0:'000000',gray1:'111111',gray2:'222222',gray3:'333333',gray4:'444444',gray5:'555555',gray6:'666666',gray7:'777777',gray8:'888888',gray9:'999999',graya:'aaaaaa',grayb:'bbbbbb',grayc:'cccccc',grayd:'dddddd',graye:'eeeeee',grayf:'ffffff',midgray:'a0a0a0',
- grey0:'000000',grey1:'111111',grey2:'222222',grey3:'333333',grey4:'444444',grey5:'555555',grey6:'666666',grey7:'777777',grey8:'888888',grey9:'999999',greya:'aaaaaa',greyb:'bbbbbb',greyc:'cccccc',greyd:'dddddd',greye:'eeeeee',greyf:'ffffff',midgrey:'a0a0a0',
- aliceblue:'f0f8ff',antiquewhite:'faebd7',aqua:'00ffff',aquamarine:'7fffd4',azure:'f0ffff',
- beige:'f5f5dc',bisque:'ffe4c4',black:'000000',blanchedalmond:'ffebcd',blue:'0000ff',blueviolet:'8a2be2',brown:'a52a2a',burlywood:'deb887',
- cadetblue:'5f9ea0',chartreuse:'7fff00',chocolate:'d2691e',coral:'ff7f50',cornflowerblue:'6495ed',cornsilk:'fff8dc',crimson:'dc143c',cyan:'00ffff',
- darkblue:'00008b',darkcyan:'008b8b',darkgoldenrod:'b8860b',darkgray:'a9a9a9',darkgreen:'006400',darkgrey:'a9a9a9',darkkhaki:'bdb76b',darkmagenta:'8b008b',darkolivegreen:'556b2f',darkorange:'ff8c00',darkorchid:'9932cc',darkred:'8b0000',darksalmon:'e9967a',darkseagreen:'8fbc8f',darkslateblue:'483d8b',darkslategray:'2f4f4f',darkslategrey:'2f4f4f',darkturquoise:'00ced1',darkviolet:'9400d3',deeppink:'ff1493',deepskyblue:'00bfff',dimgray:'696969',dimgrey:'696969',dodgerblue:'1e90ff',
- firebrick:'b22222',floralwhite:'fffaf0',forestgreen:'228b22',fuchsia:'ff00ff',
- gainsboro:'dcdcdc',ghostwhite:'f8f8ff',gold:'ffd700',goldenrod:'daa520',gray:'808080',green:'008000',greenyellow:'adff2f',grey:'808080',
- honeydew:'f0fff0',hotpink:'ff69b4',
- indianred:'cd5c5c',indigo:'4b0082',ivory:'fffff0',
- khaki:'f0e68c',
- lavender:'e6e6fa',lavenderblush:'fff0f5',lawngreen:'7cfc00',lemonchiffon:'fffacd',lightblue:'add8e6',lightcoral:'f08080',lightcyan:'e0ffff',lightgoldenrodyellow:'fafad2',lightgray:'d3d3d3',lightgreen:'90ee90',lightgrey:'d3d3d3',lightpink:'ffb6c1',lightsalmon:'ffa07a',lightseagreen:'20b2aa',lightskyblue:'87cefa',lightslategray:'778899',lightslategrey:'778899',lightsteelblue:'b0c4de',lightyellow:'ffffe0',lime:'00ff00',limegreen:'32cd32',linen:'faf0e6',
- magenta:'ff00ff',maroon:'800000',mediumaquamarine:'66cdaa',mediumblue:'0000cd',mediumorchid:'ba55d3',mediumpurple:'9370db',mediumseagreen:'3cb371',mediumslateblue:'7b68ee',mediumspringgreen:'00fa9a',mediumturquoise:'48d1cc',mediumvioletred:'c71585',midnightblue:'191970',mintcream:'f5fffa',mistyrose:'ffe4e1',moccasin:'ffe4b5',
- navajowhite:'ffdead',navy:'000080',
- oldlace:'fdf5e6',olive:'808000',olivedrab:'6b8e23',orange:'ffa500',orangered:'ff4500',orchid:'da70d6',
- palegoldenrod:'eee8aa',palegreen:'98fb98',paleturquoise:'afeeee',palevioletred:'db7093',papayawhip:'ffefd5',peachpuff:'ffdab9',peru:'cd853f',pink:'ffc0cb',plum:'dda0dd',powderblue:'b0e0e6',purple:'800080',
- rebeccapurple:'663399',red:'ff0000',rosybrown:'bc8f8f',royalblue:'4169e1',
- saddlebrown:'8b4513',salmon:'fa8072',sandybrown:'f4a460',seagreen:'2e8b57',seashell:'fff5ee',sienna:'a0522d',silver:'c0c0c0',skyblue:'87ceeb',slateblue:'6a5acd',slategray:'708090',slategrey:'708090',snow:'fffafa',springgreen:'00ff7f',steelblue:'4682b4',
- tan:'d2b48c',teal:'008080',thistle:'d8bfd8',tomato:'ff6347',turquoise:'40e0d0',
- violet:'ee82ee',
- wheat:'f5deb3',white:'ffffff',whitesmoke:'f5f5f5',
- yellow:'ffff00',yellowgreen:'9acd32'
- };
-
- for (let key in namedColors) {
- if (colorString == key) {
-
- let hexRex = {
- rex: /^([\da-f]{2})([\da-f]{2})([\da-f]{2})$/,
- sprig: function (slices) {
- for (let i = 0; i < 3; i++) {
- retArray[i] = parseInt(slices[i+1],16);
- }
- retArray[3] = 1;
- return true;
- }
- };
-
- let hexProc = hexRex.rex.exec(namedColors[key]);
- retArray[4] = isValid = hexRex.sprig(hexProc);
-
- return retArray;
- }
- }
- }; // end of named colors section
-
-
- // NEW regex 0.1.6 - still current for use with with 0.1.8+
- // See docs for breakdown of regex pattern
- let colorRex = {
- rex: /(?:^(?:#|0x|)(?:(?:([\da-f])([\da-f])([\da-f])([\da-f])?)(?!\S)|(?:([\da-f]{2})(?:([\da-f]{2})([\da-f]{2})([\da-f]{2})?)?))|(?:(?:^(?:rgba?|)\(? ?(?:(?:(?:(255|(?:25[0-4]|2[0-4]\d|1?\d{1,2})(?:\.\d{1,24})?)))(?:,[^\S]*$|(?:(?:, ?| )(255|(?:25[0-4]|2[0-4]\d|1?\d{1,2})(?:\.\d{1,24})?)(?:, ?| )(255|(?:25[0-4]|2[0-4]\d|1?\d{1,2})(?:\.\d{1,24})?)))|(100%|\d{1,2}(?:\.\d{1,24})?%)(?:,?[^\S]*$|(?:(?:, ?| )(?:(100%|\d{1,2}(?:\.\d{1,24})?%)(?:, ?| )(100%|\d{1,2}(?:\.\d{1,24})?%)))))|^(?:color\((srgb|srgb-linear|display-p3|a98-rgb|prophoto-rgb|rec2020|xyz|xyz-d50|xyz-d65) (?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])) (?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])) (?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])))|^(?:((?:r(?!gb)|c(?!olor)|[abd-qs-z])[a-z]{2,5})\( ?((?:\d{0,3}\.|)\d{1,24}%?)(?:, ?| )((?:\d{0,3}\.|)\d{1,24}%?)(?:, ?| )((?:\d{0,3}\.|)\d{1,24}%?))))(?:(?:,| \/| ) ?(?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])))?(?:\)| |))[^\S]*$/,
-
-
- parsley: function (slices) {
-
- let slicePos = 0;
- let sliceLast = 0;
- let base = 10;
- let divisor = 100.0;
- let convertPct = 2.55;
- let alpha = '1';
-
-
- if (slices[23]) {
- alpha = slices[23];
- delete slices[23];
- }
- // Set alpha before anything else
- retArray[3] = (alpha.match(/%/g)) ?
- parseFloat(alpha) / divisor :
- parseFloat(alpha);
-
- // determine first and last element
- for (let k=1; k < slices.length; k++) {
- if (slices[k]) {
- slicePos = (slicePos) ? slicePos : k;
- sliceLast = k;
- }
- }
-
- switch (sliceLast) {
-
- case 4: // This is the 3-4 digit hex parsing
- base = 16;
- divisor = 15.0;
- retArray[3] = parseInt(slices[sliceLast],base) / divisor ;
- case 3:
- base = 16;
- for (let i = 0; i < 3; i++) {
- retArray[i] = parseInt(slices[slicePos+i] + slices[slicePos+i],base);
- }
- break;
-
- case 5: // allows two digit hex to become grey
- base = 16;
- case 9: // allows 1-3 digit INT with comma to become grey
- retArray[0] = retArray[1] = retArray[2] =
- (base == 10) ? parseFloat(slices[sliceLast]) :
- parseInt(slices[sliceLast],base);
- break;
-
- case 12: // allows single percentage to become grey
- retArray[0] = retArray[1] = retArray[2] =
- parseFloat(slices[sliceLast]) * convertPct;
- break;
-
- case 8: // These are the main parsings for hex and rgb()
- base = 16;
- divisor = 255.0;
- retArray[3] = parseInt(slices[8],base) / divisor ;
- case 7:
- base = 16;
- case 11:
- for (let i = 0; i < 3; i++) {
- retArray[i] = (base == 10) ? parseFloat(slices[slicePos+i]) :
- parseInt(slices[slicePos+i],base);
- }
- break;
-
- case 14: // rgb() percentage
- for (let i = 0; i < 3; i++) {
- retArray[i] = parseFloat(slices[slicePos+i]) * convertPct;
- }
- break;
-
- case 18: // This is for color() CSS 4
- retArray[5] = slices[15];
-
- for (let i = 0; i < 3; i++) { // color() is converted to 0.0-255.0
- slicePos++;
- retArray[i] = (slices[slicePos].match(/%/g)) ?
- parseFloat(slices[slicePos]) * 2.55:
- parseFloat(slices[slicePos]) * 255;
- }
- break;
-
- case 22: // This is the "wild west" section
-
- retArray[5] = slices[slicePos];
-
- for (let i = 0; i < 3; i++ ) {
- slicePos++;
- retArray[i] = (slices[slicePos]) ? (slices[slicePos].match(/%/g)) ?
- parseFloat(slices[slicePos]) / divisor :
- parseFloat(slices[slicePos]) : 0.0 ;
- }
-
- // Process for HSL and HWB
- if (retArray[5].match(/^(?:hsla?|hwba?)/i) ) {
- let sat,light,white,black,hwbFact;
-
- let hue = retArray[0] % 360.0;
- if (hue < 0) { hue += 360.0; }
-
- if (retArray[5].match(/^hsla?/i) ) {
- sat = retArray[1];
- light = retArray[2];
- white = 0;
- hwbFact = 1;
- } else if (retArray[5].match(/^hwba?/i) ) {
- white = retArray[1];
- black = retArray[2];
-
- if (white + black >= 1) {
- retArray[0] = retArray[1] = retArray[2] = white / (white + black);
- retArray[5] = 'sRGB';
- break;
- }
-
- sat = 1.0;
- light = 0.5;
- hwbFact = (1.0 - white - black);
- }
-
- function f(n) { // from CSS reference implementation
- let k = (n + hue/30) % 12;
- let a = sat * Math.min(light, 1 - light);
- return light - a * Math.max(-1, Math.min(k - 3, 9 - k, 1));
- }
-
- retArray[0] = Math.round(255 * (f(0) * hwbFact + white));
- retArray[1] = Math.round(255 * (f(8) * hwbFact + white));
- retArray[2] = Math.round(255 * (f(4) * hwbFact + white));
- retArray[5] = 'sRGB';
- }
- break;
- }
- return true;
- } // close parsley sub-function
- }; // close colorRex obj
-
-
- // The main call
- let slicesProc = colorRex.rex.exec(colorString);
-
- if (slicesProc) { // Error catch
-
- retArray[4] = isValid = colorRex.parsley(slicesProc); // set the isValid flag
-
- return retArray;
-
- } else {
- isValid = false;
- // console.log('colorParsley error: unable to parse string')
- return [0,0,0,0,isValid,'parsleyError'] // throw 'InvalidString'
- }
+function parseString(colorString = '#abcdef') {
+ // strip junk and make a clean string (replace unmatched)
+ // This retains all alphanumeric and , . # % ( ) /
+ colorString = colorString.replace(/[^\w,.#%()\/ -]/g, '');
+ colorString = colorString.toLowerCase(); // set lowercase
+
+ let isValid = false; // validation flag, in array element [4]
+ const type = 'sRGB'; // Default colorspace flag in element [5]
+ const retArray = [0, 0, 0, 0, isValid, type]; // init the return array
+
+ // test for named color before iterating array
+ if (colorString.match(/^(?:(?!rgb|l.h|hs|col|\d|#).{0,4})(?=[g-z])/)) {
+ /// // CSS4 NAMED COLORS plus a bonus set of GREYS and GRAYS //////////
+
+ // If name is matched, parse and return the color values
+ const namedColors = {
+ gray0: '000000',
+ gray1: '111111',
+ gray2: '222222',
+ gray3: '333333',
+ gray4: '444444',
+ gray5: '555555',
+ gray6: '666666',
+ gray7: '777777',
+ gray8: '888888',
+ gray9: '999999',
+ graya: 'aaaaaa',
+ grayb: 'bbbbbb',
+ grayc: 'cccccc',
+ grayd: 'dddddd',
+ graye: 'eeeeee',
+ grayf: 'ffffff',
+ midgray: 'a0a0a0',
+ grey0: '000000',
+ grey1: '111111',
+ grey2: '222222',
+ grey3: '333333',
+ grey4: '444444',
+ grey5: '555555',
+ grey6: '666666',
+ grey7: '777777',
+ grey8: '888888',
+ grey9: '999999',
+ greya: 'aaaaaa',
+ greyb: 'bbbbbb',
+ greyc: 'cccccc',
+ greyd: 'dddddd',
+ greye: 'eeeeee',
+ greyf: 'ffffff',
+ midgrey: 'a0a0a0',
+ aliceblue: 'f0f8ff',
+ antiquewhite: 'faebd7',
+ aqua: '00ffff',
+ aquamarine: '7fffd4',
+ azure: 'f0ffff',
+ beige: 'f5f5dc',
+ bisque: 'ffe4c4',
+ black: '000000',
+ blanchedalmond: 'ffebcd',
+ blue: '0000ff',
+ blueviolet: '8a2be2',
+ brown: 'a52a2a',
+ burlywood: 'deb887',
+ cadetblue: '5f9ea0',
+ chartreuse: '7fff00',
+ chocolate: 'd2691e',
+ coral: 'ff7f50',
+ cornflowerblue: '6495ed',
+ cornsilk: 'fff8dc',
+ crimson: 'dc143c',
+ cyan: '00ffff',
+ darkblue: '00008b',
+ darkcyan: '008b8b',
+ darkgoldenrod: 'b8860b',
+ darkgray: 'a9a9a9',
+ darkgreen: '006400',
+ darkgrey: 'a9a9a9',
+ darkkhaki: 'bdb76b',
+ darkmagenta: '8b008b',
+ darkolivegreen: '556b2f',
+ darkorange: 'ff8c00',
+ darkorchid: '9932cc',
+ darkred: '8b0000',
+ darksalmon: 'e9967a',
+ darkseagreen: '8fbc8f',
+ darkslateblue: '483d8b',
+ darkslategray: '2f4f4f',
+ darkslategrey: '2f4f4f',
+ darkturquoise: '00ced1',
+ darkviolet: '9400d3',
+ deeppink: 'ff1493',
+ deepskyblue: '00bfff',
+ dimgray: '696969',
+ dimgrey: '696969',
+ dodgerblue: '1e90ff',
+ firebrick: 'b22222',
+ floralwhite: 'fffaf0',
+ forestgreen: '228b22',
+ fuchsia: 'ff00ff',
+ gainsboro: 'dcdcdc',
+ ghostwhite: 'f8f8ff',
+ gold: 'ffd700',
+ goldenrod: 'daa520',
+ gray: '808080',
+ green: '008000',
+ greenyellow: 'adff2f',
+ grey: '808080',
+ honeydew: 'f0fff0',
+ hotpink: 'ff69b4',
+ indianred: 'cd5c5c',
+ indigo: '4b0082',
+ ivory: 'fffff0',
+ khaki: 'f0e68c',
+ lavender: 'e6e6fa',
+ lavenderblush: 'fff0f5',
+ lawngreen: '7cfc00',
+ lemonchiffon: 'fffacd',
+ lightblue: 'add8e6',
+ lightcoral: 'f08080',
+ lightcyan: 'e0ffff',
+ lightgoldenrodyellow: 'fafad2',
+ lightgray: 'd3d3d3',
+ lightgreen: '90ee90',
+ lightgrey: 'd3d3d3',
+ lightpink: 'ffb6c1',
+ lightsalmon: 'ffa07a',
+ lightseagreen: '20b2aa',
+ lightskyblue: '87cefa',
+ lightslategray: '778899',
+ lightslategrey: '778899',
+ lightsteelblue: 'b0c4de',
+ lightyellow: 'ffffe0',
+ lime: '00ff00',
+ limegreen: '32cd32',
+ linen: 'faf0e6',
+ magenta: 'ff00ff',
+ maroon: '800000',
+ mediumaquamarine: '66cdaa',
+ mediumblue: '0000cd',
+ mediumorchid: 'ba55d3',
+ mediumpurple: '9370db',
+ mediumseagreen: '3cb371',
+ mediumslateblue: '7b68ee',
+ mediumspringgreen: '00fa9a',
+ mediumturquoise: '48d1cc',
+ mediumvioletred: 'c71585',
+ midnightblue: '191970',
+ mintcream: 'f5fffa',
+ mistyrose: 'ffe4e1',
+ moccasin: 'ffe4b5',
+ navajowhite: 'ffdead',
+ navy: '000080',
+ oldlace: 'fdf5e6',
+ olive: '808000',
+ olivedrab: '6b8e23',
+ orange: 'ffa500',
+ orangered: 'ff4500',
+ orchid: 'da70d6',
+ palegoldenrod: 'eee8aa',
+ palegreen: '98fb98',
+ paleturquoise: 'afeeee',
+ palevioletred: 'db7093',
+ papayawhip: 'ffefd5',
+ peachpuff: 'ffdab9',
+ peru: 'cd853f',
+ pink: 'ffc0cb',
+ plum: 'dda0dd',
+ powderblue: 'b0e0e6',
+ purple: '800080',
+ rebeccapurple: '663399',
+ red: 'ff0000',
+ rosybrown: 'bc8f8f',
+ royalblue: '4169e1',
+ saddlebrown: '8b4513',
+ salmon: 'fa8072',
+ sandybrown: 'f4a460',
+ seagreen: '2e8b57',
+ seashell: 'fff5ee',
+ sienna: 'a0522d',
+ silver: 'c0c0c0',
+ skyblue: '87ceeb',
+ slateblue: '6a5acd',
+ slategray: '708090',
+ slategrey: '708090',
+ snow: 'fffafa',
+ springgreen: '00ff7f',
+ steelblue: '4682b4',
+ tan: 'd2b48c',
+ teal: '008080',
+ thistle: 'd8bfd8',
+ tomato: 'ff6347',
+ turquoise: '40e0d0',
+ violet: 'ee82ee',
+ wheat: 'f5deb3',
+ white: 'ffffff',
+ whitesmoke: 'f5f5f5',
+ yellow: 'ffff00',
+ yellowgreen: '9acd32',
+ };
+
+ for (const key in namedColors) {
+ if (colorString === key) {
+ const hexRex = {
+ rex: /^([\da-f]{2})([\da-f]{2})([\da-f]{2})$/,
+ sprig(slices) {
+ for (let i = 0; i < 3; i++)
+ retArray[i] = Number.parseInt(slices[i + 1], 16);
+
+ retArray[3] = 1;
+ return true;
+ },
+ };
+
+ const hexProc = hexRex.rex.exec(namedColors[key]);
+ retArray[4] = isValid = hexRex.sprig(hexProc);
+
+ return retArray;
+ }
+ }
+ }; // end of named colors section
+
+ // NEW regex 0.1.6 - still current for use with with 0.1.8+
+ // See docs for breakdown of regex pattern
+ const colorRex = {
+ rex: /(?:^(?:#|0x|)(?:(?:([\da-f])([\da-f])([\da-f])([\da-f])?)(?!\S)|(?:([\da-f]{2})(?:([\da-f]{2})([\da-f]{2})([\da-f]{2})?)?))|(?:(?:^(?:rgba?|)\(? ?(?:(?:(?:(255|(?:25[0-4]|2[0-4]\d|1?\d{1,2})(?:\.\d{1,24})?)))(?:,[^\S]*$|(?:(?:, ?| )(255|(?:25[0-4]|2[0-4]\d|1?\d{1,2})(?:\.\d{1,24})?)(?:, ?| )(255|(?:25[0-4]|2[0-4]\d|1?\d{1,2})(?:\.\d{1,24})?)))|(100%|\d{1,2}(?:\.\d{1,24})?%)(?:,?[^\S]*$|(?:(?:, ?| )(?:(100%|\d{1,2}(?:\.\d{1,24})?%)(?:, ?| )(100%|\d{1,2}(?:\.\d{1,24})?%)))))|^(?:color\((srgb|srgb-linear|display-p3|a98-rgb|prophoto-rgb|rec2020|xyz|xyz-d50|xyz-d65) (?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])) (?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])) (?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])))|^(?:((?:r(?!gb)|c(?!olor)|[abd-qs-z])[a-z]{2,5})\( ?((?:\d{0,3}\.|)\d{1,24}%?)(?:, ?| )((?:\d{0,3}\.|)\d{1,24}%?)(?:, ?| )((?:\d{0,3}\.|)\d{1,24}%?))))(?:(?:,| \/| ) ?(?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])))?(?:\)| |))[^\S]*$/,
+
+ parsley(slices) {
+ let slicePos = 0;
+ let sliceLast = 0;
+ let base = 10;
+ let divisor = 100.0;
+ const convertPct = 2.55;
+ let alpha = '1';
+
+ if (slices[23]) {
+ alpha = slices[23];
+ delete slices[23];
+ }
+ // Set alpha before anything else
+ retArray[3] = (alpha.match(/%/g))
+ ? Number.parseFloat(alpha) / divisor
+ : Number.parseFloat(alpha);
+
+ // determine first and last element
+ for (let k = 1; k < slices.length; k++) {
+ if (slices[k]) {
+ slicePos = (slicePos) || k;
+ sliceLast = k;
+ }
+ }
+
+ switch (sliceLast) {
+ case 4: // This is the 3-4 digit hex parsing
+ base = 16;
+ divisor = 15.0;
+ retArray[3] = Number.parseInt(slices[sliceLast], base) / divisor;
+ case 3:
+ base = 16;
+ for (let i = 0; i < 3; i++)
+ retArray[i] = Number.parseInt(slices[slicePos + i] + slices[slicePos + i], base);
+
+ break;
+
+ case 5: // allows two digit hex to become grey
+ base = 16;
+ case 9: // allows 1-3 digit INT with comma to become grey
+ retArray[0] = retArray[1] = retArray[2]
+ = (base === 10)
+ ? Number.parseFloat(slices[sliceLast])
+ : Number.parseInt(slices[sliceLast], base);
+ break;
+
+ case 12: // allows single percentage to become grey
+ retArray[0] = retArray[1] = retArray[2]
+ = Number.parseFloat(slices[sliceLast]) * convertPct;
+ break;
+
+ case 8: // These are the main parsings for hex and rgb()
+ base = 16;
+ divisor = 255.0;
+ retArray[3] = Number.parseInt(slices[8], base) / divisor;
+ case 7:
+ base = 16;
+ case 11:
+ for (let i = 0; i < 3; i++) {
+ retArray[i] = (base === 10)
+ ? Number.parseFloat(slices[slicePos + i])
+ : Number.parseInt(slices[slicePos + i], base);
+ }
+ break;
+
+ case 14: // rgb() percentage
+ for (let i = 0; i < 3; i++)
+ retArray[i] = Number.parseFloat(slices[slicePos + i]) * convertPct;
+
+ break;
+
+ case 18: // This is for color() CSS 4
+ retArray[5] = slices[15];
+
+ for (let i = 0; i < 3; i++) { // color() is converted to 0.0-255.0
+ slicePos++;
+ retArray[i] = (slices[slicePos].match(/%/g))
+ ? Number.parseFloat(slices[slicePos]) * 2.55
+ : Number.parseFloat(slices[slicePos]) * 255;
+ }
+ break;
+
+ case 22: // This is the "wild west" section
+
+ retArray[5] = slices[slicePos];
+
+ for (let i = 0; i < 3; i++) {
+ slicePos++;
+ retArray[i] = (slices[slicePos])
+ ? (slices[slicePos].match(/%/g))
+ ? Number.parseFloat(slices[slicePos]) / divisor
+ : Number.parseFloat(slices[slicePos])
+ : 0.0;
+ }
+
+ // Process for HSL and HWB
+ if (retArray[5].match(/^(?:hsla?|hwba?)/i)) {
+ let sat, light, white, black, hwbFact;
+
+ let hue = retArray[0] % 360.0;
+ if (hue < 0)
+ hue += 360.0;
+
+ if (retArray[5].match(/^hsla?/i)) {
+ sat = retArray[1];
+ light = retArray[2];
+ white = 0;
+ hwbFact = 1;
+ }
+ else if (retArray[5].match(/^hwba?/i)) {
+ white = retArray[1];
+ black = retArray[2];
+
+ if (white + black >= 1) {
+ retArray[0] = retArray[1] = retArray[2] = white / (white + black);
+ retArray[5] = 'sRGB';
+ break;
+ }
+
+ sat = 1.0;
+ light = 0.5;
+ hwbFact = (1.0 - white - black);
+ }
+
+ function f(n) { // from CSS reference implementation
+ const k = (n + hue / 30) % 12;
+ const a = sat * Math.min(light, 1 - light);
+ return light - a * Math.max(-1, Math.min(k - 3, 9 - k, 1));
+ }
+
+ retArray[0] = Math.round(255 * (f(0) * hwbFact + white));
+ retArray[1] = Math.round(255 * (f(8) * hwbFact + white));
+ retArray[2] = Math.round(255 * (f(4) * hwbFact + white));
+ retArray[5] = 'sRGB';
+ }
+ break;
+ }
+ return true;
+ }, // close parsley sub-function
+ }; // close colorRex obj
+
+ // The main call
+ const slicesProc = colorRex.rex.exec(colorString);
+
+ if (slicesProc) { // Error catch
+ retArray[4] = isValid = colorRex.parsley(slicesProc); // set the isValid flag
+
+ return retArray;
+ }
+ else {
+ isValid = false;
+ // console.log('colorParsley error: unable to parse string')
+ return [0, 0, 0, 0, isValid, 'parsleyError']; // throw 'InvalidString'
+ }
};
-
-
-
////////////////////////////////////////////////////////////////////////////////
-///// BONUS STRING FORMATTING UTILITIES \////////////////////////////////////
+/// // BONUS STRING FORMATTING UTILITIES \////////////////////////////////////
+/// // Æ’ colorToHex() ///////////////////////////////////////////////////
-///// Æ’ colorToHex() ///////////////////////////////////////////////////
+// returns hex string, 3,4,6, or 8 chars if that was entered, no #
+// If alpha is 1 or empty, no alpha is returned i.e. abcf returns abc
- // returns hex string, 3,4,6, or 8 chars if that was entered, no #
- // If alpha is 1 or empty, no alpha is returned i.e. abcf returns abc
-
// export
-function colorToHex (rgba = [0,0,0,''], allow3 = true) {
- let R = Math.round(rgba[0]).toString(16).padStart(2, '0');
- let G = Math.round(rgba[1]).toString(16).padStart(2, '0');
- let B = Math.round(rgba[2]).toString(16).padStart(2, '0');
- let A = (rgba[3] == '' || rgba[3] == 1) ? '' :
- Math.round(rgba[3] * 255).toString(16).padStart(2, '0') ;
-
- // this if returns a 3 character hex if possible - aabbcc becomes abc
- if ( allow3 &&
- parseInt(A, 16) % 17 == 0 &&
- parseInt(A, 16) % 17 == 0 &&
- parseInt(A, 16) % 17 == 0 &&
- (parseInt(A, 16) % 17 == 0 || A == '')
- ) {
- return R.charAt(0) + G.charAt(0) + B.charAt(0) + A.charAt(0);
- } else {
- return R + G + B + A;
- }
+function colorToHex(rgba = [0, 0, 0, ''], allow3 = true) {
+ const R = Math.round(rgba[0]).toString(16).padStart(2, '0');
+ const G = Math.round(rgba[1]).toString(16).padStart(2, '0');
+ const B = Math.round(rgba[2]).toString(16).padStart(2, '0');
+ const A = (rgba[3] === '' || rgba[3] === 1)
+ ? ''
+ : Math.round(rgba[3] * 255).toString(16).padStart(2, '0');
+
+ // this if returns a 3 character hex if possible - aabbcc becomes abc
+ if (allow3
+ && Number.parseInt(A, 16) % 17 === 0
+ && Number.parseInt(A, 16) % 17 === 0
+ && Number.parseInt(A, 16) % 17 === 0
+ && (Number.parseInt(A, 16) % 17 === 0 || A === '')
+ )
+ return R.charAt(0) + G.charAt(0) + B.charAt(0) + A.charAt(0);
+ else
+ return R + G + B + A;
}
+/// // Æ’ colorToRGB() ///////////////////////////////////////////////////
+// RGBAstr — returns rgb() or rgba() INT value string (0-255) no spaces
+// If alpha is 1 or empty, no alpha is returned
-
-///// Æ’ colorToRGB() ///////////////////////////////////////////////////
-
- // RGBAstr — returns rgb() or rgba() INT value string (0-255) no spaces
- // If alpha is 1 or empty, no alpha is returned
-
// export
-function colorToRGB (rgba = [0,0,0,''], round = true) {
- if (round) {
- for (let i=0; i < 3; i++) {
- rgba[i] = Math.round(rgba[i]);
- }
- // while RGB tuples round to int, A needs additional precision
- rgba[3] = ( rgba[3] == '' || rgba[3] == 1) ? 1 :
- Math.trunc(rgba[3]*1000)*0.001;
- }
-
- return ( rgba[3] == '' || rgba[3] == 1) ?
- 'rgb(' + rgba[0] + ',' + rgba[1] + ',' + rgba[2] + ')' :
- 'rgba(' + rgba[0] + ',' + rgba[1] + ',' + rgba[2] + ',' + rgba[3] + ')';
+function colorToRGB(rgba = [0, 0, 0, ''], round = true) {
+ if (round) {
+ for (let i = 0; i < 3; i++)
+ rgba[i] = Math.round(rgba[i]);
+
+ // while RGB tuples round to int, A needs additional precision
+ rgba[3] = (rgba[3] === '' || rgba[3] === 1)
+ ? 1
+ : Math.trunc(rgba[3] * 1000) * 0.001;
+ }
+
+ return (rgba[3] === '' || rgba[3] === 1)
+ ? `rgb(${rgba[0]},${rgba[1]},${rgba[2]})`
+ : `rgba(${rgba[0]},${rgba[1]},${rgba[2]},${rgba[3]})`;
}
-
-/////\ END UTILITIES ///////////////////////////////////////////////////////
+/// //\ END UTILITIES ///////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
-
-///\ //////////////////////////////////////
-////\ //////////////////////////////////////
-/////\ END COLOR PARSLEY 0.1.8 BLOCK //////////////////////////////////////
+/// \ //////////////////////////////////////
+/// /\ //////////////////////////////////////
+/// //\ END COLOR PARSLEY 0.1.8 BLOCK //////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
-
diff --git a/src/index.tsx b/src/index.tsx
index 3b2064c..02adea4 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -1,15 +1,17 @@
/* @refresh reload */
import { render } from 'solid-js/web';
-import { Router } from "@solidjs/router";
+import { Router } from '@solidjs/router';
import './assets/SCSS/styles.scss';
import './index.css';
import App from './App';
-render((
- () =>
-
-
-
- ),
- document.getElementById('root') as HTMLElement);
+render(
+ () => (
+
+
+
+ )
+ ,
+ document.getElementById('root') as HTMLElement,
+);
diff --git a/src/pages/colorGenerationPage.tsx b/src/pages/colorGenerationPage.tsx
index ce8451e..0b815b2 100644
--- a/src/pages/colorGenerationPage.tsx
+++ b/src/pages/colorGenerationPage.tsx
@@ -1,152 +1,153 @@
-import {Component, createContext, createSignal, Accessor, Setter, useContext, createEffect} from "solid-js";
-import ColorSelectorComponent from "../components/colorSelectorComponent";
+import type { Accessor, Component, Setter } from 'solid-js';
+import { createContext, createSignal, useContext } from 'solid-js';
+import ColorSelectorComponent from '../components/colorSelectorComponent';
import {
- BaseBackgroundArr,
- colorsToArr,
- genColorScale,
- generateDarkScales,
- ScalePrimObj
-} from "../functions/colorConfig";
-import ToggleColorScale, {currScaleText, visibleColorScale} from "../components/shared/toggleColorScale";
-import ColorSwatch from "../components/colorSwatch";
-import ColorSwatchLarge from "../components/colorSwatchLarge";
-import DataPlot from "../components/dataPlot";
-import {darkMode} from "../components/shared/darkModeToggle";
-import Button from "../assets/components/button.styled";
-
+ BaseBackgroundArr,
+ ScalePrimObj,
+ colorsToArr,
+ genColorScale,
+ generateDarkScales,
+} from '../functions/colorConfig';
+import { currScaleText, visibleColorScale } from '../components/shared/toggleColorScale';
+import ColorSwatch from '../components/colorSwatch';
+import ColorSwatchLarge from '../components/colorSwatchLarge';
+import DataPlot from '../components/dataPlot';
+import { darkMode } from '../components/shared/darkModeToggle';
+import Button from '../assets/components/button.styled';
const ColorArrContext = createContext();
type ColorArrContextType = [Accessor<[string, string[]][]>, Setter<[string, string[]][]>];
const ColorGenerationPage: Component = () => {
-
- const [colors, setColors] = createSignal(Object.entries(ScalePrimObj)), colorObj: ColorArrContextType = [
- colors,
- setColors
- ];
-
- const [jsonFile, setJsonFile] = createSignal();
-
- const handleColorExport = (mode: 'obj' | 'arr') => {
- const darkText = darkMode() ? 'dark' : 'light';
- const fileName = `${currScaleText()}-${darkText}.json`;
- const obj = mode == 'obj' ? Object.fromEntries(colors()) : colors()
- const file = new Blob([JSON.stringify(obj, undefined, 2)], {
- type: 'application/json'
- });
- const link = document.createElement('a');
- link.download = fileName;
- link.href = URL.createObjectURL(file);
- link.click();
- link.remove();
- }
-
- const handleFileChange = (e: any) => {
- const fileReader = new FileReader();
- fileReader.readAsText(e.target.files[0]);
- fileReader.onload = e => {
- // console.log(e.target?.result);
- setJsonFile(eval(`(${e.target?.result as string})`));
- // console.log(eval(`(${jsonFile() as string})`))
- setColors(Object.entries(jsonFile() as object));
- // setColorScale(jsonFile() as any);
- };
- }
-
- const generatedColors = () => darkMode() ?
- genColorScale(generateDarkScales(Object.fromEntries(colors()), BaseBackgroundArr), true) :
- genColorScale(Object.fromEntries(colors()), false)
-
- const generatedColorsArr = () => colorsToArr(generatedColors())
-
- return (
-
-
-
-
- Color Table
-
-
- Ambient color generation algorithm utilizes: 1. the lightest color 2. most saturated color 3. darkest color to generate the full color palette. The dark scales are also automatically generated using a fixed background color variable.
-
-
-
-
-
- Color Swatch
-
-
- This tool was designed with the Flex Design Colors in mind. This color set can be modified and also exported.
-
-
-
-
-
-
-
- Active Color Swatch
-
-
- Customized Color Scale
-
- {/*{currScaleText()}*/}
-
-
-
-
-
-
-
-
-
- )
-}
+ const [colors, setColors] = createSignal(Object.entries(ScalePrimObj));
+ const colorObj: ColorArrContextType = [
+ colors,
+ setColors,
+ ];
+
+ const [jsonFile, setJsonFile] = createSignal();
+
+ const handleColorExport = (mode: 'obj' | 'arr') => {
+ const darkText = darkMode() ? 'dark' : 'light';
+ const fileName = `${currScaleText()}-${darkText}.json`;
+ const obj = mode === 'obj' ? Object.fromEntries(colors()) : colors();
+ const file = new Blob([JSON.stringify(obj, undefined, 2)], {
+ type: 'application/json',
+ });
+ const link = document.createElement('a');
+ link.download = fileName;
+ link.href = URL.createObjectURL(file);
+ link.click();
+ link.remove();
+ };
+
+ const handleFileChange = (e: any) => {
+ const fileReader = new FileReader();
+ fileReader.readAsText(e.target.files[0]);
+ fileReader.onload = (e) => {
+ // console.log(e.target?.result);
+ // eslint-disable-next-line no-eval
+ setJsonFile(eval(`(${e.target?.result as string})`));
+ // console.log(eval(`(${jsonFile() as string})`))
+ setColors(Object.entries(jsonFile() as object));
+ // setColorScale(jsonFile() as any);
+ };
+ };
+
+ const generatedColors = () => darkMode()
+ ? genColorScale(generateDarkScales(Object.fromEntries(colors()), BaseBackgroundArr), true)
+ : genColorScale(Object.fromEntries(colors()), false);
+
+ const generatedColorsArr = () => colorsToArr(generatedColors());
+
+ return (
+
+
+
+
+ Color Table
+
+
+ Ambient color generation algorithm utilizes: 1. the lightest color 2. most saturated color 3. darkest color to generate the full color palette. The dark scales are also automatically generated using a fixed background color variable.
+
+
+
+
+
+ Color Swatch
+
+
+ This tool was designed with the Flex Design Colors in mind. This color set can be modified and also exported.
+
+
+
+
+
+
+
+ Active Color Swatch
+
+
+ Customized Color Scale
+
+ {/* {currScaleText()} */}
+
+
+
+
+
+
+
+
+
+ );
+};
export function useColorArrContext() {
- return useContext(ColorArrContext)!;
+ return useContext(ColorArrContext)!;
}
-export default ColorGenerationPage
+export default ColorGenerationPage;
diff --git a/src/pages/colorTablePage.tsx b/src/pages/colorTablePage.tsx
index e233958..3aea00a 100644
--- a/src/pages/colorTablePage.tsx
+++ b/src/pages/colorTablePage.tsx
@@ -1,181 +1,181 @@
-import { Component, createEffect, createMemo, createSignal } from "solid-js";
-import ColorSwatch from "../components/colorSwatch";
-import ColorSwatchLarge from "../components/colorSwatchLarge";
-import DataPlot from "../components/dataPlot";
-import Button from "../assets/components/button.styled";
-import { colorsToArr } from "../functions/colorConfig";
-import ToggleColorScale, { currScaleText, visibleColorScale } from "../components/shared/toggleColorScale";
-import {darkMode} from "../components/shared/darkModeToggle";
+import type { Component } from 'solid-js';
+import { createMemo } from 'solid-js';
+import ColorSwatch from '../components/colorSwatch';
+import ColorSwatchLarge from '../components/colorSwatchLarge';
+import DataPlot from '../components/dataPlot';
+import Button from '../assets/components/button.styled';
+import { colorsToArr } from '../functions/colorConfig';
+import ToggleColorScale, { currScaleText, visibleColorScale } from '../components/shared/toggleColorScale';
+import { darkMode } from '../components/shared/darkModeToggle';
const ColorTablePage: Component = () => {
+ const visibleColorScaleArr = createMemo(() => colorsToArr(visibleColorScale()));
- const visibleColorScaleArr = createMemo(() => colorsToArr(visibleColorScale()))
+ const ColorExportAsArr = () => {
+ const out: Record> = {};
+ Object.keys(visibleColorScale()).forEach((key, i) => {
+ out[key.toLowerCase()] = visibleColorScaleArr()[i];
+ });
+ return out;
+ };
- const handleColorExport = (mode: 'obj' | 'arr') => {
- const darkText = darkMode() ? 'dark' : 'light';
- const fileName = `${currScaleText()}-${darkText}.json`;
- const obj = mode == 'obj' ? ColorExportAsObj() : ColorExportAsArr()
- const file = new Blob([JSON.stringify(obj, undefined, 2)], {
- type: 'application/json'
- });
- const link = document.createElement('a');
- link.download = fileName;
- link.href = URL.createObjectURL(file);
- link.click();
- link.remove();
- }
+ const ColorExportAsArrJS = () => {
+ let out: string = '';
+ Object.keys(visibleColorScale()).forEach((key, i) => {
+ out += `const ${key.toLowerCase()} = [${visibleColorScaleArr()[i]}];\r\n`;
+ });
+ return out;
+ };
- const handleJSExport = (mode: 'arrjs' | 'objjs') => {
- const darkText = darkMode() ? 'dark' : 'light';
- const fileName = `${currScaleText()}-${darkText}.js`;
- const str = mode == 'arrjs' ? ColorExportAsArrJS() : ColorExportAsObjJS();
- const file = new Blob([str], {
- type: 'application/javascript'
- });
- const link = document.createElement('a');
- link.download = fileName;
- link.href = URL.createObjectURL(file);
- link.click();
- link.remove();
- }
+ const ColorExportAsObjJS = () => {
+ let out: string = '';
+ const type: string = 'ColorScale';
+ Object.keys(visibleColorScale()).forEach((key, i) => {
+ let newobj: string = `export const ${key.toLowerCase()}: ${type} = {\r\n`;
+ Object.keys(visibleColorScale()[key]).forEach((_, k) => {
+ newobj += ` ${k}: '${visibleColorScaleArr()[i][k]}',\r\n`;
+ });
+ newobj += '}';
+ out += `${newobj};\r\n\r\n`;
+ });
+ return out;
+ };
- const ColorExportAsArr = () => {
- const out: Record> = {}
- Object.keys(visibleColorScale()).forEach((key, i) => {
- out[key.toLowerCase()] = visibleColorScaleArr()[i]
- })
- return out;
- }
+ const ColorExportAsObj = () => {
+ const out: Record> = {};
+ Object.keys(visibleColorScale()).forEach((key, i) => {
+ const colorOut: Record = {};
+ Object.keys(visibleColorScale()[key]).forEach((key, k) => {
+ colorOut[k] = visibleColorScaleArr()[i][k];
+ });
+ out[key.toLowerCase()] = colorOut;
+ });
+ return out;
+ };
- const ColorExportAsArrJS = () => {
- let out: string = ''
- Object.keys(visibleColorScale()).forEach((key, i) => {
- out += `const ${key.toLowerCase()} = [${visibleColorScaleArr()[i]}];\r\n`
- })
- return out;
- }
+ const handleColorExport = (mode: 'obj' | 'arr') => {
+ const darkText = darkMode() ? 'dark' : 'light';
+ const fileName = `${currScaleText()}-${darkText}.json`;
+ const obj = mode === 'obj' ? ColorExportAsObj() : ColorExportAsArr();
+ const file = new Blob([JSON.stringify(obj, undefined, 2)], {
+ type: 'application/json',
+ });
+ const link = document.createElement('a');
+ link.download = fileName;
+ link.href = URL.createObjectURL(file);
+ link.click();
+ link.remove();
+ };
- const ColorExportAsObjJS = () => {
- let out: string = ''
- const type: string = 'ColorScale'
- Object.keys(visibleColorScale()).forEach((key, i) => {
- let newobj: string = `export const ${key.toLowerCase()}: ${type} = {\r\n`
- Object.keys(visibleColorScale()[key]).forEach((_, k) => {
- newobj += ` ${k}: '${visibleColorScaleArr()[i][k]}',\r\n`
- })
- newobj += '}'
- out += `${newobj};\r\n\r\n`
- })
- return out;
- }
+ const handleJSExport = (mode: 'arrjs' | 'objjs') => {
+ const darkText = darkMode() ? 'dark' : 'light';
+ const fileName = `${currScaleText()}-${darkText}.js`;
+ const str = mode === 'arrjs' ? ColorExportAsArrJS() : ColorExportAsObjJS();
+ const file = new Blob([str], {
+ type: 'application/javascript',
+ });
+ const link = document.createElement('a');
+ link.download = fileName;
+ link.href = URL.createObjectURL(file);
+ link.click();
+ link.remove();
+ };
- const ColorExportAsObj = () => {
- const out: Record> = {}
- Object.keys(visibleColorScale()).forEach((key, i) => {
- const colorOut: Record = {}
- Object.keys(visibleColorScale()[key]).forEach((key, k) => {
- colorOut[k] = visibleColorScaleArr()[i][k]
- })
- out[key.toLowerCase()] = colorOut
- })
- return out;
- }
+ return (
+ <>
+
+
+
+ Ambient Color Generation Tool
+
+
+ This tool is designed to generate contrast ready color pallets built specifically for UIUX design. Unlike other palette generation tools, Ambient generates the colors based on the primary color. Hues, saturation, and relative lightness adjustments are made automatically using our algorithm. These values can be adjusted by adjusting the base functions.styled.tsx file located inside the styles folder. As ambient relies on the primary color for alternative color generation, primary colors must be contrast compliant. Ambient displays both WACG and APCA definitions of text contrast, a 4.5:1(WACG) or 60Lc(APCA) is recommended for text contrast. Please remember that for the best results, contrast in colors or differences in color should not represent meaningful information in UIUX design to prevent accessability issues.
+
+
+ Color Table
+
+
+ Color Swatch
+
+
+ This tool was designed with the Flex Design Colors in mind. This color set can be modified and also exported.
+
+
+
+
+
+
+
+
+ Active Color Swatch
+
+
+ {currScaleText()}
+
+
+
+
+
+
+ >
+ );
+};
- return (
- <>
-
-
-
- Ambient Color Generation Tool
-
-
- This tool is designed to generate contrast ready color pallets built specifically for UIUX design. Unlike other palette generation tools, Ambient generates the colors based on the primary color. Hues, saturation, and relative lightness adjustments are made automatically using our algorithm. These values can be adjusted by adjusting the base functions.styled.tsx file located inside the styles folder. As ambient relies on the primary color for alternative color generation, primary colors must be contrast compliant. Ambient displays both WACG and APCA definitions of text contrast, a 4.5:1(WACG) or 60Lc(APCA) is recommended for text contrast. Please remember that for the best results, contrast in colors or differences in color should not represent meaningful information in UIUX design to prevent accessability issues.
-
-
- Color Table
-
-
- Color Swatch
-
-
- This tool was designed with the Flex Design Colors in mind. This color set can be modified and also exported.
-
-
-
-
-
-
-
-
- Active Color Swatch
-
-
- {currScaleText()}
-
-
-
-
-
-
- >
- )
-}
-
-export default ColorTablePage
+export default ColorTablePage;
diff --git a/src/pages/comingSoonPage.tsx b/src/pages/comingSoonPage.tsx
index ccd5e5b..9f0db38 100644
--- a/src/pages/comingSoonPage.tsx
+++ b/src/pages/comingSoonPage.tsx
@@ -1,33 +1,34 @@
-import { Component } from "solid-js";
-import Button from "../assets/components/button.styled";
-import LinkUrl from "../assets/images/link.png"
+import type { Component } from 'solid-js';
+import Button from '../assets/components/button.styled';
+import LinkUrl from '../assets/images/link.png';
const ComingSoonPage: Component = () => {
- return (
- <>
-
-
-
-
- I haven't created this yet!
-
-
- Ambient v0.0.0, which includes many of the features which were removed, is available on
- Github .
- I am working to migrating as many features of the previous version to this live site as fast as possible.
- If you have any questions, you can also send me a email!
-
-
-
-
- >
- )
-}
+ return (
+ <>
+
+
+
+
+ I haven't created this yet!
+
+
+ Ambient v0.0.0, which includes many of the features which were removed, is available on
+ Github
+ .
+ I am working to migrating as many features of the previous version to this live site as fast as possible.
+ If you have any questions, you can also send me a email!
+
+
+
+
+ >
+ );
+};
-export default ComingSoonPage
+export default ComingSoonPage;
diff --git a/src/pages/playgroundPage.tsx b/src/pages/playgroundPage.tsx
index 216e95f..5409f4a 100644
--- a/src/pages/playgroundPage.tsx
+++ b/src/pages/playgroundPage.tsx
@@ -1,73 +1,82 @@
-import { A, Outlet, useLocation } from "@solidjs/router";
-import { Component, createSignal, Show } from "solid-js";
-import { css } from "solid-styled";
-import Button from "../assets/components/button.styled";
-import DocumentationMenuList from "../assets/components/documentationMenu.styled";
-import Divider from "../components/playground/components/divider";
+import { A, Outlet, useLocation } from '@solidjs/router';
+import type { Component } from 'solid-js';
+import { Show, createSignal } from 'solid-js';
+import { css } from 'solid-styled';
+import Button from '../assets/components/button.styled';
+import DocumentationMenuList from '../assets/components/documentationMenu.styled';
+import Divider from '../components/playground/components/divider';
const PlaygroundPage: Component = () => {
+ const [mobileMenu, setMobileMenu] = createSignal(false);
- const [mobileMenu, setMobileMenu] = createSignal(false)
+ const [menuList, _setMenuList] = createSignal({
+ Components: '',
+ Introduction: '/playground/intro',
+ Buttons: '/playground/buttons',
+ Texts: '/playground/texts',
+ Pages: '',
+ Documentation: '/playground/documentation',
+ Landing: '/playground/landing',
+ });
- const [menuList, setMenuList] = createSignal({
- "Components" : "",
- "Introduction" : "/playground/intro",
- "Buttons" : "/playground/buttons",
- "Texts" : "/playground/texts",
- "Pages": "",
- "Documentation": "/playground/documentation",
- "Landing": "/playground/landing"
- })
+ const pathname = () => useLocation().pathname;
+ const currInd = () => Object.entries(menuList()).findIndex(val => val[1] === pathname());
+ const prevPath = () => Object.values(menuList())[currInd() - 1] ? Object.values(menuList())[currInd() - 1] : '';
+ const nextPath = () => Object.values(menuList())[currInd() + 1] ? Object.values(menuList())[currInd() + 1] : '';
- const pathname = () => useLocation().pathname;
- const currInd = () => Object.entries(menuList()).findIndex(val => val[1] == pathname());
- const prevPath = () => Object.values(menuList())[currInd() - 1] ? Object.values(menuList())[currInd() - 1] : ""
- const nextPath = () => Object.values(menuList())[currInd() + 1] ? Object.values(menuList())[currInd() + 1] : ""
-
- css`
+ css`
.menuBG {
display: flex;
}
.menuShown {
transform: translateX(0) !important;
}
- `
+ `;
- return (
- <>
- setMobileMenu(false)}>
-
-
-
-
-
-
+
+
- >
- )
-}
+ drop-shadow-[0_0_8px_rgba(0,0,0,0.14)]"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+ >
+ );
+};
-export default PlaygroundPage
+export default PlaygroundPage;
diff --git a/tailwind.config.js b/tailwind.config.js
index d666cab..9bf6a26 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -1,47 +1,43 @@
/** @type {import('tailwindcss').Config} */
-const defaultTheme = require('tailwindcss/defaultTheme')
+import defaultTheme from 'tailwindcss/defaultTheme';
-module.exports = {
- darkMode: 'class',
- content: [
- "./src/**/*.{js,jsx,ts,tsx}",
- ],
- theme: {
- extend: {
- colors: {
- 'am-pink':'#de273c',
- 'am-pink-light': '#ff4d62',
- 'helper-primary': '#EA6042',
- 'helper-secondary': '#FF9979',
- 'helper-transparent': '#EA604229',
- 'helper-dark': '#511C10'
- },
- fontFamily: {
- 'display': ['Hubot Sans', ...defaultTheme.fontFamily.sans],
- },
- typography: ( theme ) => ({
- DEFAULT: {
- css: {
- color: theme('colors.gray.600'),
- h: {
- color: theme('colors.gray.800'),
- },
- strong: {
- color: theme('colors.gray.700'),
- },
- a: {
- color: theme('colors.green.500'),
- '&:hover': {
- color: theme('colors.green.600')
- },
- },
- },
- }
- })
- },
- },
- plugins: [
- require('@tailwindcss/typography'),
- ],
-}
+export default {
+ darkMode: 'class',
+ content: ['./src/**/*.{js,jsx,ts,tsx}'],
+ theme: {
+ extend: {
+ colors: {
+ 'am-pink': '#de273c',
+ 'am-pink-light': '#ff4d62',
+ 'helper-primary': '#EA6042',
+ 'helper-secondary': '#FF9979',
+ 'helper-transparent': '#EA604229',
+ 'helper-dark': '#511C10',
+ },
+ fontFamily: {
+ display: ['Hubot Sans', ...defaultTheme.fontFamily.sans],
+ },
+ typography: theme => ({
+ DEFAULT: {
+ css: {
+ color: theme('colors.gray.600'),
+ h: {
+ color: theme('colors.gray.800'),
+ },
+ strong: {
+ color: theme('colors.gray.700'),
+ },
+ a: {
+ 'color': theme('colors.green.500'),
+ '&:hover': {
+ color: theme('colors.green.600'),
+ },
+ },
+ },
+ },
+ }),
+ },
+ },
+ plugins: [require('@tailwindcss/typography')],
+};
diff --git a/tsconfig.json b/tsconfig.json
index 249b273..6197ad0 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,15 +1,15 @@
{
- "compilerOptions": {
- "strict": true,
- "target": "ESNext",
- "module": "ESNext",
- "moduleResolution": "node",
- "allowSyntheticDefaultImports": true,
- "esModuleInterop": true,
- "jsx": "preserve",
- "jsxImportSource": "solid-js",
- "types": ["vite/client"],
- "noEmit": true,
- "isolatedModules": true
- }
+ "compilerOptions": {
+ "strict": true,
+ "target": "ESNext",
+ "module": "ESNext",
+ "moduleResolution": "node",
+ "allowSyntheticDefaultImports": true,
+ "esModuleInterop": true,
+ "jsx": "preserve",
+ "jsxImportSource": "solid-js",
+ "types": ["vite/client"],
+ "noEmit": true,
+ "isolatedModules": true
+ }
}
diff --git a/vite.config.ts b/vite.config.ts
index 272495f..53ce302 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -3,20 +3,20 @@ import solidPlugin from 'vite-plugin-solid';
import solidStyled from 'vite-plugin-solid-styled';
export default defineConfig({
- plugins: [
- solidPlugin(),
- solidStyled({
- prefix: 'amb-',
- filter: {
- include: 'src/**/*.tsx',
- exclude: 'node_modules/**/*.{ts,js}',
- },
- }),
- ],
- server: {
- port: 3000,
- },
- build: {
- target: 'esnext',
- },
+ plugins: [
+ solidPlugin(),
+ solidStyled({
+ prefix: 'amb-',
+ filter: {
+ include: 'src/**/*.tsx',
+ exclude: 'node_modules/**/*.{ts,js}',
+ },
+ }),
+ ],
+ server: {
+ port: 3000,
+ },
+ build: {
+ target: 'esnext',
+ },
});