-
+
{(title) => (
<>
- ·
+
+ ·
+
-
- {(arg) => (
- {arg}
- )}
-
+ {(arg) => {arg}}
-
- {(action) => action()}
-
+ {(action) => action()}
>
)}
diff --git a/packages/ui/src/v2/components/button-v2.css b/packages/ui/src/v2/components/button-v2.css
index 07576f9ec2..5b1752f6eb 100644
--- a/packages/ui/src/v2/components/button-v2.css
+++ b/packages/ui/src/v2/components/button-v2.css
@@ -102,14 +102,22 @@
[data-component="button-v2"][data-variant="contrast"]:is(:hover, [data-state="hover"]):not(:disabled) {
background-image:
- linear-gradient(90deg, var(--overlay-simple-overlay-contrast-hover) 0%, var(--overlay-simple-overlay-contrast-hover) 100%),
+ linear-gradient(
+ 90deg,
+ var(--overlay-simple-overlay-contrast-hover) 0%,
+ var(--overlay-simple-overlay-contrast-hover) 100%
+ ),
linear-gradient(180deg, var(--alpha-light-20) 0%, var(--alpha-light-0) 100%),
linear-gradient(90deg, var(--background-bg-contrast) 0%, var(--background-bg-contrast) 100%);
}
[data-component="button-v2"][data-variant="contrast"]:is(:active, [data-state="pressed"]):not(:disabled) {
background-image:
- linear-gradient(90deg, var(--overlay-simple-overlay-contrast-pressed) 0%, var(--overlay-simple-overlay-contrast-pressed) 100%),
+ linear-gradient(
+ 90deg,
+ var(--overlay-simple-overlay-contrast-pressed) 0%,
+ var(--overlay-simple-overlay-contrast-pressed) 100%
+ ),
linear-gradient(180deg, var(--alpha-light-20) 0%, var(--alpha-light-0) 100%),
linear-gradient(90deg, var(--background-bg-contrast) 0%, var(--background-bg-contrast) 100%);
}
diff --git a/packages/ui/src/v2/components/button-v2.stories.tsx b/packages/ui/src/v2/components/button-v2.stories.tsx
index bc8e10ba6f..b00c1e68cf 100644
--- a/packages/ui/src/v2/components/button-v2.stories.tsx
+++ b/packages/ui/src/v2/components/button-v2.stories.tsx
@@ -1,4 +1,4 @@
-import { ButtonV2 } from "./button-v2";
+import { ButtonV2 } from "./button-v2"
const docs = `### Overview
Button v2 with three visual variants and two sizes.
@@ -12,7 +12,7 @@ Button v2 with three visual variants and two sizes.
### States
- default, hover, pressed, focus, disabled.
- State selectors are available via pseudo-classes and \`[data-state]\`.
-`;
+`
export default {
title: "UI V2/Button",
@@ -46,9 +46,9 @@ export default {
options: ["normal", "large"],
},
},
-};
+}
-export const Playground = {};
+export const Playground = {}
export const Variants = {
render: () => (
@@ -65,7 +65,7 @@ export const Variants = {
Ghost
),
-};
+}
export const Sizes = {
render: () => (
@@ -88,7 +88,7 @@ export const Sizes = {
),
-};
+}
export const Icon = {
render: () => (
@@ -100,40 +100,21 @@ export const Icon = {
"flex-wrap": "wrap",
}}
>
-
+
Normal
-
+
Large
),
-};
+}
export const AllStates = {
render: () => {
- const variants = [
- "neutral",
- "contrast",
- "ghost",
- ] as const;
- const states = [
- "default",
- "hover",
- "pressed",
- "focus",
- "disabled",
- ] as const;
- const toTitleCase = (value: string) =>
- value.charAt(0).toUpperCase() + value.slice(1);
+ const variants = ["neutral", "contrast", "ghost"] as const
+ const states = ["default", "hover", "pressed", "focus", "disabled"] as const
+ const toTitleCase = (value: string) => value.charAt(0).toUpperCase() + value.slice(1)
return (
{variants.map((variant) => (
@@ -161,6 +142,6 @@ export const AllStates = {
))}
- );
+ )
},
-};
+}
diff --git a/packages/ui/src/v2/components/checkbox-v2.css b/packages/ui/src/v2/components/checkbox-v2.css
index 7755d5a5ab..fd101d3f02 100644
--- a/packages/ui/src/v2/components/checkbox-v2.css
+++ b/packages/ui/src/v2/components/checkbox-v2.css
@@ -62,9 +62,7 @@
border: none;
box-shadow: inset 0 0 0 0.5px var(--border-border-strong);
- background:
- linear-gradient(180deg, var(--alpha-light-6) 0%, var(--alpha-light-0) 100%),
- var(--background-bg-base);
+ background: linear-gradient(180deg, var(--alpha-light-6) 0%, var(--alpha-light-0) 100%), var(--background-bg-base);
transition:
background 170ms ease-out,
opacity 170ms ease-out,
@@ -135,8 +133,7 @@
[data-slot="checkbox-v2-control"] {
background:
linear-gradient(0deg, var(--overlay-simple-overlay-hover), var(--overlay-simple-overlay-hover)),
- linear-gradient(180deg, var(--alpha-light-6) 0%, var(--alpha-light-0) 100%),
- var(--background-bg-base);
+ linear-gradient(180deg, var(--alpha-light-6) 0%, var(--alpha-light-0) 100%), var(--background-bg-base);
}
[data-slot="checkbox-v2"]:where([data-disabled]) [data-slot="checkbox-v2-control"] {
@@ -144,9 +141,7 @@
}
[data-slot="checkbox-v2"]:where([data-checked], [data-indeterminate]) [data-slot="checkbox-v2-control"] {
- background:
- linear-gradient(180deg, var(--alpha-light-20) 0%, var(--alpha-light-0) 100%),
- var(--background-bg-accent);
+ background: linear-gradient(180deg, var(--alpha-light-20) 0%, var(--alpha-light-0) 100%), var(--background-bg-accent);
}
[data-slot="checkbox-v2"]:where([data-checked], [data-indeterminate]):where(:hover):where(
@@ -155,8 +150,7 @@
[data-slot="checkbox-v2-control"] {
background:
linear-gradient(0deg, var(--overlay-simple-overlay-contrast-hover), var(--overlay-simple-overlay-contrast-hover)),
- linear-gradient(180deg, var(--alpha-light-20) 0%, var(--alpha-light-0) 100%),
- var(--background-bg-accent);
+ linear-gradient(180deg, var(--alpha-light-20) 0%, var(--alpha-light-0) 100%), var(--background-bg-accent);
}
[data-slot="checkbox-v2"]:where([data-invalid]):where(:not([data-checked], [data-indeterminate]))
diff --git a/packages/ui/src/v2/components/checkbox-v2.stories.tsx b/packages/ui/src/v2/components/checkbox-v2.stories.tsx
index 364a3c5ee6..c07e80364c 100644
--- a/packages/ui/src/v2/components/checkbox-v2.stories.tsx
+++ b/packages/ui/src/v2/components/checkbox-v2.stories.tsx
@@ -86,13 +86,7 @@ export const States = {
-
+
),
}
diff --git a/packages/ui/src/v2/components/checkbox-v2.tsx b/packages/ui/src/v2/components/checkbox-v2.tsx
index 6625e56ad6..b66a99f656 100644
--- a/packages/ui/src/v2/components/checkbox-v2.tsx
+++ b/packages/ui/src/v2/components/checkbox-v2.tsx
@@ -54,9 +54,7 @@ export function CheckboxV2(props: CheckboxV2Props) {
{local.label}
- {(description) => (
- {description()}
- )}
+ {(description) => {description()}}
diff --git a/packages/ui/src/v2/components/dialog-v2.css b/packages/ui/src/v2/components/dialog-v2.css
index a0ed79d8d6..ef2938b148 100644
--- a/packages/ui/src/v2/components/dialog-v2.css
+++ b/packages/ui/src/v2/components/dialog-v2.css
@@ -64,23 +64,23 @@
[data-slot="dialog-title"] {
margin: 0;
- font-family: 'Inter', var(--font-family-sans);
+ font-family: "Inter", var(--font-family-sans);
font-weight: 530;
font-size: 15px;
line-height: 100%;
letter-spacing: -0.13px;
color: var(--text-text-base);
- font-variation-settings: 'slnt' 0;
+ font-variation-settings: "slnt" 0;
}
[data-slot="dialog-description"] {
- font-family: 'Inter', var(--font-family-sans);
+ font-family: "Inter", var(--font-family-sans);
font-weight: 440;
font-size: 13px;
line-height: 100%;
letter-spacing: -0.04px;
color: var(--text-text-muted);
- font-variation-settings: 'slnt' 0;
+ font-variation-settings: "slnt" 0;
}
[data-slot="dialog-close-button"] {
diff --git a/packages/ui/src/v2/components/dialog-v2.stories.tsx b/packages/ui/src/v2/components/dialog-v2.stories.tsx
index 00013be41d..355a87bd97 100644
--- a/packages/ui/src/v2/components/dialog-v2.stories.tsx
+++ b/packages/ui/src/v2/components/dialog-v2.stories.tsx
@@ -103,7 +103,11 @@ export const CustomAction = {
}
+ action={
+
+ Help
+
+ }
>
Dialog body content.
diff --git a/packages/ui/src/v2/components/dialog-v2.tsx b/packages/ui/src/v2/components/dialog-v2.tsx
index 2c87900c97..b674efe64d 100644
--- a/packages/ui/src/v2/components/dialog-v2.tsx
+++ b/packages/ui/src/v2/components/dialog-v2.tsx
@@ -17,27 +17,14 @@ export function DialogFooter(props: ParentProps) {
}
export function Dialog(props: DialogProps) {
- const [local] = splitProps(props, [
- "title",
- "description",
- "action",
- "size",
- "class",
- "classList",
- "fit",
- "children",
- ])
+ const [local] = splitProps(props, ["title", "description", "action", "size", "class", "classList", "fit", "children"])
const title = children(() => local.title)
const description = children(() => local.description)
const action = children(() => local.action)
const hasHeader = () => title() || action()
return (
-
+
-
- {(t) => {t()}}
-
+ {(t) => {t()}}
- {(d) => (
- {d()}
- )}
+ {(d) => {d()}}
{(a) => a()}
-
diff --git a/packages/ui/src/v2/components/field-v2.stories.tsx b/packages/ui/src/v2/components/field-v2.stories.tsx
index 5b0e9cce2f..2bc5fd252a 100644
--- a/packages/ui/src/v2/components/field-v2.stories.tsx
+++ b/packages/ui/src/v2/components/field-v2.stories.tsx
@@ -125,12 +125,7 @@ export const Controlled = {
Amount
- setValue(e.currentTarget.value)}
- numeric
- />
+ setValue(e.currentTarget.value)} numeric />
{value() ? `Entered: ${value()}` : "Suffix"}
diff --git a/packages/ui/src/v2/components/field-v2.tsx b/packages/ui/src/v2/components/field-v2.tsx
index 19f748fc5c..45b5a70b2e 100644
--- a/packages/ui/src/v2/components/field-v2.tsx
+++ b/packages/ui/src/v2/components/field-v2.tsx
@@ -82,10 +82,7 @@ function FieldV2Root(props: ParentProps) {
const root = rootRef
if (!root) return
- const control = root.querySelector(CONTROL_SELECTOR) as
- | HTMLInputElement
- | HTMLTextAreaElement
- | null
+ const control = root.querySelector(CONTROL_SELECTOR) as HTMLInputElement | HTMLTextAreaElement | null
if (!control) return
const shell = control.closest(
@@ -142,14 +139,7 @@ function FieldV2Root(props: ParentProps) {
function FieldLabelInfoIcon() {
return (
-
+
{local.comment}
{local.selection}
-
- {(actions) => {actions()}
}
-
+
{(actions) => {actions()}
}
)
}
-export interface LineCommentEditorV2Props
- extends Omit, "children" | "onInput" | "onSubmit"> {
+export interface LineCommentEditorV2Props extends Omit, "children" | "onInput" | "onSubmit"> {
/** Visible field label above the textarea (default: “Comment”). */
heading?: JSX.Element | string
value: string
@@ -147,13 +144,7 @@ export function LineCommentEditorV2(props: LineCommentEditorV2Props) {
local.onCancel()}>
{local.cancelLabel ?? "Cancel"}
-
+
{local.submitLabel ?? "Comment"}
diff --git a/packages/ui/src/v2/components/menu-v2.css b/packages/ui/src/v2/components/menu-v2.css
index 0207fef1a9..e33669c13b 100644
--- a/packages/ui/src/v2/components/menu-v2.css
+++ b/packages/ui/src/v2/components/menu-v2.css
@@ -11,7 +11,7 @@
box-shadow: var(--elevation-floating);
outline: none;
- font-family: var(--font-family-sans), 'Inter', system-ui, sans-serif;
+ font-family: var(--font-family-sans), "Inter", system-ui, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
@@ -52,8 +52,8 @@
cursor: default;
user-select: none;
- font-family: var(--font-family-sans), 'Inter', system-ui, sans-serif;
- font-variation-settings: 'slnt' 0;
+ font-family: var(--font-family-sans), "Inter", system-ui, sans-serif;
+ font-variation-settings: "slnt" 0;
font-variant-numeric: tabular-nums;
color: var(--menu-v2-fg);
@@ -164,7 +164,7 @@
height: 28px;
padding: 0 12px;
- font-family: var(--font-family-sans), 'Inter', system-ui, sans-serif;
+ font-family: var(--font-family-sans), "Inter", system-ui, sans-serif;
font-size: 11px;
font-weight: 530;
line-height: 100%;
diff --git a/packages/ui/src/v2/components/menu-v2.tsx b/packages/ui/src/v2/components/menu-v2.tsx
index f3dbe39d48..7cea2c5153 100644
--- a/packages/ui/src/v2/components/menu-v2.tsx
+++ b/packages/ui/src/v2/components/menu-v2.tsx
@@ -18,14 +18,7 @@ const ChevronRight: Component = () => (
)
const CheckMark: Component = () => (
-
+
{props.children}
-
- {(shortcut) => {shortcut()}}
-
-
- {(badge) => {badge()}}
-
+ {(shortcut) => {shortcut()}}
+ {(badge) => {badge()}}
{props.trailing}
>
)
@@ -65,11 +54,7 @@ export interface MenuV2ItemProps extends ComponentProps) {
const [s, r] = splitProps(props, ["class", "classList", "children", "shortcut", "badge"])
return (
-
+
{s.children}
diff --git a/packages/ui/src/v2/components/radio-v2.css b/packages/ui/src/v2/components/radio-v2.css
index 2549820d42..4a9bebb3a4 100644
--- a/packages/ui/src/v2/components/radio-v2.css
+++ b/packages/ui/src/v2/components/radio-v2.css
@@ -91,9 +91,7 @@
border: none;
box-shadow: inset 0 0 0 0.5px var(--border-border-strong);
- background:
- linear-gradient(180deg, var(--alpha-light-6) 0%, var(--alpha-light-0) 100%),
- var(--background-bg-base);
+ background: linear-gradient(180deg, var(--alpha-light-6) 0%, var(--alpha-light-0) 100%), var(--background-bg-base);
transition:
background 170ms ease-out,
opacity 170ms ease-out,
@@ -112,8 +110,7 @@
[data-slot="radio-v2-item-control"] {
background:
linear-gradient(0deg, var(--overlay-simple-overlay-hover), var(--overlay-simple-overlay-hover)),
- linear-gradient(180deg, var(--alpha-light-6) 0%, var(--alpha-light-0) 100%),
- var(--background-bg-base);
+ linear-gradient(180deg, var(--alpha-light-6) 0%, var(--alpha-light-0) 100%), var(--background-bg-base);
}
&:where([data-disabled]) [data-slot="radio-v2-item-control"] {
@@ -122,16 +119,14 @@
&:where([data-checked]) [data-slot="radio-v2-item-control"] {
background:
- linear-gradient(180deg, var(--alpha-light-20) 0%, var(--alpha-light-0) 100%),
- var(--background-bg-accent);
+ linear-gradient(180deg, var(--alpha-light-20) 0%, var(--alpha-light-0) 100%), var(--background-bg-accent);
}
&:where([data-checked]):where(:hover):where(:not([data-disabled], [data-readonly]))
[data-slot="radio-v2-item-control"] {
background:
linear-gradient(0deg, var(--overlay-simple-overlay-contrast-hover), var(--overlay-simple-overlay-contrast-hover)),
- linear-gradient(180deg, var(--alpha-light-20) 0%, var(--alpha-light-0) 100%),
- var(--background-bg-accent);
+ linear-gradient(180deg, var(--alpha-light-20) 0%, var(--alpha-light-0) 100%), var(--background-bg-accent);
}
&:where([data-checked][data-disabled]) [data-slot="radio-v2-item-control"] {
diff --git a/packages/ui/src/v2/components/radio-v2.stories.tsx b/packages/ui/src/v2/components/radio-v2.stories.tsx
index a7a914220b..1661573789 100644
--- a/packages/ui/src/v2/components/radio-v2.stories.tsx
+++ b/packages/ui/src/v2/components/radio-v2.stories.tsx
@@ -45,12 +45,7 @@ export const Controlled = {
const [value, setValue] = createSignal("weekly")
return (
- setValue(v)}
- name="controlled-frequency"
- >
+ setValue(v)} name="controlled-frequency">
@@ -95,4 +90,3 @@ export const States = {
),
}
-
diff --git a/packages/ui/src/v2/components/radio-v2.tsx b/packages/ui/src/v2/components/radio-v2.tsx
index d65698b2dd..6035ffd30b 100644
--- a/packages/ui/src/v2/components/radio-v2.tsx
+++ b/packages/ui/src/v2/components/radio-v2.tsx
@@ -28,9 +28,7 @@ export function RadioGroupV2(props: RadioGroupV2Props) {
)}
- {(description) => (
- {description()}
- )}
+ {(description) => {description()}}
{local.children}
@@ -65,13 +63,10 @@ export function RadioItemV2(props: RadioItemV2Props) {
{local.label}
- {(description) => (
- {description()}
- )}
+ {(description) => {description()}}
)
}
-
diff --git a/packages/ui/src/v2/components/segmented-control-v2.tsx b/packages/ui/src/v2/components/segmented-control-v2.tsx
index 80383825e9..006b28394f 100644
--- a/packages/ui/src/v2/components/segmented-control-v2.tsx
+++ b/packages/ui/src/v2/components/segmented-control-v2.tsx
@@ -59,7 +59,7 @@ export function SegmentedControlV2(props: SegmentedControlV2Props) {
const [internal, setInternal] = createSignal(local.defaultValue ?? null)
- const selected = createMemo(() => (isControlled() ? local.value ?? null : internal()))
+ const selected = createMemo(() => (isControlled() ? (local.value ?? null) : internal()))
const setSelected = (next: string | null) => {
if (!isControlled()) setInternal(next)
@@ -78,9 +78,9 @@ export function SegmentedControlV2(props: SegmentedControlV2Props) {
const focusNext = (from: HTMLButtonElement, direction: 1 | -1) => {
const root = from.closest(`[data-slot="segmented-control-v2"]`)
if (!root) return
- const buttons = Array.from(root.querySelectorAll(`button[data-slot="segmented-control-v2-item"]`)).filter(
- (b) => !b.disabled,
- )
+ const buttons = Array.from(
+ root.querySelectorAll(`button[data-slot="segmented-control-v2-item"]`),
+ ).filter((b) => !b.disabled)
const i = buttons.indexOf(from)
const next = buttons[i + direction]
next?.focus()
@@ -134,7 +134,15 @@ function invokeButtonHandler(
export function SegmentedControlItemV2(props: SegmentedControlItemV2Props) {
const merged = mergeProps({ disabled: false }, props)
- const [local, rest] = splitProps(merged, ["class", "classList", "children", "value", "disabled", "onClick", "onKeyDown"])
+ const [local, rest] = splitProps(merged, [
+ "class",
+ "classList",
+ "children",
+ "value",
+ "disabled",
+ "onClick",
+ "onKeyDown",
+ ])
const ctx = useSegmentedControlContext()
const pressed = createMemo(() => ctx.selected() === local.value)
@@ -151,25 +159,29 @@ export function SegmentedControlItemV2(props: SegmentedControlItemV2Props) {
invokeButtonHandler(local.onKeyDown, e)
if (e.defaultPrevented || disabled()) return
const t = e.currentTarget
-
+
if (e.key === "ArrowRight") {
e.preventDefault()
ctx.focusNext(t, 1)
} else if (e.key === "ArrowLeft") {
e.preventDefault()
ctx.focusNext(t, -1)
- }
-
+ }
+
// accessibility stuff
else if (e.key === "Home") {
e.preventDefault()
const root = t.closest(`[data-slot="segmented-control-v2"]`)
- const first = root?.querySelector(`button[data-slot="segmented-control-v2-item"]:not(:disabled)`)
+ const first = root?.querySelector(
+ `button[data-slot="segmented-control-v2-item"]:not(:disabled)`,
+ )
first?.focus()
} else if (e.key === "End") {
e.preventDefault()
const root = t.closest(`[data-slot="segmented-control-v2"]`)
- const buttons = root?.querySelectorAll(`button[data-slot="segmented-control-v2-item"]:not(:disabled)`)
+ const buttons = root?.querySelectorAll(
+ `button[data-slot="segmented-control-v2-item"]:not(:disabled)`,
+ )
const last = buttons?.[buttons.length - 1]
last?.focus()
}
diff --git a/packages/ui/src/v2/components/select-v2.css b/packages/ui/src/v2/components/select-v2.css
index 3186aac172..05950d1646 100644
--- a/packages/ui/src/v2/components/select-v2.css
+++ b/packages/ui/src/v2/components/select-v2.css
@@ -46,9 +46,7 @@
border-radius: 6px;
outline: 1px solid transparent;
outline-offset: 0;
- background:
- linear-gradient(180deg, var(--alpha-light-2) 0%, var(--alpha-light-0) 100%),
- var(--background-bg-base);
+ background: linear-gradient(180deg, var(--alpha-light-2) 0%, var(--alpha-light-0) 100%), var(--background-bg-base);
box-shadow: var(--elevation-button-neutral);
flex: none;
align-self: stretch;
@@ -63,11 +61,12 @@
padding: 0 8px 0 0;
}
-[data-component="select-v2"]:where(:hover):not([data-disabled], [data-invalid]):not(:focus-within):not([data-expanded]) {
+[data-component="select-v2"]:where(:hover):not([data-disabled], [data-invalid]):not(:focus-within):not(
+ [data-expanded]
+ ) {
background:
linear-gradient(0deg, var(--overlay-simple-overlay-hover), var(--overlay-simple-overlay-hover)),
- linear-gradient(180deg, var(--alpha-light-2) 0%, var(--alpha-light-0) 100%),
- var(--background-bg-base);
+ linear-gradient(180deg, var(--alpha-light-2) 0%, var(--alpha-light-0) 100%), var(--background-bg-base);
}
[data-component="select-v2"]:where(:focus-within):not([data-disabled], [data-invalid]),
@@ -189,6 +188,9 @@
color: var(--menu-v2-accent);
}
-[data-slot="select-v2-listbox"] [data-component="menu-v2-item"]:not([data-selected]) [data-slot="menu-v2-item-indicator"] svg {
+[data-slot="select-v2-listbox"]
+ [data-component="menu-v2-item"]:not([data-selected])
+ [data-slot="menu-v2-item-indicator"]
+ svg {
visibility: hidden;
}
diff --git a/packages/ui/src/v2/components/select-v2.tsx b/packages/ui/src/v2/components/select-v2.tsx
index 9d7f44c35d..cd3902bb89 100644
--- a/packages/ui/src/v2/components/select-v2.tsx
+++ b/packages/ui/src/v2/components/select-v2.tsx
@@ -1,12 +1,5 @@
import { Select as Kobalte } from "@kobalte/core/select"
-import {
- Show,
- createMemo,
- onCleanup,
- splitProps,
- type ComponentProps,
- type JSX,
-} from "solid-js"
+import { Show, createMemo, onCleanup, splitProps, type ComponentProps, type JSX } from "solid-js"
import "./select-v2.css"
function groupOptions(options: T[], groupBy?: (x: T) => string): { category: string; options: T[] }[] {
@@ -49,14 +42,7 @@ const CheckSmall = () => (
export type SelectV2Props = Omit<
ComponentProps>,
- | "value"
- | "onChange"
- | "children"
- | "options"
- | "itemComponent"
- | "sectionComponent"
- | "defaultValue"
- | "multiple"
+ "value" | "onChange" | "children" | "options" | "itemComponent" | "sectionComponent" | "defaultValue" | "multiple"
> & {
placeholder?: string
options: T[]
@@ -163,7 +149,7 @@ export function SelectV2(props: SelectV2Props) {
)}
onChange={(next) => {
- const v = next == null ? null : (Array.isArray(next) ? (next[0] as T) ?? null : (next as T))
+ const v = next == null ? null : Array.isArray(next) ? ((next[0] as T) ?? null) : (next as T)
local.onSelect?.(v)
stop()
}}
@@ -199,10 +185,7 @@ export function SelectV2(props: SelectV2Props) {
-
+
diff --git a/packages/ui/src/v2/components/switch-v2.css b/packages/ui/src/v2/components/switch-v2.css
index ba714dc68b..bc9494d038 100644
--- a/packages/ui/src/v2/components/switch-v2.css
+++ b/packages/ui/src/v2/components/switch-v2.css
@@ -29,8 +29,7 @@
border-radius: 4px;
border: none;
background:
- linear-gradient(180deg, var(--alpha-light-0) 0%, var(--alpha-light-20) 100%),
- var(--background-bg-layer-03);
+ linear-gradient(180deg, var(--alpha-light-0) 0%, var(--alpha-light-20) 100%), var(--background-bg-layer-03);
box-shadow: var(--elevation-switch-off);
transition:
background 90ms ease-out,
@@ -46,7 +45,11 @@
border-radius: 2px;
border: 0.5px solid var(--overlay-gradient-depth-overlay-depth-top);
background:
- linear-gradient(180deg, var(--overlay-gradient-depth-overlay-depth-top) 0%, var(--overlay-gradient-depth-overlay-depth-bot) 100%),
+ linear-gradient(
+ 180deg,
+ var(--overlay-gradient-depth-overlay-depth-top) 0%,
+ var(--overlay-gradient-depth-overlay-depth-bot) 100%
+ ),
var(--grey-200);
box-shadow: var(--elevation-elements);
transition:
@@ -87,8 +90,7 @@
&:hover:not([data-disabled], [data-readonly]) [data-slot="switch-control"] {
background:
linear-gradient(0deg, var(--overlay-simple-overlay-hover), var(--overlay-simple-overlay-hover)),
- linear-gradient(180deg, var(--alpha-light-0) 0%, var(--alpha-light-20) 100%),
- var(--background-bg-layer-03);
+ linear-gradient(180deg, var(--alpha-light-0) 0%, var(--alpha-light-20) 100%), var(--background-bg-layer-03);
}
&:hover:not([data-disabled], [data-readonly]) [data-slot="switch-thumb"] {
@@ -103,8 +105,7 @@
&[data-checked] [data-slot="switch-control"] {
background:
- linear-gradient(180deg, var(--alpha-light-0) 0%, var(--alpha-light-10) 100%),
- var(--background-bg-accent);
+ linear-gradient(180deg, var(--alpha-light-0) 0%, var(--alpha-light-10) 100%), var(--background-bg-accent);
box-shadow: var(--elevation-switch-on);
}
@@ -112,15 +113,18 @@
transform: translateX(8px);
border-radius: 2px;
background:
- linear-gradient(180deg, var(--overlay-gradient-depth-overlay-depth-top) 0%, var(--overlay-gradient-depth-overlay-depth-bot) 100%),
+ linear-gradient(
+ 180deg,
+ var(--overlay-gradient-depth-overlay-depth-top) 0%,
+ var(--overlay-gradient-depth-overlay-depth-bot) 100%
+ ),
var(--grey-300);
}
&[data-checked]:hover:not([data-disabled], [data-readonly]) [data-slot="switch-control"] {
background:
linear-gradient(0deg, var(--overlay-simple-overlay-contrast-hover), var(--overlay-simple-overlay-contrast-hover)),
- linear-gradient(180deg, var(--alpha-light-0) 0%, var(--alpha-light-10) 100%),
- var(--background-bg-accent);
+ linear-gradient(180deg, var(--alpha-light-0) 0%, var(--alpha-light-10) 100%), var(--background-bg-accent);
}
&[data-checked]:hover:not([data-disabled], [data-readonly]) [data-slot="switch-thumb"] {
diff --git a/packages/ui/src/v2/components/tabs-v2.css b/packages/ui/src/v2/components/tabs-v2.css
index 2d80d25b50..4309b8e46e 100644
--- a/packages/ui/src/v2/components/tabs-v2.css
+++ b/packages/ui/src/v2/components/tabs-v2.css
@@ -128,16 +128,19 @@
padding: 6px;
}
-[data-component="tabs-v2"][data-variant="normal"][data-orientation="horizontal"] [data-slot="tabs-v2-trigger-wrapper"]:hover:not(:disabled):not([data-selected]) {
+[data-component="tabs-v2"][data-variant="normal"][data-orientation="horizontal"]
+ [data-slot="tabs-v2-trigger-wrapper"]:hover:not(:disabled):not([data-selected]) {
color: var(--text-text-base);
}
-[data-component="tabs-v2"][data-variant="normal"][data-orientation="horizontal"] [data-slot="tabs-v2-trigger-wrapper"]:has([data-selected]) {
+[data-component="tabs-v2"][data-variant="normal"][data-orientation="horizontal"]
+ [data-slot="tabs-v2-trigger-wrapper"]:has([data-selected]) {
border-bottom-color: var(--text-text-faint);
color: var(--text-text-base);
}
-[data-component="tabs-v2"][data-variant="normal"][data-orientation="horizontal"] [data-slot="tabs-v2-trigger-wrapper"]:not(:has([data-selected])) {
+[data-component="tabs-v2"][data-variant="normal"][data-orientation="horizontal"]
+ [data-slot="tabs-v2-trigger-wrapper"]:not(:has([data-selected])) {
color: var(--text-text-muted);
}
@@ -157,13 +160,15 @@
border: 0.5px solid transparent;
}
-[data-component="tabs-v2"][data-variant="pill"][data-orientation="horizontal"] [data-slot="tabs-v2-trigger-wrapper"]:hover:not(:disabled):not(:has([data-selected])) {
+[data-component="tabs-v2"][data-variant="pill"][data-orientation="horizontal"]
+ [data-slot="tabs-v2-trigger-wrapper"]:hover:not(:disabled):not(:has([data-selected])) {
background-color: var(--background-bg-layer-01);
color: var(--text-text-base);
border: 0.5px solid var(--border-border-muted);
}
-[data-component="tabs-v2"][data-variant="pill"][data-orientation="horizontal"] [data-slot="tabs-v2-trigger-wrapper"]:has([data-selected]) {
+[data-component="tabs-v2"][data-variant="pill"][data-orientation="horizontal"]
+ [data-slot="tabs-v2-trigger-wrapper"]:has([data-selected]) {
background-color: var(--background-bg-layer-02);
color: var(--text-text-base);
border: 0.5px solid var(--border-border-muted);
@@ -205,11 +210,13 @@
padding: 0 6px;
}
-[data-component="tabs-v2"][data-variant="settings"][data-orientation="vertical"] [data-slot="tabs-v2-trigger-wrapper"]:hover:not(:disabled):not(:has([data-selected])) {
+[data-component="tabs-v2"][data-variant="settings"][data-orientation="vertical"]
+ [data-slot="tabs-v2-trigger-wrapper"]:hover:not(:disabled):not(:has([data-selected])) {
color: var(--text-text-base);
}
-[data-component="tabs-v2"][data-variant="settings"][data-orientation="vertical"] [data-slot="tabs-v2-trigger-wrapper"]:has([data-selected]) {
+[data-component="tabs-v2"][data-variant="settings"][data-orientation="vertical"]
+ [data-slot="tabs-v2-trigger-wrapper"]:has([data-selected]) {
background-color: var(--background-bg-layer-02);
color: var(--text-text-base);
border: 0.5px solid var(--border-border-muted);
diff --git a/packages/ui/src/v2/components/tabs-v2.stories.tsx b/packages/ui/src/v2/components/tabs-v2.stories.tsx
index 74da567b62..c275c25c3b 100644
--- a/packages/ui/src/v2/components/tabs-v2.stories.tsx
+++ b/packages/ui/src/v2/components/tabs-v2.stories.tsx
@@ -80,10 +80,10 @@ export const Settings = {
- General settings
+ General settings
- Appearance settings
+ Appearance settings
),
diff --git a/packages/ui/src/v2/components/tabs-v2.tsx b/packages/ui/src/v2/components/tabs-v2.tsx
index 227a3c604c..920bb67253 100644
--- a/packages/ui/src/v2/components/tabs-v2.tsx
+++ b/packages/ui/src/v2/components/tabs-v2.tsx
@@ -69,11 +69,7 @@ function TabsV2Trigger(props: ParentProps) {
}
}}
>
-
+
{split.children}
diff --git a/packages/ui/src/v2/components/text-input-v2.css b/packages/ui/src/v2/components/text-input-v2.css
index d488ae3af9..c4307be445 100644
--- a/packages/ui/src/v2/components/text-input-v2.css
+++ b/packages/ui/src/v2/components/text-input-v2.css
@@ -11,9 +11,7 @@
border-radius: 6px;
outline: 1px solid transparent;
outline-offset: 0;
- background:
- linear-gradient(180deg, var(--alpha-light-2) 0%, var(--alpha-light-0) 100%),
- var(--background-bg-base);
+ background: linear-gradient(180deg, var(--alpha-light-2) 0%, var(--alpha-light-0) 100%), var(--background-bg-base);
box-shadow: var(--elevation-button-neutral);
flex: none;
align-self: stretch;
@@ -30,8 +28,7 @@
[data-component="text-input-v2"]:where(:hover):not([data-disabled], [data-invalid]):not(:focus-within) {
background:
linear-gradient(0deg, var(--overlay-simple-overlay-hover), var(--overlay-simple-overlay-hover)),
- linear-gradient(180deg, var(--alpha-light-2) 0%, var(--alpha-light-0) 100%),
- var(--background-bg-base);
+ linear-gradient(180deg, var(--alpha-light-2) 0%, var(--alpha-light-0) 100%), var(--background-bg-base);
}
[data-component="text-input-v2"]:where(:focus-within):not([data-disabled], [data-invalid]) {
@@ -107,11 +104,13 @@
outline: none;
}
-[data-component="text-input-v2"] [data-slot="text-input-v2-icon-button"]:is(:hover, [data-state="hover"]):not(:disabled) {
+[data-component="text-input-v2"]
+ [data-slot="text-input-v2-icon-button"]:is(:hover, [data-state="hover"]):not(:disabled) {
background-color: var(--overlay-simple-overlay-hover);
}
-[data-component="text-input-v2"] [data-slot="text-input-v2-icon-button"]:is(:active, [data-state="pressed"]):not(:disabled) {
+[data-component="text-input-v2"]
+ [data-slot="text-input-v2-icon-button"]:is(:active, [data-state="pressed"]):not(:disabled) {
background-color: var(--overlay-simple-overlay-pressed);
}
diff --git a/packages/ui/src/v2/components/text-input-v2.stories.tsx b/packages/ui/src/v2/components/text-input-v2.stories.tsx
index 652739bd1a..5fb17f6618 100644
--- a/packages/ui/src/v2/components/text-input-v2.stories.tsx
+++ b/packages/ui/src/v2/components/text-input-v2.stories.tsx
@@ -82,11 +82,7 @@ export const Controlled = {
const [value, setValue] = createSignal("Controlled value")
return (
-
setValue(e.currentTarget.value)}
- placeholder="Type here…"
- />
+ setValue(e.currentTarget.value)} placeholder="Type here…" />
(
-
+
diff --git a/packages/ui/src/v2/components/textarea-v2.css b/packages/ui/src/v2/components/textarea-v2.css
index 53b992354c..24c98d31a8 100644
--- a/packages/ui/src/v2/components/textarea-v2.css
+++ b/packages/ui/src/v2/components/textarea-v2.css
@@ -10,9 +10,7 @@
border-radius: 6px;
outline: 1px solid transparent;
outline-offset: 0;
- background:
- linear-gradient(180deg, var(--alpha-light-2) 0%, var(--alpha-light-0) 100%),
- var(--background-bg-base);
+ background: linear-gradient(180deg, var(--alpha-light-2) 0%, var(--alpha-light-0) 100%), var(--background-bg-base);
box-shadow: var(--elevation-button-neutral);
flex: none;
align-self: stretch;
@@ -25,8 +23,7 @@
[data-component="textarea-v2"]:where(:hover):not([data-disabled], [data-invalid]):not(:focus-within) {
background:
linear-gradient(0deg, var(--overlay-simple-overlay-hover), var(--overlay-simple-overlay-hover)),
- linear-gradient(180deg, var(--alpha-light-2) 0%, var(--alpha-light-0) 100%),
- var(--background-bg-base);
+ linear-gradient(180deg, var(--alpha-light-2) 0%, var(--alpha-light-0) 100%), var(--background-bg-base);
}
[data-component="textarea-v2"]:where(:focus-within):not([data-disabled], [data-invalid]) {
diff --git a/packages/ui/src/v2/components/textarea-v2.stories.tsx b/packages/ui/src/v2/components/textarea-v2.stories.tsx
index f4a7e067f5..69cd5a8685 100644
--- a/packages/ui/src/v2/components/textarea-v2.stories.tsx
+++ b/packages/ui/src/v2/components/textarea-v2.stories.tsx
@@ -63,11 +63,7 @@ export const Controlled = {
const [value, setValue] = createSignal("Controlled value")
return (
-
setValue(e.currentTarget.value)}
- placeholder="Type here…"
- />
+ setValue(e.currentTarget.value)} placeholder="Type here…" />
{
}
export function TextareaV2(props: TextareaV2Props) {
- const [local, textareaProps] = splitProps(props, [
- "class",
- "classList",
- "invalid",
- "disabled",
- "rows",
- ])
+ const [local, textareaProps] = splitProps(props, ["class", "classList", "invalid", "disabled", "rows"])
return (
(
@@ -54,21 +54,12 @@ export const AllExamples = {
title: "Download started...",
description: "23% · 2 min left",
icon: (
-
+
-
+
),
@@ -93,21 +84,12 @@ export const AllExamples = {
title: "Saved",
description: "Your changes are stored",
icon: (
-
+
-
+
),
})
@@ -122,49 +104,15 @@ export const AllExamples = {
mod.showToastV2({
title: "Saving...",
icon: (
-
+
-
-
-
-
+
+
+
+
),
persistent: true,
@@ -181,13 +129,7 @@ export const AllExamples = {
title: "Unsaved changes",
description: "You have made 4 edits...",
icon: (
-
+
),
-};
+}
diff --git a/packages/ui/src/v2/components/toast-v2.tsx b/packages/ui/src/v2/components/toast-v2.tsx
index c7bc712a1c..15a5c98543 100644
--- a/packages/ui/src/v2/components/toast-v2.tsx
+++ b/packages/ui/src/v2/components/toast-v2.tsx
@@ -59,11 +59,7 @@ function ToastV2Actions(props: ComponentProps<"div">) {
function ToastV2CloseButton(props: ToastCloseButtonProps & ComponentProps<"button">) {
return (
-
+
diff --git a/packages/ui/src/v2/components/tool-error-card-v2.tsx b/packages/ui/src/v2/components/tool-error-card-v2.tsx
index 6288738f01..6951001dfc 100644
--- a/packages/ui/src/v2/components/tool-error-card-v2.tsx
+++ b/packages/ui/src/v2/components/tool-error-card-v2.tsx
@@ -1,11 +1,5 @@
import { Collapsible } from "@kobalte/core/collapsible"
-import {
- type ComponentProps,
- type JSX,
- Show,
- createMemo,
- splitProps,
-} from "solid-js"
+import { type ComponentProps, type JSX, Show, createMemo, splitProps } from "solid-js"
import "./tool-error-card-v2.css"
function BanIcon() {
@@ -129,11 +123,7 @@ export function ToolErrorCardV2(props: ToolErrorCardV2Props) {
[local.class ?? ""]: !!local.class,
}}
>
-
+
}>
diff --git a/packages/ui/src/v2/components/tooltip-v2.stories.tsx b/packages/ui/src/v2/components/tooltip-v2.stories.tsx
index cd27cc80a4..68595c79ae 100644
--- a/packages/ui/src/v2/components/tooltip-v2.stories.tsx
+++ b/packages/ui/src/v2/components/tooltip-v2.stories.tsx
@@ -59,7 +59,13 @@ export const WithKeybind = {
export const Path = {
render: () => (
- Components / Tooltip>}>
+
+ Components / Tooltip
+ >
+ }
+ >
Hover me
diff --git a/packages/ui/src/v2/styles/colors.css b/packages/ui/src/v2/styles/colors.css
index b9ac4d66d1..7d6355a330 100644
--- a/packages/ui/src/v2/styles/colors.css
+++ b/packages/ui/src/v2/styles/colors.css
@@ -1,171 +1,171 @@
@layer theme {
:root {
/* ── Grey ── */
- --v2-grey-100: #FFFFFFFF;
- --v2-grey-200: #FAFAFAFF;
- --v2-grey-300: #EEEEEEFF;
- --v2-grey-400: #D4D4D4FF;
- --v2-grey-500: #AEAEAEFF;
- --v2-grey-600: #808080FF;
- --v2-grey-700: #5C5C5CFF;
- --v2-grey-800: #3A3A3AFF;
- --v2-grey-900: #242424FF;
- --v2-grey-1000: #161616FF;
- --v2-grey-1100: #080808FF;
- --v2-grey-1200: #000000FF;
+ --v2-grey-100: #ffffffff;
+ --v2-grey-200: #fafafaff;
+ --v2-grey-300: #eeeeeeff;
+ --v2-grey-400: #d4d4d4ff;
+ --v2-grey-500: #aeaeaeff;
+ --v2-grey-600: #808080ff;
+ --v2-grey-700: #5c5c5cff;
+ --v2-grey-800: #3a3a3aff;
+ --v2-grey-900: #242424ff;
+ --v2-grey-1000: #161616ff;
+ --v2-grey-1100: #080808ff;
+ --v2-grey-1200: #000000ff;
/* ── Alpha Dark ── */
- --v2-alpha-dark-100: #000000FF;
- --v2-alpha-dark-90: #000000E5;
- --v2-alpha-dark-80: #000000CC;
- --v2-alpha-dark-70: #000000B2;
+ --v2-alpha-dark-100: #000000ff;
+ --v2-alpha-dark-90: #000000e5;
+ --v2-alpha-dark-80: #000000cc;
+ --v2-alpha-dark-70: #000000b2;
--v2-alpha-dark-60: #00000099;
--v2-alpha-dark-50: #00000080;
--v2-alpha-dark-40: #00000066;
- --v2-alpha-dark-30: #0000004D;
- --v2-alpha-dark-24: #0000003D;
+ --v2-alpha-dark-30: #0000004d;
+ --v2-alpha-dark-24: #0000003d;
--v2-alpha-dark-20: #00000033;
--v2-alpha-dark-16: #00000029;
--v2-alpha-dark-14: #00000024;
- --v2-alpha-dark-12: #0000001F;
- --v2-alpha-dark-10: #0000001A;
+ --v2-alpha-dark-12: #0000001f;
+ --v2-alpha-dark-10: #0000001a;
--v2-alpha-dark-8: #00000014;
- --v2-alpha-dark-6: #0000000F;
- --v2-alpha-dark-4: #0000000A;
+ --v2-alpha-dark-6: #0000000f;
+ --v2-alpha-dark-4: #0000000a;
--v2-alpha-dark-2: #00000005;
--v2-alpha-dark-0: #00000000;
/* ── Alpha Light ── */
- --v2-alpha-light-100: #FFFFFFFF;
- --v2-alpha-light-90: #FFFFFFE5;
- --v2-alpha-light-80: #FFFFFFCC;
- --v2-alpha-light-70: #FFFFFFB2;
- --v2-alpha-light-60: #FFFFFF99;
- --v2-alpha-light-50: #FFFFFF80;
- --v2-alpha-light-40: #FFFFFF66;
- --v2-alpha-light-30: #FFFFFF4D;
- --v2-alpha-light-24: #FFFFFF3D;
- --v2-alpha-light-20: #FFFFFF33;
- --v2-alpha-light-16: #FFFFFF29;
- --v2-alpha-light-14: #FFFFFF24;
- --v2-alpha-light-12: #FFFFFF1F;
- --v2-alpha-light-10: #FFFFFF1A;
- --v2-alpha-light-8: #FFFFFF14;
- --v2-alpha-light-6: #FFFFFF0F;
- --v2-alpha-light-4: #FFFFFF0A;
- --v2-alpha-light-2: #FFFFFF05;
- --v2-alpha-light-0: #FFFFFF00;
+ --v2-alpha-light-100: #ffffffff;
+ --v2-alpha-light-90: #ffffffe5;
+ --v2-alpha-light-80: #ffffffcc;
+ --v2-alpha-light-70: #ffffffb2;
+ --v2-alpha-light-60: #ffffff99;
+ --v2-alpha-light-50: #ffffff80;
+ --v2-alpha-light-40: #ffffff66;
+ --v2-alpha-light-30: #ffffff4d;
+ --v2-alpha-light-24: #ffffff3d;
+ --v2-alpha-light-20: #ffffff33;
+ --v2-alpha-light-16: #ffffff29;
+ --v2-alpha-light-14: #ffffff24;
+ --v2-alpha-light-12: #ffffff1f;
+ --v2-alpha-light-10: #ffffff1a;
+ --v2-alpha-light-8: #ffffff14;
+ --v2-alpha-light-6: #ffffff0f;
+ --v2-alpha-light-4: #ffffff0a;
+ --v2-alpha-light-2: #ffffff05;
+ --v2-alpha-light-0: #ffffff00;
/* ── Red ── */
- --v2-red-100: #FCECEBFF;
- --v2-red-200: #F6D5D3FF;
- --v2-red-300: #F2BBB7FF;
- --v2-red-400: #F29B96FF;
- --v2-red-500: #F17471FF;
- --v2-red-600: #F1484FFF;
- --v2-red-700: #D92E3CFF;
- --v2-red-800: #B82D35FF;
- --v2-red-900: #97252BFF;
- --v2-red-1000: #7A1F23FF;
- --v2-red-1100: #5F1A1CFF;
- --v2-red-1200: #461516FF;
+ --v2-red-100: #fcecebff;
+ --v2-red-200: #f6d5d3ff;
+ --v2-red-300: #f2bbb7ff;
+ --v2-red-400: #f29b96ff;
+ --v2-red-500: #f17471ff;
+ --v2-red-600: #f1484fff;
+ --v2-red-700: #d92e3cff;
+ --v2-red-800: #b82d35ff;
+ --v2-red-900: #97252bff;
+ --v2-red-1000: #7a1f23ff;
+ --v2-red-1100: #5f1a1cff;
+ --v2-red-1200: #461516ff;
/* ── Orange ── */
- --v2-orange-100: #FDF2EDFF;
- --v2-orange-200: #FFE7DCFF;
- --v2-orange-300: #FFD8C6FF;
- --v2-orange-400: #FFC1A4FF;
- --v2-orange-500: #FFA478FF;
- --v2-orange-600: #FF8648FF;
- --v2-orange-700: #EE7330FF;
- --v2-orange-800: #D16427FF;
- --v2-orange-900: #B35624FF;
- --v2-orange-1000: #954C27FF;
- --v2-orange-1100: #723D22FF;
- --v2-orange-1200: #5A2C14FF;
+ --v2-orange-100: #fdf2edff;
+ --v2-orange-200: #ffe7dcff;
+ --v2-orange-300: #ffd8c6ff;
+ --v2-orange-400: #ffc1a4ff;
+ --v2-orange-500: #ffa478ff;
+ --v2-orange-600: #ff8648ff;
+ --v2-orange-700: #ee7330ff;
+ --v2-orange-800: #d16427ff;
+ --v2-orange-900: #b35624ff;
+ --v2-orange-1000: #954c27ff;
+ --v2-orange-1100: #723d22ff;
+ --v2-orange-1200: #5a2c14ff;
/* ── Yellow ── */
- --v2-yellow-100: #FEFAECFF;
- --v2-yellow-200: #FCEFD0FF;
- --v2-yellow-300: #F7E5B5FF;
- --v2-yellow-400: #F3DA9BFF;
- --v2-yellow-500: #F2CF76FF;
- --v2-yellow-600: #F6C251FF;
- --v2-yellow-700: #E7AF36FF;
- --v2-yellow-800: #CB9F34FF;
- --v2-yellow-900: #AC8833FF;
- --v2-yellow-1000: #8E7231FF;
- --v2-yellow-1100: #68552BFF;
- --v2-yellow-1200: #4B4025FF;
+ --v2-yellow-100: #fefaecff;
+ --v2-yellow-200: #fcefd0ff;
+ --v2-yellow-300: #f7e5b5ff;
+ --v2-yellow-400: #f3da9bff;
+ --v2-yellow-500: #f2cf76ff;
+ --v2-yellow-600: #f6c251ff;
+ --v2-yellow-700: #e7af36ff;
+ --v2-yellow-800: #cb9f34ff;
+ --v2-yellow-900: #ac8833ff;
+ --v2-yellow-1000: #8e7231ff;
+ --v2-yellow-1100: #68552bff;
+ --v2-yellow-1200: #4b4025ff;
/* ── Green ── */
- --v2-green-100: #E7F9EAFF;
- --v2-green-200: #D0F0D5FF;
- --v2-green-300: #B8E9C1FF;
- --v2-green-400: #96E3A6FF;
- --v2-green-500: #6BD586FF;
- --v2-green-600: #49C970FF;
- --v2-green-700: #2EAF5AFF;
- --v2-green-800: #198B43FF;
- --v2-green-900: #1D783CFF;
- --v2-green-1000: #196130FF;
- --v2-green-1100: #164C26FF;
- --v2-green-1200: #14361DFF;
+ --v2-green-100: #e7f9eaff;
+ --v2-green-200: #d0f0d5ff;
+ --v2-green-300: #b8e9c1ff;
+ --v2-green-400: #96e3a6ff;
+ --v2-green-500: #6bd586ff;
+ --v2-green-600: #49c970ff;
+ --v2-green-700: #2eaf5aff;
+ --v2-green-800: #198b43ff;
+ --v2-green-900: #1d783cff;
+ --v2-green-1000: #196130ff;
+ --v2-green-1100: #164c26ff;
+ --v2-green-1200: #14361dff;
/* ── Cyan ── */
- --v2-cyan-100: #E2F7FBFF;
- --v2-cyan-200: #C4EDF4FF;
- --v2-cyan-300: #A3E4EFFF;
- --v2-cyan-400: #65D9EBFF;
- --v2-cyan-500: #00C5DFFF;
- --v2-cyan-600: #00ABCFFF;
- --v2-cyan-700: #0096B8FF;
- --v2-cyan-800: #007D9BFF;
- --v2-cyan-900: #006C85FF;
- --v2-cyan-1000: #005A6EFF;
- --v2-cyan-1100: #004756FF;
- --v2-cyan-1200: #00353FFF;
+ --v2-cyan-100: #e2f7fbff;
+ --v2-cyan-200: #c4edf4ff;
+ --v2-cyan-300: #a3e4efff;
+ --v2-cyan-400: #65d9ebff;
+ --v2-cyan-500: #00c5dfff;
+ --v2-cyan-600: #00abcfff;
+ --v2-cyan-700: #0096b8ff;
+ --v2-cyan-800: #007d9bff;
+ --v2-cyan-900: #006c85ff;
+ --v2-cyan-1000: #005a6eff;
+ --v2-cyan-1100: #004756ff;
+ --v2-cyan-1200: #00353fff;
/* ── Blue ── */
- --v2-blue-100: #ECF1FEFF;
- --v2-blue-200: #D7E2FCFF;
- --v2-blue-300: #C3D4FDFF;
- --v2-blue-400: #A2BCFFFF;
- --v2-blue-500: #7698FDFF;
- --v2-blue-600: #3B5CF6FF;
- --v2-blue-700: #3250DFFF;
- --v2-blue-800: #2C47C8FF;
- --v2-blue-900: #263FA9FF;
- --v2-blue-1000: #22388FFF;
- --v2-blue-1100: #1C2E70FF;
- --v2-blue-1200: #1B2852FF;
+ --v2-blue-100: #ecf1feff;
+ --v2-blue-200: #d7e2fcff;
+ --v2-blue-300: #c3d4fdff;
+ --v2-blue-400: #a2bcffff;
+ --v2-blue-500: #7698fdff;
+ --v2-blue-600: #3b5cf6ff;
+ --v2-blue-700: #3250dfff;
+ --v2-blue-800: #2c47c8ff;
+ --v2-blue-900: #263fa9ff;
+ --v2-blue-1000: #22388fff;
+ --v2-blue-1100: #1c2e70ff;
+ --v2-blue-1200: #1b2852ff;
/* ── Purple ── */
- --v2-purple-100: #EBECFEFF;
- --v2-purple-200: #D5D5FCFF;
- --v2-purple-300: #B9B8F5FF;
- --v2-purple-400: #9E99F7FF;
- --v2-purple-500: #8271F8FF;
- --v2-purple-600: #7152F4FF;
- --v2-purple-700: #623BE2FF;
- --v2-purple-800: #5230C2FF;
- --v2-purple-900: #442AA1FF;
- --v2-purple-1000: #361F83FF;
- --v2-purple-1100: #2B1B6AFF;
- --v2-purple-1200: #221358FF;
+ --v2-purple-100: #ebecfeff;
+ --v2-purple-200: #d5d5fcff;
+ --v2-purple-300: #b9b8f5ff;
+ --v2-purple-400: #9e99f7ff;
+ --v2-purple-500: #8271f8ff;
+ --v2-purple-600: #7152f4ff;
+ --v2-purple-700: #623be2ff;
+ --v2-purple-800: #5230c2ff;
+ --v2-purple-900: #442aa1ff;
+ --v2-purple-1000: #361f83ff;
+ --v2-purple-1100: #2b1b6aff;
+ --v2-purple-1200: #221358ff;
/* ── Pink ── */
- --v2-pink-100: #FDECF3FF;
- --v2-pink-200: #F7D5E4FF;
- --v2-pink-300: #FABCD8FF;
- --v2-pink-400: #F799C6FF;
- --v2-pink-500: #F26CB2FF;
- --v2-pink-600: #F64AABFF;
- --v2-pink-700: #E4429EFF;
- --v2-pink-800: #C83D8BFF;
- --v2-pink-900: #AA3576FF;
- --v2-pink-1000: #8C2D61FF;
- --v2-pink-1100: #6F284FFF;
- --v2-pink-1200: #5C1D3FFF;
+ --v2-pink-100: #fdecf3ff;
+ --v2-pink-200: #f7d5e4ff;
+ --v2-pink-300: #fabcd8ff;
+ --v2-pink-400: #f799c6ff;
+ --v2-pink-500: #f26cb2ff;
+ --v2-pink-600: #f64aabff;
+ --v2-pink-700: #e4429eff;
+ --v2-pink-800: #c83d8bff;
+ --v2-pink-900: #aa3576ff;
+ --v2-pink-1000: #8c2d61ff;
+ --v2-pink-1100: #6f284fff;
+ --v2-pink-1200: #5c1d3fff;
}
}