diff --git a/.dev/browser/check-consumers.mjs b/.dev/browser/check-consumers.mjs deleted file mode 100644 index c4b3e7a..0000000 --- a/.dev/browser/check-consumers.mjs +++ /dev/null @@ -1,146 +0,0 @@ -#!/usr/bin/env node -// Every place this package is used must carry its latest release before another one is cut. -// -// node scripts/check-consumers.mjs compare against the newest vX.Y.Z tag -// node scripts/check-consumers.mjs --version X compare against X instead -// node scripts/check-consumers.mjs --self-test prove the comparison can fail -// -// The consumers and the command that updates each are listed in scripts/consumers.json. A -// consumer's version is the `version` in its vendored vendored.json on its default branch, read -// through `gh api` (GH_TOKEN must be able to read the consumer). release-please.yml runs this -// before it opens a release pull request or tags one, so a release cannot stack on one that never -// reached icon-browser, ichava.com, the demo and the docs (the rule in CONTRIBUTING.md). -// -// A consumer's version only says which release it meant to vendor; its `commit` (vendored.json) must also be the -// release commit or a descendant of it, checked with `git merge-base --is-ancestor`, which needs the tag and history. -// -// Byte-identical in react-icon-browser and react-landingpage; only consumers.json differs. - -import { execFileSync } from 'node:child_process'; -import { readFileSync } from 'node:fs'; - -const SEMVER = /^v?(\d+)\.(\d+)\.(\d+)$/; - -/** -1, 0 or 1. Throws on anything that is not a plain X.Y.Z. */ -export function compareVersions(a, b) { - const pa = SEMVER.exec(a); - const pb = SEMVER.exec(b); - if (!pa || !pb) throw new Error(`not a release version: ${!pa ? a : b}`); - for (let i = 1; i <= 3; i++) { - const d = Number(pa[i]) - Number(pb[i]); - if (d !== 0) return d < 0 ? -1 : 1; - } - return 0; -} - -/** - * The consumers whose vendored copy is not `target` or newer, with what to tell the reader. - * - * The version alone is not enough: a copy built before the release commit can carry the release's - * version number, so a consumer one commit behind passes a version check. When `contains` is given - * it is asked whether the consumer's vendored commit is the release commit or a descendant of it - * (`true`), is not (`false`), or cannot be seen in this checkout (`null`). Anything but `true`, and - * a manifest that names no commit, is reported: a copy that cannot be shown current is not current. - * Without `contains` only the version is compared. - */ -export function behind(target, consumers, contains) { - const problems = []; - for (const c of consumers) { - const update = `\n Update it: ${c.update.replaceAll('{version}', target)}`; - if (c.version === null || compareVersions(c.version, target) < 0) { - problems.push(`${c.repo} vendors ${c.version ?? 'nothing readable'} at ${c.manifest}, not ${target}.${update}`); - } else if (contains && compareVersions(c.version, target) === 0) { - // A newer version is judged by the version; only an equal one can hide a stale commit. - const verdict = c.commit ? contains(c.commit) : null; - if (verdict !== true) { - const named = c.commit ? c.commit.slice(0, 12) : 'no commit'; - const why = verdict === false ? `which is not v${target} or a descendant of it` : 'which this checkout cannot confirm descends from the release (fetch tags and history, or the manifest names none)'; - problems.push(`${c.repo} vendors version ${c.version} at ${named}, ${why} (${c.manifest}).${update}`); - } - } - } - return problems; -} - -/** Whether `commit` is the commit `v` points at or descends from it; null when unknown here. */ -function descendsFromTag(target) { - return (commit) => { - try { - execFileSync('git', ['merge-base', '--is-ancestor', `v${target}`, commit], { stdio: 'ignore' }); - return true; - } catch (e) { - // Exit 1 is a definite "no"; any other status (unknown object, no tag) is "cannot tell". - return e.status === 1 ? false : null; - } - }; -} - -function latestTag() { - const tags = execFileSync('git', ['tag', '--list', 'v*'], { encoding: 'utf8' }) - .split('\n') - .map((t) => t.trim()) - .filter((t) => SEMVER.test(t)); - if (tags.length === 0) throw new Error('no vX.Y.Z tag in this checkout; fetch tags first (actions/checkout fetch-depth: 0)'); - return tags.sort(compareVersions).at(-1).replace(/^v/, ''); -} - -function vendoredManifest({ repo, manifest }) { - try { - const raw = execFileSync('gh', ['api', `repos/${repo}/contents/${manifest}`, '-H', 'Accept: application/vnd.github.raw'], { - encoding: 'utf8', - stdio: ['ignore', 'pipe', 'pipe'], - }); - const parsed = JSON.parse(raw); - return { manifest, version: parsed.version ?? null, commit: typeof parsed.commit === 'string' ? parsed.commit : null }; - } catch (e) { - throw new Error(`could not read ${repo}:${manifest} (${String(e.stderr || e.message).trim()}). The token needs read access to ${repo}.`); - } -} - -function selfTest() { - const c = (version) => [{ repo: 'o/consumer', manifest: 'vendored.json', version, update: 'sync {version}' }]; - const cases = [ - [behind('0.1.3', c('0.1.2')).length === 1, 'an older consumer is reported'], - [behind('0.1.3', c('0.1.3')).length === 0, 'a current consumer passes'], - [behind('0.1.3', c('0.2.0')).length === 0, 'a newer consumer passes'], - [behind('0.10.0', c('0.9.9')).length === 1, 'versions compare numerically, not as strings'], - [behind('0.1.3', c(null)).length === 1, 'an unreadable version is reported'], - [(behind('0.1.3', c('0.1.2'))[0] ?? '').includes('sync 0.1.3'), 'the message names the target in the update command'], - [behind('0.1.3', [{ ...c('0.1.3')[0], commit: 'x' }], () => false).length === 1, 'the right version at a stale commit is reported'], - [behind('0.1.3', [{ ...c('0.1.3')[0], commit: 'x' }], () => true).length === 0, 'the right version at the release commit or later passes'], - [behind('0.1.3', [{ ...c('0.1.3')[0], commit: 'x' }], () => null).length === 1, 'a commit that cannot be confirmed is reported'], - [behind('0.1.3', c('0.1.3'), () => true).length === 1, 'a manifest naming no commit is reported when commits are checked'], - ]; - const failed = cases.filter(([ok]) => !ok).map(([, name]) => name); - if (failed.length) { - console.error(`check-consumers self-test failed:\n- ${failed.join('\n- ')}`); - process.exit(1); - } - console.log(`check-consumers self-test: ${cases.length} cases pass`); -} - -function main(argv) { - if (argv.includes('--self-test')) return selfTest(); - const at = argv.indexOf('--version'); - const target = at >= 0 ? argv[at + 1].replace(/^v/, '') : latestTag(); - const listed = JSON.parse(readFileSync(new URL('./consumers.json', import.meta.url), 'utf8')); - if (!Array.isArray(listed) || listed.length === 0) throw new Error('scripts/consumers.json lists no consumers'); - const consumers = listed.map((c) => ({ ...c, ...vendoredManifest(c) })); - for (const c of consumers) console.log(`${c.repo}: vendors ${c.version ?? '?'} at ${c.commit?.slice(0, 12) ?? '?'} (target ${target})`); - const problems = behind(target, consumers, descendsFromTag(target)); - if (problems.length) { - console.error(`\n${problems.length} consumer(s) behind ${target}. A release must reach every consumer before the next one:\n`); - for (const p of problems) console.error(`- ${p}`); - process.exit(1); - } - console.log(`all ${consumers.length} consumer(s) carry ${target} or newer`); -} - -if (import.meta.url === `file://${process.argv[1]}`) { - try { - main(process.argv.slice(2)); - } catch (e) { - console.error(`check-consumers: ${e.message}`); - process.exit(1); - } -} diff --git a/.dev/browser/check-lib-build.mjs b/.dev/browser/check-lib-build.mjs deleted file mode 100644 index 8b40812..0000000 --- a/.dev/browser/check-lib-build.mjs +++ /dev/null @@ -1,249 +0,0 @@ -#!/usr/bin/env node -// Asserts dist/lib is something a host can consume (FINDINGS B1, B2). Run after -// `npm run build:lib`; CI runs it on every pull request. -// -// 1. no `@/` alias specifier survives in the JS or the declarations -// 2. the JS imports no stylesheet: styles are the host's explicit opt-in -// 3. the peers stay bare imports, so the host's single React is the one used -// 4. styles.css sets no overflow on html, body or #root -// 5. every url() in styles.css is relative and names a file that exists in dist/lib, -// so the fonts load in a host that serves nothing at /fonts/ -// 6. styles.css declares no custom property on :root, :host, html, body or a bare -// .dark-mode (FINDINGS N1): those match the HOST's document, so a second package's -// tokens and ours overwrite each other in load order. Tokens live on -// [data-ichava-theme], which the component root and its overlay container carry. -// 7. every utility sits inside `@scope ([data-ichava-theme])`, so a host's own Tailwind -// cannot override it by loading later (see scripts/utility-scope.mjs) -// 8. index.js is fully minified and names no source map: it is vendored into public -// repositories, and Untitled UI PRO's licence bars exposing its source -// -// Each predicate is first run against a planted defect and must report it, so a -// regex that stopped matching fails here instead of passing everything. - -import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs'; -import { dirname, join, relative } from 'node:path'; -import { fileURLToPath } from 'node:url'; -import { cssRules, stripCssComments } from '@ichava/js-ui-kernel/build'; -import { globalTokenRules } from '@ichava/js-ui-kernel/build'; -import { reachingRules, scopeSheet, scopeUtilities, UTILITY_SCOPE } from '../../vite.utility-scope.mjs'; - -const root = join(dirname(fileURLToPath(import.meta.url)), '..'); -const lib = join(root, 'dist/lib'); -const problems = []; - -const ALIAS = /(?:from\s*|import\s*\(\s*|import\s+)(['"])@\/[^'"]*\1/; -const CSS_IMPORT = /(?:from\s*|import\s*\(\s*|import\s+)(['"])[^'"]+\.css\1/; - -/** Rules whose selector list names html, body or #root and whose body sets overflow. */ -function documentLocks(css) { - const out = []; - // The kernel's one-pass scanner: the comment and rule regexes it replaces retried from - // every offset and took seconds on hostile input (CodeQL js/polynomial-redos). - for (const { selector, body } of cssRules(stripCssComments(css))) { - const names = selector.split(',').map((s) => s.trim()); - const hit = names.some((s) => /^(html|body|#root)\b/.test(s) || /[\s>+~](html|body|#root)\b/.test(s)); - if (hit && /(^|;)\s*overflow(-[xy])?\s*:/.test(body)) out.push(selector.trim()); - } - return out; -} - -/** - * Peers and the react-aria scopes, which the host provides. react-aria-components - * re-exports from @react-aria/*, @react-stately/* and @react-types/*; a bundled copy of - * any of them splits focus management from the host's (behaviour change 5). - */ -const PEERS = ['react', 'react-dom', 'react-aria', 'react-aria-components', 'react-stately', 'zustand', '@react-aria', '@react-stately', '@react-types']; - -/** Bundled sources, from the sourcemap, that belong to a peer. */ -function bundledPeers(sources) { - return sources.filter((src) => { - const m = src.match(/node_modules\/((?:@[^/]+\/)?[^/]+)/); - return m && PEERS.some((p) => m[1] === p || m[1].startsWith(`${p}/`)); - }); -} - -/** url() targets in a stylesheet that do not resolve to a file next to it. */ -function unresolvedUrls(css, cssDir, exists) { - const out = []; - for (const [, , target] of css.matchAll(/url\(\s*(['"]?)([^'")]+)\1\s*\)/g)) { - if (target.startsWith('data:') || target.startsWith('#')) continue; - if (/^([a-z]+:)?\//i.test(target)) out.push(`${target} (absolute: resolves against the host, not the package)`); - else if (!exists(join(cssDir, target.split(/[?#]/)[0]))) out.push(`${target} (no such file in dist/lib)`); - } - return out; -} - -/** - * Why `code` is not a fully minified bundle: a source map named, readable layout (short - * lines or indentation), a comment that is not a licence or pure annotation, or long - * declared names. Template literals keep their own newlines, so the layout limits are - * per byte rather than zero. icon-browser's `minifiedBundle.ts` applies the same rules - * to the vendored copy. - */ -function notMinified(code) { - const out = []; - const lines = code.split('\n'); - if (/sourceMappingURL/.test(code)) out.push('names a source map (sourceMappingURL)'); - if (code.length / lines.length < 1000) out.push(`averages ${Math.round(code.length / lines.length)} bytes a line (minified: 1000+)`); - const indented = lines.filter((l) => /^[ \t]{2,}\S/.test(l)).length; - if (indented * 10_000 > code.length) out.push(`${indented} indented lines (at most one per 10 kB)`); - const comments = [...code.matchAll(/(? m[1]); - const long = names.filter((n) => n.length > 3).length; - if (names.length && long / names.length > 0.05) out.push(`${long} of ${names.length} declared names are longer than 3 characters (unmangled)`); - return out; -} - -// Self-checks: each guard must catch a planted defect. -if (bundledPeers(['../../node_modules/react/cjs/react.js', '../../node_modules/@react-stately/utils/dist/x.mjs']).length !== 2) - problems.push('self-check: bundled peer sources were not reported'); -if (bundledPeers(['../../node_modules/tailwind-merge/dist/x.mjs', '../../src/index.ts', '../../node_modules/react-x/y.js']).length !== 0) - problems.push('self-check: non-peer sources reported as peers'); -// The scan is linear: hostile input finishes in well under 50 ms. -for (const hostile of [`/${'a/'.repeat(100_000)}`, 'z'.repeat(100_000)]) { - const start = performance.now(); - documentLocks(hostile); - const ms = performance.now() - start; - if (ms >= 50) problems.push(`self-check: scanning ${hostile.length} hostile characters took ${ms.toFixed(0)} ms (limit 50)`); -} -{ - const readable = `// a comment\nfunction resolveConfig(input) {\n const merged = { ...input };\n return merged;\n}\n//# sourceMappingURL=index.js.map\n`.repeat(50); - if (notMinified(readable).length < 4) problems.push(`self-check: a readable bundle passed the minification check (${notMinified(readable).join('; ')})`); - const minified = `/*! licence */import{a as b}from"react";function c(d){return/* @__PURE__ */b(d)}`.padEnd(20_000, ';') + '`\n x`'; - if (notMinified(minified).length) problems.push(`self-check: a minified bundle failed the minification check (${notMinified(minified).join('; ')})`); -} -if (!ALIAS.test(`export { X } from '@/IchavaBrowser';`)) problems.push('self-check: alias pattern misses a planted `@/` import'); -if (ALIAS.test(`export { X } from './IchavaBrowser';`)) problems.push('self-check: alias pattern flags a relative import'); -if (!CSS_IMPORT.test(`import "./styles.css";`)) problems.push('self-check: css-import pattern misses a planted import'); -if (documentLocks('@layer base{html,body,#root{margin:0;height:100%;overflow:hidden}}').length !== 1) - problems.push('self-check: overflow lock not detected in a planted rule'); -if (documentLocks('html,:host{line-height:1.5}body{margin:0}[data-ichava-root]{overflow:hidden}').length !== 0) - problems.push('self-check: overflow lock reported where there is none'); - -if (unresolvedUrls("@font-face{src:url('/fonts/G.woff2')}", '/nowhere', () => true).length !== 1) - problems.push('self-check: an absolute font url() was not reported'); -if (unresolvedUrls('@font-face{src:url(./fonts/G.woff2)}', '/nowhere', () => false).length !== 1) - problems.push('self-check: a relative url() to a missing file was not reported'); -if (unresolvedUrls('a{b:url("data:image/svg+xml,x")}', '/nowhere', () => false).length !== 0) - problems.push('self-check: a data: url() was reported'); - -if (globalTokenRules('@layer theme{:root,:host{--color-brand-500:#7f56d9}}').length !== 1) - problems.push('self-check: a token on :root,:host was not reported'); -if (globalTokenRules('@layer base{.dark-mode{--bg:#000}}html{--x:1}body{--y:2}').length !== 3) - problems.push('self-check: a token on .dark-mode, html or body was not reported'); -if (globalTokenRules('[data-ichava-theme]{--bg:#fff}[data-ichava-theme].dark-mode{--bg:#000}:root{color:red}@property --tw-x{syntax:"*"}').length !== 0) - problems.push('self-check: a scoped token rule, a plain :root rule or an @property was reported'); - -/** `@layer utilities` blocks whose body does not open with the utility scope. */ -function unscopedUtilityLayers(css) { - const open = '@layer utilities{'; - const scoped = `${open}@scope (${UTILITY_SCOPE}){`; - let n = 0; - for (let i = css.indexOf(open); i !== -1; i = css.indexOf(open, i + 1)) if (!css.startsWith(scoped, i)) n += 1; - return n; -} -if (unscopedUtilityLayers('@layer utilities{.px-3{padding-inline:12px}}') !== 1) - problems.push('self-check: an unscoped utilities layer was not reported'); -if (unscopedUtilityLayers(scopeUtilities('@layer base{a{b:c}}@layer utilities{.a{b:"}"}@media (x){.c{d:e}}}.z{y:x}')) !== 0) - problems.push('self-check: scopeUtilities left a utilities layer unscoped'); -if (scopeUtilities('@layer utilities{.a{b:c}}.z{y:x}') !== `@layer utilities{@scope (${UTILITY_SCOPE}){.a{b:c}}}.z{y:x}`) - problems.push('self-check: scopeUtilities did not close the scope where the layer closes'); -// The element-rule guard can fail (an unscoped `button:focus` and preflight layer are -// reported) and can pass (the same sheet after scopeSheet reports nothing; own rules stay). -{ - const plant = '@layer base{a{b:c}}button:focus{outline:none}@media (x){input{a:b}.ichbs{c:d}}.ich-x{a:b}[data-ichava-theme] i{a:b}'; - const before = reachingRules(plant); - if (before.length !== 3) problems.push(`self-check: reachingRules reported ${before.length} of 3 planted host-reaching rules`); - const scoped = scopeSheet(plant); - if (reachingRules(scoped).length !== 0) problems.push('self-check: scopeSheet left a host-reaching rule'); - // A rule naming the root must stay outside @scope, or it stops matching the root itself. - if (scopeSheet('@layer base{[data-ichava-theme]{--m:1}}') !== '@layer base{[data-ichava-theme]{--m:1}}') - problems.push('self-check: scopeSheet wrapped a rule that names the root'); - if (!scopeSheet('@layer base{*{a:b}}').includes(':scope,*{a:b}')) problems.push('self-check: a scoped universal rule no longer reaches the root'); -} - -function walk(dir, ext) { - return readdirSync(dir).flatMap((n) => { - const p = join(dir, n); - return statSync(p).isDirectory() ? walk(p, ext) : p.endsWith(ext) ? [p] : []; - }); -} - -/** - * The root's typeface. Since #173 Tailwind's preflight also matches the browser root, and - * it sets the font from `--default-font-family`, which is `--font-sans`. Unless the sheet - * points `--font-sans` at the body font (and that at Geist), every built page renders in - * the system stack and Geist never loads -- what the 2026-10-28 baselines showed. - */ -function rootFontIsGeist(sheet) { - return /--font-sans:\s*var\(--font-body\)/.test(sheet) && /--font-inter:\s*["']?Geist\b/.test(sheet); -} -if (!rootFontIsGeist('[data-ichava-theme]{--font-inter:"Geist";--font-sans:var(--font-body)}')) problems.push('self-check: a Geist root font was not recognised'); -if (rootFontIsGeist('[data-ichava-theme]{--font-inter:"Geist";--font-sans:-apple-system,sans-serif}')) problems.push('self-check: a system-stack --font-sans was accepted'); - -const js = join(lib, 'index.js'); -const css = join(lib, 'styles.css'); -const types = join(lib, 'types/index.d.ts'); -for (const f of [js, css, types]) if (!existsSync(f)) problems.push(`missing ${relative(root, f)} -- run npm run build:lib`); - -if (problems.length === 0) { - const jsFiles = walk(lib, '.js'); - const dts = walk(join(lib, 'types'), '.d.ts'); - // Floors, so a build that emitted almost nothing cannot pass by having nothing to check. - if (dts.length < 50) problems.push(`only ${dts.length} declaration files under dist/lib/types (expected 50+)`); - - for (const f of [...jsFiles, ...dts]) { - const lines = readFileSync(f, 'utf8').split('\n'); - lines.forEach((line, i) => { - if (ALIAS.test(line)) problems.push(`${relative(root, f)}:${i + 1} keeps an @/ alias: ${line.trim().slice(0, 120)}`); - }); - } - - // index.js and the chunks the on-demand layers load (re-audit F-12): every one is minified, - // imports no stylesheet and bundles no peer; the peers are imported as externals across them. - const chunks = jsFiles.filter((f) => !f.includes(`${join(lib, 'types')}`)); - let all = ''; - for (const f of chunks) { - const name = relative(root, f); - const code = readFileSync(f, 'utf8'); - all += code; - if (CSS_IMPORT.test(code)) problems.push(`${name} imports a stylesheet; the host must opt in instead`); - const map = `${f}.map`; - if (!existsSync(map)) problems.push(`${name}.map is missing; the bundled-peer check needs it`); - else for (const src of bundledPeers(JSON.parse(readFileSync(map, 'utf8')).sources)) problems.push(`${name} bundles peer code: ${src}`); - } - // Measured over all of them together: each small chunk repeats the licence banner's lines. - for (const why of notMinified(all)) problems.push(`dist/lib/*.js is not fully minified: ${why}`); - for (const peer of ['react', 'react-dom/client', 'react-aria-components', 'zustand']) { - if (!new RegExp(`from\\s*["']${peer}["']`).test(all)) problems.push(`dist/lib does not import "${peer}" as an external`); - } - - const sheet = readFileSync(css, 'utf8'); - if (sheet.length < 20_000) problems.push(`dist/lib/styles.css is ${sheet.length} bytes; expected the full prebuilt stylesheet`); - if (!sheet.includes('[data-ichava-root]')) problems.push('dist/lib/styles.css lacks the component-root rules; is it the right file?'); - for (const sel of documentLocks(sheet)) problems.push(`dist/lib/styles.css locks the host document: ${sel}`); - for (const sel of globalTokenRules(sheet)) - problems.push(`dist/lib/styles.css declares custom properties on the host document: ${sel} {...} (scope them to [data-ichava-theme])`); - if (!sheet.includes('@layer utilities{')) problems.push('dist/lib/styles.css has no utilities layer; is it the right file?'); - const reaching = reachingRules(sheet); - if (reaching.length) problems.push(`dist/lib/styles.css has ${reaching.length} rule(s) that reach a host's own elements; scope them (scripts/utility-scope.mjs): ${reaching.slice(0, 6).join(' | ')}`); - if (unscopedUtilityLayers(sheet) > 0) problems.push(`dist/lib/styles.css has ${unscopedUtilityLayers(sheet)} utilities layer(s) outside @scope (${UTILITY_SCOPE}); a host's Tailwind would override them`); - if (!sheet.includes('[data-ichava-theme]')) problems.push('dist/lib/styles.css declares no [data-ichava-theme] tokens; the component would render unthemed'); - - if (!rootFontIsGeist(sheet)) problems.push('dist/lib/styles.css does not route --font-sans to Geist; the scoped preflight would set the root in the system font'); - - const fontUrls = [...sheet.matchAll(/url\(\s*['"]?[^'")]*\.woff2/g)].length; - if (fontUrls < 2) problems.push(`dist/lib/styles.css references ${fontUrls} woff2 file(s); expected Geist and Geist Mono`); - for (const bad of unresolvedUrls(sheet, lib, existsSync)) problems.push(`dist/lib/styles.css url() does not resolve: ${bad}`); - if (!existsSync(join(lib, 'fonts/LICENSE.txt'))) problems.push('dist/lib/fonts/LICENSE.txt is missing; the fonts ship under the OFL'); - - if (problems.length === 0) { - console.log(`check-lib-build: ok -- ${jsFiles.length} js, ${dts.length} d.ts, styles.css ${sheet.length} bytes, ${fontUrls} font url()s resolved, no @/ specifiers, no document lock, no document-level tokens, utilities and element rules scoped`); - } -} - -if (problems.length) { - for (const p of problems) console.error(`::error::${p}`); - process.exit(1); -} diff --git a/.dev/browser/check-public-api.mjs b/.dev/browser/check-public-api.mjs deleted file mode 100644 index 2816824..0000000 --- a/.dev/browser/check-public-api.mjs +++ /dev/null @@ -1,180 +0,0 @@ -#!/usr/bin/env node -// The public API may grow, never shrink or change (architecture.md 4.1). Run after -// `npm run build:lib`; CI runs it on every pull request. -// -// Reads the emitted dist/lib/types/index.d.ts with the TypeScript compiler API, lists -// every export the package entry exposes, and prints each one's declaration with -// comments and private members removed. That listing is compared with the committed -// snapshot, scripts/public-api.snapshot.json: -// -// - an entry in the snapshot that is missing now fails (a removal) -// - an entry whose declaration text differs fails (a change) -// - an entry that is new passes, and is listed -// - an entry that only gained members (same head line, -// every old line still there, in order) passes, and is listed -// - fewer exports read than the snapshot holds, or none fails (an empty read) -// -// After an intended addition, record it with `npm run check:public-api -- --update`. -// A removal or change is a decision for the owner, not something to update away. -// -// The comparison is first run against planted defects and must report each one, so a -// comparison that stopped seeing differences fails here instead of passing everything. - -import { existsSync, readFileSync, writeFileSync } from 'node:fs'; -import { dirname, join } from 'node:path'; -import { fileURLToPath } from 'node:url'; -import ts from 'typescript'; - -const root = join(dirname(fileURLToPath(import.meta.url)), '..'); -const entry = join(root, 'dist/lib/types/index.d.ts'); -const snapshotPath = join(root, 'scripts/public-api.snapshot.json'); - -/** Removes private members (TS `private` and `#private`) from a class declaration. */ -function publicOnly(node) { - if (!ts.isClassDeclaration(node)) return node; - const members = node.members.filter((m) => { - if (m.name && ts.isPrivateIdentifier(m.name)) return false; - const mods = ts.canHaveModifiers(m) ? ts.getModifiers(m) ?? [] : []; - return !mods.some((mod) => mod.kind === ts.SyntaxKind.PrivateKeyword); - }); - return ts.factory.updateClassDeclaration( - node, - node.modifiers, - node.name, - node.typeParameters, - node.heritageClauses, - members, - ); -} - -/** - * A declaration re-exported under another name (`export { CatalogIndex as IconRepository }`) - * prints under its own name. What a consumer imports is the export name, so the head of - * the declaration is written with that name: renaming a class behind an unchanged export - * is not an API change, and an export that starts pointing at a different declaration - * still shows up as one. - */ -function asExported(text, decl, exportName) { - const own = decl.name && ts.isIdentifier(decl.name) ? decl.name.text : null; - if (!own || own === exportName) return text; - return text.replace(new RegExp(`\\b(class|interface|function|type|enum|const|let|var) ${own}\\b`), `$1 ${exportName}`); -} - -/** Every export of the entry: { name: declaration text }. */ -export function readApi(file) { - const program = ts.createProgram([file], { - noEmit: true, - skipLibCheck: true, - target: ts.ScriptTarget.ES2022, - module: ts.ModuleKind.ESNext, - moduleResolution: ts.ModuleResolutionKind.Bundler, - jsx: ts.JsxEmit.ReactJSX, - }); - const checker = program.getTypeChecker(); - const source = program.getSourceFile(file); - if (!source) throw new Error(`cannot read ${file}`); - const moduleSymbol = checker.getSymbolAtLocation(source); - if (!moduleSymbol) throw new Error(`${file} is not a module`); - - const printer = ts.createPrinter({ removeComments: true, newLine: ts.NewLineKind.LineFeed }); - const api = {}; - for (const exported of checker.getExportsOfModule(moduleSymbol)) { - const symbol = exported.flags & ts.SymbolFlags.Alias ? checker.getAliasedSymbol(exported) : exported; - const texts = (symbol.declarations ?? []).map((decl) => - asExported(printer.printNode(ts.EmitHint.Unspecified, publicOnly(decl), decl.getSourceFile()).trim(), decl, exported.name), - ); - api[exported.name] = texts.join('\n'); - } - return api; -} - -/** - * Whether `now` only adds to `was`: the same first line (the declaration head: name, - * type parameters, heritage), and every line of `was` still present, in order. A class or - * interface that gains a member grows; one that loses or changes a member does not. - */ -function grew(was, now) { - const a = was.split('\n'); - const b = now.split('\n'); - if (a[0] !== b[0]) return false; - let j = 0; - for (const line of b) if (j < a.length && line === a[j]) j += 1; - return j === a.length; -} - -/** Compares a current listing with the snapshot. */ -export function compare(snapshot, current) { - const problems = []; - const added = []; - const grown = []; - const want = Object.keys(snapshot); - const have = Object.keys(current); - if (have.length === 0) problems.push('read 0 exports: the entry was empty or unreadable'); - if (have.length < want.length) { - problems.push(`read ${have.length} exports, the snapshot holds ${want.length}`); - } - for (const name of want) { - if (!(name in current)) problems.push(`removed: ${name}`); - else if (current[name] !== snapshot[name]) { - if (grew(snapshot[name], current[name])) grown.push(name); - else problems.push(`changed: ${name}\n was: ${snapshot[name]}\n now: ${current[name]}`); - } - } - for (const name of have) if (!(name in snapshot)) added.push(name); - return { problems, added, grown }; -} - -function selfTest() { - const base = { a: 'declare const a: number;', b: 'declare function b(): void;' }; - const cases = [ - ['a removal', { a: base.a }], - ['a change', { ...base, b: 'declare function b(x: string): void;' }], - ['an empty read', {}], - ]; - const missed = cases.filter(([, current]) => compare(base, current).problems.length === 0).map(([n]) => n); - if (compare(base, { ...base, c: 'declare const c: 1;' }).problems.length !== 0) missed.push('an allowed addition'); - const cls = 'declare class K {\n a(): void;\n b(): void;\n}'; - if (compare({ k: cls }, { k: 'declare class K {\n a(): void;\n c(): void;\n b(): void;\n}' }).problems.length !== 0) { - missed.push('an allowed new member'); - } - if (compare({ k: cls }, { k: 'declare class K {\n a(): void;\n}' }).problems.length === 0) missed.push('a removed member'); - if (compare({ k: cls }, { k: 'declare class K {\n a(): void;\n b(): number;\n}' }).problems.length === 0) missed.push('a changed member'); - if (compare({ k: cls }, { k: 'declare class K extends J {\n a(): void;\n b(): void;\n}' }).problems.length === 0) missed.push('a changed head'); - if (missed.length) { - console.error(`check-public-api: self-test failed, the comparison does not report ${missed.join(', ')}`); - process.exit(1); - } -} - -function main() { - selfTest(); - if (!existsSync(entry)) { - console.error(`check-public-api: ${entry} is missing. Run \`npm run build:lib\` first.`); - process.exit(1); - } - const current = readApi(entry); - if (process.argv.includes('--update')) { - writeFileSync(snapshotPath, JSON.stringify(current, null, 2) + '\n'); - console.log(`check-public-api: wrote ${Object.keys(current).length} exports to the snapshot`); - return; - } - if (!existsSync(snapshotPath)) { - console.error('check-public-api: no snapshot committed. Run with --update once, from main.'); - process.exit(1); - } - const snapshot = JSON.parse(readFileSync(snapshotPath, 'utf8')); - const { problems, added, grown } = compare(snapshot, current); - for (const name of added) console.log(`check-public-api: new export ${name} (record it with --update)`); - for (const name of grown) console.log(`check-public-api: ${name} gained members (record it with --update)`); - if (problems.length) { - for (const p of problems) console.error(`check-public-api: ${p}`); - console.error('check-public-api: FAILED. The public API may grow, never shrink or change.'); - process.exit(1); - } - console.log( - `check-public-api: ok -- ${Object.keys(current).length} exports read, ` + - `${Object.keys(snapshot).length - grown.length} in the snapshot unchanged, ${grown.length} grown, ${added.length} new`, - ); -} - -if (process.argv[1] && fileURLToPath(import.meta.url) === process.argv[1]) main(); diff --git a/.dev/browser/checkConsumers.test.mts b/.dev/browser/checkConsumers.test.mts deleted file mode 100644 index 50b760c..0000000 --- a/.dev/browser/checkConsumers.test.mts +++ /dev/null @@ -1,57 +0,0 @@ -// `node --test scripts/checkConsumers.test.mts`: W-js3. A consumer whose vendored.json names the -// right version but a commit that is not the release (or a descendant of it) must be reported. -import { test } from 'node:test'; -import assert from 'node:assert/strict'; -import { existsSync, readFileSync } from 'node:fs'; -// @ts-expect-error plain .mjs without types -import { behind } from './check-consumers.mjs'; -import { siblingPath } from './siblings.mjs'; - -const TAG_COMMIT = 'a'.repeat(40); -const OLD = 'b'.repeat(40); -const NEWER = 'c'.repeat(40); -const consumer = (version: string | null, commit: string | null) => [ - { repo: 'o/consumer', manifest: 'vendored.json', version, commit, update: 'sync {version}' }, -]; -// The release commit and NEWER descend from it; OLD does not; anything else is unknown locally. -const contains = (commit: string): boolean | null => (commit === TAG_COMMIT || commit === NEWER ? true : commit === OLD ? false : null); - -test('the right version at an old commit is reported', () => { - const out = behind('0.1.0', consumer('0.1.0', OLD), contains); - assert.equal(out.length, 1); - assert.match(out[0], new RegExp(OLD.slice(0, 12))); -}); - -test('the release commit and a descendant of it pass', () => { - assert.equal(behind('0.1.0', consumer('0.1.0', TAG_COMMIT), contains).length, 0); - assert.equal(behind('0.1.0', consumer('0.1.0', NEWER), contains).length, 0); -}); - -test('a commit this checkout cannot see, or none at all, is reported rather than trusted', () => { - assert.equal(behind('0.1.0', consumer('0.1.0', 'd'.repeat(40)), contains).length, 1); - assert.equal(behind('0.1.0', consumer('0.1.0', null), contains).length, 1); -}); - -test('an older version is reported once, whatever the commit', () => { - assert.equal(behind('0.1.1', consumer('0.1.0', TAG_COMMIT), contains).length, 1); -}); - -test('without a commit check the version rule alone applies (callers that pass none)', () => { - assert.equal(behind('0.1.0', consumer('0.1.0', OLD)).length, 0); -}); - -const consumers = JSON.parse(readFileSync(new URL('./consumers.json', import.meta.url), 'utf8')) as { repo: string; manifest: string }[]; - -test('every consumer names its manifest as vendored.json, the one name the syncs write', () => { - assert.ok(consumers.length > 0, 'consumers.json lists no consumer'); - for (const c of consumers) assert.match(c.manifest, /(^|\/)vendored\.json$/, `${c.repo}: ${c.manifest}`); -}); - -for (const c of consumers) { - // The manifest is read from GitHub at release time. When the consumer is checked out beside this - // repository, its path is checked here too, so a move in the consumer fails before a release does. - const local = siblingPath(c.repo, c.manifest); - test(`${c.repo} keeps ${c.manifest} where consumers.json says`, { skip: local === null ? `${c.repo} is not checked out beside this repo` : false }, () => { - assert.ok(existsSync(local!), `${local} does not exist`); - }); -} diff --git a/.dev/browser/consumers.json b/.dev/browser/consumers.json deleted file mode 100644 index 14c9a7b..0000000 --- a/.dev/browser/consumers.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "repo": "ichava/icon-browser", - "manifest": "resources/vendor/react-icon-browser/vendored.json", - "update": "run `npm run build:lib` in react-icon-browser at v{version}, then in ichava/icon-browser run `node .dev/tools/sync-react-icon-browser.mjs ` and `npm run build:prod`; then `composer update` in the local demos/ichava-app, and update the docs that describe the change" - } -] diff --git a/.dev/browser/public-api.snapshot.json b/.dev/browser/public-api.snapshot.json deleted file mode 100644 index 5bf786c..0000000 --- a/.dev/browser/public-api.snapshot.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "IchavaBrowser": "export declare function IchavaBrowser({ catalog, client, config, manageDocument, syncUrl, urlPrefix, store, locale }: IchavaBrowserProps): import(\"react\").JSX.Element;", - "IchavaBrowserProps": "export interface IchavaBrowserProps {\n catalog?: Catalog;\n client?: IconCatalog;\n config?: AppConfig | null;\n manageDocument?: boolean;\n syncUrl?: boolean;\n urlPrefix?: string;\n store?: BrowserStoreHook;\n locale?: Locale;\n}", - "mountIchavaBrowser": "export declare function mountIchavaBrowser(el: HTMLElement, opts: MountOptions): Root;", - "browser": "export declare function browser(): BrowserBuilder;", - "MountOptions": "export interface MountOptions {\n catalog?: Catalog;\n client?: IconCatalog;\n config?: AppConfig | null;\n manageDocument?: boolean;\n syncUrl?: boolean;\n urlPrefix?: string;\n store?: BrowserStoreHook;\n persistKey?: string | null;\n locale?: Locale;\n}", - "BrowserBuilder": "export declare class BrowserBuilder {\n constructor(ports: BrowserBuilderPorts, state?: State);\n catalog(catalog: Catalog): BrowserBuilder;\n rest(client: IconCatalog): BrowserBuilder;\n config(config: AppConfig | null): BrowserBuilder;\n persist(key: string): BrowserBuilder;\n ephemeral(): BrowserBuilder;\n store(store: BrowserStoreHook): BrowserBuilder;\n standalone(): BrowserBuilder;\n embedded(): BrowserBuilder;\n syncUrl(prefix?: string): BrowserBuilder;\n locale(locale: Locale): BrowserBuilder;\n toOptions(): BuilderMountOptions;\n toProps(): IchavaBrowserProps;\n mount(el: HTMLElement): BrowserHandle;\n}", - "BrowserHandle": "export interface BrowserHandle {\n readonly store: BrowserStoreHook;\n unmount(): void;\n [Symbol.dispose](): void;\n}", - "BrowserBuilderPorts": "export interface BrowserBuilderPorts {\n mount(el: HTMLElement, options: BuilderMountOptions): {\n unmount(): void;\n };\n createStore(options: {\n persistKey?: string | null;\n }): BrowserStoreHook;\n}", - "createCatalog": "export declare function createCatalog(kind: DataSourceKind, opts: {\n catalog?: Catalog;\n base?: string;\n}): IconCatalog;", - "StaticCatalog": "export declare class StaticCatalog implements IconCatalog {\n constructor(catalog: Catalog);\n listIcons(params: ListParams): Promise>;\n getIcon(id: IconId): Promise;\n getSvg(icon: Icon, signal?: AbortSignal): Promise;\n getFilters(): Promise;\n getStatistics(): Promise>;\n getTree(): Promise;\n getRelated(icon: Icon, limit?: number): Promise;\n getVariantCounts(params: ListParams): Promise>;\n getKindCounts(params: ListParams): Promise>;\n}", - "RestCatalog": "export declare class RestCatalog implements IconCatalog {\n constructor(base?: string);\n static at(base: string): RestCatalog;\n get transport(): HttpTransport;\n static fromApi(api: {\n base: string | null;\n endpoints: RestEndpoints | unknown[];\n }): RestCatalog;\n get endpoints(): RestEndpoints | null;\n withTransport(transport: HttpTransport): RestCatalog;\n withEndpoints(endpoints: RestEndpoints | unknown[]): RestCatalog;\n csrf(strategy: CsrfStrategy): RestCatalog;\n timeout(ms: number): RestCatalog;\n credentials(mode: RequestCredentials): RestCatalog;\n listIcons(params: ListParams, signal?: AbortSignal): Promise>;\n getIcon(id: IconId, signal?: AbortSignal): Promise;\n getSvg(icon: Icon, signal?: AbortSignal): Promise;\n getFilters(signal?: AbortSignal): Promise;\n getStatistics(signal?: AbortSignal): Promise>;\n getTree(signal?: AbortSignal): Promise;\n getTreeFor(params: ListParams, signal?: AbortSignal): Promise;\n getCatalogMeta(signal?: AbortSignal): Promise;\n getRelated(icon: Icon, limit?: number, signal?: AbortSignal): Promise;\n getVariantCounts(_params: ListParams, signal?: AbortSignal): Promise>;\n getKindCounts(params: ListParams, signal?: AbortSignal): Promise>;\n}", - "IconCatalog": "export interface IconCatalog {\n listIcons(params: ListParams, signal?: AbortSignal): Promise>;\n getIcon(id: IconId, signal?: AbortSignal): Promise;\n getSvg(icon: Icon, signal?: AbortSignal): Promise;\n getFilters(signal?: AbortSignal): Promise;\n getStatistics(signal?: AbortSignal): Promise>;\n getTree(signal?: AbortSignal): Promise;\n getRelated(icon: Icon, limit?: number, signal?: AbortSignal): Promise;\n getVariantCounts(params: ListParams, signal?: AbortSignal): Promise>;\n getKindCounts?(params: ListParams, signal?: AbortSignal): Promise>;\n getTreeFor?(params: ListParams, signal?: AbortSignal): Promise;\n getCatalogMeta?(signal?: AbortSignal): Promise;\n}", - "ListParams": "export interface ListParams {\n search?: string;\n packages?: string[];\n categories?: string[];\n subs?: string[];\n variants?: string[];\n page?: number;\n perPage?: number;\n sortBy?: 'name' | 'package' | 'category' | 'created_at';\n sortDirection?: 'asc' | 'desc';\n kind?: IconKind;\n tags?: string[];\n keywords?: string[];\n language?: string;\n}", - "DataSourceKind": "export type DataSourceKind = 'static' | 'rest';", - "getBrowserId": "export declare function getBrowserId(): string;", - "LARAVEL_SANCTUM_PRESET": "LARAVEL_SANCTUM_PRESET: TransportConfig", - "HttpError": "export declare class HttpError extends Error {\n status: number;\n detail: string;\n constructor(status: number, detail: string);\n}", - "RequestAbortedError": "export declare class RequestAbortedError extends Error {\n reason: 'timeout' | 'caller';\n constructor(reason: 'timeout' | 'caller');\n}", - "HttpTransport": "export declare class HttpTransport {\n constructor(config?: TransportConfig);\n get config(): Readonly;\n with(patch: TransportPatch): HttpTransport;\n initCsrf(): Promise;\n request(path: string, opts?: RequestOpts): Promise;\n}", - "TransportConfig": "export interface TransportConfig {\n baseUrl: string;\n credentials: RequestCredentials;\n timeoutMs: number;\n csrf: {\n strategy: CsrfStrategy;\n metaName: string;\n cookieName: string;\n headerName: string;\n endpoint: string;\n };\n}", - "CsrfStrategy": "export type CsrfStrategy = 'none' | 'meta' | 'cookie' | 'sanctum';", - "IconRepository": "export declare class IconRepository {\n constructor(catalog: Catalog);\n filtered(p: ListParams): Icon[];\n page(p: ListParams): PageResult;\n byId(id: IconId): Icon | undefined;\n related(icon: Icon, limit?: number): Icon[];\n filters(): Filters;\n kindCounts(p: ListParams): Record;\n variantCounts(p: ListParams): Map;\n categoryTree(p: ListParams): CategoryGroup[];\n}", - "Catalog": "export interface Catalog {\n meta: {\n total_ecosystem: number;\n generated: string;\n };\n packages: IconPackage[];\n icons: Icon[];\n}", - "SvgFidelity": "export declare class SvgFidelity {\n resolve(icon: Icon, color: string | null): RenderStrategy;\n toStyle(s: RenderStrategy, size: number): StyleObject;\n}", - "fidelity": "fidelity: SvgFidelity", - "assetUrl": "export declare function assetUrl(file: string): string;", - "svgDataUrl": "export declare function svgDataUrl(svg: string): string;", - "SnippetFactory": "export declare class SnippetFactory {\n register(format: string, builder: SnippetBuilder): this;\n supports(format: string, config?: Partial | null): boolean;\n needsSvg(format: string, config?: Partial | null): boolean;\n build(format: SnippetFormat, icon: Icon, o: SnippetOptions, svgBody?: string | null): string;\n svgFromParts(icon: Icon, parts: {\n body: string;\n viewBox: string;\n }, o: SnippetOptions): string;\n}", - "snippets": "snippets: SnippetFactory", - "snippetTabs": "export declare function snippetTabs(config?: Partial | null, factory?: SnippetFactory): {\n id: SnippetFormat;\n label: string;\n builtin: boolean;\n}[];", - "snippetTokens": "export declare function snippetTokens(icon: Icon, o: SnippetOptions, svg?: string): Record;", - "renderTemplate": "export declare function renderTemplate(template: string, tokens: Record): string;", - "iconPath": "export declare function iconPath(icon: Icon): string;", - "svgToJsx": "export declare function svgToJsx(svg: string): string;", - "SNIPPET_TABS": "SNIPPET_TABS: {\n id: BuiltinSnippetFormat;\n label: string;\n}[]", - "BUILTIN_SNIPPET_FORMATS": "BUILTIN_SNIPPET_FORMATS: readonly [\n 'svg',\n 'motion',\n 'helper',\n 'blade',\n 'bladeGeneric',\n 'livewire',\n 'alpine',\n 'vue',\n 'react',\n 'svelte',\n 'webcomponent',\n 'reactNative',\n 'angular',\n 'solid',\n 'preact',\n 'astro',\n 'qwik',\n 'ember',\n 'elm',\n 'api',\n 'name'\n]", - "BuiltinSnippetFormat": "export type BuiltinSnippetFormat = (typeof BUILTIN_SNIPPET_FORMATS)[number];", - "SnippetBuilder": "export type SnippetBuilder = (ctx: SnippetContext) => string;", - "SnippetContext": "export interface SnippetContext {\n icon: Icon;\n options: SnippetOptions;\n tokens: Record;\n}", - "SnippetFormat": "export type SnippetFormat = BuiltinSnippetFormat | (string & {});", - "SnippetOptions": "export interface SnippetOptions {\n size: number;\n unit: string;\n color: string | null;\n strokeWidth?: number;\n baseUrl?: string;\n motion?: SnippetMotion;\n config?: Partial | null;\n}", - "SnippetConfig": "export interface SnippetConfig {\n tabs: string[];\n labels: Record;\n templates: Record;\n className: string;\n apiOrigin: string;\n svgEndpoint?: string;\n}", - "iconRef": "export declare function iconRef(icon: Icon): string;", - "IconId": "export type IconId = number;", - "IconVariant": "export type IconVariant = string;", - "IconKind": "export type IconKind = 'icon' | 'illustration';", - "RawIcon": "export interface RawIcon {\n id: number;\n package: string;\n name: string;\n category: string;\n sub?: string;\n variant: string;\n kind?: IconKind;\n path?: string;\n icon_path?: string;\n file_path?: string;\n svg_content?: string | null;\n svg_url?: string;\n viewbox?: string;\n width?: number | string | null;\n height?: number | string | null;\n blade_clean?: string;\n blade_generic?: string;\n helper?: string;\n snippets?: Record;\n set?: string;\n tags?: string[];\n keywords?: string[];\n created_at?: string;\n updated_at?: string;\n}", - "Icon": "export interface Icon {\n id: IconId;\n package: string;\n name: string;\n category: string;\n sub?: string;\n variant: IconVariant;\n kind?: IconKind;\n svgContent: string | null;\n svgUrl: string | null;\n viewBox: string;\n bladeClean: string;\n bladeGeneric: string;\n helper: string;\n path?: string;\n snippets?: Record;\n tags: string[];\n keywords: string[];\n ownColor: boolean;\n}", - "IconPackage": "export interface IconPackage {\n id: string;\n label: string;\n description?: string;\n count: number;\n installed: boolean;\n loaded: boolean;\n}", - "Term": "export interface Term {\n id: number | string;\n name: string;\n label: string;\n package?: string;\n count: number;\n sub?: string;\n}", - "Filters": "export interface Filters {\n packages: IconPackage[];\n categories: Term[];\n variants: Term[];\n}", - "PageMeta": "export interface PageMeta {\n total: number;\n perPage: number;\n currentPage: number;\n lastPage: number;\n from: number;\n to: number;\n groupBy?: string | null;\n}", - "Envelope": "export interface Envelope {\n success: boolean;\n data: T;\n message?: string;\n error?: string;\n meta?: Record;\n}", - "PageResult": "export interface PageResult {\n items: T[];\n total: number;\n page: number;\n perPage: number;\n lastPage: number;\n rangeStart: number;\n rangeEnd: number;\n}", - "svgHasOwnColors": "export declare function svgHasOwnColors(svg: string | null | undefined): boolean;", - "toIcon": "export declare function toIcon(raw: RawIcon): Icon;", - "useStore": "useStore: import(\"zustand\").UseBoundStore, \"persist\" | \"setState\"> & {\n setState(partial: BrowserStore | Partial | ((state: BrowserStore) => BrowserStore | Partial), replace?: false | undefined): unknown;\n setState(state: BrowserStore | ((state: BrowserStore) => BrowserStore), replace: true): unknown;\n persist: {\n setOptions: (options: Partial>) => void;\n clearStorage: () => void;\n rehydrate: () => Promise | void;\n hasHydrated: () => boolean;\n onHydrate: (fn: (state: BrowserStore) => void) => () => void;\n onFinishHydration: (fn: (state: BrowserStore) => void) => () => void;\n getOptions: () => Partial>;\n };\n}>", - "BrowserStore": "export interface BrowserStore {\n catalog: Catalog | null;\n filtersData: Filters | null;\n config: AppConfig | null;\n loading: boolean;\n activeWorkspaceId: string | null;\n setCatalog: (c: Catalog) => void;\n setFiltersData: (f: Filters) => void;\n setConfig: (c: AppConfig) => void;\n setActiveWorkspace: (id: string) => void;\n theme: Theme;\n accent: string;\n radius: number;\n scale: Scale;\n density: Density;\n reduceMotion: boolean;\n showLabels: boolean;\n adaptMonochrome: boolean;\n locale: Locale;\n setLocale: (l: Locale) => void;\n translationOverrides: TranslationOverrides;\n addTranslations: (data: TranslationOverrides) => void;\n setTheme: (t: Theme) => void;\n toggleTheme: () => void;\n setAccent: (hex: string) => void;\n setRadius: (n: number) => void;\n setScale: (s: Scale) => void;\n setDensity: (d: Density) => void;\n toggleReduceMotion: () => void;\n toggleLabels: () => void;\n toggleAdaptMonochrome: () => void;\n filters: FilterState;\n view: ViewMode;\n catQ: string;\n collapsedGroups: string[];\n expandedCats: string[];\n searchScope: SearchScope;\n packageQuery: string;\n sidebarOpen: boolean;\n setSearchScope: (s: SearchScope) => void;\n setPackageQuery: (v: string) => void;\n toggleSidebar: () => void;\n setSidebarOpen: (v: boolean) => void;\n setSearch: (v: string) => void;\n clearSearch: () => void;\n togglePackage: (id: string) => void;\n selectAllPacks: (all: string[]) => void;\n clearPacks: () => void;\n toggleCat: (name: string) => void;\n toggleSub: (category: string, sub: string) => void;\n clearCats: () => void;\n setVariant: (v: string | null) => void;\n setSort: (k: SortKey) => void;\n toggleOrder: () => void;\n setPage: (n: number) => void;\n nextPage: (max: number) => void;\n prevPage: () => void;\n setPerPage: (n: number) => void;\n setView: (v: ViewMode) => void;\n setCatQ: (v: string) => void;\n toggleGroup: (pack: string) => void;\n toggleCatExpand: (key: string) => void;\n toggleExpandAll: (allGroups: string[], allCatKeys: string[]) => void;\n resetFilters: () => void;\n setKind: (k: IconKind) => void;\n toggleTag: (tag: string) => void;\n toggleKeyword: (keyword: string) => void;\n clearTerms: () => void;\n size: number;\n sizeUnit: SizeUnit;\n gridStroke: number;\n color: string | null;\n treatment: Treatment;\n copyFormat: CopyFormat;\n setSize: (n: number) => void;\n setSizeUnit: (u: SizeUnit) => void;\n setGridStroke: (n: number) => void;\n setColor: (c: string | null) => void;\n setTreatment: (t: Treatment) => void;\n setCopyFormat: (f: CopyFormat) => void;\n selection: IconId[];\n toggleSelect: (id: IconId) => void;\n clearSelection: () => void;\n favorites: IconId[];\n history: HistoryEntry[];\n collections: Collection[];\n toggleFavorite: (id: IconId) => void;\n pushHistory: (id: IconId, action: string) => void;\n clearHistory: () => void;\n createCollection: (name: string, icons?: readonly IconId[]) => void;\n renameCollection: (id: string, name: string) => void;\n removeCollection: (id: string) => void;\n addToCollection: (collId: string, iconId: IconId) => void;\n removeFromCollection: (collId: string, iconId: IconId) => void;\n recentCommands: string[];\n logCommand: (id: string, type?: 'action' | 'search' | 'navigation') => void;\n clearRecentCommands: () => void;\n libraryDeletions: number;\n deleteLibrary: () => void;\n layer: Layer;\n detailId: IconId | null;\n libTab: LibTab;\n librarySeed: IconId[];\n openLayer: (l: Layer) => void;\n closeLayer: () => void;\n openDetail: (id: IconId) => void;\n openLibrary: (tab: LibTab, opts?: {\n seed?: readonly IconId[];\n }) => void;\n toasts: {\n id: number;\n msg: string;\n icon: string;\n }[];\n showToast: (msg: string, icon?: string) => void;\n dismissToast: (id: number) => void;\n tasks: {\n id: number;\n label: string;\n }[];\n runTask: (label: string, work: () => Promise, opts?: {\n delayMs?: number;\n }) => Promise;\n ctx: {\n x: number;\n y: number;\n title?: string;\n items: ContextMenuItem[];\n } | null;\n openCtx: (x: number, y: number, items: ContextMenuItem[], title?: string) => void;\n closeCtx: () => void;\n setSelection: (ids: IconId[]) => void;\n auth: {\n status: AuthStatus;\n user: AuthUser | null;\n };\n authView: AuthView;\n authReason: string | null;\n authInitialized: boolean;\n openAuth: (view: Exclude, reason?: string) => void;\n closeAuth: () => void;\n signIn: (email: string, code: string) => boolean;\n createAccount: (p: {\n first: string;\n last: string;\n email: string;\n }) => void;\n signOut: () => void;\n notifications: AppNotification[];\n pushNotification: (n: {\n icon: string;\n text: string;\n }) => void;\n markNotificationsRead: () => void;\n clearNotifications: () => void;\n seedDemoNotifications: () => void;\n devtools: {\n open: boolean;\n tab: DevToolsTab;\n events: DevToolsEvent[];\n capturing: boolean;\n };\n devtoolsLayout: {\n dock: DevToolsDock;\n size: number;\n };\n setDevtoolsDock: (dock: DevToolsDock) => void;\n setDevtoolsSize: (size: number) => void;\n toggleDevtools: () => void;\n setDevToolsTab: (t: DevToolsTab) => void;\n pushDevEvent: (e: DevToolsEvent) => void;\n clearDevEvents: () => void;\n setCapturing: (v: boolean) => void;\n inviteOpen: boolean;\n accessCollectionId: string | null;\n sharedOpen: boolean;\n openShared: () => void;\n closeShared: () => void;\n openInvite: () => void;\n closeInvite: () => void;\n openAccess: (id: string) => void;\n closeAccess: () => void;\n shareCollection: (id: string, opts: {\n role: 'editor' | 'viewer';\n sharedWith: TeamRef[];\n }) => void;\n storageDriver: StorageDriver;\n setStorageDriver: (d: StorageDriver) => void;\n tour: {\n active: boolean;\n step: number;\n };\n tourSeen: boolean;\n startTour: () => void;\n nextTourStep: () => void;\n prevTourStep: () => void;\n skipTour: () => void;\n endTour: () => void;\n consent: 'essential' | 'all' | null;\n setConsent: (c: 'essential' | 'all') => void;\n boot: BootStateSlice;\n setBoot: (b: Partial) => void;\n confirm: ConfirmSpec | null;\n openConfirm: (c: ConfirmSpec) => void;\n closeConfirm: () => void;\n factoryReset: () => void;\n}", - "AppConfig": "export interface AppConfig {\n meta: {\n version: string;\n author: string;\n sets: number;\n license: string;\n url: string;\n };\n seo: {\n title: string;\n description: string;\n ogImage?: string;\n canonical?: string;\n };\n env: AppEnv | null;\n debug: {\n enabled: boolean | null;\n logLevel: LogLevel;\n };\n features: FeatureFlags;\n brand: {\n name: string;\n suffix: string;\n tagline: string;\n };\n user: {\n mode: string;\n name: string;\n email: string;\n initials: string;\n plan: string;\n workspaces: Workspace[];\n };\n team: TeamMember[];\n ui: {\n defaultTheme: 'light' | 'dark';\n scale: ScaleT;\n density: 'compact' | 'comfy';\n accentOptions: string[];\n perPageOptions: number[];\n scaleOptions: {\n id: ScaleT;\n label: string;\n }[];\n baseFontSize: number;\n avatarPalette: string[];\n };\n defaults: {\n packages: string[];\n perPage: number;\n sortBy: 'name' | 'package' | 'category';\n sortOrder: 'asc' | 'desc';\n appearance: {\n theme: 'light' | 'dark' | 'system';\n accent: string;\n radius: number;\n scale: ScaleT;\n density: 'compact' | 'comfy';\n reduceMotion: boolean;\n showLabels: boolean;\n adaptMonochrome?: boolean;\n };\n render: {\n size: number;\n sizeUnit: 'px' | 'rem' | 'em';\n gridStroke: number;\n color: string | null;\n treatment: string;\n copyFormat: CopyFormat;\n };\n collections: {\n id: string;\n name: string;\n icons: number[];\n shared?: boolean;\n role?: 'editor' | 'viewer';\n sharedWith?: {\n initials: string;\n name: string;\n }[];\n }[];\n kind?: IconKind;\n };\n ranges: {\n size: {\n min: number;\n max: number;\n step: number;\n };\n stroke: {\n min: number;\n max: number;\n step: number;\n };\n radius: {\n min: number;\n max: number;\n };\n };\n limits: {\n historyCap: number;\n recentCommandsCap: number;\n paletteIconResults: number;\n logBuffer: number;\n svgMaxChars: number;\n svgMaxNodes: number;\n };\n toolbar: {\n sortOptions: {\n id: string;\n label: string;\n }[];\n treatments: {\n id: string;\n label: string;\n desc: string;\n }[];\n sizeUnits: string[];\n copyFormats: {\n id: CopyFormat;\n label: string;\n }[];\n exportFormats: {\n id: string;\n label: string;\n desc: string;\n icon?: string;\n }[];\n nativeExports?: {\n id: string;\n href: string;\n }[];\n };\n about: {\n description: string;\n creditsTitle: string;\n copyright: string;\n creditsMarqueeSec: number;\n credits: {\n name: string;\n author: string;\n license: string;\n }[];\n links: {\n label: string;\n href: string;\n }[];\n stats: {\n key: string;\n label: string;\n }[];\n };\n i18n: {\n locale: string;\n available: string[];\n endpoint?: string;\n };\n storageKeys: {\n persist: string;\n driver: string;\n paletteRecent: string;\n locale: string;\n consent?: string;\n };\n host: HostContext | null;\n boot: Record;\n snippets: SnippetConfig;\n storage: {\n frontendDriver: 'local' | 'session';\n laravelDriver?: string;\n };\n crossLinks: {\n landing: string | null;\n };\n}", - "resolveConfig": "export declare function resolveConfig(partial: PartialConfig | null | undefined): AppConfig;", - "CONFIG_DEFAULTS": "CONFIG_DEFAULTS: AppConfig", - "PartialConfig": "export type PartialConfig = DeepPartial;", - "TaskLoaderView": "export declare function TaskLoaderView({ label, more }: {\n label: string;\n more?: number;\n}): import(\"react\").JSX.Element;", - "TASK_LOADER_DELAY_MS": "TASK_LOADER_DELAY_MS = 2000", - "hostConfig": "export declare function hostConfig(host: HostContext): PartialConfig;", - "hostConfigFromProps": "export declare function hostConfigFromProps(props: {\n auth?: User | null;\n ichava?: Partial | null;\n} | null | undefined): PartialConfig;", - "loadHostConfig": "export declare function loadHostConfig(bootstrapUrl: string, transport?: HttpTransport): Promise;", - "loadHostContext": "export declare function loadHostContext(bootstrapUrl: string, transport?: HttpTransport): Promise;", - "hostFromInertia": "export declare function hostFromInertia(props: {\n auth?: User | null;\n ichava?: Partial | null;\n} | null | undefined): HostContext | null;", - "hostFromBootstrap": "export declare function hostFromBootstrap(doc: Bootstrap): HostContext;", - "featureOn": "export declare function featureOn(host: HostContext, name: FeatureName): boolean;", - "endpoint": "export declare function endpoint(host: HostContext, name: FeatureName, key: string): string | null;", - "fillEndpoint": "export declare function fillEndpoint(template: string, params: Readonly>): string;", - "isCompatible": "export declare function isCompatible(version: string, ours?: string): boolean;", - "restLibraryEndpoints": "export declare function restLibraryEndpoints(host: HostContext): {\n library: string;\n favorites: string | null;\n collections: string | null;\n history: string | null;\n commands: string | null;\n preferences: string | null;\n api: Readonly>>;\n} | null;", - "apiEndpoint": "export declare function apiEndpoint(host: HostContext | null | undefined, key: ApiEndpointKey): string | null;", - "hostApi": "export declare function hostApi(api: Partial | null | undefined): HostApi | null;", - "ABILITIES": "ABILITIES: {\n readonly admin: 'ichava.admin';\n readonly manageCache: 'ichava.manage-cache';\n}", - "HostContext": "export interface HostContext {\n source: HostSource;\n schemaVersion: string;\n compatible: boolean;\n locale: string | null;\n modes: Modes;\n user: User | null;\n features: Readonly>>;\n links: Links;\n storage: {\n tier: string | null;\n persistent: boolean | null;\n };\n defaultTheme: 'light' | 'dark' | null;\n perPage: number | null;\n api?: HostApi | null;\n kinds?: KindsInfo | null;\n limits?: {\n svgMaxNodes: number | null;\n svgMaxChars: number | null;\n } | null;\n crossLinks?: CrossLinks | null;\n}", - "FeatureName": "export type FeatureName = keyof Features;", - "HostApi": "export interface HostApi {\n version: string;\n base: string | null;\n endpoints: Readonly>>;\n}", - "ApiEndpointKey": "export type ApiEndpointKey = keyof Exclude;", - "HostIdentity": "export declare class HostIdentity implements IdentityProvider {\n constructor(user: HostUserData | null, links: HostAccountLinks, opts?: HostIdentityOptions);\n current(): IdentityUser | null;\n signIn(): IdentityUser | null;\n createAccount(): IdentityUser;\n beginSignIn(): boolean;\n signOut(): void;\n}", - "DemoIdentity": "export declare class DemoIdentity implements IdentityProvider {\n signIn(email: string, code: string, context: IdentityContext | null): IdentityUser | null;\n createAccount(p: {\n first: string;\n last: string;\n email: string;\n }): IdentityUser;\n signOut(): void;\n}", - "IdentityProvider": "export interface IdentityProvider {\n signIn(email: string, code: string, context: IdentityContext | null): IdentityUser | null;\n createAccount(person: {\n first: string;\n last: string;\n email: string;\n }): IdentityUser;\n signOut(): void;\n current?(): IdentityUser | null;\n beginSignIn?(view: 'signin' | 'create'): boolean;\n}", - "IdentityUser": "export interface IdentityUser {\n name: string;\n initials: string;\n email: string;\n plan: 'FREE' | 'PRO' | 'TEAM' | null;\n id?: string;\n avatarUrl?: string | null;\n abilities?: Readonly>;\n}", - "diffLibrary": "export declare function diffLibrary(prev: LibraryView, next: LibraryView): LibraryOp[];", - "RestLibrary": "export declare class RestLibrary {\n constructor(endpoints: LibraryEndpoints, transport: HttpTransport);\n serverId(id: string): string;\n load(): Promise;\n apply(op: LibraryOp): Promise<{\n from: string;\n to: string;\n } | void>;\n}", - "LibraryOp": "export type LibraryOp = {\n kind: 'favorite.add';\n iconId: IconId;\n} | {\n kind: 'favorite.remove';\n iconId: IconId;\n} | {\n kind: 'history.record';\n iconId: IconId;\n action: string;\n} | {\n kind: 'history.clear';\n} | {\n kind: 'collection.create';\n id: string;\n name: string;\n icons?: readonly IconId[];\n} | {\n kind: 'collection.rename';\n id: string;\n name: string;\n} | {\n kind: 'collection.delete';\n id: string;\n} | {\n kind: 'collection.add';\n id: string;\n iconId: IconId;\n} | {\n kind: 'collection.remove';\n id: string;\n iconId: IconId;\n} | {\n kind: 'command.log';\n command: string;\n} | {\n kind: 'command.clear';\n} | {\n kind: 'library.delete';\n};", - "LibraryView": "export interface LibraryView {\n favorites: readonly IconId[];\n history: readonly HistoryEntry[];\n collections: readonly Collection[];\n recentCommands?: readonly string[];\n libraryDeletions?: number;\n}", - "LibraryEndpoints": "export interface LibraryEndpoints {\n library: string;\n favorites: string | null;\n collections: string | null;\n history: string | null;\n commands: string | null;\n api?: Readonly>>;\n}", - "RestPreferences": "export declare class RestPreferences {\n constructor(url: string, transport: HttpTransport);\n static withEndpoints(endpoints: PreferenceEndpoints, transport: HttpTransport): RestPreferences;\n load(): Promise;\n save(p: HostPreferences): Promise;\n reset(): Promise;\n}", - "HostPreferences": "export interface HostPreferences {\n view?: 'grid' | 'list';\n size?: number;\n perPage?: number;\n sortBy?: 'name' | 'package' | 'category';\n sortOrder?: 'asc' | 'desc';\n}", - "PreferenceEndpoints": "export interface PreferenceEndpoints {\n show: string | null;\n update: string | null;\n reset: string | null;\n}", - "mergeConfig": "export declare function mergeConfig(base: T, over: unknown): T;", - "emptyReasonFor": "export declare function emptyReasonFor(page: PageResult, params: ListParams, catalogSize: number): EmptyReason;", - "ListedPage": "export type ListedPage = PageResult & {\n emptyReason?: EmptyReason;\n};", - "PAYLOAD_SCHEMA_VERSION": "PAYLOAD_SCHEMA_VERSION = \"1.8.0\"", - "HostBootstrap": "export type HostBootstrap = {\n schemaVersion: string;\n locale: string;\n modes: Modes;\n session: Session;\n features: Features;\n api: ApiManifest;\n kinds?: KindsInfo;\n limits?: Limits;\n crossLinks?: CrossLinks;\n};", - "HostSession": "export type HostSession = {\n schemaVersion: string;\n authenticated: boolean;\n user: User | null;\n tier: \"browser\" | \"session\" | \"database\";\n persistent: boolean;\n links: Links;\n};", - "HostUser": "export type HostUser = {\n id: string;\n name: string;\n avatarUrl: string | null;\n abilities: Record;\n};", - "HostFeature": "export type HostFeature = {\n enabled: boolean;\n reason: \"config\" | \"gate\" | \"driver\" | \"empty\" | null;\n endpoints: Record | unknown[];\n};", - "HostFeatures": "export type HostFeatures = {\n favorites: Feature;\n collections: Feature;\n history: Feature;\n commands: Feature;\n library: Feature;\n preferences: Feature;\n status: Feature;\n cacheAdmin: Feature;\n illustrations: Feature;\n searchLanguage: Feature;\n export: Feature;\n motion: Feature;\n themeToggle: Feature;\n presence: Feature;\n invites: Feature;\n sharing: Feature;\n notifications: Feature;\n workspaces: Feature;\n};", - "HostIchavaProp": "export type HostIchavaProp = {\n schemaVersion: string;\n locale: string;\n modes: Modes;\n features: Features;\n account: Links;\n storage: {\n tier: string | null;\n persistent: boolean | null;\n };\n prefix: string;\n perPage: number;\n defaultTheme: string;\n ui: {\n version: string | null;\n license: string;\n docsUrl: string | null;\n links: {\n label: string;\n href: string;\n }[];\n themeToggle: boolean;\n };\n snippets: Record | unknown[];\n routes: Record;\n kinds?: KindsInfo;\n limits?: Limits;\n crossLinks?: CrossLinks;\n};", - "HostApiManifest": "export type HostApiManifest = {\n version: \"v1\";\n base: string | null;\n endpoints: {\n session?: string;\n bootstrap?: string;\n status?: string;\n \"icons.list\"?: string;\n \"icons.show\"?: string;\n \"icons.svg\"?: string;\n \"icons.filters\"?: string;\n \"icons.tree\"?: string;\n \"icons.statistics\"?: string;\n \"icons.updateStatus\"?: string;\n \"packages.list\"?: string;\n \"packages.show\"?: string;\n \"terms.categories\"?: string;\n \"terms.variants\"?: string;\n \"terms.hierarchy\"?: string;\n \"library.show\"?: string;\n \"library.destroy\"?: string;\n \"favorites.list\"?: string;\n \"favorites.add\"?: string;\n \"favorites.remove\"?: string;\n \"favorites.toggle\"?: string;\n \"collections.list\"?: string;\n \"collections.create\"?: string;\n \"collections.show\"?: string;\n \"collections.rename\"?: string;\n \"collections.delete\"?: string;\n \"collections.addIcon\"?: string;\n \"collections.removeIcon\"?: string;\n \"history.list\"?: string;\n \"history.log\"?: string;\n \"history.clear\"?: string;\n \"commands.list\"?: string;\n \"commands.log\"?: string;\n \"commands.clear\"?: string;\n \"preferences.show\"?: string;\n \"preferences.update\"?: string;\n \"preferences.search\"?: string;\n \"preferences.filters\"?: string;\n \"preferences.reset\"?: string;\n \"cache.stats\"?: string;\n \"cache.clear\"?: string;\n \"cache.rebuild\"?: string;\n } | unknown[];\n};", - "HostSharedProps": "export type HostSharedProps = {\n auth: User | null;\n flash: {\n success: string | null;\n error: string | null;\n };\n preferences: Record;\n ichava: Ichava;\n};", - "EmptyReason": "export type EmptyReason = \"no_match\" | \"no_icons\" | null;", - "loadLocale": "export declare function loadLocale(locale: Locale): Promise;", - "loadAllLocales": "export declare function loadAllLocales(): Promise;" -} diff --git a/.dev/browser/rewrite-lib-type-paths.mjs b/.dev/browser/rewrite-lib-type-paths.mjs deleted file mode 100644 index 2bda265..0000000 --- a/.dev/browser/rewrite-lib-type-paths.mjs +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env node -// Rewrites this repo's `@/` path alias to relative specifiers in the emitted -// declarations under dist/lib/types. -// -// tsc resolves `paths` for type checking but never rewrites them in its output, so -// `export { IchavaBrowser } from '@/IchavaBrowser'` would ship verbatim and resolve to -// nothing in a host. The JS side is resolved by Vite; this is the .d.ts side of the -// same fix (FINDINGS B2). Run after `tsc -p tsconfig.lib.json`. - -import { readdirSync, readFileSync, statSync, writeFileSync } from 'node:fs'; -import { dirname, join, relative, sep } from 'node:path'; -import { fileURLToPath } from 'node:url'; - -const root = join(dirname(fileURLToPath(import.meta.url)), '..'); -const typesDir = join(root, 'dist/lib/types'); - -function walk(dir) { - return readdirSync(dir).flatMap((name) => { - const p = join(dir, name); - return statSync(p).isDirectory() ? walk(p) : p.endsWith('.d.ts') ? [p] : []; - }); -} - -const files = walk(typesDir); -if (files.length === 0) { - console.error(`rewrite-lib-type-paths: no declarations under ${relative(root, typesDir)}; run tsc -p tsconfig.lib.json first`); - process.exit(1); -} - -let rewritten = 0; -for (const file of files) { - const src = readFileSync(file, 'utf8'); - const out = src.replace(/(['"])@\/([^'"]+)\1/g, (_m, q, rest) => { - let rel = relative(dirname(file), join(typesDir, rest)).split(sep).join('/'); - if (!rel.startsWith('.')) rel = `./${rel}`; - rewritten++; - return `${q}${rel}${q}`; - }); - if (out !== src) writeFileSync(file, out); -} -console.log(`rewrite-lib-type-paths: ${files.length} declaration files, ${rewritten} alias specifiers rewritten`); diff --git a/.dev/browser/write-prepaint.mjs b/.dev/browser/write-prepaint.mjs index ddca853..80ccbbb 100644 --- a/.dev/browser/write-prepaint.mjs +++ b/.dev/browser/write-prepaint.mjs @@ -1,16 +1,14 @@ #!/usr/bin/env node -// `npm run build:prepaint`: write resources/vendor/react-icon-browser/prepaint.html from the +// `npm run build:prepaint`: write resources/views/prepaint.html from the // browser's source, resources/js/boot/prepaint.html, with the "Browser" suffix. // -// That file is the one part of the deprecated vendored directory still read at run time: -// the component (src/View/Components/Prepaint.php) inlines -// it. react-icon-browser's library build emitted it (emitPrepaint) and the sync copied it here; -// since react consolidation 3d (2026-11-12) the source lives in this repository, so this writes -// it in place. resources/js/core/prepaint.test.ts fails while the two disagree. +// The component (src/View/Components/Prepaint.php) inlines +// it. It used to sit in the vendored react-icon-browser build, which was removed on 2026-11-13; +// the source lives in this repository, so this writes the fragment beside the package's views. resources/js/core/prepaint.test.ts fails while the two disagree. import { writeFileSync } from 'node:fs'; import { fileURLToPath } from 'node:url'; import { prepaintFragment } from './prepaint.mjs'; -const target = fileURLToPath(new URL('../../resources/vendor/react-icon-browser/prepaint.html', import.meta.url)); +const target = fileURLToPath(new URL('../../resources/views/prepaint.html', import.meta.url)); writeFileSync(target, `${prepaintFragment({ suffix: 'Browser' })}\n`); -console.log('wrote resources/vendor/react-icon-browser/prepaint.html'); +console.log('wrote resources/views/prepaint.html'); diff --git a/.dev/tools/build-lib.mjs b/.dev/tools/build-lib.mjs deleted file mode 100644 index 02e4600..0000000 --- a/.dev/tools/build-lib.mjs +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env node -// @deprecated since 2026-11-12 (react consolidation 3e). Removal needs the owner's yes; it is -// recorded in the react consolidation audit (deprecations.md). -// -// `npm run build:lib` built @ichava/react-icon-browser as a library (vite.lib.config.ts) in that -// repository, for icon-browser to vendor. The library build is retired (owner, Q2, 2026-11-11): -// the browser's source lives in this repository and `npm run build:prod` builds the committed -// bundle from it. react-icon-browser's config waits, unbuilt, in -// .dev/imported/react-icon-browser/vite.lib.config.ts. This prints the pointer and exits 0. -console.log( - 'build:lib is deprecated: the browser library build is retired.\n' + - 'Run `npm run build:prod`, which builds public/assets from resources/js. See docs/release.md#updating-the-browser-ui.', -); diff --git a/.dev/tools/check-consumers.mjs b/.dev/tools/check-consumers.mjs deleted file mode 100644 index eac7601..0000000 --- a/.dev/tools/check-consumers.mjs +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env node -// @deprecated since 2026-11-12 (react consolidation 3e). Removal needs the owner's yes; it is -// recorded in the react consolidation audit (deprecations.md). -// -// `npm run check:consumers` was react-icon-browser's release gate: it read each consumer's -// vendored.json (this repository's resources/vendor/react-icon-browser among them) and held a -// release while a consumer was behind. The browser's source lives in this repository now, so no -// consumer vendors it and there is nothing to be behind. The real script, a copy of -// js-ui-kernel's config/tools/check-consumers.mjs, is kept unused at -// .dev/browser/check-consumers.mjs. This prints the pointer and exits 0. -console.log( - 'check:consumers is deprecated: nothing vendors the browser any more.\n' + - 'The committed bundle is checked by committed-build.yml instead (npm run build:prod, then git diff public/assets).', -); diff --git a/.dev/tools/sync-react-icon-browser.mjs b/.dev/tools/sync-react-icon-browser.mjs deleted file mode 100644 index 1b3386d..0000000 --- a/.dev/tools/sync-react-icon-browser.mjs +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env node -// @deprecated since 2026-11-12 (react consolidation 3e), by `npm run build:prod`. Removal needs the -// owner's yes; it is recorded in the react consolidation audit (deprecations.md). -// -// This used to vendor the built @ichava/react-icon-browser library from a react-icon-browser -// checkout into resources/vendor/react-icon-browser. The browser's source lives in this -// repository now (resources/js/, imported in react consolidation 3d), and build:prod builds the -// committed bundle from it, so there is nothing to sync. It prints the pointer and exits 0, so a -// script or a habit that still calls it fails nothing and learns the new command. -// vendoredLicense() stays exported, unchanged, for any caller this did not find. - -import { pathToFileURL } from 'node:url'; -import { SyncError } from './sync-vendored-library.mjs'; - -// react-icon-browser's LICENSE says that repository must stay private, which is true there and not -// of the repository this compiled copy ships in. The vendored copy says where the source lives and -// limits the build to Ichava products instead; vendoredLibrary.test.ts pins the wording. -const PRIVATE_CLAUSE = - /This repository\s+must\s+therefore\s+remain\s+private,\s+and\s+its\s+source\s+may\s+be\s+shared\s+only\s+with\s+people\s+who\s+hold\s+their\s+own\s+Untitled\s+UI\s+licence\./; -const VENDORED_CLAUSE = `Their source therefore stays in the private react-icon-browser -repository and may be shared only with people who hold their own Untitled UI -licence. This vendored copy holds only the compiled build, which may be used -as part of Ichava products published by Simtabi LLC and may not be -redistributed outside them.`; - -/** @deprecated since 2026-11-12: nothing vendors react-icon-browser's LICENSE any more. */ -export function vendoredLicense(text) { - if (!PRIVATE_CLAUSE.test(text)) throw new SyncError("react-icon-browser's LICENSE no longer has the must-remain-private clause; update vendoredLicense()"); - return text.replace(PRIVATE_CLAUSE, VENDORED_CLAUSE); -} - -if (import.meta.url === pathToFileURL(process.argv[1] ?? '').href) { - console.log( - 'sync:react-icon-browser is deprecated: the browser is built from this repository now.\n' + - 'Edit resources/js/, then run `npm run build:prod` (and `npm run build:prepaint` after a change to\n' + - 'resources/js/boot/prepaint.html). See docs/release.md#updating-the-browser-ui.', - ); -} diff --git a/.gitattributes b/.gitattributes index fe5bc5a..513eca2 100644 --- a/.gitattributes +++ b/.gitattributes @@ -32,4 +32,3 @@ /resources/js/**/*.test.ts export-ignore /resources/js/**/*.test.tsx export-ignore /resources/js/test export-ignore -/resources/vendor/react-icon-browser/DEPRECATED.md export-ignore diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 176ca13..ed73256 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -29,8 +29,8 @@ updates: prefix: 'chore(actions)' include: scope - # The adapter's npm dependencies. The browser UI itself is vendored - # (resources/vendor/react-icon-browser) and updated by its sync script, not here. + # The npm dependencies of the adapter and of the browser UI, whose source is + # resources/js (the vendored react-icon-browser build was removed on 2026-11-13). - package-ecosystem: npm directory: / schedule: diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f62357..5f95fe1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,8 @@ All notable changes to `ichava/icon-browser` follow [Keep a Changelog](https://k ### Removed +- **The deprecated vendored build and its scripts** (owner, 2026-11-13: wire in what can be wired, otherwise remove). `resources/vendor/react-icon-browser` (254 files), `npm run build:lib`, `npm run sync:react-icon-browser` and `npm run check:consumers`, with the library-build checks behind them (`check-lib-build`, `rewrite-lib-type-paths`, `check-public-api` and its snapshot, `check-consumers` and `consumers.json`) and `vendoredLibrary.test.ts`. Nothing imported any of it. The one file still read from it moved: the prepaint component now inlines `resources/views/prepaint.html`, which `npm run build:prepaint` writes. Tailwind no longer scans the old bundle, so `inertia-app.css` loses utilities only it named (181 to 172 KB). `.dev/imported/react-icon-browser/` stays for the e2e port. +- **The ten re-export files for the kernel's shared pieces** (`lib/utils/cx`, `is-react-component`, the avatar base components, radio buttons, toggle, featured icon, `uui-theme.css`): 40 files now import `@ichava/js-ui-kernel/react` directly, and `noDeprecations.test.ts` allows no exceptions. - `CreateCollection::rules()`: its two callers now use `StoreCollectionRequest`, which owns the rules (forward only). - **The vendored-library test reads only `vendored.json`.** The fallback to the old `VENDORED.json` name is removed (forward only, owner 2026-11-05); every consumer writes the lowercase name since #124. - **Payload schema 1.8.0: the `android-vd` (Android VectorDrawable XML) asset export is dropped**, by owner rule (Sim, 2026-11-04): the ichava icon ecosystem is strictly `*.svg`. `$defs/format` and `x-ichava-formats` lose `android-vd` (25 formats), `PayloadSchema::VERSION` is `1.8.0`, and `FormatRegistryTest` now fails if the id returns or if any asset export other than the SVG-carrying `css-mask`, `data-uri`, `flutter` and `swiftui` appears. 1.7.0 was never released, so no published payload named it. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6de9aa3..367a46a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,7 +8,7 @@ This package is the HTTP layer of the Ichava ecosystem: the Inertia browser page - PHP tests run with `vendor/bin/pest`; style is `composer pint`, analysis `composer analyse`. - The browser UI is **edited here.** Its source moved from `ichava/react-icon-browser` into `resources/js` on 2026-11-12, beside the Inertia adapter around it ([Architecture](docs/architecture.md#the-browser-ui)). Frontend checks: `npm install`, `npm run typecheck:inertia`, `npm run lint`, `npm run test:js`. -- `resources/vendor/react-icon-browser` is the old vendored build, deprecated and no longer rebuilt. Never hand-edit it; `vendoredLibrary.test.ts` fails on any change its manifest does not record. Its `prepaint.html` is still inlined by the Blade component, and `npm run build:prepaint` writes it from the source. +- The Blade prepaint component inlines `resources/views/prepaint.html`; `npm run build:prepaint` writes it from `resources/js/boot/prepaint.html`, and `prepaint.test.ts` fails while the two disagree. - Production build: `npm run build:prod`. Output goes to `public/assets/` (committed) and is published via `vendor:publish --tag=ichava::icon-browser-assets`. - The source and the bundle contain Untitled UI PRO components, used under the Untitled UI licence as part of this product, not as a kit ([LICENSE](LICENSE), [Architecture](docs/architecture.md#untitled-ui-pro-components)). Add a PRO component only when the browser uses it, keep its header line, and list a new PRO folder in LICENSE; `proLicence.test.ts` checks both. Never copy them into another package, and never commit a source map or `sourcesContent` under `public/`. - Class short names use the constant convention: `IconBrowserServiceProvider`, `IchavaTestIconComponent`, etc. Browser-only classes live under the `Simtabi\Laranail\Ichava\IconBrowser\` namespace. diff --git a/LICENSE b/LICENSE index 7ff02bb..6c4761c 100644 --- a/LICENSE +++ b/LICENSE @@ -24,8 +24,6 @@ and each file opens with a comment saying so. They are also compiled into: - public/assets/js/inertia-app.js and the chunks beside it, and public/assets/css/inertia-app.css (the committed browser bundle, published to host applications) -- resources/vendor/react-icon-browser (the earlier vendored library build, - deprecated and no longer built) The Untitled UI licence does not permit redistributing these components on their own, or as a kit or library. Taking them out of this product, or using @@ -40,8 +38,8 @@ Third-party code in this repository stays under its own licence: except the PRO folders listed above, and those taken from @ichava/js-ui-kernel/react): MIT License, Copyright (c) Untitled UI. https://github.com/untitleduico/react/blob/main/LICENSE -- Geist and Geist Mono fonts (resources/assets/fonts, public/assets/fonts and - resources/vendor/react-icon-browser/fonts): SIL Open Font License 1.1, +- Geist and Geist Mono fonts (resources/assets/fonts and public/assets/fonts): + SIL Open Font License 1.1, Copyright (c) Vercel. See resources/assets/fonts/LICENSE.txt. - Icon assets under resources/assets/svg keep the licence of their upstream icon set. diff --git a/docs/architecture.md b/docs/architecture.md index b33c8a8..6c04be5 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -81,13 +81,14 @@ folder whose files lack that line. Taking these components out of this product, needs your own Untitled UI licence. The 20 Metronic paths in react-icon-browser (its visual baselines of the private Metronic pack) were not imported. -### The vendored build is deprecated - -`resources/vendor/react-icon-browser` stays, unbuilt, with a `DEPRECATED.md`. Nothing imports it. -One file in it is still read at run time: the `` component -inlines its `prepaint.html`. `npm run build:prepaint` writes that file from -`resources/js/boot/prepaint.html`, and a Vitest test fails while the two differ. `build:lib`, -`sync:react-icon-browser` and `check:consumers` print where the work moved and exit 0. +### The vendored build was removed + +`resources/vendor/react-icon-browser` was removed on 2026-11-13, with the `build:lib`, +`sync:react-icon-browser` and `check:consumers` scripts that had only printed where the work +moved. The one file still read from it, `prepaint.html`, now lives at +`resources/views/prepaint.html`: the `` component inlines it, +`npm run build:prepaint` writes it from `resources/js/boot/prepaint.html`, and a Vitest test +fails while the two differ. The look comes with the library: since the 0.1.0 restyle the browser draws Ichava's warm greys, the teal `#0e7c66` default accent, a 6px radius, Tabler chrome icons, square tags and tabs, flat diff --git a/docs/release.md b/docs/release.md index ced1a8c..0782060 100644 --- a/docs/release.md +++ b/docs/release.md @@ -68,7 +68,7 @@ npm run build:prod # then commit public/assets npm run build:prepaint # only when resources/js/boot/prepaint.html changed ``` -`npm run sync:react-icon-browser` and `npm run build:lib` are deprecated: they print this and exit 0. The vendored directory, `resources/vendor/react-icon-browser`, is no longer rebuilt. +`npm run build:prepaint` writes `resources/views/prepaint.html`, which the prepaint component inlines; commit it with the bundle. The vendored `resources/vendor/react-icon-browser` and its `sync:react-icon-browser` and `build:lib` scripts were removed on 2026-11-13. The source and the committed bundle contain Untitled UI PRO components, used under the Untitled UI licence as part of this product ([LICENSE](../LICENSE), [Architecture](architecture.md#untitled-ui-pro-components)). The repository is public (decided 2026-10-30) and the package stays proprietary. A release tag on the public repository publishes normally: `release.yml` does not gate on repository visibility. Its other safeguards stand, namely the tag-only trigger, the refusal of any ref that is not a `vX.Y.Z` tag, and the changelog section it extracts and fails closed without. diff --git a/package.json b/package.json index a80f4ff..9a157d7 100644 --- a/package.json +++ b/package.json @@ -30,9 +30,6 @@ "test:js:watch": "vitest", "typecheck:inertia": "tsc -p tsconfig.inertia.json", "build:prepaint": "node .dev/browser/write-prepaint.mjs", - "sync:react-icon-browser": "node .dev/tools/sync-react-icon-browser.mjs", - "build:lib": "node .dev/tools/build-lib.mjs", - "check:consumers": "node .dev/tools/check-consumers.mjs", "lint": "eslint resources/js --max-warnings 0", "ci:manual": "node .dev/tools/manual-ci.mjs", "e2e": "playwright test --config e2e/playwright.config.ts" diff --git a/public/assets/css/inertia-app.css b/public/assets/css/inertia-app.css index 3e0cb99..7bd75c7 100644 --- a/public/assets/css/inertia-app.css +++ b/public/assets/css/inertia-app.css @@ -1,3 +1,3 @@ /*! tailwindcss v4.3.5 | MIT License | https://tailwindcss.com */ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}@scope([data-ichava-theme]){:scope,*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-mask-linear:linear-gradient(#fff, #fff);--tw-mask-radial:linear-gradient(#fff, #fff);--tw-mask-conic:linear-gradient(#fff, #fff);--tw-mask-left:linear-gradient(#fff, #fff);--tw-mask-right:linear-gradient(#fff, #fff);--tw-mask-bottom:linear-gradient(#fff, #fff);--tw-mask-top:linear-gradient(#fff, #fff);--tw-mask-bottom-from-position:0%;--tw-mask-bottom-to-position:100%;--tw-mask-bottom-from-color:black;--tw-mask-bottom-to-color:transparent}}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--spacing:.25rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}[data-ichava-theme]{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, "Roboto Mono", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-800:oklch(47% .157 37.304);--color-orange-900:oklch(40.8% .123 38.172);--color-orange-950:oklch(26.6% .079 36.259);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--color-yellow-950:oklch(28.6% .066 53.813);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-emerald-950:oklch(26.2% .051 172.552);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-600:oklch(58.8% .158 241.966);--color-sky-700:oklch(50% .134 242.749);--color-sky-800:oklch(44.3% .11 240.79);--color-sky-900:oklch(39.1% .09 240.876);--color-sky-950:oklch(29.3% .066 243.157);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-800:oklch(39.8% .195 277.366);--color-indigo-900:oklch(35.9% .144 278.697);--color-indigo-950:oklch(25.7% .09 281.288);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-purple-950:oklch(29.1% .149 302.717);--color-fuchsia-50:oklch(97.7% .017 320.058);--color-fuchsia-100:oklch(95.2% .037 318.852);--color-fuchsia-200:oklch(90.3% .076 319.62);--color-fuchsia-300:oklch(83.3% .145 321.434);--color-fuchsia-400:oklch(74% .238 322.16);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-fuchsia-600:oklch(59.1% .293 322.896);--color-fuchsia-700:oklch(51.8% .253 323.949);--color-fuchsia-800:oklch(45.2% .211 324.591);--color-fuchsia-900:oklch(40.1% .17 325.612);--color-fuchsia-950:oklch(29.3% .136 325.661);--color-pink-50:oklch(97.1% .014 343.198);--color-pink-100:oklch(94.8% .028 342.258);--color-pink-200:oklch(89.9% .061 343.231);--color-pink-300:oklch(82.3% .12 346.018);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-pink-600:oklch(59.2% .249 .584);--color-pink-700:oklch(52.5% .223 3.958);--color-pink-800:oklch(45.9% .187 3.815);--color-pink-900:oklch(40.8% .153 2.432);--color-pink-950:oklch(28.4% .109 3.907);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-neutral-50:#f6f4ee;--color-neutral-100:#ece8de;--color-neutral-200:#ded8cb;--color-neutral-300:#cbc4b4;--color-neutral-400:#a8a192;--color-neutral-500:#67635a;--color-neutral-600:#5e5a52;--color-neutral-700:#47443e;--color-neutral-800:#2f2b24;--color-neutral-900:#1f1c17;--color-neutral-950:#14120e;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--text-xs:calc(var(--spacing) * 3);--text-xs--line-height:calc(var(--spacing) * 4.5);--text-sm:calc(var(--spacing) * 3.5);--text-sm--line-height:calc(var(--spacing) * 5);--text-lg:calc(var(--spacing) * 4.5);--text-lg--line-height:calc(var(--spacing) * 7);--text-xl:calc(var(--spacing) * 5);--text-xl--line-height:calc(var(--spacing) * 7.5);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:500;--font-weight-bold:600;--font-weight-extrabold:800;--font-weight-black:900;--tracking-wide:.025em;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-xs:0px 1px 0px #12110f0a;--shadow-sm:0px 1px 2px #12110f0f;--shadow-lg:0px 1px 2px #12110f0f, 0px 12px 32px -12px #12110f3d;--shadow-xl:0px 1px 2px #12110f14, 0px 20px 48px -16px #12110f4d;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--blur-lg:16px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-body:var(--font-inter,"Inter"), -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--text-md:calc(var(--spacing) * 4);--text-md--line-height:calc(var(--spacing) * 6);--text-display-xs:calc(var(--spacing) * 6);--text-display-xs--line-height:calc(var(--spacing) * 8);--text-display-sm:calc(var(--spacing) * 7.5);--text-display-sm--line-height:calc(var(--spacing) * 9.5);--max-width-container:1280px;--radius-none:0px;--radius-DEFAULT:.25rem;--radius-full:9999px;--shadow-skeuomorphic:0px 0px 0px 0px transparent;--color-transparent:#0000;--color-alpha-white:#fff;--color-alpha-black:#000;--color-brand-50:#f9f5ff;--color-brand-100:#f4ebff;--color-brand-200:#e9d7fe;--color-brand-300:#d6bbfb;--color-brand-400:#b692f6;--color-brand-500:#9e77ed;--color-brand-600:#7f56d9;--color-brand-700:#6941c6;--color-brand-800:#53389e;--color-brand-900:#42307d;--color-brand-950:#2c1c5f;--color-utility-blue-50:var(--color-blue-50);--color-utility-blue-100:var(--color-blue-100);--color-utility-blue-200:var(--color-blue-200);--color-utility-blue-400:var(--color-blue-400);--color-utility-blue-500:var(--color-blue-500);--color-utility-blue-700:var(--color-blue-700);--color-utility-brand-50:var(--color-brand-50);--color-utility-brand-100:var(--color-brand-100);--color-utility-brand-200:var(--color-brand-200);--color-utility-brand-400:var(--color-brand-400);--color-utility-brand-500:var(--color-brand-500);--color-utility-brand-700:var(--color-brand-700);--color-utility-neutral-50:var(--color-neutral-50);--color-utility-neutral-100:var(--color-neutral-100);--color-utility-neutral-200:var(--color-neutral-200);--color-utility-neutral-300:var(--color-neutral-300);--color-utility-neutral-400:var(--color-neutral-400);--color-utility-neutral-500:var(--color-neutral-500);--color-utility-neutral-600:var(--color-neutral-600);--color-utility-neutral-700:var(--color-neutral-700);--color-utility-neutral-800:var(--color-neutral-800);--color-utility-neutral-900:var(--color-neutral-900);--color-utility-red-50:var(--color-red-50);--color-utility-red-100:var(--color-red-100);--color-utility-red-200:var(--color-red-200);--color-utility-red-400:var(--color-red-400);--color-utility-red-500:var(--color-red-500);--color-utility-red-700:var(--color-red-700);--color-utility-yellow-50:var(--color-yellow-50);--color-utility-yellow-100:var(--color-yellow-100);--color-utility-yellow-200:var(--color-yellow-200);--color-utility-yellow-400:var(--color-yellow-400);--color-utility-yellow-500:var(--color-yellow-500);--color-utility-yellow-700:var(--color-yellow-700);--color-utility-green-50:var(--color-green-50);--color-utility-green-100:var(--color-green-100);--color-utility-green-200:var(--color-green-200);--color-utility-green-400:var(--color-green-400);--color-utility-green-500:var(--color-green-500);--color-utility-green-700:var(--color-green-700);--color-utility-orange-50:var(--color-orange-50);--color-utility-orange-100:var(--color-orange-100);--color-utility-orange-200:var(--color-orange-200);--color-utility-orange-400:var(--color-orange-400);--color-utility-orange-500:var(--color-orange-500);--color-utility-orange-700:var(--color-orange-700);--color-utility-indigo-50:var(--color-indigo-50);--color-utility-indigo-100:var(--color-indigo-100);--color-utility-indigo-200:var(--color-indigo-200);--color-utility-indigo-400:var(--color-indigo-400);--color-utility-indigo-500:var(--color-indigo-500);--color-utility-indigo-700:var(--color-indigo-700);--color-utility-pink-50:var(--color-pink-50);--color-utility-pink-100:var(--color-pink-100);--color-utility-pink-200:var(--color-pink-200);--color-utility-pink-400:var(--color-pink-400);--color-utility-pink-500:var(--color-pink-500);--color-utility-pink-700:var(--color-pink-700);--color-utility-purple-50:var(--color-purple-50);--color-utility-purple-100:var(--color-purple-100);--color-utility-purple-200:var(--color-purple-200);--color-utility-purple-400:var(--color-purple-400);--color-utility-purple-500:var(--color-purple-500);--color-utility-purple-700:var(--color-purple-700);--color-utility-sky-50:var(--color-sky-50);--color-utility-sky-100:var(--color-sky-100);--color-utility-sky-200:var(--color-sky-200);--color-utility-sky-400:var(--color-sky-400);--color-utility-sky-500:var(--color-sky-500);--color-utility-sky-700:var(--color-sky-700);--color-utility-slate-50:var(--color-slate-50);--color-utility-slate-100:var(--color-slate-100);--color-utility-slate-200:var(--color-slate-200);--color-utility-slate-400:var(--color-slate-400);--color-utility-slate-500:var(--color-slate-500);--color-utility-slate-700:var(--color-slate-700);--color-text-primary:var(--color-neutral-900);--color-text-tertiary:var(--color-neutral-600);--color-text-error-primary:var(--color-red-600);--color-text-warning-primary:var(--color-yellow-600);--color-text-success-primary:var(--color-green-600);--color-text-white:var(--color-white);--color-text-secondary:var(--color-neutral-700);--color-text-secondary_hover:var(--color-neutral-800);--color-text-tertiary_hover:var(--color-neutral-700);--color-text-brand-secondary:var(--color-brand-700);--color-text-placeholder:var(--color-neutral-500);--color-text-brand-tertiary:var(--color-brand-600);--color-text-editor-icon-fg:var(--color-neutral-400);--color-text-editor-icon-fg_active:var(--color-neutral-500);--color-text-quaternary:var(--color-neutral-500);--color-text-brand-primary:var(--color-brand-900);--color-text-primary_on-brand:var(--color-white);--color-text-secondary_on-brand:var(--color-brand-200);--color-text-tertiary_on-brand:var(--color-brand-200);--color-text-quaternary_on-brand:var(--color-brand-300);--color-text-brand-tertiary_alt:var(--color-brand-600);--color-text-error-primary_hover:var(--color-red-700);--color-text-brand-secondary_hover:var(--color-brand-800);--color-border-primary:var(--color-neutral-300);--color-border-secondary:var(--color-neutral-200);--color-border-secondary_alt:#0000001a;--color-border-tertiary:var(--color-neutral-100);--color-border-error:var(--color-red-500);--color-border-error_subtle:var(--color-red-300);--color-border-brand:var(--color-brand-500);--color-border-brand_alt:var(--color-brand-600);--color-fg-secondary:var(--color-neutral-700);--color-fg-warning-primary:var(--color-yellow-600);--color-fg-success-primary:var(--color-green-600);--color-fg-white:var(--color-white);--color-fg-success-secondary:var(--color-green-500);--color-fg-secondary_hover:var(--color-neutral-800);--color-fg-brand-secondary:var(--color-brand-500);--color-fg-brand-primary:var(--color-brand-600);--color-fg-quaternary:var(--color-neutral-400);--color-fg-quaternary_hover:var(--color-neutral-500);--color-fg-error-primary:var(--color-red-600);--color-fg-error-secondary:var(--color-red-500);--color-fg-tertiary:var(--color-neutral-600);--color-fg-brand-primary_alt:var(--color-fg-brand-primary);--color-fg-brand-secondary_alt:var(--color-fg-brand-secondary);--color-fg-brand-secondary_hover:var(--color-brand-600);--color-bg-primary:var(--color-white);--color-bg-tertiary:var(--color-neutral-100);--color-bg-brand-primary:var(--color-brand-50);--color-bg-error-secondary:var(--color-red-100);--color-bg-warning-primary:var(--color-yellow-50);--color-bg-warning-secondary:var(--color-yellow-100);--color-bg-success-primary:var(--color-green-50);--color-bg-success-secondary:var(--color-green-100);--color-bg-brand-solid:var(--color-brand-600);--color-bg-secondary-solid:var(--color-neutral-600);--color-bg-error-solid:var(--color-red-600);--color-bg-warning-solid:var(--color-yellow-600);--color-bg-success-solid:var(--color-green-600);--color-bg-secondary_hover:var(--color-neutral-100);--color-bg-primary_hover:var(--color-neutral-50);--color-bg-active:var(--color-neutral-50);--color-bg-brand-solid_hover:var(--color-brand-700);--color-bg-error-primary:var(--color-red-50);--color-bg-brand-secondary:var(--color-brand-100);--color-bg-secondary:var(--color-neutral-50);--color-bg-quaternary:var(--color-neutral-200);--color-bg-primary_alt:var(--color-white);--color-bg-brand-primary_alt:var(--color-brand-50);--color-bg-secondary_alt:var(--color-neutral-50);--color-bg-overlay:var(--color-neutral-950);--color-bg-brand-section:var(--color-brand-800);--color-bg-brand-section_subtle:var(--color-brand-700);--color-bg-primary-solid:var(--color-neutral-950);--color-bg-error-solid_hover:var(--color-red-700);--color-featured-icon-light-fg-brand:var(--color-brand-600);--color-featured-icon-light-fg-error:var(--color-red-600);--color-featured-icon-light-fg-gray:var(--color-neutral-500);--color-featured-icon-light-fg-success:var(--color-green-600);--color-featured-icon-light-fg-warning:var(--color-yellow-600);--color-focus-ring:var(--color-brand-500);--color-icon-fg-brand:var(--color-brand-600);--color-slider-handle-bg:var(--color-white);--color-slider-handle-border:var(--color-brand-600);--color-toggle-border:var(--color-neutral-300);--color-toggle-slim-border_pressed-hover:var(--color-bg-brand-solid_hover);--color-toggle-slim-border_pressed:var(--color-bg-brand-solid);--color-tooltip-supporting-text:var(--color-neutral-300);--background-color-primary:var(--color-bg-primary);--background-color-tertiary:var(--color-bg-tertiary);--background-color-error-secondary:var(--color-bg-error-secondary);--background-color-warning-secondary:var(--color-bg-warning-secondary);--background-color-success-secondary:var(--color-bg-success-secondary);--background-color-brand-solid:var(--color-bg-brand-solid);--background-color-secondary-solid:var(--color-bg-secondary-solid);--background-color-error-solid:var(--color-bg-error-solid);--background-color-warning-solid:var(--color-bg-warning-solid);--background-color-success-solid:var(--color-bg-success-solid);--background-color-secondary_hover:var(--color-bg-secondary_hover);--background-color-primary_hover:var(--color-bg-primary_hover);--background-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--background-color-error-primary:var(--color-bg-error-primary);--background-color-brand-secondary:var(--color-bg-brand-secondary);--background-color-secondary:var(--color-bg-secondary);--background-color-quaternary:var(--color-bg-quaternary);--background-color-primary_alt:var(--color-bg-primary_alt);--background-color-brand-primary_alt:var(--color-bg-brand-primary_alt);--background-color-secondary_alt:var(--color-bg-secondary_alt);--background-color-overlay:var(--color-bg-overlay);--background-color-brand-section:var(--color-bg-brand-section);--background-color-brand-section_subtle:var(--color-bg-brand-section_subtle);--background-color-primary-solid:var(--color-bg-primary-solid);--background-color-error-solid_hover:var(--color-bg-error-solid_hover);--text-color-primary:var(--color-text-primary);--text-color-secondary:var(--color-text-secondary);--text-color-secondary_hover:var(--color-text-secondary_hover);--text-color-tertiary:var(--color-text-tertiary);--text-color-tertiary_hover:var(--color-text-tertiary_hover);--text-color-error-primary:var(--color-text-error-primary);--text-color-brand-secondary:var(--color-text-brand-secondary);--text-color-placeholder:var(--color-text-placeholder);--text-color-brand-tertiary:var(--color-text-brand-tertiary);--text-color-quaternary:var(--color-text-quaternary);--text-color-brand-primary:var(--color-text-brand-primary);--text-color-primary_on-brand:var(--color-text-primary_on-brand);--text-color-tertiary_on-brand:var(--color-text-tertiary_on-brand);--text-color-error-primary_hover:var(--color-text-error-primary_hover);--text-color-brand-secondary_hover:var(--color-text-brand-secondary_hover);--text-color-tooltip-supporting-text:var(--color-tooltip-supporting-text);--border-color-primary:var(--color-border-primary);--border-color-secondary:var(--color-border-secondary);--border-color-brand:var(--color-border-brand);--ring-color-primary:var(--color-border-primary);--ring-color-secondary:var(--color-border-secondary);--ring-color-secondary_alt:var(--color-border-secondary_alt);--ring-color-error:var(--color-border-error);--ring-color-error_subtle:var(--color-border-error_subtle);--ring-color-brand:var(--color-border-brand);--ring-color-brand-solid:var(--color-bg-brand-solid);--outline-color-error:var(--color-border-error);--outline-color-brand:var(--color-border-brand)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}@scope([data-ichava-theme]){:scope,*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:scope,html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){@scope([data-ichava-theme]){::placeholder{color:currentColor}}@supports (color:color-mix(in lab, red, red)){@scope([data-ichava-theme]){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}}@scope([data-ichava-theme]){textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}[data-ichava-theme].dark-mode{--color-alpha-white:#0c0e12;--color-alpha-black:#fff;--color-utility-blue-50:var(--color-blue-950);--color-utility-blue-100:var(--color-blue-900);--color-utility-blue-200:var(--color-blue-800);--color-utility-blue-300:var(--color-blue-700);--color-utility-blue-400:var(--color-blue-600);--color-utility-blue-500:var(--color-blue-500);--color-utility-blue-600:var(--color-blue-400);--color-utility-blue-700:var(--color-blue-300);--color-utility-brand-50:var(--color-brand-950);--color-utility-brand-50_alt:var(--color-utility-neutral-50);--color-utility-brand-100:var(--color-brand-900);--color-utility-brand-100_alt:var(--color-utility-neutral-100);--color-utility-brand-200:var(--color-brand-800);--color-utility-brand-200_alt:var(--color-utility-neutral-200);--color-utility-brand-300:var(--color-brand-700);--color-utility-brand-300_alt:var(--color-utility-neutral-300);--color-utility-brand-400:var(--color-brand-600);--color-utility-brand-400_alt:var(--color-utility-neutral-400);--color-utility-brand-500:var(--color-brand-500);--color-utility-brand-500_alt:var(--color-utility-neutral-500);--color-utility-brand-600:var(--color-brand-400);--color-utility-brand-600_alt:var(--color-utility-neutral-600);--color-utility-brand-700:var(--color-brand-300);--color-utility-brand-700_alt:var(--color-utility-neutral-700);--color-utility-brand-800:var(--color-brand-200);--color-utility-brand-800_alt:var(--color-utility-neutral-800);--color-utility-brand-900:var(--color-brand-100);--color-utility-brand-900_alt:var(--color-utility-neutral-900);--color-utility-neutral-50:var(--color-neutral-900);--color-utility-neutral-100:var(--color-neutral-800);--color-utility-neutral-200:var(--color-neutral-700);--color-utility-neutral-300:var(--color-neutral-700);--color-utility-neutral-400:var(--color-neutral-600);--color-utility-neutral-500:var(--color-neutral-500);--color-utility-neutral-600:var(--color-neutral-400);--color-utility-neutral-700:var(--color-neutral-300);--color-utility-neutral-800:var(--color-neutral-200);--color-utility-neutral-900:var(--color-neutral-100);--color-utility-red-50:var(--color-red-950);--color-utility-red-100:var(--color-red-900);--color-utility-red-200:var(--color-red-800);--color-utility-red-300:var(--color-red-700);--color-utility-red-400:var(--color-red-600);--color-utility-red-500:var(--color-red-500);--color-utility-red-600:var(--color-red-400);--color-utility-red-700:var(--color-red-300);--color-utility-yellow-50:var(--color-yellow-950);--color-utility-yellow-100:var(--color-yellow-900);--color-utility-yellow-200:var(--color-yellow-800);--color-utility-yellow-300:var(--color-yellow-700);--color-utility-yellow-400:var(--color-yellow-600);--color-utility-yellow-500:var(--color-yellow-500);--color-utility-yellow-600:var(--color-yellow-400);--color-utility-yellow-700:var(--color-yellow-300);--color-utility-green-50:var(--color-green-950);--color-utility-green-100:var(--color-green-900);--color-utility-green-200:var(--color-green-800);--color-utility-green-300:var(--color-green-700);--color-utility-green-400:var(--color-green-600);--color-utility-green-500:var(--color-green-500);--color-utility-green-600:var(--color-green-400);--color-utility-green-700:var(--color-green-300);--color-utility-orange-50:var(--color-orange-950);--color-utility-orange-100:var(--color-orange-900);--color-utility-orange-200:var(--color-orange-800);--color-utility-orange-300:var(--color-orange-700);--color-utility-orange-400:var(--color-orange-600);--color-utility-orange-500:var(--color-orange-500);--color-utility-orange-600:var(--color-orange-400);--color-utility-orange-700:var(--color-orange-300);--color-utility-indigo-50:var(--color-indigo-950);--color-utility-indigo-100:var(--color-indigo-900);--color-utility-indigo-200:var(--color-indigo-800);--color-utility-indigo-300:var(--color-indigo-700);--color-utility-indigo-400:var(--color-indigo-600);--color-utility-indigo-500:var(--color-indigo-500);--color-utility-indigo-600:var(--color-indigo-400);--color-utility-indigo-700:var(--color-indigo-300);--color-utility-fuchsia-50:var(--color-fuchsia-950);--color-utility-fuchsia-100:var(--color-fuchsia-900);--color-utility-fuchsia-200:var(--color-fuchsia-800);--color-utility-fuchsia-300:var(--color-fuchsia-700);--color-utility-fuchsia-400:var(--color-fuchsia-600);--color-utility-fuchsia-500:var(--color-fuchsia-500);--color-utility-fuchsia-600:var(--color-fuchsia-400);--color-utility-fuchsia-700:var(--color-fuchsia-300);--color-utility-pink-50:var(--color-pink-950);--color-utility-pink-100:var(--color-pink-900);--color-utility-pink-200:var(--color-pink-800);--color-utility-pink-300:var(--color-pink-700);--color-utility-pink-400:var(--color-pink-600);--color-utility-pink-500:var(--color-pink-500);--color-utility-pink-600:var(--color-pink-400);--color-utility-pink-700:var(--color-pink-300);--color-utility-purple-50:var(--color-purple-950);--color-utility-purple-100:var(--color-purple-900);--color-utility-purple-200:var(--color-purple-800);--color-utility-purple-300:var(--color-purple-700);--color-utility-purple-400:var(--color-purple-600);--color-utility-purple-500:var(--color-purple-500);--color-utility-purple-600:var(--color-purple-400);--color-utility-purple-700:var(--color-purple-300);--color-utility-sky-50:var(--color-sky-950);--color-utility-sky-100:var(--color-sky-900);--color-utility-sky-200:var(--color-sky-800);--color-utility-sky-300:var(--color-sky-700);--color-utility-sky-400:var(--color-sky-600);--color-utility-sky-500:var(--color-sky-500);--color-utility-sky-600:var(--color-sky-400);--color-utility-sky-700:var(--color-sky-300);--color-utility-slate-50:var(--color-slate-950);--color-utility-slate-100:var(--color-slate-900);--color-utility-slate-200:var(--color-slate-800);--color-utility-slate-300:var(--color-slate-700);--color-utility-slate-400:var(--color-slate-600);--color-utility-slate-500:var(--color-slate-500);--color-utility-slate-600:var(--color-slate-400);--color-utility-slate-700:var(--color-slate-300);--color-utility-emerald-50:var(--color-emerald-950);--color-utility-emerald-100:var(--color-emerald-900);--color-utility-emerald-200:var(--color-emerald-800);--color-utility-emerald-300:var(--color-emerald-700);--color-utility-emerald-400:var(--color-emerald-600);--color-utility-emerald-500:var(--color-emerald-500);--color-utility-emerald-600:var(--color-emerald-400);--color-utility-emerald-700:var(--color-emerald-300);--color-utility-amber-50:var(--color-amber-950);--color-utility-amber-100:var(--color-amber-900);--color-utility-amber-200:var(--color-amber-800);--color-utility-amber-300:var(--color-amber-700);--color-utility-amber-400:var(--color-amber-600);--color-utility-amber-500:var(--color-amber-500);--color-utility-amber-600:var(--color-amber-400);--color-utility-amber-700:var(--color-amber-300);--color-text-primary:var(--color-neutral-50);--color-text-tertiary:var(--color-neutral-400);--color-text-error-primary:var(--color-red-400);--color-text-warning-primary:var(--color-yellow-400);--color-text-success-primary:var(--color-green-400);--color-text-white:var(--color-white);--color-text-secondary:var(--color-neutral-300);--color-text-secondary_hover:var(--color-neutral-200);--color-text-tertiary_hover:var(--color-neutral-300);--color-text-brand-secondary:var(--color-neutral-300);--color-text-placeholder:var(--color-neutral-500);--color-text-brand-tertiary:var(--color-neutral-400);--color-text-editor-icon-fg:var(--color-neutral-400);--color-text-editor-icon-fg_active:var(--color-white);--color-text-quaternary:var(--color-neutral-400);--color-text-brand-primary:var(--color-neutral-50);--color-text-primary_on-brand:var(--color-neutral-50);--color-text-secondary_on-brand:var(--color-neutral-300);--color-text-tertiary_on-brand:var(--color-neutral-400);--color-text-quaternary_on-brand:var(--color-neutral-400);--color-text-brand-tertiary_alt:var(--color-neutral-50);--color-text-error-primary_hover:var(--color-red-300);--color-text-brand-secondary_hover:var(--color-neutral-200);--color-border-secondary:var(--color-neutral-800);--color-border-error_subtle:var(--color-red-500);--color-border-primary:var(--color-neutral-700);--color-border-brand:var(--color-brand-400);--color-border-error:var(--color-red-400);--color-border-tertiary:var(--color-neutral-800);--color-border-brand_alt:var(--color-neutral-700);--color-border-secondary_alt:var(--color-neutral-800);--color-fg-secondary:var(--color-neutral-300);--color-fg-warning-primary:var(--color-yellow-500);--color-fg-success-primary:var(--color-green-500);--color-fg-white:var(--color-white);--color-fg-success-secondary:var(--color-green-400);--color-fg-secondary_hover:var(--color-neutral-200);--color-fg-primary:var(--color-white);--color-fg-brand-secondary:var(--color-brand-500);--color-fg-brand-primary:var(--color-brand-500);--color-fg-quaternary:var(--color-neutral-600);--color-fg-quaternary_hover:var(--color-neutral-500);--color-fg-error-primary:var(--color-red-500);--color-fg-warning-secondary:var(--color-yellow-400);--color-fg-error-secondary:var(--color-red-400);--color-fg-tertiary:var(--color-neutral-400);--color-fg-tertiary_hover:var(--color-neutral-300);--color-fg-brand-primary_alt:var(--color-neutral-300);--color-fg-brand-secondary_alt:var(--color-neutral-600);--color-fg-brand-secondary_hover:var(--color-neutral-500);--color-bg-primary:var(--color-neutral-950);--color-bg-tertiary:var(--color-neutral-800);--color-bg-brand-primary:var(--color-brand-500);--color-bg-error-secondary:var(--color-red-600);--color-bg-warning-primary:var(--color-yellow-950);--color-bg-warning-secondary:var(--color-yellow-600);--color-bg-success-primary:var(--color-green-950);--color-bg-success-secondary:var(--color-green-600);--color-bg-brand-solid:var(--color-brand-600);--color-bg-secondary-solid:var(--color-neutral-600);--color-bg-error-solid:var(--color-red-600);--color-bg-warning-solid:var(--color-yellow-600);--color-bg-success-solid:var(--color-green-600);--color-bg-secondary_hover:var(--color-neutral-800);--color-bg-primary_hover:var(--color-neutral-900);--color-bg-active:var(--color-neutral-800);--color-bg-brand-solid_hover:var(--color-brand-500);--color-bg-error-primary:var(--color-red-950);--color-bg-brand-secondary:var(--color-brand-600);--color-bg-secondary:var(--color-neutral-900);--color-bg-quaternary:var(--color-neutral-700);--color-bg-primary_alt:var(--color-bg-secondary);--color-bg-brand-primary_alt:var(--color-bg-secondary);--color-bg-secondary_alt:var(--color-bg-primary);--color-bg-overlay:var(--color-neutral-800);--color-bg-brand-section:var(--color-bg-secondary);--color-bg-brand-section_subtle:var(--color-bg-primary);--color-bg-primary-solid:var(--color-bg-secondary);--color-bg-error-solid_hover:var(--color-red-500);--color-app-store-badg-border:var(--color-white);--color-avatar-styles-bg-neutral:224 224 224 1;--color-featured-icon-light-fg-brand:var(--color-brand-200);--color-featured-icon-light-fg-error:var(--color-red-200);--color-featured-icon-light-fg-gray:var(--color-neutral-200);--color-featured-icon-light-fg-success:var(--color-green-200);--color-featured-icon-light-fg-warning:var(--color-yellow-200);--color-focus-ring-error:var(--color-red-500);--color-focus-ring:var(--color-brand-500);--color-footer-button-fg:var(--color-neutral-300);--color-footer-button-fg_hover:var(--color-neutral-100);--color-icon-fg-brand:var(--color-neutral-400);--color-icon-fg-brand_on-brand:var(--color-neutral-400);--color-screen-mockup-border:var(--color-neutral-700);--color-slider-handle-bg:var(--color-fg-brand-primary);--color-slider-handle-border:var(--color-bg-primary);--color-toggle-border:var(--color-transparent);--color-toggle-slim-border_pressed-hover:var(--color-transparent);--color-toggle-slim-border_pressed:var(--color-transparent);--color-tooltip-supporting-text:var(--color-neutral-300);--background-color-primary:var(--color-bg-primary);--background-color-tertiary:var(--color-bg-tertiary);--background-color-brand-primary:var(--color-bg-brand-primary);--background-color-error-secondary:var(--color-bg-error-secondary);--background-color-warning-primary:var(--color-bg-warning-primary);--background-color-warning-secondary:var(--color-bg-warning-secondary);--background-color-success-primary:var(--color-bg-success-primary);--background-color-success-secondary:var(--color-bg-success-secondary);--background-color-brand-solid:var(--color-bg-brand-solid);--background-color-secondary-solid:var(--color-bg-secondary-solid);--background-color-error-solid:var(--color-bg-error-solid);--background-color-warning-solid:var(--color-bg-warning-solid);--background-color-success-solid:var(--color-bg-success-solid);--background-color-secondary_hover:var(--color-bg-secondary_hover);--background-color-primary_hover:var(--color-bg-primary_hover);--background-color-active:var(--color-bg-active);--background-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--background-color-error-primary:var(--color-bg-error-primary);--background-color-brand-secondary:var(--color-bg-brand-secondary);--background-color-secondary:var(--color-bg-secondary);--background-color-quaternary:var(--color-bg-quaternary);--background-color-primary_alt:var(--color-bg-primary_alt);--background-color-brand-primary_alt:var(--color-bg-brand-primary_alt);--background-color-secondary_alt:var(--color-bg-secondary_alt);--background-color-overlay:var(--color-bg-overlay);--background-color-brand-section:var(--color-bg-brand-section);--background-color-brand-section_subtle:var(--color-bg-brand-section_subtle);--background-color-primary-solid:var(--color-bg-primary-solid);--background-color-error-solid_hover:var(--color-bg-error-solid_hover);--background-color-border-brand:var(--color-border-brand);--background-color-border-tertiary:var(--color-border-tertiary);--background-color-border-brand_alt:var(--color-border-brand_alt);--text-color-primary:var(--color-text-primary);--text-color-tertiary:var(--color-text-tertiary);--text-color-error-primary:var(--color-text-error-primary);--text-color-warning-primary:var(--color-text-warning-primary);--text-color-success-primary:var(--color-text-success-primary);--text-color-white:var(--color-text-white);--text-color-secondary:var(--color-text-secondary);--text-color-secondary_hover:var(--color-text-secondary_hover);--text-color-tertiary_hover:var(--color-text-tertiary_hover);--text-color-brand-secondary:var(--color-text-brand-secondary);--text-color-placeholder:var(--color-text-placeholder);--text-color-brand-tertiary:var(--color-text-brand-tertiary);--text-color-editor-icon-fg:var(--color-text-editor-icon-fg);--text-color-editor-icon-fg_active:var(--color-text-editor-icon-fg_active);--text-color-quaternary:var(--color-text-quaternary);--text-color-brand-primary:var(--color-text-brand-primary);--text-color-primary_on-brand:var(--color-text-primary_on-brand);--text-color-secondary_on-brand:var(--color-text-secondary_on-brand);--text-color-tertiary_on-brand:var(--color-text-tertiary_on-brand);--text-color-quaternary_on-brand:var(--color-text-quaternary_on-brand);--text-color-brand-tertiary_alt:var(--color-text-brand-tertiary_alt);--text-color-error-primary_hover:var(--color-text-error-primary_hover);--text-color-brand-secondary_hover:var(--color-text-brand-secondary_hover);--text-color-tooltip-supporting-text:var(--color-tooltip-supporting-text);--border-color-primary:var(--color-border-primary);--border-color-secondary:var(--color-border-secondary);--border-color-secondary_alt:var(--color-border-secondary_alt);--border-color-tertiary:var(--color-border-tertiary);--border-color-error:var(--color-border-error);--border-color-error_subtle:var(--color-border-error_subtle);--border-color-brand:var(--color-border-brand);--border-color-brand_alt:var(--color-border-brand_alt);--border-color-brand-solid:var(--color-bg-brand-solid);--border-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--ring-color-primary:var(--color-border-primary);--ring-color-secondary:var(--color-border-secondary);--ring-color-secondary_alt:var(--color-border-secondary_alt);--ring-color-tertiary:var(--color-border-tertiary);--ring-color-error:var(--color-border-error);--ring-color-error_subtle:var(--color-border-error_subtle);--ring-color-brand:var(--color-border-brand);--ring-color-brand-solid:var(--color-bg-brand-solid);--ring-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--ring-color-brand_alt:var(--color-border-brand_alt);--outline-color-primary:var(--color-border-primary);--outline-color-secondary:var(--color-border-secondary);--outline-color-secondary_alt:var(--color-border-secondary_alt);--outline-color-tertiary:var(--color-border-tertiary);--outline-color-error:var(--color-border-error);--outline-color-error_subtle:var(--color-border-error_subtle);--outline-color-brand:var(--color-border-brand);--outline-color-brand-solid:var(--color-bg-brand-solid);--outline-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--outline-color-brand_alt:var(--color-border-brand_alt)}[data-ichava-root] :is(h1,h2,h3),[data-ichava-portal] :is(h1,h2,h3){letter-spacing:-.01em}[data-ichava-theme]{--font-inter:"Geist";--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-sans:var(--font-body);--bg:var(--color-bg-primary);--fg:var(--color-text-primary);--card:var(--color-bg-primary);--pop:var(--surface);--muted:var(--color-bg-secondary);--muted2:var(--color-bg-tertiary);--z-overlay:60;--z-popover:70;--z-tooltip:80;--z-toast:90;--canvas:var(--color-bg-secondary);--surface:var(--color-bg-primary);--muted-fg:var(--color-text-tertiary);--faint-fg:var(--color-text-quaternary);--border:var(--color-border-primary);--input:var(--color-border-primary);--danger:var(--color-fg-error-primary);--danger-soft:var(--color-bg-error-primary);--success:var(--color-fg-success-primary);--warning:var(--color-fg-warning-primary);--info:var(--color-fg-brand-primary);--shadow:var(--shadow-xs);--shadow-elevated:var(--shadow-lg);--overlay:var(--color-bg-overlay);--code:var(--color-bg-secondary);--tip-bg:var(--color-bg-primary-solid);--tip-fg:var(--color-text-primary_on-brand);--accent:var(--color-bg-brand-solid);--ichm-glow-color:var(--accent);--accent-fg:var(--color-text-white);--accent-soft:var(--color-bg-brand-primary);--ring:var(--color-border-brand);--radius:var(--radius-lg);--console-bg:#0b0b0e;--console-chrome:#18181b;--console-border:#26262b;--console-fg:#e4e4e7;--console-gutter:#7e7e88;--console-comment:#8b8b96;--console-string:#6ee7b7;--console-number:#fbbf24;--console-keyword:#c4b5fd;--console-punct:#94a3b8}:where([data-ichava-theme]){--color-utility-brand-50:var(--color-brand-50);--color-utility-brand-50_alt:var(--color-brand-50);--color-utility-brand-100:var(--color-brand-100);--color-utility-brand-100_alt:var(--color-brand-100);--color-utility-brand-200:var(--color-brand-200);--color-utility-brand-200_alt:var(--color-brand-200);--color-utility-brand-300:var(--color-brand-300);--color-utility-brand-300_alt:var(--color-brand-300);--color-utility-brand-400:var(--color-brand-400);--color-utility-brand-400_alt:var(--color-brand-400);--color-utility-brand-500:var(--color-brand-500);--color-utility-brand-500_alt:var(--color-brand-500);--color-utility-brand-600:var(--color-brand-600);--color-utility-brand-600_alt:var(--color-brand-600);--color-utility-brand-700:var(--color-brand-700);--color-utility-brand-700_alt:var(--color-brand-700);--color-utility-brand-800:var(--color-brand-800);--color-utility-brand-800_alt:var(--color-brand-800);--color-utility-brand-900:var(--color-brand-900);--color-utility-brand-900_alt:var(--color-brand-900);--color-text-brand-secondary:var(--color-brand-700);--color-text-brand-tertiary:var(--color-brand-600);--color-text-brand-primary:var(--color-brand-900);--color-text-secondary_on-brand:var(--color-brand-200);--color-text-tertiary_on-brand:var(--color-brand-200);--color-text-quaternary_on-brand:var(--color-brand-300);--color-text-brand-tertiary_alt:var(--color-brand-600);--color-text-brand-secondary_hover:var(--color-brand-800);--color-border-brand:var(--color-brand-500);--color-border-brand_alt:var(--color-brand-600);--color-fg-brand-secondary:var(--color-brand-500);--color-fg-brand-primary:var(--color-brand-600);--color-fg-brand-primary_alt:var(--color-fg-brand-primary);--color-fg-brand-secondary_alt:var(--color-fg-brand-secondary);--color-fg-brand-secondary_hover:var(--color-brand-600);--color-bg-brand-primary:var(--color-brand-50);--color-bg-brand-solid:var(--color-brand-600);--color-bg-brand-solid_hover:var(--color-brand-700);--color-bg-brand-secondary:var(--color-brand-100);--color-bg-brand-primary_alt:var(--color-brand-50);--color-bg-brand-section:var(--color-brand-800);--color-bg-brand-section_subtle:var(--color-brand-700);--color-featured-icon-light-fg-brand:var(--color-brand-600);--color-focus-ring:var(--color-brand-500);--color-footer-button-fg:var(--color-brand-200);--color-icon-fg-brand:var(--color-brand-600);--color-icon-fg-brand_on-brand:var(--color-brand-200);--color-slider-handle-border:var(--color-brand-600);--color-toggle-slim-border_pressed-hover:var(--color-bg-brand-solid_hover);--color-toggle-slim-border_pressed:var(--color-bg-brand-solid);--background-color-brand-primary:var(--color-bg-brand-primary);--background-color-brand-solid:var(--color-bg-brand-solid);--background-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--background-color-brand-secondary:var(--color-bg-brand-secondary);--background-color-brand-primary_alt:var(--color-bg-brand-primary_alt);--background-color-brand-section:var(--color-bg-brand-section);--background-color-brand-section_subtle:var(--color-bg-brand-section_subtle);--background-color-border-brand:var(--color-border-brand);--background-color-border-brand_alt:var(--color-border-brand_alt);--text-color-brand-secondary:var(--color-text-brand-secondary);--text-color-brand-tertiary:var(--color-text-brand-tertiary);--text-color-brand-primary:var(--color-text-brand-primary);--text-color-secondary_on-brand:var(--color-text-secondary_on-brand);--text-color-tertiary_on-brand:var(--color-text-tertiary_on-brand);--text-color-quaternary_on-brand:var(--color-text-quaternary_on-brand);--text-color-brand-tertiary_alt:var(--color-text-brand-tertiary_alt);--text-color-brand-secondary_hover:var(--color-text-brand-secondary_hover);--border-color-brand:var(--color-border-brand);--border-color-brand_alt:var(--color-border-brand_alt);--border-color-brand-solid:var(--color-bg-brand-solid);--border-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--ring-color-brand:var(--color-border-brand);--ring-color-brand_alt:var(--color-border-brand_alt);--ring-color-brand-solid:var(--color-bg-brand-solid);--ring-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--outline-color-brand:var(--color-border-brand);--outline-color-brand_alt:var(--color-border-brand_alt);--outline-color-brand-solid:var(--color-bg-brand-solid);--outline-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--info:var(--color-fg-brand-primary);--ichm-glow-color:var(--accent)}[data-ichava-root],[data-ichava-portal]{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@scope([data-ichava-theme]){input,select,button{font-family:inherit}button{white-space:nowrap}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent)}}@supports (color:color-mix(in lab, red, red)){@scope([data-ichava-theme]){a:hover{color:color-mix(in oklab, var(--accent) 78%, var(--fg))}}}}@layer components;@layer utilities{.\@container{container-type:inline-size}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-\[13px\]{width:13px;height:13px}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-full{height:100%}.min-h-dvh{min-height:100dvh}.min-h-screen{min-height:100vh}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab, red, red)){.border-green-500\/30{border-color:color-mix(in oklab, var(--color-green-500) 30%, transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.border-red-500\/30{border-color:color-mix(in oklab, var(--color-red-500) 30%, transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab, red, red)){.border-red-500\/40{border-color:color-mix(in oklab, var(--color-red-500) 40%, transparent)}}.bg-\[\#ece8de\]{background-color:#ece8de}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/10{background-color:color-mix(in oklab, var(--color-green-500) 10%, transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-1{padding-top:var(--spacing)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-\[\#1f1c17\]{color:#1f1c17}.text-green-400{color:var(--color-green-400)}.text-red-400{color:var(--color-red-400)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.running{animation-play-state:running}@media (hover:hover){.hover\:underline:hover{text-decoration-line:underline}}.disabled\:opacity-50:disabled{opacity:.5}@media (width>=40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.md\:grid-cols-\[280px_1fr\]{grid-template-columns:280px 1fr}}@media (width>=64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.dark\:bg-\[\#14120e\]:where(.dark-mode,.dark-mode *){background-color:#14120e}@media (prefers-color-scheme:dark){.dark\:bg-\[\#14120e\]{background-color:#14120e}}.dark\:text-\[\#f6f4ee\]:where(.dark-mode,.dark-mode *){color:#f6f4ee}@media (prefers-color-scheme:dark){.dark\:text-\[\#f6f4ee\]{color:#f6f4ee}}@scope([data-ichava-theme]){.\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.inset-y-0\.5{inset-block:calc(var(--spacing) * .5)}.start-4{inset-inline-start:calc(var(--spacing) * 4)}.-end-\[5px\]{inset-inline-end:-5px}.end-0{inset-inline-end:calc(var(--spacing) * 0)}.end-1{inset-inline-end:calc(var(--spacing) * 1)}.end-2{inset-inline-end:calc(var(--spacing) * 2)}.end-2\.5{inset-inline-end:calc(var(--spacing) * 2.5)}.end-3{inset-inline-end:calc(var(--spacing) * 3)}.end-4{inset-inline-end:calc(var(--spacing) * 4)}.end-\[1\.5px\]{inset-inline-end:1.5px}.end-\[1px\]{inset-inline-end:1px}.-top-2{top:calc(var(--spacing) * -2)}.-top-\[5px\]{top:-5px}.top-0{top:0}.top-0\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-3{top:calc(var(--spacing) * 3)}.top-\[1px\]{top:1px}.top-\[2px\]{top:2px}.-right-px{right:-1px}.right-0{right:0}.right-0\.5{right:calc(var(--spacing) * .5)}.right-3{right:calc(var(--spacing) * 3)}.right-3\.5{right:calc(var(--spacing) * 3.5)}.-bottom-px{bottom:-1px}.bottom-0{bottom:0}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\[3px\]{bottom:3px}.left-0{left:0}.left-1\/2{left:50%}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.left-3\.5{left:calc(var(--spacing) * 3.5)}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-\(--z-overlay\){z-index:var(--z-overlay)}.z-\(--z-popover\){z-index:var(--z-popover)}.z-\(--z-tooltip\){z-index:var(--z-tooltip)}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}.z-10{z-index:10}.z-50{z-index:50}.z-55{z-index:55}.z-70{z-index:70}.z-88{z-index:88}.z-\[var\(--z-toast\)\]{z-index:var(--z-toast)}.container{width:100%}@media (width>=320px){.container{max-width:320px}}@media (width>=600px){.container{max-width:600px}}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-m-1{margin:calc(var(--spacing) * -1)}.m-0{margin:0}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.-mx-\[10px\]{margin-inline:-10px}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-1{margin-inline:var(--spacing)}.mx-1\.5{margin-inline:calc(var(--spacing) * 1.5)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-auto{margin-inline:auto}.-my-px{margin-block:-1px}.my-0{margin-block:0}.my-1{margin-block:var(--spacing)}.ms-1{margin-inline-start:var(--spacing)}.ms-auto{margin-inline-start:auto}.me-1{margin-inline-end:var(--spacing)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.-mt-2{margin-top:calc(var(--spacing) * -2)}.mt-0{margin-top:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-\[8vh\]{margin-top:8vh}.mt-\[10\%\]{margin-top:10%}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.-mb-3{margin-bottom:calc(var(--spacing) * -3)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.-ml-0\.75{margin-left:calc(var(--spacing) * -.75)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.aspect-\[1_\/_0\.9\]{aspect-ratio:1/.9}.aspect-square{aspect-ratio:1}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-4\.5{width:calc(var(--spacing) * 4.5);height:calc(var(--spacing) * 4.5)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-\[13px\]{width:13px;height:13px}.size-full{width:100%;height:100%}.size-max{width:max-content;height:max-content}.h-0{height:0}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-14{height:calc(var(--spacing) * 14)}.h-32{height:calc(var(--spacing) * 32)}.h-56{height:calc(var(--spacing) * 56)}.h-\[1px\]{height:1px}.h-\[3px\]{height:3px}.h-\[9px\]{height:9px}.h-\[10px\]{height:10px}.h-\[15px\]{height:15px}.h-\[17px\]{height:17px}.h-\[18px\]{height:18px}.h-\[20\%\]{height:20%}.h-\[22px\]{height:22px}.h-\[24px\]{height:24px}.h-\[26px\]{height:26px}.h-\[30px\]{height:30px}.h-\[38px\]{height:38px}.h-\[42px\]{height:42px}.h-\[44px\]{height:44px}.h-\[46px\]{height:46px}.h-full{height:100%}.h-max{height:max-content}.h-min{height:min-content}.h-px{height:1px}.max-h-56\!{max-height:calc(var(--spacing) * 56)!important}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-64\!{max-height:calc(var(--spacing) * 64)!important}.max-h-80\!{max-height:calc(var(--spacing) * 80)!important}.max-h-106{max-height:calc(var(--spacing) * 106)}.max-h-\[72vh\]{max-height:72vh}.max-h-\[340px\]{max-height:340px}.max-h-\[calc\(var\(--visual-viewport-height\)-var\(--modal-pt\)-var\(--modal-pb\)\)\]{max-height:calc(var(--visual-viewport-height) - var(--modal-pt) - var(--modal-pb))}.max-h-\[inherit\]{max-height:inherit}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-\[34px\]{min-height:34px}.min-h-dvh{min-height:100dvh}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-2\/5{width:40%}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-20{width:calc(var(--spacing) * 20)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-40{width:calc(var(--spacing) * 40)}.w-62{width:calc(var(--spacing) * 62)}.w-80{width:calc(var(--spacing) * 80)}.w-160{width:calc(var(--spacing) * 160)}.w-\[1px\]{width:1px}.w-\[10px\]{width:10px}.w-\[12px\]{width:12px}.w-\[15px\]{width:15px}.w-\[17px\]{width:17px}.w-\[18px\]{width:18px}.w-\[22px\]{width:22px}.w-\[26px\]{width:26px}.w-\[30px\]{width:30px}.w-\[38px\]{width:38px}.w-\[46px\]{width:46px}.w-\[60\%\]{width:60%}.w-\[88px\]{width:88px}.w-\[104px\]{width:104px}.w-\[280px\]{width:280px}.w-\[360px\]{width:360px}.w-\[560px\]{width:560px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[40ch\]{max-width:40ch}.max-w-\[44ch\]{max-width:44ch}.max-w-\[90\%\]{max-width:90%}.max-w-\[94vw\]{max-width:94vw}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[280px\]{max-width:280px}.max-w-\[360px\]{max-width:360px}.max-w-\[calc\(100vw-16px\)\]{max-width:calc(100vw - 16px)}.max-w-\[calc\(100vw-32px\)\],.max-w-\[calc\(100vw_-_32px\)\]{max-width:calc(100vw - 32px)}.max-w-\[min\(24rem\,calc\(100vw-16px\)\)\]{max-width:min(24rem,100vw - 16px)}.max-w-full{max-width:100%}.max-w-xs{max-width:var(--container-xs)}.min-w-\(--trigger-width\){min-width:var(--trigger-width)}.min-w-0{min-width:0}.min-w-2{min-width:calc(var(--spacing) * 2)}.min-w-3\.5{min-width:calc(var(--spacing) * 3.5)}.min-w-4{min-width:calc(var(--spacing) * 4)}.min-w-6{min-width:calc(var(--spacing) * 6)}.min-w-7{min-width:calc(var(--spacing) * 7)}.min-w-12{min-width:calc(var(--spacing) * 12)}.min-w-20{min-width:calc(var(--spacing) * 20)}.min-w-36{min-width:calc(var(--spacing) * 36)}.min-w-\[100px\]{min-width:100px}.min-w-\[120px\]{min-width:120px}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.origin-\(--trigger-anchor-point\){transform-origin:var(--trigger-anchor-point)}.origin-center{transform-origin:50%}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-5{--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-full{--tw-translate-y:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-none{translate:none}.scale-3d{scale:var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z)}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.\[animation\:ichIn_\.14s_ease\]{animation:.14s ichIn}.\[animation\:ichRise_\.2s_ease\]{animation:.2s ichRise}.\[animation\:ichTaskSlide_1\.1s_ease-in-out_infinite\]{animation:1.1s ease-in-out infinite ichTaskSlide}.\[animation\:…\]{animation:…}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pan-y{--tw-pan-y:pan-y;touch-action:var(--tw-pan-x, ) var(--tw-pan-y, ) var(--tw-pinch-zoom, )}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x, ) var(--tw-pan-y, ) var(--tw-pinch-zoom, )}.touch-none{touch-action:none}.resize{resize:both}.scroll-py-10{scroll-padding-block:calc(var(--spacing) * 10)}.scroll-pb-22{scroll-padding-bottom:calc(var(--spacing) * 22)}.\[scrollbar-gutter\:stable\]{scrollbar-gutter:stable}.list-none{list-style-type:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[max-content_1fr\]{grid-template-columns:max-content 1fr}.grid-cols-\[repeat\(auto-fill\,minmax\(84px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-normal{justify-content:normal}.justify-start{justify-content:flex-start}.gap-0{gap:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-\[1px\]{gap:1px}.gap-\[3px\]{gap:3px}.gap-\[5px\]{gap:5px}.gap-\[7px\]{gap:7px}.gap-\[9px\]{gap:9px}.gap-\[10px\]{gap:10px}.gap-\[11px\]{gap:11px}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}.gap-x-1{-moz-column-gap:var(--spacing);column-gap:var(--spacing)}.gap-x-1\.5{-moz-column-gap:calc(var(--spacing) * 1.5);column-gap:calc(var(--spacing) * 1.5)}.gap-x-2{-moz-column-gap:calc(var(--spacing) * 2);column-gap:calc(var(--spacing) * 2)}.gap-x-3{-moz-column-gap:calc(var(--spacing) * 3);column-gap:calc(var(--spacing) * 3)}.gap-x-4{-moz-column-gap:calc(var(--spacing) * 4);column-gap:calc(var(--spacing) * 4)}:where(.-space-x-0>:not(:last-child)){--tw-space-x-reverse:0;margin-inline:0}:where(.-space-x-px>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(-1px * var(--tw-space-x-reverse));margin-inline-end:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}.gap-y-1{row-gap:var(--spacing)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[3px\]{border-radius:3px}.rounded-\[4px\]{border-radius:4px}.rounded-\[5px\]{border-radius:5px}.rounded-\[6px\]{border-radius:6px}.rounded-\[7px\]{border-radius:7px}.rounded-\[8px\]{border-radius:8px}.rounded-\[9px\]{border-radius:9px}.rounded-\[10px\]{border-radius:10px}.rounded-\[12px\]{border-radius:12px}.rounded-\[14px\]{border-radius:14px}.rounded-\[calc\(var\(--radius\)_-_2px\)\]{border-radius:calc(var(--radius) - 2px)}.rounded-\[calc\(var\(--radius\)_-_3px\)\]{border-radius:calc(var(--radius) - 3px)}.rounded-\[var\(--radius\)\]{border-radius:var(--radius)}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:var(--radius-none)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-\[inherit\]{border-top-right-radius:inherit;border-bottom-right-radius:inherit}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-bl-\[5px\]{border-bottom-left-radius:5px}.rounded-bl-\[6px\]{border-bottom-left-radius:6px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-bs{border-block-start-style:var(--tw-border-style);border-block-start-width:1px}.border-be{border-block-end-style:var(--tw-border-style);border-block-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\[color-mix\(in_oklab\,var\(--accent\)_45\%\,transparent\)\]{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.border-\[color-mix\(in_oklab\,var\(--accent\)_45\%\,transparent\)\]{border-color:color-mix(in oklab,var(--accent) 45%,transparent)}}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--console-border\)\]{border-color:var(--console-border)}.border-border-secondary{border-color:var(--color-border-secondary)}.border-fg-brand-primary_alt{border-color:var(--color-fg-brand-primary_alt)}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab, red, red)){.border-green-500\/30{border-color:color-mix(in oklab, var(--color-green-500) 30%, transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.border-red-500\/30{border-color:color-mix(in oklab, var(--color-red-500) 30%, transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab, red, red)){.border-red-500\/40{border-color:color-mix(in oklab, var(--color-red-500) 40%, transparent)}}.border-secondary{border-color:var(--border-color-secondary)}.border-toggle-border{border-color:var(--color-toggle-border)}.border-toggle-slim-border_pressed{border-color:var(--color-toggle-slim-border_pressed)}.border-toggle-slim-border_pressed-hover{border-color:var(--color-toggle-slim-border_pressed-hover)}.border-transparent{border-color:#0000}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.border-t-\[var\(--border\)\]{border-top-color:var(--border)}.border-b-\[var\(--border\)\]{border-bottom-color:var(--border)}.border-b-\[var\(--console-border\)\]{border-bottom-color:var(--console-border)}.bg-\[\#ece8de\]{background-color:#ece8de}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--accent-soft\)\]{background-color:var(--accent-soft)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--card\)\]{background-color:var(--card)}.bg-\[var\(--console-bg\)\]{background-color:var(--console-bg)}.bg-\[var\(--console-chrome\)\]{background-color:var(--console-chrome)}.bg-\[var\(--danger\)\]{background-color:var(--danger)}.bg-\[var\(--faint-fg\)\]{background-color:var(--faint-fg)}.bg-\[var\(--muted\)\]{background-color:var(--muted)}.bg-\[var\(--muted2\)\]{background-color:var(--muted2)}.bg-\[var\(--pop\)\]{background-color:var(--pop)}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.bg-alpha-white\/80{background-color:#fffc}@supports (color:color-mix(in lab, red, red)){.bg-alpha-white\/80{background-color:color-mix(in oklab, var(--color-alpha-white) 80%, transparent)}}.bg-border-secondary{background-color:var(--color-border-secondary)}.bg-brand-primary_alt{background-color:var(--background-color-brand-primary_alt)}.bg-brand-secondary{background-color:var(--background-color-brand-secondary)}.bg-brand-solid{background-color:var(--background-color-brand-solid)}.bg-brand-solid_hover{background-color:var(--background-color-brand-solid_hover)}.bg-error-secondary{background-color:var(--background-color-error-secondary)}.bg-error-solid{background-color:var(--background-color-error-solid)}.bg-fg-brand-primary_alt{background-color:var(--color-fg-brand-primary_alt)}.bg-fg-error-primary{background-color:var(--color-fg-error-primary)}.bg-fg-success-secondary{background-color:var(--color-fg-success-secondary)}.bg-fg-white{background-color:var(--color-fg-white)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/10{background-color:color-mix(in oklab, var(--color-green-500) 10%, transparent)}}.bg-overlay\/70{background-color:#14120eb3}@supports (color:color-mix(in lab, red, red)){.bg-overlay\/70{background-color:color-mix(in oklab, var(--background-color-overlay) 70%, transparent)}}.bg-primary{background-color:var(--background-color-primary)}.bg-primary-solid{background-color:var(--background-color-primary-solid)}.bg-primary_alt{background-color:var(--background-color-primary_alt)}.bg-primary_hover{background-color:var(--background-color-primary_hover)}.bg-quaternary{background-color:var(--background-color-quaternary)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-secondary{background-color:var(--background-color-secondary)}.bg-secondary-solid{background-color:var(--background-color-secondary-solid)}.bg-secondary_alt{background-color:var(--background-color-secondary_alt)}.bg-secondary_hover{background-color:var(--background-color-secondary_hover)}.bg-slider-handle-bg{background-color:var(--color-slider-handle-bg)}.bg-success-secondary{background-color:var(--background-color-success-secondary)}.bg-success-solid{background-color:var(--background-color-success-solid)}.bg-tertiary{background-color:var(--background-color-tertiary)}.bg-transparent{background-color:#0000}.bg-utility-blue-50{background-color:var(--color-utility-blue-50)}.bg-utility-brand-50{background-color:var(--color-utility-brand-50)}.bg-utility-green-50{background-color:var(--color-utility-green-50)}.bg-utility-indigo-50{background-color:var(--color-utility-indigo-50)}.bg-utility-neutral-50{background-color:var(--color-utility-neutral-50)}.bg-utility-neutral-300{background-color:var(--color-utility-neutral-300)}.bg-utility-orange-50{background-color:var(--color-utility-orange-50)}.bg-utility-pink-50{background-color:var(--color-utility-pink-50)}.bg-utility-purple-50{background-color:var(--color-utility-purple-50)}.bg-utility-red-50{background-color:var(--color-utility-red-50)}.bg-utility-sky-50{background-color:var(--color-utility-sky-50)}.bg-utility-slate-50{background-color:var(--color-utility-slate-50)}.bg-utility-yellow-50{background-color:var(--color-utility-yellow-50)}.bg-warning-secondary{background-color:var(--background-color-warning-secondary)}.bg-warning-solid{background-color:var(--background-color-warning-solid)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[linear-gradient\(155deg\,color-mix\(in_srgb\,var\(--accent\)_60\%\,\#fff\)\,var\(--accent\)_72\%\)\]{background-image:linear-gradient(155deg,var(--accent),var(--accent) 72%)}@supports (color:color-mix(in lab, red, red)){.bg-\[linear-gradient\(155deg\,color-mix\(in_srgb\,var\(--accent\)_60\%\,\#fff\)\,var\(--accent\)_72\%\)\]{background-image:linear-gradient(155deg,color-mix(in srgb,var(--accent) 60%,#fff),var(--accent) 72%)}}.bg-none{background-image:none}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-bg-primary{--tw-gradient-to:var(--color-bg-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-40\%{--tw-gradient-to-position:40%}.bg-repeat{background-repeat:repeat}.mask-no-clip{-webkit-mask-clip:no-clip;mask-clip:no-clip}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.fill-bg-primary-solid{fill:var(--color-bg-primary-solid)}.fill-current{fill:currentColor}.stroke-current{stroke:currentColor}.stroke-\[2\.25px\]{stroke-width:2.25px}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\!{padding:0!important}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.p-\[1\.5px\]{padding:1.5px}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-0{padding-inline:0}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-4\.5{padding-inline:calc(var(--spacing) * 4.5)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-\[3px\]{padding-inline:3px}.px-\[5px\]{padding-inline:5px}.px-\[7px\]{padding-inline:7px}.px-\[9px\]{padding-inline:9px}.px-\[10px\]{padding-inline:10px}.py-0{padding-block:0}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-\[1px\]{padding-block:1px}.py-\[5px\]{padding-block:5px}.py-\[9px\]{padding-block:9px}.py-\[18px\]{padding-block:18px}.py-px{padding-block:1px}.ps-2{padding-inline-start:calc(var(--spacing) * 2)}.pe-7{padding-inline-end:calc(var(--spacing) * 7)}.pe-8{padding-inline-end:calc(var(--spacing) * 8)}.pe-11{padding-inline-end:calc(var(--spacing) * 11)}.pt-\(--modal-pt\){padding-top:var(--modal-pt)}.pt-0{padding-top:0}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-\[10px\]{padding-top:10px}.pt-\[26px\]{padding-top:26px}.pr-1{padding-right:var(--spacing)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-3\.5{padding-right:calc(var(--spacing) * 3.5)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pr-9\.5{padding-right:calc(var(--spacing) * 9.5)}.pb-\(--modal-pb\){padding-bottom:var(--modal-pb)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-13{padding-bottom:calc(var(--spacing) * 13)}.pb-\[18px\]{padding-bottom:18px}.pl-1{padding-left:var(--spacing)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.pl-4\.5{padding-left:calc(var(--spacing) * 4.5)}.pl-7{padding-left:calc(var(--spacing) * 7)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.pl-10{padding-left:calc(var(--spacing) * 10)}.pl-10\.5{padding-left:calc(var(--spacing) * 10.5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.align-middle{vertical-align:middle}.font-\[family-name\:\'Geist\'\,system-ui\]{font-family:Geist,system-ui}.font-\[family-name\:\'Geist_Mono\'\,monospace\]{font-family:Geist Mono,monospace}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-\[13px\]\/5{font-size:13px;line-height:calc(var(--spacing) * 5)}.text-display-xs{font-size:var(--text-display-xs);line-height:var(--tw-leading,var(--text-display-xs--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-md{font-size:var(--text-md);line-height:var(--tw-leading,var(--text-md--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9\.5px\]{font-size:9.5px}.text-\[9px\]{font-size:9px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-\[length\:var\(--app-font\,13\.5px\)\]{font-size:var(--app-font,13.5px)}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.7\]{--tw-leading:1.7;line-height:1.7}.leading-\[1\.45\]{--tw-leading:1.45;line-height:1.45}.leading-\[1\.55\]{--tw-leading:1.55;line-height:1.55}.leading-\[13px\]{--tw-leading:13px;line-height:13px}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.font-\[500\]{--tw-font-weight:500;font-weight:500}.font-\[550\]{--tw-font-weight:550;font-weight:550}.font-\[600\]{--tw-font-weight:600;font-weight:600}.font-\[700\]{--tw-font-weight:700;font-weight:700}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.04em\]{--tw-tracking:.04em;letter-spacing:.04em}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-wrap{text-wrap:wrap}.\[word-break\:break-word\]{word-break:break-word}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#1f1c17\]{color:#1f1c17}.text-\[\#fff\]{color:#fff}.text-\[var\(--accent-fg\)\]{color:var(--accent-fg)}.text-\[var\(--accent-text\)\]{color:var(--accent-text)}.text-\[var\(--bg\)\]{color:var(--bg)}.text-\[var\(--color-text-brand-secondary\)\]{color:var(--color-text-brand-secondary)}.text-\[var\(--console-comment\)\]{color:var(--console-comment)}.text-\[var\(--console-fg\)\]{color:var(--console-fg)}.text-\[var\(--console-gutter\)\]{color:var(--console-gutter)}.text-\[var\(--danger\)\]{color:var(--danger)}.text-\[var\(--faint-fg\)\]{color:var(--faint-fg)}.text-\[var\(--fg\)\]{color:var(--fg)}.text-\[var\(--muted-fg\)\]{color:var(--muted-fg)}.text-brand-primary{color:var(--text-color-brand-primary)}.text-brand-secondary{color:var(--text-color-brand-secondary)}.text-brand-tertiary{color:var(--text-color-brand-tertiary)}.text-current{color:currentColor}.text-error-primary{color:var(--text-color-error-primary)}.text-featured-icon-light-fg-brand{color:var(--color-featured-icon-light-fg-brand)}.text-featured-icon-light-fg-error{color:var(--color-featured-icon-light-fg-error)}.text-featured-icon-light-fg-gray{color:var(--color-featured-icon-light-fg-gray)}.text-featured-icon-light-fg-success{color:var(--color-featured-icon-light-fg-success)}.text-featured-icon-light-fg-warning{color:var(--color-featured-icon-light-fg-warning)}.text-fg-brand-primary{color:var(--color-fg-brand-primary)}.text-fg-brand-primary_alt{color:var(--color-fg-brand-primary_alt)}.text-fg-error-primary{color:var(--color-fg-error-primary)}.text-fg-error-secondary{color:var(--color-fg-error-secondary)}.text-fg-quaternary{color:var(--color-fg-quaternary)}.text-fg-quaternary_hover{color:var(--color-fg-quaternary_hover)}.text-fg-secondary{color:var(--color-fg-secondary)}.text-fg-success-primary{color:var(--color-fg-success-primary)}.text-fg-success-secondary{color:var(--color-fg-success-secondary)}.text-fg-tertiary{color:var(--color-fg-tertiary)}.text-fg-warning-primary{color:var(--color-fg-warning-primary)}.text-fg-white{color:var(--color-fg-white)}.text-green-400{color:var(--color-green-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-placeholder{color:var(--text-color-placeholder)}.text-primary{color:var(--text-color-primary)}.text-quaternary{color:var(--text-color-quaternary)}.text-red-400{color:var(--color-red-400)}.text-secondary{color:var(--text-color-secondary)}.text-secondary_hover{color:var(--text-color-secondary_hover)}.text-tertiary{color:var(--text-color-tertiary)}.text-tooltip-supporting-text{color:var(--text-color-tooltip-supporting-text)}.text-transparent{color:#0000}.text-utility-blue-400{color:var(--color-utility-blue-400)}.text-utility-blue-500{color:var(--color-utility-blue-500)}.text-utility-blue-700{color:var(--color-utility-blue-700)}.text-utility-brand-400{color:var(--color-utility-brand-400)}.text-utility-brand-500{color:var(--color-utility-brand-500)}.text-utility-brand-700{color:var(--color-utility-brand-700)}.text-utility-green-400{color:var(--color-utility-green-400)}.text-utility-green-500{color:var(--color-utility-green-500)}.text-utility-green-700{color:var(--color-utility-green-700)}.text-utility-indigo-400{color:var(--color-utility-indigo-400)}.text-utility-indigo-500{color:var(--color-utility-indigo-500)}.text-utility-indigo-700{color:var(--color-utility-indigo-700)}.text-utility-neutral-400{color:var(--color-utility-neutral-400)}.text-utility-neutral-500{color:var(--color-utility-neutral-500)}.text-utility-neutral-700{color:var(--color-utility-neutral-700)}.text-utility-orange-400{color:var(--color-utility-orange-400)}.text-utility-orange-500{color:var(--color-utility-orange-500)}.text-utility-orange-700{color:var(--color-utility-orange-700)}.text-utility-pink-400{color:var(--color-utility-pink-400)}.text-utility-pink-500{color:var(--color-utility-pink-500)}.text-utility-pink-700{color:var(--color-utility-pink-700)}.text-utility-purple-400{color:var(--color-utility-purple-400)}.text-utility-purple-500{color:var(--color-utility-purple-500)}.text-utility-purple-700{color:var(--color-utility-purple-700)}.text-utility-red-400{color:var(--color-utility-red-400)}.text-utility-red-500{color:var(--color-utility-red-500)}.text-utility-red-700{color:var(--color-utility-red-700)}.text-utility-sky-400{color:var(--color-utility-sky-400)}.text-utility-sky-500{color:var(--color-utility-sky-500)}.text-utility-sky-700{color:var(--color-utility-sky-700)}.text-utility-slate-400{color:var(--color-utility-slate-400)}.text-utility-slate-500{color:var(--color-utility-slate-500)}.text-utility-slate-700{color:var(--color-utility-slate-700)}.text-utility-yellow-400{color:var(--color-utility-yellow-400)}.text-utility-yellow-500{color:var(--color-utility-yellow-500)}.text-utility-yellow-700{color:var(--color-utility-yellow-700)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.caret-alpha-black\/90{caret-color:#000000e6}@supports (color:color-mix(in lab, red, red)){.caret-alpha-black\/90{caret-color:color-mix(in oklab, var(--color-alpha-black) 90%, transparent)}}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_6px_16px_-6px_var\(--accent-soft\)\]{--tw-shadow:0 6px 16px -6px var(--tw-shadow-color,var(--accent-soft));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--shadow\)\]{--tw-shadow:var(--shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--shadow-elevated\)\]{--tw-shadow:var(--shadow-elevated);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0px 1px 2px var(--tw-shadow-color,#12110f0f), 0px 12px 32px -12px var(--tw-shadow-color,#12110f3d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0px 1px 2px var(--tw-shadow-color,#12110f0f), 0px 8px 20px -10px var(--tw-shadow-color,#12110f2e);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-skeuomorphic{--tw-shadow:0px 0px 0px 0px var(--tw-shadow-color,transparent);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0px 1px 2px var(--tw-shadow-color,#12110f0f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0px 1px 2px var(--tw-shadow-color,#12110f14), 0px 20px 48px -16px var(--tw-shadow-color,#12110f4d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0px 1px 0px var(--tw-shadow-color,#12110f0a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs-skeuomorphic{--tw-shadow:var(--shadow-xs);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-\[0\.5px\]{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(.5px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-\[1\.5px\]{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1.5px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-\[var\(--border\)\]{--tw-ring-color:var(--border)}.ring-bg-primary{--tw-ring-color:var(--color-bg-primary)}.ring-brand{--tw-ring-color:var(--ring-color-brand)}.ring-brand-solid{--tw-ring-color:var(--ring-color-brand-solid)}.ring-error{--tw-ring-color:var(--ring-color-error)}.ring-error_subtle{--tw-ring-color:var(--ring-color-error_subtle)}.ring-focus-ring{--tw-ring-color:var(--color-focus-ring)}.ring-primary{--tw-ring-color:var(--ring-color-primary)}.ring-secondary{--tw-ring-color:var(--ring-color-secondary)}.ring-secondary_alt{--tw-ring-color:var(--ring-color-secondary_alt)}.ring-slider-handle-border{--tw-ring-color:var(--color-slider-handle-border)}.ring-transparent{--tw-ring-color:transparent}.ring-utility-blue-200{--tw-ring-color:var(--color-utility-blue-200)}.ring-utility-brand-200{--tw-ring-color:var(--color-utility-brand-200)}.ring-utility-green-200{--tw-ring-color:var(--color-utility-green-200)}.ring-utility-indigo-200{--tw-ring-color:var(--color-utility-indigo-200)}.ring-utility-neutral-200{--tw-ring-color:var(--color-utility-neutral-200)}.ring-utility-orange-200{--tw-ring-color:var(--color-utility-orange-200)}.ring-utility-pink-200{--tw-ring-color:var(--color-utility-pink-200)}.ring-utility-purple-200{--tw-ring-color:var(--color-utility-purple-200)}.ring-utility-red-200{--tw-ring-color:var(--color-utility-red-200)}.ring-utility-sky-200{--tw-ring-color:var(--color-utility-sky-200)}.ring-utility-slate-200{--tw-ring-color:var(--color-utility-slate-200)}.ring-utility-yellow-200{--tw-ring-color:var(--color-utility-yellow-200)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline-hidden\!{--tw-outline-style:none!important;outline-style:none!important}@media (forced-colors:active){.outline-hidden\!{outline-offset:2px!important;outline:2px solid #0000!important}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.outline-\[0\.5px\]{outline-style:var(--tw-outline-style);outline-width:.5px}.-outline-offset-2{outline-offset:calc(2px * -1)}.-outline-offset-\[0\.5px\]{outline-offset:calc(.5px * -1)}.outline-offset-2{outline-offset:2px}.outline-black\/16{outline-color:#00000029}@supports (color:color-mix(in lab, red, red)){.outline-black\/16{outline-color:color-mix(in oklab, var(--color-black) 16%, transparent)}}.outline-brand{outline-color:var(--outline-color-brand)}.outline-error{outline-color:var(--outline-color-error)}.outline-focus-ring{outline-color:var(--color-focus-ring)}.outline-transparent{outline-color:#0000}.blur{--tw-blur:blur(8px);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.invert{--tw-invert:invert(100%);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );backdrop-filter:var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, )}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );backdrop-filter:var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, )}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );backdrop-filter:var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, )}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );backdrop-filter:var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, )}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );backdrop-filter:var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, )}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );backdrop-filter:var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, )}.\[backdrop-filter\:…\]{-webkit-backdrop-filter:…;backdrop-filter:…}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[inherit\]{transition-property:inherit;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[translate\]{transition-property:translate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-inherit-all{transition-property:inherit;transition-duration:inherit;transition-timing-function:inherit}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-transform{will-change:transform}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.animate-out{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--modal-pb\:clamp\(16px\,8vh\,64px\)\]{--modal-pb:clamp(16px, 8vh, 64px)}.\[--modal-pt\:16px\]{--modal-pt:16px}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.duration-100{animation-duration:.1s}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in{animation-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.fade-in{--tw-enter-opacity:0}.fade-out{--tw-exit-opacity:0}.paused{animation-play-state:paused}.ring-inset{--tw-ring-inset:inset}.running{animation-play-state:running}.zoom-in{--tw-enter-scale:0}.zoom-in-95{--tw-enter-scale:.95}.zoom-out{--tw-exit-scale:0}.zoom-out-95{--tw-exit-scale:.95}:is(.\*\:grow>*){flex-grow:1}.not-last\:pr-1:not(:last-child){padding-right:var(--spacing)}.not-last\:pr-2:not(:last-child){padding-right:calc(var(--spacing) * 2)}.not-last\:pr-\[calc\(calc\(var\(--spacing\)\*3\.5\)\+1px\)\]:not(:last-child){padding-right:calc(calc(var(--spacing) * 3.5) + 1px)}.not-last\:pr-\[calc\(calc\(var\(--spacing\)\*4\)\+1px\)\]:not(:last-child){padding-right:calc(calc(var(--spacing) * 4) + 1px)}.not-last\:pr-\[calc\(calc\(var\(--spacing\)\*4\.5\)\+1px\)\]:not(:last-child){padding-right:calc(calc(var(--spacing) * 4.5) + 1px)}:is(:where(.group):is(:where([data-rac])[data-required],:where(:not([data-rac])):required) .group-required\:block){display:block}:is(:where(.group):is(:where([data-rac])[data-invalid],:where(:not([data-rac])):invalid) .group-invalid\:text-error-primary){color:var(--text-color-error-primary)}:is(:where(.group):is(:where([data-rac])[data-invalid],:where(:not([data-rac])):invalid) .group-invalid\:ring-2){--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(:where(.group):is(:where([data-rac])[data-invalid],:where(:not([data-rac])):invalid) .group-invalid\:ring-error){--tw-ring-color:var(--ring-color-error)}:is(:where(.group):is(:where([data-rac])[data-invalid],:where(:not([data-rac])):invalid) .group-invalid\:ring-error_subtle){--tw-ring-color:var(--ring-color-error_subtle)}:is(:where(.group\/input):is(:where([data-rac])[data-invalid],:where(:not([data-rac])):invalid) .group-invalid\/input\:block){display:block}:is(:where(.group\/input):is(:where([data-rac])[data-invalid],:where(:not([data-rac])):invalid) .group-invalid\/input\:hidden){display:none}@media (hover:hover){:is(:where(.group):is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover) .group-hover\:bg-primary_hover){background-color:var(--background-color-primary_hover)}:is(:where(.group\/button-group):is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover) .group-hover\/button-group\:text-fg-quaternary_hover){color:var(--color-fg-quaternary_hover)}}:is(:where(.group):is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible) .group-focus-visible\:outline-2){outline-style:var(--tw-outline-style);outline-width:2px}:is(:where(.group):is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible) .group-focus-visible\:outline-offset-2){outline-offset:2px}:is(:where(.group):is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible) .group-focus-visible\:outline-focus-ring){outline-color:var(--color-focus-ring)}:is(:where(.group):is(:where([data-rac])[data-disabled],:where(:not([data-rac])):disabled) .group-disabled\:cursor-not-allowed){cursor:not-allowed}:is(:where(.group):is(:where([data-rac])[data-disabled],:where(:not([data-rac])):disabled) .group-disabled\:opacity-50){opacity:.5}:is(:where(.group)[data-orientation=vertical] .group-orientation-vertical\:justify-start){justify-content:flex-start}:is(:where(.group\/button-group)[data-selected] .group-selected\/button-group\:text-fg-quaternary_hover){color:var(--color-fg-quaternary_hover)}.placeholder\:text-placeholder::placeholder{color:var(--text-color-placeholder)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-0:before{content:var(--tw-content);inset:0}.before\:inset-1:before{content:var(--tw-content);inset:var(--spacing)}.before\:inset-\[0\.5px\]:before{content:var(--tw-content);inset:.5px}.before\:inset-px:before{content:var(--tw-content);inset:1px}.before\:inset-x-0:before{content:var(--tw-content);inset-inline:0}.before\:-top-px:before{content:var(--tw-content);top:-1px}.before\:bottom-0:before{content:var(--tw-content);bottom:0}.before\:z-10:before{content:var(--tw-content);z-index:10}.before\:size-6:before{content:var(--tw-content);width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.before\:size-7:before{content:var(--tw-content);width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.before\:size-8:before{content:var(--tw-content);width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.before\:size-9:before{content:var(--tw-content);width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.before\:size-full:before{content:var(--tw-content);width:100%;height:100%}.before\:h-0\.5:before{content:var(--tw-content);height:calc(var(--spacing) * .5)}.before\:h-px:before{content:var(--tw-content);height:1px}.before\:rounded-\[4px\]:before{content:var(--tw-content);border-radius:4px}.before\:rounded-\[5px\]:before{content:var(--tw-content);border-radius:5px}.before\:rounded-\[6px\]:before{content:var(--tw-content);border-radius:6px}.before\:rounded-\[7px\]:before{content:var(--tw-content);border-radius:7px}.before\:rounded-\[8px\]:before{content:var(--tw-content);border-radius:8px}.before\:rounded-\[9px\]:before{content:var(--tw-content);border-radius:9px}.before\:rounded-\[10px\]:before{content:var(--tw-content);border-radius:10px}.before\:rounded-\[11px\]:before{content:var(--tw-content);border-radius:11px}.before\:rounded-\[inherit\]:before{content:var(--tw-content);border-radius:inherit}.before\:rounded-full:before{content:var(--tw-content);border-radius:var(--radius-full)}.before\:border:before{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.before\:border-2:before{content:var(--tw-content);border-style:var(--tw-border-style);border-width:2px}.before\:border-fg-brand-primary\/30:before{content:var(--tw-content);border-color:#7f56d94d}@supports (color:color-mix(in lab, red, red)){.before\:border-fg-brand-primary\/30:before{border-color:color-mix(in oklab, var(--color-fg-brand-primary) 30%, transparent)}}.before\:border-fg-error-primary\/30:before{content:var(--tw-content);border-color:#e400144d}@supports (color:color-mix(in lab, red, red)){.before\:border-fg-error-primary\/30:before{border-color:color-mix(in oklab, var(--color-fg-error-primary) 30%, transparent)}}.before\:border-fg-success-primary\/30:before{content:var(--tw-content);border-color:#00a5444d}@supports (color:color-mix(in lab, red, red)){.before\:border-fg-success-primary\/30:before{border-color:color-mix(in oklab, var(--color-fg-success-primary) 30%, transparent)}}.before\:border-fg-tertiary\/30:before{content:var(--tw-content);border-color:#5e5a524d}@supports (color:color-mix(in lab, red, red)){.before\:border-fg-tertiary\/30:before{border-color:color-mix(in oklab, var(--color-fg-tertiary) 30%, transparent)}}.before\:border-fg-warning-primary\/30:before{content:var(--tw-content);border-color:#cd89004d}@supports (color:color-mix(in lab, red, red)){.before\:border-fg-warning-primary\/30:before{border-color:color-mix(in oklab, var(--color-fg-warning-primary) 30%, transparent)}}.before\:border-utility-brand-200:before{content:var(--tw-content);border-color:var(--color-utility-brand-200)}.before\:border-utility-brand-200\/12:before{content:var(--tw-content);border-color:#e9d7fe1f}@supports (color:color-mix(in lab, red, red)){.before\:border-utility-brand-200\/12:before{border-color:color-mix(in oklab, var(--color-utility-brand-200) 12%, transparent)}}.before\:border-utility-green-200:before{content:var(--tw-content);border-color:var(--color-utility-green-200)}.before\:border-utility-green-200\/12:before{content:var(--tw-content);border-color:#b9f8cf1f}@supports (color:color-mix(in lab, red, red)){.before\:border-utility-green-200\/12:before{border-color:color-mix(in oklab, var(--color-utility-green-200) 12%, transparent)}}.before\:border-utility-neutral-200:before{content:var(--tw-content);border-color:var(--color-utility-neutral-200)}.before\:border-utility-neutral-200\/12:before{content:var(--tw-content);border-color:#ded8cb1f}@supports (color:color-mix(in lab, red, red)){.before\:border-utility-neutral-200\/12:before{border-color:color-mix(in oklab, var(--color-utility-neutral-200) 12%, transparent)}}.before\:border-utility-red-200:before{content:var(--tw-content);border-color:var(--color-utility-red-200)}.before\:border-utility-red-200\/12:before{content:var(--tw-content);border-color:#ffcaca1f}@supports (color:color-mix(in lab, red, red)){.before\:border-utility-red-200\/12:before{border-color:color-mix(in oklab, var(--color-utility-red-200) 12%, transparent)}}.before\:border-utility-yellow-200:before{content:var(--tw-content);border-color:var(--color-utility-yellow-200)}.before\:border-utility-yellow-200\/12:before{content:var(--tw-content);border-color:#fff0851f}@supports (color:color-mix(in lab, red, red)){.before\:border-utility-yellow-200\/12:before{border-color:color-mix(in oklab, var(--color-utility-yellow-200) 12%, transparent)}}.before\:border-white\/12:before{content:var(--tw-content);border-color:#ffffff1f}@supports (color:color-mix(in lab, red, red)){.before\:border-white\/12:before{border-color:color-mix(in oklab, var(--color-white) 12%, transparent)}}.before\:border-white\/32:before{content:var(--tw-content);border-color:#ffffff52}@supports (color:color-mix(in lab, red, red)){.before\:border-white\/32:before{border-color:color-mix(in oklab, var(--color-white) 32%, transparent)}}.before\:bg-border-secondary:before{content:var(--tw-content);background-color:var(--color-border-secondary)}.before\:bg-brand-solid:before{content:var(--tw-content);background-color:var(--background-color-brand-solid)}.before\:bg-utility-brand-50:before{content:var(--tw-content);background-color:var(--color-utility-brand-50)}.before\:bg-utility-green-50:before{content:var(--tw-content);background-color:var(--color-utility-green-50)}.before\:bg-utility-neutral-50:before{content:var(--tw-content);background-color:var(--color-utility-neutral-50)}.before\:bg-utility-red-50:before{content:var(--tw-content);background-color:var(--color-utility-red-50)}.before\:bg-utility-yellow-50:before{content:var(--tw-content);background-color:var(--color-utility-yellow-50)}.before\:mask-b-from-0\%:before{content:var(--tw-content);-webkit-mask-image:var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic);-webkit-mask-image:var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic);-webkit-mask-image:var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic);mask-image:var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic);--tw-mask-linear:var(--tw-mask-left), var(--tw-mask-right), var(--tw-mask-bottom), var(--tw-mask-top);--tw-mask-bottom:linear-gradient(to bottom, var(--tw-mask-bottom-from-color) var(--tw-mask-bottom-from-position), var(--tw-mask-bottom-to-color) var(--tw-mask-bottom-to-position));--tw-mask-bottom-from-position:0%;-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;mask-composite:intersect}.before\:mask-\[linear-gradient\(to_bottom\,black_0\%\,transparent_25\%\,transparent_75\%\,black_100\%\)\]:before{content:var(--tw-content);-webkit-mask-image:linear-gradient(#000 0%,#0000 25% 75%,#000 100%);mask-image:linear-gradient(#000 0%,#0000 25% 75%,#000 100%)}.before\:shadow-\[0px_1px_2px_0px_rgba\(0\,0\,0\,0\.1\)\,0px_3px_3px_0px_rgba\(0\,0\,0\,0\.09\)\,1px_8px_5px_0px_rgba\(0\,0\,0\,0\.05\)\,2px_21px_6px_0px_rgba\(0\,0\,0\,0\)\,0px_0px_0px_1px_rgba\(0\,0\,0\,0\.08\)\,1px_13px_5px_0px_rgba\(0\,0\,0\,0\.01\)\,0px_-2px_2px_0px_rgba\(0\,0\,0\,0\.13\)_inset\]:before{content:var(--tw-content);--tw-shadow:0px 1px 2px 0px var(--tw-shadow-color,#0000001a), 0px 3px 3px 0px var(--tw-shadow-color,#00000017), 1px 8px 5px 0px var(--tw-shadow-color,#0000000d), 2px 21px 6px 0px var(--tw-shadow-color,#0000), 0px 0px 0px 1px var(--tw-shadow-color,#00000014), 1px 13px 5px 0px var(--tw-shadow-color,#00000003), 0px -2px 2px 0px var(--tw-shadow-color,#00000021) inset;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.before\:ring-1:before{content:var(--tw-content);--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.before\:ring-secondary_alt:before{content:var(--tw-content);--tw-ring-color:var(--ring-color-secondary_alt)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bottom-0:after{content:var(--tw-content);bottom:0}.after\:left-0:after{content:var(--tw-content);left:0}.after\:block:after{content:var(--tw-content);display:block}.after\:size-6:after{content:var(--tw-content);width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.after\:size-7:after{content:var(--tw-content);width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.after\:size-8:after{content:var(--tw-content);width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.after\:size-8\.5:after{content:var(--tw-content);width:calc(var(--spacing) * 8.5);height:calc(var(--spacing) * 8.5)}.after\:size-9\.5:after{content:var(--tw-content);width:calc(var(--spacing) * 9.5);height:calc(var(--spacing) * 9.5)}.after\:size-10:after{content:var(--tw-content);width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.after\:size-10\.5:after{content:var(--tw-content);width:calc(var(--spacing) * 10.5);height:calc(var(--spacing) * 10.5)}.after\:size-11\.5:after{content:var(--tw-content);width:calc(var(--spacing) * 11.5);height:calc(var(--spacing) * 11.5)}.after\:h-px:after{content:var(--tw-content);height:1px}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:rounded-full:after{content:var(--tw-content);border-radius:var(--radius-full)}.after\:border-2:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:2px}.after\:border-fg-brand-primary\/10:after{content:var(--tw-content);border-color:#7f56d91a}@supports (color:color-mix(in lab, red, red)){.after\:border-fg-brand-primary\/10:after{border-color:color-mix(in oklab, var(--color-fg-brand-primary) 10%, transparent)}}.after\:border-fg-error-primary\/10:after{content:var(--tw-content);border-color:#e400141a}@supports (color:color-mix(in lab, red, red)){.after\:border-fg-error-primary\/10:after{border-color:color-mix(in oklab, var(--color-fg-error-primary) 10%, transparent)}}.after\:border-fg-success-primary\/10:after{content:var(--tw-content);border-color:#00a5441a}@supports (color:color-mix(in lab, red, red)){.after\:border-fg-success-primary\/10:after{border-color:color-mix(in oklab, var(--color-fg-success-primary) 10%, transparent)}}.after\:border-fg-tertiary\/10:after{content:var(--tw-content);border-color:#5e5a521a}@supports (color:color-mix(in lab, red, red)){.after\:border-fg-tertiary\/10:after{border-color:color-mix(in oklab, var(--color-fg-tertiary) 10%, transparent)}}.after\:border-fg-warning-primary\/10:after{content:var(--tw-content);border-color:#cd89001a}@supports (color:color-mix(in lab, red, red)){.after\:border-fg-warning-primary\/10:after{border-color:color-mix(in oklab, var(--color-fg-warning-primary) 10%, transparent)}}.after\:bg-border-secondary:after{content:var(--tw-content);background-color:var(--color-border-secondary)}.after\:bg-brand-solid:after{content:var(--tw-content);background-color:var(--background-color-brand-solid)}.after\:bg-error-solid:after{content:var(--tw-content);background-color:var(--background-color-error-solid)}.after\:bg-secondary-solid:after{content:var(--tw-content);background-color:var(--background-color-secondary-solid)}.after\:bg-success-solid:after{content:var(--tw-content);background-color:var(--background-color-success-solid)}.after\:bg-warning-solid:after{content:var(--tw-content);background-color:var(--background-color-warning-solid)}.first\:mt-0:first-child{margin-top:0}.first\:rounded-\[calc\(var\(--radius\)_-_2px\)\]:first-child{border-radius:calc(var(--radius) - 2px)}.first\:rounded-l-lg:first-child{border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.last\:rounded-\[calc\(var\(--radius\)_-_2px\)\]:last-child{border-radius:calc(var(--radius) - 2px)}.last\:rounded-r-lg:last-child{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.last\:border-transparent:last-child{border-color:#0000}.autofill\:rounded-lg:autofill{border-radius:var(--radius-lg)}.autofill\:text-primary:autofill{color:var(--text-color-primary)}@media (hover:hover){.hover\:border-\[var\(--accent\)\]:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){border-color:var(--accent)}.hover\:border-\[var\(--muted-fg\)\]:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){border-color:var(--muted-fg)}.hover\:bg-\[var\(--accent-soft\)\]:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--accent-soft)}.hover\:bg-\[var\(--muted\)\]:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--muted)}.hover\:bg-\[var\(--muted2\)\]:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--muted2)}.hover\:bg-brand-solid_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--background-color-brand-solid_hover)}.hover\:bg-error-primary:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--background-color-error-primary)}.hover\:bg-error-solid_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--background-color-error-solid_hover)}.hover\:bg-primary_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--background-color-primary_hover)}.hover\:bg-secondary_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--background-color-secondary_hover)}.hover\:bg-transparent:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:#0000}.hover\:bg-utility-blue-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-blue-100)}.hover\:bg-utility-brand-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-brand-100)}.hover\:bg-utility-green-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-green-100)}.hover\:bg-utility-indigo-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-indigo-100)}.hover\:bg-utility-neutral-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-neutral-100)}.hover\:bg-utility-orange-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-orange-100)}.hover\:bg-utility-pink-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-pink-100)}.hover\:bg-utility-purple-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-purple-100)}.hover\:bg-utility-red-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-red-100)}.hover\:bg-utility-sky-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-sky-100)}.hover\:bg-utility-slate-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-slate-100)}.hover\:bg-utility-yellow-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-yellow-100)}.hover\:text-\[var\(--accent-text\)\]:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--accent-text)}.hover\:text-brand-secondary_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--text-color-brand-secondary_hover)}.hover\:text-error-primary_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--text-color-error-primary_hover)}.hover\:text-fg-quaternary_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-fg-quaternary_hover)}.hover\:text-secondary_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--text-color-secondary_hover)}.hover\:text-tertiary_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--text-color-tertiary_hover)}.hover\:text-utility-blue-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-blue-500)}.hover\:text-utility-brand-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-brand-500)}.hover\:text-utility-green-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-green-500)}.hover\:text-utility-indigo-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-indigo-500)}.hover\:text-utility-neutral-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-neutral-500)}.hover\:text-utility-orange-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-orange-500)}.hover\:text-utility-pink-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-pink-500)}.hover\:text-utility-purple-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-purple-500)}.hover\:text-utility-red-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-red-500)}.hover\:text-utility-sky-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-sky-500)}.hover\:text-utility-slate-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-slate-500)}.hover\:text-utility-yellow-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-yellow-500)}.hover\:underline:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){text-decoration-line:underline}}.focus\:text-fg-quaternary_hover:is(:where([data-rac])[data-focused],:where(:not([data-rac])):focus){color:var(--color-fg-quaternary_hover)}.focus\:ring-2:is(:where([data-rac])[data-focused],:where(:not([data-rac])):focus){--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-brand:is(:where([data-rac])[data-focused],:where(:not([data-rac])):focus){--tw-ring-color:var(--ring-color-brand)}.focus\:outline-hidden:is(:where([data-rac])[data-focused],:where(:not([data-rac])):focus){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:is(:where([data-rac])[data-focused],:where(:not([data-rac])):focus){outline-offset:2px;outline:2px solid #0000}}.focus-visible\:z-10:is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible){z-index:10}.focus-visible\:bg-\[var\(--accent-soft\)\]:is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible){background-color:var(--accent-soft)}.focus-visible\:ring-2:is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible){--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[var\(--accent\)\]:is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible){--tw-ring-color:var(--accent)}.focus-visible\:ring-brand:is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible){--tw-ring-color:var(--ring-color-brand)}.focus-visible\:outline-2:is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible){outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-1:is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible){outline-offset:1px}.focus-visible\:outline-offset-2:is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible){outline-offset:2px}.focus-visible\:outline-\[var\(--accent\)\]:is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible){outline-color:var(--accent)}.disabled\:cursor-not-allowed:is(:where([data-rac])[data-disabled],:where(:not([data-rac])):disabled){cursor:not-allowed}.disabled\:text-secondary\/50:is(:where([data-rac])[data-disabled],:where(:not([data-rac])):disabled){color:#47443e80}@supports (color:color-mix(in lab, red, red)){.disabled\:text-secondary\/50:is(:where([data-rac])[data-disabled],:where(:not([data-rac])):disabled){color:color-mix(in oklab, var(--text-color-secondary) 50%, transparent)}}.disabled\:opacity-50:is(:where([data-rac])[data-disabled],:where(:not([data-rac])):disabled),:is(.disabled\:\*\:opacity-50:is(:where([data-rac])[data-disabled],:where(:not([data-rac])):disabled)>*){opacity:.5}:where([data-input-wrapper]) .in-data-input-wrapper\:gap-1\.5{gap:calc(var(--spacing) * 1.5)}:where([data-input-wrapper]) .in-data-input-wrapper\:px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}:where([data-input-wrapper]) .in-data-input-wrapper\:px-4{padding-inline:calc(var(--spacing) * 4)}:where([data-input-wrapper]) .in-data-input-wrapper\:py-2\.5{padding-block:calc(var(--spacing) * 2.5)}:where([data-input-wrapper]) .in-data-input-wrapper\:text-md{font-size:var(--text-md);line-height:var(--tw-leading,var(--text-md--line-height))}:where([data-input-wrapper]) .in-data-input-wrapper\:shadow-xs{--tw-shadow:0px 1px 0px var(--tw-shadow-color,#12110f0a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:where([data-input-wrapper]) .in-data-input-wrapper\:focus\:\!z-50:is(:where([data-rac])[data-focused],:where(:not([data-rac])):focus){z-index:50!important}:where([data-input-wrapper]) .in-data-input-wrapper\:disabled\:opacity-100:is(:where([data-rac])[data-disabled],:where(:not([data-rac])):disabled){opacity:1}:where([data-leading]) :is(:where([data-input-wrapper]) .in-data-input-wrapper\:in-data-leading\:-mr-px){margin-right:-1px}:where([data-leading]) :is(:where([data-input-wrapper]) .in-data-input-wrapper\:in-data-leading\:rounded-r-none){border-top-right-radius:var(--radius-none);border-bottom-right-radius:var(--radius-none)}:where([data-leading]) :is(:where([data-input-wrapper]) .in-data-input-wrapper\:in-data-leading\:before\:rounded-r-none):before{content:var(--tw-content);border-top-right-radius:var(--radius-none);border-bottom-right-radius:var(--radius-none)}:where([data-trailing]) :is(:where([data-input-wrapper]) .in-data-input-wrapper\:in-data-trailing\:-ml-px){margin-left:-1px}:where([data-trailing]) :is(:where([data-input-wrapper]) .in-data-input-wrapper\:in-data-trailing\:rounded-l-none){border-top-left-radius:var(--radius-none);border-bottom-left-radius:var(--radius-none)}:where([data-trailing]) :is(:where([data-input-wrapper]) .in-data-input-wrapper\:in-data-trailing\:before\:rounded-l-none):before{content:var(--tw-content);border-top-left-radius:var(--radius-none);border-bottom-left-radius:var(--radius-none)}:where([data-input-size=sm]) .in-data-\[input-size\=sm\]\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}:where([data-placement=left]) .in-placement-left\:-rotate-90{rotate:-90deg}:where([data-placement=left]) .in-placement-left\:slide-in-from-right-0\.5{--tw-enter-translate-x:.125rem}:where([data-placement=left]) .in-placement-left\:slide-out-to-right-0\.5{--tw-exit-translate-x:.125rem}:where([data-placement=right]) .in-placement-right\:rotate-90{rotate:90deg}:where([data-placement=right]) .in-placement-right\:slide-in-from-left-0\.5{--tw-enter-translate-x:-.125rem}:where([data-placement=right]) .in-placement-right\:slide-out-to-left-0\.5{--tw-exit-translate-x:-.125rem}:where([data-placement=top]) .in-placement-top\:rotate-0{rotate:0deg}:where([data-placement=top]) .in-placement-top\:slide-in-from-bottom-0\.5{--tw-enter-translate-y:.125rem}:where([data-placement=top]) .in-placement-top\:slide-out-to-bottom-0\.5{--tw-exit-translate-y:.125rem}:where([data-placement=bottom]) .in-placement-bottom\:rotate-180{rotate:180deg}:where([data-placement=bottom]) .in-placement-bottom\:slide-in-from-top-0\.5{--tw-enter-translate-y:-.125rem}:where([data-placement=bottom]) .in-placement-bottom\:slide-out-to-top-0\.5{--tw-exit-translate-y:-.125rem}.data-focused\:bg-secondary[data-focused]{background-color:var(--background-color-secondary)}:is(.\*\:data-icon\:pointer-events-none>*)[data-icon]{pointer-events:none}:is(.\*\:data-icon\:size-4>*)[data-icon]{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}:is(.\*\:data-icon\:size-5>*)[data-icon]{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}:is(.\*\:data-icon\:size-6>*)[data-icon]{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}:is(.\*\:data-icon\:size-7>*)[data-icon]{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}:is(.\*\:data-icon\:shrink-0>*)[data-icon]{flex-shrink:0}:is(.\*\:data-icon\:stroke-\[2\.25px\]>*)[data-icon]{stroke-width:2.25px}:is(.\*\:data-icon\:text-fg-brand-secondary_alt>*)[data-icon]{color:var(--color-fg-brand-secondary_alt)}:is(.\*\:data-icon\:text-fg-brand-secondary_hover>*)[data-icon]{color:var(--color-fg-brand-secondary_hover)}:is(.\*\:data-icon\:text-fg-error-secondary>*)[data-icon]{color:var(--color-fg-error-secondary)}:is(.\*\:data-icon\:text-fg-quaternary>*)[data-icon]{color:var(--color-fg-quaternary)}:is(.\*\:data-icon\:text-fg-secondary_hover>*)[data-icon]{color:var(--color-fg-secondary_hover)}:is(.\*\:data-icon\:text-white\/60>*)[data-icon]{color:#fff9}@supports (color:color-mix(in lab, red, red)){:is(.\*\:data-icon\:text-white\/60>*)[data-icon]{color:color-mix(in oklab, var(--color-white) 60%, transparent)}}:is(.\*\:data-icon\:transition-inherit-all>*)[data-icon]{transition-property:inherit;transition-duration:inherit;transition-timing-function:inherit}@media (hover:hover){:is(.hover\:\*\:data-icon\:text-fg-brand-secondary_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover)>*)[data-icon]{color:var(--color-fg-brand-secondary_hover)}:is(.hover\:\*\:data-icon\:text-fg-error-primary:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover)>*)[data-icon]{color:var(--color-fg-error-primary)}:is(.hover\:\*\:data-icon\:text-fg-quaternary_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover)>*)[data-icon]{color:var(--color-fg-quaternary_hover)}:is(.hover\:\*\:data-icon\:text-white\/70:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover)>*)[data-icon]{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){:is(.hover\:\*\:data-icon\:text-white\/70:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover)>*)[data-icon]{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}}.data-icon-leading\:pl-3[data-icon-leading]{padding-left:calc(var(--spacing) * 3)}.data-icon-leading\:pl-3\.5[data-icon-leading]{padding-left:calc(var(--spacing) * 3.5)}.data-icon-leading\:pl-4[data-icon-leading]{padding-left:calc(var(--spacing) * 4)}.data-icon-only\:p-2[data-icon-only]{padding:calc(var(--spacing) * 2)}.data-icon-only\:p-2\.5[data-icon-only]{padding:calc(var(--spacing) * 2.5)}.data-icon-only\:p-3[data-icon-only]{padding:calc(var(--spacing) * 3)}.data-icon-only\:p-3\.5[data-icon-only]{padding:calc(var(--spacing) * 3.5)}.data-icon-only\:px-2\.5[data-icon-only]{padding-inline:calc(var(--spacing) * 2.5)}.data-icon-only\:px-3[data-icon-only]{padding-inline:calc(var(--spacing) * 3)}.data-icon-only\:px-3\.5[data-icon-only]{padding-inline:calc(var(--spacing) * 3.5)}:where([data-input-wrapper]) .in-data-input-wrapper\:data-icon-only\:p-2\.5[data-icon-only]{padding:calc(var(--spacing) * 2.5)}:where([data-input-wrapper]) .in-data-input-wrapper\:data-icon-only\:p-3[data-icon-only]{padding:calc(var(--spacing) * 3)}.data-loading\:bg-brand-solid_hover[data-loading]{background-color:var(--background-color-brand-solid_hover)}.data-loading\:bg-error-primary[data-loading]{background-color:var(--background-color-error-primary)}.data-loading\:bg-error-solid_hover[data-loading]{background-color:var(--background-color-error-solid_hover)}.data-loading\:bg-primary_hover[data-loading]{background-color:var(--background-color-primary_hover)}:is(.\*\:data-text\:underline-offset-3>*)[data-text]{text-underline-offset:3px}:is(.\*\:data-text\:underline-offset-4>*)[data-text]{text-underline-offset:4px}.data-\[pressed\]\:scale-\[\.97\][data-pressed]{scale:.97}.data-\[selected\]\:bg-brand-primary_alt[data-selected]{background-color:var(--background-color-brand-primary_alt)}.data-\[selected\]\:font-semibold[data-selected]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.data-\[selected\]\:text-brand-secondary[data-selected]{color:var(--text-color-brand-secondary)}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media not all and (width>=48rem){.max-md\:hidden{display:none}}@media not all and (width>=40rem){.max-sm\:overflow-y-auto{overflow-y:auto}}@media (width>=40rem){.sm\:mr-auto{margin-right:auto}.sm\:grid{display:grid}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:justify-center{justify-content:center}.sm\:justify-end{justify-content:flex-end}.sm\:rounded-2xl{border-radius:var(--radius-2xl)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:pt-6{padding-top:calc(var(--spacing) * 6)}.sm\:pt-8{padding-top:calc(var(--spacing) * 8)}.sm\:pb-6{padding-bottom:calc(var(--spacing) * 6)}.sm\:\[--modal-pb\:32px\]{--modal-pb:32px}.sm\:\[--modal-pt\:32px\]{--modal-pt:32px}}@media (width>=48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.md\:grid-cols-\[280px_1fr\]{grid-template-columns:280px 1fr}.md\:pt-16{padding-top:calc(var(--spacing) * 16)}}@media (width>=64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}:is(.lg\:\*\*\:data-label\:hidden *)[data-label]{display:none}}@media (width>=80rem){.xl\:pt-\[clamp\(64px\,10vh\,243px\)\]{padding-top:clamp(64px,10vh,243px)}}.dark\:bg-\[\#14120e\]:where(.dark-mode,.dark-mode *){background-color:#14120e}.dark\:text-\[\#f6f4ee\]:where(.dark-mode,.dark-mode *){color:#f6f4ee}.placement-right\:slide-in-from-left-0\.5[data-placement=right]{--tw-enter-translate-x:-.125rem}.placement-right\:slide-out-to-left-0\.5[data-placement=right]{--tw-exit-translate-x:-.125rem}.placement-top\:slide-in-from-bottom-0\.5[data-placement=top]{--tw-enter-translate-y:.125rem}.placement-top\:slide-out-to-bottom-0\.5[data-placement=top]{--tw-exit-translate-y:.125rem}.placement-bottom\:slide-in-from-top-0\.5[data-placement=bottom]{--tw-enter-translate-y:-.125rem}.placement-bottom\:slide-out-to-top-0\.5[data-placement=bottom]{--tw-exit-translate-y:-.125rem}.selected\:bg-\[var\(--accent-soft\)\][data-selected]{background-color:var(--accent-soft)}.selected\:bg-brand-primary_alt[data-selected]{background-color:var(--background-color-brand-primary_alt)}.selected\:bg-primary_hover[data-selected]{background-color:var(--background-color-primary_hover)}.selected\:font-semibold[data-selected]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.selected\:text-brand-secondary[data-selected]{color:var(--text-color-brand-secondary)}.selected\:text-secondary_hover[data-selected]{color:var(--text-color-secondary_hover)}.selected\:ring-\[var\(--accent\)\][data-selected]{--tw-ring-color:var(--accent)}@media (width>=64rem){.lg\:label\:hidden [data-label]{display:none}}.\[\&\:\:-webkit-search-cancel-button\]\:hidden::-webkit-search-cancel-button{display:none}@media (hover:hover){.\[\&\:not\(\[data-selected\]\)\]\:hover\:bg-\[var\(--muted\)\]:not([data-selected]):is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--muted)}.\[\&\:not\(\[data-selected\]\)\]\:hover\:text-secondary:not([data-selected]):is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--text-color-secondary)}}.\[\&\>\*\:not\(\[data-icon\=loading\]\)\]\:invisible>:not([data-icon=loading]){visibility:hidden}.\[\&\>\*\:not\(\[data-icon\=loading\]\)\:not\(\[data-text\]\)\]\:hidden>:not([data-icon=loading]):not([data-text]){display:none}}}@keyframes loadingBar{0%{transform:translate(-100%)}50%{transform:translate(100%)}to{transform:translate(-100%)}}.animate-loading-bar{animation:2s ease-in-out infinite loadingBar}:root{--bg-page:#f8fafc;--bg-card:#fff;--bg-card-hover:#f1f5f9;--bg-sidebar:#fff;--bg-input:#f1f5f9;--bg-muted:#e2e8f0;--bg-accent:#8b5cf6;--bg-accent-muted:#8b5cf61a;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-accent:#8b5cf6;--text-inverse:#fff;--border-default:#e2e8f0;--border-muted:#cbd5e1;--icon-fill:#64748b;--icon-color:#8b5cf6;--scrollbar-track:#f1f5f9;--scrollbar-thumb:#cbd5e1;--scrollbar-thumb-hover:#94a3b8;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:0 0% 98%;--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--radius:.625rem;--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--bg-page:#0a0d1a;--bg-card:#151823;--bg-card-hover:#1a1d2e;--bg-sidebar:#0a0d1a;--bg-input:#151823;--bg-muted:#1e2235;--bg-accent:#8b5cf6;--bg-accent-muted:#8b5cf626;--text-primary:#e5e7eb;--text-secondary:#9ca3af;--text-muted:#6b7280;--text-accent:#a78bfa;--text-inverse:#fff;--border-default:#1e2235;--border-muted:#2d3348;--icon-fill:#6b7280;--icon-color:#8b5cf6;--scrollbar-track:#0a0d1a;--scrollbar-thumb:#1e2235;--scrollbar-thumb-hover:#2d3348;--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:0 0% 98%;--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}body{background-color:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .2s,color .2s}.theme-bg-page{background-color:var(--bg-page)}.theme-bg-card{background-color:var(--bg-card)}.theme-bg-card-hover:hover{background-color:var(--bg-card-hover)}.theme-bg-sidebar{background-color:var(--bg-sidebar)}.theme-bg-input{background-color:var(--bg-input)}.theme-bg-muted{background-color:var(--bg-muted)}.theme-bg-accent{background-color:var(--bg-accent)}.theme-bg-accent-muted{background-color:var(--bg-accent-muted)}.theme-text-primary{color:var(--text-primary)}.theme-text-secondary{color:var(--text-secondary)}.theme-text-muted{color:var(--text-muted)}.theme-text-accent{color:var(--text-accent)}.theme-link{transition:color .14s}.theme-link:hover{color:var(--text-accent)}@supports (color:color-mix(in lab, red, red)){.theme-link:hover{color:color-mix(in oklab, var(--text-accent) 72%, var(--text-primary))}}.theme-text-inverse{color:var(--text-inverse)}.theme-border{border-color:var(--border-default)}.theme-border-muted{border-color:var(--border-muted)}.theme-transition{transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.scrollbar-thin::-webkit-scrollbar{width:6px;height:6px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground)/.2);border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted-foreground)/.3)}.icon-svg svg,.icon-svg-modal svg{width:100%;height:100%}.icon-svg.icon-colored svg,.icon-svg-modal.icon-colored svg{fill:currentColor;stroke:currentColor}.icon-svg.icon-colored svg path,.icon-svg.icon-colored svg circle,.icon-svg.icon-colored svg rect,.icon-svg.icon-colored svg line,.icon-svg.icon-colored svg polyline,.icon-svg.icon-colored svg polygon,.icon-svg-modal.icon-colored svg path,.icon-svg-modal.icon-colored svg circle,.icon-svg-modal.icon-colored svg rect,.icon-svg-modal.icon-colored svg line,.icon-svg-modal.icon-colored svg polyline,.icon-svg-modal.icon-colored svg polygon{fill:inherit;stroke:inherit}.icon-svg svg[fill=none],.icon-svg-modal svg[fill=none]{fill:none}.icon-svg.icon-colored svg[fill=none] path,.icon-svg.icon-colored svg[fill=none] circle,.icon-svg.icon-colored svg[fill=none] rect,.icon-svg.icon-colored svg[fill=none] line,.icon-svg-modal.icon-colored svg[fill=none] path,.icon-svg-modal.icon-colored svg[fill=none] circle,.icon-svg-modal.icon-colored svg[fill=none] rect,.icon-svg-modal.icon-colored svg[fill=none] line{fill:none;stroke:currentColor}.animate-fade-in{animation:.3s ease-in fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter-from,.fade-leave-to{opacity:0}.slide-down-enter-active,.slide-down-leave-active{transition:all .3s}.slide-down-enter-from,.slide-down-leave-to{opacity:0;transform:translateY(-100%)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}[data-ichava-theme].dark-mode{--color-bg-overlay:#000}:where(:root,[data-ichava-theme]):not(.dark-mode){--canvas:var(--color-bg-tertiary)}.ich-shell{background:var(--canvas)}.ich-sheet{border:1px solid var(--color-border-secondary);border-radius:calc(var(--radius) * 2);background:var(--surface);box-shadow:var(--shadow-sm);margin:0 8px 8px 0;overflow:hidden}[dir=rtl] .ich-sheet{margin:0 0 8px 8px}@media (width<=860px){.ich-sheet,[dir=rtl] .ich-sheet{margin:0 6px 6px}}@font-face{font-family:Geist;src:url(../fonts/Geist-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(../fonts/GeistMono-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}[data-ichava-theme].dark-mode{--canvas:var(--color-bg-primary);--surface:var(--color-bg-secondary);--color-bg-error-solid_hover:var(--color-red-700)}@scope([data-ichava-theme]){:scope,*{box-sizing:border-box}}@media (hover:hover){@scope([data-ichava-theme]){:is(button,[role=button],[role=menuitem],[role=option],[role=tab],a):hover:not(:disabled,[aria-disabled=true]){--ich-hover-bg:var(--muted);--ich-hover-fg:var(--fg);--ich-hover-border:var(--muted-fg)}:where(button,[role=button],[role=menuitem],[role=tab],[role=radio]):where(:hover):not(:disabled,[aria-disabled=true],[data-rac]){background-image:linear-gradient(var(--fg), var(--fg))}}@supports (color:color-mix(in lab, red, red)){@scope([data-ichava-theme]){:where(button,[role=button],[role=menuitem],[role=tab],[role=radio]):where(:hover):not(:disabled,[aria-disabled=true],[data-rac]){background-image:linear-gradient(color-mix(in oklab, var(--fg) 7%, transparent), color-mix(in oklab, var(--fg) 7%, transparent))}}}}@scope([data-ichava-theme]){:where(button,[role=button],[role=tab],[role=menuitem],[role=option],[role=radio],a):not([data-rac]){transition:background-color .14s,color .14s,border-color .14s,box-shadow .16s,opacity .14s,transform .12s}:where(button,[role=button],[role=tab],[role=menuitem],[role=radio]):not(:disabled,[aria-disabled=true],[data-rac]):active{background-image:linear-gradient(var(--fg), var(--fg));transform:scale(.96)}}@supports (color:color-mix(in lab, red, red)){@scope([data-ichava-theme]){:where(button,[role=button],[role=tab],[role=menuitem],[role=radio]):not(:disabled,[aria-disabled=true],[data-rac]):active{background-image:linear-gradient(color-mix(in oklab, var(--fg) 12%, transparent), color-mix(in oklab, var(--fg) 12%, transparent))}}}@scope([data-ichava-theme]){:where(button,[role=button])[data-rac][data-pressed]:not([data-disabled]){transform:scale(.97)}:where([data-ich-tile]):active{--ich-press:.97}:where([data-ich-row]):active{transform:scale(.995)}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}input:focus:not([data-rac]),select:focus:not([data-rac]),button:focus:not([data-rac]){outline:none}input:focus-visible:not([data-rac]),select:focus-visible:not([data-rac]),button:focus-visible:not([data-rac]),a:focus-visible:not([data-rac]),[tabindex]:focus-visible:not([data-rac]),[role=button]:focus-visible:not([data-rac]),[role=checkbox]:focus-visible:not([data-rac]),[role=radio]:focus-visible:not([data-rac]),[role=menuitem]:focus-visible:not([data-rac]),[role=tab]:focus-visible:not([data-rac]){box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--ring);outline:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border);background-clip:content-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-track{background:0 0}}.ich-side-scroll,.ich-marquee-scroll{scrollbar-width:none}.ich-side-scroll::-webkit-scrollbar{width:0;height:0}.ich-marquee-scroll::-webkit-scrollbar{width:0;height:0}@scope([data-ichava-theme]){[data-region=credits]::-webkit-scrollbar{width:0;height:0}input[type=range]{appearance:none;background:0 0}input[type=range]::-webkit-slider-runnable-track{background:var(--border);border-radius:2px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--bg);border:1.5px solid var(--accent);width:13px;height:13px;box-shadow:var(--shadow);cursor:pointer;border-radius:50%;margin-top:-4.5px}input[type=range].ich-hue::-webkit-slider-runnable-track{background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:4px;height:8px}input[type=range].ich-hue::-webkit-slider-thumb{margin-top:-2.5px}input[type=range].ich-light::-webkit-slider-runnable-track{background:linear-gradient(to right, #000, var(--pick-mid,#888), #fff);border-radius:4px;height:8px}input[type=range].ich-light::-webkit-slider-thumb{margin-top:-2.5px}}@keyframes ichPulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes ichIn{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}@keyframes ichTaskSlide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@keyframes ichFade{0%{opacity:0}to{opacity:1}}@keyframes ichRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ichFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes ichGlow{0%,to{box-shadow:0 12px 34px -8px var(--accent-soft), 0 0 0 0 var(--accent-soft)}50%{box-shadow:0 16px 44px -6px var(--accent-soft), 0 0 0 10px transparent}}@keyframes ichSpin{to{transform:rotate(360deg)}}@keyframes ichPulseS{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}@keyframes ichBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-18%)}}@keyframes ichWiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-11deg)}75%{transform:rotate(11deg)}}@keyframes ichPing{0%{opacity:1;transform:scale(1)}80%,to{opacity:0;transform:scale(1.45)}}@keyframes ichSpinPath{to{transform:rotate(360deg)}}@keyframes ichMarqueeY{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes ichMarqueeX{0%{transform:translate(0)}to{transform:translate(-50%)}}.ich-skeleton{--ich-skeleton-base:var(--fg);display:inline-block}@supports (color:color-mix(in lab, red, red)){.ich-skeleton{--ich-skeleton-base:color-mix(in srgb, var(--fg) 8%, transparent)}}.ich-skeleton{--ich-skeleton-shine:var(--fg)}@supports (color:color-mix(in lab, red, red)){.ich-skeleton{--ich-skeleton-shine:color-mix(in srgb, var(--fg) 15%, transparent)}}.ich-skeleton{background:linear-gradient(90deg, var(--ich-skeleton-base) 0%, var(--ich-skeleton-shine) 40%, var(--ich-skeleton-base) 80%) 0 0 / 300% 100%;animation:1.4s ease-in-out infinite ichSkeleton}@keyframes ichSkeleton{0%{background-position:100% 0}to{background-position:-50% 0}}@media (prefers-reduced-motion:reduce){@scope([data-ichava-theme]){:scope,*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}}.ich-pop{position:relative}[data-reduce-motion] *,[data-reduce-motion]{scroll-behavior:auto!important;transition:none!important;animation:none!important}@media (width<=760px){.ich-detail-grid{grid-template-columns:1fr!important}}@media (width<=640px){.ich-header-brand-suffix{display:none}.ich-header-search{flex:none}.ich-header-search-button{justify-content:center;width:30px;max-width:none;padding:0}.ich-header-search-label{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ich-header-actions{overscroll-behavior-x:contain;scrollbar-width:none;flex:1 1 0;min-width:0;overflow-x:auto}.ich-header-actions::-webkit-scrollbar{display:none}.ich-header-actions>*{flex:none}}@media (width<=1024px){.ich-header-search-kbd,.ich-header-brand-suffix{display:none}}@media (width<=640px){.ich-header-actions{padding-inline-end:20px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 20px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 20px),#0000)}[dir=rtl] .ich-header-actions{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 20px),#0000);mask-image:linear-gradient(270deg,#000 calc(100% - 20px),#0000)}}.ich-hamburger,.ich-scrim{display:none}@media (width<=860px){.ich-hamburger{display:flex}.ich-sidebar{z-index:65;box-shadow:var(--shadow-elevated);transition:transform .2s;position:fixed;top:48px;bottom:0;left:0;transform:translate(-100%)}.ich-sidebar.open{transform:translate(0)}[dir=rtl] .ich-sidebar{left:auto;right:0;transform:translate(100%)}[dir=rtl] .ich-sidebar.open{transform:translate(0)}.ich-scrim{z-index:64;background:var(--overlay);animation:.15s ichFade;display:block;position:fixed;inset:48px 0 0}}.ich-tree .ich-tree-guide{background:0 0}.ich-tree[data-connectors] .ich-tree-guide{background:var(--border)}.ich-tree[data-size=sm]{--ich-tree-indent:20px}.ich-tree[data-size=md]{--ich-tree-indent:24px}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-mask-linear{syntax:"*";inherits:false;initial-value:linear-gradient(#fff, #fff)}@property --tw-mask-radial{syntax:"*";inherits:false;initial-value:linear-gradient(#fff, #fff)}@property --tw-mask-conic{syntax:"*";inherits:false;initial-value:linear-gradient(#fff, #fff)}@property --tw-mask-left{syntax:"*";inherits:false;initial-value:linear-gradient(#fff, #fff)}@property --tw-mask-right{syntax:"*";inherits:false;initial-value:linear-gradient(#fff, #fff)}@property --tw-mask-bottom{syntax:"*";inherits:false;initial-value:linear-gradient(#fff, #fff)}@property --tw-mask-top{syntax:"*";inherits:false;initial-value:linear-gradient(#fff, #fff)}@property --tw-mask-bottom-from-position{syntax:"*";inherits:false;initial-value:0%}@property --tw-mask-bottom-to-position{syntax:"*";inherits:false;initial-value:100%}@property --tw-mask-bottom-from-color{syntax:"*";inherits:false;initial-value:black}@property --tw-mask-bottom-to-color{syntax:"*";inherits:false;initial-value:transparent}@keyframes spin{to{transform:rotate(360deg)}}:root{--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Geist,-apple-system,Segoe UI,Roboto,Arial,sans-serif} +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}@scope([data-ichava-theme]){:scope,*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-mask-linear:linear-gradient(#fff, #fff);--tw-mask-radial:linear-gradient(#fff, #fff);--tw-mask-conic:linear-gradient(#fff, #fff);--tw-mask-left:linear-gradient(#fff, #fff);--tw-mask-right:linear-gradient(#fff, #fff);--tw-mask-bottom:linear-gradient(#fff, #fff);--tw-mask-top:linear-gradient(#fff, #fff);--tw-mask-bottom-from-position:0%;--tw-mask-bottom-to-position:100%;--tw-mask-bottom-from-color:black;--tw-mask-bottom-to-color:transparent}}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--spacing:.25rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}[data-ichava-theme]{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, "Roboto Mono", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-800:oklch(47% .157 37.304);--color-orange-900:oklch(40.8% .123 38.172);--color-orange-950:oklch(26.6% .079 36.259);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--color-yellow-950:oklch(28.6% .066 53.813);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-emerald-950:oklch(26.2% .051 172.552);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-600:oklch(58.8% .158 241.966);--color-sky-700:oklch(50% .134 242.749);--color-sky-800:oklch(44.3% .11 240.79);--color-sky-900:oklch(39.1% .09 240.876);--color-sky-950:oklch(29.3% .066 243.157);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-800:oklch(39.8% .195 277.366);--color-indigo-900:oklch(35.9% .144 278.697);--color-indigo-950:oklch(25.7% .09 281.288);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-purple-950:oklch(29.1% .149 302.717);--color-fuchsia-50:oklch(97.7% .017 320.058);--color-fuchsia-100:oklch(95.2% .037 318.852);--color-fuchsia-200:oklch(90.3% .076 319.62);--color-fuchsia-300:oklch(83.3% .145 321.434);--color-fuchsia-400:oklch(74% .238 322.16);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-fuchsia-600:oklch(59.1% .293 322.896);--color-fuchsia-700:oklch(51.8% .253 323.949);--color-fuchsia-800:oklch(45.2% .211 324.591);--color-fuchsia-900:oklch(40.1% .17 325.612);--color-fuchsia-950:oklch(29.3% .136 325.661);--color-pink-50:oklch(97.1% .014 343.198);--color-pink-100:oklch(94.8% .028 342.258);--color-pink-200:oklch(89.9% .061 343.231);--color-pink-300:oklch(82.3% .12 346.018);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-pink-600:oklch(59.2% .249 .584);--color-pink-700:oklch(52.5% .223 3.958);--color-pink-800:oklch(45.9% .187 3.815);--color-pink-900:oklch(40.8% .153 2.432);--color-pink-950:oklch(28.4% .109 3.907);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-neutral-50:#f6f4ee;--color-neutral-100:#ece8de;--color-neutral-200:#ded8cb;--color-neutral-300:#cbc4b4;--color-neutral-400:#a8a192;--color-neutral-500:#67635a;--color-neutral-600:#5e5a52;--color-neutral-700:#47443e;--color-neutral-800:#2f2b24;--color-neutral-900:#1f1c17;--color-neutral-950:#14120e;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--text-xs:calc(var(--spacing) * 3);--text-xs--line-height:calc(var(--spacing) * 4.5);--text-sm:calc(var(--spacing) * 3.5);--text-sm--line-height:calc(var(--spacing) * 5);--text-lg:calc(var(--spacing) * 4.5);--text-lg--line-height:calc(var(--spacing) * 7);--text-xl:calc(var(--spacing) * 5);--text-xl--line-height:calc(var(--spacing) * 7.5);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:500;--font-weight-bold:600;--font-weight-extrabold:800;--font-weight-black:900;--tracking-wide:.025em;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-xs:0px 1px 0px #12110f0a;--shadow-sm:0px 1px 2px #12110f0f;--shadow-lg:0px 1px 2px #12110f0f, 0px 12px 32px -12px #12110f3d;--shadow-xl:0px 1px 2px #12110f14, 0px 20px 48px -16px #12110f4d;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--blur-lg:16px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-body:var(--font-inter,"Inter"), -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--text-md:calc(var(--spacing) * 4);--text-md--line-height:calc(var(--spacing) * 6);--text-display-xs:calc(var(--spacing) * 6);--text-display-xs--line-height:calc(var(--spacing) * 8);--text-display-sm:calc(var(--spacing) * 7.5);--text-display-sm--line-height:calc(var(--spacing) * 9.5);--max-width-container:1280px;--radius-none:0px;--radius-DEFAULT:.25rem;--radius-full:9999px;--shadow-skeuomorphic:0px 0px 0px 0px transparent;--color-transparent:#0000;--color-alpha-white:#fff;--color-alpha-black:#000;--color-brand-50:#f9f5ff;--color-brand-100:#f4ebff;--color-brand-200:#e9d7fe;--color-brand-300:#d6bbfb;--color-brand-400:#b692f6;--color-brand-500:#9e77ed;--color-brand-600:#7f56d9;--color-brand-700:#6941c6;--color-brand-800:#53389e;--color-brand-900:#42307d;--color-brand-950:#2c1c5f;--color-utility-blue-50:var(--color-blue-50);--color-utility-blue-100:var(--color-blue-100);--color-utility-blue-200:var(--color-blue-200);--color-utility-blue-400:var(--color-blue-400);--color-utility-blue-500:var(--color-blue-500);--color-utility-blue-700:var(--color-blue-700);--color-utility-brand-50:var(--color-brand-50);--color-utility-brand-100:var(--color-brand-100);--color-utility-brand-200:var(--color-brand-200);--color-utility-brand-400:var(--color-brand-400);--color-utility-brand-500:var(--color-brand-500);--color-utility-brand-700:var(--color-brand-700);--color-utility-neutral-50:var(--color-neutral-50);--color-utility-neutral-100:var(--color-neutral-100);--color-utility-neutral-200:var(--color-neutral-200);--color-utility-neutral-300:var(--color-neutral-300);--color-utility-neutral-400:var(--color-neutral-400);--color-utility-neutral-500:var(--color-neutral-500);--color-utility-neutral-600:var(--color-neutral-600);--color-utility-neutral-700:var(--color-neutral-700);--color-utility-neutral-800:var(--color-neutral-800);--color-utility-neutral-900:var(--color-neutral-900);--color-utility-red-50:var(--color-red-50);--color-utility-red-100:var(--color-red-100);--color-utility-red-200:var(--color-red-200);--color-utility-red-400:var(--color-red-400);--color-utility-red-500:var(--color-red-500);--color-utility-red-700:var(--color-red-700);--color-utility-yellow-50:var(--color-yellow-50);--color-utility-yellow-100:var(--color-yellow-100);--color-utility-yellow-200:var(--color-yellow-200);--color-utility-yellow-400:var(--color-yellow-400);--color-utility-yellow-500:var(--color-yellow-500);--color-utility-yellow-700:var(--color-yellow-700);--color-utility-green-50:var(--color-green-50);--color-utility-green-100:var(--color-green-100);--color-utility-green-200:var(--color-green-200);--color-utility-green-400:var(--color-green-400);--color-utility-green-500:var(--color-green-500);--color-utility-green-700:var(--color-green-700);--color-utility-orange-50:var(--color-orange-50);--color-utility-orange-100:var(--color-orange-100);--color-utility-orange-200:var(--color-orange-200);--color-utility-orange-400:var(--color-orange-400);--color-utility-orange-500:var(--color-orange-500);--color-utility-orange-700:var(--color-orange-700);--color-utility-indigo-50:var(--color-indigo-50);--color-utility-indigo-100:var(--color-indigo-100);--color-utility-indigo-200:var(--color-indigo-200);--color-utility-indigo-400:var(--color-indigo-400);--color-utility-indigo-500:var(--color-indigo-500);--color-utility-indigo-700:var(--color-indigo-700);--color-utility-pink-50:var(--color-pink-50);--color-utility-pink-100:var(--color-pink-100);--color-utility-pink-200:var(--color-pink-200);--color-utility-pink-400:var(--color-pink-400);--color-utility-pink-500:var(--color-pink-500);--color-utility-pink-700:var(--color-pink-700);--color-utility-purple-50:var(--color-purple-50);--color-utility-purple-100:var(--color-purple-100);--color-utility-purple-200:var(--color-purple-200);--color-utility-purple-400:var(--color-purple-400);--color-utility-purple-500:var(--color-purple-500);--color-utility-purple-700:var(--color-purple-700);--color-utility-sky-50:var(--color-sky-50);--color-utility-sky-100:var(--color-sky-100);--color-utility-sky-200:var(--color-sky-200);--color-utility-sky-400:var(--color-sky-400);--color-utility-sky-500:var(--color-sky-500);--color-utility-sky-700:var(--color-sky-700);--color-utility-slate-50:var(--color-slate-50);--color-utility-slate-100:var(--color-slate-100);--color-utility-slate-200:var(--color-slate-200);--color-utility-slate-400:var(--color-slate-400);--color-utility-slate-500:var(--color-slate-500);--color-utility-slate-700:var(--color-slate-700);--color-text-primary:var(--color-neutral-900);--color-text-tertiary:var(--color-neutral-600);--color-text-error-primary:var(--color-red-600);--color-text-warning-primary:var(--color-yellow-600);--color-text-success-primary:var(--color-green-600);--color-text-white:var(--color-white);--color-text-secondary:var(--color-neutral-700);--color-text-secondary_hover:var(--color-neutral-800);--color-text-tertiary_hover:var(--color-neutral-700);--color-text-brand-secondary:var(--color-brand-700);--color-text-placeholder:var(--color-neutral-500);--color-text-brand-tertiary:var(--color-brand-600);--color-text-editor-icon-fg:var(--color-neutral-400);--color-text-editor-icon-fg_active:var(--color-neutral-500);--color-text-quaternary:var(--color-neutral-500);--color-text-brand-primary:var(--color-brand-900);--color-text-primary_on-brand:var(--color-white);--color-text-secondary_on-brand:var(--color-brand-200);--color-text-tertiary_on-brand:var(--color-brand-200);--color-text-quaternary_on-brand:var(--color-brand-300);--color-text-brand-tertiary_alt:var(--color-brand-600);--color-text-error-primary_hover:var(--color-red-700);--color-text-brand-secondary_hover:var(--color-brand-800);--color-border-primary:var(--color-neutral-300);--color-border-secondary:var(--color-neutral-200);--color-border-secondary_alt:#0000001a;--color-border-tertiary:var(--color-neutral-100);--color-border-error:var(--color-red-500);--color-border-error_subtle:var(--color-red-300);--color-border-brand:var(--color-brand-500);--color-border-brand_alt:var(--color-brand-600);--color-fg-secondary:var(--color-neutral-700);--color-fg-warning-primary:var(--color-yellow-600);--color-fg-success-primary:var(--color-green-600);--color-fg-white:var(--color-white);--color-fg-success-secondary:var(--color-green-500);--color-fg-secondary_hover:var(--color-neutral-800);--color-fg-brand-secondary:var(--color-brand-500);--color-fg-brand-primary:var(--color-brand-600);--color-fg-quaternary:var(--color-neutral-400);--color-fg-quaternary_hover:var(--color-neutral-500);--color-fg-error-primary:var(--color-red-600);--color-fg-error-secondary:var(--color-red-500);--color-fg-tertiary:var(--color-neutral-600);--color-fg-brand-primary_alt:var(--color-fg-brand-primary);--color-fg-brand-secondary_alt:var(--color-fg-brand-secondary);--color-fg-brand-secondary_hover:var(--color-brand-600);--color-bg-primary:var(--color-white);--color-bg-tertiary:var(--color-neutral-100);--color-bg-brand-primary:var(--color-brand-50);--color-bg-error-secondary:var(--color-red-100);--color-bg-warning-primary:var(--color-yellow-50);--color-bg-warning-secondary:var(--color-yellow-100);--color-bg-success-primary:var(--color-green-50);--color-bg-success-secondary:var(--color-green-100);--color-bg-brand-solid:var(--color-brand-600);--color-bg-secondary-solid:var(--color-neutral-600);--color-bg-error-solid:var(--color-red-600);--color-bg-warning-solid:var(--color-yellow-600);--color-bg-success-solid:var(--color-green-600);--color-bg-secondary_hover:var(--color-neutral-100);--color-bg-primary_hover:var(--color-neutral-50);--color-bg-active:var(--color-neutral-50);--color-bg-brand-solid_hover:var(--color-brand-700);--color-bg-error-primary:var(--color-red-50);--color-bg-brand-secondary:var(--color-brand-100);--color-bg-secondary:var(--color-neutral-50);--color-bg-quaternary:var(--color-neutral-200);--color-bg-primary_alt:var(--color-white);--color-bg-brand-primary_alt:var(--color-brand-50);--color-bg-secondary_alt:var(--color-neutral-50);--color-bg-overlay:var(--color-neutral-950);--color-bg-brand-section:var(--color-brand-800);--color-bg-brand-section_subtle:var(--color-brand-700);--color-bg-primary-solid:var(--color-neutral-950);--color-bg-error-solid_hover:var(--color-red-700);--color-featured-icon-light-fg-brand:var(--color-brand-600);--color-featured-icon-light-fg-error:var(--color-red-600);--color-featured-icon-light-fg-gray:var(--color-neutral-500);--color-featured-icon-light-fg-success:var(--color-green-600);--color-featured-icon-light-fg-warning:var(--color-yellow-600);--color-focus-ring:var(--color-brand-500);--color-icon-fg-brand:var(--color-brand-600);--color-slider-handle-bg:var(--color-white);--color-slider-handle-border:var(--color-brand-600);--color-toggle-border:var(--color-neutral-300);--color-toggle-slim-border_pressed-hover:var(--color-bg-brand-solid_hover);--color-toggle-slim-border_pressed:var(--color-bg-brand-solid);--color-tooltip-supporting-text:var(--color-neutral-300);--background-color-primary:var(--color-bg-primary);--background-color-tertiary:var(--color-bg-tertiary);--background-color-error-secondary:var(--color-bg-error-secondary);--background-color-warning-secondary:var(--color-bg-warning-secondary);--background-color-success-secondary:var(--color-bg-success-secondary);--background-color-brand-solid:var(--color-bg-brand-solid);--background-color-secondary-solid:var(--color-bg-secondary-solid);--background-color-error-solid:var(--color-bg-error-solid);--background-color-warning-solid:var(--color-bg-warning-solid);--background-color-success-solid:var(--color-bg-success-solid);--background-color-secondary_hover:var(--color-bg-secondary_hover);--background-color-primary_hover:var(--color-bg-primary_hover);--background-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--background-color-error-primary:var(--color-bg-error-primary);--background-color-brand-secondary:var(--color-bg-brand-secondary);--background-color-secondary:var(--color-bg-secondary);--background-color-quaternary:var(--color-bg-quaternary);--background-color-primary_alt:var(--color-bg-primary_alt);--background-color-brand-primary_alt:var(--color-bg-brand-primary_alt);--background-color-secondary_alt:var(--color-bg-secondary_alt);--background-color-overlay:var(--color-bg-overlay);--background-color-brand-section:var(--color-bg-brand-section);--background-color-brand-section_subtle:var(--color-bg-brand-section_subtle);--background-color-primary-solid:var(--color-bg-primary-solid);--background-color-error-solid_hover:var(--color-bg-error-solid_hover);--text-color-primary:var(--color-text-primary);--text-color-secondary:var(--color-text-secondary);--text-color-secondary_hover:var(--color-text-secondary_hover);--text-color-tertiary:var(--color-text-tertiary);--text-color-tertiary_hover:var(--color-text-tertiary_hover);--text-color-error-primary:var(--color-text-error-primary);--text-color-brand-secondary:var(--color-text-brand-secondary);--text-color-placeholder:var(--color-text-placeholder);--text-color-brand-tertiary:var(--color-text-brand-tertiary);--text-color-quaternary:var(--color-text-quaternary);--text-color-brand-primary:var(--color-text-brand-primary);--text-color-primary_on-brand:var(--color-text-primary_on-brand);--text-color-tertiary_on-brand:var(--color-text-tertiary_on-brand);--text-color-error-primary_hover:var(--color-text-error-primary_hover);--text-color-brand-secondary_hover:var(--color-text-brand-secondary_hover);--text-color-tooltip-supporting-text:var(--color-tooltip-supporting-text);--border-color-primary:var(--color-border-primary);--border-color-secondary:var(--color-border-secondary);--border-color-brand:var(--color-border-brand);--ring-color-primary:var(--color-border-primary);--ring-color-secondary:var(--color-border-secondary);--ring-color-secondary_alt:var(--color-border-secondary_alt);--ring-color-error:var(--color-border-error);--ring-color-error_subtle:var(--color-border-error_subtle);--ring-color-brand:var(--color-border-brand);--ring-color-brand-solid:var(--color-bg-brand-solid);--outline-color-error:var(--color-border-error);--outline-color-brand:var(--color-border-brand)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}@scope([data-ichava-theme]){:scope,*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:scope,html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){@scope([data-ichava-theme]){::placeholder{color:currentColor}}@supports (color:color-mix(in lab, red, red)){@scope([data-ichava-theme]){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}}@scope([data-ichava-theme]){textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}[data-ichava-theme].dark-mode{--color-alpha-white:#0c0e12;--color-alpha-black:#fff;--color-utility-blue-50:var(--color-blue-950);--color-utility-blue-100:var(--color-blue-900);--color-utility-blue-200:var(--color-blue-800);--color-utility-blue-300:var(--color-blue-700);--color-utility-blue-400:var(--color-blue-600);--color-utility-blue-500:var(--color-blue-500);--color-utility-blue-600:var(--color-blue-400);--color-utility-blue-700:var(--color-blue-300);--color-utility-brand-50:var(--color-brand-950);--color-utility-brand-50_alt:var(--color-utility-neutral-50);--color-utility-brand-100:var(--color-brand-900);--color-utility-brand-100_alt:var(--color-utility-neutral-100);--color-utility-brand-200:var(--color-brand-800);--color-utility-brand-200_alt:var(--color-utility-neutral-200);--color-utility-brand-300:var(--color-brand-700);--color-utility-brand-300_alt:var(--color-utility-neutral-300);--color-utility-brand-400:var(--color-brand-600);--color-utility-brand-400_alt:var(--color-utility-neutral-400);--color-utility-brand-500:var(--color-brand-500);--color-utility-brand-500_alt:var(--color-utility-neutral-500);--color-utility-brand-600:var(--color-brand-400);--color-utility-brand-600_alt:var(--color-utility-neutral-600);--color-utility-brand-700:var(--color-brand-300);--color-utility-brand-700_alt:var(--color-utility-neutral-700);--color-utility-brand-800:var(--color-brand-200);--color-utility-brand-800_alt:var(--color-utility-neutral-800);--color-utility-brand-900:var(--color-brand-100);--color-utility-brand-900_alt:var(--color-utility-neutral-900);--color-utility-neutral-50:var(--color-neutral-900);--color-utility-neutral-100:var(--color-neutral-800);--color-utility-neutral-200:var(--color-neutral-700);--color-utility-neutral-300:var(--color-neutral-700);--color-utility-neutral-400:var(--color-neutral-600);--color-utility-neutral-500:var(--color-neutral-500);--color-utility-neutral-600:var(--color-neutral-400);--color-utility-neutral-700:var(--color-neutral-300);--color-utility-neutral-800:var(--color-neutral-200);--color-utility-neutral-900:var(--color-neutral-100);--color-utility-red-50:var(--color-red-950);--color-utility-red-100:var(--color-red-900);--color-utility-red-200:var(--color-red-800);--color-utility-red-300:var(--color-red-700);--color-utility-red-400:var(--color-red-600);--color-utility-red-500:var(--color-red-500);--color-utility-red-600:var(--color-red-400);--color-utility-red-700:var(--color-red-300);--color-utility-yellow-50:var(--color-yellow-950);--color-utility-yellow-100:var(--color-yellow-900);--color-utility-yellow-200:var(--color-yellow-800);--color-utility-yellow-300:var(--color-yellow-700);--color-utility-yellow-400:var(--color-yellow-600);--color-utility-yellow-500:var(--color-yellow-500);--color-utility-yellow-600:var(--color-yellow-400);--color-utility-yellow-700:var(--color-yellow-300);--color-utility-green-50:var(--color-green-950);--color-utility-green-100:var(--color-green-900);--color-utility-green-200:var(--color-green-800);--color-utility-green-300:var(--color-green-700);--color-utility-green-400:var(--color-green-600);--color-utility-green-500:var(--color-green-500);--color-utility-green-600:var(--color-green-400);--color-utility-green-700:var(--color-green-300);--color-utility-orange-50:var(--color-orange-950);--color-utility-orange-100:var(--color-orange-900);--color-utility-orange-200:var(--color-orange-800);--color-utility-orange-300:var(--color-orange-700);--color-utility-orange-400:var(--color-orange-600);--color-utility-orange-500:var(--color-orange-500);--color-utility-orange-600:var(--color-orange-400);--color-utility-orange-700:var(--color-orange-300);--color-utility-indigo-50:var(--color-indigo-950);--color-utility-indigo-100:var(--color-indigo-900);--color-utility-indigo-200:var(--color-indigo-800);--color-utility-indigo-300:var(--color-indigo-700);--color-utility-indigo-400:var(--color-indigo-600);--color-utility-indigo-500:var(--color-indigo-500);--color-utility-indigo-600:var(--color-indigo-400);--color-utility-indigo-700:var(--color-indigo-300);--color-utility-fuchsia-50:var(--color-fuchsia-950);--color-utility-fuchsia-100:var(--color-fuchsia-900);--color-utility-fuchsia-200:var(--color-fuchsia-800);--color-utility-fuchsia-300:var(--color-fuchsia-700);--color-utility-fuchsia-400:var(--color-fuchsia-600);--color-utility-fuchsia-500:var(--color-fuchsia-500);--color-utility-fuchsia-600:var(--color-fuchsia-400);--color-utility-fuchsia-700:var(--color-fuchsia-300);--color-utility-pink-50:var(--color-pink-950);--color-utility-pink-100:var(--color-pink-900);--color-utility-pink-200:var(--color-pink-800);--color-utility-pink-300:var(--color-pink-700);--color-utility-pink-400:var(--color-pink-600);--color-utility-pink-500:var(--color-pink-500);--color-utility-pink-600:var(--color-pink-400);--color-utility-pink-700:var(--color-pink-300);--color-utility-purple-50:var(--color-purple-950);--color-utility-purple-100:var(--color-purple-900);--color-utility-purple-200:var(--color-purple-800);--color-utility-purple-300:var(--color-purple-700);--color-utility-purple-400:var(--color-purple-600);--color-utility-purple-500:var(--color-purple-500);--color-utility-purple-600:var(--color-purple-400);--color-utility-purple-700:var(--color-purple-300);--color-utility-sky-50:var(--color-sky-950);--color-utility-sky-100:var(--color-sky-900);--color-utility-sky-200:var(--color-sky-800);--color-utility-sky-300:var(--color-sky-700);--color-utility-sky-400:var(--color-sky-600);--color-utility-sky-500:var(--color-sky-500);--color-utility-sky-600:var(--color-sky-400);--color-utility-sky-700:var(--color-sky-300);--color-utility-slate-50:var(--color-slate-950);--color-utility-slate-100:var(--color-slate-900);--color-utility-slate-200:var(--color-slate-800);--color-utility-slate-300:var(--color-slate-700);--color-utility-slate-400:var(--color-slate-600);--color-utility-slate-500:var(--color-slate-500);--color-utility-slate-600:var(--color-slate-400);--color-utility-slate-700:var(--color-slate-300);--color-utility-emerald-50:var(--color-emerald-950);--color-utility-emerald-100:var(--color-emerald-900);--color-utility-emerald-200:var(--color-emerald-800);--color-utility-emerald-300:var(--color-emerald-700);--color-utility-emerald-400:var(--color-emerald-600);--color-utility-emerald-500:var(--color-emerald-500);--color-utility-emerald-600:var(--color-emerald-400);--color-utility-emerald-700:var(--color-emerald-300);--color-utility-amber-50:var(--color-amber-950);--color-utility-amber-100:var(--color-amber-900);--color-utility-amber-200:var(--color-amber-800);--color-utility-amber-300:var(--color-amber-700);--color-utility-amber-400:var(--color-amber-600);--color-utility-amber-500:var(--color-amber-500);--color-utility-amber-600:var(--color-amber-400);--color-utility-amber-700:var(--color-amber-300);--color-text-primary:var(--color-neutral-50);--color-text-tertiary:var(--color-neutral-400);--color-text-error-primary:var(--color-red-400);--color-text-warning-primary:var(--color-yellow-400);--color-text-success-primary:var(--color-green-400);--color-text-white:var(--color-white);--color-text-secondary:var(--color-neutral-300);--color-text-secondary_hover:var(--color-neutral-200);--color-text-tertiary_hover:var(--color-neutral-300);--color-text-brand-secondary:var(--color-neutral-300);--color-text-placeholder:var(--color-neutral-500);--color-text-brand-tertiary:var(--color-neutral-400);--color-text-editor-icon-fg:var(--color-neutral-400);--color-text-editor-icon-fg_active:var(--color-white);--color-text-quaternary:var(--color-neutral-400);--color-text-brand-primary:var(--color-neutral-50);--color-text-primary_on-brand:var(--color-neutral-50);--color-text-secondary_on-brand:var(--color-neutral-300);--color-text-tertiary_on-brand:var(--color-neutral-400);--color-text-quaternary_on-brand:var(--color-neutral-400);--color-text-brand-tertiary_alt:var(--color-neutral-50);--color-text-error-primary_hover:var(--color-red-300);--color-text-brand-secondary_hover:var(--color-neutral-200);--color-border-secondary:var(--color-neutral-800);--color-border-error_subtle:var(--color-red-500);--color-border-primary:var(--color-neutral-700);--color-border-brand:var(--color-brand-400);--color-border-error:var(--color-red-400);--color-border-tertiary:var(--color-neutral-800);--color-border-brand_alt:var(--color-neutral-700);--color-border-secondary_alt:var(--color-neutral-800);--color-fg-secondary:var(--color-neutral-300);--color-fg-warning-primary:var(--color-yellow-500);--color-fg-success-primary:var(--color-green-500);--color-fg-white:var(--color-white);--color-fg-success-secondary:var(--color-green-400);--color-fg-secondary_hover:var(--color-neutral-200);--color-fg-primary:var(--color-white);--color-fg-brand-secondary:var(--color-brand-500);--color-fg-brand-primary:var(--color-brand-500);--color-fg-quaternary:var(--color-neutral-600);--color-fg-quaternary_hover:var(--color-neutral-500);--color-fg-error-primary:var(--color-red-500);--color-fg-warning-secondary:var(--color-yellow-400);--color-fg-error-secondary:var(--color-red-400);--color-fg-tertiary:var(--color-neutral-400);--color-fg-tertiary_hover:var(--color-neutral-300);--color-fg-brand-primary_alt:var(--color-neutral-300);--color-fg-brand-secondary_alt:var(--color-neutral-600);--color-fg-brand-secondary_hover:var(--color-neutral-500);--color-bg-primary:var(--color-neutral-950);--color-bg-tertiary:var(--color-neutral-800);--color-bg-brand-primary:var(--color-brand-500);--color-bg-error-secondary:var(--color-red-600);--color-bg-warning-primary:var(--color-yellow-950);--color-bg-warning-secondary:var(--color-yellow-600);--color-bg-success-primary:var(--color-green-950);--color-bg-success-secondary:var(--color-green-600);--color-bg-brand-solid:var(--color-brand-600);--color-bg-secondary-solid:var(--color-neutral-600);--color-bg-error-solid:var(--color-red-600);--color-bg-warning-solid:var(--color-yellow-600);--color-bg-success-solid:var(--color-green-600);--color-bg-secondary_hover:var(--color-neutral-800);--color-bg-primary_hover:var(--color-neutral-900);--color-bg-active:var(--color-neutral-800);--color-bg-brand-solid_hover:var(--color-brand-500);--color-bg-error-primary:var(--color-red-950);--color-bg-brand-secondary:var(--color-brand-600);--color-bg-secondary:var(--color-neutral-900);--color-bg-quaternary:var(--color-neutral-700);--color-bg-primary_alt:var(--color-bg-secondary);--color-bg-brand-primary_alt:var(--color-bg-secondary);--color-bg-secondary_alt:var(--color-bg-primary);--color-bg-overlay:var(--color-neutral-800);--color-bg-brand-section:var(--color-bg-secondary);--color-bg-brand-section_subtle:var(--color-bg-primary);--color-bg-primary-solid:var(--color-bg-secondary);--color-bg-error-solid_hover:var(--color-red-500);--color-app-store-badg-border:var(--color-white);--color-avatar-styles-bg-neutral:224 224 224 1;--color-featured-icon-light-fg-brand:var(--color-brand-200);--color-featured-icon-light-fg-error:var(--color-red-200);--color-featured-icon-light-fg-gray:var(--color-neutral-200);--color-featured-icon-light-fg-success:var(--color-green-200);--color-featured-icon-light-fg-warning:var(--color-yellow-200);--color-focus-ring-error:var(--color-red-500);--color-focus-ring:var(--color-brand-500);--color-footer-button-fg:var(--color-neutral-300);--color-footer-button-fg_hover:var(--color-neutral-100);--color-icon-fg-brand:var(--color-neutral-400);--color-icon-fg-brand_on-brand:var(--color-neutral-400);--color-screen-mockup-border:var(--color-neutral-700);--color-slider-handle-bg:var(--color-fg-brand-primary);--color-slider-handle-border:var(--color-bg-primary);--color-toggle-border:var(--color-transparent);--color-toggle-slim-border_pressed-hover:var(--color-transparent);--color-toggle-slim-border_pressed:var(--color-transparent);--color-tooltip-supporting-text:var(--color-neutral-300);--background-color-primary:var(--color-bg-primary);--background-color-tertiary:var(--color-bg-tertiary);--background-color-brand-primary:var(--color-bg-brand-primary);--background-color-error-secondary:var(--color-bg-error-secondary);--background-color-warning-primary:var(--color-bg-warning-primary);--background-color-warning-secondary:var(--color-bg-warning-secondary);--background-color-success-primary:var(--color-bg-success-primary);--background-color-success-secondary:var(--color-bg-success-secondary);--background-color-brand-solid:var(--color-bg-brand-solid);--background-color-secondary-solid:var(--color-bg-secondary-solid);--background-color-error-solid:var(--color-bg-error-solid);--background-color-warning-solid:var(--color-bg-warning-solid);--background-color-success-solid:var(--color-bg-success-solid);--background-color-secondary_hover:var(--color-bg-secondary_hover);--background-color-primary_hover:var(--color-bg-primary_hover);--background-color-active:var(--color-bg-active);--background-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--background-color-error-primary:var(--color-bg-error-primary);--background-color-brand-secondary:var(--color-bg-brand-secondary);--background-color-secondary:var(--color-bg-secondary);--background-color-quaternary:var(--color-bg-quaternary);--background-color-primary_alt:var(--color-bg-primary_alt);--background-color-brand-primary_alt:var(--color-bg-brand-primary_alt);--background-color-secondary_alt:var(--color-bg-secondary_alt);--background-color-overlay:var(--color-bg-overlay);--background-color-brand-section:var(--color-bg-brand-section);--background-color-brand-section_subtle:var(--color-bg-brand-section_subtle);--background-color-primary-solid:var(--color-bg-primary-solid);--background-color-error-solid_hover:var(--color-bg-error-solid_hover);--background-color-border-brand:var(--color-border-brand);--background-color-border-tertiary:var(--color-border-tertiary);--background-color-border-brand_alt:var(--color-border-brand_alt);--text-color-primary:var(--color-text-primary);--text-color-tertiary:var(--color-text-tertiary);--text-color-error-primary:var(--color-text-error-primary);--text-color-warning-primary:var(--color-text-warning-primary);--text-color-success-primary:var(--color-text-success-primary);--text-color-white:var(--color-text-white);--text-color-secondary:var(--color-text-secondary);--text-color-secondary_hover:var(--color-text-secondary_hover);--text-color-tertiary_hover:var(--color-text-tertiary_hover);--text-color-brand-secondary:var(--color-text-brand-secondary);--text-color-placeholder:var(--color-text-placeholder);--text-color-brand-tertiary:var(--color-text-brand-tertiary);--text-color-editor-icon-fg:var(--color-text-editor-icon-fg);--text-color-editor-icon-fg_active:var(--color-text-editor-icon-fg_active);--text-color-quaternary:var(--color-text-quaternary);--text-color-brand-primary:var(--color-text-brand-primary);--text-color-primary_on-brand:var(--color-text-primary_on-brand);--text-color-secondary_on-brand:var(--color-text-secondary_on-brand);--text-color-tertiary_on-brand:var(--color-text-tertiary_on-brand);--text-color-quaternary_on-brand:var(--color-text-quaternary_on-brand);--text-color-brand-tertiary_alt:var(--color-text-brand-tertiary_alt);--text-color-error-primary_hover:var(--color-text-error-primary_hover);--text-color-brand-secondary_hover:var(--color-text-brand-secondary_hover);--text-color-tooltip-supporting-text:var(--color-tooltip-supporting-text);--border-color-primary:var(--color-border-primary);--border-color-secondary:var(--color-border-secondary);--border-color-secondary_alt:var(--color-border-secondary_alt);--border-color-tertiary:var(--color-border-tertiary);--border-color-error:var(--color-border-error);--border-color-error_subtle:var(--color-border-error_subtle);--border-color-brand:var(--color-border-brand);--border-color-brand_alt:var(--color-border-brand_alt);--border-color-brand-solid:var(--color-bg-brand-solid);--border-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--ring-color-primary:var(--color-border-primary);--ring-color-secondary:var(--color-border-secondary);--ring-color-secondary_alt:var(--color-border-secondary_alt);--ring-color-tertiary:var(--color-border-tertiary);--ring-color-error:var(--color-border-error);--ring-color-error_subtle:var(--color-border-error_subtle);--ring-color-brand:var(--color-border-brand);--ring-color-brand-solid:var(--color-bg-brand-solid);--ring-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--ring-color-brand_alt:var(--color-border-brand_alt);--outline-color-primary:var(--color-border-primary);--outline-color-secondary:var(--color-border-secondary);--outline-color-secondary_alt:var(--color-border-secondary_alt);--outline-color-tertiary:var(--color-border-tertiary);--outline-color-error:var(--color-border-error);--outline-color-error_subtle:var(--color-border-error_subtle);--outline-color-brand:var(--color-border-brand);--outline-color-brand-solid:var(--color-bg-brand-solid);--outline-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--outline-color-brand_alt:var(--color-border-brand_alt)}[data-ichava-root] :is(h1,h2,h3),[data-ichava-portal] :is(h1,h2,h3){letter-spacing:-.01em}[data-ichava-theme]{--font-inter:"Geist";--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-sans:var(--font-body);--bg:var(--color-bg-primary);--fg:var(--color-text-primary);--card:var(--color-bg-primary);--pop:var(--surface);--muted:var(--color-bg-secondary);--muted2:var(--color-bg-tertiary);--z-overlay:60;--z-popover:70;--z-tooltip:80;--z-toast:90;--canvas:var(--color-bg-secondary);--surface:var(--color-bg-primary);--muted-fg:var(--color-text-tertiary);--faint-fg:var(--color-text-quaternary);--border:var(--color-border-primary);--input:var(--color-border-primary);--danger:var(--color-fg-error-primary);--danger-soft:var(--color-bg-error-primary);--success:var(--color-fg-success-primary);--warning:var(--color-fg-warning-primary);--info:var(--color-fg-brand-primary);--shadow:var(--shadow-xs);--shadow-elevated:var(--shadow-lg);--overlay:var(--color-bg-overlay);--code:var(--color-bg-secondary);--tip-bg:var(--color-bg-primary-solid);--tip-fg:var(--color-text-primary_on-brand);--accent:var(--color-bg-brand-solid);--ichm-glow-color:var(--accent);--accent-fg:var(--color-text-white);--accent-soft:var(--color-bg-brand-primary);--ring:var(--color-border-brand);--radius:var(--radius-lg);--console-bg:#0b0b0e;--console-chrome:#18181b;--console-border:#26262b;--console-fg:#e4e4e7;--console-gutter:#7e7e88;--console-comment:#8b8b96;--console-string:#6ee7b7;--console-number:#fbbf24;--console-keyword:#c4b5fd;--console-punct:#94a3b8}:where([data-ichava-theme]){--color-utility-brand-50:var(--color-brand-50);--color-utility-brand-50_alt:var(--color-brand-50);--color-utility-brand-100:var(--color-brand-100);--color-utility-brand-100_alt:var(--color-brand-100);--color-utility-brand-200:var(--color-brand-200);--color-utility-brand-200_alt:var(--color-brand-200);--color-utility-brand-300:var(--color-brand-300);--color-utility-brand-300_alt:var(--color-brand-300);--color-utility-brand-400:var(--color-brand-400);--color-utility-brand-400_alt:var(--color-brand-400);--color-utility-brand-500:var(--color-brand-500);--color-utility-brand-500_alt:var(--color-brand-500);--color-utility-brand-600:var(--color-brand-600);--color-utility-brand-600_alt:var(--color-brand-600);--color-utility-brand-700:var(--color-brand-700);--color-utility-brand-700_alt:var(--color-brand-700);--color-utility-brand-800:var(--color-brand-800);--color-utility-brand-800_alt:var(--color-brand-800);--color-utility-brand-900:var(--color-brand-900);--color-utility-brand-900_alt:var(--color-brand-900);--color-text-brand-secondary:var(--color-brand-700);--color-text-brand-tertiary:var(--color-brand-600);--color-text-brand-primary:var(--color-brand-900);--color-text-secondary_on-brand:var(--color-brand-200);--color-text-tertiary_on-brand:var(--color-brand-200);--color-text-quaternary_on-brand:var(--color-brand-300);--color-text-brand-tertiary_alt:var(--color-brand-600);--color-text-brand-secondary_hover:var(--color-brand-800);--color-border-brand:var(--color-brand-500);--color-border-brand_alt:var(--color-brand-600);--color-fg-brand-secondary:var(--color-brand-500);--color-fg-brand-primary:var(--color-brand-600);--color-fg-brand-primary_alt:var(--color-fg-brand-primary);--color-fg-brand-secondary_alt:var(--color-fg-brand-secondary);--color-fg-brand-secondary_hover:var(--color-brand-600);--color-bg-brand-primary:var(--color-brand-50);--color-bg-brand-solid:var(--color-brand-600);--color-bg-brand-solid_hover:var(--color-brand-700);--color-bg-brand-secondary:var(--color-brand-100);--color-bg-brand-primary_alt:var(--color-brand-50);--color-bg-brand-section:var(--color-brand-800);--color-bg-brand-section_subtle:var(--color-brand-700);--color-featured-icon-light-fg-brand:var(--color-brand-600);--color-focus-ring:var(--color-brand-500);--color-footer-button-fg:var(--color-brand-200);--color-icon-fg-brand:var(--color-brand-600);--color-icon-fg-brand_on-brand:var(--color-brand-200);--color-slider-handle-border:var(--color-brand-600);--color-toggle-slim-border_pressed-hover:var(--color-bg-brand-solid_hover);--color-toggle-slim-border_pressed:var(--color-bg-brand-solid);--background-color-brand-primary:var(--color-bg-brand-primary);--background-color-brand-solid:var(--color-bg-brand-solid);--background-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--background-color-brand-secondary:var(--color-bg-brand-secondary);--background-color-brand-primary_alt:var(--color-bg-brand-primary_alt);--background-color-brand-section:var(--color-bg-brand-section);--background-color-brand-section_subtle:var(--color-bg-brand-section_subtle);--background-color-border-brand:var(--color-border-brand);--background-color-border-brand_alt:var(--color-border-brand_alt);--text-color-brand-secondary:var(--color-text-brand-secondary);--text-color-brand-tertiary:var(--color-text-brand-tertiary);--text-color-brand-primary:var(--color-text-brand-primary);--text-color-secondary_on-brand:var(--color-text-secondary_on-brand);--text-color-tertiary_on-brand:var(--color-text-tertiary_on-brand);--text-color-quaternary_on-brand:var(--color-text-quaternary_on-brand);--text-color-brand-tertiary_alt:var(--color-text-brand-tertiary_alt);--text-color-brand-secondary_hover:var(--color-text-brand-secondary_hover);--border-color-brand:var(--color-border-brand);--border-color-brand_alt:var(--color-border-brand_alt);--border-color-brand-solid:var(--color-bg-brand-solid);--border-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--ring-color-brand:var(--color-border-brand);--ring-color-brand_alt:var(--color-border-brand_alt);--ring-color-brand-solid:var(--color-bg-brand-solid);--ring-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--outline-color-brand:var(--color-border-brand);--outline-color-brand_alt:var(--color-border-brand_alt);--outline-color-brand-solid:var(--color-bg-brand-solid);--outline-color-brand-solid_hover:var(--color-bg-brand-solid_hover);--info:var(--color-fg-brand-primary);--ichm-glow-color:var(--accent)}[data-ichava-root],[data-ichava-portal]{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@scope([data-ichava-theme]){input,select,button{font-family:inherit}button{white-space:nowrap}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent)}}@supports (color:color-mix(in lab, red, red)){@scope([data-ichava-theme]){a:hover{color:color-mix(in oklab, var(--accent) 78%, var(--fg))}}}}@layer components;@layer utilities{.\@container{container-type:inline-size}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-\[13px\]{width:13px;height:13px}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-full{height:100%}.min-h-dvh{min-height:100dvh}.min-h-screen{min-height:100vh}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab, red, red)){.border-green-500\/30{border-color:color-mix(in oklab, var(--color-green-500) 30%, transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.border-red-500\/30{border-color:color-mix(in oklab, var(--color-red-500) 30%, transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab, red, red)){.border-red-500\/40{border-color:color-mix(in oklab, var(--color-red-500) 40%, transparent)}}.bg-\[\#ece8de\]{background-color:#ece8de}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/10{background-color:color-mix(in oklab, var(--color-green-500) 10%, transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-1{padding-top:var(--spacing)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-\[\#1f1c17\]{color:#1f1c17}.text-green-400{color:var(--color-green-400)}.text-red-400{color:var(--color-red-400)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out);animation-timing-function:cubic-bezier(.4,0,.2,1)}.running{animation-play-state:running}@media (hover:hover){.hover\:underline:hover{text-decoration-line:underline}}.disabled\:opacity-50:disabled{opacity:.5}@media (width>=40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.md\:grid-cols-\[280px_1fr\]{grid-template-columns:280px 1fr}}@media (width>=64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.dark\:bg-\[\#14120e\]:where(.dark-mode,.dark-mode *){background-color:#14120e}@media (prefers-color-scheme:dark){.dark\:bg-\[\#14120e\]{background-color:#14120e}}.dark\:text-\[\#f6f4ee\]:where(.dark-mode,.dark-mode *){color:#f6f4ee}@media (prefers-color-scheme:dark){.dark\:text-\[\#f6f4ee\]{color:#f6f4ee}}@scope([data-ichava-theme]){.\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.inset-y-0\.5{inset-block:calc(var(--spacing) * .5)}.start-4{inset-inline-start:calc(var(--spacing) * 4)}.-end-\[5px\]{inset-inline-end:-5px}.end-0{inset-inline-end:calc(var(--spacing) * 0)}.end-1{inset-inline-end:calc(var(--spacing) * 1)}.end-2{inset-inline-end:calc(var(--spacing) * 2)}.end-2\.5{inset-inline-end:calc(var(--spacing) * 2.5)}.end-3{inset-inline-end:calc(var(--spacing) * 3)}.end-4{inset-inline-end:calc(var(--spacing) * 4)}.end-\[1\.5px\]{inset-inline-end:1.5px}.end-\[1px\]{inset-inline-end:1px}.-top-2{top:calc(var(--spacing) * -2)}.-top-\[5px\]{top:-5px}.top-0{top:0}.top-0\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-3{top:calc(var(--spacing) * 3)}.top-\[1px\]{top:1px}.top-\[2px\]{top:2px}.-right-px{right:-1px}.right-0{right:0}.right-0\.5{right:calc(var(--spacing) * .5)}.right-3{right:calc(var(--spacing) * 3)}.right-3\.5{right:calc(var(--spacing) * 3.5)}.-bottom-px{bottom:-1px}.bottom-0{bottom:0}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\[3px\]{bottom:3px}.left-0{left:0}.left-1\/2{left:50%}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.left-3\.5{left:calc(var(--spacing) * 3.5)}.isolate{isolation:isolate}.z-\(--z-overlay\){z-index:var(--z-overlay)}.z-\(--z-popover\){z-index:var(--z-popover)}.z-\(--z-tooltip\){z-index:var(--z-tooltip)}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}.z-10{z-index:10}.z-50{z-index:50}.z-55{z-index:55}.z-70{z-index:70}.z-88{z-index:88}.z-\[var\(--z-toast\)\]{z-index:var(--z-toast)}.container{width:100%}@media (width>=320px){.container{max-width:320px}}@media (width>=600px){.container{max-width:600px}}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-m-1{margin:calc(var(--spacing) * -1)}.m-0{margin:0}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.-mx-\[10px\]{margin-inline:-10px}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-1{margin-inline:var(--spacing)}.mx-1\.5{margin-inline:calc(var(--spacing) * 1.5)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-auto{margin-inline:auto}.-my-px{margin-block:-1px}.my-0{margin-block:0}.my-1{margin-block:var(--spacing)}.ms-1{margin-inline-start:var(--spacing)}.ms-auto{margin-inline-start:auto}.me-1{margin-inline-end:var(--spacing)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.-mt-2{margin-top:calc(var(--spacing) * -2)}.mt-0{margin-top:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-\[8vh\]{margin-top:8vh}.mt-\[10\%\]{margin-top:10%}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.-mb-3{margin-bottom:calc(var(--spacing) * -3)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.-ml-0\.75{margin-left:calc(var(--spacing) * -.75)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[1_\/_0\.9\]{aspect-ratio:1/.9}.aspect-square{aspect-ratio:1}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-4\.5{width:calc(var(--spacing) * 4.5);height:calc(var(--spacing) * 4.5)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-\[13px\]{width:13px;height:13px}.size-full{width:100%;height:100%}.size-max{width:max-content;height:max-content}.h-0{height:0}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-14{height:calc(var(--spacing) * 14)}.h-32{height:calc(var(--spacing) * 32)}.h-56{height:calc(var(--spacing) * 56)}.h-\[1px\]{height:1px}.h-\[3px\]{height:3px}.h-\[9px\]{height:9px}.h-\[10px\]{height:10px}.h-\[15px\]{height:15px}.h-\[17px\]{height:17px}.h-\[18px\]{height:18px}.h-\[20\%\]{height:20%}.h-\[22px\]{height:22px}.h-\[24px\]{height:24px}.h-\[26px\]{height:26px}.h-\[30px\]{height:30px}.h-\[38px\]{height:38px}.h-\[42px\]{height:42px}.h-\[44px\]{height:44px}.h-\[46px\]{height:46px}.h-full{height:100%}.h-max{height:max-content}.h-min{height:min-content}.h-px{height:1px}.max-h-56\!{max-height:calc(var(--spacing) * 56)!important}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-64\!{max-height:calc(var(--spacing) * 64)!important}.max-h-80\!{max-height:calc(var(--spacing) * 80)!important}.max-h-106{max-height:calc(var(--spacing) * 106)}.max-h-\[72vh\]{max-height:72vh}.max-h-\[340px\]{max-height:340px}.max-h-\[calc\(var\(--visual-viewport-height\)-var\(--modal-pt\)-var\(--modal-pb\)\)\]{max-height:calc(var(--visual-viewport-height) - var(--modal-pt) - var(--modal-pb))}.max-h-\[inherit\]{max-height:inherit}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-\[34px\]{min-height:34px}.min-h-dvh{min-height:100dvh}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-2\/5{width:40%}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-20{width:calc(var(--spacing) * 20)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-40{width:calc(var(--spacing) * 40)}.w-62{width:calc(var(--spacing) * 62)}.w-80{width:calc(var(--spacing) * 80)}.w-160{width:calc(var(--spacing) * 160)}.w-\[1px\]{width:1px}.w-\[10px\]{width:10px}.w-\[12px\]{width:12px}.w-\[15px\]{width:15px}.w-\[17px\]{width:17px}.w-\[18px\]{width:18px}.w-\[22px\]{width:22px}.w-\[26px\]{width:26px}.w-\[30px\]{width:30px}.w-\[38px\]{width:38px}.w-\[46px\]{width:46px}.w-\[60\%\]{width:60%}.w-\[88px\]{width:88px}.w-\[104px\]{width:104px}.w-\[280px\]{width:280px}.w-\[360px\]{width:360px}.w-\[560px\]{width:560px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[40ch\]{max-width:40ch}.max-w-\[44ch\]{max-width:44ch}.max-w-\[90\%\]{max-width:90%}.max-w-\[94vw\]{max-width:94vw}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[280px\]{max-width:280px}.max-w-\[360px\]{max-width:360px}.max-w-\[calc\(100vw-16px\)\]{max-width:calc(100vw - 16px)}.max-w-\[calc\(100vw-32px\)\],.max-w-\[calc\(100vw_-_32px\)\]{max-width:calc(100vw - 32px)}.max-w-\[min\(24rem\,calc\(100vw-16px\)\)\]{max-width:min(24rem,100vw - 16px)}.max-w-full{max-width:100%}.max-w-xs{max-width:var(--container-xs)}.min-w-\(--trigger-width\){min-width:var(--trigger-width)}.min-w-0{min-width:0}.min-w-2{min-width:calc(var(--spacing) * 2)}.min-w-3\.5{min-width:calc(var(--spacing) * 3.5)}.min-w-4{min-width:calc(var(--spacing) * 4)}.min-w-6{min-width:calc(var(--spacing) * 6)}.min-w-7{min-width:calc(var(--spacing) * 7)}.min-w-12{min-width:calc(var(--spacing) * 12)}.min-w-20{min-width:calc(var(--spacing) * 20)}.min-w-36{min-width:calc(var(--spacing) * 36)}.min-w-\[100px\]{min-width:100px}.min-w-\[120px\]{min-width:120px}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-\(--trigger-anchor-point\){transform-origin:var(--trigger-anchor-point)}.origin-center{transform-origin:50%}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-5{--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-full{--tw-translate-y:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.\[animation\:ichIn_\.14s_ease\]{animation:.14s ichIn}.\[animation\:ichRise_\.2s_ease\]{animation:.2s ichRise}.\[animation\:ichTaskSlide_1\.1s_ease-in-out_infinite\]{animation:1.1s ease-in-out infinite ichTaskSlide}.\[animation\:…\]{animation:…}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pan-y{--tw-pan-y:pan-y;touch-action:var(--tw-pan-x, ) var(--tw-pan-y, ) var(--tw-pinch-zoom, )}.touch-none{touch-action:none}.resize{resize:both}.scroll-py-10{scroll-padding-block:calc(var(--spacing) * 10)}.scroll-pb-22{scroll-padding-bottom:calc(var(--spacing) * 22)}.\[scrollbar-gutter\:stable\]{scrollbar-gutter:stable}.list-none{list-style-type:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[max-content_1fr\]{grid-template-columns:max-content 1fr}.grid-cols-\[repeat\(auto-fill\,minmax\(84px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-normal{justify-content:normal}.justify-start{justify-content:flex-start}.gap-0{gap:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-\[1px\]{gap:1px}.gap-\[3px\]{gap:3px}.gap-\[5px\]{gap:5px}.gap-\[7px\]{gap:7px}.gap-\[9px\]{gap:9px}.gap-\[10px\]{gap:10px}.gap-\[11px\]{gap:11px}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-1{-moz-column-gap:var(--spacing);column-gap:var(--spacing)}.gap-x-1\.5{-moz-column-gap:calc(var(--spacing) * 1.5);column-gap:calc(var(--spacing) * 1.5)}.gap-x-2{-moz-column-gap:calc(var(--spacing) * 2);column-gap:calc(var(--spacing) * 2)}.gap-x-3{-moz-column-gap:calc(var(--spacing) * 3);column-gap:calc(var(--spacing) * 3)}.gap-x-4{-moz-column-gap:calc(var(--spacing) * 4);column-gap:calc(var(--spacing) * 4)}:where(.-space-x-0>:not(:last-child)){--tw-space-x-reverse:0;margin-inline:0}:where(.-space-x-px>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(-1px * var(--tw-space-x-reverse));margin-inline-end:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:var(--spacing)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[3px\]{border-radius:3px}.rounded-\[4px\]{border-radius:4px}.rounded-\[5px\]{border-radius:5px}.rounded-\[6px\]{border-radius:6px}.rounded-\[7px\]{border-radius:7px}.rounded-\[8px\]{border-radius:8px}.rounded-\[9px\]{border-radius:9px}.rounded-\[10px\]{border-radius:10px}.rounded-\[12px\]{border-radius:12px}.rounded-\[14px\]{border-radius:14px}.rounded-\[calc\(var\(--radius\)_-_2px\)\]{border-radius:calc(var(--radius) - 2px)}.rounded-\[calc\(var\(--radius\)_-_3px\)\]{border-radius:calc(var(--radius) - 3px)}.rounded-\[var\(--radius\)\]{border-radius:var(--radius)}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:var(--radius-none)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-r-\[inherit\]{border-top-right-radius:inherit;border-bottom-right-radius:inherit}.rounded-bl-\[5px\]{border-bottom-left-radius:5px}.rounded-bl-\[6px\]{border-bottom-left-radius:6px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\[color-mix\(in_oklab\,var\(--accent\)_45\%\,transparent\)\]{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.border-\[color-mix\(in_oklab\,var\(--accent\)_45\%\,transparent\)\]{border-color:color-mix(in oklab,var(--accent) 45%,transparent)}}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--console-border\)\]{border-color:var(--console-border)}.border-border-secondary{border-color:var(--color-border-secondary)}.border-fg-brand-primary_alt{border-color:var(--color-fg-brand-primary_alt)}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab, red, red)){.border-green-500\/30{border-color:color-mix(in oklab, var(--color-green-500) 30%, transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.border-red-500\/30{border-color:color-mix(in oklab, var(--color-red-500) 30%, transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab, red, red)){.border-red-500\/40{border-color:color-mix(in oklab, var(--color-red-500) 40%, transparent)}}.border-secondary{border-color:var(--border-color-secondary)}.border-toggle-border{border-color:var(--color-toggle-border)}.border-toggle-slim-border_pressed{border-color:var(--color-toggle-slim-border_pressed)}.border-toggle-slim-border_pressed-hover{border-color:var(--color-toggle-slim-border_pressed-hover)}.border-transparent{border-color:#0000}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.border-t-\[var\(--border\)\]{border-top-color:var(--border)}.border-b-\[var\(--border\)\]{border-bottom-color:var(--border)}.border-b-\[var\(--console-border\)\]{border-bottom-color:var(--console-border)}.bg-\[\#ece8de\]{background-color:#ece8de}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--accent-soft\)\]{background-color:var(--accent-soft)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--card\)\]{background-color:var(--card)}.bg-\[var\(--console-bg\)\]{background-color:var(--console-bg)}.bg-\[var\(--console-chrome\)\]{background-color:var(--console-chrome)}.bg-\[var\(--danger\)\]{background-color:var(--danger)}.bg-\[var\(--faint-fg\)\]{background-color:var(--faint-fg)}.bg-\[var\(--muted\)\]{background-color:var(--muted)}.bg-\[var\(--muted2\)\]{background-color:var(--muted2)}.bg-\[var\(--pop\)\]{background-color:var(--pop)}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.bg-alpha-white\/80{background-color:#fffc}@supports (color:color-mix(in lab, red, red)){.bg-alpha-white\/80{background-color:color-mix(in oklab, var(--color-alpha-white) 80%, transparent)}}.bg-border-secondary{background-color:var(--color-border-secondary)}.bg-brand-primary_alt{background-color:var(--background-color-brand-primary_alt)}.bg-brand-secondary{background-color:var(--background-color-brand-secondary)}.bg-brand-solid{background-color:var(--background-color-brand-solid)}.bg-brand-solid_hover{background-color:var(--background-color-brand-solid_hover)}.bg-error-secondary{background-color:var(--background-color-error-secondary)}.bg-error-solid{background-color:var(--background-color-error-solid)}.bg-fg-brand-primary_alt{background-color:var(--color-fg-brand-primary_alt)}.bg-fg-error-primary{background-color:var(--color-fg-error-primary)}.bg-fg-success-secondary{background-color:var(--color-fg-success-secondary)}.bg-fg-white{background-color:var(--color-fg-white)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/10{background-color:color-mix(in oklab, var(--color-green-500) 10%, transparent)}}.bg-overlay\/70{background-color:#14120eb3}@supports (color:color-mix(in lab, red, red)){.bg-overlay\/70{background-color:color-mix(in oklab, var(--background-color-overlay) 70%, transparent)}}.bg-primary{background-color:var(--background-color-primary)}.bg-primary-solid{background-color:var(--background-color-primary-solid)}.bg-primary_alt{background-color:var(--background-color-primary_alt)}.bg-primary_hover{background-color:var(--background-color-primary_hover)}.bg-quaternary{background-color:var(--background-color-quaternary)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-secondary{background-color:var(--background-color-secondary)}.bg-secondary-solid{background-color:var(--background-color-secondary-solid)}.bg-secondary_alt{background-color:var(--background-color-secondary_alt)}.bg-secondary_hover{background-color:var(--background-color-secondary_hover)}.bg-slider-handle-bg{background-color:var(--color-slider-handle-bg)}.bg-success-secondary{background-color:var(--background-color-success-secondary)}.bg-success-solid{background-color:var(--background-color-success-solid)}.bg-tertiary{background-color:var(--background-color-tertiary)}.bg-transparent{background-color:#0000}.bg-utility-blue-50{background-color:var(--color-utility-blue-50)}.bg-utility-brand-50{background-color:var(--color-utility-brand-50)}.bg-utility-green-50{background-color:var(--color-utility-green-50)}.bg-utility-indigo-50{background-color:var(--color-utility-indigo-50)}.bg-utility-neutral-50{background-color:var(--color-utility-neutral-50)}.bg-utility-neutral-300{background-color:var(--color-utility-neutral-300)}.bg-utility-orange-50{background-color:var(--color-utility-orange-50)}.bg-utility-pink-50{background-color:var(--color-utility-pink-50)}.bg-utility-purple-50{background-color:var(--color-utility-purple-50)}.bg-utility-red-50{background-color:var(--color-utility-red-50)}.bg-utility-sky-50{background-color:var(--color-utility-sky-50)}.bg-utility-slate-50{background-color:var(--color-utility-slate-50)}.bg-utility-yellow-50{background-color:var(--color-utility-yellow-50)}.bg-warning-secondary{background-color:var(--background-color-warning-secondary)}.bg-warning-solid{background-color:var(--background-color-warning-solid)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[linear-gradient\(155deg\,color-mix\(in_srgb\,var\(--accent\)_60\%\,\#fff\)\,var\(--accent\)_72\%\)\]{background-image:linear-gradient(155deg,var(--accent),var(--accent) 72%)}@supports (color:color-mix(in lab, red, red)){.bg-\[linear-gradient\(155deg\,color-mix\(in_srgb\,var\(--accent\)_60\%\,\#fff\)\,var\(--accent\)_72\%\)\]{background-image:linear-gradient(155deg,color-mix(in srgb,var(--accent) 60%,#fff),var(--accent) 72%)}}.bg-none{background-image:none}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-bg-primary{--tw-gradient-to:var(--color-bg-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-40\%{--tw-gradient-to-position:40%}.fill-bg-primary-solid{fill:var(--color-bg-primary-solid)}.fill-current{fill:currentColor}.stroke-current{stroke:currentColor}.stroke-\[2\.25px\]{stroke-width:2.25px}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\!{padding:0!important}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.p-\[1\.5px\]{padding:1.5px}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-0{padding-inline:0}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-4\.5{padding-inline:calc(var(--spacing) * 4.5)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-\[3px\]{padding-inline:3px}.px-\[5px\]{padding-inline:5px}.px-\[7px\]{padding-inline:7px}.px-\[9px\]{padding-inline:9px}.px-\[10px\]{padding-inline:10px}.py-0{padding-block:0}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-\[1px\]{padding-block:1px}.py-\[5px\]{padding-block:5px}.py-\[9px\]{padding-block:9px}.py-\[18px\]{padding-block:18px}.py-px{padding-block:1px}.ps-2{padding-inline-start:calc(var(--spacing) * 2)}.pe-7{padding-inline-end:calc(var(--spacing) * 7)}.pe-8{padding-inline-end:calc(var(--spacing) * 8)}.pe-11{padding-inline-end:calc(var(--spacing) * 11)}.pt-\(--modal-pt\){padding-top:var(--modal-pt)}.pt-0{padding-top:0}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-\[10px\]{padding-top:10px}.pt-\[26px\]{padding-top:26px}.pr-1{padding-right:var(--spacing)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-3\.5{padding-right:calc(var(--spacing) * 3.5)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pr-9\.5{padding-right:calc(var(--spacing) * 9.5)}.pb-\(--modal-pb\){padding-bottom:var(--modal-pb)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-13{padding-bottom:calc(var(--spacing) * 13)}.pb-\[18px\]{padding-bottom:18px}.pl-1{padding-left:var(--spacing)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.pl-4\.5{padding-left:calc(var(--spacing) * 4.5)}.pl-7{padding-left:calc(var(--spacing) * 7)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.pl-10{padding-left:calc(var(--spacing) * 10)}.pl-10\.5{padding-left:calc(var(--spacing) * 10.5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.align-middle{vertical-align:middle}.font-\[family-name\:\'Geist\'\,system-ui\]{font-family:Geist,system-ui}.font-\[family-name\:\'Geist_Mono\'\,monospace\]{font-family:Geist Mono,monospace}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-\[13px\]\/5{font-size:13px;line-height:calc(var(--spacing) * 5)}.text-display-xs{font-size:var(--text-display-xs);line-height:var(--tw-leading,var(--text-display-xs--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-md{font-size:var(--text-md);line-height:var(--tw-leading,var(--text-md--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9\.5px\]{font-size:9.5px}.text-\[9px\]{font-size:9px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-\[length\:var\(--app-font\,13\.5px\)\]{font-size:var(--app-font,13.5px)}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.7\]{--tw-leading:1.7;line-height:1.7}.leading-\[1\.45\]{--tw-leading:1.45;line-height:1.45}.leading-\[1\.55\]{--tw-leading:1.55;line-height:1.55}.leading-\[13px\]{--tw-leading:13px;line-height:13px}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.font-\[500\]{--tw-font-weight:500;font-weight:500}.font-\[550\]{--tw-font-weight:550;font-weight:550}.font-\[600\]{--tw-font-weight:600;font-weight:600}.font-\[700\]{--tw-font-weight:700;font-weight:700}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.04em\]{--tw-tracking:.04em;letter-spacing:.04em}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.\[word-break\:break-word\]{word-break:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#1f1c17\]{color:#1f1c17}.text-\[\#fff\]{color:#fff}.text-\[var\(--accent-fg\)\]{color:var(--accent-fg)}.text-\[var\(--accent-text\)\]{color:var(--accent-text)}.text-\[var\(--bg\)\]{color:var(--bg)}.text-\[var\(--color-text-brand-secondary\)\]{color:var(--color-text-brand-secondary)}.text-\[var\(--console-comment\)\]{color:var(--console-comment)}.text-\[var\(--console-fg\)\]{color:var(--console-fg)}.text-\[var\(--console-gutter\)\]{color:var(--console-gutter)}.text-\[var\(--danger\)\]{color:var(--danger)}.text-\[var\(--faint-fg\)\]{color:var(--faint-fg)}.text-\[var\(--fg\)\]{color:var(--fg)}.text-\[var\(--muted-fg\)\]{color:var(--muted-fg)}.text-brand-primary{color:var(--text-color-brand-primary)}.text-brand-secondary{color:var(--text-color-brand-secondary)}.text-brand-tertiary{color:var(--text-color-brand-tertiary)}.text-current{color:currentColor}.text-error-primary{color:var(--text-color-error-primary)}.text-featured-icon-light-fg-brand{color:var(--color-featured-icon-light-fg-brand)}.text-featured-icon-light-fg-error{color:var(--color-featured-icon-light-fg-error)}.text-featured-icon-light-fg-gray{color:var(--color-featured-icon-light-fg-gray)}.text-featured-icon-light-fg-success{color:var(--color-featured-icon-light-fg-success)}.text-featured-icon-light-fg-warning{color:var(--color-featured-icon-light-fg-warning)}.text-fg-brand-primary{color:var(--color-fg-brand-primary)}.text-fg-brand-primary_alt{color:var(--color-fg-brand-primary_alt)}.text-fg-error-primary{color:var(--color-fg-error-primary)}.text-fg-error-secondary{color:var(--color-fg-error-secondary)}.text-fg-quaternary{color:var(--color-fg-quaternary)}.text-fg-quaternary_hover{color:var(--color-fg-quaternary_hover)}.text-fg-secondary{color:var(--color-fg-secondary)}.text-fg-success-primary{color:var(--color-fg-success-primary)}.text-fg-success-secondary{color:var(--color-fg-success-secondary)}.text-fg-tertiary{color:var(--color-fg-tertiary)}.text-fg-warning-primary{color:var(--color-fg-warning-primary)}.text-fg-white{color:var(--color-fg-white)}.text-green-400{color:var(--color-green-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-placeholder{color:var(--text-color-placeholder)}.text-primary{color:var(--text-color-primary)}.text-quaternary{color:var(--text-color-quaternary)}.text-red-400{color:var(--color-red-400)}.text-secondary{color:var(--text-color-secondary)}.text-secondary_hover{color:var(--text-color-secondary_hover)}.text-tertiary{color:var(--text-color-tertiary)}.text-tooltip-supporting-text{color:var(--text-color-tooltip-supporting-text)}.text-transparent{color:#0000}.text-utility-blue-400{color:var(--color-utility-blue-400)}.text-utility-blue-500{color:var(--color-utility-blue-500)}.text-utility-blue-700{color:var(--color-utility-blue-700)}.text-utility-brand-400{color:var(--color-utility-brand-400)}.text-utility-brand-500{color:var(--color-utility-brand-500)}.text-utility-brand-700{color:var(--color-utility-brand-700)}.text-utility-green-400{color:var(--color-utility-green-400)}.text-utility-green-500{color:var(--color-utility-green-500)}.text-utility-green-700{color:var(--color-utility-green-700)}.text-utility-indigo-400{color:var(--color-utility-indigo-400)}.text-utility-indigo-500{color:var(--color-utility-indigo-500)}.text-utility-indigo-700{color:var(--color-utility-indigo-700)}.text-utility-neutral-400{color:var(--color-utility-neutral-400)}.text-utility-neutral-500{color:var(--color-utility-neutral-500)}.text-utility-neutral-700{color:var(--color-utility-neutral-700)}.text-utility-orange-400{color:var(--color-utility-orange-400)}.text-utility-orange-500{color:var(--color-utility-orange-500)}.text-utility-orange-700{color:var(--color-utility-orange-700)}.text-utility-pink-400{color:var(--color-utility-pink-400)}.text-utility-pink-500{color:var(--color-utility-pink-500)}.text-utility-pink-700{color:var(--color-utility-pink-700)}.text-utility-purple-400{color:var(--color-utility-purple-400)}.text-utility-purple-500{color:var(--color-utility-purple-500)}.text-utility-purple-700{color:var(--color-utility-purple-700)}.text-utility-red-400{color:var(--color-utility-red-400)}.text-utility-red-500{color:var(--color-utility-red-500)}.text-utility-red-700{color:var(--color-utility-red-700)}.text-utility-sky-400{color:var(--color-utility-sky-400)}.text-utility-sky-500{color:var(--color-utility-sky-500)}.text-utility-sky-700{color:var(--color-utility-sky-700)}.text-utility-slate-400{color:var(--color-utility-slate-400)}.text-utility-slate-500{color:var(--color-utility-slate-500)}.text-utility-slate-700{color:var(--color-utility-slate-700)}.text-utility-yellow-400{color:var(--color-utility-yellow-400)}.text-utility-yellow-500{color:var(--color-utility-yellow-500)}.text-utility-yellow-700{color:var(--color-utility-yellow-700)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.caret-alpha-black\/90{caret-color:#000000e6}@supports (color:color-mix(in lab, red, red)){.caret-alpha-black\/90{caret-color:color-mix(in oklab, var(--color-alpha-black) 90%, transparent)}}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_6px_16px_-6px_var\(--accent-soft\)\]{--tw-shadow:0 6px 16px -6px var(--tw-shadow-color,var(--accent-soft));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--shadow\)\]{--tw-shadow:var(--shadow);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--shadow-elevated\)\]{--tw-shadow:var(--shadow-elevated);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0px 1px 2px var(--tw-shadow-color,#12110f0f), 0px 12px 32px -12px var(--tw-shadow-color,#12110f3d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0px 1px 2px var(--tw-shadow-color,#12110f0f), 0px 8px 20px -10px var(--tw-shadow-color,#12110f2e);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-skeuomorphic{--tw-shadow:0px 0px 0px 0px var(--tw-shadow-color,transparent);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0px 1px 2px var(--tw-shadow-color,#12110f0f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0px 1px 2px var(--tw-shadow-color,#12110f14), 0px 20px 48px -16px var(--tw-shadow-color,#12110f4d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0px 1px 0px var(--tw-shadow-color,#12110f0a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs-skeuomorphic{--tw-shadow:var(--shadow-xs);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-\[0\.5px\]{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(.5px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-\[1\.5px\]{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1.5px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-\[var\(--border\)\]{--tw-ring-color:var(--border)}.ring-bg-primary{--tw-ring-color:var(--color-bg-primary)}.ring-brand{--tw-ring-color:var(--ring-color-brand)}.ring-brand-solid{--tw-ring-color:var(--ring-color-brand-solid)}.ring-error{--tw-ring-color:var(--ring-color-error)}.ring-error_subtle{--tw-ring-color:var(--ring-color-error_subtle)}.ring-focus-ring{--tw-ring-color:var(--color-focus-ring)}.ring-primary{--tw-ring-color:var(--ring-color-primary)}.ring-secondary{--tw-ring-color:var(--ring-color-secondary)}.ring-secondary_alt{--tw-ring-color:var(--ring-color-secondary_alt)}.ring-slider-handle-border{--tw-ring-color:var(--color-slider-handle-border)}.ring-transparent{--tw-ring-color:transparent}.ring-utility-blue-200{--tw-ring-color:var(--color-utility-blue-200)}.ring-utility-brand-200{--tw-ring-color:var(--color-utility-brand-200)}.ring-utility-green-200{--tw-ring-color:var(--color-utility-green-200)}.ring-utility-indigo-200{--tw-ring-color:var(--color-utility-indigo-200)}.ring-utility-neutral-200{--tw-ring-color:var(--color-utility-neutral-200)}.ring-utility-orange-200{--tw-ring-color:var(--color-utility-orange-200)}.ring-utility-pink-200{--tw-ring-color:var(--color-utility-pink-200)}.ring-utility-purple-200{--tw-ring-color:var(--color-utility-purple-200)}.ring-utility-red-200{--tw-ring-color:var(--color-utility-red-200)}.ring-utility-sky-200{--tw-ring-color:var(--color-utility-sky-200)}.ring-utility-slate-200{--tw-ring-color:var(--color-utility-slate-200)}.ring-utility-yellow-200{--tw-ring-color:var(--color-utility-yellow-200)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline-hidden\!{--tw-outline-style:none!important;outline-style:none!important}@media (forced-colors:active){.outline-hidden\!{outline-offset:2px!important;outline:2px solid #0000!important}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.outline-\[0\.5px\]{outline-style:var(--tw-outline-style);outline-width:.5px}.-outline-offset-2{outline-offset:calc(2px * -1)}.-outline-offset-\[0\.5px\]{outline-offset:calc(.5px * -1)}.outline-offset-2{outline-offset:2px}.outline-black\/16{outline-color:#00000029}@supports (color:color-mix(in lab, red, red)){.outline-black\/16{outline-color:color-mix(in oklab, var(--color-black) 16%, transparent)}}.outline-brand{outline-color:var(--outline-color-brand)}.outline-error{outline-color:var(--outline-color-error)}.outline-focus-ring{outline-color:var(--color-focus-ring)}.outline-transparent{outline-color:#0000}.blur{--tw-blur:blur(8px);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.invert{--tw-invert:invert(100%);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );backdrop-filter:var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, )}.\[backdrop-filter\:…\]{-webkit-backdrop-filter:…;backdrop-filter:…}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[inherit\]{transition-property:inherit;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[translate\]{transition-property:translate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-inherit-all{transition-property:inherit;transition-duration:inherit;transition-timing-function:inherit}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-transform{will-change:transform}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.animate-out{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--modal-pb\:clamp\(16px\,8vh\,64px\)\]{--modal-pb:clamp(16px, 8vh, 64px)}.\[--modal-pt\:16px\]{--modal-pt:16px}.duration-100{animation-duration:.1s}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in{animation-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.fade-in{--tw-enter-opacity:0}.fade-out{--tw-exit-opacity:0}.paused{animation-play-state:paused}.ring-inset{--tw-ring-inset:inset}.running{animation-play-state:running}.zoom-in{--tw-enter-scale:0}.zoom-in-95{--tw-enter-scale:.95}.zoom-out{--tw-exit-scale:0}.zoom-out-95{--tw-exit-scale:.95}:is(.\*\:grow>*){flex-grow:1}.not-last\:pr-1:not(:last-child){padding-right:var(--spacing)}.not-last\:pr-2:not(:last-child){padding-right:calc(var(--spacing) * 2)}.not-last\:pr-\[calc\(calc\(var\(--spacing\)\*3\.5\)\+1px\)\]:not(:last-child){padding-right:calc(calc(var(--spacing) * 3.5) + 1px)}.not-last\:pr-\[calc\(calc\(var\(--spacing\)\*4\)\+1px\)\]:not(:last-child){padding-right:calc(calc(var(--spacing) * 4) + 1px)}.not-last\:pr-\[calc\(calc\(var\(--spacing\)\*4\.5\)\+1px\)\]:not(:last-child){padding-right:calc(calc(var(--spacing) * 4.5) + 1px)}:is(:where(.group):is(:where([data-rac])[data-required],:where(:not([data-rac])):required) .group-required\:block){display:block}:is(:where(.group):is(:where([data-rac])[data-invalid],:where(:not([data-rac])):invalid) .group-invalid\:text-error-primary){color:var(--text-color-error-primary)}:is(:where(.group):is(:where([data-rac])[data-invalid],:where(:not([data-rac])):invalid) .group-invalid\:ring-2){--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(:where(.group):is(:where([data-rac])[data-invalid],:where(:not([data-rac])):invalid) .group-invalid\:ring-error){--tw-ring-color:var(--ring-color-error)}:is(:where(.group):is(:where([data-rac])[data-invalid],:where(:not([data-rac])):invalid) .group-invalid\:ring-error_subtle){--tw-ring-color:var(--ring-color-error_subtle)}:is(:where(.group\/input):is(:where([data-rac])[data-invalid],:where(:not([data-rac])):invalid) .group-invalid\/input\:block){display:block}:is(:where(.group\/input):is(:where([data-rac])[data-invalid],:where(:not([data-rac])):invalid) .group-invalid\/input\:hidden){display:none}@media (hover:hover){:is(:where(.group):is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover) .group-hover\:bg-primary_hover){background-color:var(--background-color-primary_hover)}:is(:where(.group\/button-group):is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover) .group-hover\/button-group\:text-fg-quaternary_hover){color:var(--color-fg-quaternary_hover)}}:is(:where(.group):is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible) .group-focus-visible\:outline-2){outline-style:var(--tw-outline-style);outline-width:2px}:is(:where(.group):is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible) .group-focus-visible\:outline-offset-2){outline-offset:2px}:is(:where(.group):is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible) .group-focus-visible\:outline-focus-ring){outline-color:var(--color-focus-ring)}:is(:where(.group):is(:where([data-rac])[data-disabled],:where(:not([data-rac])):disabled) .group-disabled\:cursor-not-allowed){cursor:not-allowed}:is(:where(.group):is(:where([data-rac])[data-disabled],:where(:not([data-rac])):disabled) .group-disabled\:opacity-50){opacity:.5}:is(:where(.group)[data-orientation=vertical] .group-orientation-vertical\:justify-start){justify-content:flex-start}:is(:where(.group\/button-group)[data-selected] .group-selected\/button-group\:text-fg-quaternary_hover){color:var(--color-fg-quaternary_hover)}.placeholder\:text-placeholder::placeholder{color:var(--text-color-placeholder)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-0:before{content:var(--tw-content);inset:0}.before\:inset-1:before{content:var(--tw-content);inset:var(--spacing)}.before\:inset-\[0\.5px\]:before{content:var(--tw-content);inset:.5px}.before\:inset-px:before{content:var(--tw-content);inset:1px}.before\:inset-x-0:before{content:var(--tw-content);inset-inline:0}.before\:-top-px:before{content:var(--tw-content);top:-1px}.before\:bottom-0:before{content:var(--tw-content);bottom:0}.before\:z-10:before{content:var(--tw-content);z-index:10}.before\:size-6:before{content:var(--tw-content);width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.before\:size-7:before{content:var(--tw-content);width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.before\:size-8:before{content:var(--tw-content);width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.before\:size-9:before{content:var(--tw-content);width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.before\:size-full:before{content:var(--tw-content);width:100%;height:100%}.before\:h-0\.5:before{content:var(--tw-content);height:calc(var(--spacing) * .5)}.before\:h-px:before{content:var(--tw-content);height:1px}.before\:rounded-\[4px\]:before{content:var(--tw-content);border-radius:4px}.before\:rounded-\[5px\]:before{content:var(--tw-content);border-radius:5px}.before\:rounded-\[6px\]:before{content:var(--tw-content);border-radius:6px}.before\:rounded-\[7px\]:before{content:var(--tw-content);border-radius:7px}.before\:rounded-\[8px\]:before{content:var(--tw-content);border-radius:8px}.before\:rounded-\[9px\]:before{content:var(--tw-content);border-radius:9px}.before\:rounded-\[10px\]:before{content:var(--tw-content);border-radius:10px}.before\:rounded-\[11px\]:before{content:var(--tw-content);border-radius:11px}.before\:rounded-\[inherit\]:before{content:var(--tw-content);border-radius:inherit}.before\:rounded-full:before{content:var(--tw-content);border-radius:var(--radius-full)}.before\:border:before{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.before\:border-2:before{content:var(--tw-content);border-style:var(--tw-border-style);border-width:2px}.before\:border-fg-brand-primary\/30:before{content:var(--tw-content);border-color:#7f56d94d}@supports (color:color-mix(in lab, red, red)){.before\:border-fg-brand-primary\/30:before{border-color:color-mix(in oklab, var(--color-fg-brand-primary) 30%, transparent)}}.before\:border-fg-error-primary\/30:before{content:var(--tw-content);border-color:#e400144d}@supports (color:color-mix(in lab, red, red)){.before\:border-fg-error-primary\/30:before{border-color:color-mix(in oklab, var(--color-fg-error-primary) 30%, transparent)}}.before\:border-fg-success-primary\/30:before{content:var(--tw-content);border-color:#00a5444d}@supports (color:color-mix(in lab, red, red)){.before\:border-fg-success-primary\/30:before{border-color:color-mix(in oklab, var(--color-fg-success-primary) 30%, transparent)}}.before\:border-fg-tertiary\/30:before{content:var(--tw-content);border-color:#5e5a524d}@supports (color:color-mix(in lab, red, red)){.before\:border-fg-tertiary\/30:before{border-color:color-mix(in oklab, var(--color-fg-tertiary) 30%, transparent)}}.before\:border-fg-warning-primary\/30:before{content:var(--tw-content);border-color:#cd89004d}@supports (color:color-mix(in lab, red, red)){.before\:border-fg-warning-primary\/30:before{border-color:color-mix(in oklab, var(--color-fg-warning-primary) 30%, transparent)}}.before\:border-utility-brand-200:before{content:var(--tw-content);border-color:var(--color-utility-brand-200)}.before\:border-utility-brand-200\/12:before{content:var(--tw-content);border-color:#e9d7fe1f}@supports (color:color-mix(in lab, red, red)){.before\:border-utility-brand-200\/12:before{border-color:color-mix(in oklab, var(--color-utility-brand-200) 12%, transparent)}}.before\:border-utility-green-200:before{content:var(--tw-content);border-color:var(--color-utility-green-200)}.before\:border-utility-green-200\/12:before{content:var(--tw-content);border-color:#b9f8cf1f}@supports (color:color-mix(in lab, red, red)){.before\:border-utility-green-200\/12:before{border-color:color-mix(in oklab, var(--color-utility-green-200) 12%, transparent)}}.before\:border-utility-neutral-200:before{content:var(--tw-content);border-color:var(--color-utility-neutral-200)}.before\:border-utility-neutral-200\/12:before{content:var(--tw-content);border-color:#ded8cb1f}@supports (color:color-mix(in lab, red, red)){.before\:border-utility-neutral-200\/12:before{border-color:color-mix(in oklab, var(--color-utility-neutral-200) 12%, transparent)}}.before\:border-utility-red-200:before{content:var(--tw-content);border-color:var(--color-utility-red-200)}.before\:border-utility-red-200\/12:before{content:var(--tw-content);border-color:#ffcaca1f}@supports (color:color-mix(in lab, red, red)){.before\:border-utility-red-200\/12:before{border-color:color-mix(in oklab, var(--color-utility-red-200) 12%, transparent)}}.before\:border-utility-yellow-200:before{content:var(--tw-content);border-color:var(--color-utility-yellow-200)}.before\:border-utility-yellow-200\/12:before{content:var(--tw-content);border-color:#fff0851f}@supports (color:color-mix(in lab, red, red)){.before\:border-utility-yellow-200\/12:before{border-color:color-mix(in oklab, var(--color-utility-yellow-200) 12%, transparent)}}.before\:border-white\/12:before{content:var(--tw-content);border-color:#ffffff1f}@supports (color:color-mix(in lab, red, red)){.before\:border-white\/12:before{border-color:color-mix(in oklab, var(--color-white) 12%, transparent)}}.before\:border-white\/32:before{content:var(--tw-content);border-color:#ffffff52}@supports (color:color-mix(in lab, red, red)){.before\:border-white\/32:before{border-color:color-mix(in oklab, var(--color-white) 32%, transparent)}}.before\:bg-border-secondary:before{content:var(--tw-content);background-color:var(--color-border-secondary)}.before\:bg-brand-solid:before{content:var(--tw-content);background-color:var(--background-color-brand-solid)}.before\:bg-utility-brand-50:before{content:var(--tw-content);background-color:var(--color-utility-brand-50)}.before\:bg-utility-green-50:before{content:var(--tw-content);background-color:var(--color-utility-green-50)}.before\:bg-utility-neutral-50:before{content:var(--tw-content);background-color:var(--color-utility-neutral-50)}.before\:bg-utility-red-50:before{content:var(--tw-content);background-color:var(--color-utility-red-50)}.before\:bg-utility-yellow-50:before{content:var(--tw-content);background-color:var(--color-utility-yellow-50)}.before\:mask-b-from-0\%:before{content:var(--tw-content);-webkit-mask-image:var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic);-webkit-mask-image:var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic);-webkit-mask-image:var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic);mask-image:var(--tw-mask-linear), var(--tw-mask-radial), var(--tw-mask-conic);--tw-mask-linear:var(--tw-mask-left), var(--tw-mask-right), var(--tw-mask-bottom), var(--tw-mask-top);--tw-mask-bottom:linear-gradient(to bottom, var(--tw-mask-bottom-from-color) var(--tw-mask-bottom-from-position), var(--tw-mask-bottom-to-color) var(--tw-mask-bottom-to-position));--tw-mask-bottom-from-position:0%;-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;mask-composite:intersect}.before\:mask-\[linear-gradient\(to_bottom\,black_0\%\,transparent_25\%\,transparent_75\%\,black_100\%\)\]:before{content:var(--tw-content);-webkit-mask-image:linear-gradient(#000 0%,#0000 25% 75%,#000 100%);mask-image:linear-gradient(#000 0%,#0000 25% 75%,#000 100%)}.before\:shadow-\[0px_1px_2px_0px_rgba\(0\,0\,0\,0\.1\)\,0px_3px_3px_0px_rgba\(0\,0\,0\,0\.09\)\,1px_8px_5px_0px_rgba\(0\,0\,0\,0\.05\)\,2px_21px_6px_0px_rgba\(0\,0\,0\,0\)\,0px_0px_0px_1px_rgba\(0\,0\,0\,0\.08\)\,1px_13px_5px_0px_rgba\(0\,0\,0\,0\.01\)\,0px_-2px_2px_0px_rgba\(0\,0\,0\,0\.13\)_inset\]:before{content:var(--tw-content);--tw-shadow:0px 1px 2px 0px var(--tw-shadow-color,#0000001a), 0px 3px 3px 0px var(--tw-shadow-color,#00000017), 1px 8px 5px 0px var(--tw-shadow-color,#0000000d), 2px 21px 6px 0px var(--tw-shadow-color,#0000), 0px 0px 0px 1px var(--tw-shadow-color,#00000014), 1px 13px 5px 0px var(--tw-shadow-color,#00000003), 0px -2px 2px 0px var(--tw-shadow-color,#00000021) inset;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.before\:ring-1:before{content:var(--tw-content);--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.before\:ring-secondary_alt:before{content:var(--tw-content);--tw-ring-color:var(--ring-color-secondary_alt)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bottom-0:after{content:var(--tw-content);bottom:0}.after\:left-0:after{content:var(--tw-content);left:0}.after\:block:after{content:var(--tw-content);display:block}.after\:size-6:after{content:var(--tw-content);width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.after\:size-7:after{content:var(--tw-content);width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.after\:size-8:after{content:var(--tw-content);width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.after\:size-8\.5:after{content:var(--tw-content);width:calc(var(--spacing) * 8.5);height:calc(var(--spacing) * 8.5)}.after\:size-9\.5:after{content:var(--tw-content);width:calc(var(--spacing) * 9.5);height:calc(var(--spacing) * 9.5)}.after\:size-10:after{content:var(--tw-content);width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.after\:size-10\.5:after{content:var(--tw-content);width:calc(var(--spacing) * 10.5);height:calc(var(--spacing) * 10.5)}.after\:size-11\.5:after{content:var(--tw-content);width:calc(var(--spacing) * 11.5);height:calc(var(--spacing) * 11.5)}.after\:h-px:after{content:var(--tw-content);height:1px}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:rounded-full:after{content:var(--tw-content);border-radius:var(--radius-full)}.after\:border-2:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:2px}.after\:border-fg-brand-primary\/10:after{content:var(--tw-content);border-color:#7f56d91a}@supports (color:color-mix(in lab, red, red)){.after\:border-fg-brand-primary\/10:after{border-color:color-mix(in oklab, var(--color-fg-brand-primary) 10%, transparent)}}.after\:border-fg-error-primary\/10:after{content:var(--tw-content);border-color:#e400141a}@supports (color:color-mix(in lab, red, red)){.after\:border-fg-error-primary\/10:after{border-color:color-mix(in oklab, var(--color-fg-error-primary) 10%, transparent)}}.after\:border-fg-success-primary\/10:after{content:var(--tw-content);border-color:#00a5441a}@supports (color:color-mix(in lab, red, red)){.after\:border-fg-success-primary\/10:after{border-color:color-mix(in oklab, var(--color-fg-success-primary) 10%, transparent)}}.after\:border-fg-tertiary\/10:after{content:var(--tw-content);border-color:#5e5a521a}@supports (color:color-mix(in lab, red, red)){.after\:border-fg-tertiary\/10:after{border-color:color-mix(in oklab, var(--color-fg-tertiary) 10%, transparent)}}.after\:border-fg-warning-primary\/10:after{content:var(--tw-content);border-color:#cd89001a}@supports (color:color-mix(in lab, red, red)){.after\:border-fg-warning-primary\/10:after{border-color:color-mix(in oklab, var(--color-fg-warning-primary) 10%, transparent)}}.after\:bg-border-secondary:after{content:var(--tw-content);background-color:var(--color-border-secondary)}.after\:bg-brand-solid:after{content:var(--tw-content);background-color:var(--background-color-brand-solid)}.after\:bg-error-solid:after{content:var(--tw-content);background-color:var(--background-color-error-solid)}.after\:bg-secondary-solid:after{content:var(--tw-content);background-color:var(--background-color-secondary-solid)}.after\:bg-success-solid:after{content:var(--tw-content);background-color:var(--background-color-success-solid)}.after\:bg-warning-solid:after{content:var(--tw-content);background-color:var(--background-color-warning-solid)}.first\:mt-0:first-child{margin-top:0}.first\:rounded-\[calc\(var\(--radius\)_-_2px\)\]:first-child{border-radius:calc(var(--radius) - 2px)}.first\:rounded-l-lg:first-child{border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.last\:rounded-\[calc\(var\(--radius\)_-_2px\)\]:last-child{border-radius:calc(var(--radius) - 2px)}.last\:rounded-r-lg:last-child{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.last\:border-transparent:last-child{border-color:#0000}.autofill\:rounded-lg:autofill{border-radius:var(--radius-lg)}.autofill\:text-primary:autofill{color:var(--text-color-primary)}@media (hover:hover){.hover\:border-\[var\(--accent\)\]:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){border-color:var(--accent)}.hover\:border-\[var\(--muted-fg\)\]:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){border-color:var(--muted-fg)}.hover\:bg-\[var\(--accent-soft\)\]:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--accent-soft)}.hover\:bg-\[var\(--muted\)\]:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--muted)}.hover\:bg-\[var\(--muted2\)\]:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--muted2)}.hover\:bg-brand-solid_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--background-color-brand-solid_hover)}.hover\:bg-error-primary:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--background-color-error-primary)}.hover\:bg-error-solid_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--background-color-error-solid_hover)}.hover\:bg-primary_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--background-color-primary_hover)}.hover\:bg-secondary_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--background-color-secondary_hover)}.hover\:bg-transparent:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:#0000}.hover\:bg-utility-blue-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-blue-100)}.hover\:bg-utility-brand-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-brand-100)}.hover\:bg-utility-green-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-green-100)}.hover\:bg-utility-indigo-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-indigo-100)}.hover\:bg-utility-neutral-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-neutral-100)}.hover\:bg-utility-orange-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-orange-100)}.hover\:bg-utility-pink-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-pink-100)}.hover\:bg-utility-purple-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-purple-100)}.hover\:bg-utility-red-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-red-100)}.hover\:bg-utility-sky-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-sky-100)}.hover\:bg-utility-slate-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-slate-100)}.hover\:bg-utility-yellow-100:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--color-utility-yellow-100)}.hover\:text-\[var\(--accent-text\)\]:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--accent-text)}.hover\:text-brand-secondary_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--text-color-brand-secondary_hover)}.hover\:text-error-primary_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--text-color-error-primary_hover)}.hover\:text-fg-quaternary_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-fg-quaternary_hover)}.hover\:text-secondary_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--text-color-secondary_hover)}.hover\:text-tertiary_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--text-color-tertiary_hover)}.hover\:text-utility-blue-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-blue-500)}.hover\:text-utility-brand-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-brand-500)}.hover\:text-utility-green-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-green-500)}.hover\:text-utility-indigo-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-indigo-500)}.hover\:text-utility-neutral-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-neutral-500)}.hover\:text-utility-orange-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-orange-500)}.hover\:text-utility-pink-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-pink-500)}.hover\:text-utility-purple-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-purple-500)}.hover\:text-utility-red-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-red-500)}.hover\:text-utility-sky-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-sky-500)}.hover\:text-utility-slate-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-slate-500)}.hover\:text-utility-yellow-500:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--color-utility-yellow-500)}.hover\:underline:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){text-decoration-line:underline}}.focus\:text-fg-quaternary_hover:is(:where([data-rac])[data-focused],:where(:not([data-rac])):focus){color:var(--color-fg-quaternary_hover)}.focus\:ring-2:is(:where([data-rac])[data-focused],:where(:not([data-rac])):focus){--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-brand:is(:where([data-rac])[data-focused],:where(:not([data-rac])):focus){--tw-ring-color:var(--ring-color-brand)}.focus\:outline-hidden:is(:where([data-rac])[data-focused],:where(:not([data-rac])):focus){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:is(:where([data-rac])[data-focused],:where(:not([data-rac])):focus){outline-offset:2px;outline:2px solid #0000}}.focus-visible\:z-10:is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible){z-index:10}.focus-visible\:bg-\[var\(--accent-soft\)\]:is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible){background-color:var(--accent-soft)}.focus-visible\:ring-2:is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible){--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[var\(--accent\)\]:is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible){--tw-ring-color:var(--accent)}.focus-visible\:ring-brand:is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible){--tw-ring-color:var(--ring-color-brand)}.focus-visible\:outline-2:is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible){outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-1:is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible){outline-offset:1px}.focus-visible\:outline-offset-2:is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible){outline-offset:2px}.focus-visible\:outline-\[var\(--accent\)\]:is(:where([data-rac])[data-focus-visible],:where(:not([data-rac])):focus-visible){outline-color:var(--accent)}.disabled\:cursor-not-allowed:is(:where([data-rac])[data-disabled],:where(:not([data-rac])):disabled){cursor:not-allowed}.disabled\:text-secondary\/50:is(:where([data-rac])[data-disabled],:where(:not([data-rac])):disabled){color:#47443e80}@supports (color:color-mix(in lab, red, red)){.disabled\:text-secondary\/50:is(:where([data-rac])[data-disabled],:where(:not([data-rac])):disabled){color:color-mix(in oklab, var(--text-color-secondary) 50%, transparent)}}.disabled\:opacity-50:is(:where([data-rac])[data-disabled],:where(:not([data-rac])):disabled),:is(.disabled\:\*\:opacity-50:is(:where([data-rac])[data-disabled],:where(:not([data-rac])):disabled)>*){opacity:.5}:where([data-input-wrapper]) .in-data-input-wrapper\:gap-1\.5{gap:calc(var(--spacing) * 1.5)}:where([data-input-wrapper]) .in-data-input-wrapper\:px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}:where([data-input-wrapper]) .in-data-input-wrapper\:px-4{padding-inline:calc(var(--spacing) * 4)}:where([data-input-wrapper]) .in-data-input-wrapper\:py-2\.5{padding-block:calc(var(--spacing) * 2.5)}:where([data-input-wrapper]) .in-data-input-wrapper\:text-md{font-size:var(--text-md);line-height:var(--tw-leading,var(--text-md--line-height))}:where([data-input-wrapper]) .in-data-input-wrapper\:shadow-xs{--tw-shadow:0px 1px 0px var(--tw-shadow-color,#12110f0a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:where([data-input-wrapper]) .in-data-input-wrapper\:focus\:\!z-50:is(:where([data-rac])[data-focused],:where(:not([data-rac])):focus){z-index:50!important}:where([data-input-wrapper]) .in-data-input-wrapper\:disabled\:opacity-100:is(:where([data-rac])[data-disabled],:where(:not([data-rac])):disabled){opacity:1}:where([data-leading]) :is(:where([data-input-wrapper]) .in-data-input-wrapper\:in-data-leading\:-mr-px){margin-right:-1px}:where([data-leading]) :is(:where([data-input-wrapper]) .in-data-input-wrapper\:in-data-leading\:rounded-r-none){border-top-right-radius:var(--radius-none);border-bottom-right-radius:var(--radius-none)}:where([data-leading]) :is(:where([data-input-wrapper]) .in-data-input-wrapper\:in-data-leading\:before\:rounded-r-none):before{content:var(--tw-content);border-top-right-radius:var(--radius-none);border-bottom-right-radius:var(--radius-none)}:where([data-trailing]) :is(:where([data-input-wrapper]) .in-data-input-wrapper\:in-data-trailing\:-ml-px){margin-left:-1px}:where([data-trailing]) :is(:where([data-input-wrapper]) .in-data-input-wrapper\:in-data-trailing\:rounded-l-none){border-top-left-radius:var(--radius-none);border-bottom-left-radius:var(--radius-none)}:where([data-trailing]) :is(:where([data-input-wrapper]) .in-data-input-wrapper\:in-data-trailing\:before\:rounded-l-none):before{content:var(--tw-content);border-top-left-radius:var(--radius-none);border-bottom-left-radius:var(--radius-none)}:where([data-input-size=sm]) .in-data-\[input-size\=sm\]\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}:where([data-placement=left]) .in-placement-left\:-rotate-90{rotate:-90deg}:where([data-placement=left]) .in-placement-left\:slide-in-from-right-0\.5{--tw-enter-translate-x:.125rem}:where([data-placement=left]) .in-placement-left\:slide-out-to-right-0\.5{--tw-exit-translate-x:.125rem}:where([data-placement=right]) .in-placement-right\:rotate-90{rotate:90deg}:where([data-placement=right]) .in-placement-right\:slide-in-from-left-0\.5{--tw-enter-translate-x:-.125rem}:where([data-placement=right]) .in-placement-right\:slide-out-to-left-0\.5{--tw-exit-translate-x:-.125rem}:where([data-placement=top]) .in-placement-top\:rotate-0{rotate:0deg}:where([data-placement=top]) .in-placement-top\:slide-in-from-bottom-0\.5{--tw-enter-translate-y:.125rem}:where([data-placement=top]) .in-placement-top\:slide-out-to-bottom-0\.5{--tw-exit-translate-y:.125rem}:where([data-placement=bottom]) .in-placement-bottom\:rotate-180{rotate:180deg}:where([data-placement=bottom]) .in-placement-bottom\:slide-in-from-top-0\.5{--tw-enter-translate-y:-.125rem}:where([data-placement=bottom]) .in-placement-bottom\:slide-out-to-top-0\.5{--tw-exit-translate-y:-.125rem}.data-focused\:bg-secondary[data-focused]{background-color:var(--background-color-secondary)}:is(.\*\:data-icon\:pointer-events-none>*)[data-icon]{pointer-events:none}:is(.\*\:data-icon\:size-4>*)[data-icon]{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}:is(.\*\:data-icon\:size-5>*)[data-icon]{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}:is(.\*\:data-icon\:size-6>*)[data-icon]{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}:is(.\*\:data-icon\:size-7>*)[data-icon]{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}:is(.\*\:data-icon\:shrink-0>*)[data-icon]{flex-shrink:0}:is(.\*\:data-icon\:stroke-\[2\.25px\]>*)[data-icon]{stroke-width:2.25px}:is(.\*\:data-icon\:text-fg-brand-secondary_alt>*)[data-icon]{color:var(--color-fg-brand-secondary_alt)}:is(.\*\:data-icon\:text-fg-brand-secondary_hover>*)[data-icon]{color:var(--color-fg-brand-secondary_hover)}:is(.\*\:data-icon\:text-fg-error-secondary>*)[data-icon]{color:var(--color-fg-error-secondary)}:is(.\*\:data-icon\:text-fg-quaternary>*)[data-icon]{color:var(--color-fg-quaternary)}:is(.\*\:data-icon\:text-fg-secondary_hover>*)[data-icon]{color:var(--color-fg-secondary_hover)}:is(.\*\:data-icon\:text-white\/60>*)[data-icon]{color:#fff9}@supports (color:color-mix(in lab, red, red)){:is(.\*\:data-icon\:text-white\/60>*)[data-icon]{color:color-mix(in oklab, var(--color-white) 60%, transparent)}}:is(.\*\:data-icon\:transition-inherit-all>*)[data-icon]{transition-property:inherit;transition-duration:inherit;transition-timing-function:inherit}@media (hover:hover){:is(.hover\:\*\:data-icon\:text-fg-brand-secondary_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover)>*)[data-icon]{color:var(--color-fg-brand-secondary_hover)}:is(.hover\:\*\:data-icon\:text-fg-error-primary:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover)>*)[data-icon]{color:var(--color-fg-error-primary)}:is(.hover\:\*\:data-icon\:text-fg-quaternary_hover:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover)>*)[data-icon]{color:var(--color-fg-quaternary_hover)}:is(.hover\:\*\:data-icon\:text-white\/70:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover)>*)[data-icon]{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){:is(.hover\:\*\:data-icon\:text-white\/70:is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover)>*)[data-icon]{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}}.data-icon-leading\:pl-3[data-icon-leading]{padding-left:calc(var(--spacing) * 3)}.data-icon-leading\:pl-3\.5[data-icon-leading]{padding-left:calc(var(--spacing) * 3.5)}.data-icon-leading\:pl-4[data-icon-leading]{padding-left:calc(var(--spacing) * 4)}.data-icon-only\:p-2[data-icon-only]{padding:calc(var(--spacing) * 2)}.data-icon-only\:p-2\.5[data-icon-only]{padding:calc(var(--spacing) * 2.5)}.data-icon-only\:p-3[data-icon-only]{padding:calc(var(--spacing) * 3)}.data-icon-only\:p-3\.5[data-icon-only]{padding:calc(var(--spacing) * 3.5)}.data-icon-only\:px-2\.5[data-icon-only]{padding-inline:calc(var(--spacing) * 2.5)}.data-icon-only\:px-3[data-icon-only]{padding-inline:calc(var(--spacing) * 3)}.data-icon-only\:px-3\.5[data-icon-only]{padding-inline:calc(var(--spacing) * 3.5)}:where([data-input-wrapper]) .in-data-input-wrapper\:data-icon-only\:p-2\.5[data-icon-only]{padding:calc(var(--spacing) * 2.5)}:where([data-input-wrapper]) .in-data-input-wrapper\:data-icon-only\:p-3[data-icon-only]{padding:calc(var(--spacing) * 3)}.data-loading\:bg-brand-solid_hover[data-loading]{background-color:var(--background-color-brand-solid_hover)}.data-loading\:bg-error-primary[data-loading]{background-color:var(--background-color-error-primary)}.data-loading\:bg-error-solid_hover[data-loading]{background-color:var(--background-color-error-solid_hover)}.data-loading\:bg-primary_hover[data-loading]{background-color:var(--background-color-primary_hover)}:is(.\*\:data-text\:underline-offset-3>*)[data-text]{text-underline-offset:3px}:is(.\*\:data-text\:underline-offset-4>*)[data-text]{text-underline-offset:4px}.data-\[pressed\]\:scale-\[\.97\][data-pressed]{scale:.97}.data-\[selected\]\:bg-brand-primary_alt[data-selected]{background-color:var(--background-color-brand-primary_alt)}.data-\[selected\]\:font-semibold[data-selected]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.data-\[selected\]\:text-brand-secondary[data-selected]{color:var(--text-color-brand-secondary)}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media not all and (width>=48rem){.max-md\:hidden{display:none}}@media not all and (width>=40rem){.max-sm\:overflow-y-auto{overflow-y:auto}}@media (width>=40rem){.sm\:mr-auto{margin-right:auto}.sm\:grid{display:grid}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:justify-center{justify-content:center}.sm\:justify-end{justify-content:flex-end}.sm\:rounded-2xl{border-radius:var(--radius-2xl)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:pt-6{padding-top:calc(var(--spacing) * 6)}.sm\:pt-8{padding-top:calc(var(--spacing) * 8)}.sm\:pb-6{padding-bottom:calc(var(--spacing) * 6)}.sm\:\[--modal-pb\:32px\]{--modal-pb:32px}.sm\:\[--modal-pt\:32px\]{--modal-pt:32px}}@media (width>=48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.md\:grid-cols-\[280px_1fr\]{grid-template-columns:280px 1fr}.md\:pt-16{padding-top:calc(var(--spacing) * 16)}}@media (width>=64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}:is(.lg\:\*\*\:data-label\:hidden *)[data-label]{display:none}}@media (width>=80rem){.xl\:pt-\[clamp\(64px\,10vh\,243px\)\]{padding-top:clamp(64px,10vh,243px)}}.dark\:bg-\[\#14120e\]:where(.dark-mode,.dark-mode *){background-color:#14120e}.dark\:text-\[\#f6f4ee\]:where(.dark-mode,.dark-mode *){color:#f6f4ee}.placement-right\:slide-in-from-left-0\.5[data-placement=right]{--tw-enter-translate-x:-.125rem}.placement-right\:slide-out-to-left-0\.5[data-placement=right]{--tw-exit-translate-x:-.125rem}.placement-top\:slide-in-from-bottom-0\.5[data-placement=top]{--tw-enter-translate-y:.125rem}.placement-top\:slide-out-to-bottom-0\.5[data-placement=top]{--tw-exit-translate-y:.125rem}.placement-bottom\:slide-in-from-top-0\.5[data-placement=bottom]{--tw-enter-translate-y:-.125rem}.placement-bottom\:slide-out-to-top-0\.5[data-placement=bottom]{--tw-exit-translate-y:-.125rem}.selected\:bg-\[var\(--accent-soft\)\][data-selected]{background-color:var(--accent-soft)}.selected\:bg-brand-primary_alt[data-selected]{background-color:var(--background-color-brand-primary_alt)}.selected\:bg-primary_hover[data-selected]{background-color:var(--background-color-primary_hover)}.selected\:font-semibold[data-selected]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.selected\:text-brand-secondary[data-selected]{color:var(--text-color-brand-secondary)}.selected\:text-secondary_hover[data-selected]{color:var(--text-color-secondary_hover)}.selected\:ring-\[var\(--accent\)\][data-selected]{--tw-ring-color:var(--accent)}@media (width>=64rem){.lg\:label\:hidden [data-label]{display:none}}.\[\&\:\:-webkit-search-cancel-button\]\:hidden::-webkit-search-cancel-button{display:none}@media (hover:hover){.\[\&\:not\(\[data-selected\]\)\]\:hover\:bg-\[var\(--muted\)\]:not([data-selected]):is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){background-color:var(--muted)}.\[\&\:not\(\[data-selected\]\)\]\:hover\:text-secondary:not([data-selected]):is(:where([data-rac])[data-hovered],:where(:not([data-rac])):hover){color:var(--text-color-secondary)}}.\[\&\>\*\:not\(\[data-icon\=loading\]\)\]\:invisible>:not([data-icon=loading]){visibility:hidden}.\[\&\>\*\:not\(\[data-icon\=loading\]\)\:not\(\[data-text\]\)\]\:hidden>:not([data-icon=loading]):not([data-text]){display:none}}}@keyframes loadingBar{0%{transform:translate(-100%)}50%{transform:translate(100%)}to{transform:translate(-100%)}}.animate-loading-bar{animation:2s ease-in-out infinite loadingBar}:root{--bg-page:#f8fafc;--bg-card:#fff;--bg-card-hover:#f1f5f9;--bg-sidebar:#fff;--bg-input:#f1f5f9;--bg-muted:#e2e8f0;--bg-accent:#8b5cf6;--bg-accent-muted:#8b5cf61a;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-accent:#8b5cf6;--text-inverse:#fff;--border-default:#e2e8f0;--border-muted:#cbd5e1;--icon-fill:#64748b;--icon-color:#8b5cf6;--scrollbar-track:#f1f5f9;--scrollbar-thumb:#cbd5e1;--scrollbar-thumb-hover:#94a3b8;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:0 0% 98%;--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--radius:.625rem;--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--bg-page:#0a0d1a;--bg-card:#151823;--bg-card-hover:#1a1d2e;--bg-sidebar:#0a0d1a;--bg-input:#151823;--bg-muted:#1e2235;--bg-accent:#8b5cf6;--bg-accent-muted:#8b5cf626;--text-primary:#e5e7eb;--text-secondary:#9ca3af;--text-muted:#6b7280;--text-accent:#a78bfa;--text-inverse:#fff;--border-default:#1e2235;--border-muted:#2d3348;--icon-fill:#6b7280;--icon-color:#8b5cf6;--scrollbar-track:#0a0d1a;--scrollbar-thumb:#1e2235;--scrollbar-thumb-hover:#2d3348;--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:0 0% 98%;--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}body{background-color:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .2s,color .2s}.theme-bg-page{background-color:var(--bg-page)}.theme-bg-card{background-color:var(--bg-card)}.theme-bg-card-hover:hover{background-color:var(--bg-card-hover)}.theme-bg-sidebar{background-color:var(--bg-sidebar)}.theme-bg-input{background-color:var(--bg-input)}.theme-bg-muted{background-color:var(--bg-muted)}.theme-bg-accent{background-color:var(--bg-accent)}.theme-bg-accent-muted{background-color:var(--bg-accent-muted)}.theme-text-primary{color:var(--text-primary)}.theme-text-secondary{color:var(--text-secondary)}.theme-text-muted{color:var(--text-muted)}.theme-text-accent{color:var(--text-accent)}.theme-link{transition:color .14s}.theme-link:hover{color:var(--text-accent)}@supports (color:color-mix(in lab, red, red)){.theme-link:hover{color:color-mix(in oklab, var(--text-accent) 72%, var(--text-primary))}}.theme-text-inverse{color:var(--text-inverse)}.theme-border{border-color:var(--border-default)}.theme-border-muted{border-color:var(--border-muted)}.theme-transition{transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.scrollbar-thin::-webkit-scrollbar{width:6px;height:6px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground)/.2);border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted-foreground)/.3)}.icon-svg svg,.icon-svg-modal svg{width:100%;height:100%}.icon-svg.icon-colored svg,.icon-svg-modal.icon-colored svg{fill:currentColor;stroke:currentColor}.icon-svg.icon-colored svg path,.icon-svg.icon-colored svg circle,.icon-svg.icon-colored svg rect,.icon-svg.icon-colored svg line,.icon-svg.icon-colored svg polyline,.icon-svg.icon-colored svg polygon,.icon-svg-modal.icon-colored svg path,.icon-svg-modal.icon-colored svg circle,.icon-svg-modal.icon-colored svg rect,.icon-svg-modal.icon-colored svg line,.icon-svg-modal.icon-colored svg polyline,.icon-svg-modal.icon-colored svg polygon{fill:inherit;stroke:inherit}.icon-svg svg[fill=none],.icon-svg-modal svg[fill=none]{fill:none}.icon-svg.icon-colored svg[fill=none] path,.icon-svg.icon-colored svg[fill=none] circle,.icon-svg.icon-colored svg[fill=none] rect,.icon-svg.icon-colored svg[fill=none] line,.icon-svg-modal.icon-colored svg[fill=none] path,.icon-svg-modal.icon-colored svg[fill=none] circle,.icon-svg-modal.icon-colored svg[fill=none] rect,.icon-svg-modal.icon-colored svg[fill=none] line{fill:none;stroke:currentColor}.animate-fade-in{animation:.3s ease-in fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter-from,.fade-leave-to{opacity:0}.slide-down-enter-active,.slide-down-leave-active{transition:all .3s}.slide-down-enter-from,.slide-down-leave-to{opacity:0;transform:translateY(-100%)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}[data-ichava-theme].dark-mode{--color-bg-overlay:#000}:where(:root,[data-ichava-theme]):not(.dark-mode){--canvas:var(--color-bg-tertiary)}.ich-shell{background:var(--canvas)}.ich-sheet{border:1px solid var(--color-border-secondary);border-radius:calc(var(--radius) * 2);background:var(--surface);box-shadow:var(--shadow-sm);margin:0 8px 8px 0;overflow:hidden}[dir=rtl] .ich-sheet{margin:0 0 8px 8px}@media (width<=860px){.ich-sheet,[dir=rtl] .ich-sheet{margin:0 6px 6px}}@font-face{font-family:Geist;src:url(../fonts/Geist-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(../fonts/GeistMono-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}[data-ichava-theme].dark-mode{--canvas:var(--color-bg-primary);--surface:var(--color-bg-secondary);--color-bg-error-solid_hover:var(--color-red-700)}@scope([data-ichava-theme]){:scope,*{box-sizing:border-box}}@media (hover:hover){@scope([data-ichava-theme]){:is(button,[role=button],[role=menuitem],[role=option],[role=tab],a):hover:not(:disabled,[aria-disabled=true]){--ich-hover-bg:var(--muted);--ich-hover-fg:var(--fg);--ich-hover-border:var(--muted-fg)}:where(button,[role=button],[role=menuitem],[role=tab],[role=radio]):where(:hover):not(:disabled,[aria-disabled=true],[data-rac]){background-image:linear-gradient(var(--fg), var(--fg))}}@supports (color:color-mix(in lab, red, red)){@scope([data-ichava-theme]){:where(button,[role=button],[role=menuitem],[role=tab],[role=radio]):where(:hover):not(:disabled,[aria-disabled=true],[data-rac]){background-image:linear-gradient(color-mix(in oklab, var(--fg) 7%, transparent), color-mix(in oklab, var(--fg) 7%, transparent))}}}}@scope([data-ichava-theme]){:where(button,[role=button],[role=tab],[role=menuitem],[role=option],[role=radio],a):not([data-rac]){transition:background-color .14s,color .14s,border-color .14s,box-shadow .16s,opacity .14s,transform .12s}:where(button,[role=button],[role=tab],[role=menuitem],[role=radio]):not(:disabled,[aria-disabled=true],[data-rac]):active{background-image:linear-gradient(var(--fg), var(--fg));transform:scale(.96)}}@supports (color:color-mix(in lab, red, red)){@scope([data-ichava-theme]){:where(button,[role=button],[role=tab],[role=menuitem],[role=radio]):not(:disabled,[aria-disabled=true],[data-rac]):active{background-image:linear-gradient(color-mix(in oklab, var(--fg) 12%, transparent), color-mix(in oklab, var(--fg) 12%, transparent))}}}@scope([data-ichava-theme]){:where(button,[role=button])[data-rac][data-pressed]:not([data-disabled]){transform:scale(.97)}:where([data-ich-tile]):active{--ich-press:.97}:where([data-ich-row]):active{transform:scale(.995)}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}input:focus:not([data-rac]),select:focus:not([data-rac]),button:focus:not([data-rac]){outline:none}input:focus-visible:not([data-rac]),select:focus-visible:not([data-rac]),button:focus-visible:not([data-rac]),a:focus-visible:not([data-rac]),[tabindex]:focus-visible:not([data-rac]),[role=button]:focus-visible:not([data-rac]),[role=checkbox]:focus-visible:not([data-rac]),[role=radio]:focus-visible:not([data-rac]),[role=menuitem]:focus-visible:not([data-rac]),[role=tab]:focus-visible:not([data-rac]){box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--ring);outline:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border);background-clip:content-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-track{background:0 0}}.ich-side-scroll,.ich-marquee-scroll{scrollbar-width:none}.ich-side-scroll::-webkit-scrollbar{width:0;height:0}.ich-marquee-scroll::-webkit-scrollbar{width:0;height:0}@scope([data-ichava-theme]){[data-region=credits]::-webkit-scrollbar{width:0;height:0}input[type=range]{appearance:none;background:0 0}input[type=range]::-webkit-slider-runnable-track{background:var(--border);border-radius:2px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--bg);border:1.5px solid var(--accent);width:13px;height:13px;box-shadow:var(--shadow);cursor:pointer;border-radius:50%;margin-top:-4.5px}input[type=range].ich-hue::-webkit-slider-runnable-track{background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:4px;height:8px}input[type=range].ich-hue::-webkit-slider-thumb{margin-top:-2.5px}input[type=range].ich-light::-webkit-slider-runnable-track{background:linear-gradient(to right, #000, var(--pick-mid,#888), #fff);border-radius:4px;height:8px}input[type=range].ich-light::-webkit-slider-thumb{margin-top:-2.5px}}@keyframes ichPulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes ichIn{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}@keyframes ichTaskSlide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@keyframes ichFade{0%{opacity:0}to{opacity:1}}@keyframes ichRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ichFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes ichGlow{0%,to{box-shadow:0 12px 34px -8px var(--accent-soft), 0 0 0 0 var(--accent-soft)}50%{box-shadow:0 16px 44px -6px var(--accent-soft), 0 0 0 10px transparent}}@keyframes ichSpin{to{transform:rotate(360deg)}}@keyframes ichPulseS{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}@keyframes ichBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-18%)}}@keyframes ichWiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-11deg)}75%{transform:rotate(11deg)}}@keyframes ichPing{0%{opacity:1;transform:scale(1)}80%,to{opacity:0;transform:scale(1.45)}}@keyframes ichSpinPath{to{transform:rotate(360deg)}}@keyframes ichMarqueeY{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes ichMarqueeX{0%{transform:translate(0)}to{transform:translate(-50%)}}.ich-skeleton{--ich-skeleton-base:var(--fg);display:inline-block}@supports (color:color-mix(in lab, red, red)){.ich-skeleton{--ich-skeleton-base:color-mix(in srgb, var(--fg) 8%, transparent)}}.ich-skeleton{--ich-skeleton-shine:var(--fg)}@supports (color:color-mix(in lab, red, red)){.ich-skeleton{--ich-skeleton-shine:color-mix(in srgb, var(--fg) 15%, transparent)}}.ich-skeleton{background:linear-gradient(90deg, var(--ich-skeleton-base) 0%, var(--ich-skeleton-shine) 40%, var(--ich-skeleton-base) 80%) 0 0 / 300% 100%;animation:1.4s ease-in-out infinite ichSkeleton}@keyframes ichSkeleton{0%{background-position:100% 0}to{background-position:-50% 0}}@media (prefers-reduced-motion:reduce){@scope([data-ichava-theme]){:scope,*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}}.ich-pop{position:relative}[data-reduce-motion] *,[data-reduce-motion]{scroll-behavior:auto!important;transition:none!important;animation:none!important}@media (width<=760px){.ich-detail-grid{grid-template-columns:1fr!important}}@media (width<=640px){.ich-header-brand-suffix{display:none}.ich-header-search{flex:none}.ich-header-search-button{justify-content:center;width:30px;max-width:none;padding:0}.ich-header-search-label{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ich-header-actions{overscroll-behavior-x:contain;scrollbar-width:none;flex:1 1 0;min-width:0;overflow-x:auto}.ich-header-actions::-webkit-scrollbar{display:none}.ich-header-actions>*{flex:none}}@media (width<=1024px){.ich-header-search-kbd,.ich-header-brand-suffix{display:none}}@media (width<=640px){.ich-header-actions{padding-inline-end:20px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 20px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 20px),#0000)}[dir=rtl] .ich-header-actions{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 20px),#0000);mask-image:linear-gradient(270deg,#000 calc(100% - 20px),#0000)}}.ich-hamburger,.ich-scrim{display:none}@media (width<=860px){.ich-hamburger{display:flex}.ich-sidebar{z-index:65;box-shadow:var(--shadow-elevated);transition:transform .2s;position:fixed;top:48px;bottom:0;left:0;transform:translate(-100%)}.ich-sidebar.open{transform:translate(0)}[dir=rtl] .ich-sidebar{left:auto;right:0;transform:translate(100%)}[dir=rtl] .ich-sidebar.open{transform:translate(0)}.ich-scrim{z-index:64;background:var(--overlay);animation:.15s ichFade;display:block;position:fixed;inset:48px 0 0}}.ich-tree .ich-tree-guide{background:0 0}.ich-tree[data-connectors] .ich-tree-guide{background:var(--border)}.ich-tree[data-size=sm]{--ich-tree-indent:20px}.ich-tree[data-size=md]{--ich-tree-indent:24px}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-mask-linear{syntax:"*";inherits:false;initial-value:linear-gradient(#fff, #fff)}@property --tw-mask-radial{syntax:"*";inherits:false;initial-value:linear-gradient(#fff, #fff)}@property --tw-mask-conic{syntax:"*";inherits:false;initial-value:linear-gradient(#fff, #fff)}@property --tw-mask-left{syntax:"*";inherits:false;initial-value:linear-gradient(#fff, #fff)}@property --tw-mask-right{syntax:"*";inherits:false;initial-value:linear-gradient(#fff, #fff)}@property --tw-mask-bottom{syntax:"*";inherits:false;initial-value:linear-gradient(#fff, #fff)}@property --tw-mask-top{syntax:"*";inherits:false;initial-value:linear-gradient(#fff, #fff)}@property --tw-mask-bottom-from-position{syntax:"*";inherits:false;initial-value:0%}@property --tw-mask-bottom-to-position{syntax:"*";inherits:false;initial-value:100%}@property --tw-mask-bottom-from-color{syntax:"*";inherits:false;initial-value:black}@property --tw-mask-bottom-to-color{syntax:"*";inherits:false;initial-value:transparent}@keyframes spin{to{transform:rotate(360deg)}}:root{--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Geist,-apple-system,Segoe UI,Roboto,Arial,sans-serif} /*$vite$:1*/ \ No newline at end of file diff --git a/resources/assets/styles/ichava.scss b/resources/assets/styles/ichava.scss index 415d1fc..c138cea 100644 --- a/resources/assets/styles/ichava.scss +++ b/resources/assets/styles/ichava.scss @@ -13,11 +13,6 @@ /* Tailwind CSS v4 - Import base styles */ @use "tailwindcss"; -/* The vendored browser library ships its own prebuilt stylesheet, generated against its own - theme. Scanning its bundle here would regenerate its class names against this file's - default theme, a second and different definition of each. */ -@source not "../../vendor/react-icon-browser"; - /* The browser's own source lives in resources/js beside this package's pages since react consolidation 3d (2026-11-12). Its stylesheet (resources/js/styles/theme.css) generates its classes against its own theme, scoped to its root, so this one must not scan it either: the diff --git a/resources/js/components/appearance/AppearancePopover.tsx b/resources/js/components/appearance/AppearancePopover.tsx index 4ca65d9..94e3937 100644 --- a/resources/js/components/appearance/AppearancePopover.tsx +++ b/resources/js/components/appearance/AppearancePopover.tsx @@ -7,7 +7,7 @@ import { Glyph } from '@/components/ui/Glyph'; import { Popover } from '@/components/ui/Popover'; import { iconBtn } from '@/components/ui/controls'; import { Segmented } from '@/components/ui/Segmented'; -import { Toggle } from '@/components/base/toggle/toggle'; +import { Toggle } from '@ichava/js-ui-kernel/react'; import { isValidHex } from '@ichava/js-ui-kernel'; import { CONFIG_DEFAULTS } from '@/core/config'; import { LOCALES, type Locale } from '@/core/i18n'; diff --git a/resources/js/components/application/command-menus/base-components/command-input.tsx b/resources/js/components/application/command-menus/base-components/command-input.tsx index b06858b..89ae83f 100644 --- a/resources/js/components/application/command-menus/base-components/command-input.tsx +++ b/resources/js/components/application/command-menus/base-components/command-input.tsx @@ -4,7 +4,7 @@ import { HelpCircle, SearchLg } from "@/components/ui/chromeIcons"; import type { InputProps as AriaInputProps } from "react-aria-components"; import { Group as AriaGroup, Input as AriaInput } from "react-aria-components"; import { Tooltip, TooltipTrigger } from "@/components/base/tooltip/tooltip"; -import { cx } from "@/lib/utils/cx"; +import { cx } from "@ichava/js-ui-kernel/react"; import { CommandShortcut } from "./command-shortcut"; type CommandInputProps = AriaInputProps & diff --git a/resources/js/components/application/command-menus/base-components/command-menu-footer.tsx b/resources/js/components/application/command-menus/base-components/command-menu-footer.tsx index b02b349..afe55d6 100644 --- a/resources/js/components/application/command-menus/base-components/command-menu-footer.tsx +++ b/resources/js/components/application/command-menus/base-components/command-menu-footer.tsx @@ -1,7 +1,7 @@ // Untitled UI React PRO, used under licence; see LICENSE import { ArrowDown, ArrowLeft, ArrowUp, CornerDownLeft, Settings01 } from "@/components/ui/chromeIcons"; import { Button } from "@/components/base/buttons/button"; -import { cx } from "@/lib/utils/cx"; +import { cx } from "@ichava/js-ui-kernel/react"; import { CommandMenuNavigationIcon } from "./command-menu-navigation-icon"; interface CommandMenuFooterProps { diff --git a/resources/js/components/application/command-menus/base-components/command-menu-header.tsx b/resources/js/components/application/command-menus/base-components/command-menu-header.tsx index 27a17b3..11edeff 100644 --- a/resources/js/components/application/command-menus/base-components/command-menu-header.tsx +++ b/resources/js/components/application/command-menus/base-components/command-menu-header.tsx @@ -1,7 +1,7 @@ // Untitled UI React PRO, used under licence; see LICENSE import type { ReactNode } from "react"; import { Header as AriaHeader } from "react-aria-components"; -import { cx } from "@/lib/utils/cx"; +import { cx } from "@ichava/js-ui-kernel/react"; interface CommandMenuHeaderProps { children: ReactNode; diff --git a/resources/js/components/application/command-menus/base-components/command-menu-item.tsx b/resources/js/components/application/command-menus/base-components/command-menu-item.tsx index b299e01..998f47f 100644 --- a/resources/js/components/application/command-menus/base-components/command-menu-item.tsx +++ b/resources/js/components/application/command-menus/base-components/command-menu-item.tsx @@ -11,8 +11,8 @@ import type { FC } from "react"; import { Text as AriaText, ListBoxItem, type ListBoxItemProps } from "react-aria-components"; import { Avatar } from "@/components/base/avatar/avatar"; -import { FeaturedIcon } from "@/components/foundations/featured-icon/featured-icon"; -import { cx } from "@/lib/utils/cx"; +import { FeaturedIcon } from "@ichava/js-ui-kernel/react"; +import { cx } from "@ichava/js-ui-kernel/react"; import { CommandShortcut } from "./command-shortcut"; interface CommandMenuItemBaseType { diff --git a/resources/js/components/application/command-menus/base-components/command-shortcut.tsx b/resources/js/components/application/command-menus/base-components/command-shortcut.tsx index c3545c9..da3001b 100644 --- a/resources/js/components/application/command-menus/base-components/command-shortcut.tsx +++ b/resources/js/components/application/command-menus/base-components/command-shortcut.tsx @@ -3,7 +3,7 @@ // Local adaptation: `size="sm"` for the compact palette rows (see command-menu-item.tsx). import { Fragment } from "react"; import { ArrowRight } from "@/components/ui/chromeIcons"; -import { cx } from "@/lib/utils/cx"; +import { cx } from "@ichava/js-ui-kernel/react"; interface CommandShortcutProps { keys: string[]; diff --git a/resources/js/components/application/command-menus/command-menu.tsx b/resources/js/components/application/command-menus/command-menu.tsx index ad14838..a63d929 100644 --- a/resources/js/components/application/command-menus/command-menu.tsx +++ b/resources/js/components/application/command-menus/command-menu.tsx @@ -24,7 +24,7 @@ import { TextField as AriaTextField, useFilter, } from "react-aria-components"; -import { cx } from "@/lib/utils/cx"; +import { cx } from "@ichava/js-ui-kernel/react"; import { CommandInput } from "./base-components/command-input"; import { CommandMenuFooter } from "./base-components/command-menu-footer"; import { CommandMenuHeader } from "./base-components/command-menu-header"; diff --git a/resources/js/components/application/modal-layouts/modal-layouts.tsx b/resources/js/components/application/modal-layouts/modal-layouts.tsx index 5bac8d6..30f8f00 100644 --- a/resources/js/components/application/modal-layouts/modal-layouts.tsx +++ b/resources/js/components/application/modal-layouts/modal-layouts.tsx @@ -9,7 +9,7 @@ // dialog's `slot="title"` heading, the stacked or right-aligned action row. import type { ReactNode } from "react"; import { Heading as AriaHeading } from "react-aria-components"; -import { cx } from "@/lib/utils/cx"; +import { cx } from "@ichava/js-ui-kernel/react"; interface ModalHeaderProps { /** A logo, avatar or featured icon above (centered) or beside the title. */ diff --git a/resources/js/components/application/modals/modal.tsx b/resources/js/components/application/modals/modal.tsx index 7ca5924..dfd5689 100644 --- a/resources/js/components/application/modals/modal.tsx +++ b/resources/js/components/application/modals/modal.tsx @@ -1,6 +1,6 @@ import type { DialogProps as AriaDialogProps, ModalOverlayProps as AriaModalOverlayProps } from "react-aria-components"; import { Dialog as AriaDialog, DialogTrigger as AriaDialogTrigger, Modal as AriaModal, ModalOverlay as AriaModalOverlay } from "react-aria-components"; -import { cx } from "@/lib/utils/cx"; +import { cx } from "@ichava/js-ui-kernel/react"; export const DialogTrigger = AriaDialogTrigger; diff --git a/resources/js/components/application/notifications/notification-card.tsx b/resources/js/components/application/notifications/notification-card.tsx index cc6729a..344a4e9 100644 --- a/resources/js/components/application/notifications/notification-card.tsx +++ b/resources/js/components/application/notifications/notification-card.tsx @@ -12,8 +12,8 @@ import type { FC, ReactNode } from "react"; import { X } from "@/components/ui/chromeIcons"; import { Button } from "@/components/base/buttons/button"; -import { FeaturedIcon } from "@/components/foundations/featured-icon/featured-icon"; -import { cx } from "@/lib/utils/cx"; +import { FeaturedIcon } from "@ichava/js-ui-kernel/react"; +import { cx } from "@ichava/js-ui-kernel/react"; export type NotificationColor = "brand" | "gray" | "error" | "warning" | "success"; diff --git a/resources/js/components/application/tabs/tabs.tsx b/resources/js/components/application/tabs/tabs.tsx index 0ceb3bf..8eeab6f 100644 --- a/resources/js/components/application/tabs/tabs.tsx +++ b/resources/js/components/application/tabs/tabs.tsx @@ -3,8 +3,8 @@ import { createContext, isValidElement, useContext } from "react"; import type { TabListProps as AriaTabListProps, TabProps as AriaTabProps, TabRenderProps as AriaTabRenderProps } from "react-aria-components"; import { Tab as AriaTab, TabList as AriaTabList, TabPanel as AriaTabPanel, Tabs as AriaTabs, TabsContext, useSlottedContext } from "react-aria-components"; import { Badge } from "@/components/base/badges/badges"; -import { cx } from "@/lib/utils/cx"; -import { isReactComponent } from "@/lib/utils/is-react-component"; +import { cx } from "@ichava/js-ui-kernel/react"; +import { isReactComponent } from "@ichava/js-ui-kernel/react"; type Orientation = "horizontal" | "vertical"; diff --git a/resources/js/components/application/tree-view/tree-view.tsx b/resources/js/components/application/tree-view/tree-view.tsx index 484d4a8..6ec3959 100644 --- a/resources/js/components/application/tree-view/tree-view.tsx +++ b/resources/js/components/application/tree-view/tree-view.tsx @@ -16,8 +16,8 @@ import { useDragAndDrop, } from "react-aria-components"; import { CheckboxBase } from "@/components/base/checkbox/checkbox"; -import { cx } from "@/lib/utils/cx"; -import { isReactComponent } from "@/lib/utils/is-react-component"; +import { cx } from "@ichava/js-ui-kernel/react"; +import { isReactComponent } from "@ichava/js-ui-kernel/react"; import { type TreeCollection, cascadeSelection, createDragPreview, getDescendants } from "./tree-view-utils"; interface TreeViewContextType { diff --git a/resources/js/components/auth/AccountAvatar.tsx b/resources/js/components/auth/AccountAvatar.tsx index fa5fe22..6196161 100644 --- a/resources/js/components/auth/AccountAvatar.tsx +++ b/resources/js/components/auth/AccountAvatar.tsx @@ -1,5 +1,5 @@ import { useState } from 'react'; -import { cx } from '@/lib/utils/cx'; +import { cx } from '@ichava/js-ui-kernel/react'; /** * The account's picture: the host's avatar when it gave one and it loads, otherwise the diff --git a/resources/js/components/auth/AccountMenu.tsx b/resources/js/components/auth/AccountMenu.tsx index 59a6228..ecfe0c0 100644 --- a/resources/js/components/auth/AccountMenu.tsx +++ b/resources/js/components/auth/AccountMenu.tsx @@ -7,7 +7,7 @@ import { Glyph } from '@/components/ui/Glyph'; import { glyphIcon } from '@/components/ui/glyphIcon'; import { MENU_CLASS, MenuPopover, MenuText } from '@/components/ui/Menu'; import { Dropdown } from '@/components/base/dropdown/dropdown'; -import { cx } from '@/lib/utils/cx'; +import { cx } from '@ichava/js-ui-kernel/react'; import { useAppStore } from '@/hooks/useStoreApi'; import { useAccount } from '@/hooks/useAccount'; import { AccountAvatar } from '@/components/auth/AccountAvatar'; diff --git a/resources/js/components/auth/ProfileModal.tsx b/resources/js/components/auth/ProfileModal.tsx index 2089b8f..0e5ae4d 100644 --- a/resources/js/components/auth/ProfileModal.tsx +++ b/resources/js/components/auth/ProfileModal.tsx @@ -4,7 +4,7 @@ import { useId } from 'react'; import { useT } from '@/hooks/useT'; import { Modal } from '@/components/ui/Modal'; import { Button } from '@/components/base/buttons/button'; -import { RadioButton, RadioGroup } from '@/components/base/radio-buttons/radio-buttons'; +import { RadioButton, RadioGroup } from '@ichava/js-ui-kernel/react'; import { ModalBody, ModalFooter, ModalHeader } from '@/components/application/modal-layouts/modal-layouts'; import { useAppStore } from '@/hooks/useStoreApi'; import { useAccount } from '@/hooks/useAccount'; diff --git a/resources/js/components/base/avatar/avatar.tsx b/resources/js/components/base/avatar/avatar.tsx index fcfa658..4ffa3c4 100644 --- a/resources/js/components/base/avatar/avatar.tsx +++ b/resources/js/components/base/avatar/avatar.tsx @@ -1,8 +1,8 @@ import { type FC, type ReactNode, useState } from "react"; import { User01 } from "@/components/ui/chromeIcons"; -import { cx } from "@/lib/utils/cx"; -import { AvatarOnlineIndicator, VerifiedTick } from "./base-components"; -import { AvatarCount } from "./base-components/avatar-count"; +import { cx } from "@ichava/js-ui-kernel/react"; +import { AvatarOnlineIndicator, VerifiedTick } from "@ichava/js-ui-kernel/react"; +import { AvatarCount } from "@ichava/js-ui-kernel/react"; export interface AvatarProps { size?: "xs" | "sm" | "md" | "lg" | "xl" | "2xl"; diff --git a/resources/js/components/base/avatar/base-components/avatar-count.tsx b/resources/js/components/base/avatar/base-components/avatar-count.tsx deleted file mode 100644 index c828a32..0000000 --- a/resources/js/components/base/avatar/base-components/avatar-count.tsx +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @deprecated since 2026-11-12 (react consolidation 3d): this lives in @ichava/js-ui-kernel/react now, - * shared with ichava.com. Import it from there. This file re-exports it so every existing import - * keeps working; removing it needs the owner's yes (react-consolidation audits/deprecations.md). - */ -export { AvatarCount } from '@ichava/js-ui-kernel/react'; diff --git a/resources/js/components/base/avatar/base-components/avatar-online-indicator.tsx b/resources/js/components/base/avatar/base-components/avatar-online-indicator.tsx deleted file mode 100644 index 811cdaa..0000000 --- a/resources/js/components/base/avatar/base-components/avatar-online-indicator.tsx +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @deprecated since 2026-11-12 (react consolidation 3d): this lives in @ichava/js-ui-kernel/react now, - * shared with ichava.com. Import it from there. This file re-exports it so every existing import - * keeps working; removing it needs the owner's yes (react-consolidation audits/deprecations.md). - */ -export { AvatarOnlineIndicator } from '@ichava/js-ui-kernel/react'; diff --git a/resources/js/components/base/avatar/base-components/index.tsx b/resources/js/components/base/avatar/base-components/index.tsx deleted file mode 100644 index 2072054..0000000 --- a/resources/js/components/base/avatar/base-components/index.tsx +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @deprecated since 2026-11-12 (react consolidation 3d): this lives in @ichava/js-ui-kernel/react now, - * shared with ichava.com. Import it from there. This file re-exports it so every existing import - * keeps working; removing it needs the owner's yes (react-consolidation audits/deprecations.md). - */ -export { AvatarOnlineIndicator, VerifiedTick } from '@ichava/js-ui-kernel/react'; diff --git a/resources/js/components/base/avatar/base-components/verified-tick.tsx b/resources/js/components/base/avatar/base-components/verified-tick.tsx deleted file mode 100644 index c9bd9a1..0000000 --- a/resources/js/components/base/avatar/base-components/verified-tick.tsx +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @deprecated since 2026-11-12 (react consolidation 3d): this lives in @ichava/js-ui-kernel/react now, - * shared with ichava.com. Import it from there. This file re-exports it so every existing import - * keeps working; removing it needs the owner's yes (react-consolidation audits/deprecations.md). - */ -export { VerifiedTick } from '@ichava/js-ui-kernel/react'; diff --git a/resources/js/components/base/badges/badges.tsx b/resources/js/components/base/badges/badges.tsx index 9e72345..e87a812 100644 --- a/resources/js/components/base/badges/badges.tsx +++ b/resources/js/components/base/badges/badges.tsx @@ -1,5 +1,5 @@ import type { ReactNode } from "react"; -import { cx } from "@/lib/utils/cx"; +import { cx } from "@ichava/js-ui-kernel/react"; import type { BadgeColors, BadgeTypeToColorMap, BadgeTypes, Sizes } from "./badge-types"; import { badgeTypes } from "./badge-types"; diff --git a/resources/js/components/base/button-group/button-group.tsx b/resources/js/components/base/button-group/button-group.tsx index 383e116..3f1a23e 100644 --- a/resources/js/components/base/button-group/button-group.tsx +++ b/resources/js/components/base/button-group/button-group.tsx @@ -5,8 +5,8 @@ import { type ToggleButtonGroupProps, type ToggleButtonProps, } from "react-aria-components"; -import { cx, sortCx } from "@/lib/utils/cx"; -import { isReactComponent } from "@/lib/utils/is-react-component"; +import { cx, sortCx } from "@ichava/js-ui-kernel/react"; +import { isReactComponent } from "@ichava/js-ui-kernel/react"; export const styles = sortCx({ common: { diff --git a/resources/js/components/base/buttons/button.tsx b/resources/js/components/base/buttons/button.tsx index 10bde90..5d5a72d 100644 --- a/resources/js/components/base/buttons/button.tsx +++ b/resources/js/components/base/buttons/button.tsx @@ -2,8 +2,8 @@ import type { FC, ReactElement, ReactNode } from "react"; import { isValidElement } from "react"; import type { ButtonProps as AriaButtonProps, LinkProps as AriaLinkProps } from "react-aria-components"; import { Button as AriaButton, Link as AriaLink } from "react-aria-components"; -import { cx, sortCx } from "@/lib/utils/cx"; -import { isReactComponent } from "@/lib/utils/is-react-component"; +import { cx, sortCx } from "@ichava/js-ui-kernel/react"; +import { isReactComponent } from "@ichava/js-ui-kernel/react"; export const styles = sortCx({ common: { diff --git a/resources/js/components/base/checkbox/checkbox.tsx b/resources/js/components/base/checkbox/checkbox.tsx index abd62d2..20ebc4a 100644 --- a/resources/js/components/base/checkbox/checkbox.tsx +++ b/resources/js/components/base/checkbox/checkbox.tsx @@ -1,6 +1,6 @@ import type { ReactNode, Ref } from "react"; import { Checkbox as AriaCheckbox, type CheckboxProps as AriaCheckboxProps } from "react-aria-components"; -import { cx } from "@/lib/utils/cx"; +import { cx } from "@ichava/js-ui-kernel/react"; export interface CheckboxBaseProps { size?: "sm" | "md"; diff --git a/resources/js/components/base/dropdown/dropdown.tsx b/resources/js/components/base/dropdown/dropdown.tsx index bc9bb76..c31db8d 100644 --- a/resources/js/components/base/dropdown/dropdown.tsx +++ b/resources/js/components/base/dropdown/dropdown.tsx @@ -18,11 +18,11 @@ import { Popover as AriaPopover, Separator as AriaSeparator, } from "react-aria-components"; -import { cx } from "@/lib/utils/cx"; +import { cx } from "@ichava/js-ui-kernel/react"; import { Avatar } from "../avatar/avatar"; import { CheckboxBase } from "../checkbox/checkbox"; -import { RadioButtonBase } from "../radio-buttons/radio-buttons"; -import { ToggleBase } from "../toggle/toggle"; +import { RadioButtonBase } from "@ichava/js-ui-kernel/react"; +import { ToggleBase } from "@ichava/js-ui-kernel/react"; interface DropdownItemProps extends AriaMenuItemProps { /** The label of the item to be displayed. */ diff --git a/resources/js/components/base/input/hint-text.tsx b/resources/js/components/base/input/hint-text.tsx index 87dffa5..0472cbd 100644 --- a/resources/js/components/base/input/hint-text.tsx +++ b/resources/js/components/base/input/hint-text.tsx @@ -1,7 +1,7 @@ import type { ReactNode, Ref } from "react"; import type { TextProps as AriaTextProps } from "react-aria-components"; import { Text as AriaText } from "react-aria-components"; -import { cx } from "@/lib/utils/cx"; +import { cx } from "@ichava/js-ui-kernel/react"; interface HintTextProps extends AriaTextProps { /** Indicates that the hint text is an error message. */ diff --git a/resources/js/components/base/input/input.tsx b/resources/js/components/base/input/input.tsx index 1200743..ecffae5 100644 --- a/resources/js/components/base/input/input.tsx +++ b/resources/js/components/base/input/input.tsx @@ -5,7 +5,7 @@ import { Button as AriaButton, Group as AriaGroup, Input as AriaInput, TextField import { HintText } from "@/components/base/input/hint-text"; import { Label } from "@/components/base/input/label"; import { Tooltip, TooltipTrigger } from "@/components/base/tooltip/tooltip"; -import { cx, sortCx } from "@/lib/utils/cx"; +import { cx, sortCx } from "@ichava/js-ui-kernel/react"; export interface InputBaseProps extends Omit { /** Tooltip message on hover. */ diff --git a/resources/js/components/base/input/label.tsx b/resources/js/components/base/input/label.tsx index 4b9c87f..27eea2a 100644 --- a/resources/js/components/base/input/label.tsx +++ b/resources/js/components/base/input/label.tsx @@ -3,7 +3,7 @@ import { HelpCircle } from "@/components/ui/chromeIcons"; import type { LabelProps as AriaLabelProps } from "react-aria-components"; import { Label as AriaLabel } from "react-aria-components"; import { Tooltip, TooltipTrigger } from "@/components/base/tooltip/tooltip"; -import { cx } from "@/lib/utils/cx"; +import { cx } from "@ichava/js-ui-kernel/react"; interface LabelProps extends AriaLabelProps { children: ReactNode; diff --git a/resources/js/components/base/radio-buttons/radio-buttons.tsx b/resources/js/components/base/radio-buttons/radio-buttons.tsx deleted file mode 100644 index a6019f1..0000000 --- a/resources/js/components/base/radio-buttons/radio-buttons.tsx +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @deprecated since 2026-11-12 (react consolidation 3d): this lives in @ichava/js-ui-kernel/react now, - * shared with ichava.com. Import it from there. This file re-exports it so every existing import - * keeps working; removing it needs the owner's yes (react-consolidation audits/deprecations.md). - */ -export { RadioButton, RadioButtonBase, RadioGroup } from '@ichava/js-ui-kernel/react'; -export type { RadioButtonBaseProps, RadioGroupContextType } from '@ichava/js-ui-kernel/react'; diff --git a/resources/js/components/base/select/combobox.tsx b/resources/js/components/base/select/combobox.tsx index aaddc91..283c1ce 100644 --- a/resources/js/components/base/select/combobox.tsx +++ b/resources/js/components/base/select/combobox.tsx @@ -8,8 +8,8 @@ import { Label } from "@/components/base/input/label"; import { Popover } from "@/components/base/select/popover"; import { type CommonProps, SelectContext, type SelectItemType, sizes } from "@/components/base/select/select-shared"; import { useResizeObserver } from "@/hooks/use-resize-observer"; -import { cx } from "@/lib/utils/cx"; -import { isReactComponent } from "@/lib/utils/is-react-component"; +import { cx } from "@ichava/js-ui-kernel/react"; +import { isReactComponent } from "@ichava/js-ui-kernel/react"; interface ComboBoxProps extends Omit, "children" | "items">, RefAttributes, CommonProps { shortcut?: boolean; diff --git a/resources/js/components/base/select/popover.tsx b/resources/js/components/base/select/popover.tsx index 0d92d2a..021bf3d 100644 --- a/resources/js/components/base/select/popover.tsx +++ b/resources/js/components/base/select/popover.tsx @@ -1,7 +1,7 @@ import type { RefAttributes } from "react"; import type { PopoverProps as AriaPopoverProps } from "react-aria-components"; import { Popover as AriaPopover } from "react-aria-components"; -import { cx } from "@/lib/utils/cx"; +import { cx } from "@ichava/js-ui-kernel/react"; interface PopoverProps extends AriaPopoverProps, RefAttributes { size: "sm" | "md" | "lg"; diff --git a/resources/js/components/base/select/select-item.tsx b/resources/js/components/base/select/select-item.tsx index b504faa..d1f3308 100644 --- a/resources/js/components/base/select/select-item.tsx +++ b/resources/js/components/base/select/select-item.tsx @@ -4,8 +4,8 @@ import type { ListBoxItemProps as AriaListBoxItemProps } from "react-aria-compon import { ListBoxItem as AriaListBoxItem, Text as AriaText } from "react-aria-components"; import { Avatar } from "@/components/base/avatar/avatar"; import { CheckboxBase } from "@/components/base/checkbox/checkbox"; -import { cx } from "@/lib/utils/cx"; -import { isReactComponent } from "@/lib/utils/is-react-component"; +import { cx } from "@ichava/js-ui-kernel/react"; +import { isReactComponent } from "@ichava/js-ui-kernel/react"; import type { SelectItemType } from "./select-shared"; import { SelectContext } from "./select-shared"; diff --git a/resources/js/components/base/select/select.tsx b/resources/js/components/base/select/select.tsx index 4a9d9b3..1fd2c5f 100644 --- a/resources/js/components/base/select/select.tsx +++ b/resources/js/components/base/select/select.tsx @@ -6,8 +6,8 @@ import { Button as AriaButton, ListBox as AriaListBox, Select as AriaSelect, Sel import { Avatar } from "@/components/base/avatar/avatar"; import { HintText } from "@/components/base/input/hint-text"; import { Label } from "@/components/base/input/label"; -import { cx } from "@/lib/utils/cx"; -import { isReactComponent } from "@/lib/utils/is-react-component"; +import { cx } from "@ichava/js-ui-kernel/react"; +import { isReactComponent } from "@ichava/js-ui-kernel/react"; import { ComboBox } from "./combobox"; import { Popover } from "./popover"; import { SelectItem } from "./select-item"; diff --git a/resources/js/components/base/slider/slider.tsx b/resources/js/components/base/slider/slider.tsx index 3fb1b73..b84c155 100644 --- a/resources/js/components/base/slider/slider.tsx +++ b/resources/js/components/base/slider/slider.tsx @@ -6,7 +6,7 @@ import { SliderThumb as AriaSliderThumb, SliderTrack as AriaSliderTrack, } from "react-aria-components"; -import { cx, sortCx } from "@/lib/utils/cx"; +import { cx, sortCx } from "@ichava/js-ui-kernel/react"; const styles = sortCx({ default: "hidden", diff --git a/resources/js/components/base/toggle/toggle.tsx b/resources/js/components/base/toggle/toggle.tsx deleted file mode 100644 index 0a38de2..0000000 --- a/resources/js/components/base/toggle/toggle.tsx +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @deprecated since 2026-11-12 (react consolidation 3d): this lives in @ichava/js-ui-kernel/react now, - * shared with ichava.com. Import it from there. This file re-exports it so every existing import - * keeps working; removing it needs the owner's yes (react-consolidation audits/deprecations.md). - */ -export { Toggle, ToggleBase } from '@ichava/js-ui-kernel/react'; diff --git a/resources/js/components/base/tooltip/tooltip.tsx b/resources/js/components/base/tooltip/tooltip.tsx index 1369ab1..fe02101 100644 --- a/resources/js/components/base/tooltip/tooltip.tsx +++ b/resources/js/components/base/tooltip/tooltip.tsx @@ -5,7 +5,7 @@ import type { TooltipTriggerComponentProps as AriaTooltipTriggerComponentProps, } from "react-aria-components"; import { Button as AriaButton, OverlayArrow as AriaOverlayArrow, Tooltip as AriaTooltip, TooltipTrigger as AriaTooltipTrigger } from "react-aria-components"; -import { cx } from "@/lib/utils/cx"; +import { cx } from "@ichava/js-ui-kernel/react"; interface TooltipProps extends AriaTooltipTriggerComponentProps, Omit { /** diff --git a/resources/js/components/browser/MotionPicker.tsx b/resources/js/components/browser/MotionPicker.tsx index 10653e5..a435321 100644 --- a/resources/js/components/browser/MotionPicker.tsx +++ b/resources/js/components/browser/MotionPicker.tsx @@ -19,7 +19,7 @@ import { import type { MotionPreset } from '@/core/MotionEngine'; import { groupPresets } from './presetGroups'; import { useT } from '@/hooks/useT'; -import { cx } from '@/lib/utils/cx'; +import { cx } from '@ichava/js-ui-kernel/react'; /** * MotionPicker -- a select that opens onto a search field and a grouped list. diff --git a/resources/js/components/command/CommandPalette.tsx b/resources/js/components/command/CommandPalette.tsx index 5f52f54..8b4f96c 100644 --- a/resources/js/components/command/CommandPalette.tsx +++ b/resources/js/components/command/CommandPalette.tsx @@ -7,7 +7,7 @@ import { Glyph } from '@/components/ui/Glyph'; import { glyphIcon, type GlyphIconComponent } from '@/components/ui/glyphIcon'; import { CommandMenu, type CommandMenuGroupType } from '@/components/application/command-menus/command-menu'; import type { CommandDropdownMenuItemProps } from '@/components/application/command-menus/base-components/command-menu-item'; -import { cx } from '@/lib/utils/cx'; +import { cx } from '@ichava/js-ui-kernel/react'; import { devtoolsKeyHint, modKey, resetKeyHint } from '@/core/format'; import { useT } from '@/hooks/useT'; import { CONFIG_DEFAULTS } from '@/core/config'; diff --git a/resources/js/components/consent/ConsentBanner.tsx b/resources/js/components/consent/ConsentBanner.tsx index 4613419..3a542e4 100644 --- a/resources/js/components/consent/ConsentBanner.tsx +++ b/resources/js/components/consent/ConsentBanner.tsx @@ -8,7 +8,7 @@ import { CONFIG_DEFAULTS } from '@/core/config'; import { useDraggableNotice } from '@/hooks/useDraggableNotice'; import { useT } from '@/hooks/useT'; import { useAppStore } from '@/hooks/useStoreApi'; -import { cx } from '@/lib/utils/cx'; +import { cx } from '@ichava/js-ui-kernel/react'; /** * ConsentBanner — the "Cookies & storage" notice (plan Part B). Shown until a diff --git a/resources/js/components/foundations/featured-icon/featured-icon.tsx b/resources/js/components/foundations/featured-icon/featured-icon.tsx deleted file mode 100644 index 41ae644..0000000 --- a/resources/js/components/foundations/featured-icon/featured-icon.tsx +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @deprecated since 2026-11-12 (react consolidation 3d): this lives in @ichava/js-ui-kernel/react now, - * shared with ichava.com. Import it from there. This file re-exports it so every existing import - * keeps working; removing it needs the owner's yes (react-consolidation audits/deprecations.md). - */ -export { FeaturedIcon } from '@ichava/js-ui-kernel/react'; diff --git a/resources/js/components/layout/AppSidebar.tsx b/resources/js/components/layout/AppSidebar.tsx index e48f59e..e20825f 100644 --- a/resources/js/components/layout/AppSidebar.tsx +++ b/resources/js/components/layout/AppSidebar.tsx @@ -8,7 +8,7 @@ import { SearchMd } from '@/components/ui/chromeIcons'; import { Glyph } from '@/components/ui/Glyph'; import { InputBase } from '@/components/base/input/input'; import { CheckboxBase } from '@/components/base/checkbox/checkbox'; -import { cx } from '@/lib/utils/cx'; +import { cx } from '@ichava/js-ui-kernel/react'; import { Segmented } from '@/components/ui/Segmented'; import { CategoryTree } from './CategoryTree'; import { num } from '@/core/format'; diff --git a/resources/js/components/shared-assets/banners/notice-banner.tsx b/resources/js/components/shared-assets/banners/notice-banner.tsx index a9095f6..7f73c79 100644 --- a/resources/js/components/shared-assets/banners/notice-banner.tsx +++ b/resources/js/components/shared-assets/banners/notice-banner.tsx @@ -5,7 +5,7 @@ // dismiss button; the app supplies translated copy and its own actions. import type { FC, HTMLAttributes, ReactNode, Ref } from "react"; import { useId } from "react"; -import { cx } from "@/lib/utils/cx"; +import { cx } from "@ichava/js-ui-kernel/react"; interface NoticeBannerProps extends Omit, "title"> { icon?: FC<{ className?: string }>; diff --git a/resources/js/components/tour/TourModal.tsx b/resources/js/components/tour/TourModal.tsx index 12c1e49..57cc90e 100644 --- a/resources/js/components/tour/TourModal.tsx +++ b/resources/js/components/tour/TourModal.tsx @@ -1,9 +1,9 @@ import { Modal } from '@/components/ui/Modal'; import { glyphIcon } from '@/components/ui/glyphIcon'; import { Button } from '@/components/base/buttons/button'; -import { FeaturedIcon } from '@/components/foundations/featured-icon/featured-icon'; +import { FeaturedIcon } from '@ichava/js-ui-kernel/react'; import { ModalFooter, ModalHeader } from '@/components/application/modal-layouts/modal-layouts'; -import { cx } from '@/lib/utils/cx'; +import { cx } from '@ichava/js-ui-kernel/react'; import { useT } from '@/hooks/useT'; import { TOUR_STEPS } from '@/components/tour/steps'; import { useAppStore } from '@/hooks/useStoreApi'; diff --git a/resources/js/components/ui/ConfirmDialog.tsx b/resources/js/components/ui/ConfirmDialog.tsx index 77631e6..8b961fc 100644 --- a/resources/js/components/ui/ConfirmDialog.tsx +++ b/resources/js/components/ui/ConfirmDialog.tsx @@ -1,7 +1,7 @@ import { Modal } from '@/components/ui/Modal'; import { glyphIcon } from '@/components/ui/glyphIcon'; import { Button } from '@/components/base/buttons/button'; -import { FeaturedIcon } from '@/components/foundations/featured-icon/featured-icon'; +import { FeaturedIcon } from '@ichava/js-ui-kernel/react'; import { ModalFooter, ModalHeader } from '@/components/application/modal-layouts/modal-layouts'; import { useT } from '@/hooks/useT'; import { useAppStore } from '@/hooks/useStoreApi'; diff --git a/resources/js/components/ui/EmptyState.tsx b/resources/js/components/ui/EmptyState.tsx index e1cf4e6..3bc539c 100644 --- a/resources/js/components/ui/EmptyState.tsx +++ b/resources/js/components/ui/EmptyState.tsx @@ -1,8 +1,8 @@ import type { ReactNode } from 'react'; import { glyphIcon } from '@/components/ui/glyphIcon'; -import { FeaturedIcon } from '@/components/foundations/featured-icon/featured-icon'; -import { cx } from '@/lib/utils/cx'; +import { FeaturedIcon } from '@ichava/js-ui-kernel/react'; +import { cx } from '@ichava/js-ui-kernel/react'; /** * EmptyState — "nothing here" for the grid, the library tabs and the notifications list, diff --git a/resources/js/components/ui/Menu.tsx b/resources/js/components/ui/Menu.tsx index d83f591..fa61e03 100644 --- a/resources/js/components/ui/Menu.tsx +++ b/resources/js/components/ui/Menu.tsx @@ -5,7 +5,7 @@ import { Pressable } from 'react-aria-components'; import { Dropdown } from '@/components/base/dropdown/dropdown'; import { CARET_CORNER_CLEARANCE, CARET_HEIGHT } from '@/components/ui/caretGeometry'; import { PopoverCaret } from '@/components/ui/PopoverCaret'; -import { cx } from '@/lib/utils/cx'; +import { cx } from '@ichava/js-ui-kernel/react'; /** * Menus on Untitled UI's `Dropdown` (free, `base/dropdown`), inventory #17, #23, #32, #39. diff --git a/resources/js/components/ui/Segmented.tsx b/resources/js/components/ui/Segmented.tsx index 0dee4a4..9a19464 100644 --- a/resources/js/components/ui/Segmented.tsx +++ b/resources/js/components/ui/Segmented.tsx @@ -1,7 +1,7 @@ import type { Key } from 'react-aria-components'; import { ButtonGroup, ButtonGroupItem } from '@/components/base/button-group/button-group'; -import { cx } from '@/lib/utils/cx'; +import { cx } from '@ichava/js-ui-kernel/react'; /** * Segmented — a compact single-choice control on Untitled UI's `ButtonGroup` (a react-aria diff --git a/resources/js/core/docsUrl.test.ts b/resources/js/core/docsUrl.test.ts index dc8dfbe..1f1c6e7 100644 --- a/resources/js/core/docsUrl.test.ts +++ b/resources/js/core/docsUrl.test.ts @@ -33,10 +33,10 @@ describe('docs link', () => { expect(docs[0]!.href).toBe(expected); }); - it('matches the fallback built into the vendored library', () => { - // The library ships index.js plus the chunks its on-demand layers load; the defaults may sit in either. - const dir = resolve(process.cwd(), 'resources/vendor/react-icon-browser'); - const bundle = readdirSync(dir).filter((f) => f.endsWith('.js')).map((f) => readFileSync(resolve(dir, f), 'utf8')).join('\n'); + it('matches the fallback built into the committed bundle', () => { + // The bundle is the entry plus the chunks its on-demand layers load; the defaults may sit in either. + const dir = resolve(process.cwd(), 'public/assets/js'); + const bundle = readdirSync(dir).filter((f) => f.startsWith('inertia-app') && f.endsWith('.js')).map((f) => readFileSync(resolve(dir, f), 'utf8')).join('\n'); const urls = bundle.match(/https:\/\/github\.com\/ichava\/icon-browser\/tree\/main\/docs/g) ?? []; // Floor: the default Docs link and HelpMenu's fallback. A pattern that stops matching must fail. diff --git a/resources/js/core/minifiedBundle.test.ts b/resources/js/core/minifiedBundle.test.ts index 26075ce..4d06a21 100644 --- a/resources/js/core/minifiedBundle.test.ts +++ b/resources/js/core/minifiedBundle.test.ts @@ -4,10 +4,9 @@ import { join, resolve } from 'node:path'; import { minificationProblems } from './minifiedBundle'; /** - * The browser code this public repository ships is fully minified: the vendored - * react-icon-browser build and the page bundle built from it (see `minifiedBundle.ts`). + * The browser code this public repository ships is fully minified: the page bundle built from + * resources/js (see `minifiedBundle.ts`). The vendored react-icon-browser build was removed on 2026-11-13. */ -const vendored = resolve(process.cwd(), 'resources/vendor/react-icon-browser/index.js'); const page = resolve(process.cwd(), 'public/assets/js/inertia-app.js'); describe('minificationProblems', () => { @@ -31,23 +30,18 @@ describe('minificationProblems', () => { const walk = (d: string): string[] => readdirSync(d, { withFileTypes: true }).flatMap((e) => (e.isDirectory() ? walk(join(d, e.name)) : [join(d, e.name)])); -/** Every file this repository ships browser code from: the vendored library and the built assets. */ -const shipped = ['resources/vendor/react-icon-browser', 'public'].flatMap((d) => walk(resolve(process.cwd(), d))); +/** Every file this repository ships browser code from: the built assets under public/. */ +const shipped = walk(resolve(process.cwd(), 'public')); describe('shipped browser code', () => { it('holds no source map, nor any file carrying map sources', () => { - // Floor: the vendored library alone is 200 files; a walk that reads nothing must fail. - expect(shipped.length).toBeGreaterThan(200); + // Floor: public/ held 60 files on 2026-11-13; a walk that reads nothing must fail. + expect(shipped.length).toBeGreaterThan(40); expect(shipped.filter((f) => f.endsWith('.map'))).toEqual([]); const text = shipped.filter((f) => /\.(js|mjs|css|json|html)$/.test(f)); expect(text.filter((f) => /sourcesContent|sourceMappingURL/.test(readFileSync(f, 'utf8')))).toEqual([]); }); - it('vendors react-icon-browser fully minified', () => { - expect(existsSync(vendored)).toBe(true); - expect(minificationProblems(readFileSync(vendored, 'utf8'))).toEqual([]); - }); - it('builds the page bundle fully minified', () => { expect(existsSync(page)).toBe(true); expect(minificationProblems(readFileSync(page, 'utf8'))).toEqual([]); diff --git a/resources/js/core/minifiedBundle.ts b/resources/js/core/minifiedBundle.ts index d79e2fb..f1eec74 100644 --- a/resources/js/core/minifiedBundle.ts +++ b/resources/js/core/minifiedBundle.ts @@ -5,7 +5,7 @@ * repository is public. Untitled UI PRO's licence bars exposing its source, so the * vendored bundle and the page bundle built from it must carry no readable layout, no * comments but licences and pure annotations, no unmangled names and no source map. - * react-icon-browser's `check-lib-build.mjs` applies the same rules to its build. + * react-icon-browser's library build applied the same rules; that build is retired. * * Template literals keep their own newlines and indentation, so the layout limits are * per byte rather than zero. diff --git a/resources/js/core/noDeprecations.test.ts b/resources/js/core/noDeprecations.test.ts index 457ec4e..efbc56f 100644 --- a/resources/js/core/noDeprecations.test.ts +++ b/resources/js/core/noDeprecations.test.ts @@ -7,24 +7,10 @@ import { join, relative, resolve, sep } from 'node:path'; * a new `@deprecated` from settling in unnoticed: deprecate and remove in the same release * cycle, or keep the thing as supported. CHANGELOG history is not scanned. * - * One exception, and it is a ceiling: the ten files whose code moved to - * @ichava/js-ui-kernel/react in react consolidation 3d (2026-11-12). The owner's rule is that - * nothing is removed without a per-item yes, so each stays as a deprecated re-export, recorded - * in react-consolidation audits/deprecations.md. The list must match exactly: a new - * `@deprecated` fails, and so does an entry whose file stopped being one. + * The ten kernel re-exports deprecated in react consolidation 3d were removed on 2026-11-13 + * (owner: "wire in what can be wired, otherwise remove"); their importers now import + * @ichava/js-ui-kernel/react directly. */ -const KERNEL_RE_EXPORTS = [ - 'components/base/avatar/base-components/avatar-count.tsx', - 'components/base/avatar/base-components/avatar-online-indicator.tsx', - 'components/base/avatar/base-components/index.tsx', - 'components/base/avatar/base-components/verified-tick.tsx', - 'components/base/radio-buttons/radio-buttons.tsx', - 'components/base/toggle/toggle.tsx', - 'components/foundations/featured-icon/featured-icon.tsx', - 'lib/utils/cx.ts', - 'lib/utils/is-react-component.ts', - 'styles/uui-theme.css', -]; const ROOT = resolve(process.cwd(), 'resources/js'); function sources(dir: string): string[] { @@ -46,7 +32,7 @@ describe('no deprecated symbols', () => { .filter((f) => readFileSync(f, 'utf8').includes('@deprecated')) .map((f) => relative(ROOT, f).split(sep).join('/')) .sort(); - expect(offenders).toEqual(KERNEL_RE_EXPORTS); + expect(offenders).toEqual([]); }); it('names the motion engine by its package in generated snippets', () => { diff --git a/resources/js/core/prepaint.test.ts b/resources/js/core/prepaint.test.ts index d51bcfa..5368dee 100644 --- a/resources/js/core/prepaint.test.ts +++ b/resources/js/core/prepaint.test.ts @@ -28,16 +28,16 @@ describe('dismissPrepaint', () => { expect(() => dismissPrepaint()).not.toThrow(); }); - // The id is the only link between this file, the vendored markup and the library. - it('uses the id the vendored prepaint.html renders', () => { - const html = readFileSync(resolve(process.cwd(), 'resources/vendor/react-icon-browser/prepaint.html'), 'utf8'); + // The id is the only link between this file and the markup Prepaint.php inlines. + it('uses the id the prepaint.html fragment renders', () => { + const html = readFileSync(resolve(process.cwd(), 'resources/views/prepaint.html'), 'utf8'); expect(html).toContain(`id="${PREPAINT_ID}"`); }); - // Prepaint.php still inlines the vendored file. Its source is resources/js/boot/prepaint.html - // since react consolidation 3d, so the two must agree: `npm run build:prepaint` rewrites it. - it('vendors exactly the prepaint the browser source renders', () => { - const html = readFileSync(resolve(process.cwd(), 'resources/vendor/react-icon-browser/prepaint.html'), 'utf8'); + // Prepaint.php inlines resources/views/prepaint.html, generated from resources/js/boot/prepaint.html, + // so the two must agree: `npm run build:prepaint` rewrites it. + it('ships exactly the prepaint the browser source renders', () => { + const html = readFileSync(resolve(process.cwd(), 'resources/views/prepaint.html'), 'utf8'); expect(html, 'stale: run npm run build:prepaint').toBe(`${prepaintFragment({ suffix: 'Browser' })}\n`); }); }); diff --git a/resources/js/core/syncVendoredLibrary.test.ts b/resources/js/core/syncVendoredLibrary.test.ts index 45d77e3..a7e40a6 100644 --- a/resources/js/core/syncVendoredLibrary.test.ts +++ b/resources/js/core/syncVendoredLibrary.test.ts @@ -9,7 +9,7 @@ import { pathToFileURL } from 'node:url'; /** * `.dev/tools/sync-vendored-library.mjs` is shared byte-for-byte with ichava/ichava.com, so its * host-agnostic rules are pinned here: the vendored package.json it derives, and the arguments - * it refuses. `vendoredLibrary.test.ts` checks the output it wrote. + * it refuses. ichava.com's landing build is its one caller. */ type Mod = { vendoredManifest: (pkg: Record, o: { typeDependencies?: string[]; generatedBy: string }) => Record; @@ -56,12 +56,6 @@ describe('sync-vendored-library', () => { expect(m.description).toBe('Vendored build of @ichava/react-example. Generated by x.mjs; do not edit.'); }); - it('keeps the key order the committed vendored package.json has', () => { - const m = mod.vendoredManifest(library, { typeDependencies: ['@ichava/js-ui-kernel'], generatedBy: 'x.mjs' }); - const committed = JSON.parse(readFileSync(resolve(process.cwd(), 'resources/vendor/react-icon-browser/package.json'), 'utf8')); - expect(Object.keys(m)).toEqual(Object.keys(committed)); - }); - it('refuses a type dependency the library does not have, and a library exporting nothing built', () => { expect(() => mod.vendoredManifest(library, { typeDependencies: ['zod'], generatedBy: 'x' })).toThrow(mod.SyncError); expect(() => mod.vendoredManifest({ ...library, exports: { '.': './src/index.ts' } }, { generatedBy: 'x' })).toThrow(/exports nothing/); diff --git a/resources/js/core/vendoredLibrary.test.ts b/resources/js/core/vendoredLibrary.test.ts deleted file mode 100644 index ca831c3..0000000 --- a/resources/js/core/vendoredLibrary.test.ts +++ /dev/null @@ -1,79 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import { createHash } from 'node:crypto'; -import { existsSync, readdirSync, readFileSync } from 'node:fs'; -import { join, relative, resolve, sep } from 'node:path'; - -/** - * The vendored @ichava/react-icon-browser build is exactly what its manifest says. - * - * `.dev/tools/sync-react-icon-browser.mjs` copies the library's `dist/lib` here and writes - * `vendored.json`: the commit it was built from and a hash of every file. A hand edit to the - * bundle, a partial copy, or a stray file would otherwise ship unnoticed, since nothing else - * reads these files until a host's page renders them. Re-run the sync script; never edit - * the vendored files. - */ -const dir = resolve(process.cwd(), 'resources/vendor/react-icon-browser'); -// The manifest is vendored.json and nothing else: the sync writes only that name. -const MANIFEST = 'vendored.json'; -const manifest = JSON.parse(readFileSync(join(dir, MANIFEST), 'utf8')) as { - package: string; - commit: string; - files: Record; -}; - -const walk = (d: string): string[] => - readdirSync(d, { withFileTypes: true }).flatMap((e) => (e.isDirectory() ? walk(join(d, e.name)) : [join(d, e.name)])); - -// DEPRECATED.md says the directory is no longer rebuilt (react consolidation 3e, 2026-11-12); -// it is not part of the vendored build, so the manifest does not list it. -const NOTICE = 'DEPRECATED.md'; -const onDisk = walk(dir) - .map((f) => relative(dir, f).split(sep).join('/')) - .filter((f) => f !== MANIFEST && f !== NOTICE) - .sort(); - -describe('vendored react-icon-browser', () => { - it('says it is deprecated', () => { - expect(readFileSync(join(dir, NOTICE), 'utf8')).toContain('Deprecated on 2026-11-12'); - }); - - it('keeps its manifest as vendored.json, the name the sync writes', () => { - expect(readdirSync(dir)).toContain('vendored.json'); - expect(readdirSync(dir)).not.toContain('VENDORED.json'); - }); - - it('names the package and the full commit it was built from', () => { - expect(manifest.package).toBe('@ichava/react-icon-browser'); - expect(manifest.commit).toMatch(/^[0-9a-f]{40}$/); - }); - - it('holds exactly the files its manifest lists', () => { - // Floor: the bundle, the stylesheet, two fonts and the declarations. A walk that finds - // nothing must fail rather than agree with an empty manifest. - expect(onDisk.length).toBeGreaterThan(100); - expect(onDisk).toEqual(Object.keys(manifest.files).sort()); - }); - - it('matches every hash in the manifest', () => { - const drift = onDisk.filter((f) => createHash('sha256').update(readFileSync(join(dir, f))).digest('hex') !== manifest.files[f]); - expect(drift).toEqual([]); - }); - - it('ships no source map, whose sources are the readable library source', () => { - expect(onDisk.filter((f) => f.endsWith('.map'))).toEqual([]); - expect(existsSync(join(dir, 'index.js.map'))).toBe(false); - }); - - it('carries the library licence', () => { - expect(readFileSync(join(dir, 'LICENSE'), 'utf8')).toContain('Untitled UI PRO'); - }); - - it('does not say the repository it ships in must stay private', () => { - // react-icon-browser's own LICENSE says its repository must remain private, which is - // true there and false here: ichava/icon-browser is public and carries only the compiled - // build. A re-sync copies that LICENSE back verbatim, so this fails until it is reworded. - const license = readFileSync(join(dir, 'LICENSE'), 'utf8').replace(/\s+/g, ' '); - expect(license).not.toMatch(/must (therefore )?remain private/i); - expect(license).toContain('may not be redistributed outside them'); - }); -}); diff --git a/resources/js/lib/browser.ts b/resources/js/lib/browser.ts index 5f79777..70643e1 100644 --- a/resources/js/lib/browser.ts +++ b/resources/js/lib/browser.ts @@ -2,8 +2,8 @@ // // The UI is the browser library, whose source lives in this repository since react consolidation // 3d (2026-11-12): resources/js/index.ts is its public surface, imported from -// ichava/react-icon-browser as a snapshot. It used to be a built library vendored under -// resources/vendor/react-icon-browser. The adapter around it is the rest of this package's own +// ichava/react-icon-browser as a snapshot. It used to be a built library vendored into this +// package; that copy was removed on 2026-11-13. The adapter around it is the rest of this package's own // code: pages, the props-to-catalog bridge, the Inertia-backed IconCatalog, and the server // mutations for library state. // diff --git a/resources/js/lib/utils/cx.ts b/resources/js/lib/utils/cx.ts deleted file mode 100644 index 516a8f2..0000000 --- a/resources/js/lib/utils/cx.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @deprecated since 2026-11-12 (react consolidation 3d): this lives in @ichava/js-ui-kernel/react now, - * shared with ichava.com. Import it from there. This file re-exports it so every existing import - * keeps working; removing it needs the owner's yes (react-consolidation audits/deprecations.md). - */ -export { cx, sortCx } from '@ichava/js-ui-kernel/react'; diff --git a/resources/js/lib/utils/is-react-component.ts b/resources/js/lib/utils/is-react-component.ts deleted file mode 100644 index 30ca3c5..0000000 --- a/resources/js/lib/utils/is-react-component.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @deprecated since 2026-11-12 (react consolidation 3d): this lives in @ichava/js-ui-kernel/react now, - * shared with ichava.com. Import it from there. This file re-exports it so every existing import - * keeps working; removing it needs the owner's yes (react-consolidation audits/deprecations.md). - */ -export { isClassComponent, isForwardRefComponent, isFunctionComponent, isReactComponent } from '@ichava/js-ui-kernel/react'; diff --git a/resources/js/modules/catalog/domain/listParams.ts b/resources/js/modules/catalog/domain/listParams.ts index f14597c..454f107 100644 --- a/resources/js/modules/catalog/domain/listParams.ts +++ b/resources/js/modules/catalog/domain/listParams.ts @@ -8,7 +8,7 @@ import type { IconKind } from '@ichava/js-ui-kernel'; * answers. * * Written out member by member rather than extending the kernel's type, so the public - * declaration only gains lines (scripts/check-public-api.mjs). + * declaration only gains lines. */ export interface ListParams { search?: string; diff --git a/resources/js/styles/theme.css b/resources/js/styles/theme.css index 9dd74b2..a3e4b56 100644 --- a/resources/js/styles/theme.css +++ b/resources/js/styles/theme.css @@ -22,7 +22,7 @@ */ @import 'tailwindcss'; -@import './uui-theme.css'; +@import '@ichava/js-ui-kernel/react/uui-theme.css'; @import './ichava-theme.css'; /* Tailwind generates a utility for every class-like word in the sources it scans, comments diff --git a/resources/js/styles/uui-theme.css b/resources/js/styles/uui-theme.css deleted file mode 100644 index af073bd..0000000 --- a/resources/js/styles/uui-theme.css +++ /dev/null @@ -1,6 +0,0 @@ -/* - * @deprecated since 2026-11-12 (react consolidation 3d): the Untitled UI theme lives in - * @ichava/js-ui-kernel/react/uui-theme.css now, shared with ichava.com. This file imports it so - * styles/theme.css keeps working unchanged; removing it needs the owner's yes. - */ -@import '@ichava/js-ui-kernel/react/uui-theme.css'; diff --git a/resources/vendor/react-icon-browser/AboutDialog-3ajb2X6F.js b/resources/vendor/react-icon-browser/AboutDialog-3ajb2X6F.js deleted file mode 100644 index c67335d..0000000 --- a/resources/vendor/react-icon-browser/AboutDialog-3ajb2X6F.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -import{h as e,u as t}from"./index.js";import{t as n}from"./Glyph-ifDznOhl.js";import{A as r,Ct as i,K as a}from"./chromeIcons-ITgd2uHk.js";import{useEffect as o,useRef as s,useState as c}from"react";import{jsx as l,jsxs as u}from"react/jsx-runtime";function d({children:e,direction:t=`vertical`,durationSec:n=16,gap:r=0,style:i,fade:a=!0,fadeColor:o=`var(--muted2)`}){return l(t===`horizontal`?m:p,{durationSec:n,gap:r,style:i,fade:a,fadeColor:o,children:e})}function f(e,t){return{position:`absolute`,inset:0,pointerEvents:`none`,background:e?`linear-gradient(${t}, transparent 16px, transparent calc(100% - 16px), ${t})`:`linear-gradient(90deg, ${t}, transparent 24px, transparent calc(100% - 24px), ${t})`}}function p({children:e,durationSec:t,gap:n,style:r,fade:i,fadeColor:a}){let c=s(null),d=s(!1);return o(()=>{let e=c.current;if(!e)return;let n=0,r=performance.now(),i=e.scrollTop,a=o=>{let s=o-r;r=o;let c=document.documentElement.hasAttribute(`data-reduce-motion`),l=e.scrollHeight/2;d.current||c?(i=e.scrollTop,l>0&&i>=l&&(i-=l,e.scrollTop=i)):l>0&&(i+=l/(t*1e3)*s,i>=l&&(i-=l),e.scrollTop=i),n=requestAnimationFrame(a)};return n=requestAnimationFrame(a),()=>cancelAnimationFrame(n)},[t]),/* @__PURE__ */ u(`div`,{onMouseEnter:()=>d.current=!0,onMouseLeave:()=>d.current=!1,style:{position:`relative`,overflow:`hidden`,...r},children:[/* @__PURE__ */ u(`div`,{ref:c,className:`ich-marquee-scroll`,style:{height:`100%`,overflowY:`auto`,overscrollBehavior:`contain`},children:[/* @__PURE__ */ l(`div`,{style:{display:`flex`,flexDirection:`column`,gap:n},children:e}),/* @__PURE__ */ l(`div`,{style:{display:`flex`,flexDirection:`column`,gap:n},"aria-hidden":!0,children:e})]}),i&&/* @__PURE__ */ l(`div`,{style:f(!0,a)})]})}function m({children:e,durationSec:t,gap:n,style:r,fade:i,fadeColor:a}){let[o,s]=c(!1);return/* @__PURE__ */ u(`div`,{onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),style:{position:`relative`,overflow:`hidden`,...r},children:[/* @__PURE__ */ u(`div`,{style:{display:`flex`,flexDirection:`row`,gap:n,animation:`ichMarqueeX ${t}s linear infinite`,animationPlayState:o?`paused`:`running`,willChange:`transform`},children:[/* @__PURE__ */ l(`div`,{style:{display:`flex`,flexDirection:`row`,gap:n},children:e}),/* @__PURE__ */ l(`div`,{style:{display:`flex`,flexDirection:`row`,gap:n},"aria-hidden":!0,children:e})]}),i&&/* @__PURE__ */ l(`div`,{style:f(!1,a)})]})}function h(){let o=r(),s=a(e=>e.closeLayer),c=a(e=>e.config),f=a(e=>e.catalog),p=c?.about??i.about,m=p.credits,h=p.links,_=c?.crossLinks?.landing,v=typeof _==`string`&&/^https?:\/\//i.test(_)?_:null;return/* @__PURE__ */ u(t,{showClose:!1,onClose:s,width:400,panelStyle:{overflow:`hidden`},children:[/* @__PURE__ */ u(`div`,{className:`relative`,children:[/* @__PURE__ */ l(`button`,{onClick:s,title:`${o(`common.close`)} — Esc`,className:`absolute top-2.5 end-2.5 z-2 w-[26px] h-[26px] border border-[var(--border)] bg-[var(--pop)] shadow-[var(--shadow)] rounded-[6px] cursor-pointer flex items-center justify-center text-[var(--muted-fg)]`,children:/* @__PURE__ */ l(n,{name:`close`,size:12,color:`currentColor`})}),/* @__PURE__ */ u(`div`,{className:`flex flex-col items-center gap-2.5 pt-[26px] px-5 pb-[18px] bg-[var(--accent-soft)]`,children:[/* @__PURE__ */ l(`div`,{className:`w-[46px] h-[46px] rounded-[12px] bg-[var(--accent)] flex items-center justify-center shadow-[var(--shadow-elevated)]`,children:/* @__PURE__ */ l(n,{name:`layers`,size:25,color:`var(--accent-fg)`})}),/* @__PURE__ */ u(`div`,{className:`flex items-baseline gap-1.5`,children:[/* @__PURE__ */ l(`span`,{className:`font-bold text-[16px] tracking-[-.02em]`,children:c?.brand.name??`Ichava`}),/* @__PURE__ */ l(`span`,{className:`text-[var(--muted-fg)] text-[14px]`,children:c?.brand.suffix??o(`about.browser`)}),/* @__PURE__ */ u(`span`,{className:`font-[family-name:'Geist_Mono',monospace] text-[11px] text-[var(--accent-text)]`,children:[`v`,c?.meta.version??`0.1.0`]})]}),/* @__PURE__ */ l(`div`,{className:`text-[12px] text-[var(--muted-fg)] text-center leading-[1.55] max-w-[40ch]`,children:p.description}),/* @__PURE__ */ u(`div`,{className:`text-[11px] text-[var(--faint-fg)]`,children:[o(`about.craftedBy`),` `,/* @__PURE__ */ l(`b`,{className:`text-[var(--fg)] font-semibold`,children:c?.meta.author??`Simtabi LLC`})]})]})]}),/* @__PURE__ */ u(`div`,{className:`flex border-t border-t-[var(--border)] border-b border-b-[var(--border)]`,children:[/* @__PURE__ */ l(g,{value:e(f?.meta.total_ecosystem??0),label:p.stats[0]?.label??o(`about.statIcons`),border:!0}),/* @__PURE__ */ l(g,{value:String(c?.meta.sets??70),label:p.stats[1]?.label??o(`about.statSets`),border:!0}),/* @__PURE__ */ l(g,{value:c?.meta.license??i.meta.license,label:p.stats[2]?.label??o(`about.statLicense`)})]}),/* @__PURE__ */ l(`div`,{className:`text-[9.5px] font-bold tracking-[.08em] text-[var(--faint-fg)] text-center pt-2 px-0 pb-1.5 bg-[var(--muted2)] border-b border-b-[var(--border)]`,children:p.creditsTitle}),/* @__PURE__ */ l(d,{durationSec:p.creditsMarqueeSec,style:{height:126,background:`var(--muted2)`},fadeColor:`var(--muted2)`,children:m.map(e=>/* @__PURE__ */ u(`div`,{className:`flex items-baseline justify-center gap-2 py-[5px] px-4`,children:[/* @__PURE__ */ l(`span`,{className:`text-[11.5px] font-[600]`,children:e.name}),/* @__PURE__ */ l(`span`,{className:`text-[10px] text-[var(--muted-fg)]`,children:e.author}),/* @__PURE__ */ l(`span`,{className:`font-[family-name:'Geist_Mono',monospace] text-[9.5px] text-[var(--accent-text)] bg-[var(--accent-soft)] rounded-[3px] py-0 px-[5px]`,children:e.license})]},e.name))}),/* @__PURE__ */ u(`div`,{className:`flex items-center gap-3 py-3 px-4 flex-wrap`,children:[/* @__PURE__ */ l(`span`,{className:`text-[11px] text-[var(--muted-fg)]`,children:p.copyright}),/* @__PURE__ */ l(`span`,{className:`flex-1`}),/* @__PURE__ */ u(`div`,{className:`flex items-center gap-3`,children:[v&&/* @__PURE__ */ l(`a`,{href:v,target:`_blank`,rel:`noopener noreferrer`,className:`text-[12px]`,"data-ichava-landing":``,children:o(`about.landing`)}),h.map(e=>/* @__PURE__ */ l(`a`,{href:e.href,target:`_blank`,rel:`noreferrer`,className:`text-[12px]`,children:e.label},e.label))]})]})]})}function g({value:e,label:t,border:n}){return/* @__PURE__ */ u(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,alignItems:`center`,gap:2,padding:10,borderRight:n?`1px solid var(--border)`:void 0},children:[/* @__PURE__ */ l(`span`,{className:`font-[family-name:'Geist_Mono',monospace] text-[14px] font-semibold`,children:e}),/* @__PURE__ */ l(`span`,{className:`text-[10px] text-[var(--muted-fg)]`,children:t})]})}export{h as AboutDialog}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/CommandPalette-CeLqONKy.js b/resources/vendor/react-icon-browser/CommandPalette-CeLqONKy.js deleted file mode 100644 index c9cad63..0000000 --- a/resources/vendor/react-icon-browser/CommandPalette-CeLqONKy.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -import{a as e,n as t,r as n,t as r}from"./IconAsset-BVRD6Pac.js";import{t as i}from"./Glyph-ifDznOhl.js";import{t as a}from"./glyphIcon-D8F12BiB.js";import{t as o}from"./cx-B63ov-ZV.js";import{A as s,C as c,Ct as l,K as u,T as d,g as f,i as p,l as m,n as h,q as g,r as _,t as v}from"./chromeIcons-ITgd2uHk.js";import{n as y,t as b}from"./tooltip-Dya0yQP2.js";import{O as x,_ as S,m as C,p as ee,v as w}from"./index.js";import{t as T}from"./avatar-D043d4aw.js";import{t as E}from"./featured-icon-CzZVq73R.js";import{o as te}from"./snippets-CIeWnjDR.js";import{Children as D,Fragment as O,createContext as k,useContext as A,useMemo as j,useRef as ne,useState as M}from"react";import{Fragment as N,jsx as P,jsxs as F}from"react/jsx-runtime";import{Autocomplete as re,Collection as I,Dialog as ie,DialogTrigger as ae,Group as oe,Header as L,Input as R,ListBox as z,ListBoxItem as B,ListBoxSection as V,Modal as H,ModalOverlay as U,Text as W,TextField as G,useFilter as K}from"react-aria-components";var q=({keys:e,withThen:t,className:n,size:r=`md`})=>/* @__PURE__ */ P(`div`,{className:o(`flex items-center gap-x-1`,n),children:e.map((e,n)=>/* @__PURE__ */ F(O,{children:[n!==0&&/* @__PURE__ */ F(`div`,{className:`flex items-center gap-x-1 text-quaternary`,children:[t&&/* @__PURE__ */ P(`span`,{className:`text-sm font-medium`,children:`then`}),/* @__PURE__ */ P(_,{size:16,strokeWidth:2.2})]}),/* @__PURE__ */ P(`kbd`,{className:o(`min-w-6 rounded-[4px] bg-secondary_alt px-1 py-0.5 text-center font-medium text-tertiary ring-1 ring-secondary ring-inset`,r===`sm`?`font-mono text-[10.5px]`:`text-sm`),children:e.toUpperCase()})]},n))}),se=({placeholder:e,shortcutKeys:t,tooltip:n,className:r,...i})=>/* @__PURE__ */ F(oe,{className:({isFocusWithin:e})=>o(`flex items-center gap-x-2 rounded-xl bg-primary p-4`,e&&`outline-2 outline-focus-ring`,r),children:[/* @__PURE__ */ P(`div`,{className:`pointer-events-none absolute`,children:/* @__PURE__ */ P(c,{className:`size-5 text-fg-quaternary`})}),/* @__PURE__ */ P(R,{placeholder:e,className:`m-0 w-full bg-transparent pl-7 text-md text-primary ring-0 outline-hidden placeholder:text-placeholder autofill:rounded-lg autofill:text-primary`,...i}),n&&/* @__PURE__ */ P(b,{title:n,placement:`top`,children:/* @__PURE__ */ P(y,{className:`cursor-pointer text-fg-quaternary transition duration-200 hover:text-fg-quaternary_hover focus:text-fg-quaternary_hover`,children:/* @__PURE__ */ P(f,{className:`size-4 stroke-[2.25px]`})})}),t&&/* @__PURE__ */ P(q,{keys:t})]}),J=e=>/* @__PURE__ */ F(`div`,{className:`flex h-7 min-w-7 items-center justify-between rounded-lg bg-primary p-1.5 ring-1 ring-secondary ring-inset`,children:[e.type===`icon`&&/* @__PURE__ */ P(e.icon,{strokeWidth:2.4,className:`size-4 text-fg-quaternary`}),e.type===`text`&&/* @__PURE__ */ P(`span`,{className:`text-sm font-semibold text-fg-quaternary`,children:e.label})]}),Y=({className:e})=>/* @__PURE__ */ F(`footer`,{className:o(`absolute inset-x-0 bottom-0 flex items-center justify-between gap-x-3 bg-alpha-white/80 p-2 pl-4.5 ring-1 ring-secondary_alt backdrop-blur-lg max-md:hidden`,e),children:[/* @__PURE__ */ F(`div`,{className:`flex gap-4`,children:[/* @__PURE__ */ F(`div`,{className:`flex items-center gap-2`,children:[/* @__PURE__ */ F(`div`,{className:`flex gap-1.5`,children:[/* @__PURE__ */ P(J,{type:`icon`,icon:p}),/* @__PURE__ */ P(J,{type:`icon`,icon:v})]}),/* @__PURE__ */ P(`span`,{className:`text-sm font-semibold text-quaternary`,children:`to navigate`})]}),/* @__PURE__ */ F(`div`,{className:`flex items-center gap-2`,children:[/* @__PURE__ */ P(J,{type:`icon`,icon:m}),/* @__PURE__ */ P(`span`,{className:`text-sm font-semibold text-quaternary`,children:`to select`})]}),/* @__PURE__ */ F(`div`,{className:`flex items-center gap-2`,children:[/* @__PURE__ */ P(J,{type:`text`,label:`esc`}),/* @__PURE__ */ P(`span`,{className:`text-sm font-semibold text-quaternary`,children:`to close`})]}),/* @__PURE__ */ F(`div`,{className:`flex items-center gap-2`,children:[/* @__PURE__ */ P(J,{type:`icon`,icon:h}),/* @__PURE__ */ P(`span`,{className:`text-sm font-semibold text-quaternary`,children:`return to parent`})]})]}),/* @__PURE__ */ P(w,{size:`sm`,color:`tertiary`,iconLeading:d})]}),ce=({children:e,className:t})=>/* @__PURE__ */ P(L,{className:o(`flex px-4.5 pt-2 text-xs font-semibold text-tertiary`,t),children:e});function le(e,t){let n=new Set(t);return Object.fromEntries(Object.entries(e).filter(([e])=>!n.has(e)))}var ue=({label:e,children:t,description:n,stacked:r,shortcutKeys:i,className:a,size:s=`md`,...c})=>{let l=s===`sm`;return/* @__PURE__ */ P(B,{...le(c,[`type`,`icon`,`alt`,`src`]),textValue:e,className:e=>o(`group block cursor-pointer px-2 py-0.5 outline-hidden`,typeof a==`function`?a(e):a),children:a=>/* @__PURE__ */ F(`div`,{className:o(`relative flex min-h-10 items-center justify-between rounded-lg px-2.5 py-2 pl-2.5 outline-focus-ring transition duration-100 ease-linear hover:bg-primary_hover`,l&&`min-h-8 rounded-md px-2 py-1 pl-2`,a.isSelected&&`bg-primary_hover`,a.isFocusVisible&&`outline-2 outline-offset-2`,r&&`items-start p-2.5 pl-3.5`),children:[c.type===`icon`&&!r&&/* @__PURE__ */ P(c.icon,{className:o(`mr-2 text-fg-quaternary`,l?`size-4`:`size-5`)}),c.type===`icon`&&r&&/* @__PURE__ */ P(E,{color:`gray`,size:`md`,theme:`modern`,icon:c.icon,className:`mr-2`}),c.type===`avatar`&&/* @__PURE__ */ P(T,{alt:c.alt,src:c.src,size:r?`md`:`xs`,className:`mr-2`}),c.type===`dot`&&/* @__PURE__ */ P(`svg`,{width:`10`,height:`10`,viewBox:`0 0 10 10`,fill:`none`,className:o(`mr-2 shrink-0 text-fg-success-secondary`,r&&`mt-2 self-start`),children:/* @__PURE__ */ P(`circle`,{cx:`5`,cy:`5`,r:`4`,fill:`currentColor`})}),/* @__PURE__ */ F(`div`,{className:o(`flex flex-1 gap-x-1.5`,r&&`flex-col`),children:[/* @__PURE__ */ F(W,{slot:`label`,className:o(`font-medium text-primary`,l?`text-[12.5px]`:`text-sm`,i&&`flex flex-1 items-center justify-between gap-2`),children:[/* @__PURE__ */ P(`span`,{children:typeof t==`function`?t(a):t||e}),i&&` `,i&&/* @__PURE__ */ P(q,{keys:i,size:s})]}),n&&/* @__PURE__ */ P(W,{slot:`description`,className:o(`text-tertiary`,l?`font-mono text-[10.5px]`:`text-sm`),children:n})]})]})})},X=k({hasFooter:!1,flatItems:[],selectedKeys:/* @__PURE__ */ new Set,setSelectedKeys:()=>{}}),de=({items:e,children:t,dialogClassName:n,overlayClassName:r,filter:i,inputValue:a,defaultItems:o,onInputChange:s,onSelectionChange:c,sensitivity:l=`base`,placeholder:u=`Search`,defaultSelectedKeys:d,shortcut:f=`⌘/`,dialogLabel:p=`Command menu`,inputLabel:m=`Search`,listLabel:h=`Command menu results`,...g})=>{let _=ne(null),{contains:v}=K({sensitivity:l}),[y,b]=M(d??/* @__PURE__ */ new Set),x=e??o,S=(x??[]).reduce((e,t)=>[...e,...t.items],[]),C=j(()=>{let e=!1;return D.forEach(t,t=>{t&&typeof t==`object`&&`type`in t&&t.type===Y&&(e=!0)}),e},[t]);return/* @__PURE__ */ P(X.Provider,{value:{hasFooter:C,flatItems:S,selectedKeys:y,setSelectedKeys:b,onSelectionChange:c,items:x,listLabel:h,...g},children:/* @__PURE__ */ P(fe,{"aria-label":p,isOpen:g.isOpen,onOpenChange:g.onOpenChange,className:r,dialogClassName:n,children:/* @__PURE__ */ F(re,{inputValue:a,onInputChange:s,filter:i===!1?void 0:i||v,children:[/* @__PURE__ */ P(G,{"aria-label":m,children:/* @__PURE__ */ P(se,{autoFocus:!0,role:`combobox`,"aria-expanded":!0,shortcutKeys:f?[f]:void 0,placeholder:u,ref:_,className:`relative outline-hidden! after:absolute after:bottom-0 after:left-0 after:h-px after:w-full after:bg-border-secondary`})}),t]})})})},fe=({className:e,dialogClassName:t,children:n,"aria-label":r=`Command menu`,...i})=>/* @__PURE__ */ P(U,{...i,isDismissable:!0,className:t=>o(`fixed inset-0 z-50 flex min-h-full items-start justify-center overflow-y-auto bg-overlay/70 p-4 text-center md:pt-16 xl:pt-[clamp(64px,10vh,243px)]`,t.isEntering&&`duration-300 ease-out animate-in fade-in`,t.isExiting&&`duration-200 ease-in animate-out fade-out`,typeof e==`function`?e(t):e),children:e=>/* @__PURE__ */ P(H,{className:e=>o(`flex max-h-full w-160 flex-col overflow-hidden rounded-xl bg-primary text-left align-middle shadow-xl`,e.isEntering&&`duration-300 ease-out animate-in zoom-in-95`,e.isExiting&&`duration-200 ease-in animate-out zoom-out-95`,typeof t==`function`?t(e):t),children:/* @__PURE__ */ P(ie,{"aria-label":r,className:`relative flex min-h-0 flex-1 flex-col outline-hidden`,children:typeof n==`function`?n(e):n})})}),pe=({className:e,selectionMode:t=`single`,...n})=>{let{hasFooter:r,emptyState:i,listLabel:a,...s}=A(X);return/* @__PURE__ */ P(z,{"aria-label":a,...n,...s,renderEmptyState:()=>i,selectionMode:t,onSelectionChange:e=>{s.onSelectionChange?.(e),s.setSelectedKeys(e)},className:t=>o(`flex max-h-106 flex-1 scroll-py-10 flex-col gap-2 overflow-auto focus:outline-hidden`,r&&`scroll-pb-22 pb-13`,!t.isEmpty&&`pt-2`,typeof e==`function`?e(t):e)})},me=({title:e,children:t,items:n,...r})=>/* @__PURE__ */ F(V,{...r,className:o(`border-b border-secondary pb-2 last:border-transparent`,r.className),children:[e&&/* @__PURE__ */ P(ce,{className:`pb-1`,children:e},e),/* @__PURE__ */ P(I,{items:n,children:t})]}),he=({children:e,asChild:t,...n})=>{let{selectedKeys:r}=A(X),i=Array.from(r);if(!i.length)return null;let a=i.at(0);return t?/* @__PURE__ */ P(O,{children:typeof e==`function`?e({selectedId:a}):e}):/* @__PURE__ */ P(`div`,{...n,children:typeof e==`function`?e({selectedId:a}):e})},Z=({className:e,...t})=>/* @__PURE__ */ P(`div`,{...t,className:o(`min-h-0 flex-1`,e)}),Q=de;Q.Item=ue,Q.List=pe,Q.Group=Z,Q.Footer=Y,Q.Preview=he,Q.Section=me,Q.Trigger=ae,Q.Collection=I;function ge(){let t=g(),r=e(),{catalog:i,page:c}=n(),d=u(e=>e.closeLayer),[f,p]=M(``),m=u(e=>e.config?.features.commands===!1?_e:e.recentCommands),h=C(),_=s(),v=u(e=>e.config?.limits)??l.limits,y=t.getState(),b=j(()=>[{id:`theme`,label:_(`palette.toggleTheme`),icon:`moon`,kbd:`${h}T`,run:()=>y.toggleTheme()},{id:`settings`,label:_(`palette.openSettings`),icon:`settings`,kbd:`${h},`,run:()=>y.openLayer(`settings`)},{id:`favorites`,label:_(`palette.openFavorites`),icon:`heart`,kbd:`${h}1`,run:()=>y.openLibrary(`favorites`)},{id:`history`,label:_(`palette.openHistory`),icon:`clock`,kbd:`${h}2`,run:()=>y.openLibrary(`history`)},{id:`collections`,label:_(`palette.openCollections`),icon:`folder`,kbd:`${h}3`,run:()=>y.openLibrary(`collections`)},{id:`view`,label:y.view===`grid`?_(`palette.switchListView`):_(`palette.switchGridView`),icon:y.view===`grid`?`list`:`grid`,kbd:``,run:()=>y.setView(y.view===`grid`?`list`:`grid`)},{id:`reset`,label:_(`palette.resetFilters`),icon:`refresh`,kbd:S(h),run:()=>y.openConfirm({title:_(`toolbar.resetTitle`),body:_(`toolbar.resetBody`),confirmLabel:_(`toolbar.resetConfirm`),danger:!0,onConfirm:()=>{y.resetFilters(),y.showToast(_(`toolbar.resetToast`),`refresh`)}})},{id:`selectAll`,label:_(`palette.selectAll`),icon:`check`,kbd:`${h}A`,run:()=>x(t,r)},...y.config?.features.devtools===!1?[]:[{id:`devtools`,label:_(`palette.openDevtools`),icon:`zap`,kbd:ee(h),run:()=>y.toggleDevtools()}]].filter(e=>{let t=y.config?.features;return e.id===`theme`?t?.themeToggle!==!1:e.id===`favorites`||e.id===`history`||e.id===`collections`?t?.[e.id]!==!1:!0}),[h,y,_,t,r]),w=f.trim().toLowerCase(),T=w?b.filter(e=>e.label.toLowerCase().includes(w)):[...b].sort((e,t)=>$(m,e.id)-$(m,t.id)),E=j(()=>w?(i?i.icons:c.items).filter(e=>`${e.name} ${e.id} ${(e.tags??[]).join(` `)}`.toLowerCase().includes(w)).slice(0,v.paletteIconResults):[],[w,i,c,v.paletteIconResults]),D=new Map(T.map(e=>[`a:${e.id}`,e])),O=new Map(E.map(e=>[`i:${e.id}`,e])),k=j(()=>E.map(e=>{let t=({className:t})=>/* @__PURE__ */ P(`span`,{className:o(`inline-flex items-center justify-center`,t),children:/* @__PURE__ */ P(ve,{icon:e})}),n=/* @__PURE__ */ F(N,{children:[e.name,` `,/* @__PURE__ */ P(`span`,{className:`ms-1 font-mono text-[10.5px] font-normal text-tertiary`,children:te(e)})]});return{id:`i:${e.id}`,type:`icon`,icon:t,label:e.name,children:n,size:`sm`}}),[E]),A=[];return T.length&&A.push({id:`actions`,title:!w&&m.length?_(`palette.recent`):_(`palette.actions`),items:T.map(e=>({id:`a:${e.id}`,type:`icon`,icon:a(e.icon),label:e.label,shortcutKeys:e.kbd?[e.kbd]:void 0,size:`sm`}))}),k.length&&A.push({id:`icons`,title:_(`palette.icons`),items:k}),/* @__PURE__ */ F(Q,{isOpen:!0,onOpenChange:e=>!e&&d(),items:A,filter:!1,inputValue:f,onInputChange:p,onAction:e=>{let n=O.get(String(e));if(n){y.openDetail(n.id);return}let r=D.get(String(e));r&&(t.getState().config?.features.commands!==!1&&y.logCommand(r.id,`action`),r.run(),t.getState().layer===`palette`&&d())},shortcut:null,placeholder:_(`palette.placeholder`),inputLabel:_(`palette.placeholder`),dialogLabel:_(`header.commandPalette`),listLabel:_(`palette.results`),overlayClassName:`z-(--z-overlay)`,dialogClassName:`w-[560px] max-w-[94vw] bg-[var(--surface)] text-[length:var(--app-font,13.5px)]`,emptyState:/* @__PURE__ */ P(`div`,{className:`p-6 text-center text-[12px] text-[var(--muted-fg)]`,children:_(`palette.noMatches`,{q:f})}),children:[/* @__PURE__ */ P(Q.Group,{children:/* @__PURE__ */ P(Q.List,{selectionMode:`none`,children:e=>/* @__PURE__ */ P(Q.Section,{...e,children:e=>/* @__PURE__ */ P(Q.Item,{...e},e.id)})})}),/* @__PURE__ */ F(`div`,{className:`flex items-center gap-2.5 border-t border-secondary px-3.5 py-2 text-[10.5px] text-[var(--muted-fg)]`,children:[/* @__PURE__ */ F(`span`,{children:[/* @__PURE__ */ P(`b`,{children:`↑↓`}),` `,_(`palette.navigate`)]}),/* @__PURE__ */ P(`span`,{"aria-hidden":!0,children:`·`}),/* @__PURE__ */ F(`span`,{children:[/* @__PURE__ */ P(`b`,{children:`↵`}),` `,_(`palette.select`)]}),/* @__PURE__ */ P(`span`,{"aria-hidden":!0,children:`·`}),/* @__PURE__ */ F(`span`,{children:[/* @__PURE__ */ P(`b`,{children:`esc`}),` `,_(`palette.close`)]})]})]})}var _e=[];function $(e,t){let n=e.indexOf(t);return n<0?99:n}function ve({icon:e}){let n=!!(e.svgUrl||e.svgContent),a=t(e);return!n||a?.body===``?/* @__PURE__ */ P(`span`,{"data-role":`preview-fallback`,className:`inline-flex`,children:/* @__PURE__ */ P(i,{name:`cube`,size:16,color:`var(--muted-fg)`})}):/* @__PURE__ */ P(r,{icon:e,size:16,inline:!0})}export{ge as CommandPalette}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/DEPRECATED.md b/resources/vendor/react-icon-browser/DEPRECATED.md deleted file mode 100644 index 09d69e0..0000000 --- a/resources/vendor/react-icon-browser/DEPRECATED.md +++ /dev/null @@ -1,15 +0,0 @@ -# Deprecated: the vendored react-icon-browser build - -Deprecated on 2026-11-12 (react consolidation 3e). Removing this directory needs the owner's yes, -recorded in the react consolidation audit (`deprecations.md`). - -This is `@ichava/react-icon-browser`'s library build, vendored from that repository at the commit -`vendored.json` names. The browser's source lives in this repository now, in `resources/js/`, and -`npm run build:prod` builds the committed bundle from it. Nothing imports this directory, and -`npm run sync:react-icon-browser` no longer refreshes it. - -One file is still read at run time: `prepaint.html`, which the -`` component (`src/View/Components/Prepaint.php`) inlines. -`npm run build:prepaint` writes it from `resources/js/boot/prepaint.html`, and -`resources/js/core/prepaint.test.ts` fails while the two differ. Never edit the other files; -`resources/js/core/vendoredLibrary.test.ts` still checks them against `vendored.json`. diff --git a/resources/vendor/react-icon-browser/DevToolsPanel-CbR2FqMo.js b/resources/vendor/react-icon-browser/DevToolsPanel-CbR2FqMo.js deleted file mode 100644 index 6f835b2..0000000 --- a/resources/vendor/react-icon-browser/DevToolsPanel-CbR2FqMo.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -import{K as e,Lt as t,Ot as n,Q as r,St as i,Y as a,b as o,bt as s,ct as c,ot as l,q as u,st as d,v as f,x as p,xt as m,y as h}from"./chromeIcons-ITgd2uHk.js";import{f as g,n as _,t as v}from"./index.js";import{t as y}from"./Glyph-ifDznOhl.js";import{useEffect as b,useMemo as x,useRef as S,useState as C}from"react";import{Fragment as w,jsx as T,jsxs as E}from"react/jsx-runtime";function D(){return a(u())??n}var O=[{id:`events`,label:`Events`},{id:`state`,label:`State`},{id:`storage`,label:`Storage`},{id:`tests`,label:`Tests`},{id:`logs`,label:`Logs`},{id:`boot`,label:`Boot`},{id:`status`,label:`Status`}],k=[{id:`bottom`,label:`Dock to bottom`,Icon:f},{id:`right`,label:`Dock to right`,Icon:o},{id:`left`,label:`Dock to left`,Icon:h},{id:`top`,label:`Dock to top`,Icon:p}];function A(e){if(typeof window>`u`)return r.max;let t=e===`left`||e===`right`?window.innerWidth:window.innerHeight;return Math.max(r.min,Math.min(r.max,Math.floor(t*.85)))}var j={bottom:e=>({left:0,right:0,bottom:0,height:e,borderTop:`1px solid var(--border)`,boxShadow:`0 -8px 24px -12px rgba(0,0,0,.3)`}),top:e=>({left:0,right:0,top:0,height:e,borderBottom:`1px solid var(--border)`,boxShadow:`0 8px 24px -12px rgba(0,0,0,.3)`}),left:e=>({top:0,bottom:0,left:0,width:e,borderRight:`1px solid var(--border)`,boxShadow:`8px 0 24px -12px rgba(0,0,0,.3)`}),right:e=>({top:0,bottom:0,right:0,width:e,borderLeft:`1px solid var(--border)`,boxShadow:`-8px 0 24px -12px rgba(0,0,0,.3)`})};function M(){let t=u(),n=e(e=>e.devtools.tab),i=e(e=>e.setDevToolsTab),a=e(e=>{let t=e.config?.host;return!t||!c(t,`status`)?null:l(t,`status`)??d(t,`status`,`status`)}),o=e(e=>e.toggleDevtools),{dock:s,size:f}=e(e=>e.devtoolsLayout),p=e(e=>e.setDevtoolsDock),m=e(e=>e.setDevtoolsSize),h=D();b(()=>h.on(e=>t.getState().pushDevEvent(e)),[h,t]);let[,g]=C(0);b(()=>{let e=()=>g(e=>e+1);return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]);let _=A(s),v=Math.min(f,_),x=s===`top`||s===`bottom`,S=e=>{e.preventDefault();let t=e.currentTarget;t.setPointerCapture(e.pointerId);let n=e=>s===`bottom`?window.innerHeight-e.clientY:s===`top`?e.clientY:s===`left`?e.clientX:window.innerWidth-e.clientX,r=e=>m(Math.min(A(s),n(e))),i=e=>{t.releasePointerCapture(e.pointerId),t.removeEventListener(`pointermove`,r),t.removeEventListener(`pointerup`,i)};t.addEventListener(`pointermove`,r),t.addEventListener(`pointerup`,i)},w=e=>{let t={bottom:`ArrowUp`,top:`ArrowDown`,left:`ArrowRight`,right:`ArrowLeft`}[s],n={bottom:`ArrowDown`,top:`ArrowUp`,left:`ArrowLeft`,right:`ArrowRight`}[s],i=e.shiftKey?64:16,a=null;e.key===t?a=v+i:e.key===n?a=v-i:e.key===`Home`?a=r.min:e.key===`End`&&(a=_),a!==null&&(e.preventDefault(),m(Math.min(_,a)))},M=s===`bottom`?{top:-3,left:0,right:0,height:6,cursor:`ns-resize`}:s===`top`?{bottom:-3,left:0,right:0,height:6,cursor:`ns-resize`}:s===`left`?{right:-3,top:0,bottom:0,width:6,cursor:`ew-resize`}:{left:-3,top:0,bottom:0,width:6,cursor:`ew-resize`};return/* @__PURE__ */ E(`div`,{role:`region`,"aria-label":`Ichava DevTools`,"data-dock":s,className:`fixed z-55 bg-[var(--pop)] flex flex-col text-[12px]`,style:j[s](v),children:[/* @__PURE__ */ T(`div`,{role:`separator`,"aria-orientation":x?`horizontal`:`vertical`,"aria-label":`Resize DevTools`,"aria-valuemin":r.min,"aria-valuemax":_,"aria-valuenow":v,tabIndex:0,onPointerDown:S,onKeyDown:w,className:`absolute z-1 touch-none outline-focus-ring hover:bg-[var(--accent-soft)] focus-visible:bg-[var(--accent-soft)]`,style:M}),/* @__PURE__ */ E(`div`,{className:`flex flex-wrap items-center gap-1 min-h-[34px] py-1 px-2.5 border-b border-b-[var(--border)] flex-none`,children:[/* @__PURE__ */ T(y,{name:`zap`,size:13,color:`var(--accent-text)`}),/* @__PURE__ */ T(`span`,{className:`text-[12px] font-[600] mr-1.5`,children:`Ichava DevTools`}),O.filter(e=>e.id!==`status`||a).map(e=>/* @__PURE__ */ T(`button`,{onClick:()=>i(e.id),style:{height:24,padding:`0 9px`,border:`none`,backgroundColor:n===e.id?`var(--muted)`:`transparent`,color:n===e.id?`var(--fg)`:`var(--muted-fg)`,borderRadius:5,fontSize:11.5,fontWeight:n===e.id?600:500,cursor:`pointer`},children:e.label},e.id)),/* @__PURE__ */ T(`span`,{className:`flex-1`}),x&&/* @__PURE__ */ T(`span`,{className:`font-[family-name:'Geist_Mono',monospace] text-[10px] text-[var(--faint-fg)]`,children:`window.dispatchEvent → ichava:*`}),/* @__PURE__ */ T(`div`,{role:`radiogroup`,"aria-label":`DevTools position`,className:`ml-2 flex items-center gap-0.5 rounded-[6px] border border-[var(--border)] p-0.5`,children:k.map(({id:e,label:t,Icon:n})=>/* @__PURE__ */ T(`button`,{role:`radio`,"aria-checked":s===e,"aria-label":t,title:t,onClick:()=>p(e),className:`flex h-5 w-5 items-center justify-center rounded-[4px] border-0 cursor-pointer ${s===e?`bg-[var(--muted)] text-[var(--fg)]`:`bg-transparent text-[var(--muted-fg)]`}`,children:/* @__PURE__ */ T(n,{"aria-hidden":`true`,className:`size-3.5`})},e))}),/* @__PURE__ */ T(`button`,{onClick:o,title:`Close — ⇧⌘D / Esc`,className:`ml-2 w-6 h-6 border border-[var(--border)] bg-[var(--bg)] rounded-[5px] cursor-pointer flex items-center justify-center text-[var(--muted-fg)]`,children:/* @__PURE__ */ T(y,{name:`close`,size:11,color:`currentColor`})})]}),/* @__PURE__ */ E(`div`,{className:`flex-1 overflow-auto p-3 font-[family-name:'Geist_Mono',monospace]`,children:[n===`events`&&/* @__PURE__ */ T(P,{}),n===`state`&&/* @__PURE__ */ T(F,{}),n===`storage`&&/* @__PURE__ */ T(I,{}),n===`tests`&&/* @__PURE__ */ T(L,{}),n===`logs`&&/* @__PURE__ */ T(R,{}),n===`boot`&&/* @__PURE__ */ T(z,{}),n===`status`&&a&&/* @__PURE__ */ T(W,{url:a})]})]})}function N(e){try{return new Date(e).toLocaleTimeString()}catch{return String(e)}}function P(){let t=e(e=>e.devtools.events),n=e(e=>e.devtools.capturing),r=e(e=>e.setCapturing),i=e(e=>e.clearDevEvents);return/* @__PURE__ */ E(w,{children:[/* @__PURE__ */ E(B,{children:[/* @__PURE__ */ E(V,{onClick:()=>r(!n),children:[n?`Pause`:`Resume`,` capture`]}),/* @__PURE__ */ T(V,{onClick:i,children:`Clear log`}),/* @__PURE__ */ E(`span`,{className:`text-[var(--faint-fg)]`,children:[t.length,` events`]})]}),t.length===0?/* @__PURE__ */ T(U,{children:`No events yet — interact with the app (sign in, share, toggle theme…).`}):t.map((e,t)=>/* @__PURE__ */ E(H,{children:[/* @__PURE__ */ T(`span`,{className:`text-[var(--faint-fg)]`,children:N(e.ts)}),/* @__PURE__ */ T(`span`,{className:`text-[var(--faint-fg)]`,children:e.source??`page`}),/* @__PURE__ */ T(`span`,{className:`text-[var(--accent-text)] font-semibold`,children:e.label}),e.payload!=null&&/* @__PURE__ */ T(`span`,{className:`text-[var(--muted-fg)]`,children:JSON.stringify(e.payload)})]},t))]})}function F(){let t=e(e=>e),n={theme:t.theme,view:t.view,accent:t.accent,size:t.size,sizeUnit:t.sizeUnit,gridStroke:t.gridStroke,color:t.color,treatment:t.treatment,filters:t.filters,auth:{status:t.auth.status,plan:t.auth.user?.plan??null},favorites:t.favorites.length,collections:t.collections.length,storageDriver:t.storageDriver,consent:t.consent};return/* @__PURE__ */ T(`pre`,{className:`m-0 whitespace-pre-wrap text-[var(--fg)] text-[11.5px] leading-[1.55]`,children:JSON.stringify(n,null,2)})}function I(){let t=u(),n=g(),r=e(e=>e.storageDriver),a=e(e=>e.setStorageDriver),o=e(e=>e.factoryReset),c=e(e=>e.openConfirm);return/* @__PURE__ */ E(w,{children:[/* @__PURE__ */ T(`div`,{className:`font-[600] mb-1.5`,children:`Frontend storage driver`}),/* @__PURE__ */ T(`div`,{className:`inline-flex gap-0.5 border border-[var(--border)] rounded-[6px] p-0.5 mb-2.5`,children:[`local`,`session`].map(e=>/* @__PURE__ */ T(`button`,{onClick:()=>a(e),style:{height:24,padding:`0 12px`,border:`none`,borderRadius:4,backgroundColor:r===e?`var(--accent-soft)`:`transparent`,color:r===e?`var(--color-text-brand-secondary)`:`var(--muted-fg)`,fontSize:11.5,fontWeight:600,cursor:`pointer`},children:e===`local`?`localStorage`:`sessionStorage`},e))}),/* @__PURE__ */ E(`div`,{className:`text-[11px] text-[var(--muted-fg)] leading-[1.5] mb-2.5 font-[family-name:'Geist',system-ui]`,children:[`State key `,/* @__PURE__ */ T(`b`,{children:s}),` — appearance, filters, view, favorites, collections, auth, notifications, consent. Active driver: `,/* @__PURE__ */ T(`b`,{children:i()}),`.`]}),/* @__PURE__ */ E(B,{children:[/* @__PURE__ */ T(V,{onClick:()=>n(JSON.stringify(t.getState(),(e,t)=>e===`catalog`||e===`filtersData`?void 0:t),`State JSON copied`),children:`Copy state JSON`}),/* @__PURE__ */ T(V,{onClick:()=>c({title:`Reset stored state?`,body:`Clears the persisted snapshot from the active storage driver and restores factory defaults.`,confirmLabel:`Reset state`,danger:!0,onConfirm:()=>{m(),o()}}),children:`Reset stored state…`})]})]})}function L(){let t=u(),n=e(e=>e.catalog),r=e(e=>e.config),[i,a]=C(null),o=i?.filter(e=>e.pass).length??0,s=i?.length??0;return/* @__PURE__ */ E(w,{children:[/* @__PURE__ */ E(B,{children:[/* @__PURE__ */ T(V,{onClick:()=>a(v(n,r,t)),primary:!0,children:`Run full regression`}),i&&/* @__PURE__ */ E(`span`,{style:{color:o===s?`var(--success)`:`var(--danger)`,fontWeight:600},children:[o,` passed · `,s-o,` failed`]}),/* @__PURE__ */ T(`span`,{className:`text-[var(--faint-fg)] font-[family-name:'Geist',system-ui]`,children:`Covers catalog, pagination, snippets, treatments, config, store invariants`})]}),i?.map((e,t)=>/* @__PURE__ */ E(H,{children:[/* @__PURE__ */ T(y,{name:e.pass?`check`:`close`,size:12,color:e.pass?`var(--success)`:`var(--danger)`}),/* @__PURE__ */ T(`span`,{className:`text-[var(--fg)]`,children:e.name}),e.detail&&!e.pass&&/* @__PURE__ */ T(`span`,{className:`text-[var(--danger)]`,children:e.detail})]},t))]})}function R(){let e=_(),[t,n]=C(0),r=S(`all`);b(()=>e.subscribe(()=>n(e=>e+1)),[e]);let i=x(()=>e.buffer(),[e,t]),a=g();return/* @__PURE__ */ E(w,{children:[/* @__PURE__ */ E(B,{children:[/* @__PURE__ */ T(V,{onClick:()=>{e.clear(),n(e=>e+1)},children:`Clear`}),/* @__PURE__ */ T(V,{onClick:()=>a(JSON.stringify(i,null,2),`Logs copied`),children:`Export JSON`}),/* @__PURE__ */ E(`span`,{className:`text-[var(--faint-fg)]`,children:[i.length,` entries · level `,e.getLevel()]})]}),i.length===0?/* @__PURE__ */ T(U,{children:`No log entries.`}):i.slice().reverse().map((e,t)=>/* @__PURE__ */ E(H,{children:[/* @__PURE__ */ T(`span`,{className:`text-[var(--faint-fg)]`,children:N(e.ts)}),/* @__PURE__ */ T(`span`,{style:{color:e.level===`error`?`var(--danger)`:e.level===`warn`?`var(--warning)`:`var(--muted-fg)`,fontWeight:600,minWidth:40},children:e.level}),/* @__PURE__ */ T(`span`,{className:`text-[var(--faint-fg)]`,children:e.source??`page`}),/* @__PURE__ */ T(`span`,{className:`text-[var(--accent-text)]`,children:e.channel}),/* @__PURE__ */ T(`span`,{className:`text-[var(--fg)]`,children:e.message})]},t)),/* @__PURE__ */ T(`button`,{hidden:!0,onClick:()=>r.current=`all`})]})}function z(){let t=e(e=>e.boot),n=()=>{window.ichavaBoot?.retry()},r=e=>{window.ichavaBoot?.[e](!0)};return/* @__PURE__ */ E(w,{children:[/* @__PURE__ */ E(B,{children:[/* @__PURE__ */ T(V,{onClick:n,children:`Replay boot`}),/* @__PURE__ */ T(V,{onClick:()=>r(`simSlow`),children:`Sim slow`}),/* @__PURE__ */ T(V,{onClick:()=>r(`simOffline`),children:`Sim offline`})]}),/* @__PURE__ */ E(H,{children:[/* @__PURE__ */ T(`span`,{className:`text-[var(--faint-fg)]`,children:`phase`}),/* @__PURE__ */ T(`span`,{className:`text-[var(--accent-text)] font-semibold`,children:t.phase})]}),/* @__PURE__ */ E(H,{children:[/* @__PURE__ */ T(`span`,{className:`text-[var(--faint-fg)]`,children:`progress`}),/* @__PURE__ */ E(`span`,{className:`text-[var(--fg)]`,children:[t.progress,`%`]})]}),/* @__PURE__ */ E(H,{children:[/* @__PURE__ */ T(`span`,{className:`text-[var(--faint-fg)]`,children:`label`}),/* @__PURE__ */ T(`span`,{className:`text-[var(--fg)]`,children:t.label||`—`})]}),/* @__PURE__ */ E(H,{children:[/* @__PURE__ */ T(`span`,{className:`text-[var(--faint-fg)]`,children:`done`}),/* @__PURE__ */ T(`span`,{className:`text-[var(--fg)]`,children:String(t.done)})]})]})}function B({children:e}){return/* @__PURE__ */ T(`div`,{className:`flex items-center gap-2 mb-2.5`,children:e})}function V({children:e,onClick:t,primary:n}){return/* @__PURE__ */ T(`button`,{onClick:t,style:{height:26,padding:`0 10px`,border:n?`none`:`1px solid var(--border)`,borderRadius:5,backgroundColor:n?`var(--accent)`:`var(--bg)`,color:n?`var(--accent-fg)`:`var(--fg)`,fontSize:11.5,fontWeight:600,cursor:`pointer`,fontFamily:`'Geist',system-ui`},children:e})}function H({children:e}){return/* @__PURE__ */ T(`div`,{className:`flex items-center gap-2 py-0.5 px-0 text-[11.5px]`,children:e})}function U({children:e}){return/* @__PURE__ */ T(`div`,{className:`text-[var(--faint-fg)] font-[family-name:'Geist',system-ui] py-2 px-0`,children:e})}function W({url:e}){let[n,r]=C(null),[i,a]=C(null),[o,s]=C(0);if(b(()=>{let n=!0;return t().request(e,{baseUrl:``}).then(e=>{n&&(r(e.data),a(null))}).catch(e=>{n&&a(String(e))}),()=>{n=!1}},[e,o]),i)return/* @__PURE__ */ E(`div`,{className:`text-[var(--danger)] text-[11.5px]`,children:[`Status unavailable: `,i]});if(!n)return/* @__PURE__ */ T(`div`,{className:`text-[var(--muted-fg)] text-[11.5px]`,children:`Loading status…`});let c=[[`Packs registered`,String(n.registry.packages)],[`Conflicts`,String(n.registry.conflicts.length)],[`Orphaned packs`,String(n.orphans.length)],[`Watcher last scan`,n.watcher.lastScan??`never`],[`Render optimisation`,n.render.optimizationLevel]];return/* @__PURE__ */ E(`div`,{className:`flex flex-col gap-2`,children:[/* @__PURE__ */ T(`dl`,{className:`grid grid-cols-[max-content_1fr] gap-x-4 gap-y-1 m-0 text-[11.5px]`,children:c.map(([e,t])=>/* @__PURE__ */ E(`div`,{className:`contents`,children:[/* @__PURE__ */ T(`dt`,{className:`text-[var(--muted-fg)]`,children:e}),/* @__PURE__ */ T(`dd`,{className:`m-0 font-[family-name:'Geist_Mono',monospace]`,children:t})]},e))}),/* @__PURE__ */ T(`div`,{children:/* @__PURE__ */ T(V,{onClick:()=>s(e=>e+1),children:`Refresh`})}),/* @__PURE__ */ T(`pre`,{className:`m-0 whitespace-pre-wrap text-[var(--fg)] text-[11px] leading-[1.5]`,children:JSON.stringify(n,null,2)})]})}export{M as DevToolsPanel}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/Glyph-ifDznOhl.js b/resources/vendor/react-icon-browser/Glyph-ifDznOhl.js deleted file mode 100644 index ff80d35..0000000 --- a/resources/vendor/react-icon-browser/Glyph-ifDznOhl.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -import{B as e,F as t,H as n,I as r,L as i,M as a,N as o,P as s,R as c,U as l,V as u,W as d,j as f,z as p}from"./chromeIcons-ITgd2uHk.js";import{jsx as m}from"react/jsx-runtime";function h(e){return e?/^(https?:)?\//.test(e)?e:`${`/`.replace(/\/$/,``)}/${e.replace(/^\//,``)}`:``}function g(e){return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`}var _=class{url(e){return e.svgUrl?h(e.svgUrl):e.svgContent?g(e.svgContent):``}resolve(e,t){let n=this.url(e);return e.ownColor?{kind:`image`,url:n}:{kind:`mask`,url:n,color:t??`currentColor`}}toStyle(e,t){let n={width:`${t}px`,height:`${t}px`};return e.kind===`image`?{...n,backgroundImage:`url("${e.url}")`,backgroundSize:`contain`,backgroundRepeat:`no-repeat`,backgroundPosition:`center`}:{...n,backgroundColor:e.color,maskImage:`url("${e.url}")`,maskSize:`contain`,maskRepeat:`no-repeat`,maskPosition:`center`,WebkitMaskImage:`url("${e.url}")`,WebkitMaskSize:`contain`,WebkitMaskRepeat:`no-repeat`,WebkitMaskPosition:`center`}}},v=new _,y=d(`outline`,`adjustments-horizontal`,`AdjustmentsHorizontal`,[[`path`,{d:`M12 6a2 2 0 1 0 4 0a2 2 0 1 0 -4 0`,key:`svg-0`}],[`path`,{d:`M4 6l8 0`,key:`svg-1`}],[`path`,{d:`M16 6l4 0`,key:`svg-2`}],[`path`,{d:`M6 12a2 2 0 1 0 4 0a2 2 0 1 0 -4 0`,key:`svg-3`}],[`path`,{d:`M4 12l2 0`,key:`svg-4`}],[`path`,{d:`M10 12l10 0`,key:`svg-5`}],[`path`,{d:`M15 18a2 2 0 1 0 4 0a2 2 0 1 0 -4 0`,key:`svg-6`}],[`path`,{d:`M4 18l11 0`,key:`svg-7`}],[`path`,{d:`M19 18l1 0`,key:`svg-8`}]]),b=d(`outline`,`alert-circle`,`AlertCircle`,[[`path`,{d:`M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0`,key:`svg-0`}],[`path`,{d:`M12 8v4`,key:`svg-1`}],[`path`,{d:`M12 16h.01`,key:`svg-2`}]]),x=d(`outline`,`bolt`,`Bolt`,[[`path`,{d:`M13 3l0 7l6 0l-8 11l0 -7l-6 0l8 -11`,key:`svg-0`}]]),S=d(`outline`,`chart-bar`,`ChartBar`,[[`path`,{d:`M3 13a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -6`,key:`svg-0`}],[`path`,{d:`M15 9a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v10a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -10`,key:`svg-1`}],[`path`,{d:`M9 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v14a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -14`,key:`svg-2`}],[`path`,{d:`M4 20h14`,key:`svg-3`}]]),C=d(`outline`,`chevron-left`,`ChevronLeft`,[[`path`,{d:`M15 6l-6 6l6 6`,key:`svg-0`}]]),w=d(`outline`,`chevron-up`,`ChevronUp`,[[`path`,{d:`M6 15l6 -6l6 6`,key:`svg-0`}]]),T=d(`outline`,`clock`,`Clock`,[[`path`,{d:`M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0`,key:`svg-0`}],[`path`,{d:`M12 7v5l3 3`,key:`svg-1`}]]),E=d(`outline`,`command`,`Command`,[[`path`,{d:`M7 9a2 2 0 1 1 2 -2v10a2 2 0 1 1 -2 -2h10a2 2 0 1 1 -2 2v-10a2 2 0 1 1 2 2h-10`,key:`svg-0`}]]),D=d(`outline`,`copy`,`Copy`,[[`path`,{d:`M7 9.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667l0 -8.666`,key:`svg-0`}],[`path`,{d:`M4.012 16.737a2.005 2.005 0 0 1 -1.012 -1.737v-10c0 -1.1 .9 -2 2 -2h10c.75 0 1.158 .385 1.5 1`,key:`svg-1`}]]),O=d(`outline`,`cube`,`Cube`,[[`path`,{d:`M21 16.008v-8.018a1.98 1.98 0 0 0 -1 -1.717l-7 -4.008a2.016 2.016 0 0 0 -2 0l-7 4.008c-.619 .355 -1 1.01 -1 1.718v8.018c0 .709 .381 1.363 1 1.717l7 4.008a2.016 2.016 0 0 0 2 0l7 -4.008c.619 -.355 1 -1.01 1 -1.718`,key:`svg-0`}],[`path`,{d:`M12 22v-10`,key:`svg-1`}],[`path`,{d:`M12 12l8.73 -5.04`,key:`svg-2`}],[`path`,{d:`M3.27 6.96l8.73 5.04`,key:`svg-3`}]]),k=d(`outline`,`download`,`Download`,[[`path`,{d:`M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2`,key:`svg-0`}],[`path`,{d:`M7 11l5 5l5 -5`,key:`svg-1`}],[`path`,{d:`M12 4l0 12`,key:`svg-2`}]]),A=d(`outline`,`heart`,`Heart`,[[`path`,{d:`M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572`,key:`svg-0`}]]),j=d(`outline`,`layout-grid`,`LayoutGrid`,[[`path`,{d:`M4 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4`,key:`svg-0`}],[`path`,{d:`M14 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4`,key:`svg-1`}],[`path`,{d:`M4 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4`,key:`svg-2`}],[`path`,{d:`M14 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4`,key:`svg-3`}]]),M=d(`outline`,`link`,`Link`,[[`path`,{d:`M9 15l6 -6`,key:`svg-0`}],[`path`,{d:`M11 6l.463 -.536a5 5 0 0 1 7.071 7.072l-.534 .464`,key:`svg-1`}],[`path`,{d:`M13 18l-.397 .534a5.068 5.068 0 0 1 -7.127 0a4.972 4.972 0 0 1 0 -7.071l.524 -.463`,key:`svg-2`}]]),N=d(`outline`,`list`,`List`,[[`path`,{d:`M9 6l11 0`,key:`svg-0`}],[`path`,{d:`M9 12l11 0`,key:`svg-1`}],[`path`,{d:`M9 18l11 0`,key:`svg-2`}],[`path`,{d:`M5 6l0 .01`,key:`svg-3`}],[`path`,{d:`M5 12l0 .01`,key:`svg-4`}],[`path`,{d:`M5 18l0 .01`,key:`svg-5`}]]),P=d(`outline`,`maximize`,`Maximize`,[[`path`,{d:`M4 8v-2a2 2 0 0 1 2 -2h2`,key:`svg-0`}],[`path`,{d:`M4 16v2a2 2 0 0 0 2 2h2`,key:`svg-1`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v2`,key:`svg-2`}],[`path`,{d:`M16 20h2a2 2 0 0 0 2 -2v-2`,key:`svg-3`}]]),F=d(`outline`,`minimize`,`Minimize`,[[`path`,{d:`M15 19v-2a2 2 0 0 1 2 -2h2`,key:`svg-0`}],[`path`,{d:`M15 5v2a2 2 0 0 0 2 2h2`,key:`svg-1`}],[`path`,{d:`M5 15h2a2 2 0 0 1 2 2v2`,key:`svg-2`}],[`path`,{d:`M5 9h2a2 2 0 0 0 2 -2v-2`,key:`svg-3`}]]),I=d(`outline`,`moon`,`Moon`,[[`path`,{d:`M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454l0 .008`,key:`svg-0`}]]),L=d(`outline`,`palette`,`Palette`,[[`path`,{d:`M12 21a9 9 0 0 1 0 -18c4.97 0 9 3.582 9 8c0 1.06 -.474 2.078 -1.318 2.828c-.844 .75 -1.989 1.172 -3.182 1.172h-2.5a2 2 0 0 0 -1 3.75a1.3 1.3 0 0 1 -1 2.25`,key:`svg-0`}],[`path`,{d:`M7.5 10.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-1`}],[`path`,{d:`M11.5 7.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-2`}],[`path`,{d:`M15.5 10.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-3`}]]),R=d(`outline`,`player-pause`,`PlayerPause`,[[`path`,{d:`M6 6a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v12a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -12`,key:`svg-0`}],[`path`,{d:`M14 6a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v12a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -12`,key:`svg-1`}]]),z=d(`outline`,`player-play`,`PlayerPlay`,[[`path`,{d:`M7 4v16l13 -8l-13 -8`,key:`svg-0`}]]),B=d(`outline`,`plus`,`Plus`,[[`path`,{d:`M12 5l0 14`,key:`svg-0`}],[`path`,{d:`M5 12l14 0`,key:`svg-1`}]]),V=d(`outline`,`refresh`,`Refresh`,[[`path`,{d:`M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4`,key:`svg-0`}],[`path`,{d:`M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4`,key:`svg-1`}]]),H=d(`outline`,`stack-2`,`Stack2`,[[`path`,{d:`M12 4l-8 4l8 4l8 -4l-8 -4`,key:`svg-0`}],[`path`,{d:`M4 12l8 4l8 -4`,key:`svg-1`}],[`path`,{d:`M4 16l8 4l8 -4`,key:`svg-2`}]]),U=d(`outline`,`sun`,`Sun`,[[`path`,{d:`M8 12a4 4 0 1 0 8 0a4 4 0 1 0 -8 0`,key:`svg-0`}],[`path`,{d:`M3 12h1m8 -9v1m8 8h1m-9 8v1m-6.4 -15.4l.7 .7m12.1 -.7l-.7 .7m0 11.4l.7 .7m-12.1 -.7l-.7 .7`,key:`svg-1`}]]),W=d(`outline`,`trash`,`Trash`,[[`path`,{d:`M4 7l16 0`,key:`svg-0`}],[`path`,{d:`M10 11l0 6`,key:`svg-1`}],[`path`,{d:`M14 11l0 6`,key:`svg-2`}],[`path`,{d:`M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12`,key:`svg-3`}],[`path`,{d:`M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3`,key:`svg-4`}]]),G=d(`outline`,`typography`,`Typography`,[[`path`,{d:`M4 20l3 0`,key:`svg-0`}],[`path`,{d:`M14 20l7 0`,key:`svg-1`}],[`path`,{d:`M6.9 15l6.9 0`,key:`svg-2`}],[`path`,{d:`M10.2 6.3l5.8 13.7`,key:`svg-3`}],[`path`,{d:`M5 20l6 -16l2 0l7 16`,key:`svg-4`}]]),K=d(`outline`,`world`,`World`,[[`path`,{d:`M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0`,key:`svg-0`}],[`path`,{d:`M3.6 9h16.8`,key:`svg-1`}],[`path`,{d:`M3.6 15h16.8`,key:`svg-2`}],[`path`,{d:`M11.5 3a17 17 0 0 0 0 18`,key:`svg-3`}],[`path`,{d:`M12.5 3a17 17 0 0 1 0 18`,key:`svg-4`}]]),q=d(`filled`,`bell-filled`,`BellFilled`,[[`path`,{d:`M14.235 19c.865 0 1.322 1.024 .745 1.668a3.992 3.992 0 0 1 -2.98 1.332a3.992 3.992 0 0 1 -2.98 -1.332c-.552 -.616 -.158 -1.579 .634 -1.661l.11 -.006h4.471z`,key:`svg-0`}],[`path`,{d:`M12 2c1.358 0 2.506 .903 2.875 2.141l.046 .171l.008 .043a8.013 8.013 0 0 1 4.024 6.069l.028 .287l.019 .289v2.931l.021 .136a3 3 0 0 0 1.143 1.847l.167 .117l.162 .099c.86 .487 .56 1.766 -.377 1.864l-.116 .006h-16c-1.028 0 -1.387 -1.364 -.493 -1.87a3 3 0 0 0 1.472 -2.063l.021 -.143l.001 -2.97a8 8 0 0 1 3.821 -6.454l.248 -.146l.01 -.043a3.003 3.003 0 0 1 2.562 -2.29l.182 -.017l.176 -.004z`,key:`svg-1`}]]),J=d(`filled`,`heart-filled`,`HeartFilled`,[[`path`,{d:`M6.979 3.074a6 6 0 0 1 4.988 1.425l.037 .033l.034 -.03a6 6 0 0 1 4.733 -1.44l.246 .036a6 6 0 0 1 3.364 10.008l-.18 .185l-.048 .041l-7.45 7.379a1 1 0 0 1 -1.313 .082l-.094 -.082l-7.493 -7.422a6 6 0 0 1 3.176 -10.215z`,key:`svg-0`}]]),Y={"alert-circle":b,"bell-filled":q,check:u,"chevron-down":e,"chevron-left":C,"chevron-right":p,"chevron-up":w,clock:T,close:f,command:E,copy:D,cube:O,download:k,eye:c,folder:i,globe:K,grid:j,heart:A,"heart-filled":J,info:r,layers:H,link:M,list:N,minimize:F,moon:I,package:t,palette:L,pause:R,play:z,plus:B,refresh:V,resize:P,search:s,settings:o,sliders:y,"sort-asc":n,"sort-desc":l,sparkles:a,stats:S,sun:U,text:G,trash:W,zap:x},X=/* @__PURE__ */ new Set;function Z({name:e,size:t=14,color:n,style:r,className:i}){let a=Y[e];return a?/* @__PURE__ */ m(a,{"aria-hidden":!0,size:t,stroke:1.75,color:n??`currentColor`,...X.has(e)?{fill:`currentColor`}:null,className:i,style:{flex:`none`,...r}}):/* @__PURE__ */ m(`span`,{"aria-hidden":!0,style:{display:`inline-block`,width:t,height:t,flex:`none`,...r}})}export{g as a,v as i,_ as n,h as r,Z as t}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/IconAsset-BVRD6Pac.js b/resources/vendor/react-icon-browser/IconAsset-BVRD6Pac.js deleted file mode 100644 index 290f0df..0000000 --- a/resources/vendor/react-icon-browser/IconAsset-BVRD6Pac.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -import{n as e,r as t,s as n,t as r}from"./TreatmentEngine-B0FTr-Fl.js";import{K as i,Lt as a,Rt as o,X as s,ht as c,q as l,yt as u}from"./chromeIcons-ITgd2uHk.js";import{i as d}from"./Glyph-ifDznOhl.js";import{createContext as f,useContext as p,useEffect as m,useMemo as h,useRef as g,useState as _}from"react";import{Fragment as v,jsx as y}from"react/jsx-runtime";function b(e){return e?/(?:fill|stroke|stop-color)\s*=\s*"(?!(?:none|currentColor|transparent)\b)#?[0-9a-zA-Z(),.%\s]+"/.test(e):!1}function x(e){return{id:e.id,package:e.package,name:e.name,category:e.category,sub:e.sub,variant:e.variant??`outline`,kind:e.kind??`icon`,svgContent:e.svg_content??null,svgUrl:e.svg_url??null,viewBox:e.viewbox??`0 0 24 24`,bladeClean:e.blade_clean??``,bladeGeneric:e.blade_generic??``,helper:e.helper??``,...e.icon_path||e.path?{path:e.icon_path||e.path}:{},...e.snippets?{snippets:e.snippets}:{},tags:e.tags??[],keywords:e.keywords??[],ownColor:b(e.svg_content)}}var S=Symbol(`ichava.themeVariants`),C=e=>typeof e==`string`&&e!==``?e:null;function w(e,t){let n=t.theme_variants;if(!n||typeof n!=`object`||Array.isArray(n))return e;let r={};for(let[e,t]of Object.entries(n)){if(!t||typeof t!=`object`)continue;let n=C(t.svg_url),i=C(t.svg_content);(n||i)&&(r[e]={svgUrl:n,svgContent:i})}return Object.keys(r).length?Object.assign({},e,{[S]:r}):e}function T(e){return e[S]}var E=/* @__PURE__ */ new WeakMap;function D(e,t){let n=T(e)?.[t];if(!n)return e;let r=E.get(e);r||E.set(e,r=/* @__PURE__ */ new Map);let i=r.get(t);return i||(i={...e,svgUrl:n.svgUrl,svgContent:n.svgContent},r.set(t,i)),i}function O(e,t,n){return e.total>0?null:n===0?`no_icons`:t.search?.trim()||t.categories?.length||t.subs?.length||t.variants?.length||t.tags?.length||t.keywords?.length||t.kind||t.packages?.length?`no_match`:`no_icons`}var k=class{repo;#e;constructor(e){this.#e=e,this.repo=new n(e)}async listIcons(e){let t=this.repo.page(e);return{...t,emptyReason:O(t,e,this.#e.icons.length)}}async getIcon(e){return this.repo.byId(e)??null}async getSvg(e,t){return e.svgContent?e.svgContent:e.svgUrl?a().request(e.svgUrl,{raw:!0,baseUrl:``,signal:t}):``}async getFilters(){return this.repo.filters()}async getStatistics(){return this.#e.meta}async getTree(){return this.repo.categoryTree({search:``,packages:[],categories:[],variants:[],page:1,perPage:0,sortBy:`name`,sortDirection:`asc`})}async getRelated(e,t=6){return this.repo.related(e,t)}async getVariantCounts(e){return this.repo.variantCounts(e)}async getKindCounts(e){return this.repo.kindCounts(e)}},A=class e{#e;#t=null;#n=null;constructor(e=a().config.baseUrl){this.#e=e}static at(t){return new e(t).withTransport(a().with({baseUrl:t}))}get transport(){return this.#t??a()}static fromApi(t){let n=t.base??a().config.baseUrl;return e.at(n).withEndpoints(t.endpoints)}get endpoints(){return this.#n}withTransport(t){let n=new e(this.#e);return n.#t=t,n.#n=this.#n,n}withEndpoints(e){let t=this.withTransport(this.transport);return t.#t=this.#t,t.#n=Array.isArray(e)?{}:{...e},t}csrf(e){return this.withTransport(this.transport.with({csrf:{strategy:e}}))}timeout(e){return this.withTransport(this.transport.with({timeoutMs:e}))}credentials(e){return this.withTransport(this.transport.with({credentials:e}))}#r(e,t={}){return this.transport.request(e,{...t,baseUrl:this.#e})}#i(e,t,n,r={},i={}){let a=this.#n?.[e];return a?this.transport.request(`${o(a,i)}${n}`,{...r,baseUrl:``}):this.#r(`${t}${n}`,r)}async listIcons(e,t){return I(await this.#i(`icons.list`,`/icons`,z(R(e)),{signal:t}),e)}async getIcon(e,t){let n=await this.#i(`icons.show`,`/icons/${e}`,``,{signal:t},{iconId:e});return n?.data?w(x(n.data),n.data):null}async getSvg(e,t){return this.#i(`icons.svg`,`/icons/${e.id}/svg`,``,{raw:!0,signal:t},{iconId:e.id})}async getFilters(e){let t=await this.#i(`icons.filters`,`/icons/filters`,``,{signal:e}),n=t.data??t;return{packages:(n.packages??[]).map(j),categories:n.categories??[],variants:n.variants??[]}}async getStatistics(e){let t=await this.#i(`icons.statistics`,`/icons/statistics`,``,{signal:e});return t.data??t}async getTree(e){return this.#a(``,e)}async getTreeFor(e,t){return this.#a(z(R(N(e))),t)}async#a(e,t){let n=await this.#i(`icons.tree`,`/icons/tree`,e,{signal:t});return(Array.isArray(n)?n:n.data??[]).map(P)}async getCatalogMeta(e){let t=await this.#i(`icons.filters`,`/icons/filters`,``,{signal:e}),n=t.data??t;return{packages:(n.packages??[]).map(j),variantsByPackage:M(n.variants_by_package)}}async getRelated(e,t=6,n){let{items:r}=await this.listIcons({categories:[e.category],page:1,perPage:t+1},n);return r.filter(t=>t.id!==e.id).slice(0,t)}async getVariantCounts(e,t){let n=await this.getFilters(t);return new Map(n.variants.map(e=>[e.name,e.count]))}async getKindCounts(e,t){let{kind:n,page:r,perPage:i,sortBy:a,sortDirection:o,...s}=e,c=await this.#i(`icons.filters`,`/icons/filters`,z(R(s)),{signal:t}),l=c.data?.kinds??c.kinds??[],u={icon:0,illustration:0};for(let e of l)(e.name===`icon`||e.name===`illustration`)&&(u[e.name]=e.count);return u}};function j(e){let t=e,n=String(t.id??t.name??``);return{id:n,label:t.label??n,...t.description?{description:t.description}:{},count:typeof t.count==`number`?t.count:0,installed:t.installed??!0,loaded:t.loaded??!0,...t.kind===`icon`||t.kind===`illustration`?{kind:t.kind}:{},...t.default===!0?{default:!0}:{}}}function M(e){if(!e||typeof e!=`object`||Array.isArray(e))return{};let t={};for(let[n,r]of Object.entries(e))Array.isArray(r)&&(t[n]=r.filter(e=>!!e&&typeof e==`object`&&typeof e.slug==`string`).map(e=>({slug:String(e.slug),label:typeof e.label==`string`&&e.label?e.label:String(e.slug),description:typeof e.description==`string`?e.description:``,default:e.default===!0})));return t}function N(e){let{categories:t,subs:n,page:r,perPage:i,sortBy:a,sortDirection:o,...s}=e;return s}function P(e){let t=(e.children??[]).map(F);return{pack:e.id,label:e.title??e.name,count:t.length,cats:t}}function F(e){let t=(e.children??[]).map(e=>({slug:e.name,name:e.label??e.name,count:e.icon_count}));return{name:e.name,count:e.icon_count,sub:t.length?t:void 0}}function I(e,t){let n=e??{},r=n.data??n,i;i=Array.isArray(r)?r:r&&typeof r==`object`?Object.entries(r).filter(([e])=>e!==`grouped`&&/^\d+$/.test(e)).map(([,e])=>e):[];let a=n.meta??{},o=L(a.per_page,t.perPage??i.length),s=L(a.total,i.length),c=L(a.current_page,t.page??1),l=L(a.last_page,Math.max(1,Math.ceil(s/Math.max(1,o)))),u=L(a.from,s?(c-1)*o+1:0),d=L(a.to,Math.min(c*o,s)),f=a.empty_reason,p=f===`no_match`||f===`no_icons`?f:null;return{items:i.map(e=>w(x(e),e)),total:s,page:c,perPage:o,lastPage:l,rangeStart:u,rangeEnd:d,emptyReason:p}}function L(e,t){Array.isArray(e)&&(e=e[0]);let n=typeof e==`string`?parseInt(e,10):e;return Number.isFinite(n)?n:t}function R(e){return{search:e.search,packages:e.packages,categories:e.categories,subs:e.subs,variants:e.variants,kind:e.kind,tags:e.tags,keywords:e.keywords,language:e.language,page:e.page,per_page:e.perPage,sort_by:e.sortBy,sort_direction:e.sortDirection}}function z(e){let t=new URLSearchParams;for(let[n,r]of Object.entries(e))r==null||r===``||Array.isArray(r)&&r.length===0||(Array.isArray(r)?r.forEach(e=>t.append(`${n}[]`,String(e))):t.append(n,String(r)));let n=t.toString();return n?`?${n}`:``}function B(e,t){if(e===`rest`)return new A(t.base);if(!t.catalog)throw Error(`StaticCatalog requires a bundled catalog`);return new k(t.catalog)}var V=f(null),H=V.Provider;function U(){return p(V)}var W=300;function G(e){return{items:[],total:0,page:1,perPage:e,lastPage:1,rangeStart:0,rangeEnd:0}}var K={packages:[],variantsByPackage:{}},q=[],J=/* @__PURE__ */ new Map;function Y(e){let{categories:t,subs:n,page:r,perPage:i,sortBy:a,sortDirection:o,...s}=e;return JSON.stringify(s)}function X(e,t,n){let r=n.filter(e=>e.installed).map(e=>e.id);if(!r.length)return null;let i=new Set(n.map(e=>e.id)),a=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]),o=a(e,t),s=!e.some(e=>i.has(e));if(!o&&!s)return null;let c=t.filter(e=>i.has(e)),l=c.length?c:r;return a(e,l)?null:l}function Z(e,t,n){let[r,i]=_(()=>G(t.perPage??60)),[a,o]=_(null),[s,c]=_([]),[l,u]=_(/* @__PURE__ */ new Map),[d,f]=_(K),[p,v]=_(!1),[y,b]=_(null),x=g(null),S=g(null);m(()=>{if(!e)return;let n=setTimeout(()=>{x.current?.abort();let n=new AbortController;x.current=n,v(!0),e.listIcons(t,n.signal).then(e=>{n.signal.aborted||(i(e),b(null))}).then(()=>e.getKindCounts?e.getKindCounts(t,n.signal):null).then(e=>{n.signal.aborted||e===void 0||o(e)}).catch(e=>{n.signal.aborted||b(e)}).finally(()=>{n.signal.aborted||v(!1)})},W);return()=>{clearTimeout(n),x.current?.abort()}},[e,JSON.stringify(t)]),m(()=>{if(!e)return;let n=new AbortController;return Promise.all([e.getVariantCounts(t,n.signal),e.getCatalogMeta?e.getCatalogMeta(n.signal):K]).then(([e,t])=>{n.signal.aborted||(u(e),f(t))}).catch(e=>{n.signal.aborted||b(e)}),()=>n.abort()},[e]);let C=!!e?.getTreeFor,w=C?Y(t):``;m(()=>{if(!e)return;let n=new AbortController,r=()=>(e.getTreeFor?e.getTreeFor(t,n.signal):e.getTree(n.signal)).then(e=>{n.signal.aborted||c(e)}).catch(e=>{n.signal.aborted||b(e)}),i=C&&S.current===e;S.current=e;let a=i?setTimeout(r,W):null;return i||r(),()=>{a&&clearTimeout(a),n.abort()}},[e,w]);let T=h(()=>e?ee(s,n):q,[e,s,n]),E=e?d:K;return{page:r,kindCounts:a,tree:T,variantCounts:e?l:J,packages:E.packages,variantsByPackage:E.variantsByPackage,loading:p,error:y}}function ee(e,t){if(!t.trim())return e;let n=t.toLowerCase();return e.map(e=>({...e,cats:e.cats.map(e=>{let t=e.name.toLowerCase().includes(n),r=e.sub?.filter(e=>e.name.toLowerCase().includes(n));return t?e:r&&r.length?{...e,sub:r}:null}).filter(e=>e!==null)})).filter(e=>e.cats.length>0)}var Q=/* @__PURE__ */ new WeakSet,te={};function ne(){let e=i(e=>e.catalog),t=i(e=>e.filters),r=i(e=>e.catQ),a=i(e=>e.setPage),o=i(e=>e.config?.features.searchLanguage?c(e.locale):void 0),d=h(()=>({...s(t),...o?{language:o}:{}}),[t,o]),f=h(()=>e?new n(e):null,[e]),p=h(()=>{if(!f||!e)return{items:[],total:0,page:1,perPage:t.perPage,lastPage:1,rangeStart:0,rangeEnd:0,emptyReason:null};let n=f.page(d);return{...n,emptyReason:O(n,d,e.icons.length)}},[f,e,d,t.perPage]),g=h(()=>f?f.kindCounts(d):null,[f,d]),_=h(()=>{if(!f)return[];let e=f.categoryTree(d);if(!r.trim())return e;let t=r.toLowerCase();return e.map(e=>({...e,cats:e.cats.map(e=>{let n=e.name.toLowerCase().includes(t),r=e.sub?.filter(e=>e.name.toLowerCase().includes(t));return n?e:r&&r.length?{...e,sub:r}:null}).filter(e=>e!==null)})).filter(e=>e.cats.length>0)},[f,d,r]),v=h(()=>f?f.variantCounts(d):/* @__PURE__ */ new Map,[f,d]),y=U(),b=Z(e?null:y,d,r),x=e?p:b.page,S=e?_:b.tree,C=e?v:b.variantCounts,w=e?g:b.kindCounts,T=h(()=>e?e.packages:b.packages,[e,b.packages]),E=e?te:b.variantsByPackage,D=l(),k=i(e=>e.config?.defaults.packages);return m(()=>{if(!T.length||Q.has(D))return;Q.add(D);let e=X(D.getState().filters.packages,k??u.packages,T);e&&D.getState().selectAllPacks(e)},[T,D,k]),m(()=>{x.total>0&&t.page!==x.page&&a(x.page)},[t.page,x.page,x.total,a]),{repo:f,page:x,tree:S,variantCounts:C,kindCounts:w,packages:T,variantsByPackage:E,catalog:e,client:e?null:y,loading:!e&&b.loading,error:e?null:b.error}}function $(e){let n=h(()=>t(e),[e]),[r,i]=_(null);return m(()=>{if(!(n instanceof Promise))return;let t=!0;return n.then(n=>{t&&i({icon:e,parts:n})}),()=>{t=!1}},[n,e]),n instanceof Promise?r?.icon===e?r.parts:null:n}var re=1.5;function ie({icon:t,size:n,color:r,stroke:a,inline:o}){let s=D(t,i(e=>e.theme)),c=s!==t,l=i(e=>e.color),u=i(e=>e.treatment),f=i(e=>e.gridStroke),p=i(e=>e.theme===`dark`&&e.adaptMonochrome)&&!c,m=(r===void 0?l:r)??`currentColor`,h=a??f,g=s.variant===`outline`&&Math.abs(h-re)>.01;if(s.ownColor){let e=s.svgContent||o?/* @__PURE__ */ y(oe,{icon:s,size:n}):/* @__PURE__ */ y(`span`,{"aria-hidden":!0,style:{display:`inline-block`,...d.toStyle(d.resolve(s,null),n)}});return p?/* @__PURE__ */ y(ae,{icon:s,size:n,color:m,fallback:e}):e}if(o||g)return/* @__PURE__ */ y(se,{icon:s,size:n,color:m,stroke:h});let _=d.resolve(s,m).url;return/* @__PURE__ */ y(`span`,{"aria-hidden":!0,style:e(_,n,m,u)})}function ae({icon:e,size:t,color:n,fallback:r}){let i=$(e);return i?.monoBody?/* @__PURE__ */ y(`svg`,{"aria-hidden":!0,"data-ichava-mono":``,width:t,height:t,viewBox:i.viewBox,className:`inline-block`,style:{color:n},dangerouslySetInnerHTML:{__html:i.monoBody}}):/* @__PURE__ */ y(v,{children:r})}function oe({icon:e,size:t}){let n=$(e);return n?/* @__PURE__ */ y(`svg`,{"aria-hidden":!0,"data-ichava-illustration":e.kind===`illustration`?``:void 0,width:t,height:t,viewBox:n.viewBox,className:`inline-block`,dangerouslySetInnerHTML:{__html:n.body}}):/* @__PURE__ */ y(`span`,{"aria-hidden":!0,style:{display:`inline-block`,width:t,height:t}})}function se({icon:e,size:t,color:n,stroke:a}){let o=i(e=>e.treatment),s=$(e);return s?/* @__PURE__ */ y(`svg`,{"aria-hidden":!0,width:t,height:t,viewBox:s.viewBox,fill:`none`,stroke:n,strokeWidth:a,strokeLinecap:`round`,strokeLinejoin:`round`,style:{display:`inline-block`,...r(o)},dangerouslySetInnerHTML:{__html:s.body}}):/* @__PURE__ */ y(`span`,{"aria-hidden":!0,style:{display:`inline-block`,width:t,height:t}})}export{U as a,B as c,x as d,H as i,O as l,$ as n,A as o,ne as r,k as s,ie as t,b as u}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/IconGridList-queHa-WS.js b/resources/vendor/react-icon-browser/IconGridList-queHa-WS.js deleted file mode 100644 index 84992db..0000000 --- a/resources/vendor/react-icon-browser/IconGridList-queHa-WS.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -import{t as e}from"./Glyph-ifDznOhl.js";import{jsx as t,jsxs as n}from"react/jsx-runtime";import{Button as r,GridList as i,GridListItem as a}from"react-aria-components";function o({label:o,rows:s,layout:c=`stack`,className:l}){let u=new Map(s.map(e=>[e.key,e]));return/* @__PURE__ */ t(i,{"aria-label":o,layout:c,className:l,onAction:e=>u.get(e)?.onOpen(),children:s.map(i=>/* @__PURE__ */ n(a,{id:i.key,textValue:i.label,"aria-label":i.label,className:`${i.className??``} cursor-pointer outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)]`,children:[i.children,i.remove&&/* @__PURE__ */ t(r,{"aria-label":i.remove.label,onPress:i.remove.onRemove,className:i.remove.className??`absolute top-1 end-1 w-[22px] h-[22px] border border-[var(--border)] bg-[var(--pop)] rounded-[6px] cursor-pointer flex items-center justify-center text-[var(--muted-fg)]`,children:/* @__PURE__ */ t(e,{name:`close`,size:i.remove.glyphSize??11,color:`currentColor`})})]},i.key))})}export{o as t}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/InviteModal-rzJXh-JT.js b/resources/vendor/react-icon-browser/InviteModal-rzJXh-JT.js deleted file mode 100644 index d8cd530..0000000 --- a/resources/vendor/react-icon-browser/InviteModal-rzJXh-JT.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -import{D as e,T as t,a as n,f as r,i,o as a,u as o,v as s,w as c}from"./index.js";import{A as l,K as u}from"./chromeIcons-ITgd2uHk.js";import{useId as d,useState as f}from"react";import{jsx as p,jsxs as m}from"react/jsx-runtime";var h=[{v:`24h`,k:`invite.exp24h`},{v:`7 days`,k:`invite.exp7d`},{v:`30 days`,k:`invite.exp30d`},{v:`Never`,k:`invite.expNever`}];function g(){let g=u(e=>e.closeInvite),_=u(e=>e.pushNotification),v=u(e=>e.showToast),y=u(e=>{let t=e.config?.user.workspaces??[];return t.find(t=>t.id===e.activeWorkspaceId)??t[0]}),b=r(),x=l(),[S,C]=f(``),[w,T]=f(`editor`),[E,D]=f(`7 days`),O=d(),k=y?.name??x(`invite.workspace`),A=`${location.origin}/ichava/invite/${y?.id??`team`}-${w}-${E.replace(/\s/g,``)}`;return/* @__PURE__ */ m(o,{onClose:g,width:520,label:x(`invite.title`),children:[/* @__PURE__ */ p(a,{title:x(`invite.title`),description:/* @__PURE__ */ p(`span`,{className:`font-mono text-xs`,children:y?.id??k})}),/* @__PURE__ */ m(i,{children:[/* @__PURE__ */ p(e,{size:`md`,type:`email`,value:S,onChange:C,placeholder:x(`invite.emailPlaceholder`),"aria-label":x(`invite.emailPlaceholder`)}),/* @__PURE__ */ m(c,{size:`sm`,"aria-label":x(`invite.role`),selectedKeys:[w],disallowEmptySelection:!0,onSelectionChange:e=>{let t=[...e][0];(t===`editor`||t===`viewer`)&&T(t)},children:[/* @__PURE__ */ p(t,{id:`editor`,children:x(`invite.roleEditor`)}),/* @__PURE__ */ p(t,{id:`viewer`,children:x(`invite.roleViewer`)})]}),/* @__PURE__ */ m(`div`,{className:`flex flex-wrap items-center gap-2`,children:[/* @__PURE__ */ p(`span`,{id:O,className:`text-sm font-medium text-secondary`,children:x(`invite.linkExpires`)}),/* @__PURE__ */ p(`span`,{className:`flex-1`}),/* @__PURE__ */ p(c,{size:`sm`,"aria-labelledby":O,selectedKeys:[E],disallowEmptySelection:!0,onSelectionChange:e=>{let t=[...e][0];t!==void 0&&D(String(t))},children:h.map(e=>/* @__PURE__ */ p(t,{id:e.v,children:x(e.k)},e.v))})]}),/* @__PURE__ */ p(`div`,{className:`text-sm text-tertiary`,children:x(`invite.blurb`)})]}),/* @__PURE__ */ m(n,{layout:`row`,children:[/* @__PURE__ */ p(s,{color:`secondary`,size:`md`,onClick:()=>b(A,x(`invite.linkCopied`)),children:x(`invite.generateLink`)}),/* @__PURE__ */ p(s,{color:`primary`,size:`md`,onClick:()=>{let e=S.trim()||x(`invite.yourTeammate`);_({icon:`info`,text:x(`invite.sentNotification`,{to:e,role:w})}),v(x(`invite.sent`),`check`),g()},children:x(`invite.sendInvite`)})]})]})}export{g as InviteModal}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/LICENSE b/resources/vendor/react-icon-browser/LICENSE deleted file mode 100644 index a91b6d0..0000000 --- a/resources/vendor/react-icon-browser/LICENSE +++ /dev/null @@ -1,38 +0,0 @@ -Copyright (c) Simtabi LLC. All rights reserved. - -This software and its source code are proprietary and confidential. No part of -it may be copied, modified, distributed, published, sublicensed or sold, in -whole or in part, without the prior written permission of Simtabi LLC. - -Untitled UI PRO ---------------- -This package includes components from Untitled UI React PRO, used under the -Untitled UI licence (https://www.untitledui.com/license). They live under: - -- src/components/application/command-menus -- src/components/application/modal-layouts -- src/components/application/notifications -- src/components/application/tree-view -- src/components/shared-assets - -and each file opens with a comment saying so. That licence does not permit -exposing their source code publicly or redistributing them as a UI kit or -library. Their source therefore stays in the private react-icon-browser -repository and may be shared only with people who hold their own Untitled UI -licence. This vendored copy holds only the compiled build, which may be used -as part of Ichava products published by Simtabi LLC and may not be -redistributed outside them. - -Third-party components ----------------------- -Third-party code in this repository stays under its own licence: - -- Untitled UI React (free components, vendored under src/components/base, - src/components/foundations, src/components/application except the PRO - folders listed above, and src/styles/uui-theme.css): MIT License, - Copyright (c) Untitled UI. - https://github.com/untitleduico/react/blob/main/LICENSE -- Geist and Geist Mono fonts (public/fonts, copied into dist/lib/fonts by the - library build): SIL Open Font License 1.1, Copyright (c) Vercel. -- Icon assets under public/assets keep the licence of their upstream icon set, - as recorded by each Ichava icon pack. diff --git a/resources/vendor/react-icon-browser/LibraryDialog-BI-n9Q34.js b/resources/vendor/react-icon-browser/LibraryDialog-BI-n9Q34.js deleted file mode 100644 index 3e8552b..0000000 --- a/resources/vendor/react-icon-browser/LibraryDialog-BI-n9Q34.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -import{D as e,c as t,d as n,f as r,g as i,l as a,r as o,s,u as c,y as l}from"./index.js";import{t as u}from"./IconAsset-BVRD6Pac.js";import{t as d}from"./Glyph-ifDznOhl.js";import{t as f}from"./IconGridList-queHa-WS.js";import{A as p,K as m,q as h}from"./chromeIcons-ITgd2uHk.js";import{c as g}from"./TreatmentEngine-B0FTr-Fl.js";import{useState as _}from"react";import{Fragment as v,jsx as y,jsxs as b}from"react/jsx-runtime";import{I18nProvider as x}from"react-aria-components";var S=[{id:`favorites`,key:`library.favorites`},{id:`history`,key:`library.history`},{id:`collections`,key:`library.collections`}];function C(){let e=h(),n=p(),r=m(e=>e.closeLayer),i=m(e=>e.libTab),o=m(e=>e.locale),l=t=>e.setState({libTab:t}),u=m(e=>e.config?.features),f=S.filter(e=>u?.[e.id]!==!1),g=f.some(e=>e.id===i)?i:f[0]?.id??i;return/* @__PURE__ */ y(c,{showClose:!1,onClose:r,width:620,panelStyle:{height:460},children:/* @__PURE__ */ y(x,{locale:o,children:/* @__PURE__ */ b(a,{selectedKey:g,onSelectionChange:e=>l(e),keyboardActivation:`automatic`,className:`min-h-0 flex-1`,children:[/* @__PURE__ */ b(`div`,{className:`flex items-center gap-2 py-2.5 px-3.5 border-b border-b-[var(--border)]`,children:[/* @__PURE__ */ y(a.List,{type:`button-border`,size:`sm`,className:t,children:f.map(e=>/* @__PURE__ */ y(a.Item,{id:e.id,className:`${s} px-3 text-[11.5px]`,children:n(e.key)},e.id))}),/* @__PURE__ */ y(`span`,{className:`flex-1`}),/* @__PURE__ */ y(`button`,{onClick:r,title:`${n(`common.close`)} — Esc`,"aria-label":n(`common.close`),className:`w-[26px] h-[26px] border border-[var(--border)] bg-[var(--bg)] shadow-[var(--shadow)] rounded-[6px] cursor-pointer flex items-center justify-center text-[var(--muted-fg)]`,children:/* @__PURE__ */ y(d,{name:`close`,size:12,color:`currentColor`})})]}),u?.favorites!==!1&&/* @__PURE__ */ y(a.Panel,{id:`favorites`,className:`flex-1 overflow-y-auto p-3`,children:/* @__PURE__ */ y(E,{})}),u?.history!==!1&&/* @__PURE__ */ y(a.Panel,{id:`history`,className:`flex-1 overflow-y-auto p-3`,children:/* @__PURE__ */ y(D,{})}),u?.collections!==!1&&/* @__PURE__ */ y(a.Panel,{id:`collections`,className:`flex-1 overflow-y-auto p-3`,children:/* @__PURE__ */ y(O,{})})]})})})}function w({icon:e,text:t}){return/* @__PURE__ */ y(l,{icon:e,title:t,className:`h-full`})}var T={height:24,padding:`0 8px`,border:`1px solid var(--border)`,borderRadius:`calc(var(--radius) - 3px)`,backgroundColor:`var(--bg)`,color:`var(--fg)`,fontSize:11,cursor:`pointer`};function E(){let e=m(e=>e.favorites),t=m(e=>e.toggleFavorite),r=m(e=>e.openDetail),i=p(),{icons:a}=n(e);return a.length?/* @__PURE__ */ y(f,{label:i(`library.favorites`),layout:`grid`,className:`grid grid-cols-[repeat(auto-fill,minmax(84px,1fr))] gap-2`,rows:a.filter(e=>e).map(e=>({key:e.id,label:e.name,onOpen:()=>r(e.id),remove:{label:`${i(`common.remove`)} ${e.name}`,onRemove:()=>t(e.id)},className:`relative flex flex-col items-center justify-center gap-1.5 aspect-[1_/_0.9] border border-[var(--border)] rounded-[var(--radius)]`,children:/* @__PURE__ */ b(v,{children:[/* @__PURE__ */ y(u,{icon:e,size:24}),/* @__PURE__ */ y(`span`,{className:`text-[10px] text-[var(--muted-fg)] max-w-[90%] whitespace-nowrap overflow-hidden text-ellipsis`,children:e.name})]})}))}):/* @__PURE__ */ y(w,{icon:`heart`,text:i(`library.emptyFavorites`)})}function D(){let e=m(e=>e.history),t=m(e=>e.clearHistory),r=m(e=>e.openDetail),a=p(),{icons:o}=n(e.map(e=>e.id)),s=new Map(o.map(e=>[e.id,e]));return e.length?/* @__PURE__ */ b(`div`,{className:`flex flex-col`,children:[/* @__PURE__ */ y(f,{label:a(`library.history`),rows:e.map((e,t)=>{let n=s.get(e.id),a=n?.name??String(e.id);return{key:`${e.id}-${e.action}-${t}`,label:`${a}, ${e.action}`,onOpen:()=>r(e.id),className:`flex items-center gap-2.5 h-[38px] border-b border-b-[var(--border)]`,children:/* @__PURE__ */ b(v,{children:[n&&/* @__PURE__ */ y(u,{icon:n,size:16}),/* @__PURE__ */ y(`span`,{className:`text-[12.5px] font-medium min-w-[120px]`,children:a}),/* @__PURE__ */ y(`span`,{className:`text-[11px] text-[var(--accent-text)] bg-[var(--accent-soft)] rounded-[4px] py-[1px] px-1.5`,children:e.action}),/* @__PURE__ */ y(`span`,{className:`flex-1`}),/* @__PURE__ */ y(`span`,{"aria-hidden":!0,className:`font-[family-name:'Geist_Mono',monospace] text-[10.5px] text-[var(--faint-fg)]`,children:i(e.ts)})]})}})}),/* @__PURE__ */ y(`button`,{onClick:t,className:`self-start mt-2.5 h-[26px] py-0 px-2.5 border border-[var(--border)] rounded-[calc(var(--radius)_-_3px)] bg-transparent text-[var(--muted-fg)] text-[11.5px] cursor-pointer`,children:a(`library.clearHistory`)})]}):/* @__PURE__ */ y(w,{icon:`clock`,text:a(`library.emptyHistory`)})}function O(){let t=m(e=>e.collections),n=m(e=>e.createCollection),r=m(e=>e.librarySeed),i=h(),a=m(e=>e.openAccess),s=m(e=>e.config?.features.sharing!==!1),c=p(),[l,u]=_(``);return/* @__PURE__ */ b(v,{children:[/* @__PURE__ */ b(o,{onSubmit:e=>{e.preventDefault(),l.trim()&&(n(l,r),i.setState({librarySeed:[]}),u(``))},style:{display:`flex`,gap:6,marginBottom:12},children:[/* @__PURE__ */ y(e,{size:`sm`,value:l,onChange:u,placeholder:c(`library.newCollectionPlaceholder`),"aria-label":c(`library.newCollectionPlaceholder`),className:`flex-1`}),/* @__PURE__ */ y(`button`,{type:`submit`,className:`flex-none py-0 px-3 border-0 rounded-[calc(var(--radius)_-_2px)] bg-[var(--accent)] text-[var(--accent-fg)] text-[12px] font-semibold cursor-pointer`,children:c(`common.create`)})]}),r.length>0&&/* @__PURE__ */ y(`p`,{className:`text-[11px] text-[var(--muted-fg)]`,style:{margin:`-6px 0 12px`},children:c(`library.seededWith`,{n:r.length})}),t.length===0&&/* @__PURE__ */ y(w,{icon:`folder`,text:c(`library.emptyCollections`)}),/* @__PURE__ */ y(`div`,{className:`flex flex-col gap-1.5`,children:t.map(e=>/* @__PURE__ */ y(k,{c:e,onManageAccess:s?()=>a(e.id):void 0},e.id))})]})}function k({c:e,onManageAccess:t}){let i=m(e=>e.removeCollection),a=m(e=>e.removeFromCollection),o=m(e=>e.openDetail),s=r(),c=p(),{icons:l}=n(e.icons),h=new Map(l.map(e=>[e.id,e]));return/* @__PURE__ */ b(`div`,{className:`border border-[var(--border)] rounded-[var(--radius)] overflow-hidden`,children:[/* @__PURE__ */ b(`div`,{className:`flex items-center gap-2 py-2.5 px-3`,children:[/* @__PURE__ */ y(d,{name:`folder`,size:14,color:`var(--accent-text)`}),/* @__PURE__ */ y(`span`,{className:`text-[12.5px] font-[550]`,children:e.name}),/* @__PURE__ */ y(`span`,{className:`font-[family-name:'Geist_Mono',monospace] text-[10.5px] text-[var(--muted-fg)]`,children:c(`library.iconCount`,{n:e.icons.length})}),e.shared&&/* @__PURE__ */ y(`span`,{className:`text-[9px] font-bold text-[var(--accent-text)] bg-[var(--accent-soft)] rounded-[4px] py-[1px] px-[5px]`,children:c(`library.teamBadge`)}),e.shared&&e.role===`viewer`&&/* @__PURE__ */ y(`span`,{className:`text-[9px] font-semibold text-[var(--faint-fg)] border border-[var(--border)] rounded-[4px] py-[1px] px-[5px]`,children:c(`library.viewerBadge`)}),e.shared&&(e.sharedWith??[]).length>0&&/* @__PURE__ */ y(`div`,{className:`flex`,children:(e.sharedWith??[]).slice(0,3).map((e,t)=>/* @__PURE__ */ y(`div`,{style:{width:18,height:18,borderRadius:`50%`,marginLeft:t===0?0:-6,border:`2px solid var(--pop)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:7.5,fontWeight:600,color:`#fff`,background:[`#7c3aed`,`#0891b2`,`#059669`][t%3]},children:e.initials},e.initials))}),/* @__PURE__ */ y(`span`,{className:`flex-1`}),t&&/* @__PURE__ */ y(`button`,{onClick:t,title:c(`shared.manageAccess`),style:T,children:c(`shared.manageAccess`)}),/* @__PURE__ */ y(`button`,{onClick:()=>{s(l.map(g).join(` -`),c(`toolbar.namesCopied`,{n:e.icons.length}))},title:c(`library.copyNamesTitle`),style:T,children:c(`toolbar.copyNames`)}),/* @__PURE__ */ y(`button`,{onClick:()=>i(e.id),title:c(`library.deleteCollection`),className:`w-[26px] h-[26px] border border-[var(--border)] bg-[var(--pop)] rounded-[6px] cursor-pointer flex items-center justify-center text-[var(--muted-fg)]`,children:/* @__PURE__ */ y(d,{name:`trash`,size:13,color:`currentColor`})})]}),e.icons.length>0&&/* @__PURE__ */ y(f,{label:e.name,layout:`grid`,className:`flex flex-wrap gap-1.5 border-t border-t-[var(--border)] py-2.5 px-3 mt-0 mx-3 mb-2.5`,rows:e.icons.flatMap(t=>{let n=h.get(t);return n?[{key:t,label:n.name,onOpen:()=>o(t),remove:{label:`${c(`common.remove`)} ${n.name}`,onRemove:()=>a(e.id,t),className:`absolute -top-[5px] -end-[5px] w-[15px] h-[15px] border border-[var(--border)] bg-[var(--pop)] rounded-full flex items-center justify-center cursor-pointer text-[var(--muted-fg)]`,glyphSize:7},className:`relative w-[38px] h-[38px] border border-[var(--border)] rounded-[6px] bg-[var(--card)] flex items-center justify-center`,children:/* @__PURE__ */ y(u,{icon:n,size:18})}]:[]})})]})}export{C as LibraryDialog}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/ManageAccessModal-DWXbmvPr.js b/resources/vendor/react-icon-browser/ManageAccessModal-DWXbmvPr.js deleted file mode 100644 index 7e1cdd7..0000000 --- a/resources/vendor/react-icon-browser/ManageAccessModal-DWXbmvPr.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -import{D as e,a as t,f as n,i as r,o as i,u as a,v as o}from"./index.js";import{A as s,K as c,w as l}from"./chromeIcons-ITgd2uHk.js";import{t as u}from"./glyphIcon-D8F12BiB.js";import{useState as d}from"react";import{jsx as f,jsxs as p}from"react/jsx-runtime";var m=[`#7c3aed`,`#0891b2`,`#059669`,`#e11d48`,`#ea580c`];function h(){let m=c(e=>e.accessCollectionId),h=c(e=>e.closeAccess),_=c(e=>e.collections.find(t=>t.id===e.accessCollectionId)),v=c(e=>e.config?.team??[]),y=c(e=>e.shareCollection),b=n(),x=s(),[S,C]=d(``),[w,T]=d(_?.sharedWith??[]);if(!m||!_)return null;let E=v.filter(e=>!w.some(t=>t.initials===e.initials)&&(e.name.toLowerCase().includes(S.toLowerCase())||S===``)),D=e=>T(t=>[...t,{initials:e.initials,name:e.name}]);return/* @__PURE__ */ p(a,{onClose:h,width:480,label:x(`shared.manageAccess`),children:[/* @__PURE__ */ f(i,{title:x(`shared.manageAccess`),description:_.name}),/* @__PURE__ */ p(r,{children:[/* @__PURE__ */ f(e,{size:`md`,icon:l,label:x(`access.addPeople`),value:S,onChange:C,placeholder:x(`access.searchTeammates`)}),S!==``&&E.length>0&&/* @__PURE__ */ f(`div`,{className:`overflow-hidden rounded-lg ring-1 ring-secondary ring-inset`,children:E.map((e,t)=>/* @__PURE__ */ p(`button`,{onClick:()=>{D(e),C(``)},className:`flex w-full cursor-pointer items-center gap-2 border-0 bg-transparent px-2.5 py-2 text-primary hover:bg-primary_hover`,children:[/* @__PURE__ */ f(g,{m:e,i:t}),/* @__PURE__ */ f(`span`,{className:`text-sm`,children:e.name})]},e.initials))}),w.length===0?/* @__PURE__ */ f(`div`,{className:`text-sm text-tertiary`,children:x(`access.onlyYou`)}):/* @__PURE__ */ p(`div`,{className:`flex flex-col gap-1.5`,children:[w.map((e,t)=>/* @__PURE__ */ p(`div`,{className:`flex items-center gap-[9px]`,children:[/* @__PURE__ */ f(g,{m:e,i:t}),/* @__PURE__ */ f(`span`,{className:`flex-1 text-sm text-primary`,children:e.name}),/* @__PURE__ */ f(o,{color:`tertiary`,size:`sm`,"aria-label":`${x(`common.remove`)} ${e.name}`,iconLeading:u(`close`),onClick:()=>T(t=>t.filter(t=>t.initials!==e.initials))})]},e.initials)),/* @__PURE__ */ f(o,{color:`primary`,size:`sm`,className:`self-start`,onClick:()=>{y(m,{role:`editor`,sharedWith:w}),h()},children:x(`access.saveAccess`)})]})]}),/* @__PURE__ */ p(t,{layout:`row`,children:[/* @__PURE__ */ f(o,{color:`link-gray`,size:`md`,className:`sm:mr-auto`,onClick:()=>b(`${location.origin}/ichava/c/${_.id}`,x(`access.shareLinkCopied`)),children:x(`access.copyLinkInstead`)}),/* @__PURE__ */ f(o,{color:`primary`,size:`md`,onClick:()=>{y(m,{role:`editor`,sharedWith:v.map(e=>({initials:e.initials,name:e.name}))}),h()},children:x(`access.shareEntireTeam`)})]})]})}function g({m:e,i:t}){return/* @__PURE__ */ f(`div`,{style:{width:24,height:24,borderRadius:`50%`,flex:`none`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:9,fontWeight:600,color:`#fff`,background:m[t%m.length]},children:e.initials})}export{h as ManageAccessModal}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/ProfileModal-BLtyRn5O.js b/resources/vendor/react-icon-browser/ProfileModal-BLtyRn5O.js deleted file mode 100644 index 59492f6..0000000 --- a/resources/vendor/react-icon-browser/ProfileModal-BLtyRn5O.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -import{A as e,K as t}from"./chromeIcons-ITgd2uHk.js";import{C as n,S as r,a as i,b as a,i as o,o as s,u as c,v as l,x as u}from"./index.js";import{useId as d}from"react";import{jsx as f,jsxs as p}from"react/jsx-runtime";var m={fontSize:10.5,fontWeight:600,color:`var(--muted-fg)`,textTransform:`uppercase`,letterSpacing:`.04em`};function h(){let h=t(e=>e.closeLayer),g=t(e=>e.openLayer),_=t(e=>e.openConfirm),v=t(e=>e.signOut),y=t(e=>e.showToast),b=t(e=>e.config),x=t(e=>e.activeWorkspaceId),S=t(e=>e.setActiveWorkspace),C=e(),w=d(),T=u();if(!T)return null;let E=b?.features.workspaces===!1?[]:b?.user.workspaces??[],D=!b?.host||!!b.host.links.logout,O=()=>_({title:C(`profile.signOutTitle`),body:C(`profile.signOutBody`),confirmLabel:C(`common.signOut`),danger:!0,onConfirm:()=>{v(),y(C(`profile.signedOut`),`check`)}});return/* @__PURE__ */ p(c,{onClose:h,width:440,label:C(`profile.title`),children:[/* @__PURE__ */ f(s,{title:C(`profile.title`)}),/* @__PURE__ */ p(o,{children:[/* @__PURE__ */ p(`div`,{className:`flex items-center gap-3`,children:[/* @__PURE__ */ f(a,{name:T.name,initials:T.initials,avatarUrl:T.avatarUrl,size:44}),/* @__PURE__ */ p(`div`,{className:`flex-1 min-w-0`,children:[/* @__PURE__ */ p(`div`,{className:`flex items-center gap-2`,children:[/* @__PURE__ */ f(`span`,{className:`text-sm font-semibold text-primary`,children:T.name}),T.plan&&/* @__PURE__ */ f(`span`,{className:`text-[9.5px] font-bold text-[var(--accent-text)] bg-[var(--accent-soft)] rounded-[5px] py-0.5 px-1.5`,children:T.plan})]}),T.email&&/* @__PURE__ */ f(`div`,{className:`text-sm text-tertiary truncate`,children:T.email})]})]}),E.length>0&&/* @__PURE__ */ p(`div`,{className:`flex flex-col gap-1.5`,children:[/* @__PURE__ */ f(`span`,{id:w,style:m,children:C(`account.workspace`)}),/* @__PURE__ */ f(n,{"aria-labelledby":w,value:x??null,onChange:e=>{let t=E.find(t=>t.id===e);t&&(S(t.id),y(C(`profile.switched`,{name:t.name}),`check`))},className:`gap-1.5`,children:E.map(e=>/* @__PURE__ */ f(r,{value:e.id,label:e.name,hint:e.plan,className:`rounded-lg p-2.5 ring-1 ring-secondary ring-inset selected:bg-[var(--accent-soft)] selected:ring-[var(--accent)]`},e.id))})]})]}),/* @__PURE__ */ p(i,{layout:`row`,children:[D&&/* @__PURE__ */ p(l,{color:`secondary-destructive`,size:`md`,className:`sm:mr-auto`,onClick:()=>{h(),O()},children:[C(`common.signOut`),`…`]}),/* @__PURE__ */ f(l,{color:`secondary`,size:`md`,onClick:()=>g(`settings`),children:C(`profile.appSettings`)})]})]})}export{h as ProfileModal}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/SettingsDialog-BDvBI59-.js b/resources/vendor/react-icon-browser/SettingsDialog-BDvBI59-.js deleted file mode 100644 index 0526bd3..0000000 --- a/resources/vendor/react-icon-browser/SettingsDialog-BDvBI59-.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -import{E as e,T as t,b as n,i as r,o as i,u as a,v as o,w as s,x as c}from"./index.js";import{t as l}from"./Glyph-ifDznOhl.js";import{A as u,Ct as d,Ft as f,K as p}from"./chromeIcons-ITgd2uHk.js";import{jsx as m,jsxs as h}from"react/jsx-runtime";function g(){let g=u(),b=p(e=>e.closeLayer),x=p(e=>e.filters.perPage),S=p(e=>e.setPerPage),C=p(e=>e.copyFormat),w=p(e=>e.setCopyFormat),T=p(e=>e.factoryReset),E=p(e=>e.showToast),D=p(e=>e.openLayer),O=p(e=>e.openConfirm),k=p(e=>e.config),A=p(e=>e.storageDriver),j=p(e=>e.setStorageDriver),M=p(e=>e.startTour),N=p(e=>e.auth.status===`authed`),P=p(e=>e.openAuth),F=p(e=>e.deleteLibrary),I=p(e=>e.clearHistory),L=p(e=>e.clearRecentCommands),R=p(e=>e.config?.features.history!==!1||e.config?.features.commands!==!1),z=k?.ui.perPageOptions??d.ui.perPageOptions,B=k?.toolbar.copyFormats??d.toolbar.copyFormats,V=c(),H=k?.host??null,U=H?.storage.tier===`database`?g(`settings.syncAccount`):H?.storage.tier===`session`?g(`settings.syncSession`):g(`settings.syncNote`),W=!H||!!H.links.login,G=!!H&&k?.features.library!==!1;return/* @__PURE__ */ h(a,{onClose:b,width:480,label:g(`header.settings`),panelStyle:{overflowY:`auto`},children:[/* @__PURE__ */ m(i,{title:g(`header.settings`)}),/* @__PURE__ */ h(r,{className:`gap-3.5 pb-4`,children:[/* @__PURE__ */ h(`div`,{className:`flex items-center gap-2.5 py-2.5 px-3 border border-[var(--border)] rounded-[var(--radius)] bg-[var(--muted2)]`,children:[/* @__PURE__ */ m(`div`,{className:`w-[26px] h-[26px] flex-none rounded-[7px] bg-[var(--accent-soft)] flex items-center justify-center`,children:/* @__PURE__ */ m(l,{name:`palette`,size:13,color:`var(--accent-text)`})}),/* @__PURE__ */ h(`div`,{className:`flex-1 text-[11.5px] text-[var(--muted-fg)] leading-[1.5]`,children:[g(`settings.appearanceHintPre`),/* @__PURE__ */ m(`b`,{className:`text-[var(--fg)]`,children:g(`appearance.title`)}),g(`settings.appearanceHintPost`)]})]}),/* @__PURE__ */ m(v,{children:g(`settings.behavior`)}),/* @__PURE__ */ m(y,{title:g(`settings.perPageTitle`),desc:g(`settings.perPageDesc`),children:/* @__PURE__ */ m(e,{size:`sm`,"aria-label":g(`settings.perPageTitle`),items:z.map(e=>({id:e,label:String(e)})),selectedKey:x,onSelectionChange:e=>S(Number(e)),className:`w-28`,children:t=>/* @__PURE__ */ m(e.Item,{...t})})}),/* @__PURE__ */ m(y,{title:g(`settings.copyFormatTitle`),desc:g(`settings.copyFormatDesc`),children:/* @__PURE__ */ m(e,{size:`sm`,"aria-label":g(`settings.copyFormatTitle`),items:B.map(e=>({id:e.id,label:d.toolbar.copyFormats.some(t=>t.id===e.id&&t.label===e.label)?g(f(`format.${e.id}`)):e.label})),selectedKey:C,onSelectionChange:e=>w(e),className:`w-40`,children:t=>/* @__PURE__ */ m(e.Item,{...t})})}),/* @__PURE__ */ m(y,{title:g(`settings.storageTitle`),desc:g(`settings.storageDesc`),children:/* @__PURE__ */ h(s,{size:`sm`,"aria-label":g(`settings.storageTitle`),selectedKeys:[A],disallowEmptySelection:!0,onSelectionChange:e=>{let t=[...e][0];(t===`local`||t===`session`)&&j(t)},children:[/* @__PURE__ */ m(t,{id:`local`,className:`h-8 px-2.5 py-0 text-xs`,children:g(`settings.storageLocal`)}),/* @__PURE__ */ m(t,{id:`session`,className:`h-8 px-2.5 py-0 text-xs`,children:g(`settings.storageSession`)})]})}),/* @__PURE__ */ m(y,{title:g(`settings.tourTitle`),desc:g(`settings.tourDesc`),children:/* @__PURE__ */ m(o,{color:`secondary`,size:`xs`,onClick:()=>{M(),b()},children:g(`settings.replayTour`)})}),R&&/* @__PURE__ */ m(y,{title:g(`settings.clearHistoryTitle`),desc:g(`settings.clearHistoryDesc`),children:/* @__PURE__ */ m(o,{color:`secondary`,size:`xs`,onClick:()=>{I(),L(),E(g(`settings.clearHistoryToast`),`check`)},children:g(`settings.clearHistoryButton`)})}),/* @__PURE__ */ m(y,{title:g(`settings.factoryTitle`),desc:g(H?`settings.factoryDescHost`:`settings.factoryDesc`),children:/* @__PURE__ */ m(o,{color:`secondary-destructive`,size:`xs`,onClick:()=>O({title:g(`settings.factoryConfirmTitle`),body:g(H?`settings.factoryConfirmBodyHost`:`settings.factoryConfirmBody`),confirmLabel:g(`settings.factoryConfirmLabel`),danger:!0,onConfirm:()=>{T(),E(g(`settings.factoryToast`),`refresh`)}}),children:g(`settings.resetEverything`)})}),G&&/* @__PURE__ */ m(y,{title:g(`settings.deleteLibraryTitle`),desc:g(`settings.deleteLibraryDesc`),children:/* @__PURE__ */ m(o,{color:`secondary-destructive`,size:`xs`,onClick:()=>O({title:g(`settings.deleteLibraryConfirmTitle`),body:g(`settings.deleteLibraryConfirmBody`),confirmLabel:g(`settings.deleteLibraryConfirmLabel`),danger:!0,onConfirm:()=>{F(),E(g(`settings.deleteLibraryToast`),`check`)}}),children:g(`settings.deleteLibraryButton`)})}),/* @__PURE__ */ m(`div`,{className:`h-[1px] bg-[var(--border)]`}),/* @__PURE__ */ m(v,{children:g(`settings.account`)}),N&&V?/* @__PURE__ */ h(`div`,{className:`flex items-center gap-2.5`,children:[/* @__PURE__ */ m(n,{name:V.name,initials:V.initials,avatarUrl:V.avatarUrl,size:32}),/* @__PURE__ */ h(`div`,{className:`flex-1 min-w-0`,children:[/* @__PURE__ */ h(`div`,{className:`text-[12.5px] font-[600]`,children:[V.name,` `,V.plan&&/* @__PURE__ */ m(`span`,{className:`text-[9px] font-semibold text-[var(--accent-text)] bg-[var(--accent-soft)] rounded-[4px] py-[1px] px-[5px]`,children:V.plan})]}),/* @__PURE__ */ h(`div`,{className:`text-[11px] text-[var(--muted-fg)]`,children:[V.email?`${V.email} · `:``,U]})]})]}):/* @__PURE__ */ h(`div`,{className:`flex items-center gap-2.5 py-3 px-3.5 border border-dashed border-[var(--border)] rounded-[var(--radius)]`,children:[/* @__PURE__ */ m(l,{name:`info`,size:15,color:`var(--muted-fg)`}),/* @__PURE__ */ h(`div`,{className:`flex-1 text-[11.5px] text-[var(--muted-fg)] leading-[1.5]`,children:[H?.storage.tier===`session`?_(g(`settings.syncSession`)):g(`settings.guestNote`),H&&W?` ${g(`settings.guestSignIn`)}`:``]}),W&&/* @__PURE__ */ m(o,{size:`xs`,className:`flex-none`,onClick:()=>{P(`signin`),b()},children:g(`common.signIn`)})]})]}),/* @__PURE__ */ h(`div`,{className:`py-2.5 px-4 border-t border-t-[var(--border)] flex items-center text-[10.5px] text-[var(--faint-fg)]`,children:[/* @__PURE__ */ h(`span`,{children:[`© 2026 Simtabi LLC · ichava/icon-browser v`,(k??d).meta.version,` · `,(k??d).meta.license]}),/* @__PURE__ */ m(`span`,{className:`flex-1`}),/* @__PURE__ */ m(`button`,{onClick:()=>D(`about`),className:`border-0 bg-transparent text-brand-secondary text-[10.5px] cursor-pointer p-0.5 font-semibold`,children:g(`settings.aboutLink`)})]})]})}var _=e=>`${e.charAt(0).toLocaleUpperCase()}${e.slice(1)}.`,v=({children:e})=>/* @__PURE__ */ m(`div`,{className:`text-[10.5px] font-semibold text-[var(--faint-fg)]`,children:e});function y({title:e,desc:t,children:n}){return/* @__PURE__ */ h(`div`,{className:`flex items-center gap-2`,children:[/* @__PURE__ */ h(`div`,{className:`flex-1`,children:[/* @__PURE__ */ m(`div`,{className:`text-[12.5px] font-[550]`,children:e}),/* @__PURE__ */ m(`div`,{className:`text-[11px] text-[var(--muted-fg)]`,children:t})]}),n]})}export{g as SettingsDialog}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/SharedCollectionsModal-fAi7Feba.js b/resources/vendor/react-icon-browser/SharedCollectionsModal-fAi7Feba.js deleted file mode 100644 index bf129ce..0000000 --- a/resources/vendor/react-icon-browser/SharedCollectionsModal-fAi7Feba.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -import{t as e}from"./IconGridList-queHa-WS.js";import{d as t,f as n,i as r,o as i,u as a,v as o}from"./index.js";import{A as s,Ct as c,K as l}from"./chromeIcons-ITgd2uHk.js";import{t as u}from"./IconAsset-BVRD6Pac.js";import{t as d}from"./Glyph-ifDznOhl.js";import{c as f}from"./TreatmentEngine-B0FTr-Fl.js";import{Fragment as p,jsx as m,jsxs as h}from"react/jsx-runtime";function g(){let e=l(e=>e.closeShared),t=l(e=>e.collections),n=l(e=>e.activeWorkspaceId),u=l(e=>e.config),f=l(e=>e.openDetail),g=l(e=>e.openAccess),v=l(e=>e.openInvite),y=s(),b=u?.ui.avatarPalette?.length?u.ui.avatarPalette:c.ui.avatarPalette,x=u?.user.workspaces.find(e=>e.id===n)??u?.user.workspaces[0],S=t.filter(e=>e.shared||(e.sharedWith??[]).length>0);return/* @__PURE__ */ h(a,{onClose:e,width:620,label:y(`shared.title`),panelStyle:{maxHeight:`80vh`,display:`flex`,flexDirection:`column`},children:[/* @__PURE__ */ m(i,{className:`flex-none`,title:y(`shared.title`),description:/* @__PURE__ */ h(p,{children:[/* @__PURE__ */ m(`span`,{className:`font-mono text-xs`,children:x?.name??y(`team.title`)}),` · `,y(`shared.count`,{n:S.length})]})}),/* @__PURE__ */ m(r,{className:`min-h-0 flex-1 gap-2.5 overflow-y-auto pb-6`,children:S.length===0?/* @__PURE__ */ h(`div`,{className:`flex flex-col items-center gap-2 px-4 py-10 text-tertiary`,children:[/* @__PURE__ */ m(d,{name:`folder`,size:22,color:`var(--faint-fg)`}),/* @__PURE__ */ m(`span`,{className:`text-center text-sm`,children:y(`shared.empty`)}),/* @__PURE__ */ m(o,{color:`primary`,size:`sm`,onClick:()=>{e(),v()},children:y(`shared.inviteTeam`)})]}):S.map(e=>/* @__PURE__ */ m(_,{c:e,palette:b,onManageAccess:()=>g(e.id),onOpenDetail:f},e.id))})]})}function _({c:r,palette:i,onManageAccess:a,onOpenDetail:c}){let l=n(),p=s(),{icons:g}=t(r.icons),_=new Map(g.map(e=>[e.id,e]));return/* @__PURE__ */ h(`div`,{className:`border border-[var(--border)] rounded-[var(--radius)] overflow-hidden`,children:[/* @__PURE__ */ h(`div`,{className:`flex items-center gap-2 py-2.5 px-3`,children:[/* @__PURE__ */ m(d,{name:`folder`,size:14,color:`var(--accent-text)`}),/* @__PURE__ */ m(`span`,{className:`text-[12.5px] font-[550]`,children:r.name}),/* @__PURE__ */ m(`span`,{className:`font-[family-name:'Geist_Mono',monospace] text-[10.5px] text-[var(--muted-fg)]`,children:p(`library.iconCount`,{n:r.icons.length})}),/* @__PURE__ */ m(`span`,{className:`text-[9px] font-bold text-[var(--accent-text)] bg-[var(--accent-soft)] rounded-[4px] py-[1px] px-[5px]`,children:r.role===`viewer`?p(`shared.viewer`):p(`shared.editor`)}),(r.sharedWith??[]).length>0&&/* @__PURE__ */ m(`div`,{className:`flex`,children:(r.sharedWith??[]).slice(0,3).map((e,t)=>/* @__PURE__ */ m(`div`,{style:{width:18,height:18,borderRadius:`50%`,marginInlineStart:t===0?0:-6,border:`2px solid var(--pop)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:7.5,fontWeight:600,color:`var(--accent-fg)`,background:i[t%i.length]},children:e.initials},e.initials))}),/* @__PURE__ */ m(`span`,{className:`flex-1`}),/* @__PURE__ */ m(o,{color:`secondary`,size:`xs`,onClick:a,children:p(`shared.manageAccess`)}),/* @__PURE__ */ m(o,{color:`secondary`,size:`xs`,onClick:()=>{l(g.map(f).join(` -`),p(`toolbar.namesCopied`,{n:r.icons.length}))},children:p(`toolbar.copyNames`)})]}),r.icons.length>0&&/* @__PURE__ */ m(e,{label:r.name,layout:`grid`,className:`flex flex-wrap gap-1.5 border-t border-t-[var(--border)] py-2.5 px-3`,rows:r.icons.flatMap(e=>{let t=_.get(e);return t?[{key:e,label:t.name,onOpen:()=>c(e),className:`w-[38px] h-[38px] border border-[var(--border)] rounded-[6px] bg-[var(--card)] flex items-center justify-center`,children:/* @__PURE__ */ m(u,{icon:t,size:18})}]:[]})})]})}export{g as SharedCollectionsModal}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/TourModal-DUnXa682.js b/resources/vendor/react-icon-browser/TourModal-DUnXa682.js deleted file mode 100644 index f476d78..0000000 --- a/resources/vendor/react-icon-browser/TourModal-DUnXa682.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -import{a as e,o as t,u as n,v as r}from"./index.js";import{t as i}from"./glyphIcon-D8F12BiB.js";import{t as a}from"./featured-icon-CzZVq73R.js";import{t as o}from"./cx-B63ov-ZV.js";import{A as s,K as c}from"./chromeIcons-ITgd2uHk.js";import{jsx as l,jsxs as u}from"react/jsx-runtime";var d=[{icon:`sparkles`,titleKey:`tour.s1Title`,bodyKey:`tour.s1Body`},{icon:`search`,titleKey:`tour.s2Title`,bodyKey:`tour.s2Body`},{icon:`palette`,titleKey:`tour.s3Title`,bodyKey:`tour.s3Body`},{icon:`copy`,titleKey:`tour.s4Title`,bodyKey:`tour.s4Body`},{icon:`folder`,titleKey:`tour.s5Title`,bodyKey:`tour.s5Body`}];function f(){let f=c(e=>e.tour.step),p=c(e=>e.nextTourStep),m=c(e=>e.prevTourStep),h=c(e=>e.skipTour),g=c(e=>e.endTour),_=s(),v=d.length,y=Math.min(f,v-1),b=d[y],x=y>=v-1;return/* @__PURE__ */ u(n,{onClose:h,width:400,label:_(`settings.tourTitle`),children:[/* @__PURE__ */ l(`div`,{className:`px-4 pt-4 sm:px-6 sm:pt-6`,children:/* @__PURE__ */ l(`div`,{className:`flex h-32 items-center justify-center rounded-lg bg-tertiary`,children:/* @__PURE__ */ l(a,{color:`brand`,size:`xl`,theme:`modern`,icon:i(b.icon)})})}),/* @__PURE__ */ l(t,{align:`center`,title:_(b.titleKey),description:_(b.bodyKey)}),/* @__PURE__ */ u(`div`,{className:`flex flex-col items-center gap-2 pt-5`,children:[/* @__PURE__ */ l(`div`,{"aria-hidden":!0,className:`flex gap-4`,children:d.map((e,t)=>/* @__PURE__ */ l(`span`,{className:o(`size-2.5 rounded-full transition-colors`,t===y?`bg-fg-brand-primary_alt`:`bg-quaternary`)},t))}),/* @__PURE__ */ l(`span`,{className:`sr-only`,"aria-live":`polite`,children:_(`tour.stepOf`,{n:y+1,total:v})})]}),/* @__PURE__ */ u(e,{layout:`grid`,children:[y===0?/* @__PURE__ */ l(r,{color:`secondary`,size:`md`,onClick:h,children:_(`tour.skip`)}):/* @__PURE__ */ l(r,{color:`secondary`,size:`md`,onClick:m,children:_(`tour.back`)}),/* @__PURE__ */ l(r,{color:`primary`,size:`md`,onClick:()=>x?g():p(),children:_(x?`tour.getStarted`:`tour.next`)})]})]})}export{f as TourModal}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/TreatmentEngine-B0FTr-Fl.js b/resources/vendor/react-icon-browser/TreatmentEngine-B0FTr-Fl.js deleted file mode 100644 index d1d73bb..0000000 --- a/resources/vendor/react-icon-browser/TreatmentEngine-B0FTr-Fl.js +++ /dev/null @@ -1,13 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -import{Ct as e}from"./chromeIcons-ITgd2uHk.js";import{r as t}from"./Glyph-ifDznOhl.js";function n(e){return e.package.replace(/^ichava\//,``).replace(/^icon-sets-/,``)}function r(e){return`${n(e)}:${e.name}`}var i=class{#e;constructor(e){this.#e=e}matches(e,t,n={}){if(!n.kind&&t.kind&&(e.kind??`icon`)!==t.kind||t.tags?.length&&!t.tags.every(t=>e.tags.includes(t))||t.keywords?.length&&!t.keywords.every(t=>e.keywords.includes(t))||!n.packages&&t.packages?.length&&!t.packages.includes(e.package))return!1;if(!n.categories){let n=t.categories?.length??0,r=t.subs?.length??0;if(n||r){let n=!!t.categories?.includes(e.category),r=!!(e.sub&&t.subs?.includes(`${e.category}/${e.sub}`));if(!n&&!r)return!1}}if(!n.variants&&t.variants?.length&&!t.variants.includes(e.variant))return!1;let i=(t.search??``).trim().toLowerCase();if(i.length>=2){let t=r(e),n=`${e.name} ${t} ${e.package} ${e.tags.join(` `)} ${e.keywords.join(` `)}`.toLowerCase();if(!i.split(/\s+/).every(e=>n.includes(e)))return!1}return!0}filtered(e){let t=e.sortBy??`name`,n=e.sortDirection===`desc`?-1:1,r=t===`name`?`name`:t===`package`?`package`:`category`;return this.#e.icons.filter(t=>this.matches(t,e)).sort((e,t)=>n*String(e[r]).localeCompare(String(t[r])))}page(e){let t=this.filtered(e),n=t.length,r=e.perPage??60,i=Math.max(1,Math.ceil(n/r)),a=Math.min(Math.max(1,e.page??1),i),o=(a-1)*r;return{items:t.slice(o,o+r),total:n,page:a,perPage:r,lastPage:i,rangeStart:n?o+1:0,rangeEnd:Math.min(o+r,n)}}byId(e){return this.#e.icons.find(t=>t.id===e)}related(e,t=6){let n=e=>new Set([...e.name.split(/[-_\s]+/),...e.tags,...e.keywords].map(e=>e.toLowerCase()).filter(e=>e.length>1)),r=n(e),i=[];return this.#e.icons.forEach((t,a)=>{if(t.id===e.id)return;let o=0;for(let e of n(t))r.has(e)&&o++;let s=t.package===e.package;if(o===0&&!(s&&t.category===e.category))return;let c=o*3+(s?2:0)+ +(t.category===e.category);i.push({i:t,score:c,at:a})}),i.sort((e,t)=>t.score-e.score||e.at-t.at).slice(0,t).map(e=>e.i)}filters(){let e=/* @__PURE__ */ new Map,t=/* @__PURE__ */ new Map;for(let n of this.#e.icons)e.set(n.category,(e.get(n.category)??0)+1),t.set(n.variant,(t.get(n.variant)??0)+1);let n=[...e.entries()].map(([e,t])=>({id:e,name:e,label:a(e),count:t})).sort((e,t)=>e.name.localeCompare(t.name)),r=[...t.entries()].map(([e,t])=>({id:e,name:e,label:a(e),count:t})).sort((e,t)=>e.name.localeCompare(t.name));return{packages:this.#e.packages,categories:n,variants:r}}kindCounts(e){let t={icon:0,illustration:0};for(let n of this.#e.icons)this.matches(n,e,{kind:!0})&&t[n.kind??`icon`]++;return t}variantCounts(e){let t=/* @__PURE__ */ new Map;for(let n of this.#e.icons)this.matches(n,e,{variants:!0,categories:!0})&&t.set(n.variant,(t.get(n.variant)??0)+1);return t}categoryTree(e){let t=this.#e.icons.filter(t=>this.matches(t,e,{categories:!0})),n=/* @__PURE__ */ new Map;for(let e of t){let t=n.get(e.package)??/* @__PURE__ */ new Map,r=t.get(e.category)??{total:0,subs:/* @__PURE__ */ new Map};r.total+=1,e.sub&&r.subs.set(e.sub,(r.subs.get(e.sub)??0)+1),t.set(e.category,r),n.set(e.package,t)}let r=new Map(this.#e.packages.map(e=>[e.id,e.label])),i=[];for(let[e,t]of n){let n=[...t.entries()].map(([e,t])=>({name:e,count:t.total,sub:t.subs.size?[...t.subs.entries()].map(([e,t])=>({slug:e,name:a(e),count:t})).sort((e,t)=>e.name.localeCompare(t.name)):void 0})).sort((e,t)=>e.name.localeCompare(t.name));i.push({pack:e,label:r.get(e)??e,count:n.length,cats:n})}return i.sort((e,t)=>e.label.localeCompare(t.label))}};function a(e){return e.replace(/(^|[-_\s])(\w)/g,(e,t,n)=>(t?` `:``)+n.toUpperCase())}var o={version:2,_source:`phase-3-redesign.md §4.1, transcribed with its structure intact. JSONC comments became _comment keys because three runtimes parse this with strict JSON parsers; no value was changed, reordered or tidied.`,_contract:`A POSITIVE specification derived from the engineering brief §1.3 fidelity contract: everything listed here MUST survive sanitisation, and anything stripping it is a bug, not security. The design rule is block by VALUE, not by name -- blunt tag bans over-block legitimate content and still miss real attacks.`,_home:`core/resources/security/svg-policy.json. §4.1 says 'committed at the workspace root', which is not possible: the ichava workspace root is not a git repository, so a file there would be unversioned and would ship with nothing. It lives in ichava/core instead, the package every PHP consumer already depends on, and the JS and Python runtimes carry a synced copy checked by test.`,allowedTags:/* @__PURE__ */ `svg.g.defs.symbol.marker.title.desc.metadata.switch.path.circle.ellipse.rect.line.polyline.polygon.text.tspan.textPath.linearGradient.radialGradient.stop.pattern.mask.clipPath.filter.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feDropShadow.feFlood.feFuncA.feFuncB.feFuncG.feFuncR.feGaussianBlur.feMerge.feMergeNode.feMorphology.feOffset.feSpecularLighting.feTile.feTurbulence.use`.split(`.`),_allowedTags_comment:{stop:`REQUIRED. A gradient element with no stops paints nothing. The shipped PHP config allowed linearGradient while stripping stop, and allow-listed the offset/stop-color ATTRIBUTES of an element it removed.`,title:`REQUIRED. Thousands of icons in the measured corpus carry one; it is the accessible name.`,use:`Fragment references ONLY -- see fragmentOnlyRefs.`,marker:`REQUIRED. Added 2026-11-04: the US and UM flags draw their fifty stars as one marker repeated by marker-mid, and with stripped the url(#us-a) reference pointed at nothing, so both shipped with an empty canton (0 white pixels against 11,050 upstream). A marker is a container like symbol: it carries no reference of its own, its children pass the same element and attribute checks as everywhere else, and marker-start/-mid/-end only ever reach it as url(#fragment).`},allowedAttributes:/* @__PURE__ */ `fill.stroke.stroke-width.stroke-linecap.stroke-linejoin.stroke-dasharray.stroke-dashoffset.stroke-miterlimit.fill-rule.fill-opacity.stroke-opacity.opacity.transform.transform-origin.viewBox.preserveAspectRatio.x.y.cx.cy.r.rx.ry.d.points.width.height.gradientUnits.gradientTransform.patternUnits.patternTransform.offset.stop-color.stop-opacity.clip-path.clip-rule.mask.filter.font-family.font-size.font-weight.text-anchor.dominant-baseline.letter-spacing.vector-effect.paint-order.shape-rendering.class.id.xmlns.xmlns:xlink.role.x1.y1.x2.y2.fx.fy.fr.spreadMethod.clipPathUnits.maskUnits.maskContentUnits.display.color.marker-start.marker-mid.marker-end.refX.refY.markerWidth.markerHeight.orient.markerUnits`.split(`.`),_allowedAttributes_addendum:`The last row is NOT in phase-3-redesign.md §4.1 and is added here deliberately. §4.1 (and brief §1.3 before it) list gradientUnits and gradientTransform but omit the coordinates a gradient is actually drawn with. A without x1/y1/x2/y2 has no direction, a without fx/fy/fr has no focal point, and clipPathUnits / maskUnits / maskContentUnits decide whether a clip or mask is interpreted in user space or object space -- get it wrong and the shape is clipped to nothing. The shipped PHP config had all eleven; adopting §4.1 verbatim would have REMOVED them and broken all 65 gradient icons plus every clip and mask. Caught by diffing the effective config before and after this file was wired in. This is the same single-archetype omission §1.1 describes, one level up: the spec was written from the fidelity contract, and the fidelity contract itself was incomplete.`,_allowedAttributes_addendum_presentation:`The row display, color, marker-start, marker-mid, marker-end was added 2026-11-04 after a dry run of OpenMoji 17 stripped display="none" from 13 subdivision flags (their hidden construction shapes would render), color from 3 files and marker-end from 1. Each is name-allowed here and value-guarded in every reader: display only as one or more bare keywords (no parens, no url, no escapes) and through the CSS value guard; color through the CSS value guard; marker-* only as none or url(#fragment), through the CSS value guard. Inkscape's sodipodi:docname stays stripped.`,_allowedAttributes_addendum_marker:`The row refX, refY, markerWidth, markerHeight, orient, markerUnits was added 2026-11-04 with the marker element. They are the marker's own geometry; with id, viewBox, preserveAspectRatio and the presentation attributes already on the list, they are all a marker takes. None is a CSS property and none can hold a reference, so they need no value guard, like x, y, width and height.`,allowedAttributePrefixes:[`aria-`],_allowedAttributePrefixes_comment:`Includes aria-labelledby and aria-describedby. Allowed by SHAPE rather than by list, so a newly standardised ARIA attribute cannot become an accessibility regression. Hundreds of icons in the measured corpus carry aria-labelledby, and it is the line most often forgotten when ids are rewritten.`,allowedValues:[`currentColor`,`var(--token)`,`url(#local-ref)`],_allowedValues_comment:`currentColor is theme inheritance -- without it there is no theming at all. var(--token) is the Tailwind v4 @theme integration. url(#local-ref) covers gradients, masks and filters.`,fragmentOnlyRefs:{attributes:[`href`,`xlink:href`],allow:`^#[A-Za-z_][\\w.:-]*$`,_comment:`Fragments are inert: they cannot fetch, leak or execute. Blocking them destroys , , and feImage for zero security benefit. Everything else -- absolute, protocol-relative, relative, data:, javascript:, blob:, filesystem: -- is blocked. 261 icons in the measured corpus use , 126 of them in the flag pack.`},styleAttribute:{allow:`declarations, CSS custom properties, url(#fragment)`,block:[`url() with any non-fragment target`,`expression(`,`behavior:`,`-moz-binding`],_comment:`REQUIRED. Sole paint source for 3,239 icons in the measured corpus, 2 of them flags. In one proprietary icon set it paints about half the icons and almost none use currentColor. url(#gradient) must work; url(https://…) is the CSS exfiltration vector.`,_count_note:`§4.1 records 59 fewer icons for one pack here. The census measured the higher count on 2026-09-02 (style-attribute paint source). The policy is unchanged either way; the figure is corrected rather than carried forward.`},forbiddenTags:[`script`,`foreignObject`,`iframe`,`object`,`embed`,`style`,`animate`,`animateTransform`,`set`],_forbiddenTags_comment:{style:`The style ELEMENT stays blocked, distinct from the style ATTRIBUTE which is widened. 54 files contain it, only 2 depend on it for paint. Blocking costs 2 icons and removes the CSS-exfiltration surface entirely; log those 2 as known-degraded.`,foreignObject:`Never widens. 6 occurrences, all Illustrator metadata. It embeds arbitrary HTML inside SVG and is a standard sanitiser bypass.`,animate:`SMIL stays blocked, for free: corpus count of animate/set/attributeName is ZERO. If it is ever enabled, blocking attributeName values of href/xlink:href/style/class/on* becomes mandatory -- that is the post-sanitiser attribute-rewrite vector, and it is frequently missed.`},denyAttributePrefixes:[`on`],stripDoctype:!0,stripEntities:!0,stripComments:!0,blockImageNonFragmentHref:!0,blockAnchorNonFragmentHref:!0,blockCdataScript:!0,_always_blocked_comment:`stripDoctype and stripEntities cover XXE and billion-laughs. and with a non-fragment href are blocked, which is why the 5 brand logos in a proprietary icon set that embed a raster image are parked outside that pack's registered assets rather than shipped blank (OQ-018).`},s=e=>Array.isArray(e)&&e.every(e=>typeof e==`string`);function c(e){if(typeof e!=`object`||!e)return!1;let t=e,n=t.fragmentOnlyRefs,r=t.styleAttribute;return typeof t.version==`number`&&[`allowedTags`,`allowedAttributes`,`allowedAttributePrefixes`,`forbiddenTags`,`denyAttributePrefixes`].every(e=>s(t[e]))&&typeof n==`object`&&!!n&&s(n.attributes)&&typeof n.allow==`string`&&typeof r==`object`&&!!r&&typeof r.allow==`string`&&s(r.block)}function l(e){if(!c(e))throw Error(`svg-policy.json does not have the shape SvgPolicy describes`);return e}var u=l(o);function d(){let e=[...u.allowedAttributes];return u.styleAttribute&&e.push(`style`),e.push(...u.fragmentOnlyRefs?.attributes??[]),[...new Set(e)]}function f(){return new RegExp(u.fragmentOnlyRefs.allow)}var ee=[`fill`,`stroke`,`filter`,`clip-path`,`mask`,`marker`,`marker-start`,`marker-mid`,`marker-end`,`cursor`,`stop-color`,`flood-color`,`lighting-color`,`color`],te=/* @__PURE__ */ new Set(/* @__PURE__ */ `rgb.rgba.hsl.hsla.hwb.lab.lch.oklab.oklch.color.color-mix.var.calc.min.max.clamp.translate.translatex.translatey.translatez.translate3d.rotate.rotatex.rotatey.rotatez.rotate3d.scale.scalex.scaley.scalez.scale3d.skew.skewx.skewy.matrix.matrix3d.perspective.cubic-bezier.steps.blur.drop-shadow.brightness.contrast.grayscale.hue-rotate.invert.opacity.saturate.sepia`.split(`.`));function ne(e){let t=``;for(let n=0;n1114111||r>=55296&&r<=57343?`�`:String.fromCodePoint(r),n+=i[0].length;let a=e[n+1];a===`\r`&&e[n+2]===` -`?n+=2:(a===` `||a===` `||a===` -`||a===`\r`||a===`\f`)&&(n+=1)}else if(n+10&&/[a-z0-9_-]/.test(t[n-1]);)n--;let r=t.slice(n,e);if(r===`url`){if(!p.test(t.slice(e)))return!1}else if(r!==``&&!te.has(r))return!1}return!0}var ie=/^[A-Za-z][A-Za-z-]*(?: [A-Za-z][A-Za-z-]*)*$/,h=/^url\(\s*(?:#[A-Za-z_][\w.:-]*|"#[A-Za-z_][\w.:-]*"|'#[A-Za-z_][\w.:-]*')\s*\)$/,g=[`display`,`color`,`marker-start`,`marker-mid`,`marker-end`];function ae(e,t){let n=t.trim();switch(e.toLowerCase()){case`display`:return ie.test(n)&&m(n);case`color`:return m(t);case`marker-start`:case`marker-mid`:case`marker-end`:return n.toLowerCase()===`none`||h.test(n)&&m(n);default:return!0}} -/*! @license DOMPurify 3.4.17 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.17/LICENSE */ -function _(e,t){this.v=e,this.k=t}function v(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n`u`?null:j(BigInt.prototype.toString),Pe=typeof Symbol>`u`?null:j(Symbol.prototype.toString),D=j(Object.prototype.hasOwnProperty),O=j(Object.prototype.toString),k=j(RegExp.prototype.test),A=Fe(TypeError);function j(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return he(e,t,n)}}function Fe(e){return function(){return ge(e,[...arguments])}}function M(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:E;if(x&&x(e,null),!Se(t))return e;let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(de(t)||(t[r]=e),i=e)}e[i]=!0}return e}function Ie(e){for(let t=0;t/g),$e=w(/\${[\w\W]*/g),et=w(/^data-[\-\w.\u00B7-\uFFFF]+$/),tt=w(/^aria-[\-\w]+$/),nt=w(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),rt=w(/^(?:\w+script|data):/i),it=w(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),at=w(/^html$/i),ot=w(/^[a-z][.\w]*(-[.\w]+)+$/i),st=w(/<[/\w!]/g),ct=w(/<[/\w]/g),lt=w(/<\/no(script|embed|frames)/i),ut=w(/\/>/i),F={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},dt=C(M({},[`style`,`script`,`xmp`,`iframe`,`noembed`,`noframes`,`plaintext`,`noscript`])),ft=function(){return typeof window>`u`?null:window},pt=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},mt=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},I=function(e,t,n,r){return D(e,t)&&Se(e[t])?M(r.base?N(r.base):{},e[t],r.transform):n},ht=function(e,t,n){let r=D(e,t)?e[t]:void 0;return r&&typeof r==`object`?N(r):n()};function gt(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ft(),t=e=>gt(e);if(t.version=`3.4.17`,t.removed=[],!e||!e.document||e.document.nodeType!==F.document||!e.Element)return t.isSupported=!1,t;let n=e.document,r=n,i=r.currentScript;e.DocumentFragment;let a=e.HTMLTemplateElement,o=e.Node,s=e.Element,c=e.NodeFilter;e.NamedNodeMap===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;let l=e.DOMParser,u=e.trustedTypes,d=s.prototype,f=P(d,`cloneNode`),ee=P(d,`remove`),te=P(d,`removeAttributeNode`),ne=P(d,`nextSibling`),re=P(d,`childNodes`),p=P(d,`parentNode`),m=P(d,`shadowRoot`),ie=P(d,`attributes`),h=o&&o.prototype?P(o.prototype,`nodeType`):null,g=o&&o.prototype?P(o.prototype,`nodeName`):null,ae=o&&o.prototype?P(o.prototype,`ownerDocument`):null,_=function(e){return h?h(e):e.nodeType},v=function(e){return g?g(e):e.nodeName},oe=Re(d,`namespaceURI`),se=function(e){return oe?oe(e):e.namespaceURI};if(typeof a==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let y,b=``,ce,le=!1,x=0,de=function(){if(x>0)throw A(`A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.`)},S=function(e){de(),x++;try{return y.createHTML(e)}finally{x--}},fe=function(e){de(),x++;try{return y.createScriptURL(e)}finally{x--}},me=function(){return le||=(ce=pt(u,i),!0),ce},he=n,ge=he.implementation,je=he.createNodeIterator,Me=he.createDocumentFragment,Ne=he.getElementsByTagName,Pe=r.importNode,O=mt();t.isSupported=typeof ue==`function`&&typeof p==`function`&&ge&&ge.createHTMLDocument!==void 0;let j=Ze,Fe=Qe,Ie=$e,_t=et,vt=tt,yt=rt,bt=it,xt=ot,St=nt,L=null,Ct=M({},[...Be,...Ve,...He,...We,...Ke]),R=null,z=M({},[...qe,...Je,...Ye,...Xe]),B=Object.seal(pe(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),wt=null,Tt=null,V=Object.seal(pe(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Et=!0,Dt=!0,Ot=!1,kt=!0,H=!1,U=!0,W=!1,At=!1,jt=null,Mt=null,Nt=!1,G=!1,Pt=!1,Ft=!1,It=!0,Lt=!1,Rt=`user-content-`,zt=!0,Bt=!1,K=null,q={},J=null,Vt=M({},/* @__PURE__ */ `annotation-xml.audio.colgroup.desc.foreignobject.head.iframe.math.mi.mn.mo.ms.mtext.noembed.noframes.noscript.plaintext.script.selectedcontent.style.svg.template.thead.title.video.xmp`.split(`.`)),Ht=null,Ut=M({},[`audio`,`video`,`img`,`source`,`image`,`track`]),Wt=null,Gt=M({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),Kt=`http://www.w3.org/1998/Math/MathML`,qt=`http://www.w3.org/2000/svg`,Y=`http://www.w3.org/1999/xhtml`,Jt=Y,Yt=!1,Xt=null,Zt=M({},[Kt,qt,Y],Ee),Qt=C([`mi`,`mo`,`mn`,`ms`,`mtext`]),$t=M({},Qt),en=C([`annotation-xml`]),tn=M({},en),nn=M({},[`title`,`style`,`font`,`a`,`script`]),rn=null,an=[`application/xhtml+xml`,`text/html`],X=null,on=null,sn=n.createElement(`form`),cn=function(e){return e instanceof RegExp||e instanceof Function},ln=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(on&&on===e)return;e&&typeof e==`object`||(e={}),e=N(e),rn=an.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,X=rn===`application/xhtml+xml`?Ee:E,L=I(e,`ALLOWED_TAGS`,Ct,{transform:X}),R=I(e,`ALLOWED_ATTR`,z,{transform:X}),Xt=I(e,`ALLOWED_NAMESPACES`,Zt,{transform:Ee}),Wt=I(e,`ADD_URI_SAFE_ATTR`,Gt,{transform:X,base:Gt}),Ht=I(e,`ADD_DATA_URI_TAGS`,Ut,{transform:X,base:Ut}),J=I(e,`FORBID_CONTENTS`,Vt,{transform:X}),wt=I(e,`FORBID_TAGS`,N({}),{transform:X}),Tt=I(e,`FORBID_ATTR`,N({}),{transform:X}),q=D(e,`USE_PROFILES`)?e.USE_PROFILES&&typeof e.USE_PROFILES==`object`?N(e.USE_PROFILES):e.USE_PROFILES:!1,Et=e.ALLOW_ARIA_ATTR!==!1,Dt=e.ALLOW_DATA_ATTR!==!1,Ot=e.ALLOW_UNKNOWN_PROTOCOLS||!1,kt=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,H=e.SAFE_FOR_TEMPLATES||!1,U=e.SAFE_FOR_XML!==!1,W=e.WHOLE_DOCUMENT||!1,G=e.RETURN_DOM||!1,Pt=e.RETURN_DOM_FRAGMENT||!1,Ft=e.RETURN_TRUSTED_TYPE||!1,Nt=e.FORCE_BODY||!1,It=e.SANITIZE_DOM!==!1,Lt=e.SANITIZE_NAMED_PROPS||!1,zt=e.KEEP_CONTENT!==!1,Bt=e.IN_PLACE||!1,St=ze(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:nt,Jt=typeof e.NAMESPACE==`string`?e.NAMESPACE:Y,$t=ht(e,`MATHML_TEXT_INTEGRATION_POINTS`,()=>M({},Qt)),tn=ht(e,`HTML_INTEGRATION_POINTS`,()=>M({},en));let t=ht(e,`CUSTOM_ELEMENT_HANDLING`,()=>pe(null));if(B=pe(null),D(t,`tagNameCheck`)&&cn(t.tagNameCheck)&&(B.tagNameCheck=t.tagNameCheck),D(t,`attributeNameCheck`)&&cn(t.attributeNameCheck)&&(B.attributeNameCheck=t.attributeNameCheck),D(t,`allowCustomizedBuiltInElements`)&&typeof t.allowCustomizedBuiltInElements==`boolean`&&(B.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),w(B),H&&(Dt=!1),Pt&&(G=!0),q&&(L=M({},Ke),R=pe(null),q.html===!0&&(M(L,Be),M(R,qe)),q.svg===!0&&(M(L,Ve),M(R,Je),M(R,Xe)),q.svgFilters===!0&&(M(L,He),M(R,Je),M(R,Xe)),q.mathMl===!0&&(M(L,We),M(R,Ye),M(R,Xe))),V.tagCheck=null,V.attributeCheck=null,D(e,`ADD_TAGS`)&&(typeof e.ADD_TAGS==`function`?V.tagCheck=e.ADD_TAGS:Se(e.ADD_TAGS)&&(L===Ct&&(L=N(L)),M(L,e.ADD_TAGS,X))),D(e,`ADD_ATTR`)&&(typeof e.ADD_ATTR==`function`?V.attributeCheck=e.ADD_ATTR:Se(e.ADD_ATTR)&&(R===z&&(R=N(R)),M(R,e.ADD_ATTR,X))),D(e,`ADD_FORBID_CONTENTS`)&&Se(e.ADD_FORBID_CONTENTS)&&(J===Vt&&(J=N(J)),M(J,e.ADD_FORBID_CONTENTS,X)),zt&&(L[`#text`]=!0),W&&M(L,[`html`,`head`,`body`]),L.table&&(M(L,[`tbody`]),delete wt.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw A(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw A(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);let t=y;y=e.TRUSTED_TYPES_POLICY;try{b=S(``)}catch(e){throw y=t,e}}else e.TRUSTED_TYPES_POLICY===null?(y=void 0,b=``):(y===void 0&&(y=me()),y&&typeof b==`string`&&(b=S(``)));C&&C(e),on=e},un=M({},[...Ve,...He,...Ue]),dn=M({},[...We,...Ge]),fn=function(e,t,n){return t.namespaceURI===Y?e===`svg`:t.namespaceURI===Kt?e===`svg`&&(n===`annotation-xml`||$t[n]):!!un[e]},pn=function(e,t,n){return t.namespaceURI===Y?e===`math`:t.namespaceURI===qt?e===`math`&&tn[n]:!!dn[e]},mn=function(e,t,n){return t.namespaceURI===qt&&!tn[n]||t.namespaceURI===Kt&&!$t[n]?!1:!dn[e]&&(nn[e]||!un[e])},hn=function(e){let t=se(e),n=E(v(e)),r=p(e),i,a;return r&&_(r)===F.element?(i={namespaceURI:se(r)},a=E(v(r))):(i={namespaceURI:Jt},a=`template`),Xt[t]?t===qt?fn(n,i,a):t===Kt?pn(n,i,a):t===Y?mn(n,i,a):!!(rn===`application/xhtml+xml`&&Xt[t]):!1},Z=function(e){ye(t.removed,{element:e});try{p(e).removeChild(e)}catch{if(ee(e),!p(e))throw A(`a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place`)}},gn=function(e,t,n){try{te(e,t)}catch{try{e.removeAttribute(n)}catch{}}},_n=function(e){xn(e);let t=re(e);t&&T(be(t),e=>{try{ee(e)}catch{}});let n=_(e)===F.element?ie(e):null;if(n)for(let t=n.length-1;t>=0;--t){let r=n[t],i=r&&r.name;typeof i==`string`&&gn(e,r,i)}},vn=function(e,n,r){if(!r)try{r=n.getAttributeNode(e)}catch{r=null}ye(t.removed,{attribute:r||null,from:n});try{r?te(n,r):n.removeAttribute(e)}catch{try{n.removeAttribute(e)}catch{}}if(e===`is`){if(G||Pt)try{Z(n)}catch{}else try{n.setAttribute(e,``)}catch{}}},yn=function(e){let t=ie(e);if(t)for(let n=t.length-1;n>=0;--n){let r=t[n],i=r&&r.name;typeof i!=`string`||R[X(i)]||gn(e,r,i)}},bn=function(e,t){let n=arguments.length>2&&arguments[2]!==void 0&&arguments[2],r=[e];for(;r.length>0;){let e=r.pop();if(t(e)===!1)continue;if(n&&_(e)===F.element){let t=m(e);Q(t)&&r.push(t)}let i=re(e);if(i)for(let e=i.length-1;e>=0;--e)r.push(i[e])}},xn=function(e){bn(e,e=>{_(e)===F.element&&yn(e)})},Sn=function(e){let t=[];return bn(e,e=>{t.push(e)},!0),t},Cn=function(e,t){let n=Ce();T(Sn(e),e=>{_(e)===F.element&&we(n,e)}),T(t,e=>{_(e)===F.element&&!Te(n,e)&&yn(e)})},wn=function(e,n){let r=!1;return T(t.removed,t=>{t.element&&(r||=t.element===e,xn(t.element))}),Cn(e,n),r},Tn=function(e,t){let n=K,r=null,i=()=>(r||(r=Ce(),T(t,e=>{we(r,e)})),r);for(let t=0;;t++){let r=Sn(e),a=[e],o=!1;if(T(r,e=>{_(e)===F.documentFragment?ye(a,e):!o&&!Te(n,e)&&(o=Te(i(),e))}),!o)return;if(t>=8)throw A(`the tree kept changing during in-place sanitization; refusing to return it`);T(a,(t,n)=>{En(t,n>0,e,i())})}},En=function(e,t,n,r){let i=jn(e),a;for(;a=i.nextNode();)Te(r,a)&&!Te(K,a)&&(t&&$(O.uponSanitizeShadowNode,a,null),Hn(a,n),Yn(a,n),Q(a.content)&&Xn(a.content))},Dn=function(e){K&&we(K,e)},On=function(e,t){return U?e===`patchsrc`||e===`for`&&t!==`label`&&t!==`output`:!1},kn=function(e){U&&bn(e,e=>{let t=_(e);if(t===F.processingInstruction||t===F.comment&&k(ct,e.data)){try{ee(e)}catch{}return!1}if(t===F.element){let t=e,n=X(v(e));try{t.hasAttribute&&t.hasAttribute(`patchsrc`)&&t.removeAttribute(`patchsrc`),t.hasAttribute&&t.hasAttribute(`for`)&&On(`for`,n)&&t.removeAttribute(`for`)}catch{}}return!0})},An=function(e){let t=null,r=null;if(Nt)e=``+e;else{let t=De(e,/^[\r\n\t ]+/);r=t&&t[0]}rn===`application/xhtml+xml`&&Jt===Y&&(e=``+e+``);let i=y?S(e):e;if(Jt===Y)try{t=new l().parseFromString(i,rn)}catch{}if(!t||!t.documentElement){t=ge.createDocument(Jt,`template`,null);try{t.documentElement.innerHTML=Yt?b:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),Jt===Y?Ne.call(t,W?`html`:`body`)[0]:W?t.documentElement:a},jn=function(e){let t=ae?ae(e):e.ownerDocument;return je.call(t||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},Mn=function(e){return e=Oe(e,j,` `),e=Oe(e,Fe,` `),e=Oe(e,Ie,` `),e},Nn=function(e){Pn(e);let t=e.querySelectorAll?.call(e,`template`);t&&T(t,e=>{Q(e.content)&&Nn(e.content)})},Pn=function(e){e.normalize();let t=ae?ae(e):e.ownerDocument,n=je.call(t||e,e,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null),r=n.nextNode();for(;r;)r.data=Mn(r.data),r=n.nextNode()},Fn=function(e){let t=g?g(e):null;return typeof t!=`string`||X(t)!==`form`?!1:typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||e.attributes!==ie(e)||typeof e.removeAttribute!=`function`||typeof e.removeAttributeNode!=`function`||typeof e.getAttributeNode!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`||e.nodeType!==h(e)||e.childNodes!==re(e)},Q=function(e){if(!h||typeof e!=`object`||!e)return!1;try{return h(e)===F.documentFragment}catch{return!1}},In=function(e){if(!h||typeof e!=`object`||!e)return!1;try{return typeof h(e)==`number`}catch{return!1}};function $(e,n,r){e.length!==0&&T(e,e=>{e.call(t,n,r,on)})}let Ln=function(e,t){return!!(U&&e.hasChildNodes()&&!In(e.firstElementChild)&&k(st,e.textContent)&&k(st,e.innerHTML)||U&&dt[t]&&_(e)===F.element&&se(e)===Y&&(In(e.firstElementChild)||typeof e.textContent==`string`&&k(st,e.textContent))||e.nodeType===F.processingInstruction||U&&e.nodeType===F.comment&&k(ct,e.data))},Rn=function(e,t){return e instanceof RegExp?k(e,t):e instanceof Function&&!!e(t,...[...arguments].slice(2))},zn=function(e,t,n){if(!wt[t]&&Gn(t)&&Rn(B.tagNameCheck,t))return!1;if(zt&&!J[t]&&!J[E(t)]){let t=p(e),r=re(e);if(r&&t){let i=r.length;for(let a=i-1;a>=0;--a){let i=e===n?f(r[a],!0):r[a];t.insertBefore(i,ne(e))}}}return Z(e),!0},Bn=function(e,t,n,r){return e.length===0?t:t===n||t===r?N(t):t},Vn=function(e,t){return e===t||p(e)!==null?!1:(Bt&&xn(e),!0)},Hn=function(e,n){if(Dn(e),$(O.beforeSanitizeElements,e,null),Vn(e,n))return!0;if(Fn(e))return Z(e),!0;let r=X(v(e));if(L=Bn(O.uponSanitizeElement,L,Ct,jt),$(O.uponSanitizeElement,e,{tagName:r,allowedTags:L}),Vn(e,n))return!0;if(Ln(e,r))return Z(e),!0;if(wt[r]||!(V.tagCheck instanceof Function&&V.tagCheck(r))&&!L[r]){let t=zn(e,r,n);return t===!1&&($(O.afterSanitizeElements,e,null),Vn(e,n))?!0:t}if(_(e)===F.element&&!hn(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&k(lt,e.innerHTML))return Z(e),!0;if(H&&e.nodeType===F.text){let n=Mn(e.textContent);e.textContent!==n&&(ye(t.removed,{element:e.cloneNode()}),e.textContent=n)}return $(O.afterSanitizeElements,e,null),Vn(e,n)},Un=function(e,t,r){if(Tt[t]||On(t,e)||It&&(t===`id`||t===`name`)&&(r in n||r in sn))return!1;let i=R[t]||V.attributeCheck instanceof Function&&V.attributeCheck(t,e);return Dt&&k(_t,t)||Et&&k(vt,t)?!0:i?Wt[t]||k(St,Oe(r,bt,``))||(t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&ke(r,`data:`)===0&&Ht[e]||Ot&&!k(yt,Oe(r,bt,``))?!0:!r:Gn(e)&&Rn(B.tagNameCheck,e)&&Rn(B.attributeNameCheck,t,e)||t===`is`&&B.allowCustomizedBuiltInElements&&Rn(B.tagNameCheck,r)},Wn=M({},[`annotation-xml`,`color-profile`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`missing-glyph`]),Gn=function(e){return!Wn[E(e)]&&k(xt,e)},Kn=function(e,t,n,r){if(y&&typeof u==`object`&&typeof u.getAttributeType==`function`&&!n)switch(u.getAttributeType(e,t)){case`TrustedHTML`:return S(r);case`TrustedScriptURL`:return fe(r)}return r},qn=function(e,t,n,r){try{return n?e.setAttributeNS(n,t,r):e.setAttribute(t,r),!Fn(e)||(Z(e),!1)}catch{return vn(t,e),!1}},Jn=function(e,t){return U&&k(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,t)?!0:E(e)===`attributename`&&De(t,`href`)!==null},Yn=function(e,n){if($(O.beforeSanitizeAttributes,e,null),Vn(e,n))return;let r=e.attributes;if(!r||Fn(e))return;R=Bn(O.uponSanitizeAttribute,R,z,Mt);let i={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:R,forceKeepAttr:void 0},a=r.length,o=X(e.nodeName);for(;a--;){let n=r[a],s=n.name,c=n.namespaceURI,l=n.value,u=X(s),d=l,f=s===`value`?d:Ae(d),ee=!1;i.attrName=u,i.attrValue=f,i.keepAttr=!0,i.forceKeepAttr=void 0,$(O.uponSanitizeAttribute,e,i),f=i.attrValue,Lt&&(u===`id`||u===`name`)&&ke(f,Rt)!==0&&(vn(s,e,n),f=Rt+f,ee=!0),Jn(s,f)?vn(s,e,n):i.forceKeepAttr||(i.keepAttr?!kt&&k(ut,f)?vn(s,e,n):(H&&(f=Mn(f)),Un(o,u,f)?(f=Kn(o,u,c,f),f!==d&&qn(e,s,c,f)&&ee&&ve(t.removed)):vn(s,e,n)):vn(s,e,n))}$(O.afterSanitizeAttributes,e,null),Vn(e,n)},Xn=function(e){let t=null,n=jn(e);for($(O.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)if($(O.uponSanitizeShadowNode,t,null),Hn(t,e),Yn(t,e),Q(t.content)&&Xn(t.content),_(t)===F.element){let e=m(t);Q(e)&&(Zn(e),Xn(e))}H&&Pn(e),$(O.afterSanitizeShadowDOM,e,null)},Zn=function(e){let t=[{node:e,shadow:null}];for(;t.length>0;){let e=t.pop();if(e.shadow){Xn(e.shadow);continue}let n=e.node,r=_(n)===F.element,i=re(n);if(i)for(let e=i.length-1;e>=0;--e)t.push({node:i[e],shadow:null});if(r){let e=g?g(n):null;if(typeof e==`string`&&X(e)===`template`){let e=n.content;Q(e)&&t.push({node:e,shadow:null})}}if(r){let e=m(n);Q(e)&&t.push({node:null,shadow:e},{node:e,shadow:null})}}};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,a=null,o=null,s=null;if(Yt=!e,Yt&&(e=``),typeof e!=`string`&&!In(e)&&(e=Le(e),typeof e!=`string`))throw A(`dirty is not a string, aborting`);if(!t.isSupported)return e;At?(L=jt,R=Mt):ln(n),(O.uponSanitizeElement.length>0||O.uponSanitizeAttribute.length>0)&&(L=N(L)),O.uponSanitizeAttribute.length>0&&(R=N(R)),t.removed=[];let c=Bt&&typeof e!=`string`&&In(e),l=[],u=K;if(c){kn(e);let t=v(e);if(typeof t==`string`){let n=X(t);if(!L[n]||wt[n])throw _n(e),A(`root node is forbidden and cannot be sanitized in-place`)}if(Fn(e))throw _n(e),A(`root node is clobbered and cannot be sanitized in-place`);l=Sn(e),K=Ce()}else if(In(e))i=An(``),a=i.ownerDocument.importNode(e,!0),a.nodeType===F.element&&a.nodeName===`BODY`||a.nodeName===`HTML`?i=a:i.appendChild(a),Zn(i);else{if(!G&&!H&&!W&&e.indexOf(`<`)===-1)return y&&Ft?S(e):e;if(i=An(e),!i)return G?null:Ft?b:``}i&&Nt&&Z(i.firstChild);let d=c?e:i;try{c&&Zn(e);let t=jn(d);for(;o=t.nextNode();)Hn(o,d),Yn(o,d),Q(o.content)&&Xn(o.content);c&&Tn(e,l)}catch(t){throw c&&(_n(e),wn(e,l)),t}finally{K=u}if(c){if(wn(e,l))throw A(`a node selected for removal could not be safely returned; refusing to sanitize in place`);return H&&Nn(e),e}if(G){if(H&&Nn(i),Pt)for(s=Me.call(i.ownerDocument);i.firstChild;)s.appendChild(i.firstChild);else s=i;return(R.shadowroot||R.shadowrootmode)&&(s=Pe.call(r,s,!0)),s}let f=W?i.outerHTML:i.innerHTML;return W&&L[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&k(at,i.ownerDocument.doctype.name)&&(f=` -`+f),H&&(f=Mn(f)),y&&Ft?S(f):f},t.setConfig=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};ln(e),At=!0,jt=L,Mt=R},t.clearConfig=function(){on=null,At=!1,jt=null,Mt=null,y=ce,b=``},t.isValidAttribute=function(e,t,n){on||ln({});let r=X(e),i=X(t);return typeof n==`string`&&(Jn(t,n)||!kt&&k(ut,n))?!1:Un(r,i,n)},t.addHook=function(e,t){typeof t==`function`&&D(O,e)&&ye(O[e],t)},t.removeHook=function(e,t){if(D(O,e)){if(t!==void 0){let n=_e(O[e],t);return n===-1?void 0:xe(O[e],n,1)[0]}return ve(O[e])}},t.removeHooks=function(e){D(O,e)&&(O[e]=[])},t.removeAllHooks=function(){O=mt()},t}var _t=gt(),vt=null,yt=[`style`,...ee],bt={svgMaxChars:e.limits.svgMaxChars,svgMaxNodes:e.limits.svgMaxNodes},xt=e=>typeof e==`number`&&Number.isFinite(e)&&e>0;function St(t){bt={svgMaxChars:xt(t?.svgMaxChars)?t.svgMaxChars:e.limits.svgMaxChars,svgMaxNodes:xt(t?.svgMaxNodes)?t.svgMaxNodes:e.limits.svgMaxNodes}}function L(e){if(e.length>bt.svgMaxChars)return!0;let t=0;for(let n=e.indexOf(`<`);n!==-1;n=e.indexOf(`<`,n+1))if(++t>bt.svgMaxNodes)return!0;return!1}function Ct(){if(typeof window>`u`)return null;if(vt)return vt;let e=_t(window),t=f(),n=u.fragmentOnlyRefs.attributes;return e.addHook(`afterSanitizeAttributes`,e=>{let r=e;for(let e of n){let n=r.getAttribute?.(e);n!=null&&!t.test(n)&&r.removeAttribute(e)}for(let e of yt){let t=r.getAttribute?.(e);t!=null&&!m(t)&&r.removeAttribute(e)}for(let e of g){let t=r.getAttribute?.(e);t!=null&&!ae(e,t)&&r.removeAttribute(e)}}),vt=e,vt}function R(e){if(!e||L(e))return``;let t=Ct();return t?t.sanitize(e,{ALLOWED_TAGS:[...u.allowedTags],ALLOWED_ATTR:[...d(),`data-layer`],FORBID_TAGS:[...u.forbiddenTags],ALLOW_ARIA_ATTR:!0,ALLOW_DATA_ATTR:!1}):``}var z=[`fill`,`stroke`,`color`,`stop-color`,`flood-color`,`lighting-color`],B=/* @__PURE__ */ new Set([`none`,`transparent`,`currentcolor`,`inherit`,`unset`,`initial`]),wt=/^(?:#000(?:000)?|black|rgb\(\s*0\s*,\s*0\s*,\s*0\s*\))$/i,Tt=/^#(?:([0-9a-f])([0-9a-f])([0-9a-f])|([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2}))$/i,V=/\s*!important\s*$/i;function Et(e){let t=e.trim();if(wt.test(t))return!0;let n=Tt.exec(t);if(!n)return!1;let r=(n[1]?[n[1]+n[1],n[2]+n[2],n[3]+n[3]]:[n[4],n[5],n[6]]).map(e=>parseInt(e,16));return Math.max(...r)<=64&&Math.max(...r)-Math.min(...r)<=24}function Dt(e){let t=[];for(let n of Array.from(e.attributes)){let e=n.name.toLowerCase();if(z.includes(e)&&t.push(n.value.trim()),e===`style`)for(let e of n.value.split(`;`)){let n=e.indexOf(`:`);n<0||z.includes(e.slice(0,n).trim().toLowerCase())&&t.push(e.slice(n+1).replace(V,``).trim())}}return t}function Ot(e){for(let t of Array.from(e.attributes)){let n=t.name.toLowerCase();if(z.includes(n)&&Et(t.value)&&e.setAttribute(t.name,`currentColor`),n===`style`){let n=t.value.split(`;`).map(e=>{let t=e.indexOf(`:`);if(t<0)return e;let n=e.slice(0,t),r=e.slice(t+1);if(!z.includes(n.trim().toLowerCase()))return e;let i=V.test(r);return Et(r.replace(V,``))?`${n}:currentColor${i?` !important`:``}`:e});e.setAttribute(t.name,n.join(`;`))}}}function kt(e){if(typeof DOMParser>`u`)return null;let t=new DOMParser().parseFromString(e,`image/svg+xml`),n=t.documentElement;return!n||n.nodeName.toLowerCase()!==`svg`||t.getElementsByTagName(`parsererror`).length?null:t}function H(e){let t=kt(e);if(!t||t.getElementsByTagName(`style`).length)return!1;let n=!1;for(let e of[t.documentElement,...Array.from(t.documentElement.getElementsByTagName(`*`))])for(let t of Dt(e))if(Et(t))n=!0;else if(!B.has(t.toLowerCase()))return!1;return n}function U(e){if(!H(e))return e;let t=kt(e);for(let e of[t.documentElement,...Array.from(t.documentElement.getElementsByTagName(`*`))])Ot(e);return new XMLSerializer().serializeToString(t.documentElement)}var W=/* @__PURE__ */ new Map,At=/* @__PURE__ */ new Map,jt=/* @__PURE__ */ new WeakMap;function Mt(e,t,n,r){let i=e.get(n);if(i!==void 0)return i;let a=t.get(n);if(a)return a;let o=r().then(r=>(e.set(n,r),t.delete(n),r),e=>{throw t.delete(n),e});return t.set(n,o),o}function Nt(e,n){if(e.svgContent)return e.svgContent;if(n){let t=jt.get(n);return t||jt.set(n,t={done:/* @__PURE__ */ new Map,pending:/* @__PURE__ */ new Map}),Mt(t.done,t.pending,e.id,()=>n.getSvg(e))}let r=t(e.svgUrl??``);return r?G(r):``}function G(e){return Mt(W,At,e,()=>fetch(e).then(e=>e.text()))}var Pt=[`fill`,`fill-rule`,`fill-opacity`,`stroke`,`stroke-width`,`stroke-linecap`,`stroke-linejoin`,`stroke-miterlimit`,`stroke-dasharray`,`stroke-opacity`,`clip-rule`,`color`,`opacity`];function Ft(e){let t=/]*>/i.exec(e)?.[0]??``,n=``;for(let e of Pt){let r=RegExp(`\\s${e}\\s*=\\s*"([^"]*)"`,`i`).exec(t);r&&(n+=` ${e}="${r[1]}"`)}return n}var It=/* @__PURE__ */ new Map,Lt=/* @__PURE__ */ new Map;function Rt(e){let t=e.indexOf(`>`,e.indexOf(``);return(t>=0&&n>t?e.slice(t+1,n):e).replace(/]*fill="none"[^>]*><\/path>/gi,``).replace(/]*fill="none"[^>]*\/>/gi,``).trim()}function zt(e,t){let n=R(e),r=/viewBox\s*=\s*"([^"]+)"/i.exec(n)?.[1]??t,i={body:Rt(n),viewBox:r};i.rootAttrs=Ft(n);let a=U(n);return a!==n&&(i.monoBody=Rt(a)),i}function Bt(e){if(e.svgContent)return zt(e.svgContent,e.viewBox);let n=t(e.svgUrl??``);if(!n)return{body:``,viewBox:e.viewBox};let r=It.get(n);if(r)return r;let i=Lt.get(n);if(i)return i;let a=Promise.resolve(G(n)).then(t=>{let r=zt(t,e.viewBox);return It.set(n,r),Lt.delete(n),r}).catch(()=>{let t={body:``,viewBox:e.viewBox};return It.set(n,t),Lt.delete(n),t});return Lt.set(n,a),a}function K(e,t){return{display:`inline-block`,width:t,height:t,maskImage:`url("${e}")`,maskSize:`contain`,maskRepeat:`no-repeat`,maskPosition:`center`,WebkitMaskImage:`url("${e}")`,WebkitMaskSize:`contain`,WebkitMaskRepeat:`no-repeat`,WebkitMaskPosition:`center`}}function q(e,t,n,r){let i=K(e,t);switch(r){case`solid`:return{...i,backgroundColor:n,filter:`drop-shadow(0 0 .6px currentColor) drop-shadow(0 0 .6px currentColor) drop-shadow(0 0 .6px currentColor)`};case`duotone`:return{...i,backgroundColor:`var(--accent)`,filter:`drop-shadow(1.5px 1.5px 0 var(--fg))`};case`midtone`:return{...i,backgroundColor:n,opacity:.5};case`halftone`:return{...i,backgroundColor:`transparent`,backgroundImage:`radial-gradient(currentColor 42%, transparent 44%)`,backgroundSize:`3px 3px`,color:n};default:return{...i,backgroundColor:n}}}function J(e){switch(e){case`midtone`:return{opacity:.5};case`duotone`:return{filter:`drop-shadow(1.5px 1.5px 0 var(--fg))`};case`solid`:return{filter:`drop-shadow(0 0 .4px currentColor) drop-shadow(0 0 .4px currentColor)`};default:return{}}}export{St as a,r as c,Nt as i,n as l,q as n,R as o,Bt as r,i as s,J as t}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/ar-DN72wH1H.js b/resources/vendor/react-icon-browser/ar-DN72wH1H.js deleted file mode 100644 index e4465e6..0000000 --- a/resources/vendor/react-icon-browser/ar-DN72wH1H.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -var e={"format.qwik":`Qwik`,"format.ember":`Ember`,"format.elm":`Elm`,"format.css-mask":`قناع CSS`,"format.data-uri":`URI بيانات`,"format.flutter":`Flutter`,"format.swiftui":`SwiftUI`,"export.css-mask":`قناع CSS`,"export.css-maskDesc":`فئة لكل أيقونة، بلون currentColor`,"export.data-uri":`URI بيانات`,"export.data-uriDesc":`خصائص CSS مخصّصة، مع الألوان`,"export.native":`أصول أصلية`,"export.flutter":`تنزيل لـ Flutter`,"export.flutterDesc":`أصول SVG وفهرس Dart، يولّدها js-icon-components`,"export.swiftui":`تنزيل لـ SwiftUI`,"export.swiftuiDesc":`كتالوج ‎.xcassets، يولّدها js-icon-components`,"detail.cssMask":`قناع CSS`,"detail.copyDataUri":`نسخ كـ URI بيانات`,"settings.clearHistoryTitle":`السجل`,"settings.clearHistoryDesc":`يمسح الأيقونات التي عرضتها ونسختها ونزّلتها، والإجراءات الأخيرة في لوحة الأوامر.`,"settings.clearHistoryButton":`مسح السجل`,"settings.clearHistoryToast":`تم مسح السجل`,"detail.tags":`الوسوم`,"kind.label":`عرض`,"kind.icons":`أيقونات`,"kind.illustrations":`رسوم توضيحية`,"toolbar.illustrationOne":`رسم توضيحي`,"toolbar.illustrationMany":`رسوم توضيحية`,"toolbar.filterByTag":`عرض الأيقونات الموسومة بـ «{tag}»`,"toolbar.filterByKeyword":`عرض الأيقونات ذات الكلمة المفتاحية «{keyword}»`,"empty.noIllustrations":`لا توجد رسوم توضيحية تطابق هذه العوامل`,"empty.noIconsTitle":`لا شيء للتصفّح بعد`,"empty.noIconsDesc":`لا توجد مجموعة أيقونات مثبّتة ومحمّلة هنا. عند توفّر واحدة تظهر أيقوناتها في هذه الشبكة.`,"settings.syncAccount":`تُحفظ المفضّلة والمجموعات مع حسابك`,"settings.syncSession":`تُحفظ المفضّلة والمجموعات لهذه الجلسة`,"settings.guestSignIn":`سجّل الدخول لحفظها مع حسابك.`,"settings.factoryDescHost":`يعيد إعدادات هذا المتصفّح وعوامل التصفية إلى الافتراضي. تبقى المفضّلة والمجموعات كما هي.`,"settings.factoryConfirmBodyHost":`ستُعاد التفضيلات وعوامل التصفية والمظهر والموافقة والجولة إلى الإعدادات الافتراضية في هذا المتصفّح. تبقى المفضّلة والمجموعات والسجل حيث تُحفظ.`,"settings.deleteLibraryTitle":`حذف مكتبتي`,"settings.deleteLibraryDesc":`يزيل كل المفضّلة والمجموعات المحفوظة لك هنا.`,"settings.deleteLibraryButton":`حذف…`,"settings.deleteLibraryConfirmTitle":`حذف مكتبتك؟`,"settings.deleteLibraryConfirmBody":`تُزال كل المفضّلة والمجموعات، هنا وعلى الخادم. يبقى السجل والإعدادات. لا يمكن التراجع عن هذا.`,"settings.deleteLibraryConfirmLabel":`حذف مكتبتي`,"settings.deleteLibraryToast":`تم حذف المكتبة`,"detail.snippetFormat":`تنسيق المقتطف`,"console.code":`الكود`,"palette.results":`النتائج`,"appearance.adaptMono":`تكييف الأيقونات السوداء في الوضع الداكن`,"app.documentTitle":`Ichava Browser — كل أيقونة يحتاجها تطبيق Laravel الخاص بك`,"sort.name":`الاسم`,"sort.package":`الحزمة`,"sort.category":`الفئة`,"treatment.default":`خطّي`,"treatment.defaultDesc":`الخطوط الأصلية للحزمة`,"treatment.solid":`مُصمت`,"treatment.solidDesc":`وزن أثقل ومملوء`,"treatment.duotone":`ثنائي اللون`,"treatment.duotoneDesc":`طبقة ظل بلون التمييز`,"treatment.midtone":`نصف درجة`,"treatment.midtoneDesc":`حبر مخفّف بنسبة 50%`,"treatment.halftone":`نقطي`,"treatment.halftoneDesc":`تعبئة نقطية بطابع قديم`,"unit.pxValue":`{n} بكسل`,"common.cancel":`إلغاء`,"common.create":`إنشاء`,"common.clear":`مسح`,"common.all":`الكل`,"common.none":`لا شيء`,"common.copy":`نسخ`,"common.download":`تنزيل`,"common.favorite":`مفضّل`,"common.favorited":`في المفضلة`,"common.close":`إغلاق`,"common.signIn":`تسجيل الدخول`,"common.signOut":`تسجيل الخروج`,"common.search":`ابحث عن أيقونات، إجراءات…`,"header.favorites":`المفضّلة`,"header.history":`السجل`,"header.collections":`المجموعات`,"header.notifications":`الإشعارات`,"header.toggleTheme":`تبديل المظهر`,"header.settings":`الإعدادات`,"header.fullscreen":`ملء الشاشة`,"header.exitFullscreen":`إنهاء ملء الشاشة`,"header.commandPalette":`لوحة الأوامر`,"header.gridView":`عرض شبكي`,"header.listView":`عرض قائمة`,"sidebar.packages":`الحزم`,"sidebar.categories":`الفئات`,"sidebar.filterCategories":`تصفية الفئات…`,"sidebar.filterIcons":`تصفية الأيقونات…`,"sidebar.expandAll":`توسيع الكل`,"sidebar.collapseAll":`طي الكل`,"variant.all":`الكل`,"variant.outline":`مُحدّد`,"variant.filled":`مملوء`,"variant.color":`ملوّن`,"toolbar.sort":`ترتيب`,"toolbar.size":`الحجم`,"toolbar.stroke":`السُّمك`,"toolbar.color":`اللون`,"toolbar.treatment":`نمط الأيقونة`,"toolbar.export":`تصدير`,"toolbar.copyNames":`نسخ الأسماء`,"toolbar.newCollection":`مجموعة جديدة`,"toolbar.selected":`تم تحديد {n}`,"appearance.title":`المظهر`,"appearance.subtitle":`السمة · العلامة · التكبير`,"appearance.theme":`السمة`,"appearance.light":`فاتح`,"appearance.dark":`داكن`,"appearance.brandAccent":`لون العلامة`,"appearance.customHex":`لون مخصّص`,"appearance.radius":`الاستدارة`,"appearance.size":`تكبير الواجهة`,"appearance.density":`كثافة الواجهة`,"appearance.compact":`مضغوط`,"appearance.comfy":`مريح`,"appearance.reduceMotion":`تقليل الحركة`,"appearance.iconLabels":`تسميات الأيقونات`,"appearance.language":`اللغة`,"appearance.footer":`ينطبق على التطبيق فقط. يُحفظ في وحدة التخزين المختارة.`,"account.workspace":`مساحة العمل`,"account.account":`الحساب`,"account.profile":`الملف الشخصي والتفضيلات`,"account.sharedCollections":`المجموعات المشتركة`,"profile.signOutTitle":`تسجيل الخروج؟`,"profile.signOutBody":`ستحتفظ بالمفضّلة والعوامل المحلية، لكن المجموعات المشتركة وميزات الفريق تتطلب تسجيل الدخول مرة أخرى.`,"profile.signedOut":`تم تسجيل الخروج`,"profile.switched":`تم التبديل إلى {name}`,"profile.title":`الملف الشخصي`,"profile.account":`الحساب`,"profile.appSettings":`إعدادات التطبيق`,"shared.title":`المجموعات المشتركة`,"shared.count":`{n} مشتركة`,"shared.empty":`لا توجد مجموعات مشتركة بعد.`,"shared.manageAccess":`إدارة الوصول`,"empty.noResults":`لا توجد أيقونات تطابق عوامل التصفية.`,"empty.noFavorites":`لا مفضّلات بعد.`,"empty.onboardTitle":`اختر حزمًا للتصفّح`,"empty.onboardDesc":`تظهر الأيقونات بمجرد اختيار حزمة مثبّتة واحدة على الأقل.`,"empty.selectAllPackages":`اختيار كل الحزم`,"empty.noMatchSearch":`لا توجد أيقونات تطابق «{q}»`,"empty.noMatchFilters":`لا توجد أيقونات تطابق هذه العوامل`,"empty.tryDifferent":`جرّب مصطلحًا آخر أو نمطًا آخر، أو امسح عوامل التصفية النشطة.`,"empty.clearFilters":`مسح العوامل`,"toolbar.iconOne":`أيقونة`,"toolbar.iconMany":`أيقونات`,"toolbar.removeFilter":`إزالة العامل`,"toolbar.namesCopied":`تم نسخ {n} من الأسماء`,"toolbar.exportedToast":`تم تصدير {n} أيقونة — {label}`,"toolbar.treatmentEngine":`محرّك المعالجات`,"toolbar.toggleSortOrder":`تبديل ترتيب الفرز`,"toolbar.gridIconSize":`حجم الأيقونة في الشبكة`,"toolbar.sizeUnit":`وحدة الحجم`,"toolbar.strokeTitle":`سُمك الخط — يعيد كتابة الخط في الشبكة والتفاصيل والتصدير`,"toolbar.previewColor":`لون المعاينة`,"toolbar.resetFilters":`إعادة ضبط العوامل`,"toolbar.resetTitle":`إعادة ضبط جميع العوامل؟`,"toolbar.resetBody":`يعود البحث والفئات والأنماط والفرز والصفحة والتحديد ولون المعاينة إلى الإعدادات الافتراضية. المفضّلة والمجموعات والمظهر تبقى دون تغيير.`,"toolbar.resetConfirm":`إعادة ضبط العوامل`,"toolbar.resetToast":`تمت إعادة ضبط العوامل`,"footer.noResults":`لا نتائج`,"footer.range":`{start}–{end} من {total}`,"footer.perPageLabel":`النتائج لكل صفحة`,"footer.perPage":`{n} / صفحة`,"footer.prevPage":`الصفحة السابقة`,"footer.nextPage":`الصفحة التالية`,"list.copiedToast":`تم نسخ {name}`,"sidebar.scopeIcons":`الأيقونات`,"sidebar.scopePackages":`الحزم`,"sidebar.scopeCategories":`الفئات`,"sidebar.scopeAll":`الكل`,"sidebar.notInstalled":`غير مثبّتة`,"sidebar.inView":`المعروضة`,"sidebar.selected":`المحدّدة`,"sidebar.loadedIcons":`في هذا الفهرس`,"sidebar.ecosystemTotal":`إجمالي المنظومة`,"sidebar.favorites":`المفضّلة`,"sidebar.filterPackages":`تصفية الحزم…`,"sidebar.searchEverything":`ابحث في كل شيء…`,"sidebar.searchScope":`نطاق البحث`,"header.filtersPackages":`العوامل والحزم`,"header.toggleSidebar":`تبديل الشريط الجانبي`,"header.devtools":`Ichava DevTools`,"palette.placeholder":`اكتب أمرًا أو ابحث عن الأيقونات…`,"palette.recent":`الأخيرة`,"palette.actions":`الإجراءات`,"palette.icons":`الأيقونات`,"palette.openHint":`فتح`,"palette.noMatches":`لا توجد نتائج لـ «{q}»`,"palette.navigate":`تنقّل`,"palette.select":`تحديد`,"palette.close":`إغلاق`,"palette.toggleTheme":`تبديل السمة`,"palette.openSettings":`فتح الإعدادات`,"palette.openFavorites":`فتح المفضّلة`,"palette.openHistory":`فتح السجل`,"palette.openCollections":`فتح المجموعات`,"palette.switchListView":`التبديل إلى عرض القائمة`,"palette.switchGridView":`التبديل إلى عرض الشبكة`,"palette.resetFilters":`إعادة ضبط جميع العوامل`,"palette.selectAll":`تحديد كل النتائج المطابقة`,"selectAll.confirmTitle":`تحديد كل الأيقونات البالغ عددها {n}؟`,"selectAll.confirmBody":`لا يوجد بحث أو عامل تصفية نشط، لذا سيتم تحديد كل الأيقونات في الكتالوج.`,"selectAll.confirmLabel":`تحديد الكل`,"palette.openDevtools":`فتح Ichava DevTools`,"common.remove":`إزالة`,"settings.appearanceHintPre":`السمة واللون والاستدارة والحجم والكثافة والحركة والتسميات موجودة في قائمة `,"settings.appearanceHintPost":` في الرأس.`,"settings.behavior":`السلوك`,"settings.perPageTitle":`الأيقونات لكل صفحة`,"settings.perPageDesc":`حجم ترقيم صفحات الشبكة.`,"settings.copyFormatTitle":`صيغة النسخ الافتراضية`,"settings.copyFormatDesc":`تُستخدم عند النقر للنسخ على البطاقات.`,"settings.storageTitle":`مُشغّل التخزين`,"settings.storageDesc":`مكان حفظ التفضيلات والحالة.`,"settings.storageLocal":`محلي`,"settings.storageSession":`جلسة`,"settings.tourTitle":`جولة المنتج`,"settings.tourDesc":`إعادة تشغيل الجولة التعريفية.`,"settings.replayTour":`إعادة الجولة`,"settings.factoryTitle":`إعادة ضبط المصنع`,"settings.factoryDesc":`يعيد كل إعداد وعامل تصفية ومفضّلة ومجموعة إلى الإعدادات الافتراضية.`,"settings.factoryConfirmTitle":`إعادة ضبط كل شيء إلى إعدادات المصنع؟`,"settings.factoryConfirmBody":`ستُعاد جميع التفضيلات وعوامل التصفية والمفضّلة والسجل والمجموعات وتخصيص العلامة والموافقة واللقطات المحفوظة إلى الإعدادات الافتراضية. لا يمكن التراجع عن هذا.`,"settings.factoryConfirmLabel":`إعادة ضبط كل شيء`,"settings.factoryToast":`تمت إعادة ضبط كل شيء إلى الإعدادات الافتراضية`,"settings.resetEverything":`إعادة ضبط كل شيء…`,"settings.account":`الحساب`,"settings.syncNote":`تُحفظ المفضّلة والمجموعات في هذا المتصفّح فقط`,"settings.guestNote":`أنت تتصفّح كضيف. تُحفظ التفضيلات والمفضّلة والمجموعات في هذا المتصفّح فقط.`,"settings.aboutLink":`حول Ichava →`,"consent.ariaLabel":`ملفات تعريف الارتباط والتخزين`,"consent.title":`ملفات تعريف الارتباط والتخزين`,"consent.body":`يحفظ Ichava تفضيلاتك ومفضّلاتك في مُشغّل التخزين الذي اخترته، بالإضافة إلى أحداث استخدام مجهولة. لا مُتتبّعات من جهات خارجية.`,"consent.essentialOnly":`الأساسية فقط`,"consent.acceptAll":`قبول الكل`,"consent.move":`نقل الإشعار`,"consent.moveHint":`اسحبه، أو استخدم مفاتيح الأسهم، لنقله. يعيده مفتاح Home إلى مكانه.`,"about.browser":`Browser`,"about.craftedBy":`من صنع`,"about.statIcons":`أيقونات مفهرسة`,"about.statSets":`مجموعات أيقونات`,"about.statLicense":`الترخيص`,"library.favorites":`المفضّلة`,"library.history":`السجل`,"library.collections":`المجموعات`,"library.emptyFavorites":`لا مفضّلات بعد — مرّر فوق أيقونة وانقر على القلب.`,"library.emptyHistory":`لا نشاط بعد — تظهر هنا المشاهدات والنسخ والتنزيلات.`,"library.emptyCollections":`لا مجموعات بعد — أنشئ واحدة بالأعلى.`,"library.clearHistory":`مسح السجل`,"library.newCollectionPlaceholder":`اسم المجموعة…`,"library.seededWith":`تبدأ بـ {n} أيقونة`,"library.iconCount":`{n} أيقونة`,"library.teamBadge":`فريق`,"library.viewerBadge":`قارئ`,"library.copyNamesTitle":`نسخ أسماء الأيقونات`,"library.deleteCollection":`حذف المجموعة`,"tile.openDetail":`فتح التفاصيل`,"tile.copyFormat":`نسخ {format}`,"tile.copyName":`نسخ الاسم`,"tile.copiedName":`تم نسخ الاسم`,"tile.copyPermalink":`نسخ الرابط الدائم`,"tile.permalinkCopied":`تم نسخ الرابط الدائم`,"tile.select":`تحديد`,"tile.deselect":`إلغاء التحديد`,"tile.addFavorite":`إضافة إلى المفضّلة`,"tile.removeFavorite":`إزالة من المفضّلة`,"tile.favoritedAria":`في المفضّلة`,"tile.selectedAria":`محدّد`,"detail.previewOnly":`معاينة فقط — الشبكة لا تتأثّر`,"detail.scaledToFit":`مُحجَّم`,"detail.actual":`الفعلي`,"detail.size":`الحجم`,"detail.previewSize":`حجم المعاينة`,"detail.unit":`الوحدة`,"detail.color":`اللون`,"detail.stroke":`السُّمك`,"detail.motion":`الحركة`,"detail.searchPresets":`ابحث في {n} إعدادًا مسبقًا…`,"detail.noPresets":`لا توجد إعدادات مسبقة.`,"detail.easing":`التخفيف`,"detail.play":`تشغيل`,"detail.pause":`إيقاف مؤقت`,"detail.speed":`السرعة`,"detail.copied":`تم نسخ {label}`,"detail.download":`تنزيل`,"detail.keyframesAria":`JSON للإطارات المفتاحية`,"detail.keyframesValid":`{n} إطارات — الصق Keyframe[] أو { keyframes: […] }`,"detail.keyframesInvalid":`JSON غير صالح — يتوقّع مصفوفة من كائنات الإطارات`,"detail.related":`أيقونات ذات صلة`,"detail.addToCollection":`أضف إلى مجموعة`,"detail.newCollection":`+ جديدة`,"detail.noSvg":`لا يتوفّر SVG لهذه الأيقونة`,"detail.addedTo":`تمت الإضافة إلى {name}`,"detail.removedFrom":`تمت الإزالة من {name}`,"detail.motionDefault":`افتراضي`,"console.copyCode":`نسخ الكود`,"console.copy":`نسخ`,"console.copied":`تم النسخ`,"help.title":`المساعدة وحول`,"help.about":`حول Ichava`,"help.docs":`الوثائق`,"help.replayTour":`إعادة جولة المنتج`,"help.shortcuts":`اختصارات لوحة المفاتيح`,"notifications.clearAll":`مسح الكل`,"notifications.empty":`أنت على اطّلاع بكل شيء.`,"team.title":`الفريق`,"team.online":`{n} متصل`,"team.onlineNow":`متصل الآن`,"team.away":`غير متواجد`,"team.offline":`غير متصل`,"team.invite":`دعوة…`,"color.previewColor":`لون المعاينة`,"color.resetToTheme":`إعادة الضبط إلى السمة`,"color.opacity":`العتامة — 0–100 %`,"contextMenu.actions":`إجراءات`,"boot.loadingCatalog":`جارٍ تحميل الكتالوج`,"boot.ready":`جاهز`,"sidebar.iconVariant":`نمط الأيقونة`,"auth.signInTo":`سجّل الدخول إلى {brand}`,"auth.needsAccount":`يحتاج إلى حساب.`,"auth.emailCode":`سنرسل إليك رمزًا لمرة واحدة عبر البريد — بدون كلمة مرور.`,"auth.emailPlaceholder":`you@company.com`,"auth.sendCode":`إرسال الرمز`,"auth.newHere":`جديد هنا؟`,"auth.createAccount":`إنشاء حساب`,"auth.enterCode":`أدخل رمزك`,"auth.sentTo":`أُرسل إلى`,"auth.demoHint":`تجريبي: أي رمز يسجّل الدخول — جرّب 000000 لرؤية حالة الفشل.`,"auth.digit":`الرقم {n}`,"auth.codeFailed":`لم ينجح هذا الرمز. حاول مجددًا.`,"auth.verify":`تحقّق وسجّل الدخول`,"auth.changeEmail":`→ تغيير البريد`,"auth.resendIn":`إعادة الإرسال خلال {n}ث`,"auth.resendCode":`إعادة إرسال الرمز`,"auth.createTitle":`أنشئ حسابك`,"auth.createBlurb":`انضم لفتح المجموعات والمشاركة وميزات الفريق. سنؤكّد بريدك برمز لمرة واحدة.`,"auth.firstName":`الاسم الأول`,"auth.lastName":`اسم العائلة`,"auth.passwordPlaceholder":`8 أحرف على الأقل`,"auth.togglePassword":`إظهار أو إخفاء كلمة المرور`,"auth.haveAccount":`لديك حساب بالفعل؟`,"invite.title":`الدعوة إلى مساحة العمل`,"invite.workspace":`مساحة العمل`,"invite.emailPlaceholder":`teammate@company.com`,"invite.roleEditor":`محرّر — يمكنه الإضافة والمشاركة`,"invite.roleViewer":`قارئ — قراءة فقط`,"invite.role":`الدور`,"invite.linkExpires":`ينتهي الرابط`,"invite.exp24h":`24 س`,"invite.exp7d":`7 أيام`,"invite.exp30d":`30 يومًا`,"invite.expNever":`أبدًا`,"invite.blurb":`يحصل المدعوّون على الوصول إلى المجموعات المشتركة في مساحة العمل هذه. يمكن للمالك تغيير الأدوار لاحقًا؛ ويمكن إبطال الروابط من الإعدادات.`,"invite.generateLink":`إنشاء رابط`,"invite.linkCopied":`تم نسخ رابط الدعوة`,"invite.yourTeammate":`زميلك`,"invite.sentNotification":`أُرسلت الدعوة إلى {to} ({role})`,"invite.sent":`تم إرسال الدعوة`,"invite.sendInvite":`إرسال الدعوة`,"access.addPeople":`أضف أشخاصًا أو فريقك`,"access.searchTeammates":`ابحث عن الزملاء بالاسم أو البريد…`,"access.onlyYou":`أنت وحدك من لديه وصول. أضف زملاء أعلاه، أو شارك مع الفريق بأكمله.`,"access.saveAccess":`حفظ الوصول`,"access.shareEntireTeam":`المشاركة مع الفريق بأكمله`,"access.shareLinkCopied":`تم نسخ رابط المشاركة`,"access.copyLinkInstead":`نسخ الرابط بدلاً من ذلك`,"shared.inviteTeam":`دعوة الفريق…`,"shared.viewer":`قارئ`,"shared.editor":`محرّر`,"tour.skip":`تخطّي`,"tour.back":`رجوع`,"tour.stepOf":`الخطوة {n} من {total}`,"tour.next":`التالي`,"tour.getStarted":`ابدأ`,"tour.s1Title":`مرحبًا بك في Ichava Browser`,"tour.s1Body":`كل أيقونة في تطبيق Laravel لديك — قابلة للبحث والمعاينة وجاهزة للنسخ. هذه الجولة التي تستغرق 30 ثانية تعرّفك بكل شيء. يمكنك إعادتها في أي وقت من الإعدادات.`,"tour.s2Title":`اعثر على أي أيقونة بسرعة`,"tour.s2Body":`ابحث بالاسم أو الوسم، وصفِّ حسب الحزمة والفئة والنمط في الشريط الجانبي، أو اضغط ⌘K للوحة الأوامر.`,"tour.s3Title":`أعِد التنسيق حيًّا`,"tour.s3Body":`المعالجات والحجم والسُّمك واللون وإعدادات الحركة تعيد تنسيق كل أيقونة في مكانها — تتحدّث الشبكة أثناء الضبط.`,"tour.s4Title":`انسخ لمنظومتك`,"tour.s4Body":`افتح أي أيقونة لـ Blade وLivewire وVue وReact وSvelte وWeb Component وSVG الخام والمزيد — نقرة واحدة للنسخ.`,"tour.s5Title":`احفظ وشارك`,"tour.s5Body":`أضِف الأيقونات إلى المفضّلة، وجمّعها في مجموعات، وصدّر sprite أو manifest أو ZIP. سجّل الدخول للمزامنة عبر الأجهزة.`,"task.working":`جارٍ العمل…`,"task.export":`جارٍ تصدير {n} أيقونة…`,"task.copyNames":`جارٍ جمع {n} من أسماء الأيقونات…`,"task.selectAll":`جارٍ تحديد كل الأيقونات المطابقة…`,"export.files":`ملفات SVG`,"export.filesDesc":`تنزيلات ‎.svg فردية`,"export.sprite":`ملف sprite لـ SVG`,"export.spriteDesc":`ورقة واحدة`,"export.manifest":`بيان JSON`,"export.manifestDesc":`المعرّفات والحزم والفئات`,"export.zip":`حزمة ZIP`,"export.zipDesc":`Sprite + البيان + الملفات`,"copyFormat.svg":`SVG خام`,"copyFormat.blade":`وسم Blade`,"copyFormat.vue":`مقتطف Vue`,"copyFormat.name":`اسم الأيقونة`,"snippetTab.motion":`الحركة`,"snippetTab.helper":`دالة مساعدة`,"snippetTab.bladeGeneric":`Blade (عام)`,"snippetTab.webcomponent":`مكوّن ويب`,"snippetTab.name":`الاسم`,"format.svg":`SVG خام`,"format.motion":`الحركة`,"format.helper":`دالة ichava() المساعدة`,"format.blade":`وسم Blade`,"format.bladeGeneric":`Blade عام`,"format.livewire":`Livewire`,"format.alpine":`Alpine.js`,"format.vue":`Vue`,"format.react":`React`,"format.svelte":`Svelte`,"format.webcomponent":`مكوّن ويب`,"format.reactNative":`React Native`,"format.angular":`Angular`,"format.solid":`Solid`,"format.preact":`Preact`,"format.astro":`Astro`,"format.api":`رابط REST`,"format.name":`اسم الأيقونة`,"about.landing":`الموقع`,"clipboard.copyFailed":`فشل النسخ — حدّد وانسخ يدويًا`,"clipboard.copied":`تم النسخ إلى الحافظة`};export{e as default}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/avatar-D043d4aw.js b/resources/vendor/react-icon-browser/avatar-D043d4aw.js deleted file mode 100644 index faec241..0000000 --- a/resources/vendor/react-icon-browser/avatar-D043d4aw.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -import{D as e}from"./chromeIcons-ITgd2uHk.js";import{t}from"./cx-B63ov-ZV.js";import{useState as n}from"react";import{jsx as r,jsxs as i}from"react/jsx-runtime";var a={xs:`size-1.5`,sm:`size-2`,md:`size-2.5`,lg:`size-3`,xl:`size-3.5`,"2xl":`size-4`,"3xl":`size-4.5`,"4xl":`size-5`},o=({size:e,status:n,className:o})=>/* @__PURE__ */ r(`span`,{className:t(`absolute right-0 bottom-0 flex justify-center rounded-full ring-[1.5px] ring-bg-primary`,n===`online`?`bg-fg-success-secondary`:`bg-utility-neutral-300`,a[e],o),style:{backgroundImage:`radial-gradient(43.75% 43.75% at 50% 28.75%, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.00) 100%), radial-gradient(50% 50% at 50% 50%, rgba(255, 255, 255, 0.00) 74.66%, rgba(255, 255, 255, 0.18) 100%), radial-gradient(75% 75% at 50% 0%, rgba(255, 255, 255, 0.00) 0%, rgba(255, 255, 255, 0.00) 50%, rgba(255, 255, 255, 0.08) 99%, rgba(255, 255, 255, 0.00) 100%)`},children:/* @__PURE__ */ i(`svg`,{viewBox:`0 0 7.2 2.85`,fill:`none`,className:`mt-[10%] h-[20%] w-[60%]`,children:[/* @__PURE__ */ r(`path`,{d:`M7.2 1.83107C7.2 2.84235 5.58823 2.19729 3.6 2.19729C1.61177 2.19729 0 2.84235 0 1.83107C0 0.8198 1.61177 0 3.6 0C5.58823 0 7.2 0.8198 7.2 1.83107Z`,fill:`url(#reflection-gradient)`,fillOpacity:`0.4`}),/* @__PURE__ */ r(`defs`,{children:/* @__PURE__ */ i(`linearGradient`,{id:`reflection-gradient`,x1:`3.6`,y1:`0`,x2:`3.6`,y2:`2.4`,gradientUnits:`userSpaceOnUse`,children:[/* @__PURE__ */ r(`stop`,{stopColor:`white`}),/* @__PURE__ */ r(`stop`,{offset:`1`,stopColor:`white`,stopOpacity:`0.1`})]})})]})}),s={xs:`size-2.5`,sm:`size-3`,md:`size-3.5`,lg:`size-4`,xl:`size-4.5`,"2xl":`size-5`,"3xl":`size-6`,"4xl":`size-8`},c=({size:e,className:n})=>/* @__PURE__ */ i(`svg`,{className:t(`z-10 text-utility-blue-500`,s[e],n),viewBox:`0 0 10 10`,fill:`none`,children:[/* @__PURE__ */ r(`path`,{d:`M7.72237 1.77098C7.81734 2.00068 7.99965 2.18326 8.2292 2.27858L9.03413 2.61199C9.26384 2.70714 9.44635 2.88965 9.5415 3.11936C9.63665 3.34908 9.63665 3.60718 9.5415 3.83689L9.20833 4.64125C9.11313 4.87106 9.113 5.12943 9.20863 5.35913L9.54122 6.16325C9.58839 6.27702 9.61268 6.39897 9.6127 6.52214C9.61272 6.6453 9.58847 6.76726 9.54134 6.88105C9.4942 6.99484 9.42511 7.09823 9.33801 7.18531C9.2509 7.27238 9.14749 7.34144 9.03369 7.38854L8.22934 7.72171C7.99964 7.81669 7.81706 7.99899 7.72174 8.22855L7.38833 9.03348C7.29318 9.26319 7.11067 9.4457 6.88096 9.54085C6.65124 9.636 6.39314 9.636 6.16343 9.54085L5.35907 9.20767C5.12935 9.11276 4.87134 9.11295 4.64177 9.20821L3.83684 9.54115C3.60725 9.63608 3.34937 9.636 3.11984 9.54092C2.89032 9.44585 2.70791 9.26356 2.6127 9.03409L2.27918 8.22892C2.18421 7.99923 2.0019 7.81665 1.77235 7.72133L0.967421 7.38792C0.737807 7.29281 0.555355 7.11041 0.460169 6.88083C0.364983 6.65125 0.364854 6.39327 0.45981 6.16359L0.792984 5.35924C0.8879 5.12952 0.887707 4.87151 0.792445 4.64193L0.459749 3.83642C0.41258 3.72265 0.388291 3.60069 0.388272 3.47753C0.388252 3.35436 0.412501 3.2324 0.459634 3.11861C0.506767 3.00482 0.57586 2.90144 0.662965 2.81436C0.75007 2.72728 0.853479 2.65822 0.967283 2.61113L1.77164 2.27795C2.00113 2.18306 2.1836 2.00099 2.27899 1.7717L2.6124 0.966768C2.70755 0.737054 2.89006 0.554547 3.11978 0.459397C3.34949 0.364246 3.60759 0.364246 3.83731 0.459397L4.64166 0.792571C4.87138 0.887487 5.12939 0.887293 5.35897 0.792031L6.16424 0.459913C6.39392 0.364816 6.65197 0.364836 6.88164 0.459968C7.11131 0.555099 7.29379 0.737554 7.38895 0.967208L7.72247 1.77238L7.72237 1.77098Z`,className:`fill-current`}),/* @__PURE__ */ r(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M6.95829 3.68932C7.02509 3.58439 7.04747 3.45723 7.02051 3.3358C6.99356 3.21437 6.91946 3.10862 6.81454 3.04182C6.70961 2.97502 6.58245 2.95264 6.46102 2.97959C6.33959 3.00655 6.23384 3.08064 6.16704 3.18557L4.33141 6.06995L3.49141 5.01995C3.41375 4.92281 3.30069 4.8605 3.17709 4.84673C3.05349 4.83296 2.92949 4.86885 2.83235 4.94651C2.73522 5.02417 2.67291 5.13723 2.65914 5.26083C2.64536 5.38443 2.68125 5.50843 2.75891 5.60557L4.00891 7.16807C4.0555 7.22638 4.11533 7.27271 4.18344 7.30323C4.25154 7.33375 4.32595 7.34757 4.40047 7.34353C4.47499 7.3395 4.54747 7.31773 4.61188 7.28004C4.67629 7.24234 4.73077 7.18981 4.77079 7.12682L6.95829 3.68932Z`,fill:`white`})]}),l=({count:e,className:n})=>/* @__PURE__ */ r(`div`,{className:t(`absolute right-0 bottom-0 p-px`,n),children:/* @__PURE__ */ r(`div`,{className:`flex size-3.5 items-center justify-center rounded-full bg-fg-error-primary text-center text-[10px] leading-[13px] font-bold text-white`,children:e})}),u={xs:{root:`size-6`,rootWithBorder:`p-px`,initials:`text-xs font-semibold`,icon:`size-4`},sm:{root:`size-8`,rootWithBorder:`p-px`,initials:`text-sm font-semibold`,icon:`size-5`},md:{root:`size-10`,rootWithBorder:`p-px`,initials:`text-md font-semibold`,icon:`size-6`},lg:{root:`size-12`,rootWithBorder:`p-[1.5px]`,initials:`text-lg font-semibold`,icon:`size-7`},xl:{root:`size-14`,rootWithBorder:`p-0.5`,initials:`text-xl font-semibold`,icon:`size-8`},"2xl":{root:`size-16`,rootWithBorder:`p-0.5`,initials:`text-display-xs font-semibold`,icon:`size-8`}},d=({size:a=`md`,src:s,alt:d,initials:f,placeholder:p,placeholderIcon:m,border:h,badge:g,status:_,verified:v,count:y,focusable:b=!1,rounded:x=!0,className:S,contentClassName:C})=>{let[w,T]=n(!1),E=s&&!w;return/* @__PURE__ */ i(`div`,{"data-avatar":!0,className:t(`relative inline-flex shrink-0 rounded-[7px]`,x&&`rounded-full`,b&&`outline-transparent group-focus-visible:outline-2 group-focus-visible:outline-offset-2 group-focus-visible:outline-focus-ring`,h&&`ring-1 ring-secondary_alt`,h&&u[a].rootWithBorder,u[a].root,S),children:[/* @__PURE__ */ r(`div`,{className:t(`relative inline-flex size-full shrink-0 items-center justify-center overflow-hidden rounded-md bg-tertiary outline-[0.5px] -outline-offset-[0.5px] outline-black/16 before:inset-[0.5px]`,x&&`rounded-full`,E&&a!==`xs`&&`before:absolute before:inset-0 before:rounded-[inherit] before:border before:border-white/32 before:mask-[linear-gradient(to_bottom,black_0%,transparent_25%,transparent_75%,black_100%)]`,C),children:E?/* @__PURE__ */ r(`img`,{"data-avatar-img":!0,className:`size-full object-cover`,src:s,alt:d,onError:()=>T(!0)}):f?/* @__PURE__ */ r(`span`,{className:t(`text-quaternary`,u[a].initials),children:f}):m?/* @__PURE__ */ r(m,{className:t(`text-fg-quaternary`,u[a].icon)}):p||/* @__PURE__ */ r(e,{className:t(`text-fg-quaternary`,u[a].icon)})}),_?/* @__PURE__ */ r(o,{status:_,size:a}):v?/* @__PURE__ */ r(c,{size:a,className:t(`absolute right-0 bottom-0`,a===`xs`&&`-right-px -bottom-px`)}):y?/* @__PURE__ */ r(l,{count:y}):g]})};export{d as t}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/chromeIcons-ITgd2uHk.js b/resources/vendor/react-icon-browser/chromeIcons-ITgd2uHk.js deleted file mode 100644 index fd0c263..0000000 --- a/resources/vendor/react-icon-browser/chromeIcons-ITgd2uHk.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -import{createContext as e,createElement as t,forwardRef as n,useCallback as r,useContext as i,useEffect as a,useMemo as o,useSyncExternalStore as s}from"react";import{create as c}from"zustand";import{createJSONStorage as l,persist as u}from"zustand/middleware";import{jsx as d}from"react/jsx-runtime";var f=(e,t)=>e.includes(t)?e.filter(e=>e!==t):[...e,t],p=class e{#e;constructor(e){this.#e=e,Object.freeze(this)}static from(t){return new e({...t})}#t(t){return new e({...this.#e,...t})}search(e){return this.#t({search:e,page:1})}clearSearch(){return this.#t({search:``,page:1})}togglePackage(e){return this.#t({packages:f(this.#e.packages,e),page:1})}selectAllPacks(e){return this.#t({packages:e,page:1})}clearPacks(){return this.#t({packages:[],page:1})}toggleCategory(e){return this.#t({categories:f(this.#e.categories,e),page:1})}toggleSub(e,t){return this.#t({subs:f(this.#e.subs,`${e}/${t}`),page:1})}clearCategories(){return this.#t({categories:[],subs:[],page:1})}toggleVariant(e){return this.#t({variant:this.#e.variant===e?null:e,page:1})}sortBy(e){return this.#t({sortBy:e})}toggleOrder(){return this.#t({sortOrder:this.#e.sortOrder===`asc`?`desc`:`asc`})}page(e){return this.#t({page:e})}nextPage(e){return this.#t({page:Math.min(e,this.#e.page+1)})}prevPage(){return this.#t({page:Math.max(1,this.#e.page-1)})}perPage(e){return this.#t({perPage:e,page:1})}kind(e){return this.#e.kind===e?this:this.#t({kind:e,categories:[],subs:[],variant:null,tags:[],keywords:[],page:1})}toggleTag(e){return this.#t({tags:f(this.#e.tags??[],e),page:1})}toggleKeyword(e){return this.#t({keywords:f(this.#e.keywords??[],e),page:1})}clearTerms(){return this.#t({tags:[],keywords:[],page:1})}reset(t){return new e({...t,packages:this.#e.packages})}toFilters(){return{...this.#e}}toListParams(){let e=this.#e;return{search:e.search,packages:e.packages,categories:e.categories,subs:e.subs,variants:e.variant?[e.variant]:[],page:e.page,perPage:e.perPage,sortBy:e.sortBy,sortDirection:e.sortOrder,...e.kind?{kind:e.kind}:{},...e.tags?.length?{tags:e.tags}:{},...e.keywords?.length?{keywords:e.keywords}:{}}}},m=`ichava.browser-id`,ee=`ichava_`,te=/^ichava_[0-9a-f]{32}$/,h=null;function ne(){let e=globalThis.crypto;if(e&&typeof e.randomUUID==`function`)return e.randomUUID().replace(/-/g,``);let t=/* @__PURE__ */ new Uint8Array(16);if(e&&typeof e.getRandomValues==`function`)e.getRandomValues(t);else for(let e=0;ee.toString(16).padStart(2,`0`)).join(``)}function re(){try{return typeof window<`u`&&window.localStorage?window.localStorage:null}catch{return null}}function ie(){if(h)return h;let e=re();try{let t=e?.getItem(m);if(t&&te.test(t))return h=t,h}catch{}h=`${ee}${ne()}`;try{e?.setItem(m,h)}catch{}return h}var ae={baseUrl:`/ichava/api/v1`,credentials:`include`,timeoutMs:15e3,csrf:{strategy:`sanctum`,metaName:`csrf-token`,cookieName:`XSRF-TOKEN`,headerName:`X-CSRF-TOKEN`,endpoint:`/sanctum/csrf-cookie`}},oe=class extends Error{status;detail;constructor(e,t){super(`HTTP ${e}: ${t}`),this.status=e,this.detail=t,this.name=`HttpError`}},se=class extends Error{reason;constructor(e){super(e===`timeout`?`Request timed out`:`Request aborted by caller`),this.reason=e,this.name=`RequestAbortedError`}};function ce(e){if(typeof document>`u`)return``;for(let t of document.cookie.split(`; `)){let n=t.indexOf(`=`);if(n>0&&t.slice(0,n)===e)return decodeURIComponent(t.slice(n+1))}return``}var le=class e{#e;#t=!1;constructor(e=ae){this.#e={...e,csrf:{...e.csrf}}}get config(){return this.#e}with(t){return new e({...this.#e,...t,csrf:{...this.#e.csrf,...t.csrf??{}}})}#n(){let{strategy:e,metaName:t,cookieName:n}=this.#e.csrf;return e===`none`||typeof document>`u`?``:e===`cookie`?ce(n):document.querySelector(`meta[name="${t}"]`)?.content??``}async initCsrf(){if(this.#e.csrf.strategy===`sanctum`&&!(this.#t||typeof fetch>`u`)){this.#t=!0;try{await fetch(this.#e.csrf.endpoint,{credentials:this.#e.credentials})}catch{}}}async request(e,t={}){let n=this.#e,{method:r=`GET`,body:i,signal:a,raw:o=!1,baseUrl:s=n.baseUrl}=t,c=i!=null,l=new AbortController,u=!1,d=setTimeout(()=>{u=!0,l.abort()},n.timeoutMs),f=()=>l.abort();a?.addEventListener(`abort`,f,{once:!0});let p={Accept:o?`image/svg+xml`:`application/json`,"X-Requested-With":`XMLHttpRequest`,"X-Browser-Id":ie()};c&&(p[`Content-Type`]=`application/json`);let m=this.#n();m&&(p[n.csrf.headerName]=m);try{let t=await fetch(`${s}${e}`,{method:r,credentials:n.credentials,signal:l.signal,headers:p,body:c?JSON.stringify(g(i)):void 0});if(!t.ok)throw new oe(t.status,await ue(t));return o?await t.text():await t.json()}catch(e){throw e instanceof DOMException&&e.name===`AbortError`?new se(u?`timeout`:`caller`):e}finally{clearTimeout(d),a?.removeEventListener(`abort`,f)}}};function g(e){if(e instanceof Set)return[...e];if(Array.isArray(e))return e.map(g);if(e&&typeof e==`object`){let t={};for(let[n,r]of Object.entries(e))r!=null&&(t[n]=g(r));return t}return e}async function ue(e){try{return await e.text()}catch{return e.statusText}}function de(e){return/^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(e.trim())}function fe(e,t){return/^#[0-9a-f]{6}$/i.test(e)?`${e}${Math.round(Math.max(0,Math.min(100,t))/100*255).toString(16).padStart(2,`0`)}`:e}var pe=`14,124,102`;function _(e,t){let n=/^#([0-9a-f]{6})$/i.exec(e.trim());if(!n)return`rgba(${pe},${t})`;let r=parseInt(n[1],16);return`rgba(${r>>16&255},${r>>8&255},${r&255},${t})`}function v(e){let t=/^#([0-9a-f]{6})$/i.exec(e.trim());if(!t)return null;let n=parseInt(t[1],16);return{r:n>>16&255,g:n>>8&255,b:n&255}}var y=({r:e,g:t,b:n})=>`#${[e,t,n].map(e=>Math.round(Math.max(0,Math.min(255,e))).toString(16).padStart(2,`0`)).join(``)}`;function b({r:e,g:t,b:n}){let r=e=>{let t=e/255;return t<=.04045?t/12.92:((t+.055)/1.055)**2.4};return .2126*r(e)+.7152*r(t)+.0722*r(n)}function me(e,t){let[n,r]=[v(e),v(t)];if(!n||!r)return 1;let[i,a]=[b(n),b(r)].sort((e,t)=>t-e);return(i+.05)/(a+.05)}function he({r:e,g:t,b:n},r){let i=r>0?255:0,a=Math.abs(r);return{r:e+(i-e)*a,g:t+(i-t)*a,b:n+(i-n)*a}}function ge(e,t){let n=v(e);return!n||t===0?e:y(he(n,Math.max(-1,Math.min(1,t))))}function _e(e,t,n){let r=v(e),i=v(n);if(!r||!i)return n;let a=Math.max(0,Math.min(1,t));return y({r:r.r*a+i.r*(1-a),g:r.g*a+i.g*(1-a),b:r.b*a+i.b*(1-a)})}function ve(e,t,n=4.5){let r=v(e),i=v(t);if(!r||!i||me(e,t)>=n)return e;let a=b(i)<.5?1:-1,o=e,s=me(e,t);for(let e=.02;e<=1;e+=.02){let i=y(he(r,a*e)),c=me(i,t);if(c>s&&(o=i,s=c),c>=n)return i}return o}var ye=`#0e7c66`;function be(){try{return typeof window<`u`&&window.matchMedia?.(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}catch{return`light`}}function xe(e){return e===`light`||e===`dark`?e:be()}var Se={50:.92,100:.84,200:.68,300:.48,400:.28,500:.12,600:0,700:-.16,800:-.32,900:-.46,950:-.62};function Ce(e){if(!de(e)||e.length!==7)return{};let t={};for(let[n,r]of Object.entries(Se))t[`--color-brand-${n}`]=ge(e,r);return t}var we={xs:.25,sm:.5,DEFAULT:.5,md:.75,lg:1,xl:1.5,"2xl":2,"3xl":3};function Te(e){let t=Number.isFinite(e)&&e>0?e:0,n={};for(let[e,r]of Object.entries(we))n[`--radius-${e}`]=`${+(t*r).toFixed(2)}px`;return n}var x={light:[`#ffffff`,`#f6f4ee`,`#ece8de`],dark:[`#14120e`,`#1f1c17`,`#2f2b24`]},Ee={light:x.light[2],dark:x.dark[2]},De={light:.1,dark:.16};x.light[0],x.dark[0];function Oe(e,t,n={}){if(!n.surfaces)return ve(e,_e(e,De[t],Ee[t]));let r=/^#[0-9a-f]{6}$/i.test(e.trim())?e.trim():ye,i=r;for(let e of n.surfaces)i=ve(i,e),i=ve(i,_e(r,De[t],e));return i}function ke(e,t,n,r){let i=Oe(e,n,{surfaces:x[n]});return{"--accent":e,"--accent-text":t,"--accent-soft":_(e,n===`dark`?.16:.1),"--ring":_(e,.35),"--radius":`${r}px`,...Ce(e),...Te(r),"--color-bg-brand-solid":e,"--color-bg-brand-solid_hover":_(e,.88),"--color-bg-brand-primary":_(e,n===`dark`?.16:.1),"--color-border-brand":_(e,.5),"--color-fg-brand-primary":i,"--color-text-brand-secondary":i,"--color-text-brand-tertiary":i}}var Ae=Object.keys(ke(`#000000`,`#000000`,`light`,8)),je=[{code:`en`,label:`English`,dir:`ltr`},{code:`es`,label:`Español`,dir:`ltr`},{code:`fr`,label:`Français`,dir:`ltr`},{code:`de`,label:`Deutsch`,dir:`ltr`},{code:`pt`,label:`Português`,dir:`ltr`},{code:`sw`,label:`Kiswahili`,dir:`ltr`},{code:`ar`,label:`العربية`,dir:`rtl`}];function Me(e){return typeof e==`string`&&je.some(t=>t.code===e)}function Ne(e){return je.find(t=>t.code===e)?.dir??`ltr`}function Pe(e,t){return t?e.replace(/\{(\w+)\}/g,(e,n)=>String(t[n]??`{${n}}`)):e}var Fe=class e{#e;#t;#n;constructor(e,t,n){this.#e=e,this.#t=t,this.#n=n,Object.freeze(this)}static of(t,n=`en`){return new e(t,[],n)}locale(t){return new e(this.#e,this.#t,t)}withOverrides(t){return new e(this.#e,[...this.#t,t],this.#n)}withMessages(e,t){return this.withOverrides({[e]:t})}get currentLocale(){return this.#n}get dir(){return Ne(this.#n)}lookup(e,t=this.#n){for(let n of t===`en`?[`en`]:[t,`en`]){for(let t=this.#t.length-1;t>=0;--t){let r=this.#t[t]?.[n]?.[e];if(r!==void 0)return r}let t=this.#e[n]?.[e];if(t!==void 0)return t}}t(e,t){return Pe(this.lookup(e)??e,t)}},Ie=`ichava.locale`,Le=/* @__PURE__ */ new Set;function Re(){try{let e=globalThis.localStorage?.getItem(Ie);if(Me(e))return e}catch{}return`en`}function ze(e){try{globalThis.localStorage?.setItem(Ie,e)}catch{}for(let t of Le)t(e)}var S=`ichava.consent`;function Be(e){return e===`essential`||e===`all`}var C=/* @__PURE__ */ new Set;function Ve(){try{let e=globalThis.localStorage?.getItem(S);return Be(e)?e:null}catch{return null}}function w(e){try{e===null?globalThis.localStorage?.removeItem(S):globalThis.localStorage?.setItem(S,e)}catch{}for(let t of C)t(e)}function He(e){return C.add(e),()=>{C.delete(e)}}function Ue(e){let t=Ve();return t===null?Be(e)?(w(e),e):null:t}var T=[],E=/* @__PURE__ */ new Set;function We(){for(let e of E)e()}function Ge(e){return T.includes(e)||(T.push(e),We()),()=>{let t=T.indexOf(e);t!==-1&&(T.splice(t,1),We())}}function Ke(e){return T[0]===e}function qe(e){return E.add(e),()=>{E.delete(e)}}function Je(e,t){return e.replace(/\{(\w+)\}/g,(n,r)=>{let i=t[r];if(i===void 0)throw Error(`No value for {${r}} in ${e}`);return encodeURIComponent(String(i))})}var Ye=new le;function Xe(){return Ye}var Ze={"settings.clearHistoryTitle":`History`,"settings.clearHistoryDesc":`Clear the icons you viewed, copied and downloaded, and the command palette’s recent actions.`,"settings.clearHistoryButton":`Clear history`,"settings.clearHistoryToast":`History cleared`,"detail.tags":`Tags`,"kind.label":`Show`,"kind.icons":`Icons`,"kind.illustrations":`Illustrations`,"toolbar.illustrationOne":`illustration`,"toolbar.illustrationMany":`illustrations`,"toolbar.filterByTag":`Show icons tagged “{tag}”`,"toolbar.filterByKeyword":`Show icons with the keyword “{keyword}”`,"empty.noIllustrations":`No illustrations match these filters`,"empty.noIconsTitle":`Nothing to browse yet`,"empty.noIconsDesc":`No icon set is installed and seeded here. Once one is, its icons appear in this grid.`,"settings.syncAccount":`favorites and collections are kept with your account`,"settings.syncSession":`favorites and collections are kept for this session`,"settings.guestSignIn":`Sign in to keep them with your account.`,"settings.factoryDescHost":`Restore this browser’s settings and filters to defaults. Your favorites and collections stay.`,"settings.factoryConfirmBodyHost":`Preferences, filters, appearance, consent and the tour will be restored to defaults in this browser. Your favorites, collections and history stay where they are kept.`,"settings.deleteLibraryTitle":`Delete my library`,"settings.deleteLibraryDesc":`Remove every favorite and collection kept for you here.`,"settings.deleteLibraryButton":`Delete…`,"settings.deleteLibraryConfirmTitle":`Delete your library?`,"settings.deleteLibraryConfirmBody":`Every favorite and collection is removed, here and on the server. Your history and settings stay. This cannot be undone.`,"settings.deleteLibraryConfirmLabel":`Delete my library`,"settings.deleteLibraryToast":`Library deleted`,"detail.snippetFormat":`Snippet format`,"console.code":`Code`,"palette.results":`Results`,"appearance.adaptMono":`Adapt black icons in dark mode`,"common.cancel":`Cancel`,"common.create":`Create`,"common.clear":`Clear`,"common.all":`All`,"common.none":`None`,"common.copy":`Copy`,"common.download":`Download`,"common.favorite":`Favorite`,"common.favorited":`Favorited`,"common.close":`Close`,"common.signIn":`Sign in`,"common.signOut":`Sign out`,"common.search":`Search icons, actions…`,"header.favorites":`Favorites`,"header.history":`History`,"header.collections":`Collections`,"header.notifications":`Notifications`,"header.toggleTheme":`Toggle theme`,"header.settings":`Settings`,"header.fullscreen":`Full screen`,"header.exitFullscreen":`Exit full screen`,"header.commandPalette":`Command palette`,"header.gridView":`Grid view`,"header.listView":`List view`,"sidebar.packages":`Packages`,"sidebar.categories":`Categories`,"sidebar.filterCategories":`Filter categories…`,"sidebar.filterIcons":`Filter icons…`,"sidebar.expandAll":`Expand all`,"sidebar.collapseAll":`Collapse all`,"variant.all":`All`,"variant.outline":`Outline`,"variant.filled":`Filled`,"variant.color":`Color`,"toolbar.sort":`Sort`,"toolbar.size":`Size`,"toolbar.stroke":`Stroke`,"toolbar.color":`Color`,"toolbar.treatment":`Icon treatment`,"toolbar.export":`Export`,"toolbar.copyNames":`Copy names`,"toolbar.newCollection":`New collection`,"toolbar.selected":`{n} selected`,"appearance.title":`Appearance`,"appearance.subtitle":`theme · brand · zoom`,"appearance.theme":`Theme`,"appearance.light":`Light`,"appearance.dark":`Dark`,"appearance.brandAccent":`Brand accent`,"appearance.customHex":`Custom hex`,"appearance.radius":`Radius`,"appearance.size":`UI Zoom`,"appearance.density":`UI Density`,"appearance.compact":`Compact`,"appearance.comfy":`Comfy`,"appearance.reduceMotion":`Reduce motion`,"appearance.iconLabels":`Icon labels`,"appearance.language":`Language`,"appearance.footer":`Applies to the application only. Persists in your selected storage driver.`,"account.workspace":`Workspace`,"account.account":`Account`,"account.profile":`Profile & preferences`,"account.sharedCollections":`Shared collections`,"profile.title":`Profile`,"profile.account":`Account`,"profile.appSettings":`App settings & configuration`,"profile.signOutTitle":`Sign out?`,"profile.signOutBody":`You will keep local favorites and filters, but shared collections and team features require signing in again.`,"profile.signedOut":`Signed out`,"profile.switched":`Switched to {name}`,"shared.title":`Shared collections`,"shared.count":`{n} shared`,"shared.empty":`No collections shared yet.`,"shared.manageAccess":`Manage access`,"empty.noResults":`No icons match your filters.`,"empty.noFavorites":`No favorites yet.`,"empty.onboardTitle":`Select packages to browse`,"empty.onboardDesc":`Icons appear once at least one installed package is selected.`,"empty.selectAllPackages":`Select all packages`,"empty.noMatchSearch":`No icons match “{q}”`,"empty.noMatchFilters":`No icons match these filters`,"empty.tryDifferent":`Try a different term, another variant, or clear the active filters.`,"empty.clearFilters":`Clear filters`,"toolbar.iconOne":`icon`,"toolbar.iconMany":`icons`,"toolbar.removeFilter":`Remove filter`,"toolbar.namesCopied":`{n} names copied`,"toolbar.exportedToast":`Exported {n} icons — {label}`,"toolbar.treatmentEngine":`Treatment engine`,"toolbar.toggleSortOrder":`Toggle sort order`,"toolbar.gridIconSize":`Grid icon size`,"toolbar.sizeUnit":`Size unit`,"toolbar.strokeTitle":`Stroke width — rewrites stroke across grid, detail & export`,"toolbar.previewColor":`Preview color`,"toolbar.resetFilters":`Reset filters`,"toolbar.resetTitle":`Reset all filters?`,"toolbar.resetBody":`Search, categories, variants, sort, page, selection and preview color return to defaults. Favorites, collections and appearance are untouched.`,"toolbar.resetConfirm":`Reset filters`,"toolbar.resetToast":`Filters reset`,"footer.noResults":`No results`,"footer.range":`{start}–{end} of {total}`,"footer.perPage":`{n} / page`,"footer.perPageLabel":`Results per page`,"footer.prevPage":`Previous page`,"footer.nextPage":`Next page`,"list.copiedToast":`Copied {name}`,"sidebar.scopeIcons":`Icons`,"sidebar.scopePackages":`Packages`,"sidebar.scopeCategories":`Categories`,"sidebar.scopeAll":`All`,"sidebar.notInstalled":`not installed`,"sidebar.inView":`In view`,"sidebar.selected":`Selected`,"sidebar.loadedIcons":`In this catalog`,"sidebar.ecosystemTotal":`Ecosystem total`,"sidebar.favorites":`Favorites`,"sidebar.filterPackages":`Filter packages…`,"sidebar.searchEverything":`Search everything…`,"sidebar.searchScope":`Search scope`,"header.filtersPackages":`Filters & packages`,"header.toggleSidebar":`Toggle sidebar`,"header.devtools":`Ichava DevTools`,"palette.placeholder":`Type a command or search icons…`,"palette.recent":`Recent`,"palette.actions":`Actions`,"palette.icons":`Icons`,"palette.openHint":`open`,"palette.noMatches":`No matches for “{q}”`,"palette.navigate":`navigate`,"palette.select":`select`,"palette.close":`close`,"palette.toggleTheme":`Toggle theme`,"palette.openSettings":`Open settings`,"palette.openFavorites":`Open favorites`,"palette.openHistory":`Open history`,"palette.openCollections":`Open collections`,"palette.switchListView":`Switch to list view`,"palette.switchGridView":`Switch to grid view`,"palette.resetFilters":`Reset all filters`,"palette.selectAll":`Select all matching`,"selectAll.confirmTitle":`Select all {n} icons?`,"selectAll.confirmBody":`No search or filter is active, so every icon in the catalog will be selected.`,"selectAll.confirmLabel":`Select all`,"palette.openDevtools":`Open Ichava DevTools`,"common.remove":`Remove`,"settings.appearanceHintPre":`Theme, accent, radius, size, density, motion and labels live in the `,"settings.appearanceHintPost":` menu in the header.`,"settings.behavior":`Behavior`,"settings.perPageTitle":`Icons per page`,"settings.perPageDesc":`Grid pagination size.`,"settings.copyFormatTitle":`Default copy format`,"settings.copyFormatDesc":`Used by click-to-copy on tiles.`,"settings.storageTitle":`Storage driver`,"settings.storageDesc":`Where preferences & state persist.`,"settings.storageLocal":`local`,"settings.storageSession":`session`,"settings.tourTitle":`Product tour`,"settings.tourDesc":`Replay the first-run walkthrough.`,"settings.replayTour":`Replay tour`,"settings.factoryTitle":`Factory reset`,"settings.factoryDesc":`Restore every setting, filter, favorite and collection to defaults.`,"settings.factoryConfirmTitle":`Reset everything to factory settings?`,"settings.factoryConfirmBody":`All preferences, filters, favorites, history, collections, brand customization, consent and stored snapshots will be restored to defaults. This cannot be undone.`,"settings.factoryConfirmLabel":`Reset everything`,"settings.factoryToast":`Everything reset to defaults`,"settings.resetEverything":`Reset everything…`,"settings.account":`Account`,"settings.syncNote":`favorites and collections are saved in this browser only`,"settings.guestNote":`You're browsing as a guest. Preferences, favorites and collections are saved in this browser only.`,"settings.aboutLink":`About Ichava →`,"consent.ariaLabel":`Cookies and storage`,"consent.title":`Cookies & storage`,"consent.body":`Ichava stores your preferences and favorites in your chosen storage driver, plus anonymous usage events. No third-party trackers.`,"consent.essentialOnly":`Essential only`,"consent.acceptAll":`Accept all`,"consent.move":`Move notice`,"consent.moveHint":`Drag it, or use the arrow keys, to move it. Home puts it back.`,"about.browser":`Browser`,"about.craftedBy":`Crafted by`,"about.statIcons":`icons indexed`,"about.statSets":`icon sets`,"about.statLicense":`license`,"library.favorites":`Favorites`,"library.history":`History`,"library.collections":`Collections`,"library.emptyFavorites":`No favorites yet — hover an icon and tap the heart.`,"library.emptyHistory":`No activity yet — views, copies and downloads show up here.`,"library.emptyCollections":`No collections yet — name one above.`,"library.clearHistory":`Clear history`,"library.newCollectionPlaceholder":`New collection name…`,"library.seededWith":`Starts with {n} icons`,"library.iconCount":`{n} icons`,"library.teamBadge":`team`,"library.viewerBadge":`viewer`,"library.copyNamesTitle":`Copy icon names`,"library.deleteCollection":`Delete collection`,"tile.openDetail":`Open detail`,"tile.copyFormat":`Copy {format}`,"tile.copyName":`Copy name`,"tile.copiedName":`Copied name`,"tile.copyPermalink":`Copy permalink`,"tile.permalinkCopied":`Permalink copied`,"tile.select":`Select`,"tile.deselect":`Deselect`,"tile.addFavorite":`Add favorite`,"tile.removeFavorite":`Remove favorite`,"tile.favoritedAria":`favorited`,"tile.selectedAria":`selected`,"detail.previewOnly":`Preview only — grid is unaffected`,"detail.scaledToFit":`scaled to fit`,"detail.actual":`actual`,"detail.size":`Size`,"detail.previewSize":`Preview size`,"detail.unit":`Unit`,"detail.color":`Color`,"detail.stroke":`Stroke`,"detail.motion":`Motion`,"detail.searchPresets":`Search {n} presets…`,"detail.noPresets":`No presets found.`,"detail.easing":`Easing`,"detail.play":`Play`,"detail.pause":`Pause`,"detail.speed":`Speed`,"detail.copied":`Copied {label}`,"detail.download":`Download`,"detail.keyframesAria":`Custom keyframes JSON`,"detail.keyframesValid":`{n} keyframes — paste a Keyframe[] or { keyframes: […] } spec`,"detail.keyframesInvalid":`Invalid JSON — expects an array of plain keyframe objects`,"detail.related":`Related icons`,"detail.addToCollection":`Add to collection`,"detail.newCollection":`+ New`,"detail.noSvg":`No SVG available for this icon`,"detail.addedTo":`Added to {name}`,"detail.removedFrom":`Removed from {name}`,"detail.motionDefault":`Default`,"console.copyCode":`Copy code`,"console.copy":`Copy`,"console.copied":`Copied`,"help.title":`Help & about`,"help.about":`About Ichava`,"help.docs":`Documentation`,"help.replayTour":`Replay product tour`,"help.shortcuts":`Keyboard shortcuts`,"notifications.clearAll":`Clear all`,"notifications.empty":`You're all caught up.`,"team.title":`Team`,"team.online":`{n} online`,"team.onlineNow":`Online now`,"team.away":`Away`,"team.offline":`Offline`,"team.invite":`Invite…`,"color.previewColor":`Preview color`,"color.resetToTheme":`Reset to theme`,"color.opacity":`Opacity — 0–100%`,"contextMenu.actions":`Actions`,"boot.loadingCatalog":`Loading catalog`,"boot.ready":`Ready`,"sidebar.iconVariant":`Icon variant`,"auth.signInTo":`Sign in to {brand}`,"auth.needsAccount":`needs an account.`,"auth.emailCode":`We'll email you a one-time code — no password.`,"auth.emailPlaceholder":`you@company.com`,"auth.sendCode":`Send code`,"auth.newHere":`New here?`,"auth.createAccount":`Create account`,"auth.enterCode":`Enter your code`,"auth.sentTo":`Sent to`,"auth.demoHint":`Demo: any code signs in — try 000000 to see the failure state.`,"auth.digit":`Digit {n}`,"auth.codeFailed":`That code didn't work. Try again.`,"auth.verify":`Verify & sign in`,"auth.changeEmail":`← Change email`,"auth.resendIn":`Resend in {n}s`,"auth.resendCode":`Resend code`,"auth.createTitle":`Create your account`,"auth.createBlurb":`Join to unlock collections, sharing and team features. We'll verify your email with a one-time code.`,"auth.firstName":`First name`,"auth.lastName":`Last name`,"auth.passwordPlaceholder":`At least 8 characters`,"auth.togglePassword":`Toggle password visibility`,"auth.haveAccount":`Already have an account?`,"invite.title":`Invite to workspace`,"invite.workspace":`workspace`,"invite.emailPlaceholder":`teammate@company.com`,"invite.roleEditor":`Editor — can add & share`,"invite.roleViewer":`Viewer — read only`,"invite.role":`Role`,"invite.linkExpires":`Link expires`,"invite.exp24h":`24h`,"invite.exp7d":`7 days`,"invite.exp30d":`30 days`,"invite.expNever":`Never`,"invite.blurb":`Invitees get access to shared collections in this workspace. Roles can be changed later by the owner; links can be revoked in Settings.`,"invite.generateLink":`Generate link`,"invite.linkCopied":`Invite link copied`,"invite.yourTeammate":`your teammate`,"invite.sentNotification":`Invite sent to {to} ({role})`,"invite.sent":`Invite sent`,"invite.sendInvite":`Send invite`,"access.addPeople":`Add people or your team`,"access.searchTeammates":`Search teammates by name or email…`,"access.onlyYou":`Only you have access. Add teammates above, or share the whole team.`,"access.saveAccess":`Save access`,"access.shareEntireTeam":`Sharing with entire team`,"access.shareLinkCopied":`Share link copied`,"access.copyLinkInstead":`Copy link instead`,"shared.inviteTeam":`Invite the team…`,"shared.viewer":`viewer`,"shared.editor":`editor`,"tour.skip":`Skip`,"tour.back":`Back`,"tour.stepOf":`Step {n} of {total}`,"tour.next":`Next`,"tour.getStarted":`Get started`,"tour.s1Title":`Welcome to Ichava Browser`,"tour.s1Body":`Every icon in your Laravel app — searchable, previewable, copy-ready. This 30-second tour shows you around. You can replay it anytime from Settings.`,"tour.s2Title":`Find any icon fast`,"tour.s2Body":`Search by name or tag, filter by package, category and variant in the sidebar, or hit ⌘K for the command palette.`,"tour.s3Title":`Restyle live`,"tour.s3Body":`Treatments, size, stroke, color and motion presets restyle every icon in place — the grid updates as you tweak.`,"tour.s4Title":`Copy for your stack`,"tour.s4Body":`Open any icon for Blade, Livewire, Vue, React, Svelte, Web Component, raw SVG and more — one click to copy.`,"tour.s5Title":`Save & share`,"tour.s5Body":`Favorite icons, group them into collections, and export a sprite, manifest or ZIP. Sign in to sync across devices.`,"app.documentTitle":`Ichava Browser — every icon your Laravel app needs`,"sort.name":`Name`,"sort.package":`Package`,"sort.category":`Category`,"treatment.default":`Stroke`,"treatment.defaultDesc":`Original pack strokes`,"treatment.solid":`Solid`,"treatment.solidDesc":`Bolder, filled weight`,"treatment.duotone":`Dual tone`,"treatment.duotoneDesc":`Accent shadow layer`,"treatment.midtone":`Midtone`,"treatment.midtoneDesc":`Softened 50% ink`,"treatment.halftone":`Halftone`,"treatment.halftoneDesc":`Retro dot-matrix fill`,"unit.pxValue":`{n}px`,"export.files":`SVG files`,"export.filesDesc":`Individual .svg downloads`,"export.sprite":`SVG sprite`,"export.spriteDesc":`One sheet`,"export.manifest":`JSON manifest`,"export.manifestDesc":`ids, packs & categories`,"export.zip":`ZIP bundle`,"export.zipDesc":`Sprite + manifest + files`,"copyFormat.svg":`Raw SVG`,"copyFormat.blade":`Blade tag`,"copyFormat.vue":`Vue snippet`,"copyFormat.name":`Icon name`,"snippetTab.motion":`Motion`,"snippetTab.helper":`Helper`,"snippetTab.bladeGeneric":`Blade (generic)`,"snippetTab.webcomponent":`Web Component`,"snippetTab.name":`Name`,"format.svg":`Raw SVG`,"format.motion":`Motion`,"format.helper":`ichava() helper`,"format.blade":`Blade tag`,"format.bladeGeneric":`Generic Blade`,"format.livewire":`Livewire`,"format.alpine":`Alpine.js`,"format.vue":`Vue`,"format.react":`React`,"format.svelte":`Svelte`,"format.webcomponent":`Web Component`,"format.reactNative":`React Native`,"format.angular":`Angular`,"format.solid":`Solid`,"format.preact":`Preact`,"format.astro":`Astro`,"format.api":`REST URL`,"format.name":`Icon name`,"format.qwik":`Qwik`,"format.ember":`Ember`,"format.elm":`Elm`,"format.css-mask":`CSS mask`,"format.data-uri":`Data URI`,"format.flutter":`Flutter`,"format.swiftui":`SwiftUI`,"export.css-mask":`CSS mask`,"export.css-maskDesc":`One class per icon, in currentColor`,"export.data-uri":`Data URI`,"export.data-uriDesc":`CSS custom properties, colours kept`,"export.native":`Native assets`,"export.flutter":`Download for Flutter`,"export.flutterDesc":`SVG assets and a Dart index, built by js-icon-components`,"export.swiftui":`Download for SwiftUI`,"export.swiftuiDesc":`An .xcassets catalogue, built by js-icon-components`,"detail.cssMask":`CSS mask`,"detail.copyDataUri":`Copy as data URI`,"about.landing":`Website`,"clipboard.copyFailed":`Copy failed — select and copy manually`,"clipboard.copied":`Copied to clipboard`,"task.working":`Working…`,"task.export":`Exporting {n} icons…`,"task.copyNames":`Collecting {n} icon names…`,"task.selectAll":`Selecting every matching icon…`},D=[{code:`en`,label:`English`,dir:`ltr`},{code:`es`,label:`Español`,dir:`ltr`},{code:`fr`,label:`Français`,dir:`ltr`},{code:`de`,label:`Deutsch`,dir:`ltr`},{code:`pt`,label:`Português`,dir:`ltr`},{code:`sw`,label:`Kiswahili`,dir:`ltr`},{code:`ar`,label:`العربية`,dir:`rtl`}];function Qe(e){return D.find(t=>t.code===e)?.dir??`ltr`}var $e={es:()=>import(`./es-BQadDI5z.js`),fr:()=>import(`./fr-C3YrRQ0m.js`),de:()=>import(`./de-C11_iEFd.js`),pt:()=>import(`./pt-DiIN_EjM.js`),sw:()=>import(`./sw-s0osxpLo.js`),ar:()=>import(`./ar-DN72wH1H.js`)},O={en:Ze},et=/* @__PURE__ */ new Map,k=/* @__PURE__ */ new Set,tt=0;function nt(e){return O[e]!==void 0}function A(e){if(e===`en`||nt(e))return Promise.resolve();let t=et.get(e);if(t)return t;let n=$e[e]().then(t=>{O[e]=t.default,tt++;for(let e of k)e()});return et.set(e,n),n}async function rt(){await Promise.all(D.map(e=>A(e.code)))}function it(e){return k.add(e),()=>k.delete(e)}function j(){return tt}function at(e){return e}var ot={};function st(e,t=ot){return Fe.of(O).withOverrides(t).locale(e)}function ct(e,t,n){return st(e.locale,e.translationOverrides).t(t,n)}var lt=`ichava.debug`;function ut(){try{return!0}catch{return!1}}function dt(){try{let e=new URLSearchParams(window.location.search);if(e.has(`debug`)){let t=e.get(`debug`);return t===``||t===`1`||t===`true`||t===`boot`}}catch{}return null}function ft(){try{let e=window.localStorage.getItem(lt);return e==null?null:e===`1`||e===`true`}catch{return null}}function pt(e){return e?.env??(ut()?`production`:`development`)}function mt(e){let t=dt();if(t!==null)return t;let n=ft();return n===null?e?.debug?.enabled==null?pt(e)!==`production`:e.debug.enabled:n}function ht(e){return mt(e)&&e?.features?.devtools!==!1}var gt={debug:10,info:20,warn:30,error:40,silent:100},M=/* @__PURE__ */ new WeakMap,_t=0,vt=`page`,yt=new class e{level=`debug`;cap=300;buf=[];subs=/* @__PURE__ */ new Set;#e;#t;#n=0;constructor(e=vt,t=null){this.#e=e,this.#t=t}get source(){return this.#e}child(t){return new e(t,this)}configure(e){e?.limits?.logBuffer&&(this.cap=e.limits.logBuffer);let t=e?.debug?.logLevel;this.level=t||(mt(e)?`debug`:pt(e)===`production`?`warn`:`debug`)}setLevel(e){this.level=e}getLevel(){return this.level}subscribe(e){this.subs.add(e);let t=this.#t?.subscribe(e);return()=>{this.subs.delete(e),t?.()}}buffer(){if(!this.#t)return this.buf;let e=this.#t.buffer().filter(e=>M.get(e)>this.#n);return e.length?[...e,...this.buf].sort((e,t)=>M.get(e)-M.get(t)):this.buf}clear(){this.buf=[],this.#n=_t}write(e,t,n,r){let i={ts:Date.now(),level:e,channel:t,message:n,data:r,source:this.#e};if(M.set(i,++_t),this.buf.push(i),this.buf.length>this.cap&&this.buf.splice(0,this.buf.length-this.cap),this.subs.forEach(e=>{try{e(i)}catch{}}),gt[e]>=gt[this.level]&&this.level!==`silent`){let i=`[ichava:${t}]`,a=e===`error`?console.error:e===`warn`?console.warn:e===`info`?console.info:console.debug;r===void 0?a(i,n):a(i,n,r)}}debug(e,t,n){this.write(`debug`,e,t,n)}info(e,t,n){this.write(`info`,e,t,n)}warn(e,t,n){this.write(`warn`,e,t,n)}error(e,t,n){this.write(`error`,e,t,n)}},bt=`page`,xt=new class e{#e=/* @__PURE__ */ new Set;#t;#n;constructor(e=bt,t=null){this.#t=e,this.#n=t}get source(){return this.#t}child(t){return new e(t,this)}emit(e,t,n){let r={kind:e,label:t,payload:n,ts:Date.now(),source:this.#t};this.#e.forEach(e=>{try{e(r)}catch{}})}on(e){this.#e.add(e);let t=this.#n?.on(e);return()=>{this.#e.delete(e),t?.()}}},St=`1.8.0`,Ct=[{id:`svg`,label:`Raw SVG`,group:`raw`,delivery:`client`,kinds:[`icon`,`illustration`],copy:!0,defaultCopy:!0},{id:`motion`,label:`Motion`,group:`motion`,delivery:`client`,kinds:[`icon`,`illustration`],copy:!0,defaultCopy:!1},{id:`helper`,label:`ichava() helper`,group:`laravel`,delivery:`laravel`,kinds:[`icon`,`illustration`],copy:!0,defaultCopy:!0},{id:`blade`,label:`Blade tag`,group:`laravel`,delivery:`laravel`,kinds:[`icon`,`illustration`],copy:!0,defaultCopy:!0},{id:`bladeGeneric`,label:`Generic Blade`,group:`laravel`,delivery:`laravel`,kinds:[`icon`,`illustration`],copy:!0,defaultCopy:!1},{id:`livewire`,label:`Livewire`,group:`laravel`,delivery:`laravel`,kinds:[`icon`,`illustration`],copy:!0,defaultCopy:!1},{id:`alpine`,label:`Alpine.js`,group:`js`,delivery:`client`,kinds:[`icon`,`illustration`],copy:!0,defaultCopy:!1},{id:`vue`,label:`Vue`,group:`js`,delivery:`generated`,kinds:[`icon`,`illustration`],copy:!0,defaultCopy:!0},{id:`react`,label:`React`,group:`js`,delivery:`generated`,kinds:[`icon`,`illustration`],copy:!0,defaultCopy:!0},{id:`svelte`,label:`Svelte`,group:`js`,delivery:`generated`,kinds:[`icon`,`illustration`],copy:!0,defaultCopy:!1},{id:`webcomponent`,label:`Web Component`,group:`js`,delivery:`generated`,kinds:[`icon`,`illustration`],copy:!0,defaultCopy:!1},{id:`reactNative`,label:`React Native`,group:`js`,delivery:`generated`,kinds:[`icon`,`illustration`],copy:!0,defaultCopy:!1},{id:`angular`,label:`Angular`,group:`js`,delivery:`generated`,kinds:[`icon`,`illustration`],copy:!0,defaultCopy:!1},{id:`solid`,label:`Solid`,group:`js`,delivery:`generated`,kinds:[`icon`,`illustration`],copy:!0,defaultCopy:!1},{id:`preact`,label:`Preact`,group:`js`,delivery:`generated`,kinds:[`icon`,`illustration`],copy:!0,defaultCopy:!1},{id:`astro`,label:`Astro`,group:`js`,delivery:`generated`,kinds:[`icon`,`illustration`],copy:!0,defaultCopy:!1},{id:`qwik`,label:`Qwik`,group:`js`,delivery:`generated`,kinds:[`icon`,`illustration`],copy:!0,defaultCopy:!1},{id:`ember`,label:`Ember`,group:`js`,delivery:`generated`,kinds:[`icon`,`illustration`],copy:!0,defaultCopy:!1},{id:`elm`,label:`Elm`,group:`js`,delivery:`generated`,kinds:[`icon`,`illustration`],copy:!0,defaultCopy:!1},{id:`css-mask`,label:`CSS mask`,group:`export`,delivery:`asset`,kinds:[`icon`,`illustration`],copy:!1,defaultCopy:!1},{id:`data-uri`,label:`Data URI`,group:`export`,delivery:`asset`,kinds:[`icon`,`illustration`],copy:!1,defaultCopy:!1},{id:`flutter`,label:`Flutter`,group:`export`,delivery:`asset`,kinds:[`icon`,`illustration`],copy:!1,defaultCopy:!1,native:!0},{id:`swiftui`,label:`SwiftUI`,group:`export`,delivery:`asset`,kinds:[`icon`,`illustration`],copy:!1,defaultCopy:!1,native:!0},{id:`api`,label:`REST URL`,group:`reference`,delivery:`laravel`,kinds:[`icon`,`illustration`],copy:!0,defaultCopy:!1},{id:`name`,label:`Icon name`,group:`reference`,delivery:`client`,kinds:[`icon`,`illustration`],copy:!0,defaultCopy:!0}],N={meta:{version:`0.1.0`,author:`Simtabi LLC`,sets:70,license:`Proprietary`,url:`https://simtabi.com`},seo:{title:`Ichava Browser — every icon your Laravel app needs`,description:`Any SVG, icons and illustrations, from open-source sets. Search, restyle, animate and copy — visual browser, REST API and Blade components for Laravel.`},env:null,debug:{enabled:null,logLevel:`debug`},features:{devtools:!0,collections:!0,history:!0,motion:!0,treatments:!0,multiSelect:!0,presence:!0,demo:!1,favorites:!0,commands:!0,library:!0,preferences:!0,status:!1,cacheAdmin:!1,illustrations:!0,searchLanguage:!1,export:!0,themeToggle:!0,invites:!0,sharing:!0,notifications:!0,workspaces:!0},brand:{name:`Ichava`,suffix:`Browser`,tagline:``},user:{mode:`guest`,name:``,email:``,initials:``,plan:``,workspaces:[]},team:[],ui:{defaultTheme:`light`,scale:`m`,density:`compact`,accentOptions:[`#0e7c66`,`#2f54d6`,`#c2410c`,`#7c3aed`,`#be185d`],perPageOptions:[30,60,120,240],scaleOptions:[{id:`xs`,label:`XS`},{id:`s`,label:`S`},{id:`m`,label:`M`},{id:`l`,label:`L`}],baseFontSize:13.5,avatarPalette:[`#7c3aed`,`#0891b2`,`#059669`,`#e11d48`,`#ea580c`]},defaults:{packages:[],perPage:60,sortBy:`name`,sortOrder:`asc`,appearance:{theme:`system`,accent:`#0e7c66`,radius:6,scale:`m`,density:`compact`,reduceMotion:!1,showLabels:!0,adaptMonochrome:!0},render:{size:48,sizeUnit:`px`,gridStroke:1.5,color:null,treatment:`default`,copyFormat:`svg`},collections:[]},ranges:{size:{min:16,max:1024,step:16},stroke:{min:.5,max:3,step:.25},radius:{min:0,max:14}},limits:{historyCap:40,recentCommandsCap:5,paletteIconResults:6,logBuffer:300,svgMaxChars:45e5,svgMaxNodes:3e4},toolbar:{sortOptions:[{id:`name`,label:`Name`},{id:`package`,label:`Package`},{id:`category`,label:`Category`}],treatments:[{id:`default`,label:`Stroke`,desc:`Original pack strokes`},{id:`solid`,label:`Solid`,desc:`Bolder, filled weight`},{id:`duotone`,label:`Dual tone`,desc:`Accent shadow layer`},{id:`midtone`,label:`Midtone`,desc:`Softened 50% ink`},{id:`halftone`,label:`Halftone`,desc:`Retro dot-matrix fill`}],sizeUnits:[`px`,`rem`,`em`],copyFormats:Ct.filter(e=>e.copy&&e.defaultCopy).map(e=>({id:e.id,label:e.label})),exportFormats:[{id:`files`,label:`SVG files`,desc:`Individual .svg downloads`,icon:`cube`},{id:`sprite`,label:`SVG sprite`,desc:`One sheet`,icon:`stats`},{id:`manifest`,label:`JSON manifest`,desc:`ids, packs & categories`,icon:`text`},{id:`zip`,label:`ZIP bundle`,desc:`Sprite + manifest + files`,icon:`download`},{id:`css-mask`,label:`CSS mask`,desc:`One class per icon, in currentColor`,icon:`palette`},{id:`data-uri`,label:`Data URI`,desc:`CSS custom properties, colours kept`,icon:`link`}],nativeExports:[{id:`flutter`,href:`https://github.com/ichava/js-icon-components/blob/main/docs/tools/flutter.md`},{id:`swiftui`,href:`https://github.com/ichava/js-icon-components/blob/main/docs/tools/swiftui.md`}]},about:{description:`An SVG engine for Laravel that serves any SVG, icons and illustrations, with a visual browser, REST API and Blade components.`,creditsTitle:`OPEN SOURCE CREDITS`,copyright:`© 2026 Simtabi LLC`,creditsMarqueeSec:64,credits:[{name:`Tabler Icons`,author:`Paweł Kuna`,license:`MIT`},{name:`Flag Icons`,author:`Panayiotis Lipiridis`,license:`MIT`},{name:`Twemoji`,author:`Twitter, Inc. and the jdecked/twemoji maintainers`,license:`CC BY 4.0`},{name:`OpenMoji`,author:`HfG Schwäbisch Gmünd and contributors`,license:`CC BY-SA 4.0`},{name:`Lucide`,author:`Lucide Contributors`,license:`ISC`},{name:`Heroicons`,author:`Tailwind Labs`,license:`MIT`},{name:`Feather`,author:`Cole Bemis`,license:`MIT`},{name:`Bootstrap Icons`,author:`The Bootstrap Authors`,license:`MIT`},{name:`Font Awesome Free`,author:`@fontawesome (Fonticons, Inc.)`,license:`CC BY 4.0`},{name:`Boxicons`,author:`Aniket Suvarna (Atisa)`,license:`MIT`},{name:`Phosphor Icons`,author:`Helena Zhang & Tobias Fried`,license:`MIT`},{name:`Remix Icon`,author:`Remix Design`,license:`Apache-2.0 (v4.8.0)`},{name:`Material Symbols`,author:`Google`,license:`Apache-2.0`},{name:`Material Design Icons`,author:`Pictogrammers`,license:`Apache-2.0`},{name:`Fluent UI System Icons`,author:`Microsoft`,license:`MIT`},{name:`Ionicons`,author:`Ionic`,license:`MIT`},{name:`Carbon Icons`,author:`IBM`,license:`Apache-2.0`},{name:`Octicons`,author:`GitHub`,license:`MIT`},{name:`Iconoir`,author:`Luca Burgio`,license:`MIT`},{name:`Simple Icons`,author:`Simple Icons Collaborators`,license:`CC0-1.0`},{name:`Radix Icons`,author:`WorkOS (Radix)`,license:`MIT`},{name:`IconPark`,author:`ByteDance`,license:`Apache-2.0`},{name:`MingCute`,author:`MingCute Design`,license:`Apache-2.0`},{name:`TDesign Icons`,author:`TDesign (Tencent)`,license:`MIT`},{name:`Siemens iX Icons`,author:`Siemens AG`,license:`MIT`},{name:`Zendesk Garden Icons`,author:`Zendesk`,license:`Apache-2.0`},{name:`coolicons`,author:`Kryston Schwarze`,license:`MIT`},{name:`Eva Icons`,author:`Akveo`,license:`MIT`},{name:`Ant Design Icons`,author:`Ant UED`,license:`MIT`},{name:`Health Icons`,author:`Resolve to Save Lives and the Health Icons contributors`,license:`CC0-1.0`},{name:`Devicon`,author:`konpa and the Devicon contributors`,license:`MIT`},{name:`Fluent Emoji`,author:`Microsoft Corporation`,license:`MIT`},{name:`Pepicons`,author:`CyCraft`,license:`CC BY 4.0`},{name:`Game Icons`,author:`Lorc, Delapouite and the game-icons.net contributors`,license:`CC BY 3.0`},{name:`CoreUI Icons Free`,author:`CoreUI (creativeLabs)`,license:`CC BY 4.0`},{name:`Pinhead`,author:`Wayside Mapping and the Pinhead contributors`,license:`CC0-1.0`},{name:`SVG Logos`,author:`Gil Barbara`,license:`CC0-1.0`},{name:`Noto Emoji`,author:`Google`,license:`Apache-2.0`}],links:[{label:`simtabi.com`,href:`https://simtabi.com`},{label:`Docs`,href:`https://github.com/ichava/icon-browser/tree/main/docs`},{label:`Icon packs`,href:`https://github.com/ichava/core/blob/main/docs/recipes/use-an-icon-pack.md`},{label:`GitHub`,href:`https://github.com/ichava/icon-browser`}],stats:[{key:`indexed`,label:`icons indexed`},{key:`sets`,label:`icon sets`},{key:`license`,label:`license`}]},i18n:{locale:`en`,available:[`en`,`es`,`fr`,`de`,`pt`,`sw`,`ar`]},storageKeys:{persist:`ichava.browser.v2`,driver:`ichava.browser.driver`,paletteRecent:`ichava.palette.recent`,locale:`ichava.locale`,consent:`ichava.consent`},host:null,boot:{},snippets:{tabs:Ct.filter(e=>e.copy).map(e=>e.id),labels:{},templates:{},className:`w-6 h-6`,apiOrigin:``},storage:{frontendDriver:`local`,laravelDriver:`session`},crossLinks:{landing:null}};function wt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Tt(e,t){if(t===void 0)return e;if(Array.isArray(t))return t;if(wt(t)&&wt(e)){let n={...e};for(let r of Object.keys(t))n[r]=Tt(e[r],t[r]);return n}return t??e}function Et(e){return Tt(N,e??{})}var Dt=N.storageKeys.driver,P=N.storageKeys.persist;function F(){try{return window.localStorage}catch{return null}}function I(){try{return window.sessionStorage}catch{return null}}var L=(()=>{let e=F()?.getItem(Dt);return e===`session`||e===`local`?e:N.storage.frontendDriver===`session`?`session`:`local`})();function R(){return L===`session`?I():F()}var Ot=/* @__PURE__ */ new Set;function kt(e){Ot.add(e)}function At(){return R()}function jt(e){try{return R()?.getItem(e)!=null}catch{return!1}}function z(){return L}function Mt(e){if(e===L)return;let t=L===`session`?I():F(),n=e===`session`?I():F();for(let e of[P,...Ot])try{let r=t?.getItem(e);r!=null&&n&&(n.setItem(e,r),t?.removeItem(e))}catch{}L=e;try{F()?.setItem(Dt,e)}catch{}}function Nt(){try{R()?.removeItem(P)}catch{}}var Pt={getItem:e=>R()?.getItem(e)??null,setItem:(e,t)=>{try{R()?.setItem(e,t)}catch{}},removeItem:e=>{try{R()?.removeItem(e)}catch{}}},Ft=l(()=>Pt),B=N.defaults,V={search:``,packages:[...B.packages],categories:[],subs:[],variant:null,sortBy:B.sortBy,sortOrder:B.sortOrder,page:1,perPage:B.perPage,kind:`icon`,tags:[],keywords:[]},It={...B.appearance,adaptMonochrome:B.appearance.adaptMonochrome??!0,get theme(){return xe(B.appearance.theme)}},Lt={...B.render,treatment:B.render.treatment},Rt=B.collections.map(e=>({...e,icons:[...e.icons]})),zt=N.limits.historyCap,Bt=(e,t)=>((e?.[0]??``)+(t?.[0]??e?.[1]??``)).toUpperCase()||`??`,Vt=class{signIn(e,t,n){return t===`000000`?null:{name:n?.user?.name??e.split(`@`)[0],initials:n?.user?.initials??Bt(e),email:e,plan:n?.user?.plan??`PRO`}}createAccount(e){return{name:`${e.first} ${e.last}`.trim(),initials:Bt(e.first,e.last),email:e.email,plan:`FREE`}}signOut(){}};function Ht(e){let t=e.trim().split(/\s+/).filter(Boolean),n=t[0]??``,r=t.length>1?t[t.length-1]??``:n.slice(1);return((n[0]??``)+(r[0]??``)).toUpperCase()||`?`}function Ut(e){return{id:e.id,name:e.name,initials:Ht(e.name),email:``,plan:null,avatarUrl:e.avatarUrl,abilities:e.abilities}}function Wt(e){if(typeof document>`u`)return null;let t=document.cookie.split(`; `).find(t=>t.startsWith(`${e}=`));return t?decodeURIComponent(t.slice(e.length+1)):null}async function Gt(e){let t=Wt(`XSRF-TOKEN`),n=await fetch(e,{method:`POST`,credentials:`same-origin`,headers:{Accept:`text/html,application/json`,"X-Requested-With":`XMLHttpRequest`,...t?{"X-XSRF-TOKEN":t}:{}}});return n.redirected?n.url:null}var Kt=class{#e;#t;#n;#r;constructor(e,t,n={}){this.#e=e?Ut(e):null,this.#t=t,this.#n=n.navigate??(e=>window.location.assign(e)),this.#r=n.logout??Gt}current(){return this.#e}signIn(){return null}createAccount(){throw Error(`Accounts belong to the host application; the browser cannot create one.`)}beginSignIn(){return this.#t.login?(this.#n(this.#t.login),!0):!1}signOut(){let e=this.#t.logout;e&&this.#r(e).catch(()=>null).then(e=>this.#n(e??this.#t.login??window.location.href))}},qt=class{#e;constructor(e){this.#e=e,kt(e),Object.freeze(this)}get key(){return this.#e}read(){try{let e=At()?.getItem(this.#e);return e==null?void 0:JSON.parse(e)}catch{return}}write(e){try{At()?.setItem(this.#e,JSON.stringify(e))}catch{}}};function Jt(e,t){let n={...e};if(!t)return n;for(let r of Object.keys(e)){let e=t[r];e!=null&&(n[r]=e)}return n}function H(){return{...It}}function Yt(e){return{...Jt(H(),{...e,theme:void 0}),theme:e.theme?xe(e.theme):It.theme}}function U(){return{...Lt}}function Xt(e){return Jt(U(),e)}function Zt(e,t){if(t)return{};let n=e.defaults;if(!n)return{};let r=n.appearance,i=n.render;return{filters:{...V,packages:n.packages??V.packages,perPage:n.perPage??V.perPage,sortBy:n.sortBy??V.sortBy,sortOrder:n.sortOrder??V.sortOrder,kind:n.kind??V.kind},...r&&Yt(r),...i&&Xt(i),...n.collections?.length?{collections:n.collections}:{}}}function Qt(e,t,n){return{catalog:null,filtersData:null,config:null,loading:!0,activeWorkspaceId:null,setCatalog:t=>e({catalog:t,loading:!1}),setFiltersData:t=>e({filtersData:t}),setConfig:t=>e(e=>{let r=t.host?{auth:t.host.user?{status:`authed`,user:Ut(t.host.user)}:{status:`guest`,user:null},authInitialized:!0}:!e.authInitialized&&t.user.mode===`authenticated`?{auth:{status:`authed`,user:{name:t.user.name,initials:t.user.initials,email:t.user.email,plan:t.user.plan}},authInitialized:!0}:{};return{config:t,activeWorkspaceId:(e.activeWorkspaceId&&t.user.workspaces.some(t=>t.id===e.activeWorkspaceId)?e.activeWorkspaceId:null)??t.user.workspaces.find(e=>e.active)?.id??t.user.workspaces[0]?.id??null,...r,...Zt(t,n)}}),setActiveWorkspace:t=>e({activeWorkspaceId:t})}}function $t(e,t){return{...H(),locale:Re(),setLocale:t=>{ze(t),e({locale:t})},translationOverrides:{},addTranslations:t=>e(e=>{let n={...e.translationOverrides};for(let[e,r]of Object.entries(t))n[e]={...n[e]??{},...r};return{translationOverrides:n}}),setTheme:t=>e({theme:t}),toggleTheme:()=>e(e=>({theme:e.theme===`dark`?`light`:`dark`})),setAccent:t=>e({accent:t}),setRadius:t=>e({radius:t}),setScale:t=>e({scale:t}),setDensity:t=>e({density:t}),toggleReduceMotion:()=>e(e=>({reduceMotion:!e.reduceMotion})),toggleLabels:()=>e(e=>({showLabels:!e.showLabels})),toggleAdaptMonochrome:()=>e(e=>({adaptMonochrome:!e.adaptMonochrome}))}}function en(e,t){return{filters:V,view:`grid`,catQ:``,collapsedGroups:[],expandedCats:[],searchScope:`icons`,packageQuery:``,sidebarOpen:!1,setSearchScope:t=>e({searchScope:t}),setPackageQuery:t=>e({packageQuery:t}),toggleSidebar:()=>e(e=>({sidebarOpen:!e.sidebarOpen})),setSidebarOpen:t=>e({sidebarOpen:t}),setSearch:t=>e(e=>({filters:p.from(e.filters).search(t).toFilters()})),clearSearch:()=>e(e=>({filters:p.from(e.filters).clearSearch().toFilters()})),togglePackage:t=>e(e=>({filters:p.from(e.filters).togglePackage(t).toFilters()})),selectAllPacks:t=>e(e=>({filters:p.from(e.filters).selectAllPacks(t).toFilters()})),clearPacks:()=>e(e=>({filters:p.from(e.filters).clearPacks().toFilters()})),toggleCat:t=>e(e=>({filters:p.from(e.filters).toggleCategory(t).toFilters()})),toggleSub:(t,n)=>e(e=>({filters:p.from(e.filters).toggleSub(t,n).toFilters()})),clearCats:()=>e(e=>({filters:p.from(e.filters).clearCategories().toFilters()})),setVariant:t=>e(e=>({filters:p.from(e.filters).toggleVariant(t).toFilters()})),setSort:t=>e(e=>({filters:p.from(e.filters).sortBy(t).toFilters()})),toggleOrder:()=>e(e=>({filters:p.from(e.filters).toggleOrder().toFilters()})),setPage:t=>e(e=>({filters:p.from(e.filters).page(t).toFilters()})),nextPage:t=>e(e=>({filters:p.from(e.filters).nextPage(t).toFilters()})),prevPage:()=>e(e=>({filters:p.from(e.filters).prevPage().toFilters()})),setPerPage:t=>e(e=>({filters:p.from(e.filters).perPage(t).toFilters()})),setKind:t=>e(e=>({filters:p.from(e.filters).kind(t).toFilters()})),toggleTag:t=>e(e=>({filters:p.from(e.filters).toggleTag(t).toFilters()})),toggleKeyword:t=>e(e=>({filters:p.from(e.filters).toggleKeyword(t).toFilters()})),clearTerms:()=>e(e=>({filters:p.from(e.filters).clearTerms().toFilters()})),setView:t=>e({view:t}),setCatQ:t=>e({catQ:t}),toggleGroup:t=>e(e=>({collapsedGroups:e.collapsedGroups.includes(t)?e.collapsedGroups.filter(e=>e!==t):[...e.collapsedGroups,t]})),toggleCatExpand:t=>e(e=>({expandedCats:e.expandedCats.includes(t)?e.expandedCats.filter(e=>e!==t):[...e.expandedCats,t]})),toggleExpandAll:(t,n)=>e(e=>e.collapsedGroups.length===0&&n.every(t=>e.expandedCats.includes(t))?{collapsedGroups:[...t],expandedCats:[]}:{collapsedGroups:[],expandedCats:[...n]}),resetFilters:()=>e(e=>({filters:p.from(e.filters).reset(V).toFilters(),catQ:``,color:null,treatment:`default`,selection:[]}))}}function tn(e,t){return{...U(),setSize:t=>e({size:t}),setSizeUnit:t=>e({sizeUnit:t}),setGridStroke:t=>e({gridStroke:t}),setColor:t=>e({color:t}),setTreatment:t=>e({treatment:t}),setCopyFormat:t=>e({copyFormat:t})}}function nn(e,t){return{selection:[],toggleSelect:t=>e(e=>({selection:e.selection.includes(t)?e.selection.filter(e=>e!==t):[...e.selection,t]})),clearSelection:()=>e({selection:[]}),setSelection:t=>e({selection:[...t]})}}var rn=class e{#e;#t;constructor(e,t){this.#e=e,this.#t=t,Object.freeze(this)}static from(t,n){return new e({favorites:t.favorites,history:t.history,collections:t.collections},n.historyCap)}get favorites(){return this.#e.favorites}get history(){return this.#e.history}get collections(){return this.#e.collections}#n(t){return new e({...this.#e,...t},this.#t)}#r(e){return this.#n({collections:this.#e.collections.map(e)})}toggleFavorite(e){let t=this.#e.favorites;return this.#n({favorites:t.includes(e)?t.filter(t=>t!==e):[e,...t]})}record(e,t,n){let r=this.#e.history.filter(n=>n.id!==e||n.action!==t);return this.#n({history:[{id:e,action:t,ts:n},...r].slice(0,this.#t)})}clearHistory(){return this.#n({history:[]})}createCollection(e,t,n=[]){let r=e.trim();return r?this.#n({collections:[...this.#e.collections,{id:t(),name:r,icons:[...new Set(n)]}]}):this}renameCollection(e,t){return this.#r(n=>n.id===e?{...n,name:t.trim()||n.name}:n)}removeCollection(e){return this.#n({collections:this.#e.collections.filter(t=>t.id!==e)})}addTo(e,t){return this.#r(n=>n.id===e&&!n.icons.includes(t)?{...n,icons:[...n.icons,t]}:n)}removeFrom(e,t){return this.#r(n=>n.id===e?{...n,icons:n.icons.filter(e=>e!==t)}:n)}share(e,t){return this.#r(n=>n.id===e?{...n,shared:!0,role:t.role,sharedWith:t.sharedWith}:n)}},an={viewed:`view`,copied:`copy`,downloaded:`download`},on={view:`viewed`,copy:`copied`,download:`downloaded`},sn=e=>`${e.id}:${e.action}:${e.ts}`;function cn(e,t){let n=[],r=(t.libraryDeletions??0)>(e.libraryDeletions??0);if(r&&n.push({kind:`library.delete`}),e.favorites!==t.favorites){let i=new Set(e.favorites),a=new Set(t.favorites);for(let e of a)i.has(e)||n.push({kind:`favorite.add`,iconId:e});if(!r)for(let e of i)a.has(e)||n.push({kind:`favorite.remove`,iconId:e})}if(e.history!==t.history){if(t.history.length===0&&e.history.length>0)n.push({kind:`history.clear`});else{let r=new Set(e.history.map(sn));for(let e of[...t.history].reverse())r.has(sn(e))||n.push({kind:`history.record`,iconId:e.id,action:e.action})}}if(e.collections!==t.collections){let i=new Map(e.collections.map(e=>[e.id,e])),a=new Map(t.collections.map(e=>[e.id,e]));for(let[e,t]of a){let r=i.get(e);if(!r)n.push({kind:`collection.create`,id:e,name:t.name,icons:[...t.icons]});else if(r.name!==t.name&&n.push({kind:`collection.rename`,id:e,name:t.name}),r.icons!==t.icons){let i=new Set(r.icons),a=new Set(t.icons);for(let t of a)i.has(t)||n.push({kind:`collection.add`,id:e,iconId:t});for(let t of i)a.has(t)||n.push({kind:`collection.remove`,id:e,iconId:t})}}if(!r)for(let e of i.keys())a.has(e)||n.push({kind:`collection.delete`,id:e})}let i=e.recentCommands??[],a=t.recentCommands??[];return i!==a&&(a.length===0&&i.length>0?n.push({kind:`command.clear`}):a[0]!==void 0&&(a[0]!==i[0]||a.length!==i.length||a.some((e,t)=>e!==i[t]))&&n.push({kind:`command.log`,command:a[0]})),n}var W={admin:`ichava.admin`,manageCache:`ichava.manage-cache`},ln={status:[W.admin],cacheAdmin:[W.manageCache,W.admin]},un={enabled:!1,reason:`config`,endpoints:{}};function dn(e,t=St){let n=e=>e.split(`.`)[0]??``;return e!==``&&n(e)===n(t)}var fn=[`icon`,`illustration`],pn=e=>fn.includes(e),mn=e=>typeof e==`number`&&Number.isInteger(e)&&e>0?e:null,hn=e=>typeof e==`number`&&Number.isInteger(e)&&e>=0?e:null;function gn(e){if(!e||typeof e!=`object`)return null;let t=e,n=Array.isArray(t.available)?[...new Set(t.available.filter(pn))]:[],r=hn(t.counts?.icon),i=hn(t.counts?.illustration);return!pn(t.default)||!n.length||r===null||i===null?null:{default:t.default,available:n,counts:{icon:r,illustration:i}}}function _n(e){if(!e||typeof e!=`object`)return null;let t=e;return{svgMaxNodes:mn(t.svgMaxNodes),svgMaxChars:mn(t.svgMaxChars)}}function vn(e){if(!e||typeof e!=`object`)return null;let t=e.landing;return{landing:typeof t==`string`&&/^https?:\/\/[^\s/?#]+[^\s]*$/i.test(t)?t:null}}function yn(e){if(!e)return null;let t=e.available.includes(e.default)?e.default:e.available[0]??e.default;return e.counts[t]===0&&(t=e.available.find(t=>e.counts[t]>0)??t),t}var bn=e=>!!e&&typeof e==`object`&&`login`in e&&`logout`in e;function xn(e,t,n,r,i){let a=typeof t.schemaVersion==`string`?t.schemaVersion:``,o=t;return{source:e,schemaVersion:a,compatible:dn(a),locale:typeof t.locale==`string`&&t.locale?t.locale:null,modes:t.modes??{inertia:e===`inertia`,api:e===`rest`},user:n,features:t.features??{},links:r,storage:i,defaultTheme:o.defaultTheme===`dark`||o.defaultTheme===`light`?o.defaultTheme:null,perPage:typeof o.perPage==`number`&&o.perPage>0?o.perPage:null,kinds:gn(t.kinds),limits:_n(t.limits),crossLinks:vn(t.crossLinks)}}function Sn(e){let t=e?.ichava;return!t||typeof t!=`object`||!t.features?null:xn(`inertia`,t,e?.auth??null,bn(t.account)?t.account:{login:null,logout:null},{tier:t.storage?.tier??null,persistent:t.storage?.persistent??null})}function Cn(e){return{...xn(`rest`,e,e.session.user,e.session.links,{tier:e.session.tier,persistent:e.session.persistent}),api:wn(e.api)}}function wn(e){if(!e||typeof e!=`object`)return null;let t={};if(e.endpoints&&!Array.isArray(e.endpoints))for(let[n,r]of Object.entries(e.endpoints))typeof r==`string`&&r!==``&&(t[n]=r);return{version:typeof e.version==`string`?e.version:``,base:typeof e.base==`string`&&e.base?e.base:null,endpoints:t}}function Tn(e,t){return e.features[t]??un}function G(e,t){if(!Tn(e,t).enabled)return!1;let n=ln[t];if(!n)return!0;let r=e.user?.abilities??{};return n.some(e=>r[e]===!0)}function En(e,t,n){if(!G(e,t))return null;let r=Tn(e,t).endpoints;if(Array.isArray(r))return null;let i=r[n];return typeof i==`string`&&i!==``?i:null}function Dn(e,t){return Je(e,t)}function On(e){return kn[e.toLowerCase().split(/[-_]/)[0]??``]}var kn={en:`english`,es:`spanish`,fr:`french`,de:`german`,pt:`portuguese`,ar:`arabic`};function K(e,t){let n=e?.api?.endpoints[t];return typeof n==`string`&&n!==``?n:null}function An(e){let t=K(e,`library.show`);if(!t||!G(e,`library`))return null;let n=(t,n)=>G(e,t)?K(e,n):null;return{library:t,favorites:n(`favorites`,`favorites.list`),collections:n(`collections`,`collections.list`),history:n(`history`,`history.list`),commands:n(`commands`,`commands.list`),preferences:n(`preferences`,`preferences.show`),api:e.api?.endpoints??{}}}var jn=[`favorites`,`collections`,`history`,`commands`,`library`,`preferences`,`status`,`cacheAdmin`,`illustrations`,`searchLanguage`,`export`,`motion`,`themeToggle`,`presence`,`invites`,`sharing`,`notifications`,`workspaces`];function q(e){let t={demo:!1};for(let n of jn)t[n]=G(e,n);let n=e.api?.endpoints[`icons.svg`],r=yn(e.kinds),i={...e.limits?.svgMaxNodes?{svgMaxNodes:e.limits.svgMaxNodes}:{},...e.limits?.svgMaxChars?{svgMaxChars:e.limits.svgMaxChars}:{}},a={...e.perPage?{perPage:e.perPage}:{},...r?{kind:r}:{}};return{features:t,...n?{snippets:{svgEndpoint:n}}:{},...e.defaultTheme?{ui:{defaultTheme:e.defaultTheme}}:{},...Object.keys(a).length?{defaults:a}:{},...Object.keys(i).length?{limits:i}:{},...e.crossLinks?{crossLinks:{landing:e.crossLinks.landing}}:{},...e.locale?{i18n:{locale:e.locale}}:{},host:e}}function Mn(e){let t=Sn(e);return t?q(t):{}}async function Nn(e,t=Xe()){return Cn((await t.request(e,{baseUrl:``})).data)}async function Pn(e,t){return q(await Nn(e,t))}var Fn=e=>e.icons?.length?{name:e.name,icon_ids:[...e.icons]}:{name:e.name},J=(e,...t)=>[e.replace(/\/+$/,``),...t.map(e=>encodeURIComponent(String(e)))].join(`/`),In=class{#e;#t;#n=/* @__PURE__ */ new Map;constructor(e,t){this.#e=e,this.#t=t}#r(e,t=`GET`,n){return this.#t.request(e,{method:t,body:n,baseUrl:``})}serverId(e){return this.#n.get(e)??e}async load(){let e=(await this.#r(this.#e.library)).data??{};return{favorites:(e.favorites??[]).filter(e=>typeof e==`number`),collections:(e.collections??[]).map(e=>({id:String(e.id),name:e.name,icons:[...e.icon_ids??[]]})),history:(e.history??[]).map(e=>({id:e.icon_id,action:on[e.action]??e.action,ts:Date.parse(e.timestamp)||0})),recentCommands:(e.commandHistory??[]).map(e=>e.command)}}async apply(e){if(this.#e.api)return this.#a(e,this.#e.api);let t=this.#e;switch(e.kind){case`favorite.add`:t.favorites&&await this.#r(J(t.favorites,e.iconId),`POST`);return;case`favorite.remove`:t.favorites&&await this.#r(J(t.favorites,e.iconId),`DELETE`);return;case`history.record`:t.history&&await this.#r(t.history,`POST`,{icon_id:e.iconId,action:an[e.action]??e.action});return;case`history.clear`:t.history&&await this.#r(t.history,`DELETE`);return;case`collection.create`:{let n=t.collections;return n?this.#i(e,()=>this.#r(n,`POST`,Fn(e)),(e,t)=>this.#r(J(n,e,`icons`,t),`POST`)):void 0}case`collection.rename`:t.collections&&await this.#r(J(t.collections,this.serverId(e.id)),`PUT`,{name:e.name});return;case`collection.delete`:t.collections&&await this.#r(J(t.collections,this.serverId(e.id)),`DELETE`);return;case`collection.add`:t.collections&&await this.#r(J(t.collections,this.serverId(e.id),`icons`,e.iconId),`POST`);return;case`collection.remove`:t.collections&&await this.#r(J(t.collections,this.serverId(e.id),`icons`,e.iconId),`DELETE`);return;case`command.log`:t.commands&&await this.#r(t.commands,`POST`,{command:e.command,type:`action`});return;case`command.clear`:t.commands&&await this.#r(t.commands,`DELETE`);return;case`library.delete`:await this.#r(t.library,`DELETE`);return}}async#i(e,t,n){let r=await t(),i=r?.data?.id;if(i===void 0)return;let a=String(i);this.#n.set(e.id,a);let o=new Set(r?.data?.icon_ids??[]);for(let t of e.icons??[])o.has(t)||await n(a,t);return{from:e.id,to:a}}async#a(e,t){let n=(e,n={})=>{let r=t[e];return r?Dn(r,n):null},r=async(e,t,n)=>e?this.#r(e,t,n):null;switch(e.kind){case`favorite.add`:await r(n(`favorites.add`,{iconId:e.iconId}),`POST`);return;case`favorite.remove`:await r(n(`favorites.remove`,{iconId:e.iconId}),`DELETE`);return;case`history.record`:await r(n(`history.log`),`POST`,{icon_id:e.iconId,action:an[e.action]??e.action});return;case`history.clear`:await r(n(`history.clear`),`DELETE`);return;case`collection.create`:{let t=n(`collections.create`);return t?this.#i(e,()=>r(t,`POST`,Fn(e)),(e,t)=>r(n(`collections.addIcon`,{collectionId:e,iconId:t}),`POST`)):void 0}case`collection.rename`:await r(n(`collections.rename`,{collectionId:this.serverId(e.id)}),`PUT`,{name:e.name});return;case`collection.delete`:await r(n(`collections.delete`,{collectionId:this.serverId(e.id)}),`DELETE`);return;case`collection.add`:await r(n(`collections.addIcon`,{collectionId:this.serverId(e.id),iconId:e.iconId}),`POST`);return;case`collection.remove`:await r(n(`collections.removeIcon`,{collectionId:this.serverId(e.id),iconId:e.iconId}),`DELETE`);return;case`command.log`:await r(n(`commands.log`),`POST`,{command:e.command,type:`action`});return;case`command.clear`:await r(n(`commands.clear`),`DELETE`);return;case`library.delete`:await r(n(`library.destroy`),`DELETE`);return}}},Y=new qt(N.storageKeys.paletteRecent);function Ln(){let e=Y.read();return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}var Rn=0,X=e=>rn.from(e,{historyCap:zt});function zn(e,t){return{favorites:[],history:[],collections:Rt.map(e=>({...e,icons:[...e.icons]})),toggleFavorite:t=>e(e=>({favorites:X(e).toggleFavorite(t).favorites})),pushHistory:(t,n)=>e(e=>({history:X(e).record(t,n,Date.now()).history})),clearHistory:()=>e(e=>({history:X(e).clearHistory().history})),createCollection:(t,n=[])=>e(e=>{let r=X(e),i=r.createCollection(t,()=>`c-${Date.now().toString(36)}${(++Rn).toString(36)}`,n);return i===r?{}:{collections:i.collections}}),renameCollection:(t,n)=>e(e=>({collections:X(e).renameCollection(t,n).collections})),removeCollection:t=>e(e=>({collections:X(e).removeCollection(t).collections})),addToCollection:(t,n)=>e(e=>({collections:X(e).addTo(t,n).collections})),removeFromCollection:(t,n)=>e(e=>({collections:X(e).removeFrom(t,n).collections})),recentCommands:Ln(),logCommand:n=>{let r=t().config?.limits.recentCommandsCap??N.limits.recentCommandsCap,i=[n,...t().recentCommands.filter(e=>e!==n)].slice(0,r);e({recentCommands:i}),Y.write(i)},clearRecentCommands:()=>{e({recentCommands:[]}),Y.write([])},libraryDeletions:0,deleteLibrary:()=>e(e=>({favorites:[],collections:[],libraryDeletions:e.libraryDeletions+1}))}}var Bn=2e3,Vn=0,Hn=0;function Un(e,t){return{layer:null,detailId:null,libTab:`favorites`,librarySeed:[],openLayer:t=>e({layer:t}),closeLayer:()=>e({layer:null,detailId:null,librarySeed:[]}),openDetail:n=>{e({layer:`detail`,detailId:n}),t().pushHistory(n,`viewed`)},openLibrary:(t,n)=>e({layer:`library`,libTab:t,librarySeed:[...new Set(n?.seed??[])]}),showToast:(t,n=`check`)=>e(e=>({toasts:[...e.toasts,{id:++Hn,msg:t,icon:n}]})),dismissToast:t=>e(e=>({toasts:e.toasts.filter(e=>e.id!==t)})),toasts:[],tasks:[],runTask:async(t,n,r)=>{let i=++Vn,a=setTimeout(()=>e(e=>({tasks:[...e.tasks,{id:i,label:t}]})),r?.delayMs??2e3);try{return await n()}finally{clearTimeout(a),e(e=>e.tasks.some(e=>e.id===i)?{tasks:e.tasks.filter(e=>e.id!==i)}:{})}},ctx:null,openCtx:(t,n,r,i)=>e({ctx:{x:t,y:n,items:r,title:i}}),closeCtx:()=>e({ctx:null}),confirm:null,openConfirm:t=>e({confirm:t}),closeConfirm:()=>e({confirm:null})}}var Wn=/* @__PURE__ */ new WeakMap;function Gn(e,t,n){if(e)return e;if(!t)return n;let r=Wn.get(t);return r||(r=new Kt(t.user,t.links),Wn.set(t,r)),r}function Kn(e,t,n,r){let i=new Vt,a=()=>Gn(r,t().config?.host,i);return{auth:{status:`guest`,user:null},authView:null,authReason:null,authInitialized:!1,openAuth:(t,n)=>{t!==`signout`&&a().beginSignIn?.(t)||e({authView:t,authReason:n??null})},closeAuth:()=>e({authView:null,authReason:null}),signIn:(r,i)=>{let o=a().signIn(r,i,t().config);return o?(e({auth:{status:`authed`,user:o},authView:null,authInitialized:!0}),n.emit(`auth`,`auth.signin`,{email:r}),t().pushNotification({icon:`check`,text:`Signed in — collections and sharing unlocked`}),!0):!1},createAccount:r=>{e({auth:{status:`authed`,user:a().createAccount(r)},authView:null,authInitialized:!0}),n.emit(`auth`,`auth.create`,{email:r.email}),t().pushNotification({icon:`check`,text:`Account created — welcome to Ichava`})},signOut:()=>{e({auth:{status:`guest`,user:null},authView:null,authInitialized:!0}),a().signOut(),n.emit(`auth`,`auth.signout`)}}}var qn=[{icon:`info`,text:`Share link created for "Dashboard set"`,ageMin:0},{icon:`check`,text:`Signed in — collections and sharing unlocked`,ageMin:1},{icon:`info`,text:`Jonas D. added 3 icons to "Dashboard set"`,ageMin:8},{icon:`info`,text:`Preferences restored from local storage`,ageMin:20,read:!0}],Jn=0;function Yn(e,t){return{notifications:[],seedDemoNotifications:()=>e(e=>e.notifications.length?{}:{notifications:qn.map((e,t)=>({id:`seed-${t}`,icon:e.icon,text:e.text,ts:Date.now()-e.ageMin*6e4,read:e.read??!1}))}),pushNotification:t=>e(e=>({notifications:[{id:`n-${++Jn}`,icon:t.icon,text:t.text,ts:Date.now(),read:!1},...e.notifications].slice(0,50)})),markNotificationsRead:()=>e(e=>({notifications:e.notifications.map(e=>({...e,read:!0}))})),clearNotifications:()=>e({notifications:[]})}}var Z={min:120,max:1600,default:260};function Xn(e,t,n){return{devtools:{open:!1,tab:`events`,events:[],capturing:!0},toggleDevtools:()=>e(e=>{let t=!e.devtools.open;return n.emit(`devtools`,`devtools.toggle`,{open:t}),{devtools:{...e.devtools,open:t}}}),setDevToolsTab:t=>e(e=>({devtools:{...e.devtools,tab:t}})),pushDevEvent:t=>e(e=>e.devtools.capturing?{devtools:{...e.devtools,events:[t,...e.devtools.events].slice(0,200)}}:{}),clearDevEvents:()=>e(e=>({devtools:{...e.devtools,events:[]}})),setCapturing:t=>e(e=>({devtools:{...e.devtools,capturing:t}})),devtoolsLayout:{dock:`bottom`,size:Z.default},setDevtoolsDock:t=>e(e=>({devtoolsLayout:{...e.devtoolsLayout,dock:t}})),setDevtoolsSize:t=>e(e=>({devtoolsLayout:{...e.devtoolsLayout,size:Math.round(Math.min(Z.max,Math.max(Z.min,t)))}}))}}var Zn=e=>rn.from(e,{historyCap:zt});function Qn(e,t,n){return{inviteOpen:!1,accessCollectionId:null,sharedOpen:!1,openShared:()=>e({sharedOpen:!0}),closeShared:()=>e({sharedOpen:!1}),openInvite:()=>e({inviteOpen:!0}),closeInvite:()=>e({inviteOpen:!1}),openAccess:t=>e({accessCollectionId:t}),closeAccess:()=>e({accessCollectionId:null}),shareCollection:(r,i)=>{e(e=>({collections:Zn(e).share(r,i).collections}));let a=t().collections.find(e=>e.id===r);n.emit(`share`,`collection.shareLink`,{id:r}),t().pushNotification({icon:`info`,text:`Share link created for "${a?.name??`collection`}"`})}}}function $n(e,t,n){return{storageDriver:z(),setStorageDriver:t=>{Mt(t),e({storageDriver:t}),n.emit(`storage`,`storage.driver`,{driver:t})}}}function er(e,t){return{tour:{active:!1,step:0},tourSeen:!1,startTour:()=>e({tour:{active:!0,step:0}}),nextTourStep:()=>e(e=>({tour:{...e.tour,step:e.tour.step+1}})),prevTourStep:()=>e(e=>({tour:{...e.tour,step:Math.max(0,e.tour.step-1)}})),skipTour:()=>e({tour:{active:!1,step:0},tourSeen:!0}),endTour:()=>e({tour:{active:!1,step:0},tourSeen:!0}),consent:Ve(),setConsent:t=>{e({consent:t}),w(t)}}}function tr(e,t){return{boot:{phase:`idle`,progress:0,label:``,done:!1},setBoot:t=>e(e=>({boot:{...e.boot,...t}}))}}function nr(e,t){return{factoryReset:()=>{e({...t().config?.host?{}:{favorites:[],history:[],collections:[]},filters:{...V},view:`grid`,catQ:``,collapsedGroups:[],...U(),searchScope:`icons`,selection:[],...H(),layer:null,detailId:null,librarySeed:[],notifications:[],consent:null,tourSeen:!1}),w(null)}}}function rr(e){return p.from(e).toListParams()}var ir={getItem:()=>null,setItem:()=>{},removeItem:()=>{}},ar=0,or=/* @__PURE__ */ new WeakMap;function sr(e){return or.get(e)}function cr({persistKey:e=N.storageKeys.persist,devBus:t,identity:n}={}){let r=t??xt.child(`store-${++ar}`),i=e!==null&&jt(e),a=c()(u((e,t)=>({...Qt(e,t,i),...$t(e,t),...en(e,t),...tn(e,t),...nn(e,t),...zn(e,t),...Un(e,t),...Kn(e,t,r,n),...Yn(e,t),...Xn(e,t,r),...Qn(e,t,r),...$n(e,t,r),...er(e,t),...tr(e,t),...nr(e,t)}),{name:e??`ichava.browser.ephemeral`,version:5,storage:e===null?ir:Ft,migrate:e=>{let t=e??{},n=t.filters;return n&&(!Array.isArray(n.categories)||!(`sortBy`in n))?delete t.filters:n&&(Array.isArray(n.subs)||(n.subs=[]),n.kind!==`icon`&&n.kind!==`illustration`&&(n.kind=`icon`),Array.isArray(n.tags)||(n.tags=[]),Array.isArray(n.keywords)||(n.keywords=[])),Array.isArray(t.favorites)&&t.favorites.some(e=>typeof e!=`number`)&&(t.favorites=[]),delete t.locale,t},merge:(e,t)=>({...t,...e,locale:Re(),consent:Ue(e?.consent)}),partialize:e=>({theme:e.theme,accent:e.accent,radius:e.radius,scale:e.scale,density:e.density,reduceMotion:e.reduceMotion,showLabels:e.showLabels,adaptMonochrome:e.adaptMonochrome,filters:e.filters,view:e.view,searchScope:e.searchScope,size:e.size,sizeUnit:e.sizeUnit,gridStroke:e.gridStroke,color:e.color,treatment:e.treatment,copyFormat:e.copyFormat,favorites:e.favorites,history:e.history,collections:e.collections,auth:e.auth,authInitialized:e.authInitialized,activeWorkspaceId:e.activeWorkspaceId,notifications:e.notifications,storageDriver:e.storageDriver,tourSeen:e.tourSeen,consent:e.consent,devtoolsLayout:e.devtoolsLayout}),onRehydrateStorage:()=>e=>{if(!e)return;let t=Object.keys(e).length;r.emit(`storage`,`state.restore`,{driver:z(),keys:t})}}));return or.set(a,r),a}var lr=cr(),ur=e(null),dr=ur.Provider;function fr(){return i(ur)??lr}function pr(e){return fr()(e)}var mr={outline:{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},filled:{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`currentColor`,stroke:`none`}},Q=(e,r,i,a)=>{let o=n(({color:n=`currentColor`,size:i=24,stroke:o=2,title:s,className:c,children:l,...u},d)=>t(`svg`,{ref:d,...mr[e],width:i,height:i,className:[`tabler-icon`,`tabler-icon-${r}`,c].filter(Boolean).join(` `),...e===`filled`?{fill:n}:{strokeWidth:o,stroke:n},...u},[s&&t(`title`,{key:`svg-title`},s),...a.map(([e,n])=>t(e,n)),...Array.isArray(l)?l:[l]]));return o.displayName=`${i}`,o},hr=Q(`outline`,`arrow-down`,`ArrowDown`,[[`path`,{d:`M12 5l0 14`,key:`svg-0`}],[`path`,{d:`M18 13l-6 6`,key:`svg-1`}],[`path`,{d:`M6 13l6 6`,key:`svg-2`}]]),gr=Q(`outline`,`arrow-left`,`ArrowLeft`,[[`path`,{d:`M5 12l14 0`,key:`svg-0`}],[`path`,{d:`M5 12l6 6`,key:`svg-1`}],[`path`,{d:`M5 12l6 -6`,key:`svg-2`}]]),_r=Q(`outline`,`arrow-right`,`ArrowRight`,[[`path`,{d:`M5 12l14 0`,key:`svg-0`}],[`path`,{d:`M13 18l6 -6`,key:`svg-1`}],[`path`,{d:`M13 6l6 6`,key:`svg-2`}]]),vr=Q(`outline`,`arrow-up`,`ArrowUp`,[[`path`,{d:`M12 5l0 14`,key:`svg-0`}],[`path`,{d:`M18 11l-6 -6`,key:`svg-1`}],[`path`,{d:`M6 11l6 -6`,key:`svg-2`}]]),yr=Q(`outline`,`check`,`Check`,[[`path`,{d:`M5 12l5 5l10 -10`,key:`svg-0`}]]),br=Q(`outline`,`chevron-down`,`ChevronDown`,[[`path`,{d:`M6 9l6 6l6 -6`,key:`svg-0`}]]),xr=Q(`outline`,`chevron-right`,`ChevronRight`,[[`path`,{d:`M9 6l6 6l-6 6`,key:`svg-0`}]]),Sr=Q(`outline`,`corner-down-left`,`CornerDownLeft`,[[`path`,{d:`M18 6v6a3 3 0 0 1 -3 3h-10l4 -4m0 8l-4 -4`,key:`svg-0`}]]),Cr=Q(`outline`,`dots-vertical`,`DotsVertical`,[[`path`,{d:`M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-0`}],[`path`,{d:`M11 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-1`}],[`path`,{d:`M11 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-2`}]]),wr=Q(`outline`,`eye-off`,`EyeOff`,[[`path`,{d:`M10.585 10.587a2 2 0 0 0 2.829 2.828`,key:`svg-0`}],[`path`,{d:`M16.681 16.673a8.717 8.717 0 0 1 -4.681 1.327c-3.6 0 -6.6 -2 -9 -6c1.272 -2.12 2.712 -3.678 4.32 -4.674m2.86 -1.146a9.055 9.055 0 0 1 1.82 -.18c3.6 0 6.6 2 9 6c-.666 1.11 -1.379 2.067 -2.138 2.87`,key:`svg-1`}],[`path`,{d:`M3 3l18 18`,key:`svg-2`}]]),Tr=Q(`outline`,`eye`,`Eye`,[[`path`,{d:`M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0`,key:`svg-0`}],[`path`,{d:`M21 12c-2.4 4 -5.4 6 -9 6c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6`,key:`svg-1`}]]),Er=Q(`outline`,`folder`,`Folder`,[[`path`,{d:`M5 4h4l3 3h7a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-11a2 2 0 0 1 2 -2`,key:`svg-0`}]]),Dr=Q(`outline`,`grid-dots`,`GridDots`,[[`path`,{d:`M4 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-0`}],[`path`,{d:`M11 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-1`}],[`path`,{d:`M18 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-2`}],[`path`,{d:`M4 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-3`}],[`path`,{d:`M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-4`}],[`path`,{d:`M18 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-5`}],[`path`,{d:`M4 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-6`}],[`path`,{d:`M11 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-7`}],[`path`,{d:`M18 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-8`}]]),Or=Q(`outline`,`grip-horizontal`,`GripHorizontal`,[[`path`,{d:`M4 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-0`}],[`path`,{d:`M4 15a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-1`}],[`path`,{d:`M11 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-2`}],[`path`,{d:`M11 15a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-3`}],[`path`,{d:`M18 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-4`}],[`path`,{d:`M18 15a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-5`}]]),kr=Q(`outline`,`help-circle`,`HelpCircle`,[[`path`,{d:`M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0`,key:`svg-0`}],[`path`,{d:`M12 16v.01`,key:`svg-1`}],[`path`,{d:`M12 13a2 2 0 0 0 .914 -3.782a1.98 1.98 0 0 0 -2.414 .483`,key:`svg-2`}]]),Ar=Q(`outline`,`info-circle`,`InfoCircle`,[[`path`,{d:`M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0`,key:`svg-0`}],[`path`,{d:`M12 9h.01`,key:`svg-1`}],[`path`,{d:`M11 12h1v4h1`,key:`svg-2`}]]),jr=Q(`outline`,`layout-bottombar`,`LayoutBottombar`,[[`path`,{d:`M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12`,key:`svg-0`}],[`path`,{d:`M4 15l16 0`,key:`svg-1`}]]),Mr=Q(`outline`,`layout-navbar`,`LayoutNavbar`,[[`path`,{d:`M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12`,key:`svg-0`}],[`path`,{d:`M4 9l16 0`,key:`svg-1`}]]),Nr=Q(`outline`,`layout-sidebar-right`,`LayoutSidebarRight`,[[`path`,{d:`M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12`,key:`svg-0`}],[`path`,{d:`M15 4l0 16`,key:`svg-1`}]]),Pr=Q(`outline`,`layout-sidebar`,`LayoutSidebar`,[[`path`,{d:`M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12`,key:`svg-0`}],[`path`,{d:`M9 4l0 16`,key:`svg-1`}]]),Fr=Q(`outline`,`package`,`Package`,[[`path`,{d:`M12 3l8 4.5l0 9l-8 4.5l-8 -4.5l0 -9l8 -4.5`,key:`svg-0`}],[`path`,{d:`M12 12l8 -4.5`,key:`svg-1`}],[`path`,{d:`M12 12l0 9`,key:`svg-2`}],[`path`,{d:`M12 12l-8 -4.5`,key:`svg-3`}],[`path`,{d:`M16 5.25l-8 4.5`,key:`svg-4`}]]),Ir=Q(`outline`,`rosette-discount-check`,`RosetteDiscountCheck`,[[`path`,{d:`M5 7.2a2.2 2.2 0 0 1 2.2 -2.2h1a2.2 2.2 0 0 0 1.55 -.64l.7 -.7a2.2 2.2 0 0 1 3.12 0l.7 .7c.412 .41 .97 .64 1.55 .64h1a2.2 2.2 0 0 1 2.2 2.2v1c0 .58 .23 1.138 .64 1.55l.7 .7a2.2 2.2 0 0 1 0 3.12l-.7 .7a2.2 2.2 0 0 0 -.64 1.55v1a2.2 2.2 0 0 1 -2.2 2.2h-1a2.2 2.2 0 0 0 -1.55 .64l-.7 .7a2.2 2.2 0 0 1 -3.12 0l-.7 -.7a2.2 2.2 0 0 0 -1.55 -.64h-1a2.2 2.2 0 0 1 -2.2 -2.2v-1a2.2 2.2 0 0 0 -.64 -1.55l-.7 -.7a2.2 2.2 0 0 1 0 -3.12l.7 -.7a2.2 2.2 0 0 0 .64 -1.55v-1`,key:`svg-0`}],[`path`,{d:`M9 12l2 2l4 -4`,key:`svg-1`}]]),Lr=Q(`outline`,`search`,`Search`,[[`path`,{d:`M3 10a7 7 0 1 0 14 0a7 7 0 1 0 -14 0`,key:`svg-0`}],[`path`,{d:`M21 21l-6 -6`,key:`svg-1`}]]),Rr=Q(`outline`,`settings`,`Settings`,[[`path`,{d:`M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065`,key:`svg-0`}],[`path`,{d:`M9 12a3 3 0 1 0 6 0a3 3 0 0 0 -6 0`,key:`svg-1`}]]),zr=Q(`outline`,`sparkles`,`Sparkles`,[[`path`,{d:`M16 18a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2m0 -12a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2m-7 12a6 6 0 0 1 6 -6a6 6 0 0 1 -6 -6a6 6 0 0 1 -6 6a6 6 0 0 1 6 6`,key:`svg-0`}]]),Br=Q(`outline`,`user`,`User`,[[`path`,{d:`M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0`,key:`svg-0`}],[`path`,{d:`M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2`,key:`svg-1`}]]),Vr=Q(`outline`,`x`,`X`,[[`path`,{d:`M18 6l-12 12`,key:`svg-0`}],[`path`,{d:`M6 6l12 12`,key:`svg-1`}]]);function Hr(){let e=pr(e=>e.locale),t=pr(e=>e.translationOverrides),n=s(it,j,j);a(()=>{A(e)},[e]);let i=o(()=>st(e,t),[e,t,n]);return r((e,t)=>i.t(e,t),[i])}function Ur(e){return s(it,j,j),a(()=>{A(e)},[e]),nt(e)}function $(e,t){let n=t=>/* @__PURE__ */ d(e,{stroke:1.75,"aria-hidden":`true`,...t});return n.displayName=t,n}var Wr=$(hr,`ArrowDown`),Gr=$(gr,`ArrowLeft`),Kr=$(_r,`ArrowRight`),qr=$(vr,`ArrowUp`),Jr=$(yr,`Check`),Yr=$(Ir,`CheckVerified02`),Xr=$(br,`ChevronDown`),Zr=$(xr,`ChevronRight`),Qr=$(Sr,`CornerDownLeft`),$r=$(Dr,`DotsGrid`),ei=$(Cr,`DotsVertical`),ti=$(Tr,`Eye`),ni=$(wr,`EyeOff`),ri=$(Er,`Folder`),ii=$(Or,`GripHorizontal`),ai=$(kr,`HelpCircle`),oi=$(Ar,`InfoCircle`),si=$(jr,`LayoutBottom`),ci=$(Pr,`LayoutLeft`),li=$(Nr,`LayoutRight`),ui=$(Mr,`LayoutTop`),di=$(Fr,`Package`),fi=$(Lr,`SearchLg`),pi=$(Lr,`SearchMd`),mi=$(Rr,`Settings01`),hi=$(zr,`Stars01`),gi=$(Br,`User01`),_i=$(Vr,`X`);export{Bn as $,se as $t,Hr as A,ht as At,br as B,Ke as Bt,fi as C,N as Ct,gi as D,St as Dt,hi as E,Ct as Et,Fr as F,at as Ft,dr as G,Ae as Gt,vr as H,He as Ht,Ar as I,ct as It,cr as J,fe as Jt,pr as K,Oe as Kt,Er as L,Xe as Lt,zr as M,rt as Mt,Rr as N,A as Nt,_i as O,xt as Ot,Lr as P,Qe as Pt,Z as Q,ae as Qt,Tr as R,Je as Rt,di as S,z as St,mi as T,Et as Tt,hr as U,Me as Ut,yr as V,qe as Vt,Q as W,x as Wt,rr as X,oe as Xt,sr as Y,de as Yt,lr as Z,le as Zt,oi as _,Kt as _t,Jr as a,W as at,li as b,P as bt,Zr as c,G as ct,ei as d,Cn as dt,ie as en,In as et,ti as f,Sn as ft,ai as g,cn as gt,ii as h,On as ht,qr as i,Nn as it,Vr as j,D as jt,Ur as k,yt as kt,Qr as l,Dn as lt,ri as m,An as mt,Gr as n,Mn as nt,Yr as o,K as ot,ni as p,dn as pt,fr as q,ke as qt,Kr as r,Pn as rt,Xr as s,En as st,Wr as t,q as tt,$r as u,wn as ut,si as v,Vt as vt,pi as w,Tt as wt,ui as x,Nt as xt,ci as y,V as yt,xr as z,Ge as zt}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/cx-B63ov-ZV.js b/resources/vendor/react-icon-browser/cx-B63ov-ZV.js deleted file mode 100644 index 57af198..0000000 --- a/resources/vendor/react-icon-browser/cx-B63ov-ZV.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -var e=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t({classGroupId:e,validator:t}),n=(e=/* @__PURE__ */ new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),r=`-`,i=[],a=`arbitrary..`,o=t=>{let n=l(t),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=t;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return c(e);let t=e.split(r);return s(t,+(t[0]===``&&t.length>1),n)},getConflictingClassGroupIds:(t,n)=>{if(n){let n=o[t],r=a[t];return n?r?e(r,n):n:r||i}return a[t]||i}}},s=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let i=e[t],a=n.nextPart.get(i);if(a){let n=s(e,t+1,a);if(n)return n}let o=n.validators;if(o===null)return;let c=t===0?e.join(r):e.slice(t).join(r),l=o.length;for(let e=0;ee.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?a+r:void 0})(),l=e=>{let{theme:t,classGroups:n}=e;return u(n,t)},u=(e,t)=>{let r=n();for(let n in e){let i=e[n];d(i,r,n,t)}return r},d=(e,t,n,r)=>{let i=e.length;for(let a=0;a{typeof e==`string`?f(e,t,n):typeof e==`function`?p(e,t,n,r):m(e,t,n,r)},f=(e,t,n)=>{let r=e===``?t:h(t,e);r.classGroupId=n},p=(e,n,r,i)=>{g(e)?d(e(i),n,r,i):(n.validators===null&&(n.validators=[]),n.validators.push(t(r,e)))},m=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e{let i=e,a=t.split(r),o=a.length;for(let e=0;e`isThemeGetter`in e&&e.isThemeGetter===!0,te=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},_=`!`,v=`:`,y=[],b=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),x=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;si?a-i:void 0;return b(t,l,c,u)};if(t){let e=t+v,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):b(y,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},S=e=>{let t=/* @__PURE__ */ new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},C=e=>({cache:te(e.cacheSize),parseClassName:x(e),sortModifiers:S(e),postfixLookupClassGroupIds:ne(e),...o(e)}),ne=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(re),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:ee,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let m=!!p,h;if(m){h=r(f.substring(0,p));let e=h&&o[h]?r(f):void 0;e&&e!==h&&(h=e,m=!1)}else h=r(f);if(!h){if(!m||(h=r(f),!h)){l=t+(l.length>0?` `+l:l);continue}m=!1}let g=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),te=ee?g+_:g,v=te+h;if(s.indexOf(v)>-1)continue;s.push(v);let y=i(h,m);for(let e=0;e0?` `+l:l)}return l},ie=(...e)=>{let t=0,n,r,i=``;for(;t{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r{let n,r,i,a,o=o=>(n=C(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=w(e,n);return i(e,a),a};return a=o,(...e)=>a(ie(...e))},D=[],O=e=>{let t=t=>t[e]||D;return t.isThemeGetter=!0,t.themeKey=e,t},k=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,A=/^\((?:(\w[\w-]*):)?(.+)\)$/i,j=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,M=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ae=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,oe=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix|color|light-dark)\(.+\)$/,se=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,N=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,P=e=>j.test(e),F=e=>!!e&&!Number.isNaN(Number(e)),I=e=>!!e&&Number.isInteger(Number(e)),ce=e=>e.endsWith(`%`)&&F(e.slice(0,-1)),L=e=>M.test(e),le=()=>!0,R=e=>ae.test(e)&&!oe.test(e),z=()=>!1,B=e=>se.test(e),ue=e=>N.test(e),de=e=>!V(e)&&!W(e),fe=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),pe=e=>q(e,Z,z),V=e=>k.test(e),H=e=>q(e,Q,R),me=e=>q(e,we,F),he=e=>q(e,Ee,le),ge=e=>q(e,Te,z),_e=e=>q(e,Y,z),ve=e=>q(e,X,ue),U=e=>q(e,De,B),W=e=>A.test(e),G=e=>J(e,Q),ye=e=>J(e,Te),be=e=>J(e,Y),xe=e=>J(e,Z),Se=e=>J(e,X),K=e=>J(e,De,!0),Ce=e=>J(e,Ee,!0),q=(e,t,n)=>{let r=k.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},J=(e,t,n=!1)=>{let r=A.exec(e);return r?r[1]?t(r[1]):n:!1},Y=e=>e===`position`||e===`percentage`,X=e=>e===`image`||e===`url`,Z=e=>e===`length`||e===`size`||e===`bg-size`,Q=e=>e===`length`,we=e=>e===`number`,Te=e=>e===`family-name`,Ee=e=>e===`number`||e===`weight`,De=e=>e===`shadow`,Oe=()=>{let e=O(`color`),t=O(`font`),n=O(`text`),r=O(`font-weight`),i=O(`tracking`),a=O(`leading`),o=O(`breakpoint`),s=O(`container`),c=O(`spacing`),l=O(`radius`),u=O(`shadow`),d=O(`inset-shadow`),ee=O(`text-shadow`),f=O(`drop-shadow`),p=O(`blur`),m=O(`perspective`),h=O(`aspect`),g=O(`ease`),te=O(`animate`),_=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],v=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],y=()=>[...v(),W,V],b=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],x=()=>[`auto`,`contain`,`none`],S=()=>[W,V,c],C=()=>[P,`full`,`auto`,...S()],ne=()=>[I,`none`,`subgrid`,W,V],re=()=>[`auto`,{span:[`full`,I,W,V]},I,W,V],w=()=>[I,`auto`,W,V],ie=()=>[`auto`,`min`,`max`,`fr`,W,V],T=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],E=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],D=()=>[`auto`,...S()],k=()=>[P,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...S()],A=()=>[s,P,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...S()],j=()=>[P,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...S()],M=()=>[e,W,V],ae=()=>[...v(),be,_e,{position:[W,V]}],oe=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],se=()=>[`auto`,`cover`,`contain`,xe,pe,{size:[W,V]}],N=()=>[ce,G,H],R=()=>[``,`none`,`full`,l,W,V],z=()=>[``,F,G,H],B=()=>[`solid`,`dashed`,`dotted`,`double`],ue=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],q=()=>[F,ce,be,_e],J=()=>[``,`none`,p,W,V],Y=()=>[`none`,F,W,V],X=()=>[`none`,F,W,V],Z=()=>[F,W,V],Q=()=>[P,`full`,...S()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[L],breakpoint:[L],color:[le],container:[L],"drop-shadow":[L],ease:[`in`,`out`,`in-out`],font:[de],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[L],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[L],shadow:[L],spacing:[`px`,F],text:[L],"text-shadow":[L],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,P,V,W,h]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,W,V]}],"container-named":[fe],columns:[{columns:[F,`auto`,V,W,s]}],"break-after":[{"break-after":_()}],"break-before":[{"break-before":_()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:y()}],overflow:[{overflow:b()}],"overflow-x":[{"overflow-x":b()}],"overflow-y":[{"overflow-y":b()}],overscroll:[{overscroll:x()}],"overscroll-x":[{"overscroll-x":x()}],"overscroll-y":[{"overscroll-y":x()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:C()}],"inset-x":[{"inset-x":C()}],"inset-y":[{"inset-y":C()}],start:[{"inset-s":C(),start:C()}],end:[{"inset-e":C(),end:C()}],"inset-bs":[{"inset-bs":C()}],"inset-be":[{"inset-be":C()}],top:[{top:C()}],right:[{right:C()}],bottom:[{bottom:C()}],left:[{left:C()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[I,`auto`,W,V]}],basis:[{basis:[P,`full`,`auto`,s,...S()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[F,P,`auto`,`initial`,`none`,V]}],grow:[{grow:[``,F,W,V]}],shrink:[{shrink:[``,F,W,V]}],order:[{order:[I,`first`,`last`,`none`,W,V]}],"grid-cols":[{"grid-cols":ne()}],"col-start-end":[{col:re()}],"col-start":[{"col-start":w()}],"col-end":[{"col-end":w()}],"grid-rows":[{"grid-rows":ne()}],"row-start-end":[{row:re()}],"row-start":[{"row-start":w()}],"row-end":[{"row-end":w()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":ie()}],"auto-rows":[{"auto-rows":ie()}],gap:[{gap:S()}],"gap-x":[{"gap-x":S()}],"gap-y":[{"gap-y":S()}],"justify-content":[{justify:[...T(),`normal`]}],"justify-items":[{"justify-items":[...E(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...E()]}],"align-content":[{content:[`normal`,...T()]}],"align-items":[{items:[...E(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...E(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":T()}],"place-items":[{"place-items":[...E(),`baseline`]}],"place-self":[{"place-self":[`auto`,...E()]}],p:[{p:S()}],px:[{px:S()}],py:[{py:S()}],ps:[{ps:S()}],pe:[{pe:S()}],pbs:[{pbs:S()}],pbe:[{pbe:S()}],pt:[{pt:S()}],pr:[{pr:S()}],pb:[{pb:S()}],pl:[{pl:S()}],m:[{m:D()}],mx:[{mx:D()}],my:[{my:D()}],ms:[{ms:D()}],me:[{me:D()}],mbs:[{mbs:D()}],mbe:[{mbe:D()}],mt:[{mt:D()}],mr:[{mr:D()}],mb:[{mb:D()}],ml:[{ml:D()}],"space-x":[{"space-x":S()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":S()}],"space-y-reverse":[`space-y-reverse`],size:[{size:k()}],"inline-size":[{inline:[`auto`,...A()]}],"min-inline-size":[{"min-inline":[`auto`,...A()]}],"max-inline-size":[{"max-inline":[`none`,...A()]}],"block-size":[{block:[`auto`,...j()]}],"min-block-size":[{"min-block":[`auto`,...j()]}],"max-block-size":[{"max-block":[`none`,...j()]}],w:[{w:[s,`screen`,...k()]}],"min-w":[{"min-w":[s,`screen`,`none`,...k()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...k()]}],h:[{h:[`screen`,`lh`,...k()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...k()]}],"max-h":[{"max-h":[`screen`,`lh`,`none`,...k()]}],"font-size":[{text:[`base`,n,G,H]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,Ce,he]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,ce,V]}],"font-family":[{font:[ye,ge,t]}],"font-features":[{"font-features":[V]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,W,V]}],"line-clamp":[{"line-clamp":[F,`none`,W,me]}],leading:[{leading:[`none`,a,...S()]}],"list-image":[{"list-image":[`none`,W,V]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,W,V]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:M()}],"text-color":[{text:M()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...B(),`wavy`]}],"text-decoration-thickness":[{decoration:[F,`from-font`,`auto`,W,H]}],"text-decoration-color":[{decoration:M()}],"underline-offset":[{"underline-offset":[F,`auto`,W,V]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:S()}],"tab-size":[{tab:[I,W,V]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,W,V]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,W,V]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:ae()}],"bg-repeat":[{bg:oe()}],"bg-size":[{bg:se()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},I,W,V],radial:[``,W,V],conic:[``,I,W,V]},Se,ve]}],"bg-color":[{bg:M()}],"gradient-from-pos":[{from:N()}],"gradient-via-pos":[{via:N()}],"gradient-to-pos":[{to:N()}],"gradient-from":[{from:M()}],"gradient-via":[{via:M()}],"gradient-to":[{to:M()}],rounded:[{rounded:R()}],"rounded-s":[{"rounded-s":R()}],"rounded-e":[{"rounded-e":R()}],"rounded-t":[{"rounded-t":R()}],"rounded-r":[{"rounded-r":R()}],"rounded-b":[{"rounded-b":R()}],"rounded-l":[{"rounded-l":R()}],"rounded-ss":[{"rounded-ss":R()}],"rounded-se":[{"rounded-se":R()}],"rounded-ee":[{"rounded-ee":R()}],"rounded-es":[{"rounded-es":R()}],"rounded-tl":[{"rounded-tl":R()}],"rounded-tr":[{"rounded-tr":R()}],"rounded-br":[{"rounded-br":R()}],"rounded-bl":[{"rounded-bl":R()}],"border-w":[{border:z()}],"border-w-x":[{"border-x":z()}],"border-w-y":[{"border-y":z()}],"border-w-s":[{"border-s":z()}],"border-w-e":[{"border-e":z()}],"border-w-bs":[{"border-bs":z()}],"border-w-be":[{"border-be":z()}],"border-w-t":[{"border-t":z()}],"border-w-r":[{"border-r":z()}],"border-w-b":[{"border-b":z()}],"border-w-l":[{"border-l":z()}],"divide-x":[{"divide-x":z()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":z()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...B(),`hidden`,`none`]}],"divide-style":[{divide:[...B(),`hidden`,`none`]}],"border-color":[{border:M()}],"border-color-x":[{"border-x":M()}],"border-color-y":[{"border-y":M()}],"border-color-s":[{"border-s":M()}],"border-color-e":[{"border-e":M()}],"border-color-bs":[{"border-bs":M()}],"border-color-be":[{"border-be":M()}],"border-color-t":[{"border-t":M()}],"border-color-r":[{"border-r":M()}],"border-color-b":[{"border-b":M()}],"border-color-l":[{"border-l":M()}],"divide-color":[{divide:M()}],"outline-style":[{outline:[...B(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[F,W,V]}],"outline-w":[{outline:[``,F,G,H]}],"outline-color":[{outline:M()}],shadow:[{shadow:[``,`inner`,`none`,u,K,U]}],"shadow-color":[{shadow:M()}],"inset-shadow":[{"inset-shadow":[`none`,d,K,U]}],"inset-shadow-color":[{"inset-shadow":M()}],"ring-w":[{ring:z()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:M()}],"ring-offset-w":[{"ring-offset":[F,H]}],"ring-offset-color":[{"ring-offset":M()}],"inset-ring-w":[{"inset-ring":z()}],"inset-ring-color":[{"inset-ring":M()}],"text-shadow":[{"text-shadow":[`none`,ee,K,U]}],"text-shadow-color":[{"text-shadow":M()}],opacity:[{opacity:[F,W,V]}],"mix-blend":[{"mix-blend":[...ue(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ue()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[F]}],"mask-image-linear-from-pos":[{"mask-linear-from":q()}],"mask-image-linear-to-pos":[{"mask-linear-to":q()}],"mask-image-linear-from-color":[{"mask-linear-from":M()}],"mask-image-linear-to-color":[{"mask-linear-to":M()}],"mask-image-t-from-pos":[{"mask-t-from":q()}],"mask-image-t-to-pos":[{"mask-t-to":q()}],"mask-image-t-from-color":[{"mask-t-from":M()}],"mask-image-t-to-color":[{"mask-t-to":M()}],"mask-image-r-from-pos":[{"mask-r-from":q()}],"mask-image-r-to-pos":[{"mask-r-to":q()}],"mask-image-r-from-color":[{"mask-r-from":M()}],"mask-image-r-to-color":[{"mask-r-to":M()}],"mask-image-b-from-pos":[{"mask-b-from":q()}],"mask-image-b-to-pos":[{"mask-b-to":q()}],"mask-image-b-from-color":[{"mask-b-from":M()}],"mask-image-b-to-color":[{"mask-b-to":M()}],"mask-image-l-from-pos":[{"mask-l-from":q()}],"mask-image-l-to-pos":[{"mask-l-to":q()}],"mask-image-l-from-color":[{"mask-l-from":M()}],"mask-image-l-to-color":[{"mask-l-to":M()}],"mask-image-x-from-pos":[{"mask-x-from":q()}],"mask-image-x-to-pos":[{"mask-x-to":q()}],"mask-image-x-from-color":[{"mask-x-from":M()}],"mask-image-x-to-color":[{"mask-x-to":M()}],"mask-image-y-from-pos":[{"mask-y-from":q()}],"mask-image-y-to-pos":[{"mask-y-to":q()}],"mask-image-y-from-color":[{"mask-y-from":M()}],"mask-image-y-to-color":[{"mask-y-to":M()}],"mask-image-radial":[{"mask-radial":[W,V]}],"mask-image-radial-from-pos":[{"mask-radial-from":q()}],"mask-image-radial-to-pos":[{"mask-radial-to":q()}],"mask-image-radial-from-color":[{"mask-radial-from":M()}],"mask-image-radial-to-color":[{"mask-radial-to":M()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":v()}],"mask-image-conic-pos":[{"mask-conic":[F]}],"mask-image-conic-from-pos":[{"mask-conic-from":q()}],"mask-image-conic-to-pos":[{"mask-conic-to":q()}],"mask-image-conic-from-color":[{"mask-conic-from":M()}],"mask-image-conic-to-color":[{"mask-conic-to":M()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:ae()}],"mask-repeat":[{mask:oe()}],"mask-size":[{mask:se()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,W,V]}],filter:[{filter:[``,`none`,W,V]}],blur:[{blur:J()}],brightness:[{brightness:[F,W,V]}],contrast:[{contrast:[F,W,V]}],"drop-shadow":[{"drop-shadow":[``,`none`,f,K,U]}],"drop-shadow-color":[{"drop-shadow":M()}],grayscale:[{grayscale:[``,F,W,V]}],"hue-rotate":[{"hue-rotate":[F,W,V]}],invert:[{invert:[``,F,W,V]}],saturate:[{saturate:[F,W,V]}],sepia:[{sepia:[``,F,W,V]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,W,V]}],"backdrop-blur":[{"backdrop-blur":J()}],"backdrop-brightness":[{"backdrop-brightness":[F,W,V]}],"backdrop-contrast":[{"backdrop-contrast":[F,W,V]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,F,W,V]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[F,W,V]}],"backdrop-invert":[{"backdrop-invert":[``,F,W,V]}],"backdrop-opacity":[{"backdrop-opacity":[F,W,V]}],"backdrop-saturate":[{"backdrop-saturate":[F,W,V]}],"backdrop-sepia":[{"backdrop-sepia":[``,F,W,V]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":S()}],"border-spacing-x":[{"border-spacing-x":S()}],"border-spacing-y":[{"border-spacing-y":S()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,W,V]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[F,`initial`,W,V]}],ease:[{ease:[`linear`,`initial`,g,W,V]}],delay:[{delay:[F,W,V]}],animate:[{animate:[`none`,te,W,V]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[m,W,V]}],"perspective-origin":[{"perspective-origin":y()}],rotate:[{rotate:Y()}],"rotate-x":[{"rotate-x":Y()}],"rotate-y":[{"rotate-y":Y()}],"rotate-z":[{"rotate-z":Y()}],scale:[{scale:X()}],"scale-x":[{"scale-x":X()}],"scale-y":[{"scale-y":X()}],"scale-z":[{"scale-z":X()}],"scale-3d":[`scale-3d`],skew:[{skew:Z()}],"skew-x":[{"skew-x":Z()}],"skew-y":[{"skew-y":Z()}],transform:[{transform:[W,V,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:y()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:Q()}],"translate-x":[{"translate-x":Q()}],"translate-y":[{"translate-y":Q()}],"translate-z":[{"translate-z":Q()}],"translate-none":[`translate-none`],zoom:[{zoom:[I,W,V]}],accent:[{accent:M()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:M()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,W,V]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":M()}],"scrollbar-track-color":[{"scrollbar-track":M()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":S()}],"scroll-mx":[{"scroll-mx":S()}],"scroll-my":[{"scroll-my":S()}],"scroll-ms":[{"scroll-ms":S()}],"scroll-me":[{"scroll-me":S()}],"scroll-mbs":[{"scroll-mbs":S()}],"scroll-mbe":[{"scroll-mbe":S()}],"scroll-mt":[{"scroll-mt":S()}],"scroll-mr":[{"scroll-mr":S()}],"scroll-mb":[{"scroll-mb":S()}],"scroll-ml":[{"scroll-ml":S()}],"scroll-p":[{"scroll-p":S()}],"scroll-px":[{"scroll-px":S()}],"scroll-py":[{"scroll-py":S()}],"scroll-ps":[{"scroll-ps":S()}],"scroll-pe":[{"scroll-pe":S()}],"scroll-pbs":[{"scroll-pbs":S()}],"scroll-pbe":[{"scroll-pbe":S()}],"scroll-pt":[{"scroll-pt":S()}],"scroll-pr":[{"scroll-pr":S()}],"scroll-pb":[{"scroll-pb":S()}],"scroll-pl":[{"scroll-pl":S()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,W,V]}],fill:[{fill:[`none`,...M()]}],"stroke-w":[{stroke:[F,G,H,me]}],stroke:[{stroke:[`none`,...M()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`start`,`end`,`right`,`left`],"inset-y":[`inset-bs`,`inset-be`,`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`ps`,`pe`,`pr`,`pl`],py:[`pbs`,`pbe`,`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`ms`,`me`,`mr`,`ml`],my:[`mbs`,`mbe`,`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-s`,`border-w-e`,`border-w-r`,`border-w-l`],"border-w-y":[`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-s`,`border-color-e`,`border-color-r`,`border-color-l`],"border-color-y":[`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-ms`,`scroll-me`,`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-ps`,`scroll-pe`,`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}},ke=(e,{cacheSize:t,prefix:n,experimentalParseClassName:r,extend:i={},override:a={}})=>($(e,`cacheSize`,t),$(e,`prefix`,n),$(e,`experimentalParseClassName`,r),Ae(e.theme,a.theme),Ae(e.classGroups,a.classGroups),Ae(e.conflictingClassGroups,a.conflictingClassGroups),Ae(e.conflictingClassGroupModifiers,a.conflictingClassGroupModifiers),$(e,`postfixLookupClassGroups`,a.postfixLookupClassGroups),$(e,`orderSensitiveModifiers`,a.orderSensitiveModifiers),je(e.theme,i.theme),je(e.classGroups,i.classGroups),je(e.conflictingClassGroups,i.conflictingClassGroups),je(e.conflictingClassGroupModifiers,i.conflictingClassGroupModifiers),Me(e,i,`postfixLookupClassGroups`),Me(e,i,`orderSensitiveModifiers`),e),$=(e,t,n)=>{n!==void 0&&(e[t]=n)},Ae=(e,t)=>{if(t)for(let n in t)$(e,n,t[n])},je=(e,t)=>{if(t)for(let n in t)Me(e,t,n)},Me=(e,t,n)=>{let r=t[n];r!==void 0&&(e[n]=e[n]?e[n].concat(r):r)},Ne=((e,...t)=>typeof e==`function`?E(Oe,e,...t):E(()=>ke(Oe(),e),...t))({extend:{theme:{text:[`display-xs`,`display-sm`,`display-md`,`display-lg`,`display-xl`,`display-2xl`]}}});function Pe(e){return e}export{Pe as n,Ne as t}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/de-C11_iEFd.js b/resources/vendor/react-icon-browser/de-C11_iEFd.js deleted file mode 100644 index 95f363b..0000000 --- a/resources/vendor/react-icon-browser/de-C11_iEFd.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -var e={"format.qwik":`Qwik`,"format.ember":`Ember`,"format.elm":`Elm`,"format.css-mask":`CSS-Maske`,"format.data-uri":`Data-URI`,"format.flutter":`Flutter`,"format.swiftui":`SwiftUI`,"export.css-mask":`CSS-Maske`,"export.css-maskDesc":`Eine Klasse pro Symbol, in currentColor`,"export.data-uri":`Data-URI`,"export.data-uriDesc":`CSS-Custom-Properties, Farben bleiben erhalten`,"export.native":`Native Assets`,"export.flutter":`Für Flutter herunterladen`,"export.flutterDesc":`SVG-Assets und ein Dart-Index, erzeugt von js-icon-components`,"export.swiftui":`Für SwiftUI herunterladen`,"export.swiftuiDesc":`Ein .xcassets-Katalog, erzeugt von js-icon-components`,"detail.cssMask":`CSS-Maske`,"detail.copyDataUri":`Als Data-URI kopieren`,"settings.clearHistoryTitle":`Verlauf`,"settings.clearHistoryDesc":`Löscht die angesehenen, kopierten und heruntergeladenen Symbole und die letzten Aktionen der Befehlspalette.`,"settings.clearHistoryButton":`Verlauf löschen`,"settings.clearHistoryToast":`Verlauf gelöscht`,"detail.tags":`Tags`,"kind.label":`Anzeigen`,"kind.icons":`Symbole`,"kind.illustrations":`Illustrationen`,"toolbar.illustrationOne":`Illustration`,"toolbar.illustrationMany":`Illustrationen`,"toolbar.filterByTag":`Symbole mit dem Tag „{tag}“ zeigen`,"toolbar.filterByKeyword":`Symbole mit dem Stichwort „{keyword}“ zeigen`,"empty.noIllustrations":`Keine Illustrationen entsprechen diesen Filtern`,"empty.noIconsTitle":`Noch nichts zu durchsuchen`,"empty.noIconsDesc":`Hier ist noch kein Symbolsatz installiert und eingelesen. Sobald einer da ist, erscheinen seine Symbole in diesem Raster.`,"settings.syncAccount":`Favoriten & Sammlungen werden mit deinem Konto gespeichert`,"settings.syncSession":`Favoriten & Sammlungen werden für diese Sitzung gespeichert`,"settings.guestSignIn":`Melde dich an, um sie mit deinem Konto zu speichern.`,"settings.factoryDescHost":`Setzt die Einstellungen und Filter dieses Browsers zurück. Deine Favoriten und Sammlungen bleiben erhalten.`,"settings.factoryConfirmBodyHost":`Einstellungen, Filter, Darstellung, Einwilligung und die Tour werden in diesem Browser auf die Standardwerte zurückgesetzt. Deine Favoriten, Sammlungen und dein Verlauf bleiben, wo sie gespeichert sind.`,"settings.deleteLibraryTitle":`Meine Bibliothek löschen`,"settings.deleteLibraryDesc":`Entfernt alle Favoriten und Sammlungen, die hier für dich gespeichert sind.`,"settings.deleteLibraryButton":`Löschen…`,"settings.deleteLibraryConfirmTitle":`Deine Bibliothek löschen?`,"settings.deleteLibraryConfirmBody":`Alle Favoriten und Sammlungen werden entfernt, hier und auf dem Server. Dein Verlauf und deine Einstellungen bleiben. Dies kann nicht rückgängig gemacht werden.`,"settings.deleteLibraryConfirmLabel":`Meine Bibliothek löschen`,"settings.deleteLibraryToast":`Bibliothek gelöscht`,"detail.snippetFormat":`Snippet-Format`,"console.code":`Code`,"palette.results":`Ergebnisse`,"appearance.adaptMono":`Schwarze Symbole im Dunkelmodus anpassen`,"app.documentTitle":`Ichava Browser — jedes Symbol, das Ihre Laravel-App braucht`,"sort.name":`Name`,"sort.package":`Paket`,"sort.category":`Kategorie`,"treatment.default":`Strich`,"treatment.defaultDesc":`Originale Striche des Pakets`,"treatment.solid":`Gefüllt`,"treatment.solidDesc":`Kräftiger, gefüllt`,"treatment.duotone":`Zweifarbig`,"treatment.duotoneDesc":`Akzent-Schattenebene`,"treatment.midtone":`Mittelton`,"treatment.midtoneDesc":`Auf 50 % abgeschwächte Farbe`,"treatment.halftone":`Raster`,"treatment.halftoneDesc":`Retro-Punktraster`,"unit.pxValue":`{n} px`,"common.cancel":`Abbrechen`,"common.create":`Erstellen`,"common.clear":`Löschen`,"common.all":`Alle`,"common.none":`Keine`,"common.copy":`Kopieren`,"common.download":`Herunterladen`,"common.favorite":`Favorit`,"common.favorited":`Favorisiert`,"common.close":`Schließen`,"common.signIn":`Anmelden`,"common.signOut":`Abmelden`,"common.search":`Symbole, Aktionen suchen…`,"header.favorites":`Favoriten`,"header.history":`Verlauf`,"header.collections":`Sammlungen`,"header.notifications":`Benachrichtigungen`,"header.toggleTheme":`Design wechseln`,"header.settings":`Einstellungen`,"header.fullscreen":`Vollbild`,"header.exitFullscreen":`Vollbild beenden`,"header.commandPalette":`Befehlspalette`,"header.gridView":`Rasteransicht`,"header.listView":`Listenansicht`,"sidebar.packages":`Pakete`,"sidebar.categories":`Kategorien`,"sidebar.filterCategories":`Kategorien filtern…`,"sidebar.filterIcons":`Symbole filtern…`,"sidebar.expandAll":`Alle ausklappen`,"sidebar.collapseAll":`Alle einklappen`,"variant.all":`Alle`,"variant.outline":`Umriss`,"variant.filled":`Gefüllt`,"variant.color":`Farbe`,"toolbar.sort":`Sortieren`,"toolbar.size":`Größe`,"toolbar.stroke":`Strich`,"toolbar.color":`Farbe`,"toolbar.treatment":`Symbolstil`,"toolbar.export":`Exportieren`,"toolbar.copyNames":`Namen kopieren`,"toolbar.newCollection":`Neue Sammlung`,"toolbar.selected":`{n} ausgewählt`,"appearance.title":`Darstellung`,"appearance.subtitle":`Design · Marke · Zoom`,"appearance.theme":`Design`,"appearance.light":`Hell`,"appearance.dark":`Dunkel`,"appearance.brandAccent":`Markenfarbe`,"appearance.customHex":`Eigener Hex`,"appearance.radius":`Radius`,"appearance.size":`UI-Zoom`,"appearance.density":`UI-Dichte`,"appearance.compact":`Kompakt`,"appearance.comfy":`Komfortabel`,"appearance.reduceMotion":`Bewegung reduzieren`,"appearance.iconLabels":`Symbolbeschriftungen`,"appearance.language":`Sprache`,"appearance.footer":`Gilt nur für die Anwendung. Wird in Ihrem gewählten Speicher gespeichert.`,"account.workspace":`Arbeitsbereich`,"account.account":`Konto`,"account.profile":`Profil & Einstellungen`,"account.sharedCollections":`Geteilte Sammlungen`,"profile.signOutTitle":`Abmelden?`,"profile.signOutBody":`Lokale Favoriten und Filter bleiben erhalten, aber geteilte Sammlungen und Team-Funktionen erfordern eine erneute Anmeldung.`,"profile.signedOut":`Abgemeldet`,"profile.switched":`Zu {name} gewechselt`,"profile.title":`Profil`,"profile.account":`Konto`,"profile.appSettings":`App-Einstellungen & Konfiguration`,"shared.title":`Geteilte Sammlungen`,"shared.count":`{n} geteilt`,"shared.empty":`Noch keine Sammlungen geteilt.`,"shared.manageAccess":`Zugriff verwalten`,"empty.noResults":`Keine Symbole entsprechen deinen Filtern.`,"empty.noFavorites":`Noch keine Favoriten.`,"empty.onboardTitle":`Sätze zum Durchsuchen wählen`,"empty.onboardDesc":`Symbole erscheinen, sobald mindestens ein installierter Satz ausgewählt ist.`,"empty.selectAllPackages":`Alle Sätze auswählen`,"empty.noMatchSearch":`Keine Symbole für „{q}“`,"empty.noMatchFilters":`Keine Symbole entsprechen diesen Filtern`,"empty.tryDifferent":`Versuche einen anderen Begriff, eine andere Variante, oder lösche die aktiven Filter.`,"empty.clearFilters":`Filter löschen`,"toolbar.iconOne":`Symbol`,"toolbar.iconMany":`Symbole`,"toolbar.removeFilter":`Filter entfernen`,"toolbar.namesCopied":`{n} Namen kopiert`,"toolbar.exportedToast":`{n} Symbole exportiert — {label}`,"toolbar.treatmentEngine":`Stil-Engine`,"toolbar.toggleSortOrder":`Sortierreihenfolge umkehren`,"toolbar.gridIconSize":`Symbolgröße im Raster`,"toolbar.sizeUnit":`Größeneinheit`,"toolbar.strokeTitle":`Strichstärke — überschreibt den Strich in Raster, Detail & Export`,"toolbar.previewColor":`Vorschaufarbe`,"toolbar.resetFilters":`Filter zurücksetzen`,"toolbar.resetTitle":`Alle Filter zurücksetzen?`,"toolbar.resetBody":`Suche, Kategorien, Varianten, Sortierung, Seite, Auswahl und Vorschaufarbe kehren zu den Standardwerten zurück. Favoriten, Sammlungen und Darstellung bleiben unberührt.`,"toolbar.resetConfirm":`Filter zurücksetzen`,"toolbar.resetToast":`Filter zurückgesetzt`,"footer.noResults":`Keine Ergebnisse`,"footer.range":`{start}–{end} von {total}`,"footer.perPageLabel":`Ergebnisse pro Seite`,"footer.perPage":`{n} / Seite`,"footer.prevPage":`Vorherige Seite`,"footer.nextPage":`Nächste Seite`,"list.copiedToast":`{name} kopiert`,"sidebar.scopeIcons":`Symbole`,"sidebar.scopePackages":`Sätze`,"sidebar.scopeCategories":`Kategorien`,"sidebar.scopeAll":`Alle`,"sidebar.notInstalled":`nicht installiert`,"sidebar.inView":`Sichtbar`,"sidebar.selected":`Ausgewählt`,"sidebar.loadedIcons":`In diesem Katalog`,"sidebar.ecosystemTotal":`Ökosystem gesamt`,"sidebar.favorites":`Favoriten`,"sidebar.filterPackages":`Sätze filtern…`,"sidebar.searchEverything":`Alles durchsuchen…`,"sidebar.searchScope":`Suchbereich`,"header.filtersPackages":`Filter & Sätze`,"header.toggleSidebar":`Seitenleiste umschalten`,"header.devtools":`Ichava DevTools`,"palette.placeholder":`Befehl eingeben oder Symbole suchen…`,"palette.recent":`Zuletzt`,"palette.actions":`Aktionen`,"palette.icons":`Symbole`,"palette.openHint":`öffnen`,"palette.noMatches":`Keine Treffer für „{q}“`,"palette.navigate":`navigieren`,"palette.select":`auswählen`,"palette.close":`schließen`,"palette.toggleTheme":`Design wechseln`,"palette.openSettings":`Einstellungen öffnen`,"palette.openFavorites":`Favoriten öffnen`,"palette.openHistory":`Verlauf öffnen`,"palette.openCollections":`Sammlungen öffnen`,"palette.switchListView":`Zur Listenansicht wechseln`,"palette.switchGridView":`Zur Rasteransicht wechseln`,"palette.resetFilters":`Alle Filter zurücksetzen`,"palette.selectAll":`Alle Treffer auswählen`,"selectAll.confirmTitle":`Alle {n} Symbole auswählen?`,"selectAll.confirmBody":`Keine Suche und kein Filter ist aktiv, daher werden alle Symbole im Katalog ausgewählt.`,"selectAll.confirmLabel":`Alle auswählen`,"palette.openDevtools":`Ichava DevTools öffnen`,"common.remove":`Entfernen`,"settings.appearanceHintPre":`Design, Akzent, Radius, Größe, Dichte, Bewegung und Beschriftungen findest du im Menü `,"settings.appearanceHintPost":` in der Kopfzeile.`,"settings.behavior":`Verhalten`,"settings.perPageTitle":`Symbole pro Seite`,"settings.perPageDesc":`Größe der Raster-Paginierung.`,"settings.copyFormatTitle":`Standard-Kopierformat`,"settings.copyFormatDesc":`Wird beim Klick-zum-Kopieren auf Kacheln verwendet.`,"settings.storageTitle":`Speichertreiber`,"settings.storageDesc":`Wo Einstellungen & Zustand gespeichert werden.`,"settings.storageLocal":`lokal`,"settings.storageSession":`Sitzung`,"settings.tourTitle":`Produkttour`,"settings.tourDesc":`Die Einführung erneut abspielen.`,"settings.replayTour":`Tour erneut abspielen`,"settings.factoryTitle":`Werkseinstellungen`,"settings.factoryDesc":`Setzt alle Einstellungen, Filter, Favoriten und Sammlungen auf die Standardwerte zurück.`,"settings.factoryConfirmTitle":`Alles auf Werkseinstellungen zurücksetzen?`,"settings.factoryConfirmBody":`Alle Einstellungen, Filter, Favoriten, Verlauf, Sammlungen, Markenanpassungen, Einwilligung und gespeicherte Snapshots werden auf die Standardwerte zurückgesetzt. Dies kann nicht rückgängig gemacht werden.`,"settings.factoryConfirmLabel":`Alles zurücksetzen`,"settings.factoryToast":`Alles auf Standard zurückgesetzt`,"settings.resetEverything":`Alles zurücksetzen…`,"settings.account":`Konto`,"settings.syncNote":`Favoriten & Sammlungen werden nur in diesem Browser gespeichert`,"settings.guestNote":`Du surfst als Gast. Einstellungen, Favoriten und Sammlungen werden nur in diesem Browser gespeichert.`,"settings.aboutLink":`Über Ichava →`,"consent.ariaLabel":`Cookies und Speicher`,"consent.title":`Cookies & Speicher`,"consent.body":`Ichava speichert deine Einstellungen und Favoriten im gewählten Speichertreiber sowie anonyme Nutzungsereignisse. Keine Tracker von Drittanbietern.`,"consent.essentialOnly":`Nur essenzielle`,"consent.acceptAll":`Alle akzeptieren`,"consent.move":`Hinweis verschieben`,"consent.moveHint":`Ziehen oder mit den Pfeiltasten verschieben. Pos1 setzt ihn zurück.`,"about.browser":`Browser`,"about.craftedBy":`Erstellt von`,"about.statIcons":`indizierte Symbole`,"about.statSets":`Symbolsätze`,"about.statLicense":`Lizenz`,"library.favorites":`Favoriten`,"library.history":`Verlauf`,"library.collections":`Sammlungen`,"library.emptyFavorites":`Noch keine Favoriten — fahre über ein Symbol und tippe auf das Herz.`,"library.emptyHistory":`Noch keine Aktivität — Ansichten, Kopien und Downloads erscheinen hier.`,"library.emptyCollections":`Noch keine Sammlungen — erstelle oben eine.`,"library.clearHistory":`Verlauf löschen`,"library.newCollectionPlaceholder":`Name der Sammlung…`,"library.seededWith":`Beginnt mit {n} Symbolen`,"library.iconCount":`{n} Symbole`,"library.teamBadge":`Team`,"library.viewerBadge":`Betrachter`,"library.copyNamesTitle":`Symbolnamen kopieren`,"library.deleteCollection":`Sammlung löschen`,"tile.openDetail":`Details öffnen`,"tile.copyFormat":`{format} kopieren`,"tile.copyName":`Namen kopieren`,"tile.copiedName":`Name kopiert`,"tile.copyPermalink":`Permalink kopieren`,"tile.permalinkCopied":`Permalink kopiert`,"tile.select":`Auswählen`,"tile.deselect":`Abwählen`,"tile.addFavorite":`Zu Favoriten`,"tile.removeFavorite":`Aus Favoriten entfernen`,"tile.favoritedAria":`favorisiert`,"tile.selectedAria":`ausgewählt`,"detail.previewOnly":`Nur Vorschau — das Raster bleibt unberührt`,"detail.scaledToFit":`eingepasst`,"detail.actual":`tatsächlich`,"detail.size":`Größe`,"detail.previewSize":`Vorschaugröße`,"detail.unit":`Einheit`,"detail.color":`Farbe`,"detail.stroke":`Strich`,"detail.motion":`Bewegung`,"detail.searchPresets":`{n} Presets durchsuchen…`,"detail.noPresets":`Keine Presets gefunden.`,"detail.easing":`Beschleunigung`,"detail.play":`Abspielen`,"detail.pause":`Pause`,"detail.speed":`Geschwindigkeit`,"detail.copied":`{label} kopiert`,"detail.download":`Herunterladen`,"detail.keyframesAria":`Keyframes-JSON`,"detail.keyframesValid":`{n} Keyframes — füge ein Keyframe[] oder { keyframes: […] } ein`,"detail.keyframesInvalid":`Ungültiges JSON — ein Array einfacher Keyframe-Objekte wird erwartet`,"detail.related":`Verwandte Symbole`,"detail.addToCollection":`Zur Sammlung hinzufügen`,"detail.newCollection":`+ Neu`,"detail.noSvg":`Kein SVG für dieses Symbol verfügbar`,"detail.addedTo":`Zu {name} hinzugefügt`,"detail.removedFrom":`Aus {name} entfernt`,"detail.motionDefault":`Standard`,"console.copyCode":`Code kopieren`,"console.copy":`Kopieren`,"console.copied":`Kopiert`,"help.title":`Hilfe & Info`,"help.about":`Über Ichava`,"help.docs":`Dokumentation`,"help.replayTour":`Produkttour erneut abspielen`,"help.shortcuts":`Tastenkürzel`,"notifications.clearAll":`Alle löschen`,"notifications.empty":`Alles erledigt.`,"team.title":`Team`,"team.online":`{n} online`,"team.onlineNow":`Jetzt online`,"team.away":`Abwesend`,"team.offline":`Offline`,"team.invite":`Einladen…`,"color.previewColor":`Vorschaufarbe`,"color.resetToTheme":`Auf Design zurücksetzen`,"color.opacity":`Deckkraft — 0–100 %`,"contextMenu.actions":`Aktionen`,"boot.loadingCatalog":`Katalog wird geladen`,"boot.ready":`Bereit`,"sidebar.iconVariant":`Symbolvariante`,"auth.signInTo":`Bei {brand} anmelden`,"auth.needsAccount":`benötigt ein Konto.`,"auth.emailCode":`Wir senden dir einen Einmalcode per E-Mail — ohne Passwort.`,"auth.emailPlaceholder":`du@firma.com`,"auth.sendCode":`Code senden`,"auth.newHere":`Neu hier?`,"auth.createAccount":`Konto erstellen`,"auth.enterCode":`Gib deinen Code ein`,"auth.sentTo":`Gesendet an`,"auth.demoHint":`Demo: jeder Code meldet an — probiere 000000 für den Fehlerzustand.`,"auth.digit":`Ziffer {n}`,"auth.codeFailed":`Dieser Code hat nicht funktioniert. Versuche es erneut.`,"auth.verify":`Verifizieren & anmelden`,"auth.changeEmail":`← E-Mail ändern`,"auth.resendIn":`Erneut senden in {n}s`,"auth.resendCode":`Code erneut senden`,"auth.createTitle":`Erstelle dein Konto`,"auth.createBlurb":`Registriere dich, um Sammlungen, Freigabe und Team-Funktionen freizuschalten. Wir bestätigen deine E-Mail mit einem Einmalcode.`,"auth.firstName":`Vorname`,"auth.lastName":`Nachname`,"auth.passwordPlaceholder":`Mindestens 8 Zeichen`,"auth.togglePassword":`Passwort ein- oder ausblenden`,"auth.haveAccount":`Hast du schon ein Konto?`,"invite.title":`In Arbeitsbereich einladen`,"invite.workspace":`Arbeitsbereich`,"invite.emailPlaceholder":`kollege@firma.com`,"invite.roleEditor":`Bearbeiter — kann hinzufügen & teilen`,"invite.roleViewer":`Betrachter — nur lesen`,"invite.role":`Rolle`,"invite.linkExpires":`Link läuft ab`,"invite.exp24h":`24 Std`,"invite.exp7d":`7 Tage`,"invite.exp30d":`30 Tage`,"invite.expNever":`Nie`,"invite.blurb":`Eingeladene erhalten Zugriff auf die geteilten Sammlungen dieses Arbeitsbereichs. Rollen kann der Eigentümer später ändern; Links lassen sich in den Einstellungen widerrufen.`,"invite.generateLink":`Link erzeugen`,"invite.linkCopied":`Einladungslink kopiert`,"invite.yourTeammate":`dein Teammitglied`,"invite.sentNotification":`Einladung an {to} gesendet ({role})`,"invite.sent":`Einladung gesendet`,"invite.sendInvite":`Einladung senden`,"access.addPeople":`Personen oder dein Team hinzufügen`,"access.searchTeammates":`Teammitglieder nach Name oder E-Mail suchen…`,"access.onlyYou":`Nur du hast Zugriff. Füge oben Teammitglieder hinzu oder teile mit dem ganzen Team.`,"access.saveAccess":`Zugriff speichern`,"access.shareEntireTeam":`Mit gesamtem Team teilen`,"access.shareLinkCopied":`Freigabelink kopiert`,"access.copyLinkInstead":`Stattdessen Link kopieren`,"shared.inviteTeam":`Team einladen…`,"shared.viewer":`Betrachter`,"shared.editor":`Bearbeiter`,"tour.skip":`Überspringen`,"tour.back":`Zurück`,"tour.stepOf":`Schritt {n} von {total}`,"tour.next":`Weiter`,"tour.getStarted":`Loslegen`,"tour.s1Title":`Willkommen bei Ichava Browser`,"tour.s1Body":`Jedes Symbol in deiner Laravel-App — durchsuchbar, vorschaubar, kopierbereit. Diese 30-Sekunden-Tour zeigt dir alles. Du kannst sie jederzeit über die Einstellungen erneut abspielen.`,"tour.s2Title":`Finde jedes Symbol schnell`,"tour.s2Body":`Suche nach Name oder Tag, filtere nach Satz, Kategorie und Variante in der Seitenleiste, oder drücke ⌘K für die Befehlspalette.`,"tour.s3Title":`Style live um`,"tour.s3Body":`Stile, Größe, Strich, Farbe und Bewegungs-Presets stylen jedes Symbol direkt um — das Raster aktualisiert sich beim Anpassen.`,"tour.s4Title":`Kopiere für deinen Stack`,"tour.s4Body":`Öffne ein Symbol für Blade, Livewire, Vue, React, Svelte, Web Component, rohes SVG und mehr — ein Klick zum Kopieren.`,"tour.s5Title":`Speichern & teilen`,"tour.s5Body":`Favorisiere Symbole, gruppiere sie in Sammlungen und exportiere ein Sprite, Manifest oder ZIP. Melde dich an, um geräteübergreifend zu synchronisieren.`,"task.working":`Wird bearbeitet…`,"task.export":`{n} Symbole werden exportiert…`,"task.copyNames":`{n} Symbolnamen werden gesammelt…`,"task.selectAll":`Alle passenden Symbole werden ausgewählt…`,"export.files":`SVG-Dateien`,"export.filesDesc":`Einzelne .svg-Downloads`,"export.sprite":`SVG-Sprite`,"export.spriteDesc":`Ein -Sheet`,"export.manifest":`JSON-Manifest`,"export.manifestDesc":`IDs, Pakete & Kategorien`,"export.zip":`ZIP-Bundle`,"export.zipDesc":`Sprite + Manifest + Dateien`,"copyFormat.svg":`Rohes SVG`,"copyFormat.blade":`Blade-Tag`,"copyFormat.vue":`Vue-Snippet`,"copyFormat.name":`Symbolname`,"snippetTab.motion":`Bewegung`,"snippetTab.helper":`Helper-Funktion`,"snippetTab.bladeGeneric":`Blade (generisch)`,"snippetTab.webcomponent":`Web-Komponente`,"snippetTab.name":`Name`,"format.svg":`Rohes SVG`,"format.motion":`Bewegung`,"format.helper":`ichava()-Helper`,"format.blade":`Blade-Tag`,"format.bladeGeneric":`Generisches Blade`,"format.livewire":`Livewire`,"format.alpine":`Alpine.js`,"format.vue":`Vue`,"format.react":`React`,"format.svelte":`Svelte`,"format.webcomponent":`Web-Komponente`,"format.reactNative":`React Native`,"format.angular":`Angular`,"format.solid":`Solid`,"format.preact":`Preact`,"format.astro":`Astro`,"format.api":`REST-URL`,"format.name":`Symbolname`,"about.landing":`Website`,"clipboard.copyFailed":`Kopieren fehlgeschlagen — markieren und manuell kopieren`,"clipboard.copied":`In die Zwischenablage kopiert`};export{e as default}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/es-BQadDI5z.js b/resources/vendor/react-icon-browser/es-BQadDI5z.js deleted file mode 100644 index 7797b89..0000000 --- a/resources/vendor/react-icon-browser/es-BQadDI5z.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -var e={"format.qwik":`Qwik`,"format.ember":`Ember`,"format.elm":`Elm`,"format.css-mask":`Máscara CSS`,"format.data-uri":`URI de datos`,"format.flutter":`Flutter`,"format.swiftui":`SwiftUI`,"export.css-mask":`Máscara CSS`,"export.css-maskDesc":`Una clase por icono, en currentColor`,"export.data-uri":`URI de datos`,"export.data-uriDesc":`Propiedades CSS personalizadas, con sus colores`,"export.native":`Recursos nativos`,"export.flutter":`Descargar para Flutter`,"export.flutterDesc":`Recursos SVG y un índice Dart, generados por js-icon-components`,"export.swiftui":`Descargar para SwiftUI`,"export.swiftuiDesc":`Un catálogo .xcassets, generado por js-icon-components`,"detail.cssMask":`Máscara CSS`,"detail.copyDataUri":`Copiar como URI de datos`,"settings.clearHistoryTitle":`Historial`,"settings.clearHistoryDesc":`Borra los iconos que viste, copiaste y descargaste, y las acciones recientes de la paleta de comandos.`,"settings.clearHistoryButton":`Borrar historial`,"settings.clearHistoryToast":`Historial borrado`,"detail.tags":`Etiquetas`,"kind.label":`Mostrar`,"kind.icons":`Iconos`,"kind.illustrations":`Ilustraciones`,"toolbar.illustrationOne":`ilustración`,"toolbar.illustrationMany":`ilustraciones`,"toolbar.filterByTag":`Mostrar iconos con la etiqueta «{tag}»`,"toolbar.filterByKeyword":`Mostrar iconos con la palabra clave «{keyword}»`,"empty.noIllustrations":`Ninguna ilustración coincide con estos filtros`,"empty.noIconsTitle":`Todavía no hay nada que explorar`,"empty.noIconsDesc":`No hay ningún conjunto de iconos instalado y cargado aquí. Cuando lo haya, sus iconos aparecerán en esta cuadrícula.`,"settings.syncAccount":`los favoritos y colecciones se guardan con tu cuenta`,"settings.syncSession":`los favoritos y colecciones se guardan durante esta sesión`,"settings.guestSignIn":`Inicia sesión para guardarlos con tu cuenta.`,"settings.factoryDescHost":`Restaura los ajustes y filtros de este navegador. Tus favoritos y colecciones se conservan.`,"settings.factoryConfirmBodyHost":`Las preferencias, filtros, apariencia, consentimiento y el recorrido volverán a sus valores predeterminados en este navegador. Tus favoritos, colecciones e historial se conservan donde están guardados.`,"settings.deleteLibraryTitle":`Eliminar mi biblioteca`,"settings.deleteLibraryDesc":`Quita todos los favoritos y colecciones que se guardan para ti aquí.`,"settings.deleteLibraryButton":`Eliminar…`,"settings.deleteLibraryConfirmTitle":`¿Eliminar tu biblioteca?`,"settings.deleteLibraryConfirmBody":`Se eliminan todos los favoritos y colecciones, aquí y en el servidor. Tu historial y tus ajustes se conservan. Esto no se puede deshacer.`,"settings.deleteLibraryConfirmLabel":`Eliminar mi biblioteca`,"settings.deleteLibraryToast":`Biblioteca eliminada`,"detail.snippetFormat":`Formato del fragmento`,"console.code":`Código`,"palette.results":`Resultados`,"appearance.adaptMono":`Adaptar iconos negros en modo oscuro`,"app.documentTitle":`Ichava Browser — todos los iconos que necesita tu app Laravel`,"sort.name":`Nombre`,"sort.package":`Paquete`,"sort.category":`Categoría`,"treatment.default":`Trazo`,"treatment.defaultDesc":`Trazos originales del paquete`,"treatment.solid":`Sólido`,"treatment.solidDesc":`Peso más grueso y relleno`,"treatment.duotone":`Dos tonos`,"treatment.duotoneDesc":`Capa de sombra con el acento`,"treatment.midtone":`Medio tono`,"treatment.midtoneDesc":`Tinta suavizada al 50 %`,"treatment.halftone":`Semitono`,"treatment.halftoneDesc":`Relleno retro de puntos`,"unit.pxValue":`{n} px`,"common.cancel":`Cancelar`,"common.create":`Crear`,"common.clear":`Limpiar`,"common.all":`Todos`,"common.none":`Ninguno`,"common.copy":`Copiar`,"common.download":`Descargar`,"common.favorite":`Favorito`,"common.favorited":`Favorito`,"common.close":`Cerrar`,"common.signIn":`Iniciar sesión`,"common.signOut":`Cerrar sesión`,"common.search":`Buscar iconos, acciones…`,"header.favorites":`Favoritos`,"header.history":`Historial`,"header.collections":`Colecciones`,"header.notifications":`Notificaciones`,"header.toggleTheme":`Cambiar tema`,"header.settings":`Ajustes`,"header.fullscreen":`Pantalla completa`,"header.exitFullscreen":`Salir de pantalla completa`,"header.commandPalette":`Paleta de comandos`,"header.gridView":`Vista de cuadrícula`,"header.listView":`Vista de lista`,"sidebar.packages":`Paquetes`,"sidebar.categories":`Categorías`,"sidebar.filterCategories":`Filtrar categorías…`,"sidebar.filterIcons":`Filtrar iconos…`,"sidebar.expandAll":`Expandir todo`,"sidebar.collapseAll":`Contraer todo`,"variant.all":`Todos`,"variant.outline":`Contorno`,"variant.filled":`Relleno`,"variant.color":`Color`,"toolbar.sort":`Ordenar`,"toolbar.size":`Tamaño`,"toolbar.stroke":`Trazo`,"toolbar.color":`Color`,"toolbar.treatment":`Tratamiento del icono`,"toolbar.export":`Exportar`,"toolbar.copyNames":`Copiar nombres`,"toolbar.newCollection":`Nueva colección`,"toolbar.selected":`{n} seleccionados`,"appearance.title":`Apariencia`,"appearance.subtitle":`tema · marca · zoom`,"appearance.theme":`Tema`,"appearance.light":`Claro`,"appearance.dark":`Oscuro`,"appearance.brandAccent":`Color de marca`,"appearance.customHex":`Hex personalizado`,"appearance.radius":`Radio`,"appearance.size":`Zoom de interfaz`,"appearance.density":`Densidad de interfaz`,"appearance.compact":`Compacto`,"appearance.comfy":`Cómodo`,"appearance.reduceMotion":`Reducir movimiento`,"appearance.iconLabels":`Etiquetas de iconos`,"appearance.language":`Idioma`,"appearance.footer":`Se aplica solo a la aplicación. Se guarda en tu almacenamiento seleccionado.`,"account.workspace":`Espacio de trabajo`,"account.account":`Cuenta`,"account.profile":`Perfil y preferencias`,"account.sharedCollections":`Colecciones compartidas`,"profile.signOutTitle":`¿Cerrar sesión?`,"profile.signOutBody":`Conservarás los favoritos y filtros locales, pero las colecciones compartidas y las funciones de equipo requieren iniciar sesión de nuevo.`,"profile.signedOut":`Sesión cerrada`,"profile.switched":`Cambiado a {name}`,"profile.title":`Perfil`,"profile.account":`Cuenta`,"profile.appSettings":`Ajustes y configuración de la app`,"shared.title":`Colecciones compartidas`,"shared.count":`{n} compartidas`,"shared.empty":`Aún no hay colecciones compartidas.`,"shared.manageAccess":`Gestionar acceso`,"empty.noResults":`Ningún icono coincide con tus filtros.`,"empty.noFavorites":`Aún no hay favoritos.`,"empty.onboardTitle":`Selecciona paquetes para explorar`,"empty.onboardDesc":`Los iconos aparecen cuando seleccionas al menos un paquete instalado.`,"empty.selectAllPackages":`Seleccionar todos los paquetes`,"empty.noMatchSearch":`Ningún icono coincide con «{q}»`,"empty.noMatchFilters":`Ningún icono coincide con estos filtros`,"empty.tryDifferent":`Prueba otro término, otra variante o borra los filtros activos.`,"empty.clearFilters":`Borrar filtros`,"toolbar.iconOne":`icono`,"toolbar.iconMany":`iconos`,"toolbar.removeFilter":`Quitar filtro`,"toolbar.namesCopied":`{n} nombres copiados`,"toolbar.exportedToast":`{n} iconos exportados — {label}`,"toolbar.treatmentEngine":`Motor de tratamientos`,"toolbar.toggleSortOrder":`Cambiar orden`,"toolbar.gridIconSize":`Tamaño del icono en la cuadrícula`,"toolbar.sizeUnit":`Unidad de tamaño`,"toolbar.strokeTitle":`Grosor del trazo — reescribe el trazo en cuadrícula, detalle y exportación`,"toolbar.previewColor":`Color de vista previa`,"toolbar.resetFilters":`Restablecer filtros`,"toolbar.resetTitle":`¿Restablecer todos los filtros?`,"toolbar.resetBody":`La búsqueda, categorías, variantes, orden, página, selección y color de vista previa vuelven a sus valores predeterminados. Favoritos, colecciones y apariencia no se tocan.`,"toolbar.resetConfirm":`Restablecer filtros`,"toolbar.resetToast":`Filtros restablecidos`,"footer.noResults":`Sin resultados`,"footer.range":`{start}–{end} de {total}`,"footer.perPageLabel":`Resultados por página`,"footer.perPage":`{n} / página`,"footer.prevPage":`Página anterior`,"footer.nextPage":`Página siguiente`,"list.copiedToast":`{name} copiado`,"sidebar.scopeIcons":`Iconos`,"sidebar.scopePackages":`Paquetes`,"sidebar.scopeCategories":`Categorías`,"sidebar.scopeAll":`Todo`,"sidebar.notInstalled":`no instalado`,"sidebar.inView":`En vista`,"sidebar.selected":`Seleccionados`,"sidebar.loadedIcons":`En este catálogo`,"sidebar.ecosystemTotal":`Total del ecosistema`,"sidebar.favorites":`Favoritos`,"sidebar.filterPackages":`Filtrar paquetes…`,"sidebar.searchEverything":`Buscar en todo…`,"sidebar.searchScope":`Ámbito de búsqueda`,"header.filtersPackages":`Filtros y paquetes`,"header.toggleSidebar":`Alternar barra lateral`,"header.devtools":`Ichava DevTools`,"palette.placeholder":`Escribe un comando o busca iconos…`,"palette.recent":`Recientes`,"palette.actions":`Acciones`,"palette.icons":`Iconos`,"palette.openHint":`abrir`,"palette.noMatches":`Sin coincidencias para «{q}»`,"palette.navigate":`navegar`,"palette.select":`seleccionar`,"palette.close":`cerrar`,"palette.toggleTheme":`Cambiar tema`,"palette.openSettings":`Abrir ajustes`,"palette.openFavorites":`Abrir favoritos`,"palette.openHistory":`Abrir historial`,"palette.openCollections":`Abrir colecciones`,"palette.switchListView":`Cambiar a vista de lista`,"palette.switchGridView":`Cambiar a vista de cuadrícula`,"palette.resetFilters":`Restablecer todos los filtros`,"palette.selectAll":`Seleccionar todos los coincidentes`,"selectAll.confirmTitle":`¿Seleccionar los {n} iconos?`,"selectAll.confirmBody":`No hay búsqueda ni filtros activos, así que se seleccionarán todos los iconos del catálogo.`,"selectAll.confirmLabel":`Seleccionar todo`,"palette.openDevtools":`Abrir Ichava DevTools`,"common.remove":`Quitar`,"settings.appearanceHintPre":`El tema, acento, radio, tamaño, densidad, movimiento y etiquetas están en el menú `,"settings.appearanceHintPost":` de la cabecera.`,"settings.behavior":`Comportamiento`,"settings.perPageTitle":`Iconos por página`,"settings.perPageDesc":`Tamaño de paginación de la cuadrícula.`,"settings.copyFormatTitle":`Formato de copia predeterminado`,"settings.copyFormatDesc":`Usado al hacer clic para copiar en las fichas.`,"settings.storageTitle":`Controlador de almacenamiento`,"settings.storageDesc":`Dónde se guardan las preferencias y el estado.`,"settings.storageLocal":`local`,"settings.storageSession":`sesión`,"settings.tourTitle":`Recorrido del producto`,"settings.tourDesc":`Repetir el tutorial inicial.`,"settings.replayTour":`Repetir recorrido`,"settings.factoryTitle":`Restablecimiento de fábrica`,"settings.factoryDesc":`Restaura todos los ajustes, filtros, favoritos y colecciones a sus valores predeterminados.`,"settings.factoryConfirmTitle":`¿Restablecer todo a los valores de fábrica?`,"settings.factoryConfirmBody":`Todas las preferencias, filtros, favoritos, historial, colecciones, personalización de marca, consentimiento e instantáneas guardadas volverán a sus valores predeterminados. Esto no se puede deshacer.`,"settings.factoryConfirmLabel":`Restablecer todo`,"settings.factoryToast":`Todo restablecido a los valores predeterminados`,"settings.resetEverything":`Restablecer todo…`,"settings.account":`Cuenta`,"settings.syncNote":`los favoritos y colecciones se guardan solo en este navegador`,"settings.guestNote":`Estás navegando como invitado. Las preferencias, favoritos y colecciones se guardan solo en este navegador.`,"settings.aboutLink":`Acerca de Ichava →`,"consent.ariaLabel":`Cookies y almacenamiento`,"consent.title":`Cookies y almacenamiento`,"consent.body":`Ichava guarda tus preferencias y favoritos en el controlador de almacenamiento elegido, además de eventos de uso anónimos. Sin rastreadores de terceros.`,"consent.essentialOnly":`Solo esenciales`,"consent.acceptAll":`Aceptar todo`,"consent.move":`Mover el aviso`,"consent.moveHint":`Arrástralo, o usa las flechas, para moverlo. Inicio lo devuelve a su sitio.`,"about.browser":`Browser`,"about.craftedBy":`Creado por`,"about.statIcons":`iconos indexados`,"about.statSets":`conjuntos de iconos`,"about.statLicense":`licencia`,"library.favorites":`Favoritos`,"library.history":`Historial`,"library.collections":`Colecciones`,"library.emptyFavorites":`Aún no hay favoritos — pasa el ratón sobre un icono y toca el corazón.`,"library.emptyHistory":`Aún no hay actividad — las vistas, copias y descargas aparecen aquí.`,"library.emptyCollections":`Aún no hay colecciones — crea una arriba.`,"library.clearHistory":`Borrar historial`,"library.newCollectionPlaceholder":`Nombre de la colección…`,"library.seededWith":`Empieza con {n} iconos`,"library.iconCount":`{n} iconos`,"library.teamBadge":`equipo`,"library.viewerBadge":`lector`,"library.copyNamesTitle":`Copiar nombres de iconos`,"library.deleteCollection":`Eliminar colección`,"tile.openDetail":`Abrir detalle`,"tile.copyFormat":`Copiar {format}`,"tile.copyName":`Copiar nombre`,"tile.copiedName":`Nombre copiado`,"tile.copyPermalink":`Copiar enlace permanente`,"tile.permalinkCopied":`Enlace permanente copiado`,"tile.select":`Seleccionar`,"tile.deselect":`Deseleccionar`,"tile.addFavorite":`Añadir a favoritos`,"tile.removeFavorite":`Quitar de favoritos`,"tile.favoritedAria":`en favoritos`,"tile.selectedAria":`seleccionado`,"detail.previewOnly":`Solo vista previa — la cuadrícula no cambia`,"detail.scaledToFit":`ajustado`,"detail.actual":`real`,"detail.size":`Tamaño`,"detail.previewSize":`Tamaño de vista previa`,"detail.unit":`Unidad`,"detail.color":`Color`,"detail.stroke":`Trazo`,"detail.motion":`Movimiento`,"detail.searchPresets":`Buscar {n} preajustes…`,"detail.noPresets":`No se encontraron preajustes.`,"detail.easing":`Suavizado`,"detail.play":`Reproducir`,"detail.pause":`Pausar`,"detail.speed":`Velocidad`,"detail.copied":`{label} copiado`,"detail.download":`Descargar`,"detail.keyframesAria":`JSON de fotogramas clave`,"detail.keyframesValid":`{n} fotogramas — pega un Keyframe[] o { keyframes: […] }`,"detail.keyframesInvalid":`JSON no válido — se espera un array de objetos de fotograma`,"detail.related":`Iconos relacionados`,"detail.addToCollection":`Añadir a colección`,"detail.newCollection":`+ Nueva`,"detail.noSvg":`No hay SVG disponible para este icono`,"detail.addedTo":`Añadido a {name}`,"detail.removedFrom":`Quitado de {name}`,"detail.motionDefault":`Predeterminado`,"console.copyCode":`Copiar código`,"console.copy":`Copiar`,"console.copied":`Copiado`,"help.title":`Ayuda y acerca de`,"help.about":`Acerca de Ichava`,"help.docs":`Documentación`,"help.replayTour":`Repetir recorrido del producto`,"help.shortcuts":`Atajos de teclado`,"notifications.clearAll":`Borrar todo`,"notifications.empty":`Estás al día.`,"team.title":`Equipo`,"team.online":`{n} en línea`,"team.onlineNow":`En línea`,"team.away":`Ausente`,"team.offline":`Desconectado`,"team.invite":`Invitar…`,"color.previewColor":`Color de vista previa`,"color.resetToTheme":`Restablecer al tema`,"color.opacity":`Opacidad — 0–100 %`,"contextMenu.actions":`Acciones`,"boot.loadingCatalog":`Cargando catálogo`,"boot.ready":`Listo`,"sidebar.iconVariant":`Variante del icono`,"auth.signInTo":`Inicia sesión en {brand}`,"auth.needsAccount":`necesita una cuenta.`,"auth.emailCode":`Te enviaremos un código de un solo uso por correo — sin contraseña.`,"auth.emailPlaceholder":`tu@empresa.com`,"auth.sendCode":`Enviar código`,"auth.newHere":`¿Nuevo por aquí?`,"auth.createAccount":`Crear cuenta`,"auth.enterCode":`Introduce tu código`,"auth.sentTo":`Enviado a`,"auth.demoHint":`Demo: cualquier código inicia sesión — prueba 000000 para ver el estado de error.`,"auth.digit":`Dígito {n}`,"auth.codeFailed":`Ese código no funcionó. Inténtalo de nuevo.`,"auth.verify":`Verificar e iniciar sesión`,"auth.changeEmail":`← Cambiar correo`,"auth.resendIn":`Reenviar en {n}s`,"auth.resendCode":`Reenviar código`,"auth.createTitle":`Crea tu cuenta`,"auth.createBlurb":`Únete para desbloquear colecciones, uso compartido y funciones de equipo. Verificaremos tu correo con un código de un solo uso.`,"auth.firstName":`Nombre`,"auth.lastName":`Apellidos`,"auth.passwordPlaceholder":`Al menos 8 caracteres`,"auth.togglePassword":`Mostrar u ocultar la contraseña`,"auth.haveAccount":`¿Ya tienes una cuenta?`,"invite.title":`Invitar al espacio de trabajo`,"invite.workspace":`espacio de trabajo`,"invite.emailPlaceholder":`companero@empresa.com`,"invite.roleEditor":`Editor — puede añadir y compartir`,"invite.roleViewer":`Lector — solo lectura`,"invite.role":`Rol`,"invite.linkExpires":`El enlace caduca`,"invite.exp24h":`24 h`,"invite.exp7d":`7 días`,"invite.exp30d":`30 días`,"invite.expNever":`Nunca`,"invite.blurb":`Los invitados obtienen acceso a las colecciones compartidas de este espacio. El propietario puede cambiar los roles más tarde; los enlaces se pueden revocar en Ajustes.`,"invite.generateLink":`Generar enlace`,"invite.linkCopied":`Enlace de invitación copiado`,"invite.yourTeammate":`tu compañero`,"invite.sentNotification":`Invitación enviada a {to} ({role})`,"invite.sent":`Invitación enviada`,"invite.sendInvite":`Enviar invitación`,"access.addPeople":`Añade personas o tu equipo`,"access.searchTeammates":`Busca compañeros por nombre o correo…`,"access.onlyYou":`Solo tú tienes acceso. Añade compañeros arriba o comparte con todo el equipo.`,"access.saveAccess":`Guardar acceso`,"access.shareEntireTeam":`Compartir con todo el equipo`,"access.shareLinkCopied":`Enlace de uso compartido copiado`,"access.copyLinkInstead":`Copiar enlace en su lugar`,"shared.inviteTeam":`Invitar al equipo…`,"shared.viewer":`lector`,"shared.editor":`editor`,"tour.skip":`Omitir`,"tour.back":`Atrás`,"tour.stepOf":`Paso {n} de {total}`,"tour.next":`Siguiente`,"tour.getStarted":`Empezar`,"tour.s1Title":`Bienvenido a Ichava Browser`,"tour.s1Body":`Cada icono de tu app Laravel — con búsqueda, vista previa y listo para copiar. Este recorrido de 30 segundos te muestra lo básico. Puedes repetirlo cuando quieras desde Ajustes.`,"tour.s2Title":`Encuentra cualquier icono rápido`,"tour.s2Body":`Busca por nombre o etiqueta, filtra por paquete, categoría y variante en la barra lateral, o pulsa ⌘K para la paleta de comandos.`,"tour.s3Title":`Reestiliza en vivo`,"tour.s3Body":`Tratamientos, tamaño, trazo, color y preajustes de movimiento reestilizan cada icono en el momento — la cuadrícula se actualiza mientras ajustas.`,"tour.s4Title":`Copia para tu stack`,"tour.s4Body":`Abre cualquier icono para Blade, Livewire, Vue, React, Svelte, Web Component, SVG en bruto y más — un clic para copiar.`,"tour.s5Title":`Guarda y comparte`,"tour.s5Body":`Marca iconos como favoritos, agrúpalos en colecciones y exporta un sprite, manifiesto o ZIP. Inicia sesión para sincronizar entre dispositivos.`,"task.working":`Trabajando…`,"task.export":`Exportando {n} iconos…`,"task.copyNames":`Reuniendo {n} nombres de iconos…`,"task.selectAll":`Seleccionando todos los iconos coincidentes…`,"export.files":`Archivos SVG`,"export.filesDesc":`Descargas .svg individuales`,"export.sprite":`Sprite SVG`,"export.spriteDesc":`Una hoja de `,"export.manifest":`Manifiesto JSON`,"export.manifestDesc":`ids, paquetes y categorías`,"export.zip":`Paquete ZIP`,"export.zipDesc":`Sprite + manifiesto + archivos`,"copyFormat.svg":`SVG sin procesar`,"copyFormat.blade":`Etiqueta Blade`,"copyFormat.vue":`Fragmento Vue`,"copyFormat.name":`Nombre del icono`,"snippetTab.motion":`Movimiento`,"snippetTab.helper":`Función helper`,"snippetTab.bladeGeneric":`Blade (genérico)`,"snippetTab.webcomponent":`Componente web`,"snippetTab.name":`Nombre`,"format.svg":`SVG sin procesar`,"format.motion":`Movimiento`,"format.helper":`Helper ichava()`,"format.blade":`Etiqueta Blade`,"format.bladeGeneric":`Blade genérico`,"format.livewire":`Livewire`,"format.alpine":`Alpine.js`,"format.vue":`Vue`,"format.react":`React`,"format.svelte":`Svelte`,"format.webcomponent":`Componente web`,"format.reactNative":`React Native`,"format.angular":`Angular`,"format.solid":`Solid`,"format.preact":`Preact`,"format.astro":`Astro`,"format.api":`URL REST`,"format.name":`Nombre del icono`,"about.landing":`Sitio web`,"clipboard.copyFailed":`No se pudo copiar — selecciona y copia manualmente`,"clipboard.copied":`Copiado al portapapeles`};export{e as default}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/featured-icon-CzZVq73R.js b/resources/vendor/react-icon-browser/featured-icon-CzZVq73R.js deleted file mode 100644 index d7adb51..0000000 --- a/resources/vendor/react-icon-browser/featured-icon-CzZVq73R.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -import{n as e,t}from"./cx-B63ov-ZV.js";import{t as n}from"./is-react-component-BskCHdxR.js";import{isValidElement as r}from"react";import{jsx as i,jsxs as a}from"react/jsx-runtime";var o={sm:`*:data-icon:size-4 *:data-icon:stroke-[2.25px]`,md:`*:data-icon:size-5`,lg:`*:data-icon:size-6`,xl:`*:data-icon:size-7`},s=e({light:{base:`rounded-full`,sizes:{sm:`size-8`,md:`size-10`,lg:`size-12`,xl:`size-14`},colors:{brand:`bg-brand-secondary text-featured-icon-light-fg-brand`,gray:`bg-tertiary text-featured-icon-light-fg-gray`,error:`bg-error-secondary text-featured-icon-light-fg-error`,warning:`bg-warning-secondary text-featured-icon-light-fg-warning`,success:`bg-success-secondary text-featured-icon-light-fg-success`}},gradient:{base:`rounded-full text-fg-white before:absolute before:inset-0 before:size-full before:rounded-full before:border before:mask-b-from-0% after:absolute after:block after:rounded-full`,sizes:{sm:`size-8 after:size-6 *:data-icon:size-4`,md:`size-10 after:size-7 *:data-icon:size-4`,lg:`size-12 after:size-8 *:data-icon:size-5`,xl:`size-14 after:size-10 *:data-icon:size-5`},colors:{brand:`before:border-utility-brand-200 before:bg-utility-brand-50 after:bg-brand-solid`,gray:`before:border-utility-neutral-200 before:bg-utility-neutral-50 after:bg-secondary-solid`,error:`before:border-utility-red-200 before:bg-utility-red-50 after:bg-error-solid`,warning:`before:border-utility-yellow-200 before:bg-utility-yellow-50 after:bg-warning-solid`,success:`before:border-utility-green-200 before:bg-utility-green-50 after:bg-success-solid`}},dark:{base:`text-fg-white shadow-xs-skeuomorphic before:absolute before:inset-px before:border before:border-white/12 before:mask-b-from-0%`,sizes:{sm:`size-8 rounded-md before:rounded-[5px]`,md:`size-10 rounded-lg before:rounded-[7px]`,lg:`size-12 rounded-[10px] before:rounded-[9px]`,xl:`size-14 rounded-xl before:rounded-[11px]`},colors:{brand:`bg-brand-solid before:border-utility-brand-200/12`,gray:`bg-secondary-solid before:border-utility-neutral-200/12`,error:`bg-error-solid before:border-utility-red-200/12`,warning:`bg-warning-solid before:border-utility-yellow-200/12`,success:`bg-success-solid before:border-utility-green-200/12`}},modern:{base:`bg-primary shadow-xs-skeuomorphic ring-1 ring-primary ring-inset`,sizes:{sm:`size-8 rounded-md`,md:`size-10 rounded-lg`,lg:`size-12 rounded-[10px]`,xl:`size-14 rounded-xl`},colors:{brand:`text-fg-brand-primary`,gray:`text-fg-secondary`,error:`text-fg-error-primary`,warning:`text-fg-warning-primary`,success:`text-fg-success-primary`}},"modern-neue":{base:`bg-primary_alt ring-1 ring-inset before:absolute before:inset-1 before:shadow-[0px_1px_2px_0px_rgba(0,0,0,0.1),0px_3px_3px_0px_rgba(0,0,0,0.09),1px_8px_5px_0px_rgba(0,0,0,0.05),2px_21px_6px_0px_rgba(0,0,0,0),0px_0px_0px_1px_rgba(0,0,0,0.08),1px_13px_5px_0px_rgba(0,0,0,0.01),0px_-2px_2px_0px_rgba(0,0,0,0.13)_inset] before:ring-1 before:ring-secondary_alt`,sizes:{sm:`size-8 rounded-[8px] before:rounded-[4px]`,md:`size-10 rounded-[10px] before:rounded-[6px]`,lg:`size-12 rounded-[12px] before:rounded-[8px]`,xl:`size-14 rounded-[14px] before:rounded-[10px]`},colors:{brand:``,gray:`text-fg-secondary ring-primary`,error:``,warning:``,success:``}},outline:{base:`before:absolute before:rounded-full before:border-2 after:absolute after:rounded-full after:border-2`,sizes:{sm:`size-4 before:size-6 after:size-8.5`,md:`size-5 before:size-7 after:size-9.5`,lg:`size-6 before:size-8 after:size-10.5`,xl:`size-7 before:size-9 after:size-11.5`},colors:{brand:`text-fg-brand-primary before:border-fg-brand-primary/30 after:border-fg-brand-primary/10`,gray:`text-fg-tertiary before:border-fg-tertiary/30 after:border-fg-tertiary/10`,error:`text-fg-error-primary before:border-fg-error-primary/30 after:border-fg-error-primary/10`,warning:`text-fg-warning-primary before:border-fg-warning-primary/30 after:border-fg-warning-primary/10`,success:`text-fg-success-primary before:border-fg-success-primary/30 after:border-fg-success-primary/10`}}}),c=e=>{let{size:c=`sm`,theme:l=`light`,color:u=`brand`,icon:d,...f}=e;return/* @__PURE__ */ a(`div`,{...f,"data-featured-icon":!0,className:t(`relative flex shrink-0 items-center justify-center`,o[c],s[l].base,s[l].sizes[c],s[l].colors[u],e.className),children:[n(d)&&/* @__PURE__ */ i(d,{"data-icon":!0,className:`z-1`}),r(d)&&/* @__PURE__ */ i(`div`,{className:`z-1`,children:d}),e.children]})};export{c as t}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/fonts/Geist-Variable.woff2 b/resources/vendor/react-icon-browser/fonts/Geist-Variable.woff2 deleted file mode 100644 index 5c5999d..0000000 Binary files a/resources/vendor/react-icon-browser/fonts/Geist-Variable.woff2 and /dev/null differ diff --git a/resources/vendor/react-icon-browser/fonts/GeistMono-Variable.woff2 b/resources/vendor/react-icon-browser/fonts/GeistMono-Variable.woff2 deleted file mode 100644 index efaf95d..0000000 Binary files a/resources/vendor/react-icon-browser/fonts/GeistMono-Variable.woff2 and /dev/null differ diff --git a/resources/vendor/react-icon-browser/fonts/LICENSE.txt b/resources/vendor/react-icon-browser/fonts/LICENSE.txt deleted file mode 100644 index 8d003fe..0000000 --- a/resources/vendor/react-icon-browser/fonts/LICENSE.txt +++ /dev/null @@ -1,92 +0,0 @@ -Copyright (c) 2023 Vercel, in collaboration with basement.studio - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -http://scripts.sil.org/OFL - ------------------------------------------------------------ -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ------------------------------------------------------------ - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION AND CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/resources/vendor/react-icon-browser/fr-C3YrRQ0m.js b/resources/vendor/react-icon-browser/fr-C3YrRQ0m.js deleted file mode 100644 index b25bdf3..0000000 --- a/resources/vendor/react-icon-browser/fr-C3YrRQ0m.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -var e={"format.qwik":`Qwik`,"format.ember":`Ember`,"format.elm":`Elm`,"format.css-mask":`Masque CSS`,"format.data-uri":`URI de données`,"format.flutter":`Flutter`,"format.swiftui":`SwiftUI`,"export.css-mask":`Masque CSS`,"export.css-maskDesc":`Une classe par icône, en currentColor`,"export.data-uri":`URI de données`,"export.data-uriDesc":`Propriétés CSS personnalisées, couleurs conservées`,"export.native":`Ressources natives`,"export.flutter":`Télécharger pour Flutter`,"export.flutterDesc":`Ressources SVG et un index Dart, générés par js-icon-components`,"export.swiftui":`Télécharger pour SwiftUI`,"export.swiftuiDesc":`Un catalogue .xcassets, généré par js-icon-components`,"detail.cssMask":`Masque CSS`,"detail.copyDataUri":`Copier en URI de données`,"settings.clearHistoryTitle":`Historique`,"settings.clearHistoryDesc":`Efface les icônes consultées, copiées et téléchargées, et les actions récentes de la palette de commandes.`,"settings.clearHistoryButton":`Effacer l’historique`,"settings.clearHistoryToast":`Historique effacé`,"detail.tags":`Étiquettes`,"kind.label":`Afficher`,"kind.icons":`Icônes`,"kind.illustrations":`Illustrations`,"toolbar.illustrationOne":`illustration`,"toolbar.illustrationMany":`illustrations`,"toolbar.filterByTag":`Afficher les icônes étiquetées « {tag} »`,"toolbar.filterByKeyword":`Afficher les icônes avec le mot-clé « {keyword} »`,"empty.noIllustrations":`Aucune illustration ne correspond à ces filtres`,"empty.noIconsTitle":`Rien à parcourir pour l’instant`,"empty.noIconsDesc":`Aucun jeu d’icônes n’est installé et chargé ici. Dès qu’il y en aura un, ses icônes apparaîtront dans cette grille.`,"settings.syncAccount":`les favoris et collections sont conservés avec votre compte`,"settings.syncSession":`les favoris et collections sont conservés pour cette session`,"settings.guestSignIn":`Connectez-vous pour les conserver avec votre compte.`,"settings.factoryDescHost":`Restaure les réglages et filtres de ce navigateur. Vos favoris et collections sont conservés.`,"settings.factoryConfirmBodyHost":`Les préférences, filtres, l’apparence, le consentement et la visite reviendront aux valeurs par défaut dans ce navigateur. Vos favoris, collections et historique restent là où ils sont conservés.`,"settings.deleteLibraryTitle":`Supprimer ma bibliothèque`,"settings.deleteLibraryDesc":`Retire tous les favoris et collections conservés pour vous ici.`,"settings.deleteLibraryButton":`Supprimer…`,"settings.deleteLibraryConfirmTitle":`Supprimer votre bibliothèque ?`,"settings.deleteLibraryConfirmBody":`Tous les favoris et collections sont supprimés, ici et sur le serveur. Votre historique et vos réglages sont conservés. Cette action est irréversible.`,"settings.deleteLibraryConfirmLabel":`Supprimer ma bibliothèque`,"settings.deleteLibraryToast":`Bibliothèque supprimée`,"detail.snippetFormat":`Format de l’extrait`,"console.code":`Code`,"palette.results":`Résultats`,"appearance.adaptMono":`Adapter les icônes noires en mode sombre`,"app.documentTitle":`Ichava Browser — toutes les icônes dont votre app Laravel a besoin`,"sort.name":`Nom`,"sort.package":`Paquet`,"sort.category":`Catégorie`,"treatment.default":`Trait`,"treatment.defaultDesc":`Traits d’origine du paquet`,"treatment.solid":`Plein`,"treatment.solidDesc":`Graisse plus forte, remplie`,"treatment.duotone":`Bicolore`,"treatment.duotoneDesc":`Couche d’ombre d’accent`,"treatment.midtone":`Demi-teinte`,"treatment.midtoneDesc":`Encre adoucie à 50 %`,"treatment.halftone":`Trame`,"treatment.halftoneDesc":`Remplissage rétro en points`,"unit.pxValue":`{n} px`,"common.cancel":`Annuler`,"common.create":`Créer`,"common.clear":`Effacer`,"common.all":`Tous`,"common.none":`Aucun`,"common.copy":`Copier`,"common.download":`Télécharger`,"common.favorite":`Favori`,"common.favorited":`Favori`,"common.close":`Fermer`,"common.signIn":`Se connecter`,"common.signOut":`Se déconnecter`,"common.search":`Rechercher des icônes, actions…`,"header.favorites":`Favoris`,"header.history":`Historique`,"header.collections":`Collections`,"header.notifications":`Notifications`,"header.toggleTheme":`Changer de thème`,"header.settings":`Paramètres`,"header.fullscreen":`Plein écran`,"header.exitFullscreen":`Quitter le plein écran`,"header.commandPalette":`Palette de commandes`,"header.gridView":`Vue grille`,"header.listView":`Vue liste`,"sidebar.packages":`Paquets`,"sidebar.categories":`Catégories`,"sidebar.filterCategories":`Filtrer les catégories…`,"sidebar.filterIcons":`Filtrer les icônes…`,"sidebar.expandAll":`Tout déplier`,"sidebar.collapseAll":`Tout replier`,"variant.all":`Tous`,"variant.outline":`Contour`,"variant.filled":`Plein`,"variant.color":`Couleur`,"toolbar.sort":`Trier`,"toolbar.size":`Taille`,"toolbar.stroke":`Trait`,"toolbar.color":`Couleur`,"toolbar.treatment":`Traitement de l’icône`,"toolbar.export":`Exporter`,"toolbar.copyNames":`Copier les noms`,"toolbar.newCollection":`Nouvelle collection`,"toolbar.selected":`{n} sélectionnés`,"appearance.title":`Apparence`,"appearance.subtitle":`thème · marque · zoom`,"appearance.theme":`Thème`,"appearance.light":`Clair`,"appearance.dark":`Sombre`,"appearance.brandAccent":`Couleur de marque`,"appearance.customHex":`Hex personnalisé`,"appearance.radius":`Rayon`,"appearance.size":`Zoom UI`,"appearance.density":`Densité UI`,"appearance.compact":`Compact`,"appearance.comfy":`Confort`,"appearance.reduceMotion":`Réduire les animations`,"appearance.iconLabels":`Étiquettes d’icônes`,"appearance.language":`Langue`,"appearance.footer":`S’applique uniquement à l’application. Enregistré dans votre stockage sélectionné.`,"account.workspace":`Espace de travail`,"account.account":`Compte`,"account.profile":`Profil et préférences`,"account.sharedCollections":`Collections partagées`,"profile.signOutTitle":`Se déconnecter ?`,"profile.signOutBody":`Vous conserverez les favoris et filtres locaux, mais les collections partagées et les fonctions d’équipe nécessitent une reconnexion.`,"profile.signedOut":`Déconnecté`,"profile.switched":`Basculé vers {name}`,"profile.title":`Profil`,"profile.account":`Compte`,"profile.appSettings":`Paramètres et configuration de l’app`,"shared.title":`Collections partagées`,"shared.count":`{n} partagées`,"shared.empty":`Aucune collection partagée pour l’instant.`,"shared.manageAccess":`Gérer l’accès`,"empty.noResults":`Aucune icône ne correspond à vos filtres.`,"empty.noFavorites":`Aucun favori pour l’instant.`,"empty.onboardTitle":`Sélectionnez des jeux à parcourir`,"empty.onboardDesc":`Les icônes apparaissent dès qu’au moins un jeu installé est sélectionné.`,"empty.selectAllPackages":`Tout sélectionner`,"empty.noMatchSearch":`Aucune icône ne correspond à « {q} »`,"empty.noMatchFilters":`Aucune icône ne correspond à ces filtres`,"empty.tryDifferent":`Essayez un autre terme, une autre variante, ou effacez les filtres actifs.`,"empty.clearFilters":`Effacer les filtres`,"toolbar.iconOne":`icône`,"toolbar.iconMany":`icônes`,"toolbar.removeFilter":`Retirer le filtre`,"toolbar.namesCopied":`{n} noms copiés`,"toolbar.exportedToast":`{n} icônes exportées — {label}`,"toolbar.treatmentEngine":`Moteur de traitements`,"toolbar.toggleSortOrder":`Inverser l’ordre`,"toolbar.gridIconSize":`Taille des icônes de la grille`,"toolbar.sizeUnit":`Unité de taille`,"toolbar.strokeTitle":`Épaisseur du trait — réécrit le trait dans la grille, le détail et l’export`,"toolbar.previewColor":`Couleur d’aperçu`,"toolbar.resetFilters":`Réinitialiser les filtres`,"toolbar.resetTitle":`Réinitialiser tous les filtres ?`,"toolbar.resetBody":`La recherche, les catégories, variantes, le tri, la page, la sélection et la couleur d’aperçu reviennent aux valeurs par défaut. Les favoris, collections et l’apparence sont préservés.`,"toolbar.resetConfirm":`Réinitialiser les filtres`,"toolbar.resetToast":`Filtres réinitialisés`,"footer.noResults":`Aucun résultat`,"footer.range":`{start}–{end} sur {total}`,"footer.perPageLabel":`Résultats par page`,"footer.perPage":`{n} / page`,"footer.prevPage":`Page précédente`,"footer.nextPage":`Page suivante`,"list.copiedToast":`{name} copié`,"sidebar.scopeIcons":`Icônes`,"sidebar.scopePackages":`Jeux`,"sidebar.scopeCategories":`Catégories`,"sidebar.scopeAll":`Tout`,"sidebar.notInstalled":`non installé`,"sidebar.inView":`Affichées`,"sidebar.selected":`Sélectionnées`,"sidebar.loadedIcons":`Dans ce catalogue`,"sidebar.ecosystemTotal":`Total de l’écosystème`,"sidebar.favorites":`Favoris`,"sidebar.filterPackages":`Filtrer les jeux…`,"sidebar.searchEverything":`Tout rechercher…`,"sidebar.searchScope":`Portée de recherche`,"header.filtersPackages":`Filtres et jeux`,"header.toggleSidebar":`Afficher/masquer la barre latérale`,"header.devtools":`Ichava DevTools`,"palette.placeholder":`Tapez une commande ou recherchez des icônes…`,"palette.recent":`Récents`,"palette.actions":`Actions`,"palette.icons":`Icônes`,"palette.openHint":`ouvrir`,"palette.noMatches":`Aucun résultat pour « {q} »`,"palette.navigate":`naviguer`,"palette.select":`sélectionner`,"palette.close":`fermer`,"palette.toggleTheme":`Changer de thème`,"palette.openSettings":`Ouvrir les paramètres`,"palette.openFavorites":`Ouvrir les favoris`,"palette.openHistory":`Ouvrir l’historique`,"palette.openCollections":`Ouvrir les collections`,"palette.switchListView":`Passer en vue liste`,"palette.switchGridView":`Passer en vue grille`,"palette.resetFilters":`Réinitialiser tous les filtres`,"palette.selectAll":`Sélectionner toutes les correspondances`,"selectAll.confirmTitle":`Sélectionner les {n} icônes ?`,"selectAll.confirmBody":`Aucune recherche ni aucun filtre n’est actif : toutes les icônes du catalogue seront sélectionnées.`,"selectAll.confirmLabel":`Tout sélectionner`,"palette.openDevtools":`Ouvrir Ichava DevTools`,"common.remove":`Retirer`,"settings.appearanceHintPre":`Le thème, l’accent, le rayon, la taille, la densité, le mouvement et les libellés sont dans le menu `,"settings.appearanceHintPost":` de l’en-tête.`,"settings.behavior":`Comportement`,"settings.perPageTitle":`Icônes par page`,"settings.perPageDesc":`Taille de la pagination de la grille.`,"settings.copyFormatTitle":`Format de copie par défaut`,"settings.copyFormatDesc":`Utilisé par le clic-pour-copier sur les tuiles.`,"settings.storageTitle":`Pilote de stockage`,"settings.storageDesc":`Où les préférences et l’état sont conservés.`,"settings.storageLocal":`local`,"settings.storageSession":`session`,"settings.tourTitle":`Visite guidée`,"settings.tourDesc":`Rejouer la visite de première utilisation.`,"settings.replayTour":`Rejouer la visite`,"settings.factoryTitle":`Réinitialisation d’usine`,"settings.factoryDesc":`Restaure tous les réglages, filtres, favoris et collections aux valeurs par défaut.`,"settings.factoryConfirmTitle":`Tout réinitialiser aux réglages d’usine ?`,"settings.factoryConfirmBody":`Toutes les préférences, filtres, favoris, historique, collections, personnalisation de marque, consentement et instantanés enregistrés reviendront aux valeurs par défaut. Cette action est irréversible.`,"settings.factoryConfirmLabel":`Tout réinitialiser`,"settings.factoryToast":`Tout réinitialisé aux valeurs par défaut`,"settings.resetEverything":`Tout réinitialiser…`,"settings.account":`Compte`,"settings.syncNote":`les favoris et collections sont enregistrés uniquement dans ce navigateur`,"settings.guestNote":`Vous naviguez en tant qu’invité. Les préférences, favoris et collections sont enregistrés uniquement dans ce navigateur.`,"settings.aboutLink":`À propos d’Ichava →`,"consent.ariaLabel":`Cookies et stockage`,"consent.title":`Cookies et stockage`,"consent.body":`Ichava conserve vos préférences et favoris dans le pilote de stockage choisi, ainsi que des événements d’usage anonymes. Aucun traceur tiers.`,"consent.essentialOnly":`Essentiels uniquement`,"consent.acceptAll":`Tout accepter`,"consent.move":`Déplacer l’avis`,"consent.moveHint":`Faites-le glisser, ou utilisez les flèches, pour le déplacer. Début le remet en place.`,"about.browser":`Browser`,"about.craftedBy":`Conçu par`,"about.statIcons":`icônes indexées`,"about.statSets":`jeux d’icônes`,"about.statLicense":`licence`,"library.favorites":`Favoris`,"library.history":`Historique`,"library.collections":`Collections`,"library.emptyFavorites":`Aucun favori pour l’instant — survolez une icône et touchez le cœur.`,"library.emptyHistory":`Aucune activité pour l’instant — vues, copies et téléchargements apparaissent ici.`,"library.emptyCollections":`Aucune collection pour l’instant — nommez-en une ci-dessus.`,"library.clearHistory":`Effacer l’historique`,"library.newCollectionPlaceholder":`Nom de la collection…`,"library.seededWith":`Commence avec {n} icônes`,"library.iconCount":`{n} icônes`,"library.teamBadge":`équipe`,"library.viewerBadge":`lecteur`,"library.copyNamesTitle":`Copier les noms d’icônes`,"library.deleteCollection":`Supprimer la collection`,"tile.openDetail":`Ouvrir le détail`,"tile.copyFormat":`Copier {format}`,"tile.copyName":`Copier le nom`,"tile.copiedName":`Nom copié`,"tile.copyPermalink":`Copier le lien permanent`,"tile.permalinkCopied":`Lien permanent copié`,"tile.select":`Sélectionner`,"tile.deselect":`Désélectionner`,"tile.addFavorite":`Ajouter aux favoris`,"tile.removeFavorite":`Retirer des favoris`,"tile.favoritedAria":`en favori`,"tile.selectedAria":`sélectionné`,"detail.previewOnly":`Aperçu seulement — la grille est inchangée`,"detail.scaledToFit":`ajusté`,"detail.actual":`réel`,"detail.size":`Taille`,"detail.previewSize":`Taille de l’aperçu`,"detail.unit":`Unité`,"detail.color":`Couleur`,"detail.stroke":`Trait`,"detail.motion":`Mouvement`,"detail.searchPresets":`Rechercher {n} préréglages…`,"detail.noPresets":`Aucun préréglage trouvé.`,"detail.easing":`Accélération`,"detail.play":`Lecture`,"detail.pause":`Pause`,"detail.speed":`Vitesse`,"detail.copied":`{label} copié`,"detail.download":`Télécharger`,"detail.keyframesAria":`JSON des images clés`,"detail.keyframesValid":`{n} images clés — collez un Keyframe[] ou { keyframes: […] }`,"detail.keyframesInvalid":`JSON invalide — un tableau d’objets d’image clé est attendu`,"detail.related":`Icônes associées`,"detail.addToCollection":`Ajouter à la collection`,"detail.newCollection":`+ Nouvelle`,"detail.noSvg":`Aucun SVG disponible pour cette icône`,"detail.addedTo":`Ajouté à {name}`,"detail.removedFrom":`Retiré de {name}`,"detail.motionDefault":`Par défaut`,"console.copyCode":`Copier le code`,"console.copy":`Copier`,"console.copied":`Copié`,"help.title":`Aide et à propos`,"help.about":`À propos d’Ichava`,"help.docs":`Documentation`,"help.replayTour":`Rejouer la visite du produit`,"help.shortcuts":`Raccourcis clavier`,"notifications.clearAll":`Tout effacer`,"notifications.empty":`Vous êtes à jour.`,"team.title":`Équipe`,"team.online":`{n} en ligne`,"team.onlineNow":`En ligne`,"team.away":`Absent`,"team.offline":`Hors ligne`,"team.invite":`Inviter…`,"color.previewColor":`Couleur d’aperçu`,"color.resetToTheme":`Réinitialiser au thème`,"color.opacity":`Opacité — 0–100 %`,"contextMenu.actions":`Actions`,"boot.loadingCatalog":`Chargement du catalogue`,"boot.ready":`Prêt`,"sidebar.iconVariant":`Variante d’icône`,"auth.signInTo":`Connectez-vous à {brand}`,"auth.needsAccount":`nécessite un compte.`,"auth.emailCode":`Nous vous enverrons un code à usage unique par e-mail — sans mot de passe.`,"auth.emailPlaceholder":`vous@entreprise.com`,"auth.sendCode":`Envoyer le code`,"auth.newHere":`Nouveau ici ?`,"auth.createAccount":`Créer un compte`,"auth.enterCode":`Saisissez votre code`,"auth.sentTo":`Envoyé à`,"auth.demoHint":`Démo : n’importe quel code connecte — essayez 000000 pour voir l’état d’échec.`,"auth.digit":`Chiffre {n}`,"auth.codeFailed":`Ce code n’a pas fonctionné. Réessayez.`,"auth.verify":`Vérifier et se connecter`,"auth.changeEmail":`← Changer d’e-mail`,"auth.resendIn":`Renvoyer dans {n}s`,"auth.resendCode":`Renvoyer le code`,"auth.createTitle":`Créez votre compte`,"auth.createBlurb":`Rejoignez-nous pour débloquer les collections, le partage et les fonctions d’équipe. Nous vérifierons votre e-mail avec un code à usage unique.`,"auth.firstName":`Prénom`,"auth.lastName":`Nom`,"auth.passwordPlaceholder":`Au moins 8 caractères`,"auth.togglePassword":`Afficher ou masquer le mot de passe`,"auth.haveAccount":`Vous avez déjà un compte ?`,"invite.title":`Inviter dans l’espace de travail`,"invite.workspace":`espace de travail`,"invite.emailPlaceholder":`collegue@entreprise.com`,"invite.roleEditor":`Éditeur — peut ajouter et partager`,"invite.roleViewer":`Lecteur — lecture seule`,"invite.role":`Rôle`,"invite.linkExpires":`Le lien expire`,"invite.exp24h":`24 h`,"invite.exp7d":`7 jours`,"invite.exp30d":`30 jours`,"invite.expNever":`Jamais`,"invite.blurb":`Les invités accèdent aux collections partagées de cet espace. Le propriétaire peut changer les rôles plus tard ; les liens peuvent être révoqués dans les Paramètres.`,"invite.generateLink":`Générer un lien`,"invite.linkCopied":`Lien d’invitation copié`,"invite.yourTeammate":`votre collègue`,"invite.sentNotification":`Invitation envoyée à {to} ({role})`,"invite.sent":`Invitation envoyée`,"invite.sendInvite":`Envoyer l’invitation`,"access.addPeople":`Ajoutez des personnes ou votre équipe`,"access.searchTeammates":`Rechercher des collègues par nom ou e-mail…`,"access.onlyYou":`Vous seul avez accès. Ajoutez des collègues ci-dessus ou partagez avec toute l’équipe.`,"access.saveAccess":`Enregistrer l’accès`,"access.shareEntireTeam":`Partager avec toute l’équipe`,"access.shareLinkCopied":`Lien de partage copié`,"access.copyLinkInstead":`Copier le lien à la place`,"shared.inviteTeam":`Inviter l’équipe…`,"shared.viewer":`lecteur`,"shared.editor":`éditeur`,"tour.skip":`Passer`,"tour.back":`Retour`,"tour.stepOf":`Étape {n} sur {total}`,"tour.next":`Suivant`,"tour.getStarted":`Commencer`,"tour.s1Title":`Bienvenue dans Ichava Browser`,"tour.s1Body":`Chaque icône de votre app Laravel — recherchable, prévisualisable, prête à copier. Cette visite de 30 secondes vous fait le tour. Vous pouvez la rejouer à tout moment depuis les Paramètres.`,"tour.s2Title":`Trouvez n’importe quelle icône vite`,"tour.s2Body":`Recherchez par nom ou tag, filtrez par jeu, catégorie et variante dans la barre latérale, ou appuyez sur ⌘K pour la palette de commandes.`,"tour.s3Title":`Restylez en direct`,"tour.s3Body":`Traitements, taille, trait, couleur et préréglages de mouvement restylent chaque icône sur place — la grille se met à jour à mesure que vous ajustez.`,"tour.s4Title":`Copiez pour votre stack`,"tour.s4Body":`Ouvrez n’importe quelle icône pour Blade, Livewire, Vue, React, Svelte, Web Component, SVG brut et plus — un clic pour copier.`,"tour.s5Title":`Enregistrez et partagez`,"tour.s5Body":`Ajoutez des icônes aux favoris, regroupez-les en collections et exportez un sprite, un manifeste ou un ZIP. Connectez-vous pour synchroniser entre appareils.`,"task.working":`Traitement…`,"task.export":`Export de {n} icônes…`,"task.copyNames":`Collecte de {n} noms d’icônes…`,"task.selectAll":`Sélection de toutes les icônes correspondantes…`,"export.files":`Fichiers SVG`,"export.filesDesc":`Téléchargements .svg individuels`,"export.sprite":`Sprite SVG`,"export.spriteDesc":`Une feuille de `,"export.manifest":`Manifeste JSON`,"export.manifestDesc":`ids, paquets et catégories`,"export.zip":`Archive ZIP`,"export.zipDesc":`Sprite + manifeste + fichiers`,"copyFormat.svg":`SVG brut`,"copyFormat.blade":`Balise Blade`,"copyFormat.vue":`Extrait Vue`,"copyFormat.name":`Nom de l’icône`,"snippetTab.motion":`Animation`,"snippetTab.helper":`Fonction helper`,"snippetTab.bladeGeneric":`Blade (générique)`,"snippetTab.webcomponent":`Composant web`,"snippetTab.name":`Nom`,"format.svg":`SVG brut`,"format.motion":`Animation`,"format.helper":`Helper ichava()`,"format.blade":`Balise Blade`,"format.bladeGeneric":`Blade générique`,"format.livewire":`Livewire`,"format.alpine":`Alpine.js`,"format.vue":`Vue`,"format.react":`React`,"format.svelte":`Svelte`,"format.webcomponent":`Composant web`,"format.reactNative":`React Native`,"format.angular":`Angular`,"format.solid":`Solid`,"format.preact":`Preact`,"format.astro":`Astro`,"format.api":`URL REST`,"format.name":`Nom de l’icône`,"about.landing":`Site web`,"clipboard.copyFailed":`Échec de la copie — sélectionnez et copiez manuellement`,"clipboard.copied":`Copié dans le presse-papiers`};export{e as default}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/glyphIcon-D8F12BiB.js b/resources/vendor/react-icon-browser/glyphIcon-D8F12BiB.js deleted file mode 100644 index a4960f0..0000000 --- a/resources/vendor/react-icon-browser/glyphIcon-D8F12BiB.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -import{t as e}from"./Glyph-ifDznOhl.js";import{jsx as t}from"react/jsx-runtime";var n=/* @__PURE__ */ new Map;function r(r){let i=n.get(r);return i||(i=({className:n})=>/* @__PURE__ */ t(e,{name:r,size:16,className:n}),i.displayName=`GlyphIcon(${r})`,n.set(r,i)),i}export{r as t}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/index.js b/resources/vendor/react-icon-browser/index.js deleted file mode 100644 index f5b7b95..0000000 --- a/resources/vendor/react-icon-browser/index.js +++ /dev/null @@ -1,13 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -import{a as e,c as t,d as n,i as r,l as i,o as a,r as o,s,t as c,u as l}from"./IconAsset-BVRD6Pac.js";import{$ as u,$t as d,A as f,At as p,Bt as m,C as h,Ct as g,Dt as _,E as v,Ft as y,G as b,Gt as x,Ht as S,It as C,J as w,Jt as T,K as E,Kt as D,Lt as O,Mt as ee,Nt as k,O as A,Pt as j,Qt as M,S as N,Tt as te,Ut as ne,Vt as P,Wt as re,X as F,Xt as I,Y as L,Yt as R,Z as z,Zt as B,_ as ie,_t as ae,a as oe,at as se,c as ce,ct as le,d as ue,dt as de,en as fe,et as pe,f as me,ft as V,g as he,gt as ge,h as _e,it as ve,jt as ye,k as be,kt as xe,lt as Se,m as Ce,mt as we,nt as Te,o as Ee,ot as De,p as Oe,pt as ke,q as Ae,qt as je,rt as Me,s as Ne,st as Pe,tt as Fe,u as Ie,ut as Le,vt as Re,w as ze,wt as Be,zt as Ve}from"./chromeIcons-ITgd2uHk.js";import{a as He,i as Ue,n as We,r as Ge,t as H}from"./Glyph-ifDznOhl.js";import{n as Ke,t as qe}from"./label-JRlP-MMU.js";import{n as Je,t as Ye}from"./tooltip-Dya0yQP2.js";import{n as Xe,t as U}from"./cx-B63ov-ZV.js";import{t as Ze}from"./avatar-D043d4aw.js";import{t as Qe}from"./is-react-component-BskCHdxR.js";import{t as $e}from"./glyphIcon-D8F12BiB.js";import{t as et}from"./featured-icon-CzZVq73R.js";import{a as tt,c as nt,i as rt,l as it,n as at,o as ot,r as st,s as ct}from"./TreatmentEngine-B0FTr-Fl.js";import{a as lt,c as ut,d as dt,f as ft,i as pt,l as mt,n as ht,r as gt,s as _t,t as vt,u as yt}from"./snippets-CIeWnjDR.js";import*as bt from"react";import{StrictMode as xt,Suspense as St,createContext as Ct,isValidElement as wt,lazy as Tt,useCallback as Et,useContext as Dt,useEffect as W,useId as Ot,useLayoutEffect as kt,useMemo as G,useRef as K,useState as q,useSyncExternalStore as At}from"react";import{createPortal as jt,flushSync as Mt}from"react-dom";import{I18nProvider as Nt,UNSAFE_PortalProvider as Pt,useUNSAFE_PortalContext as Ft}from"react-aria";import{Fragment as J,jsx as Y,jsxs as X}from"react/jsx-runtime";import{Autocomplete as It,Button as Lt,Checkbox as Rt,CheckboxGroup as zt,Collection as Bt,ComboBox as Vt,ComboBoxStateContext as Ht,Dialog as Ut,DialogTrigger as Wt,DropIndicator as Gt,Focusable as Kt,Form as qt,Group as Jt,Header as Yt,Heading as Xt,I18nProvider as Zt,Input as Qt,Label as $t,Link as en,ListBox as tn,ListBoxItem as nn,ListBoxSection as rn,Menu as an,MenuItem as on,MenuSection as sn,MenuTrigger as cn,Modal as ln,ModalOverlay as un,OverlayArrow as dn,Popover as fn,Pressable as pn,Radio as mn,RadioGroup as hn,SearchField as gn,Select as _n,SelectValue as vn,Separator as yn,Slider as bn,SliderOutput as xn,SliderThumb as Sn,SliderTrack as Cn,Switch as wn,Tab as Tn,TabList as En,TabPanel as Dn,Tabs as On,TabsContext as kn,Text as An,TextField as jn,ToggleButton as Mn,ToggleButtonGroup as Nn,Tree as Pn,TreeItem as Fn,TreeItemContent as In,useDragAndDrop as Ln,useFilter as Rn,useSlottedContext as zn}from"react-aria-components";import{createRoot as Bn}from"react-dom/client";async function Vn(e,t,n=500){let r=[];for(let i=1;;i+=1){let a=await e.listIcons({...t,page:i,perPage:n});for(let e of a.items)r.push(e.id);if(a.items.length===0||i>=a.lastPage)return r}}var Hn={size:[24,640],perPage:[12,120]},Un=(e,[t,n])=>e!==void 0&&Number.isFinite(e)&&e>=t&&e<=n;function Wn(e){let t={};e.view&&(t.view_mode=e.view),Un(e.size,Hn.size)&&(t.icon_size=e.size),Un(e.perPage,Hn.perPage)&&(t.per_page=e.perPage);let n={};return e.sortBy&&(n.sort_by=e.sortBy),e.sortOrder&&(n.sort_direction=e.sortOrder),{...Object.keys(t).length?{preferences:t}:{},...Object.keys(n).length?{sorting:n}:{}}}function Gn(e){let t={},n=e.preferences??{},r=e.sorting??{};return(n.view_mode===`grid`||n.view_mode===`list`)&&(t.view=n.view_mode),Un(n.icon_size,Hn.size)&&(t.size=n.icon_size),Un(n.per_page,Hn.perPage)&&(t.perPage=n.per_page),(r.sort_by===`name`||r.sort_by===`package`||r.sort_by===`category`)&&(t.sortBy=r.sort_by),(r.sort_direction===`asc`||r.sort_direction===`desc`)&&(t.sortOrder=r.sort_direction),t}var Kn=class e{#e;#t;constructor(e,t){this.#e={show:e,update:e,reset:e},this.#t=t}static withEndpoints(t,n){let r=new e(``,n);return r.#e.show=t.show,r.#e.update=t.update,r.#e.reset=t.reset,r}async load(){return this.#e.show?Gn((await this.#t.request(this.#e.show,{baseUrl:``})).data??{}):{}}async save(e){let t=Wn(e);this.#e.update&&(t.preferences||t.sorting)&&await this.#t.request(this.#e.update,{method:`POST`,body:t,baseUrl:``})}async reset(){this.#e.reset&&await this.#t.request(this.#e.reset,{method:`DELETE`,baseUrl:``})}};function qn(e){return e.search.trim()===``&&e.categories.length===0&&e.subs.length===0&&e.variant===null}function Jn(e,t){let n=e.getState(),r=t??(n.catalog?new s(n.catalog):null);if(!r)return;let i=F(n.filters),a=()=>void e.getState().runTask(C(e.getState(),`task.selectAll`),()=>Vn(r,i)).then(t=>e.getState().setSelection(t)).catch(()=>{});!t||!qn(n.filters)?a():r.listIcons({...i,page:1,perPage:1}).then(({total:t})=>{let n=e.getState(),r=n.locale,i=(e,t)=>C(n,e,t);e.getState().openConfirm({title:i(`selectAll.confirmTitle`,{n:new Intl.NumberFormat(r).format(t)}),body:i(`selectAll.confirmBody`),confirmLabel:i(`selectAll.confirmLabel`),onConfirm:a})}).catch(()=>{})}function Yn(t){let n=Ae(),r=e(),i=!!t,a=!!t?.manageDocument,o=t?.rootRef,s=t?.overlayRef;W(()=>{let e=e=>{if(!i)return!0;let t=e instanceof Node?e:null,n=e=>!!(t&&e?.current?.contains(t));if(n(o)||n(s))return!0;let r=!t||t===document.body||t===document.documentElement;return a&&r},t=t=>{if(!e(t.target))return;let i=t.metaKey||t.ctrlKey,a=n.getState(),o=t.target,s=o?.tagName===`INPUT`||o?.tagName===`TEXTAREA`||o?.tagName===`SELECT`||!!o?.isContentEditable,c=e=>C(a,e);if(t.key===`Escape`){if(a.devtools.open){a.toggleDevtools(),t.preventDefault();return}a.layer&&(a.closeLayer(),t.preventDefault())}else if(t.key===`/`&&!i&&!s){let e=document.querySelector(`input[data-role="icon-filter"]`);e&&(t.preventDefault(),e.focus())}else if(i)switch(t.key.toLowerCase()){case`k`:t.preventDefault(),a.openLayer(a.layer===`palette`?null:`palette`);break;case`t`:if(s||a.config?.features.themeToggle===!1)return;t.preventDefault(),a.toggleTheme();break;case`,`:t.preventDefault(),a.openLayer(`settings`);break;case`1`:t.preventDefault(),a.openLibrary(`favorites`);break;case`2`:t.preventDefault(),a.openLibrary(`history`);break;case`3`:t.preventDefault(),a.openLibrary(`collections`);break;case`backspace`:if(s||!t.shiftKey)return;t.preventDefault(),a.openConfirm({title:c(`toolbar.resetTitle`),body:c(`toolbar.resetBody`),confirmLabel:c(`toolbar.resetConfirm`),danger:!0,onConfirm:()=>{a.resetFilters(),a.showToast(c(`toolbar.resetToast`),`refresh`)}});break;case`d`:if(s||!t.shiftKey||!a.config||a.config.features.devtools===!1)return;t.preventDefault(),a.toggleDevtools();break;case`a`:if(s||!r&&!a.catalog)return;t.preventDefault(),Jn(n,r)}};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[n,r,i,a,o,s])}function Xn(e,t,n=``){let r=new URL(e);return r.searchParams.set(`${n}icon`,String(t)),r.toString()}var Zn=Ct({enabled:!1,prefix:``});function Qn(){let{enabled:e,prefix:t}=Dt(Zn);return e?e=>Xn(window.location.href,e,t):null}var $n=[`q`,`packages`,`cats`,`variant`,`sort`,`order`,`page`,`per`,`icon`];function er({enabled:e=!1,prefix:t=``}={}){let n=Ae(),r=K(!1);W(()=>{if(!e||r.current)return;r.current=!0;let i=e=>`${t}${e}`,a=new URLSearchParams(window.location.search),o=n.getState(),s=(e,t)=>e&&Number.isFinite(+e)?+e:t,c={...o.filters};a.has(i(`q`))&&(c.search=a.get(i(`q`))??``),a.has(i(`packages`))&&(c.packages=tr(a.get(i(`packages`)))),a.has(i(`cats`))&&(c.categories=tr(a.get(i(`cats`)))),a.has(i(`variant`))&&(c.variant=a.get(i(`variant`))||null),a.has(i(`sort`))&&(c.sortBy=a.get(i(`sort`))||`name`),a.has(i(`order`))&&(c.sortOrder=a.get(i(`order`))||`asc`),a.has(i(`page`))&&(c.page=s(a.get(i(`page`)),1)),a.has(i(`per`))&&(c.perPage=s(a.get(i(`per`)),60)),n.setState({filters:c});let l=a.get(i(`icon`));l&&Number.isFinite(+l)&&o.openDetail(+l)},[]);let i=E(e=>e.filters),a=E(e=>e.detailId);W(()=>{if(!e||!r.current)return;let n=e=>`${t}${e}`,o=new URLSearchParams(window.location.search);for(let e of $n)o.delete(n(e));i.search&&o.set(n(`q`),i.search),i.packages.length&&o.set(n(`packages`),i.packages.join(`,`)),i.categories.length&&o.set(n(`cats`),i.categories.join(`,`)),i.variant&&o.set(n(`variant`),i.variant),i.sortBy!==`name`&&o.set(n(`sort`),i.sortBy),i.sortOrder!==`asc`&&o.set(n(`order`),i.sortOrder),i.page>1&&o.set(n(`page`),String(i.page)),i.perPage!==60&&o.set(n(`per`),String(i.perPage)),a!=null&&o.set(n(`icon`),String(a));let s=o.toString(),c=`${window.location.pathname}${s?`?${s}`:``}${window.location.hash}`;window.history.replaceState(null,``,c)},[i,a,e,t])}function tr(e){return e?e.split(`,`).filter(Boolean):[]}var nr=Ct(null);function rr(){return Dt(nr)}function ir(e,t){typeof window<`u`&&e&&requestAnimationFrame(()=>{let n=document.activeElement;n&&n!==document.body&&n.isConnected||((t==null?null:e.querySelector(`[data-icon-id="${t}"]`))??e.querySelector(`[role="gridcell"][tabindex="0"]`)??e.querySelector(`input[data-role="icon-filter"]`))?.focus()})}var ar=({ref:e,tooltip:t,shortcut:n,groupRef:r,size:i=`md`,isInvalid:a,isDisabled:o,isRequired:s,icon:c,placeholder:l,passwordToggleLabel:u,wrapperClassName:d,tooltipClassName:f,inputClassName:p,iconClassName:m,type:h=`text`,...g})=>{let[_,v]=q(!1),y=t||a,b=c,x=Dt(or),S=x?.size||i,C=Xe({sm:{root:U(`px-3 py-1.5 text-[13px]/5`,b&&`pl-9`,y&&`pr-9`),iconLeading:`left-3 size-4 stroke-[2.25px]`,iconTrailing:`right-3`,shortcut:`pr-1.5`},md:{root:U(`px-3 py-2 text-md`,b&&`pl-10`,y&&`pr-9`),iconLeading:`left-3 size-5`,iconTrailing:`right-3`,shortcut:`pr-2`},lg:{root:U(`px-3.5 py-2.5 text-md`,b&&`pl-10.5`,y&&`pr-9.5`),iconLeading:`left-3.5 size-5`,iconTrailing:`right-3.5`,shortcut:`pr-2.5`}});return/* @__PURE__ */ X(Jt,{isDisabled:o,isInvalid:a,ref:r,className:({isFocusWithin:e,isDisabled:t,isInvalid:n})=>U(`group/input relative flex w-full flex-row place-content-center place-items-center rounded-lg bg-primary shadow-xs ring-1 ring-primary transition-shadow duration-100 ease-linear ring-inset`,e&&!t&&`ring-2 ring-brand`,t&&`cursor-not-allowed opacity-50`,`group-disabled:cursor-not-allowed group-disabled:opacity-50`,n&&`ring-error_subtle`,`group-invalid:ring-error_subtle`,n&&e&&`ring-2 ring-error`,e&&`group-invalid:ring-2 group-invalid:ring-error`,x?.wrapperClassName,d),children:[c&&/* @__PURE__ */ Y(c,{className:U(`pointer-events-none absolute text-fg-quaternary`,C[S].iconLeading,x?.iconClassName,m)}),/* @__PURE__ */ Y(Qt,{...g,ref:e,required:s,type:h===`password`&&_?`text`:h,placeholder:l,className:U(`m-0 w-full bg-transparent text-primary ring-0 outline-hidden placeholder:text-placeholder autofill:rounded-lg autofill:text-primary disabled:cursor-not-allowed`,C[S].root,x?.inputClassName,p)}),t&&h!==`password`&&/* @__PURE__ */ Y(Ye,{title:t,placement:`top`,children:/* @__PURE__ */ Y(Je,{className:U(`absolute cursor-pointer text-fg-quaternary transition duration-100 ease-linear group-invalid/input:hidden hover:text-fg-quaternary_hover focus:text-fg-quaternary_hover`,C[S].iconTrailing,x?.tooltipClassName,f),children:/* @__PURE__ */ Y(he,{className:`size-4 stroke-[2.25px]`})})}),h!==`password`&&/* @__PURE__ */ Y(ie,{className:U(`pointer-events-none absolute hidden size-4 stroke-[2.25px] text-fg-error-secondary group-invalid/input:block`,C[S].iconTrailing,x?.tooltipClassName,f)}),h===`password`&&/* @__PURE__ */ Y(Lt,{"aria-label":u??`Toggle password visibility`,onClick:()=>v(!_),className:U(`absolute -m-1 flex size-6 cursor-pointer items-center justify-center rounded-sm text-fg-quaternary outline-focus-ring transition duration-100 ease-linear hover:text-fg-quaternary_hover focus:text-fg-quaternary_hover focus-visible:outline-2`,C[S].iconTrailing),children:Y(_?Oe:me,{className:`size-4 stroke-[2.25px]`})}),n&&/* @__PURE__ */ Y(`div`,{className:U(`pointer-events-none absolute inset-y-0.5 right-0.5 z-10 hidden items-center rounded-r-[inherit] bg-linear-to-r from-transparent to-bg-primary to-40% pl-8 md:flex`,C[S].shortcut),children:/* @__PURE__ */ Y(`span`,{"aria-hidden":`true`,className:`pointer-events-none rounded px-1 py-px text-xs font-medium text-quaternary ring-1 ring-secondary select-none ring-inset`,children:typeof n==`string`?n:`⌘K`})})]})};ar.displayName=`InputBase`;var or=Ct({}),sr=({className:e,size:t=`md`,inputClassName:n,wrapperClassName:r,iconClassName:i,tooltipClassName:a,...o})=>/* @__PURE__ */ Y(or.Provider,{value:{inputClassName:n,wrapperClassName:r,iconClassName:i,tooltipClassName:a,size:t},children:/* @__PURE__ */ Y(jn,{...o,"data-input-wrapper":!0,"data-input-size":t,className:t=>U(`group flex h-max w-full flex-col items-start justify-start gap-1.5`,typeof e==`function`?e(t):e)})});sr.displayName=`TextField`;var cr=({size:e=`md`,placeholder:t,icon:n,label:r,hint:i,shortcut:a,hideRequiredIndicator:o,className:s,ref:c,groupRef:l,tooltip:u,iconClassName:d,inputClassName:f,passwordToggleLabel:p,wrapperClassName:m,tooltipClassName:h,type:g=`text`,..._})=>/* @__PURE__ */ Y(sr,{"aria-label":r?void 0:t,..._,size:e,className:s,children:({isRequired:s,isInvalid:_})=>/* @__PURE__ */ X(J,{children:[r&&/* @__PURE__ */ Y(qe,{isRequired:o?!o:s,isInvalid:_,children:r}),/* @__PURE__ */ Y(ar,{ref:c,groupRef:l,size:e,placeholder:t,icon:n,shortcut:a,iconClassName:d,inputClassName:f,passwordToggleLabel:p,wrapperClassName:m,tooltipClassName:h,tooltip:u,type:g}),i&&/* @__PURE__ */ Y(Ke,{isInvalid:_,children:i})]})});cr.displayName=`Input`;var lr=e=>/* @__PURE__ */ Y(fn,{placement:`bottom start`,containerPadding:0,offset:4,...e,className:t=>U(`z-(--z-popover) w-max min-w-(--trigger-width) max-w-[min(24rem,calc(100vw-16px))] origin-(--trigger-anchor-point) overflow-x-hidden overflow-y-auto rounded-lg bg-primary py-1 shadow-lg ring-1 ring-secondary_alt outline-hidden will-change-transform`,t.isEntering&&`duration-150 ease-out animate-in fade-in placement-right:slide-in-from-left-0.5 placement-top:slide-in-from-bottom-0.5 placement-bottom:slide-in-from-top-0.5`,t.isExiting&&`duration-100 ease-in animate-out fade-out placement-right:slide-out-to-left-0.5 placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5`,e.size===`sm`&&`max-h-56!`,e.size===`md`&&`max-h-64!`,e.size===`lg`&&`max-h-80!`,typeof e.className==`function`?e.className(t):e.className)}),ur={sm:{root:`py-1.5 pl-3 pr-2.5 gap-2 *:data-icon:size-4 *:data-icon:stroke-[2.25px]`,withIcon:``,text:`text-[13px]/5`,textContainer:`gap-x-1.5`,shortcut:`pr-2.5`},md:{root:`py-2 px-3 gap-2 *:data-icon:size-5`,withIcon:``,text:`text-md`,textContainer:`gap-x-1.5`,shortcut:`pr-2.5`},lg:{root:`py-2.5 px-3.5 gap-2 *:data-icon:size-5`,withIcon:``,text:`text-md`,textContainer:`gap-x-1.5`,shortcut:`pr-3`}},dr=Ct({size:`md`});function fr(){return window.ResizeObserver!==void 0}function pr(e){let{ref:t,box:n,onResize:r}=e;W(()=>{let e=t?.current;if(e){if(fr()){let t=new window.ResizeObserver(e=>{e.length&&r()});return t.observe(e,{box:n}),()=>{e&&t.unobserve(e)}}return window.addEventListener(`resize`,r,!1),()=>{window.removeEventListener(`resize`,r,!1)}}},[r,t,n])}var mr=({size:e,shortcut:t,placeholder:n,shortcutClassName:r,icon:i,ref:a,...o})=>{let s=Dt(Ht),c=s?.selectedItem?.value||null,l=s?.inputValue||null,u=l?.split(c?.supportingText)?.[0]||``,d=l?.split(u)[1];return/* @__PURE__ */ X(Jt,{ref:a,...o,className:({isFocusWithin:t,isDisabled:n})=>U(`relative flex w-full items-center gap-2 rounded-lg bg-primary shadow-xs ring-1 ring-primary outline-hidden transition-shadow duration-100 ease-linear ring-inset`,n&&`cursor-not-allowed opacity-50`,t&&`ring-2 ring-brand`,`*:data-icon:shrink-0 *:data-icon:text-fg-quaternary`,ur[e].root),children:[Qe(i)?/* @__PURE__ */ Y(i,{"data-icon":!0,className:`pointer-events-none`,"aria-hidden":`true`}):wt(i)?i:/* @__PURE__ */ Y(h,{"data-icon":!0,className:`pointer-events-none`,"aria-hidden":`true`}),/* @__PURE__ */ X(`div`,{className:`relative flex w-full items-center`,children:[l&&/* @__PURE__ */ X(`span`,{className:U(`absolute top-1/2 z-0 inline-flex w-full -translate-y-1/2 truncate`,ur[e].textContainer),"aria-hidden":`true`,children:[/* @__PURE__ */ Y(`p`,{className:U(`font-medium text-primary`,ur[e].text),children:u}),d&&/* @__PURE__ */ Y(`p`,{className:U(`-ml-0.75 text-tertiary`,ur[e].text),children:d})]}),/* @__PURE__ */ Y(Qt,{placeholder:n,className:U(`z-10 w-full appearance-none bg-transparent text-transparent caret-alpha-black/90 placeholder:text-placeholder focus:outline-hidden disabled:cursor-not-allowed`,ur[e].text)})]}),t&&/* @__PURE__ */ Y(`div`,{className:U(`absolute inset-y-0.5 right-0.5 z-10 hidden items-center rounded-r-[inherit] bg-linear-to-r from-transparent to-bg-primary to-40% pl-8 md:flex`,ur[e].shortcut,r),children:/* @__PURE__ */ Y(`span`,{className:`pointer-events-none rounded px-1 py-px text-xs font-medium text-quaternary ring-1 ring-secondary select-none ring-inset`,"aria-hidden":`true`,children:`⌘K`})})]})},hr=({placeholder:e=`Search`,shortcut:t=!0,size:n=`md`,children:r,items:i,shortcutClassName:a,icon:o,hideRequiredIndicator:s,...c})=>{let l=K(null),[u,d]=q(``),f=Et(()=>{if(!l.current)return;let e=l.current?.getBoundingClientRect();d(e.width+`px`)},[l,d]);return pr({ref:l,box:`border-box`,onResize:f}),/* @__PURE__ */ Y(dr.Provider,{value:{size:n},children:/* @__PURE__ */ Y(Vt,{menuTrigger:`focus`,...c,children:d=>/* @__PURE__ */ X(`div`,{className:`flex flex-col gap-1.5`,children:[c.label&&/* @__PURE__ */ Y(qe,{isRequired:!s&&d.isRequired,tooltip:c.tooltip,children:c.label}),/* @__PURE__ */ Y(mr,{ref:l,placeholder:e,shortcut:t,shortcutClassName:a,icon:o,size:n,onFocus:f,onPointerEnter:f}),/* @__PURE__ */ Y(lr,{size:n,triggerRef:l,style:{width:u},className:c.popoverClassName,children:/* @__PURE__ */ Y(tn,{items:i,className:`size-full outline-hidden`,children:r})}),c.hint&&/* @__PURE__ */ Y(Ke,{isInvalid:d.isInvalid,className:U(n===`sm`&&`text-xs`),children:c.hint})]})})})},gr=({className:e,isSelected:t,isDisabled:n,isIndeterminate:r,size:i=`sm`,isFocusVisible:a=!1})=>/* @__PURE__ */ X(`div`,{className:U(`relative flex size-4 shrink-0 cursor-pointer appearance-none items-center justify-center rounded bg-primary ring-1 ring-primary ring-inset`,i===`md`&&`size-5 rounded-md`,(t||r)&&`bg-brand-solid ring-brand-solid`,n&&`cursor-not-allowed opacity-50`,n&&!(t||r)&&`bg-tertiary`,a&&`outline-2 outline-offset-2 outline-focus-ring`,e),children:[/* @__PURE__ */ Y(`svg`,{"aria-hidden":`true`,viewBox:`0 0 14 14`,fill:`none`,className:U(`pointer-events-none absolute h-3 w-2.5 text-fg-white opacity-0 transition-inherit-all`,i===`md`&&`size-3.5`,r&&`opacity-100`),children:/* @__PURE__ */ Y(`path`,{d:`M2.91675 7H11.0834`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})}),/* @__PURE__ */ Y(`svg`,{"aria-hidden":`true`,viewBox:`0 0 14 14`,fill:`none`,className:U(`pointer-events-none absolute size-3 text-fg-white opacity-0 transition-inherit-all`,i===`md`&&`size-3.5`,t&&!r&&`opacity-100`),children:/* @__PURE__ */ Y(`path`,{d:`M11.6666 3.5L5.24992 9.91667L2.33325 7`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})})]});gr.displayName=`CheckboxBase`;var _r=({label:e,hint:t,size:n=`sm`,className:r,...i})=>{let a={sm:{root:`gap-2`,textWrapper:``,label:`text-sm font-medium`,hint:`text-sm`},md:{root:`gap-3`,textWrapper:`gap-0.5`,label:`text-md font-medium`,hint:`text-md`}};return/* @__PURE__ */ Y(Rt,{...i,className:e=>U(`relative flex items-start`,e.isDisabled&&`cursor-not-allowed`,a[n].root,typeof r==`function`?r(e):r),children:({isSelected:r,isIndeterminate:i,isDisabled:o,isFocusVisible:s})=>/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(gr,{size:n,isSelected:r,isIndeterminate:i,isDisabled:o,isFocusVisible:s,className:e||t?`mt-0.5`:``}),(e||t)&&/* @__PURE__ */ X(`div`,{className:U(`inline-flex flex-col`,a[n].textWrapper),children:[e&&/* @__PURE__ */ Y(`p`,{className:U(`text-secondary select-none`,a[n].label),children:e}),t&&/* @__PURE__ */ Y(`span`,{className:U(`text-tertiary`,a[n].hint),onClick:e=>e.stopPropagation(),children:t})]})]})})};_r.displayName=`Checkbox`;var vr={sm:{root:`px-2 py-1.5 pr-2.5 gap-2 *:data-icon:size-4 *:data-icon:stroke-[2.25px]`,text:`text-[13px]/5`,textContainer:`gap-x-1.5`,check:`size-4 stroke-[2.25px]`,checkbox:`sm`},md:{root:`p-2 pr-2.5 gap-2 *:data-icon:size-5`,text:`text-md`,textContainer:`gap-x-2`,check:`size-5`,checkbox:`sm`},lg:{root:`p-2.5 pl-2 gap-2 *:data-icon:size-5`,text:`text-md`,textContainer:`gap-x-2`,check:`size-5`,checkbox:`md`}},yr=({label:e,id:t,value:n,avatarUrl:r,supportingText:i,isDisabled:a,icon:o,className:s,children:c,selectionIndicator:l=`checkmark`,selectionIndicatorAlign:u=`right`,...d})=>{let{size:f}=Dt(dr),p=e||(typeof c==`string`?c:``),m=i?p+` `+i:p,h=u===`left`;return/* @__PURE__ */ Y(nn,{id:t,value:n??{id:t,label:p,avatarUrl:r,supportingText:i,isDisabled:a,icon:o},textValue:m,isDisabled:a,...d,className:e=>U(`w-full py-px outline-hidden`,f===`sm`?`px-1`:`px-1.5`,typeof s==`function`?s(e):s),children:t=>/* @__PURE__ */ X(`div`,{className:U(`flex cursor-pointer items-center rounded-md outline-hidden select-none`,(t.isFocused||t.isHovered||t.isSelected&&l!==`checkbox`)&&`bg-primary_hover`,t.isDisabled&&`cursor-not-allowed opacity-50`,t.isFocusVisible&&`ring-2 ring-focus-ring ring-inset`,`*:data-icon:shrink-0 *:data-icon:text-fg-quaternary`,vr[f].root),children:[h&&l===`checkbox`&&/* @__PURE__ */ Y(gr,{size:vr[f].checkbox,isSelected:t.isSelected,isDisabled:t.isDisabled}),r?/* @__PURE__ */ Y(Ze,{"aria-hidden":`true`,size:`xs`,src:r,alt:e,className:U(f===`sm`&&`size-5`)}):Qe(o)?/* @__PURE__ */ Y(o,{"data-icon":!0,"aria-hidden":`true`}):wt(o)?o:null,/* @__PURE__ */ X(`div`,{className:U(`flex w-full min-w-0 flex-1 flex-wrap`,vr[f].textContainer),children:[/* @__PURE__ */ Y(An,{slot:`label`,className:U(`truncate font-medium whitespace-nowrap text-primary`,vr[f].text),children:e||(typeof c==`function`?c(t):c)}),i&&/* @__PURE__ */ Y(An,{slot:`description`,className:U(`whitespace-nowrap text-tertiary`,vr[f].text),children:i})]}),t.isSelected&&l===`checkmark`&&/* @__PURE__ */ Y(oe,{"aria-hidden":`true`,className:U(`ml-auto text-fg-brand-primary`,vr[f].check)}),!h&&l===`checkbox`&&/* @__PURE__ */ Y(gr,{size:vr[f].checkbox,isSelected:t.isSelected,isDisabled:t.isDisabled,className:`ml-auto`})]})})},br=({isOpen:e,isFocused:t,isDisabled:n,size:r,placeholder:i,icon:a,ref:o})=>/* @__PURE__ */ Y(Lt,{ref:o,className:U(`relative flex w-full cursor-pointer items-center rounded-lg bg-primary shadow-xs ring-1 ring-primary outline-hidden transition duration-100 ease-linear ring-inset`,(t||e)&&`ring-2 ring-brand`,!n&&`hover:bg-primary_hover`,n&&`cursor-not-allowed opacity-50`),children:/* @__PURE__ */ Y(vn,{className:e=>U(`flex h-max w-full items-center justify-start truncate text-left align-middle`,ur[r].root,(e.selectedItems[0]?.icon||a)&&ur[r].withIcon,`*:data-icon:shrink-0 *:data-icon:text-fg-quaternary`),children:e=>{let t=e.selectedItems[0],n=t?.icon||a;return/* @__PURE__ */ X(J,{children:[t?.avatarUrl?/* @__PURE__ */ Y(Ze,{size:`xs`,src:t.avatarUrl,alt:t.label,className:U(r===`sm`&&`size-5`)}):Qe(n)?/* @__PURE__ */ Y(n,{"data-icon":!0,"aria-hidden":`true`}):wt(n)?n:null,t?/* @__PURE__ */ X(`section`,{className:U(`flex w-full truncate`,ur[r].textContainer),children:[/* @__PURE__ */ Y(`p`,{className:U(`truncate font-medium text-primary`,ur[r].text),children:t?.label}),t?.supportingText&&` `,t?.supportingText&&/* @__PURE__ */ Y(`p`,{className:U(`text-tertiary`,ur[r].text),children:t?.supportingText})]}):/* @__PURE__ */ Y(`p`,{className:U(`text-placeholder`,ur[r].text),children:i}),/* @__PURE__ */ Y(Ne,{"aria-hidden":`true`,className:U(`ml-auto shrink-0 text-fg-quaternary`,r===`lg`?`size-5`:`size-4 stroke-[2.25px]`)})]})}})}),xr=({placeholder:e=`Select`,icon:t,size:n=`md`,children:r,items:i,label:a,hint:o,tooltip:s,hideRequiredIndicator:c,className:l,...u})=>/* @__PURE__ */ Y(dr.Provider,{value:{size:n},children:/* @__PURE__ */ Y(_n,{...u,className:e=>U(`flex flex-col gap-1.5`,typeof l==`function`?l(e):l),children:l=>/* @__PURE__ */ X(J,{children:[a&&/* @__PURE__ */ Y(qe,{isRequired:!c&&l.isRequired,tooltip:s,children:a}),/* @__PURE__ */ Y(br,{...l,size:n,placeholder:e,icon:t}),/* @__PURE__ */ Y(lr,{size:n,className:u.popoverClassName,children:/* @__PURE__ */ Y(tn,{items:i,className:`size-full outline-hidden`,children:r})}),o&&/* @__PURE__ */ Y(Ke,{isInvalid:l.isInvalid,className:U(n===`sm`&&`text-xs`),children:o})]})})});xr.ComboBox=hr,xr.Item=yr;var Sr={bottom:{w:14,h:8,fill:`M0 8 L7 1 L14 8 Z`,edge:`M0 8 L7 1 L14 8`},top:{w:14,h:8,fill:`M0 0 L7 7 L14 0 Z`,edge:`M0 0 L7 7 L14 0`},right:{w:8,h:14,fill:`M8 0 L1 7 L8 14 Z`,edge:`M8 0 L1 7 L8 14`},left:{w:8,h:14,fill:`M0 0 L7 7 L0 14 Z`,edge:`M0 0 L7 7 L0 14`}};function Cr(e,t){if(t!==0)switch(e){case`bottom`:return`translateY(${t}px)`;case`top`:return`translateY(-${t}px)`;case`right`:return`translateX(${t}px)`;case`left`:return`translateX(-${t}px)`}}function wr(e){return e===`top`||e===`left`||e===`right`?e:`bottom`}function Tr(e,t){let n=wr(e);return{side:n,...Sr[n],transform:Cr(n,+(t===`border`))}}function Er({edge:e=`border`}){return/* @__PURE__ */ Y(dn,{className:`pointer-events-none z-1`,"data-caret":``,"data-edge":e,children:({placement:t})=>{let n=Tr(t,e);return/* @__PURE__ */ X(`svg`,{"aria-hidden":`true`,focusable:`false`,width:n.w,height:n.h,viewBox:`0 0 ${n.w} ${n.h}`,className:`block overflow-visible`,style:{transform:n.transform},children:[/* @__PURE__ */ Y(`path`,{d:n.fill,fill:`var(--pop)`}),/* @__PURE__ */ Y(`path`,{d:n.edge,fill:`none`,stroke:`var(--border)`,strokeWidth:1,strokeLinejoin:`round`})]})}})}function Dr({children:e}){return/* @__PURE__ */ Y(J,{children:e})}function Z({content:e,children:t,side:n=`bottom`,shortcut:r}){if(!e)return t;let i=t.props.disabled===!0;return/* @__PURE__ */ Y(Ye,{title:r?/* @__PURE__ */ X(`span`,{className:`flex items-center gap-2`,children:[/* @__PURE__ */ Y(`span`,{children:e}),/* @__PURE__ */ Y(`kbd`,{className:`rounded border border-white/20 bg-white/10 px-1.5 font-mono text-[11px] leading-[18px] font-medium text-tooltip-supporting-text`,children:r})]}):e,placement:n,arrow:!0,delay:350,exitAnimation:!1,children:/* @__PURE__ */ Y(Kt,{isDisabled:i,children:t})})}function Or({trigger:e,children:t,align:n=`left`,drop:r=`down`,width:i,panelStyle:a,label:o,tooltip:s}){let[c,l]=q(!1);return/* @__PURE__ */ X(Wt,{isOpen:c,onOpenChange:l,children:[s?/* @__PURE__ */ Y(Z,{content:s,children:/* @__PURE__ */ Y(pn,{children:e(c,()=>{})})}):/* @__PURE__ */ Y(pn,{children:e(c,()=>{})}),/* @__PURE__ */ X(fn,{placement:`${r===`up`?`top`:`bottom`} ${n===`right`?`end`:`start`}`,offset:8,arrowBoundaryOffset:6,containerPadding:8,isNonModal:!0,className:`z-(--z-popover)`,style:{width:i,fontSize:`var(--app-font, 13.5px)`},children:[/* @__PURE__ */ Y(Er,{edge:`border`}),/* @__PURE__ */ Y(Ut,{"aria-label":o,className:`ich-pop outline-hidden`,style:{background:`var(--pop)`,border:`1px solid var(--border)`,borderRadius:`min(calc(var(--radius) + 2px), 10px)`,boxShadow:`var(--shadow-elevated)`,overflow:`hidden`,...kr(a)},children:({close:e})=>/* @__PURE__ */ Y(`div`,{className:`max-h-[72vh] overflow-y-auto overscroll-contain touch-pan-y`,children:t(e)})})]})]})}function kr(e){if(!e)return{};let{position:t,top:n,right:r,bottom:i,left:a,transform:o,...s}=e;return s}var Ar=`background-color .12s ease, color .12s ease, border-color .12s ease, transform .12s ease`,jr=(e=!1)=>({width:30,height:30,display:`flex`,alignItems:`center`,justifyContent:`center`,border:`none`,backgroundColor:e?`var(--accent-soft)`:`var(--ich-hover-bg, transparent)`,borderRadius:`calc(var(--radius) - 2px)`,cursor:`pointer`,color:e?`var(--color-text-brand-secondary)`:`var(--ich-hover-fg, var(--muted-fg))`,flex:`none`,transition:Ar}),Mr={height:28,display:`flex`,alignItems:`center`,gap:6,padding:`0 9px`,border:`1px solid var(--ich-hover-border, var(--border))`,borderRadius:`calc(var(--radius) - 3px)`,backgroundColor:`var(--ich-hover-bg, var(--bg))`,cursor:`pointer`,color:`var(--fg)`,fontSize:12,transition:Ar},Nr={display:`flex`,alignItems:`center`,gap:9,width:`100%`,height:30,padding:`0 8px`,border:`none`,backgroundColor:`var(--ich-hover-bg, transparent)`,borderRadius:`calc(var(--radius) - 3px)`,cursor:`pointer`,color:`var(--fg)`,fontSize:12.5,transition:Ar},Pr=Xe({common:{root:`group/button-group inline-flex h-max cursor-pointer items-center bg-primary font-semibold whitespace-nowrap text-secondary shadow-skeuomorphic ring-1 ring-primary outline-brand transition duration-100 ease-linear ring-inset hover:bg-primary_hover hover:text-secondary_hover focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2 disabled:cursor-not-allowed disabled:text-secondary/50 disabled:*:opacity-50 selected:bg-primary_hover selected:text-secondary_hover`,icon:`pointer-events-none text-fg-quaternary transition-[inherit] group-hover/button-group:text-fg-quaternary_hover group-selected/button-group:text-fg-quaternary_hover`},sizes:{sm:{root:`gap-1.5 px-3.5 py-2 text-sm not-last:pr-[calc(calc(var(--spacing)*3.5)+1px)] first:rounded-l-lg last:rounded-r-lg data-icon-leading:pl-3 data-icon-only:px-2.5`,icon:`size-5`},md:{root:`gap-1.5 px-4 py-2.5 text-sm not-last:pr-[calc(calc(var(--spacing)*4)+1px)] first:rounded-l-lg last:rounded-r-lg data-icon-leading:pl-3.5 data-icon-only:px-3`,icon:`size-5`},lg:{root:`gap-2 px-4.5 py-2.5 text-md not-last:pr-[calc(calc(var(--spacing)*4.5)+1px)] first:rounded-l-lg last:rounded-r-lg data-icon-leading:pl-4 data-icon-only:px-3.5`,icon:`size-5`}}}),Fr=Ct({size:`md`}),Ir=({iconLeading:e,iconTrailing:t,children:n,className:r,...i})=>{let a=Dt(Fr);if(!a)throw Error(`ButtonGroupItem must be used within a ButtonGroup component`);let{size:o}=a,s=(e||t)&&!n;return/* @__PURE__ */ X(Mn,{...i,"data-icon-only":s?!0:void 0,"data-icon-leading":e?!0:void 0,className:U(Pr.common.root,Pr.sizes[o].root,r),children:[Qe(e)&&/* @__PURE__ */ Y(e,{className:U(Pr.common.icon,Pr.sizes[o].icon)}),wt(e)&&e,n,Qe(t)&&/* @__PURE__ */ Y(t,{className:U(Pr.common.icon,Pr.sizes[o].icon)}),wt(t)&&t]})},Lr=({children:e,size:t=`md`,className:n,...r})=>/* @__PURE__ */ Y(Fr.Provider,{value:{size:t},children:/* @__PURE__ */ Y(Nn,{selectionMode:`single`,className:U(`relative z-0 inline-flex w-max -space-x-px rounded-lg shadow-xs`,n),...r,children:e})});function Rr({label:e,value:t,options:n,onChange:r,className:i,itemClassName:a}){return/* @__PURE__ */ Y(Lr,{size:`sm`,"aria-label":e,selectedKeys:[t],disallowEmptySelection:!0,onSelectionChange:e=>{let t=[...e][0];t!==void 0&&r(String(t))},className:U(`flex -space-x-0 gap-0.5 rounded-[var(--radius)] bg-transparent p-0.5 shadow-none ring-1 ring-[var(--border)] ring-inset`,i),children:n.map(e=>/* @__PURE__ */ Y(Ir,{id:e.id,className:U(`h-[22px] justify-center rounded-[calc(var(--radius)_-_2px)] bg-transparent px-2 py-0 text-[11px] font-medium text-tertiary ring-0 not-last:pr-2 first:rounded-[calc(var(--radius)_-_2px)] last:rounded-[calc(var(--radius)_-_2px)] shadow-none hover:bg-transparent [&:not([data-selected])]:hover:bg-[var(--muted)] [&:not([data-selected])]:hover:text-secondary data-[pressed]:scale-[.97] selected:bg-brand-primary_alt selected:font-semibold selected:text-brand-secondary`,a),children:e.label},e.id))})}var zr=({className:e,isHovered:t,isDisabled:n,isFocusVisible:r,isSelected:i,slim:a,size:o=`sm`})=>{let s={default:{sm:{root:`h-5 w-9 p-0.5`,switch:U(`size-4`,i&&`translate-x-4`)},md:{root:`h-6 w-11 p-0.5`,switch:U(`size-5`,i&&`translate-x-5`)}},slim:{sm:{root:`h-4 w-8`,switch:U(`size-4`,i&&`translate-x-4`)},md:{root:`h-5 w-10`,switch:U(`size-5`,i&&`translate-x-5`)}}},c=a?s.slim[o]:s.default[o];return/* @__PURE__ */ Y(`div`,{className:U(`cursor-pointer rounded-full bg-tertiary ring-[0.5px] ring-secondary outline-focus-ring transition duration-150 ease-linear ring-inset`,i&&`bg-brand-solid`,i&&t&&`bg-brand-solid_hover`,n&&`cursor-not-allowed opacity-50`,r&&`outline-2 outline-offset-2`,a&&`ring-1`,a&&i&&`ring-transparent`,c.root,e),children:/* @__PURE__ */ Y(`div`,{style:{transition:`transform 0.15s ease-in-out, translate 0.15s ease-in-out, border-color 0.1s linear, background-color 0.1s linear`},className:U(`rounded-full bg-fg-white shadow-sm`,a&&`shadow-xs`,a&&`border border-toggle-border`,a&&i&&`border-toggle-slim-border_pressed`,a&&i&&t&&`border-toggle-slim-border_pressed-hover`,c.switch)})})},Br={sm:{root:`gap-2`,textWrapper:``,label:`text-sm font-medium`,hint:`text-sm`},md:{root:`gap-3`,textWrapper:`gap-0.5`,label:`text-md font-medium`,hint:`text-md`}},Vr=({label:e,hint:t,className:n,size:r=`sm`,slim:i,...a})=>/* @__PURE__ */ Y(wn,{...a,className:e=>U(`relative flex w-max items-start`,e.isDisabled&&`cursor-not-allowed`,Br[r].root,typeof n==`function`?n(e):n),children:({isSelected:n,isDisabled:a,isFocusVisible:o,isHovered:s})=>/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(zr,{slim:i,size:r,isHovered:s,isDisabled:a,isFocusVisible:o,isSelected:n,className:i?`mt-0.5`:``}),(e||t)&&/* @__PURE__ */ X(`div`,{className:U(`flex flex-col`,Br[r].textWrapper),children:[e&&/* @__PURE__ */ Y(`p`,{className:U(`text-secondary select-none`,Br[r].label),children:e}),t&&/* @__PURE__ */ Y(`span`,{className:U(`text-tertiary`,Br[r].hint),onClick:e=>e.stopPropagation(),children:t})]})]})}),Hr=Xe({default:`hidden`,bottom:`absolute top-2 left-1/2 -translate-x-1/2 translate-y-full text-md font-medium text-primary`,"top-floating":`absolute -top-2 left-1/2 -translate-x-1/2 -translate-y-full rounded-lg bg-primary px-2 py-1.5 text-xs font-semibold text-secondary shadow-lg ring-1 ring-secondary_alt`}),Ur=({labelPosition:e=`default`,minValue:t=0,maxValue:n=100,labelFormatter:r,formatOptions:i,...a})=>{let o={style:`percent`,maximumFractionDigits:0},s=!!(a[`aria-label`]||a[`aria-labelledby`]);return/* @__PURE__ */ X(bn,{...a,minValue:t,maxValue:n,formatOptions:i??o,children:[!s&&/* @__PURE__ */ Y($t,{}),/* @__PURE__ */ Y(Cn,{className:`relative h-6 w-full`,children:({state:{values:t,getThumbValue:n,getThumbPercent:i,getFormattedValue:a}})=>{let o=t.length===1?0:i(0),s=t.length===1?i(0):i(1)-o;return/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(`span`,{className:`absolute top-1/2 h-2 w-full -translate-y-1/2 rounded-full bg-quaternary`}),/* @__PURE__ */ Y(`span`,{className:`absolute top-1/2 h-2 w-full -translate-y-1/2 rounded-full bg-brand-solid`,style:{left:`${o*100}%`,width:`${s*100}%`}}),t.map((t,i)=>/* @__PURE__ */ Y(Sn,{index:i,className:({isFocusVisible:e,isDragging:t})=>U(`top-1/2 box-border size-6 cursor-grab rounded-full bg-slider-handle-bg shadow-md ring-2 ring-slider-handle-border ring-inset`,e&&`outline-2 outline-offset-2 outline-focus-ring`,t&&`cursor-grabbing`),children:/* @__PURE__ */ Y(xn,{className:U(`whitespace-nowrap`,Hr[e]),children:r?r(n(i)):a(n(i)/100)})},i))]})}})]})},Wr={display:`flex`,alignItems:`center`,gap:8},Gr={fontSize:11.5,fontWeight:550,color:`var(--muted-fg)`};function Kr(){let e=E(e=>e.theme),t=E(e=>e.setTheme),n=E(e=>e.config?.features.themeToggle!==!1),r=E(e=>e.accent),i=E(e=>e.setAccent),a=E(e=>e.radius),o=E(e=>e.setRadius),s=E(e=>e.scale),c=E(e=>e.setScale),l=E(e=>e.density),u=E(e=>e.setDensity),d=E(e=>e.reduceMotion),p=E(e=>e.toggleReduceMotion),m=E(e=>e.showLabels),h=E(e=>e.toggleLabels),_=E(e=>e.adaptMonochrome),v=E(e=>e.toggleAdaptMonochrome),[y,b]=q(r),x=E(e=>e.config?.ui.accentOptions)??g.ui.accentOptions,S=E(e=>e.config?.ui.scaleOptions)??g.ui.scaleOptions,C=E(e=>e.config?.ranges.radius)??g.ranges.radius,w=E(e=>e.locale),T=E(e=>e.setLocale),D=f();return/* @__PURE__ */ Y(Or,{label:D(`appearance.title`),align:`right`,width:250,panelStyle:{padding:12},tooltip:D(`appearance.title`),trigger:(e,t)=>/* @__PURE__ */ Y(`button`,{onClick:t,"aria-label":D(`appearance.title`),style:jr(e),children:/* @__PURE__ */ Y(H,{name:`palette`,color:`currentColor`})}),children:()=>/* @__PURE__ */ X(`div`,{className:`flex flex-col gap-[11px]`,children:[/* @__PURE__ */ X(`div`,{style:{...Wr,gap:7,paddingBottom:2,borderBottom:`1px solid var(--border)`},children:[/* @__PURE__ */ Y(H,{name:`palette`,size:12,color:`var(--accent-text)`}),/* @__PURE__ */ Y(`span`,{className:`text-[12px] font-[600]`,children:D(`appearance.title`)}),/* @__PURE__ */ Y(`span`,{className:`text-[10px] text-[var(--faint-fg)]`,children:D(`appearance.subtitle`)})]}),n&&/* @__PURE__ */ X(`div`,{style:{...Wr,justifyContent:`space-between`},children:[/* @__PURE__ */ Y(`span`,{style:Gr,children:D(`appearance.theme`)}),/* @__PURE__ */ Y(Rr,{label:D(`appearance.theme`),value:e,onChange:t,options:[{id:`light`,label:D(`appearance.light`)},{id:`dark`,label:D(`appearance.dark`)}]})]}),/* @__PURE__ */ X(`div`,{className:`flex flex-col gap-1.5`,children:[/* @__PURE__ */ Y(`span`,{style:Gr,children:D(`appearance.brandAccent`)}),/* @__PURE__ */ Y(`div`,{className:`flex gap-[5px]`,children:x.map(e=>/* @__PURE__ */ Y(`button`,{onClick:()=>{i(e),b(e)},title:e,"aria-label":e,"aria-pressed":r.toLowerCase()===e,style:{width:22,height:22,borderRadius:`50%`,background:e,border:r.toLowerCase()===e?`2px solid var(--fg)`:`2px solid transparent`,cursor:`pointer`}},e))}),/* @__PURE__ */ X(`div`,{style:{...Wr,gap:6,marginTop:6},children:[/* @__PURE__ */ Y(`span`,{className:`text-[10.5px] text-[var(--muted-fg)] flex-none`,children:D(`appearance.customHex`)}),/* @__PURE__ */ Y(cr,{size:`sm`,value:y,onChange:e=>{b(e),R(e)&&i(e)},placeholder:`#0e7c66`,"aria-label":D(`appearance.customHex`),inputClassName:`font-mono`,className:`min-w-0 flex-1`}),/* @__PURE__ */ Y(`span`,{style:{width:16,height:16,borderRadius:5,background:r,flex:`none`}})]})]}),/* @__PURE__ */ X(`div`,{style:Wr,children:[/* @__PURE__ */ Y(`span`,{style:Gr,children:D(`appearance.radius`)}),/* @__PURE__ */ Y(`div`,{className:`flex-1`,children:/* @__PURE__ */ Y(Ur,{minValue:C.min,maxValue:C.max,value:a,onChange:e=>o(e),"aria-label":D(`appearance.radius`),formatOptions:{style:`decimal`}})}),/* @__PURE__ */ X(`span`,{className:`font-[family-name:'Geist_Mono',monospace] text-[10.5px] text-[var(--muted-fg)] w-[30px]`,children:[a,`px`]})]}),/* @__PURE__ */ X(`div`,{style:Wr,children:[/* @__PURE__ */ Y(`span`,{style:Gr,children:D(`appearance.size`)}),/* @__PURE__ */ Y(`span`,{className:`flex-1`}),/* @__PURE__ */ Y(Rr,{label:D(`appearance.size`),value:s,onChange:c,options:S.map(e=>({id:e.id,label:e.label}))})]}),/* @__PURE__ */ X(`div`,{style:Wr,children:[/* @__PURE__ */ Y(`span`,{style:Gr,children:D(`appearance.density`)}),/* @__PURE__ */ Y(`span`,{className:`flex-1`}),/* @__PURE__ */ Y(Rr,{label:D(`appearance.density`),value:l,onChange:u,options:[{id:`compact`,label:D(`appearance.compact`)},{id:`comfy`,label:D(`appearance.comfy`)}]})]}),/* @__PURE__ */ X(`div`,{style:Wr,children:[/* @__PURE__ */ Y(`span`,{style:Gr,children:D(`appearance.language`)}),/* @__PURE__ */ Y(`span`,{className:`flex-1`}),/* @__PURE__ */ Y(xr,{size:`sm`,"aria-label":D(`appearance.language`),items:ye.map(e=>({id:e.code,label:e.label})),selectedKey:w,onSelectionChange:e=>T(e),className:`w-32`,children:e=>/* @__PURE__ */ Y(xr.Item,{...e})})]}),/* @__PURE__ */ Y(qr,{label:D(`appearance.reduceMotion`),on:d,onToggle:p}),/* @__PURE__ */ Y(qr,{label:D(`appearance.iconLabels`),on:m,onToggle:h}),/* @__PURE__ */ Y(qr,{label:D(`appearance.adaptMono`),on:_,onToggle:v}),/* @__PURE__ */ Y(`div`,{className:`text-[10px] text-[var(--faint-fg)] leading-[1.45]`,children:D(`appearance.footer`)})]})})}function qr({label:e,on:t,onToggle:n}){return/* @__PURE__ */ X(`div`,{style:Wr,children:[/* @__PURE__ */ Y(`span`,{style:Gr,children:e}),/* @__PURE__ */ Y(`span`,{className:`flex-1`}),/* @__PURE__ */ Y(Vr,{size:`sm`,"aria-label":e,isSelected:t,onChange:n})]})}var Jr=Ct(null),Yr=({className:e,isFocusVisible:t,isSelected:n,isDisabled:r,size:i=`sm`})=>/* @__PURE__ */ Y(`div`,{className:U(`flex size-4 shrink-0 cursor-pointer appearance-none items-center justify-center rounded-full bg-primary ring-1 ring-primary ring-inset`,i===`md`&&`size-5`,n&&`bg-brand-solid ring-brand-solid`,r&&`cursor-not-allowed opacity-50`,r&&!n&&`bg-tertiary`,t&&`outline-2 outline-offset-2 outline-focus-ring`,e),children:/* @__PURE__ */ Y(`div`,{className:U(`size-1.5 rounded-full bg-fg-white opacity-0 transition-inherit-all`,i===`md`&&`size-2`,n&&`opacity-100`)})});Yr.displayName=`RadioButtonBase`;var Xr=({label:e,hint:t,className:n,size:r=`sm`,...i})=>{r=Dt(Jr)?.size??r;let a={sm:{root:`gap-2`,textWrapper:``,label:`text-sm font-medium`,hint:`text-sm`},md:{root:`gap-3`,textWrapper:`gap-0.5`,label:`text-md font-medium`,hint:`text-md`}};return/* @__PURE__ */ Y(mn,{...i,className:e=>U(`relative flex items-start`,e.isDisabled&&`cursor-not-allowed`,a[r].root,typeof n==`function`?n(e):n),children:({isSelected:n,isDisabled:i,isFocusVisible:o})=>/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(Yr,{size:r,isSelected:n,isDisabled:i,isFocusVisible:o,className:e||t?`mt-0.5`:``}),(e||t)&&/* @__PURE__ */ X(`div`,{className:U(`inline-flex flex-col`,a[r].textWrapper),children:[e&&/* @__PURE__ */ Y(`p`,{className:U(`text-secondary select-none`,a[r].label),children:e}),t&&/* @__PURE__ */ Y(`span`,{className:U(`text-tertiary`,a[r].hint),onClick:e=>e.stopPropagation(),children:t})]})]})})};Xr.displayName=`RadioButton`;var Zr=({children:e,className:t,size:n=`sm`,...r})=>/* @__PURE__ */ Y(Jr.Provider,{value:{size:n},children:/* @__PURE__ */ Y(hn,{...r,className:U(`flex flex-col gap-4`,t),children:e})}),Q={Root:cn,Popover:e=>/* @__PURE__ */ Y(fn,{placement:`bottom right`,...e,className:t=>U(`w-62 origin-(--trigger-anchor-point) overflow-auto rounded-lg bg-primary shadow-lg ring-1 ring-secondary_alt will-change-transform`,t.isEntering&&`duration-150 ease-out animate-in fade-in placement-right:slide-in-from-left-0.5 placement-top:slide-in-from-bottom-0.5 placement-bottom:slide-in-from-top-0.5`,t.isExiting&&`duration-100 ease-in animate-out fade-out placement-right:slide-out-to-left-0.5 placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5`,typeof e.className==`function`?e.className(t):e.className),children:e.children}),Menu:e=>/* @__PURE__ */ Y(an,{...e,className:t=>U(`h-min overflow-y-auto py-1 outline-hidden select-none`,typeof e.className==`function`?e.className(t):e.className)}),Section:sn,SectionHeader:Yt,Item:({label:e,children:t,addon:n,icon:r,avatarUrl:i,unstyled:a,selectionIndicator:o=`checkmark`,...s})=>{let c=Et(e=>o===`checkmark`?/* @__PURE__ */ Y(oe,{"aria-hidden":`true`,className:U(`size-4 shrink-0 stroke-[2.25px] text-fg-brand-primary`,!e.isSelected&&`invisible`,e.className)}):o===`checkbox`?/* @__PURE__ */ Y(gr,{isSelected:e.isSelected&&!e.hasSubmenu,isIndeterminate:e.isSelected&&e.hasSubmenu,size:`sm`,className:U(`shrink-0`,e.className)}):o===`radio`?/* @__PURE__ */ Y(Yr,{isSelected:e.isSelected,className:U(`shrink-0`,e.className)}):o===`toggle`?/* @__PURE__ */ Y(zr,{slim:!0,size:`sm`,isSelected:e.isSelected,className:U(`shrink-0`,e.className)}):null,[o]);return a?/* @__PURE__ */ Y(on,{id:e,textValue:e,...s}):/* @__PURE__ */ Y(on,{...s,className:e=>U(`group block cursor-pointer px-1.5 py-px outline-hidden`,e.isDisabled&&`cursor-not-allowed opacity-50`,typeof s.className==`function`?s.className(e):s.className),children:a=>/* @__PURE__ */ X(`div`,{className:U(`relative flex items-center rounded-md px-2.5 py-2 outline-focus-ring transition duration-100 ease-linear`,!a.isDisabled&&`group-hover:bg-primary_hover`,a.isFocused&&`bg-primary_hover`,a.isFocusVisible&&`outline-2 -outline-offset-2`,a.hasSubmenu&&`pr-1.5`),children:[a.selectionMode!==`none`&&!i&&!r&&/* @__PURE__ */ Y(c,{...a,className:`mr-2`}),i&&/* @__PURE__ */ Y(`div`,{className:`mr-2 flex size-4 items-center justify-center`,children:/* @__PURE__ */ Y(Ze,{"aria-hidden":`true`,size:`xs`,src:i,alt:e,className:`size-5`})}),r&&/* @__PURE__ */ Y(r,{"aria-hidden":`true`,className:`mr-2 size-4 shrink-0 stroke-[2.25px] text-fg-quaternary`}),/* @__PURE__ */ Y(`span`,{className:U(`grow truncate text-sm font-semibold text-secondary`,a.isFocused&&`text-secondary_hover`),children:e||(typeof t==`function`?t(a):t)}),n&&/* @__PURE__ */ Y(`span`,{className:`ml-1 shrink-0 pr-1 text-xs font-medium text-quaternary`,children:n}),a.selectionMode!==`none`&&(i||r)&&/* @__PURE__ */ Y(c,{...a,className:`ml-1`}),a.hasSubmenu&&/* @__PURE__ */ Y(ce,{"aria-hidden":`true`,className:`ml-auto size-4 shrink-0 stroke-[2.25px] text-fg-quaternary`})]})})},Separator:e=>/* @__PURE__ */ Y(yn,{...e,className:U(`my-1 h-px w-full bg-border-secondary`,e.className)}),DotsButton:e=>/* @__PURE__ */ Y(Lt,{...e,"aria-label":`Open menu`,className:t=>U(`cursor-pointer rounded-md text-fg-quaternary outline-focus-ring transition duration-100 ease-linear`,(t.isPressed||t.isHovered)&&`text-fg-quaternary_hover`,(t.isPressed||t.isFocusVisible)&&`outline-2 outline-offset-2`,typeof e.className==`function`?e.className(t):e.className),children:/* @__PURE__ */ Y(ue,{className:`size-5 transition-inherit-all`})})};function Qr({align:e=`left`,width:t,className:n,children:r,...i}){return/* @__PURE__ */ X(Q.Popover,{placement:`bottom ${e===`right`?`end`:`start`}`,offset:9,arrowBoundaryOffset:6,containerPadding:8,isNonModal:!0,...i,className:U(`z-(--z-popover) w-auto min-w-36 overflow-visible bg-[var(--pop)] shadow-[var(--shadow-elevated)] ring-[var(--border)]`,n),style:{width:t,fontSize:`var(--app-font, 13.5px)`,borderRadius:`min(calc(var(--radius) + 2px), 10px)`},children:[/* @__PURE__ */ Y(Er,{edge:`ring`}),r]})}var $r=({children:e,className:t,...n})=>/* @__PURE__ */ Y(`span`,{...n,className:U(`text-[12.5px] font-medium`,t),children:e}),ei=`ich-pop max-h-[72vh] p-0.5`;function ti({trigger:e,items:t,align:n=`left`,label:r=`Menu`}){return/* @__PURE__ */ X(Q.Root,{children:[/* @__PURE__ */ Y(pn,{children:e}),/* @__PURE__ */ Y(Qr,{align:n,children:/* @__PURE__ */ Y(Q.Menu,{"aria-label":r,className:ei,children:t.map(e=>/* @__PURE__ */ Y(Q.Item,{id:e.id,onAction:e.onAction,textValue:typeof e.label==`string`?e.label:e.id,children:/* @__PURE__ */ Y($r,{className:e.danger?`text-[var(--danger)]`:void 0,children:e.label})},e.id))})})]})}function ni(){let e=E(e=>e.locale),t=E(e=>e.setLocale),n=f(),r=ye.find(t=>t.code===e),[i,a]=q(!1);return/* @__PURE__ */ X(Q.Root,{isOpen:i,onOpenChange:a,children:[/* @__PURE__ */ Y(Z,{content:`${n(`appearance.language`)} · ${r?.label??``}`,children:/* @__PURE__ */ Y(pn,{children:/* @__PURE__ */ Y(`button`,{"aria-label":n(`appearance.language`),style:jr(i),children:/* @__PURE__ */ Y(H,{name:`globe`,color:`currentColor`})})})}),/* @__PURE__ */ Y(Qr,{align:`right`,width:188,children:/* @__PURE__ */ Y(Q.Menu,{"aria-label":n(`appearance.language`),className:ei,selectionMode:`single`,selectedKeys:[e],disallowEmptySelection:!0,onAction:e=>t(e),children:ye.map(e=>/* @__PURE__ */ Y(Q.Item,{id:e.code,textValue:e.label,addon:e.code.toUpperCase(),children:/* @__PURE__ */ Y($r,{dir:e.dir,children:e.label})},e.code))})})]})}var ri={width:22,height:22,borderRadius:`50%`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:9,fontWeight:600,color:`var(--accent-fg)`,background:`var(--accent)`,border:`2px solid var(--bg)`};function ii(){let e=Ae(),t=E(e=>e.config),n=E(e=>e.activeWorkspaceId),r=E(e=>e.auth.status===`authed`),i=f();if(!t||t.features.presence===!1||!r)return null;let a=t.team??[],o=a.filter(e=>e.online),s=t.user.workspaces.find(e=>e.id===n)??t.user.workspaces[0];if(!a.length)return null;let c=t.ui.avatarPalette?.length?t.ui.avatarPalette:ai;return/* @__PURE__ */ Y(Or,{label:i(`team.title`),align:`right`,width:250,panelStyle:{padding:0},trigger:(e,t)=>/* @__PURE__ */ Y(`button`,{onClick:t,title:`${i(`team.online`,{n:o.length})} · ${s?.name??i(`team.title`)}`,className:`flex items-center ps-2 h-[30px] border-0 bg-transparent cursor-pointer`,children:o.slice(0,3).map((e,t)=>/* @__PURE__ */ Y(`div`,{style:{...ri,marginInlineStart:t===0?0:-8,background:c[t%c.length]},children:e.initials},e.initials))}),children:n=>/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ X(`div`,{className:`flex items-center gap-2 py-[9px] px-3 border-b border-b-[var(--border)]`,children:[/* @__PURE__ */ Y(`span`,{className:`text-[12px] font-[600]`,children:i(`team.title`)}),/* @__PURE__ */ Y(`span`,{className:`font-[family-name:'Geist_Mono',monospace] text-[9.5px] text-[var(--faint-fg)]`,children:s?.name}),/* @__PURE__ */ Y(`span`,{className:`flex-1`}),/* @__PURE__ */ Y(`span`,{className:`text-[10px] text-[var(--muted-fg)]`,children:i(`team.online`,{n:o.length})})]}),/* @__PURE__ */ Y(`div`,{className:`p-1`,children:a.map((e,t)=>{let n=e.status??(e.online?`online`:`offline`),r=n===`online`?`var(--success)`:n===`away`?`var(--warning)`:`var(--border)`,a=i(n===`online`?`team.onlineNow`:n===`away`?`team.away`:`team.offline`);return/* @__PURE__ */ X(`div`,{className:`flex items-center gap-[9px] h-9 py-0 px-2 rounded-[6px]`,children:[/* @__PURE__ */ Y(`div`,{style:{...ri,border:`none`,background:c[t%c.length]},children:e.initials}),/* @__PURE__ */ X(`div`,{className:`flex-1 min-w-0`,children:[/* @__PURE__ */ Y(`div`,{className:`text-[12px] font-[550]`,children:e.name}),/* @__PURE__ */ Y(`div`,{className:`text-[10px] text-[var(--faint-fg)]`,children:a})]}),/* @__PURE__ */ Y(`span`,{style:{width:8,height:8,borderRadius:`50%`,background:r}})]},e.initials)})}),/* @__PURE__ */ X(`div`,{className:`flex gap-1.5 py-2 px-3 border-t border-t-[var(--border)]`,children:[t.features.sharing!==!1&&/* @__PURE__ */ Y(`button`,{onClick:()=>{e.getState().openShared(),n()},className:`flex-1 h-7 border border-[var(--border)] rounded-[calc(var(--radius)_-_3px)] bg-[var(--bg)] text-[var(--fg)] text-[11px] cursor-pointer`,children:i(`account.sharedCollections`)}),t.features.invites!==!1&&/* @__PURE__ */ Y(`button`,{onClick:()=>{e.getState().openInvite(),n()},className:`flex-1 h-7 border-0 rounded-[calc(var(--radius)_-_3px)] bg-[var(--accent)] text-[var(--accent-fg)] text-[11px] font-semibold cursor-pointer`,children:i(`team.invite`)})]})]})})}var ai=[`#7c3aed`,`#0891b2`,`#059669`,`#e11d48`,`#ea580c`];function oi(){let e=E(e=>e.auth.user),t=E(e=>e.config?.user),n=E(e=>e.config?.host??null);return e||(n||!t?null:{name:t.name,initials:t.initials,email:t.email,plan:t.plan||null})}function si({name:e,initials:t,avatarUrl:n,size:r=30,className:i}){let[a,o]=q(!1),s={width:r,height:r,fontSize:Math.round(r*.37)};return n&&!a?/* @__PURE__ */ Y(`img`,{src:n,alt:``,"aria-hidden":!0,title:e,onError:()=>o(!0),style:s,className:U(`flex-none rounded-full object-cover ring-1 ring-[var(--border)]`,i)}):/* @__PURE__ */ Y(`span`,{"aria-hidden":!0,style:s,className:U(`flex-none rounded-full bg-[var(--accent)] text-[var(--accent-fg)] font-bold inline-flex items-center justify-center`,i),children:t})}function ci(){let e=E(e=>e.config),t=E(e=>e.activeWorkspaceId),n=E(e=>e.setActiveWorkspace),r=E(e=>e.openLayer),i=E(e=>e.openShared),a=E(e=>e.openConfirm),o=E(e=>e.signOut),s=E(e=>e.showToast),c=f(),[l,u]=q(!1),d=oi();if(!d)return null;let p=e?.features.workspaces===!1?[]:e?.user.workspaces??[],m=e?.features.sharing!==!1;return/* @__PURE__ */ X(Q.Root,{isOpen:l,onOpenChange:u,children:[/* @__PURE__ */ Y(pn,{children:/* @__PURE__ */ Y(`button`,{title:`${c(`account.account`)} — ${d.name}`,"aria-label":`${c(`account.account`)} — ${d.name}`,className:`ml-1 rounded-full border-0 bg-transparent p-0 cursor-pointer focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--accent)]`,children:/* @__PURE__ */ Y(si,{name:d.name,initials:d.initials,avatarUrl:d.avatarUrl,size:30})})}),/* @__PURE__ */ X(Qr,{align:`right`,width:230,children:[/* @__PURE__ */ X(`div`,{className:`flex items-center gap-[9px] p-2 mx-0.5 mt-0.5 border-b border-b-[var(--border)]`,children:[/* @__PURE__ */ Y(si,{name:d.name,initials:d.initials,avatarUrl:d.avatarUrl,size:30}),/* @__PURE__ */ X(`div`,{className:`min-w-0`,children:[/* @__PURE__ */ X(`div`,{className:`text-[12.5px] font-[600] flex items-center gap-[5px]`,children:[d.name,d.plan&&/* @__PURE__ */ Y(`span`,{className:`text-[9px] font-bold text-[var(--accent-text)] bg-[var(--accent-soft)] rounded-[4px] py-[1px] px-[5px]`,children:d.plan})]}),d.email&&/* @__PURE__ */ Y(`div`,{className:`text-[10.5px] text-[var(--muted-fg)] whitespace-nowrap overflow-hidden text-ellipsis`,children:d.email})]})]}),/* @__PURE__ */ X(Q.Menu,{"aria-label":c(`account.account`),className:ei,children:[p.length>0&&/* @__PURE__ */ X(Q.Section,{selectionMode:`single`,selectedKeys:t?[t]:[],disallowEmptySelection:!0,onSelectionChange:e=>{let t=[...e][0],r=p.find(e=>e.id===t);r&&(n(r.id),s(c(`profile.switched`,{name:r.name}),`check`))},children:[/* @__PURE__ */ Y(Q.SectionHeader,{className:`pt-1 px-2 pb-0.5 text-[10px] font-semibold text-[var(--faint-fg)]`,children:c(`account.workspace`)}),p.map(e=>/* @__PURE__ */ Y(Q.Item,{id:e.id,textValue:e.name,addon:e.plan,children:/* @__PURE__ */ Y($r,{children:e.name})},e.id))]}),p.length>0&&/* @__PURE__ */ Y(Q.Separator,{}),/* @__PURE__ */ X(Q.Section,{children:[/* @__PURE__ */ Y(Q.Item,{id:`profile`,icon:$e(`settings`),textValue:c(`account.profile`),onAction:()=>r(`profile`),children:/* @__PURE__ */ Y($r,{children:c(`account.profile`)})}),m&&/* @__PURE__ */ Y(Q.Item,{id:`shared`,icon:$e(`folder`),textValue:c(`account.sharedCollections`),onAction:()=>i(),children:/* @__PURE__ */ Y($r,{children:c(`account.sharedCollections`)})}),(!e?.host||e.host.links.logout)&&/* @__PURE__ */ Y(Q.Item,{id:`signout`,icon:li,textValue:c(`common.signOut`),onAction:()=>a({title:c(`profile.signOutTitle`),body:c(`profile.signOutBody`),confirmLabel:c(`common.signOut`),danger:!0,onConfirm:()=>{o(),s(c(`profile.signedOut`),`check`)}}),children:/* @__PURE__ */ X($r,{className:`text-[var(--danger)]`,children:[c(`common.signOut`),`…`]})})]})]})]})]})}var li=({className:e})=>/* @__PURE__ */ Y(H,{name:`close`,size:16,className:U(e,`text-[var(--danger)]`)});function ui({icon:e,title:t,description:n,action:r,size:i=`sm`,className:a}){return/* @__PURE__ */ X(`div`,{className:U(`flex flex-col items-center justify-center gap-3 px-4 text-center`,a),children:[/* @__PURE__ */ Y(et,{color:`gray`,theme:`modern`,size:i===`md`?`lg`:`md`,icon:$e(e)}),/* @__PURE__ */ X(`div`,{className:`flex flex-col items-center gap-1`,children:[/* @__PURE__ */ Y(`p`,{className:U(`font-semibold text-primary`,i===`md`?`text-md`:`text-sm`),children:t}),n&&/* @__PURE__ */ Y(`p`,{className:`max-w-[44ch] text-sm text-tertiary`,children:n})]}),r&&/* @__PURE__ */ Y(`div`,{className:`mt-1`,children:r})]})}var di=Xe({common:{root:`group relative inline-flex h-max cursor-pointer items-center justify-center whitespace-nowrap outline-brand transition duration-100 ease-linear before:absolute focus-visible:outline-2 focus-visible:outline-offset-2 in-data-input-wrapper:shadow-xs in-data-input-wrapper:focus:!z-50 in-data-input-wrapper:in-data-leading:-mr-px in-data-input-wrapper:in-data-leading:rounded-r-none in-data-input-wrapper:in-data-leading:before:rounded-r-none in-data-input-wrapper:in-data-trailing:-ml-px in-data-input-wrapper:in-data-trailing:rounded-l-none in-data-input-wrapper:in-data-trailing:before:rounded-l-none disabled:cursor-not-allowed disabled:opacity-50 in-data-input-wrapper:disabled:opacity-100 *:data-icon:pointer-events-none *:data-icon:size-5 *:data-icon:shrink-0 *:data-icon:transition-inherit-all`,icon:`pointer-events-none size-5 shrink-0 transition-inherit-all`},sizes:{xs:{root:`gap-1 rounded-lg px-2.5 py-1.5 text-sm font-semibold before:rounded-[7px] data-icon-only:p-2 in-data-input-wrapper:px-3.5 in-data-input-wrapper:py-2.5 in-data-input-wrapper:data-icon-only:p-2.5 *:data-icon:size-4 *:data-icon:stroke-[2.25px]`,linkRoot:`gap-1 *:data-text:underline-offset-3`},sm:{root:`gap-1 rounded-lg px-3 py-2 text-sm font-semibold before:rounded-[7px] data-icon-only:p-2 in-data-input-wrapper:px-3.5 in-data-input-wrapper:py-2.5 in-data-input-wrapper:data-icon-only:p-2.5`,linkRoot:`gap-1 *:data-text:underline-offset-3`},md:{root:`gap-1 rounded-lg px-3.5 py-2.5 text-sm font-semibold before:rounded-[7px] data-icon-only:p-2.5 in-data-input-wrapper:gap-1.5 in-data-input-wrapper:px-4 in-data-input-wrapper:text-md in-data-input-wrapper:data-icon-only:p-3`,linkRoot:`gap-1 *:data-text:underline-offset-4`},lg:{root:`gap-1.5 rounded-lg px-4 py-2.5 text-md font-semibold before:rounded-[7px] data-icon-only:p-3`,linkRoot:`gap-1.5 *:data-text:underline-offset-4`},xl:{root:`gap-1.5 rounded-lg px-4.5 py-3 text-md font-semibold before:rounded-[7px] data-icon-only:p-3.5`,linkRoot:`gap-1.5 *:data-text:underline-offset-4`}},colors:{primary:{root:`bg-brand-solid text-white shadow-xs-skeuomorphic ring-1 ring-transparent ring-inset hover:bg-brand-solid_hover data-loading:bg-brand-solid_hover before:absolute before:inset-px before:border before:border-white/12 before:mask-b-from-0% *:data-icon:text-white/60 hover:*:data-icon:text-white/70`},secondary:{root:`bg-primary text-secondary shadow-xs-skeuomorphic ring-1 ring-primary ring-inset hover:bg-primary_hover hover:text-secondary_hover data-loading:bg-primary_hover *:data-icon:text-fg-quaternary hover:*:data-icon:text-fg-quaternary_hover`},tertiary:{root:`text-tertiary hover:bg-primary_hover hover:text-tertiary_hover data-loading:bg-primary_hover *:data-icon:text-fg-quaternary hover:*:data-icon:text-fg-quaternary_hover`},"link-color":{root:`justify-normal rounded p-0! text-brand-secondary hover:text-brand-secondary_hover *:data-icon:text-fg-brand-secondary_alt hover:*:data-icon:text-fg-brand-secondary_hover`},"link-gray":{root:`justify-normal rounded p-0! text-tertiary hover:text-tertiary_hover *:data-icon:text-fg-quaternary hover:*:data-icon:text-fg-quaternary_hover`},"primary-destructive":{root:`bg-error-solid text-white shadow-xs-skeuomorphic ring-1 ring-transparent outline-error ring-inset hover:bg-error-solid_hover data-loading:bg-error-solid_hover before:absolute before:inset-px before:border before:border-white/12 before:mask-b-from-0% *:data-icon:text-white/60 hover:*:data-icon:text-white/70`},"secondary-destructive":{root:`bg-primary text-error-primary shadow-xs-skeuomorphic ring-1 ring-error_subtle outline-error ring-inset hover:bg-error-primary hover:text-error-primary_hover data-loading:bg-error-primary *:data-icon:text-fg-error-secondary hover:*:data-icon:text-fg-error-primary`},"tertiary-destructive":{root:`text-error-primary outline-error hover:bg-error-primary hover:text-error-primary_hover data-loading:bg-error-primary *:data-icon:text-fg-error-secondary hover:*:data-icon:text-fg-error-primary`},"link-destructive":{root:`justify-normal rounded p-0! text-error-primary outline-error hover:text-error-primary_hover *:data-icon:text-fg-error-secondary hover:*:data-icon:text-fg-error-primary`}}}),fi=({size:e=`sm`,color:t=`primary`,children:n,className:r,noTextPadding:i,iconLeading:a,iconTrailing:o,isDisabled:s,isLoading:c,showTextWhileLoading:l,...u})=>{let d=`href`in u?u.href:void 0,f=(a||o)&&!n,p=[`link-gray`,`link-color`,`link-destructive`].includes(t);i=p||i;let m=/* @__PURE__ */ X(J,{children:[wt(a)&&a,Qe(a)&&/* @__PURE__ */ Y(a,{"data-icon":`leading`,className:di.common.icon}),c&&/* @__PURE__ */ X(`svg`,{fill:`none`,"data-icon":`loading`,viewBox:`0 0 20 20`,className:U(di.common.icon,!l&&`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2`),children:[/* @__PURE__ */ Y(`circle`,{className:`stroke-current opacity-30`,cx:`10`,cy:`10`,r:`8`,fill:`none`,strokeWidth:`2`}),/* @__PURE__ */ Y(`circle`,{className:`origin-center animate-spin stroke-current`,cx:`10`,cy:`10`,r:`8`,fill:`none`,strokeWidth:`2`,strokeDasharray:`12.5 50`,strokeLinecap:`round`})]}),n&&/* @__PURE__ */ Y(`span`,{"data-text":!0,className:U(`transition-inherit-all`,!i&&`px-0.5`),children:n}),wt(o)&&o,Qe(o)&&/* @__PURE__ */ Y(o,{"data-icon":`trailing`,className:di.common.icon})]}),h={"data-loading":c?!0:void 0,"data-icon-only":f?!0:void 0,...u,isDisabled:s,className:U(di.common.root,di.sizes[e].root,di.colors[t].root,p&&di.sizes[e].linkRoot,(c||d&&(s||c))&&`pointer-events-none`,c&&(l?`[&>*:not([data-icon=loading]):not([data-text])]:hidden`:`[&>*:not([data-icon=loading])]:invisible`),r),children:m};return`href`in h?/* @__PURE__ */ Y(en,{...h,href:s?void 0:d}):/* @__PURE__ */ Y(Lt,{...h,type:h.type||`button`,isPending:c})},pi=({icon:e,color:t=`brand`,children:n,onClose:r,closeLabel:i=`Close`,className:a})=>/* @__PURE__ */ X(`div`,{className:U(`relative flex max-w-[360px] items-center gap-3 rounded-xl bg-primary_alt p-3 pe-11 shadow-lg ring ring-secondary_alt`,a),children:[/* @__PURE__ */ Y(et,{icon:e,color:t,theme:`outline`,size:`sm`}),/* @__PURE__ */ Y(`p`,{className:`min-w-0 flex-1 text-sm text-fg-secondary`,children:n}),r&&/* @__PURE__ */ Y(fi,{color:`tertiary`,size:`xs`,iconLeading:A,"aria-label":i,onClick:r,className:`absolute end-2 top-1/2 -translate-y-1/2`})]}),mi=({icon:e,color:t=`brand`,children:n,meta:r,className:i})=>/* @__PURE__ */ X(`div`,{className:U(`flex gap-3 px-3 py-2.5`,i),children:[/* @__PURE__ */ Y(et,{icon:e,color:t,theme:`outline`,size:`sm`}),/* @__PURE__ */ X(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[/* @__PURE__ */ Y(`p`,{className:`text-sm text-fg-secondary`,children:n}),r&&/* @__PURE__ */ Y(`p`,{className:`text-xs text-tertiary`,children:r})]})]}),hi=e=>e.toLocaleString(`en-US`);function gi(){return typeof navigator>`u`?`Ctrl+`:/Mac|iPhone|iPad|iPod/.test(navigator.platform)?`⌘`:`Ctrl+`}function _i(e=gi()){return e===`⌘`?`⇧⌘⌫`:`Ctrl+Shift+Backspace`}function vi(e=gi()){return e===`⌘`?`⇧⌘D`:`Ctrl+Shift+D`}function yi(e,t=Date.now()){let n=Math.max(0,Math.round((t-e)/1e3));if(n<5)return`just now`;if(n<60)return`${n}s ago`;let r=Math.round(n/60);if(r<60)return`${r}m ago`;let i=Math.round(r/60);return i<24?`${i}h ago`:`${Math.round(i/24)}d ago`}function bi(e,t,n=62){let r=n/100*Math.min(t/100,1-t/100),i=n=>{let i=(n+e/30)%12,a=t/100-r*Math.max(Math.min(i-3,9-i,1),-1);return Math.round(255*a).toString(16).padStart(2,`0`)};return`#${i(0)}${i(8)}${i(4)}`}function xi(){let e=E(e=>e.notifications),t=E(e=>e.markNotificationsRead),n=E(e=>e.clearNotifications),r=E(e=>e.auth.status===`authed`),i=e.filter(e=>!e.read).length,a=f();return r?/* @__PURE__ */ Y(Or,{label:a(`header.notifications`),align:`right`,width:300,panelStyle:{padding:0,top:35},trigger:(e,n)=>/* @__PURE__ */ X(`button`,{onClick:()=>{n(),i&&t()},title:a(`header.notifications`),style:{...jr(),position:`relative`},children:[/* @__PURE__ */ Y(H,{name:`bell-filled`,color:`currentColor`}),i>0&&/* @__PURE__ */ Y(`span`,{className:`absolute top-[1px] end-0 min-w-3.5 h-3.5 py-0 px-[3px] rounded-[7px] bg-[var(--danger)] text-[#fff] text-[9px] font-bold flex items-center justify-center font-[family-name:'Geist_Mono',monospace]`,children:i})]}),children:()=>/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ X(`div`,{className:`flex items-center py-[9px] px-3 border-b border-b-[var(--border)]`,children:[/* @__PURE__ */ Y(`span`,{className:`text-[12.5px] font-[600]`,children:a(`header.notifications`)}),/* @__PURE__ */ Y(`span`,{className:`flex-1`}),e.length>0&&/* @__PURE__ */ Y(`button`,{onClick:n,className:`border-0 bg-transparent text-[var(--accent-text)] text-[11px] font-semibold cursor-pointer`,children:a(`notifications.clearAll`)})]}),/* @__PURE__ */ Y(`div`,{className:`max-h-[340px] overflow-y-auto`,children:e.length===0?/* @__PURE__ */ Y(ui,{icon:`bell-filled`,title:a(`notifications.empty`),className:`py-7`}):/* @__PURE__ */ Y(`ul`,{className:`m-0 list-none p-0`,children:e.map(e=>/* @__PURE__ */ Y(`li`,{className:`border-b border-secondary last:border-b-0`,children:/* @__PURE__ */ Y(mi,{icon:$e(e.icon),color:e.icon===`check`?`success`:`brand`,meta:yi(e.ts),children:e.text})},e.id))})})]})}):null}function Si(){let e=E(e=>e.openLayer),t=E(e=>e.startTour),n=E(e=>e.config?.about.links.find(e=>e.label.toLowerCase()===`docs`)?.href??`https://github.com/ichava/icon-browser/tree/main/docs`),r=gi(),i=f(),[a,o]=q(!1);return/* @__PURE__ */ X(Q.Root,{isOpen:a,onOpenChange:o,children:[/* @__PURE__ */ Y(Z,{content:i(`help.title`),children:/* @__PURE__ */ Y(pn,{children:/* @__PURE__ */ Y(`button`,{"aria-label":i(`help.title`),style:jr(a),children:/* @__PURE__ */ Y(H,{name:`info`,color:`currentColor`})})})}),/* @__PURE__ */ Y(Qr,{align:`right`,width:230,children:/* @__PURE__ */ X(Q.Menu,{"aria-label":i(`help.title`),className:ei,children:[/* @__PURE__ */ Y(Q.Item,{id:`about`,icon:$e(`info`),textValue:i(`help.about`),onAction:()=>e(`about`),children:/* @__PURE__ */ Y($r,{children:i(`help.about`)})}),/* @__PURE__ */ Y(Q.Item,{id:`docs`,icon:$e(`text`),textValue:i(`help.docs`),href:n,target:`_blank`,rel:`noreferrer`,children:/* @__PURE__ */ Y($r,{children:i(`help.docs`)})}),/* @__PURE__ */ Y(Q.Item,{id:`tour`,icon:$e(`sparkles`),textValue:i(`help.replayTour`),onAction:()=>t(),children:/* @__PURE__ */ Y($r,{children:i(`help.replayTour`)})}),/* @__PURE__ */ Y(Q.Item,{id:`shortcuts`,icon:$e(`command`),textValue:i(`help.shortcuts`),addon:`${r}K`,onAction:()=>e(`palette`),children:/* @__PURE__ */ Y($r,{children:i(`help.shortcuts`)})})]})})]})}function Ci(){let[e,t]=q(()=>typeof document<`u`&&!!document.fullscreenElement);return W(()=>{let e=()=>t(!!document.fullscreenElement);return document.addEventListener(`fullscreenchange`,e),()=>document.removeEventListener(`fullscreenchange`,e)},[]),[e,Et(()=>{try{document.fullscreenElement?document.exitFullscreen?.():document.documentElement.requestFullscreen?.()}catch{}},[])]}var wi={xs:.85,s:.93,m:1,l:1.12};function Ti(e){return e===`comfy`?{gap:14,tilePad:64,rowH:46}:{gap:8,tilePad:52,rowH:38}}function Ei(e,t){return Math.max(86,e+Ti(t).tilePad)}function Di(e){return`calc(${e/16} * var(--ich-rem, 1rem))`}function Oi(){let e=E(e=>e.view),t=E(e=>e.setView),n=E(e=>e.toggleSidebar),r=E(e=>e.theme),i=E(e=>e.toggleTheme),a=E(e=>e.openLayer),o=E(e=>e.openLibrary),s=E(e=>e.favorites),c=E(e=>e.auth.status===`authed`),l=E(e=>e.openAuth),u=E(e=>e.config),d=E(e=>e.devtools.open),m=E(e=>e.toggleDevtools),h=p(u),g=gi(),_=f(),[v,y]=Ci();return/* @__PURE__ */ X(`header`,{style:{height:Di(48),flex:`none`,display:`flex`,alignItems:`center`,gap:8,padding:`0 12px`,background:`var(--canvas)`,userSelect:`none`},children:[/* @__PURE__ */ Y(`button`,{className:`ich-hamburger`,onClick:n,title:_(`header.filtersPackages`),"aria-label":_(`header.toggleSidebar`),style:{width:30,height:30,alignItems:`center`,justifyContent:`center`,border:`1px solid var(--border)`,backgroundColor:`var(--bg)`,borderRadius:`calc(var(--radius) - 2px)`,cursor:`pointer`,color:`var(--muted-fg)`,flex:`none`},children:/* @__PURE__ */ Y(H,{name:`sliders`,size:14,color:`currentColor`})}),/* @__PURE__ */ X(`div`,{className:`flex items-center gap-2 flex-none`,children:[/* @__PURE__ */ Y(`div`,{className:`w-6 h-6 rounded-[6px] bg-[var(--accent)] flex items-center justify-center`,children:/* @__PURE__ */ Y(H,{name:`layers`,size:14,color:`var(--accent-fg)`})}),/* @__PURE__ */ X(`div`,{className:`flex items-baseline gap-[5px] whitespace-nowrap`,children:[/* @__PURE__ */ Y(`span`,{className:`font-[600] text-[13.5px] tracking-[-.01em]`,children:u?.brand.name??`Ichava`}),/* @__PURE__ */ Y(`span`,{className:`ich-header-brand-suffix text-[var(--muted-fg)] text-[12.5px]`,children:u?.brand.suffix??`Browser`})]})]}),/* @__PURE__ */ Y(`div`,{className:`ich-header-search flex-1 min-w-0 flex justify-center`,children:/* @__PURE__ */ Y(Z,{content:_(`header.commandPalette`),shortcut:`${g}K`,children:/* @__PURE__ */ X(`button`,{onClick:()=>a(`palette`),className:`ich-header-search-button w-full max-w-[280px] min-w-0 h-[30px] flex items-center gap-2 py-0 px-2 border border-[var(--border)] rounded-[calc(var(--radius)_-_2px)] bg-[var(--muted2)] text-[var(--muted-fg)] cursor-pointer text-[12.5px]`,children:[/* @__PURE__ */ Y(H,{name:`search`,size:13,color:`var(--muted-fg)`}),/* @__PURE__ */ Y(`span`,{className:`ich-header-search-label flex-1 min-w-0 truncate text-start`,children:_(`common.search`)}),/* @__PURE__ */ X(`kbd`,{className:`ich-header-search-label ich-header-search-kbd font-[family-name:'Geist_Mono',monospace] text-[10px] py-0.5 px-[5px] border border-[var(--border)] rounded-[4px] bg-[var(--bg)]`,children:[g,`K`]})]})})}),/* @__PURE__ */ X(`div`,{className:`ich-header-actions flex items-center gap-1`,children:[/* @__PURE__ */ Y(Z,{content:_(e===`grid`?`header.listView`:`header.gridView`),children:/* @__PURE__ */ Y(`button`,{onClick:()=>t(e===`grid`?`list`:`grid`),"aria-label":_(e===`grid`?`header.listView`:`header.gridView`),style:{...jr(),color:`var(--accent-text)`},children:/* @__PURE__ */ Y(H,{name:e===`grid`?`grid`:`list`,size:14,color:`currentColor`})})}),/* @__PURE__ */ Y(ki,{}),u?.features.favorites!==!1&&/* @__PURE__ */ Y(Z,{content:_(`header.favorites`),shortcut:`${g}1`,children:/* @__PURE__ */ X(`button`,{onClick:()=>o(`favorites`),"aria-label":s.length?`${_(`header.favorites`)} ${s.length}`:_(`header.favorites`),style:{...jr(),position:`relative`},children:[/* @__PURE__ */ Y(H,{name:s.length?`heart-filled`:`heart`,color:s.length?`var(--accent)`:`currentColor`}),s.length>0&&/* @__PURE__ */ Y(`span`,{className:`absolute top-0.5 end-[1px] min-w-3.5 h-3.5 py-0 px-[3px] rounded-[7px] bg-[var(--accent)] text-[var(--accent-fg)] text-[9px] font-semibold flex items-center justify-center font-[family-name:'Geist_Mono',monospace]`,children:s.length})]})}),u?.features.history!==!1&&/* @__PURE__ */ Y(Z,{content:_(`header.history`),shortcut:`${g}2`,children:/* @__PURE__ */ Y(`button`,{onClick:()=>o(`history`),"aria-label":_(`header.history`),style:jr(),children:/* @__PURE__ */ Y(H,{name:`clock`,color:`currentColor`})})}),u?.features.collections!==!1&&/* @__PURE__ */ Y(Z,{content:_(`header.collections`),shortcut:`${g}3`,children:/* @__PURE__ */ Y(`button`,{onClick:()=>o(`collections`),"aria-label":_(`header.collections`),style:jr(),children:/* @__PURE__ */ Y(H,{name:`folder`,color:`currentColor`})})}),u?.features.notifications!==!1&&/* @__PURE__ */ Y(xi,{}),/* @__PURE__ */ Y(ii,{}),/* @__PURE__ */ Y(ki,{}),/* @__PURE__ */ Y(Kr,{}),/* @__PURE__ */ Y(ni,{}),u?.features.themeToggle!==!1&&/* @__PURE__ */ Y(Z,{content:_(`header.toggleTheme`),shortcut:`${g}T`,children:/* @__PURE__ */ Y(`button`,{onClick:i,"aria-label":_(`header.toggleTheme`),style:jr(),children:/* @__PURE__ */ Y(H,{name:r===`dark`?`sun`:`moon`,color:`currentColor`})})}),/* @__PURE__ */ Y(Z,{content:_(v?`header.exitFullscreen`:`header.fullscreen`),children:/* @__PURE__ */ Y(`button`,{onClick:y,"aria-label":_(v?`header.exitFullscreen`:`header.fullscreen`),style:jr(v),children:/* @__PURE__ */ Y(H,{name:v?`minimize`:`resize`,color:`currentColor`})})}),h&&/* @__PURE__ */ Y(Z,{content:_(`header.devtools`),shortcut:vi(g),children:/* @__PURE__ */ Y(`button`,{onClick:m,"aria-label":_(`header.devtools`),style:jr(d),children:/* @__PURE__ */ Y(H,{name:`zap`,color:`currentColor`})})}),/* @__PURE__ */ Y(Si,{}),/* @__PURE__ */ Y(Z,{content:_(`header.settings`),shortcut:`${g},`,children:/* @__PURE__ */ Y(`button`,{onClick:()=>a(`settings`),"aria-label":_(`header.settings`),style:jr(),children:/* @__PURE__ */ Y(H,{name:`settings`,color:`currentColor`})})}),c?/* @__PURE__ */ Y(ci,{}):u?.host&&!u.host.links.login?null:/* @__PURE__ */ Y(fi,{size:`sm`,onClick:()=>l(`signin`),className:`ms-1`,children:_(`common.signIn`)})]})]})}var ki=()=>/* @__PURE__ */ Y(`div`,{className:`w-[1px] h-[18px] bg-[var(--border)] my-0 mx-1`});function Ai(e,t,n){for(let r of t){let t=n[r]?.find(t=>t.slug===e&&t.description);if(t)return t.description}return``}var ji={pillColor:`pill-color`,badgeColor:`color`,badgeModern:`modern`},Mi={gray:{root:`bg-utility-neutral-50 text-utility-neutral-700 ring-utility-neutral-200`,addon:`text-utility-neutral-500`,addonButton:`hover:bg-utility-neutral-100 text-utility-neutral-400 hover:text-utility-neutral-500`},brand:{root:`bg-utility-brand-50 text-utility-brand-700 ring-utility-brand-200`,addon:`text-utility-brand-500`,addonButton:`hover:bg-utility-brand-100 text-utility-brand-400 hover:text-utility-brand-500`},error:{root:`bg-utility-red-50 text-utility-red-700 ring-utility-red-200`,addon:`text-utility-red-500`,addonButton:`hover:bg-utility-red-100 text-utility-red-400 hover:text-utility-red-500`},warning:{root:`bg-utility-yellow-50 text-utility-yellow-700 ring-utility-yellow-200`,addon:`text-utility-yellow-500`,addonButton:`hover:bg-utility-yellow-100 text-utility-yellow-400 hover:text-utility-yellow-500`},success:{root:`bg-utility-green-50 text-utility-green-700 ring-utility-green-200`,addon:`text-utility-green-500`,addonButton:`hover:bg-utility-green-100 text-utility-green-400 hover:text-utility-green-500`},slate:{root:`bg-utility-slate-50 text-utility-slate-700 ring-utility-slate-200`,addon:`text-utility-slate-500`,addonButton:`hover:bg-utility-slate-100 text-utility-slate-400 hover:text-utility-slate-500`},sky:{root:`bg-utility-sky-50 text-utility-sky-700 ring-utility-sky-200`,addon:`text-utility-sky-500`,addonButton:`hover:bg-utility-sky-100 text-utility-sky-400 hover:text-utility-sky-500`},blue:{root:`bg-utility-blue-50 text-utility-blue-700 ring-utility-blue-200`,addon:`text-utility-blue-500`,addonButton:`hover:bg-utility-blue-100 text-utility-blue-400 hover:text-utility-blue-500`},indigo:{root:`bg-utility-indigo-50 text-utility-indigo-700 ring-utility-indigo-200`,addon:`text-utility-indigo-500`,addonButton:`hover:bg-utility-indigo-100 text-utility-indigo-400 hover:text-utility-indigo-500`},purple:{root:`bg-utility-purple-50 text-utility-purple-700 ring-utility-purple-200`,addon:`text-utility-purple-500`,addonButton:`hover:bg-utility-purple-100 text-utility-purple-400 hover:text-utility-purple-500`},pink:{root:`bg-utility-pink-50 text-utility-pink-700 ring-utility-pink-200`,addon:`text-utility-pink-500`,addonButton:`hover:bg-utility-pink-100 text-utility-pink-400 hover:text-utility-pink-500`},orange:{root:`bg-utility-orange-50 text-utility-orange-700 ring-utility-orange-200`,addon:`text-utility-orange-500`,addonButton:`hover:bg-utility-orange-100 text-utility-orange-400 hover:text-utility-orange-500`}},Ni={[ji.pillColor]:{common:`size-max flex items-center whitespace-nowrap rounded-sm ring-1 ring-inset`,styles:Mi},[ji.badgeColor]:{common:`size-max flex items-center whitespace-nowrap rounded-md ring-1 ring-inset`,styles:Mi},[ji.badgeModern]:{common:`size-max flex items-center whitespace-nowrap rounded-md ring-1 ring-inset shadow-xs`,styles:{gray:{root:`bg-primary text-secondary ring-primary`,addon:`text-neutral-500`,addonButton:`hover:bg-utility-neutral-100 text-utility-neutral-400 hover:text-utility-neutral-500`}}}},Pi=e=>{let{type:t=`pill-color`,size:n=`md`,color:r=`gray`,children:i}=e,a=Ni[t],o={sm:`py-0.5 px-2 text-xs font-medium`,md:`py-0.5 px-2.5 text-sm font-medium`,lg:`py-1 px-3 text-sm font-medium`},s={sm:`py-0.5 px-1.5 text-xs font-medium`,md:`py-0.5 px-2 text-sm font-medium`,lg:`py-1 px-2.5 text-sm font-medium rounded-lg`},c={[ji.pillColor]:o,[ji.badgeColor]:s,[ji.badgeModern]:s};return/* @__PURE__ */ Y(`span`,{className:U(a.common,c[t][n],a.styles[r].root,e.className),children:i})},Fi=(e,t)=>{let n=[],r=[e];for(;r.length>0;){let e=r.pop(),i=t.getChildren?.(e);if(i)for(let e of i)n.push(e.key),r.push(e.key)}return n},Ii=(e,t)=>{let n=[],r=t.getItem(e);for(;r?.parentKey!=null;)n.push(r.parentKey),r=t.getItem(r.parentKey);return n},Li=(e,t,n)=>{let r=new Set(e),i=/* @__PURE__ */ new Set,a=/* @__PURE__ */ new Set;for(let n of e)t.has(n)||i.add(n);for(let n of t)e.has(n)||a.add(n);for(let e of i)for(let t of Fi(e,n))r.add(t);for(let e of a)for(let t of Fi(e,n))r.delete(t);let o=/* @__PURE__ */ new Set;for(let e of[...i,...a])for(let t of Ii(e,n))o.add(t);let s=[...o].sort((e,t)=>{let r=n.getItem(e)?.level??0;return(n.getItem(t)?.level??0)-r});for(let e of s){let t=Fi(e,n);t.length!==0&&(t.filter(e=>r.has(e)).length===t.length?r.add(e):r.delete(e))}return r},Ri=(e,t)=>{let n=document.createElement(`div`);n.style.display=`flex`,n.style.flexDirection=`column`,n.style.gap=`2px`,n.style.position=`relative`;let r=new Set([...t].map(String)),i=Array.from(e.querySelectorAll(`[role="row"]`)),a=0;for(let e of i){let t=e.getAttribute(`data-key`)??e.id;if(!t||!r.has(t))continue;let i=e.querySelector(`div`);if(!i)continue;let o=i.cloneNode(!0);o.style.paddingLeft=`8px`,o.style.width=`${i.offsetWidth}px`,o.querySelectorAll(`[data-tree-connector]`).forEach(e=>e.remove()),n.appendChild(o),a++}if(a>1){let e=document.createElement(`div`);e.textContent=String(a),Object.assign(e.style,{position:`absolute`,top:`-6px`,right:`-6px`,width:`20px`,height:`20px`,borderRadius:`9999px`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:`12px`,fontWeight:`600`,color:`white`,backgroundColor:`var(--color-bg-brand-solid, #7f56d9)`}),n.appendChild(e)}return n},zi=Ct({size:`sm`,showConnectors:!1,selectedKeys:/* @__PURE__ */ new Set,collectionRef:{current:null}}),Bi=24,Vi=8,Hi=({type:e,size:t})=>/* @__PURE__ */ X(`div`,{className:`relative size-4 shrink-0`,"data-tree-connector":!0,children:[e===`line`&&/* @__PURE__ */ Y(`div`,{className:U(`absolute top-1/2 left-1/2 w-px -translate-x-1/2 -translate-y-1/2 bg-border-secondary`,t===`sm`?`h-[42px]`:`h-[44px]`)}),e===`end`&&/* @__PURE__ */ Y(`div`,{className:U(`absolute bottom-2 left-1/2 w-px -translate-x-1/2`,t===`sm`?`h-[22px]`:`h-[24px]`),children:/* @__PURE__ */ Y(`div`,{className:U(`border-b border-l border-border-secondary`,t===`sm`?`h-[22px] w-[10px] rounded-bl-[5px]`:`h-[24px] w-[12px] rounded-bl-[6px]`)})})]}),Ui=e=>/* @__PURE__ */ Y(Gt,{...e,className:`relative h-0 outline-hidden before:absolute before:inset-x-0 before:-top-px before:z-10 before:h-0.5 before:rounded-full before:bg-brand-solid`}),Wi=({size:e=`sm`,showConnectors:t=!1,draggable:n=!1,onReorder:r,onMove:i,className:a,selectedKeys:o,defaultSelectedKeys:s,onSelectionChange:c,selectionMode:l,dragAndDropHooks:u,...d})=>{let f=K(null),p=K(null),[m,h]=q(()=>s===`all`?`all`:s?new Set(s):/* @__PURE__ */ new Set),g=K(s&&s!==`all`?new Set(s):/* @__PURE__ */ new Set),_=o!==void 0,v=_?o:m,y=Et(e=>{if(l!==`multiple`||!p.current){c?.(e),_||h(e);return}if(e===`all`){c?.(e),_||h(e),g.current=/* @__PURE__ */ new Set;return}let t=Li(e,g.current,p.current);g.current=t,_||h(t),c?.(t)},[_,c,l]),b=Et(()=>{v===`all`?g.current=/* @__PURE__ */ new Set:g.current=new Set(v)},[v]),{dragAndDropHooks:x}=Ln({getItems:e=>[...e].map(e=>({"text/plain":String(e)})),renderDragPreview:e=>{if(!f.current)return/* @__PURE__ */ Y(`div`,{});let t=new Set(e.map(e=>e[`text/plain`]).filter(e=>e!==void 0)),n=Ri(f.current,t);return/* @__PURE__ */ Y(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`2px`,position:`relative`},ref:e=>{e&&e.replaceChildren(...Array.from(n.childNodes))}})},renderDropIndicator:e=>/* @__PURE__ */ Y(Ui,{target:e}),onReorder:r?e=>{r({keys:e.keys,target:e.target}),b()}:void 0,onMove:i?e=>{i({keys:e.keys,target:e.target}),b()}:void 0}),S=u??(n?x:void 0),C=G(()=>({size:e,showConnectors:t,selectedKeys:v,collectionRef:p}),[e,t,v]);return/* @__PURE__ */ Y(zi.Provider,{value:C,children:/* @__PURE__ */ Y(Pn,{...d,ref:f,selectionMode:l,selectedKeys:v,onSelectionChange:y,dragAndDropHooks:S,className:e=>U(`flex flex-col`,typeof a==`function`?a(e):a)})})},Gi=({className:e,...t})=>/* @__PURE__ */ Y(Fn,{...t,className:t=>U(`mt-0.5 outline-hidden first:mt-0`,typeof e==`function`?e(t):e)}),Ki=({icon:e,action:t,children:n,className:r})=>{let{size:i,showConnectors:a,selectedKeys:o,collectionRef:s}=Dt(zi);return/* @__PURE__ */ Y(In,{children:c=>{let{id:l,state:u,hasChildItems:d,isExpanded:f,isSelected:p,isDisabled:m,selectionMode:h,isFocusVisible:g,allowsDragging:_,isDropTarget:v,level:y}=c,b=u.collection;s.current||=b;let x=l!=null&&h===`multiple`&&d&&o!==`all`&&(()=>{let e=Fi(l,b);if(e.length===0)return!1;let t=e.filter(e=>o.has(e)).length;return t>0&&(!p||t1){let e=l;for(let t=0;t1?Vi:Vi+(y-1)*Bi;return/* @__PURE__ */ X(`div`,{className:U(`flex w-full cursor-pointer items-center gap-2 rounded-sm -outline-offset-2 outline-focus-ring transition duration-100 ease-linear`,i===`sm`?`py-1.5 pr-2`:`py-2 pr-2`,v&&`bg-secondary_hover outline-2`,!v&&(p||x)&&`bg-secondary hover:bg-secondary_hover`,!v&&!p&&!x&&`hover:bg-primary_hover`,m&&`cursor-not-allowed opacity-50`,g&&`outline-2`,r),style:{paddingLeft:C},children:[S,d&&/* @__PURE__ */ Y(Lt,{slot:`chevron`,className:`flex shrink-0 items-center justify-center outline-hidden`,children:Y(f?Ne:ce,{className:`size-4 text-fg-quaternary`})}),h!==`none`&&/* @__PURE__ */ Y(Rt,{slot:`selection`,className:`flex shrink-0 items-center justify-center outline-hidden`,children:({isSelected:e,isDisabled:t,isFocusVisible:n})=>/* @__PURE__ */ Y(gr,{size:`sm`,isSelected:e||x,isIndeterminate:x,isDisabled:t,isFocusVisible:n})}),/* @__PURE__ */ X(`div`,{className:U(`flex min-w-0 flex-1 items-center`,i===`sm`?`gap-1.5`:`gap-2`),children:[e&&(Qe(e)?/* @__PURE__ */ Y(e,{className:U(`shrink-0 text-fg-quaternary`,i===`sm`?`size-4`:`size-5`)}):wt(e)?e:null),/* @__PURE__ */ Y(`span`,{className:`min-w-0 flex-1 truncate text-sm font-semibold text-tertiary`,children:n}),t,_&&/* @__PURE__ */ Y(Lt,{slot:`drag`,className:U(`shrink-0 cursor-grab outline-hidden`,!p&&`hidden`),children:/* @__PURE__ */ Y(Ie,{className:`size-4 text-fg-quaternary`})})]})]})}})},qi=Wi;qi.Item=Gi,qi.ItemContent=Ki,qi.DropIndicator=Ui;var Ji=[{id:null},{id:`outline`},{id:`filled`},{id:`color`}],Yi=`__all`;function Xi({counts:e,byPackage:t}){let n=E(e=>e.filters.variant),r=E(e=>e.setVariant),i=E(e=>e.filters.packages),a=f(),o=Ji.filter(t=>t.id===null||t.id===`outline`||t.id===`filled`||(e.get(t.id)??0)>0);return/* @__PURE__ */ Y(Lr,{size:`sm`,"aria-label":a(`sidebar.iconVariant`),selectedKeys:[n??Yi],disallowEmptySelection:!0,onSelectionChange:e=>{let t=[...e][0];t!==void 0&&r(t===Yi?null:String(t))},className:`mb-2 flex w-full -space-x-0 gap-[3px] rounded-[var(--radius)] bg-transparent p-[3px] shadow-none ring-1 ring-[var(--border)] ring-inset`,children:o.map(r=>{let o=r.id?e.get(r.id)??0:null,s=r.id?Ai(r.id,i,t):``,c=/* @__PURE__ */ X(Ir,{id:r.id??Yi,className:`h-[26px] flex-1 justify-center gap-1 rounded-[calc(var(--radius)_-_2px)] bg-transparent px-1 py-0 text-[11.5px] font-medium text-tertiary ring-0 shadow-none not-last:pr-1 first:rounded-[calc(var(--radius)_-_2px)] last:rounded-[calc(var(--radius)_-_2px)] hover:bg-transparent [&:not([data-selected])]:hover:bg-[var(--muted)] [&:not([data-selected])]:hover:text-secondary selected:bg-brand-primary_alt selected:font-semibold selected:text-brand-secondary`,children:[a(y(`variant.${r.id??`all`}`)),o!==null&&/* @__PURE__ */ Y(`span`,{className:`font-mono text-[10px] ${n===r.id?`text-current`:`text-[var(--muted-fg)]`}`,children:o})]},String(r.id));return s?/* @__PURE__ */ Y(Ye,{title:s,placement:`bottom`,delay:350,exitAnimation:!1,children:c},String(r.id)):c})})}function Zi(){let{tree:e,variantCounts:t,variantsByPackage:n}=o(),r=E(e=>e.filters),i=E(e=>e.catQ),a=E(e=>e.setCatQ),s=E(e=>e.clearCats),c=E(e=>e.toggleCat),l=E(e=>e.toggleSub),u=f(),d=E(e=>e.locale),p=G(()=>e.map(e=>e.pack),[e]),m=G(()=>e.flatMap(e=>e.cats.filter(e=>e.sub?.length).map(t=>`${e.pack}/${t.name}`)),[e]),[h,g]=q([]),_=K(!1);W(()=>{!_.current&&p.length&&(_.current=!0,g(p))},[p]);let v=p.every(e=>h.includes(e))&&m.every(e=>h.includes(e)),y=()=>g(v?[]:[...p,...m]),b=G(()=>e.map(e=>({id:e.pack,label:e.label,count:e.count,kind:`pack`,selected:!1,partial:!1,toggle:()=>{},icon:N,children:e.cats.map(t=>{let n=!!t.sub?.length,i=r.categories.includes(t.name),a=n&&t.sub.some(e=>r.subs.includes(`${t.name}/${e.slug}`));return{id:`${e.pack}/${t.name}`,label:t.name,count:t.count,kind:`cat`,selected:i,partial:!i&&a,toggle:()=>c(t.name),icon:Ce,children:(t.sub??[]).map(n=>({id:`${e.pack}/${t.name}/${n.slug}`,label:n.name,count:n.count,kind:`sub`,selected:r.subs.includes(`${t.name}/${n.slug}`),partial:!1,toggle:()=>l(t.name,n.slug),children:[]}))}})})),[e,r.categories,r.subs,c,l]),x=r.categories.length>0||r.subs.length>0;return/* @__PURE__ */ Y(Zt,{locale:d,children:/* @__PURE__ */ X(`div`,{className:`-mx-[10px] mt-3 border-y border-[var(--border)] px-[10px] pt-[10px] pb-2`,children:[/* @__PURE__ */ X(`div`,{className:`flex items-center gap-1.5 px-0.5 pb-2`,children:[/* @__PURE__ */ Y(`h2`,{className:`m-0 text-[11px] font-semibold text-tertiary`,children:u(`sidebar.categories`)}),/* @__PURE__ */ Y(`span`,{className:`flex-1`}),x&&/* @__PURE__ */ Y(`button`,{onClick:s,className:`cursor-pointer border-none bg-none p-0.5 text-[11px] text-tertiary`,children:u(`common.clear`)}),/* @__PURE__ */ Y(Z,{content:u(v?`sidebar.collapseAll`:`sidebar.expandAll`),children:/* @__PURE__ */ Y(`button`,{onClick:y,"aria-label":u(v?`sidebar.collapseAll`:`sidebar.expandAll`),className:`flex h-5 w-5 cursor-pointer items-center justify-center rounded-[5px] border border-[var(--border)] bg-primary text-tertiary`,children:/* @__PURE__ */ Y(H,{name:v?`chevron-up`:`plus`,size:11,color:`currentColor`})})})]}),/* @__PURE__ */ X(`div`,{className:`relative mb-2`,children:[/* @__PURE__ */ Y(ar,{size:`sm`,icon:ze,value:i,onChange:e=>a(e.target.value),placeholder:u(`sidebar.filterCategories`),"aria-label":u(`sidebar.filterCategories`),inputClassName:i?`pe-7`:void 0}),i&&/* @__PURE__ */ Y(`button`,{onClick:()=>a(``),title:u(`common.clear`),"aria-label":u(`common.clear`),className:`absolute end-[1.5px] top-[2px] flex h-6 w-6 cursor-pointer items-center justify-center rounded-full border-none bg-transparent p-0`,children:/* @__PURE__ */ Y(`span`,{"aria-hidden":!0,className:`flex h-[17px] w-[17px] items-center justify-center rounded-full bg-[var(--faint-fg)] text-[var(--bg)]`,children:/* @__PURE__ */ Y(H,{name:`close`,size:8,color:`currentColor`})})})]}),/* @__PURE__ */ Y(Xi,{counts:t,byPackage:n}),e.length===0?/* @__PURE__ */ X(`div`,{className:`flex flex-col items-center gap-1.5 px-2 py-[18px] text-tertiary`,children:[/* @__PURE__ */ Y(H,{name:`search`,size:16,color:`var(--faint-fg)`}),/* @__PURE__ */ Y(`span`,{className:`text-center text-[12px]`,children:u(`empty.noResults`)})]}):/* @__PURE__ */ Y(qi,{size:`sm`,showConnectors:!0,"aria-label":u(`sidebar.categories`),selectionMode:`none`,items:b,expandedKeys:h,onExpandedChange:e=>g([...e]),children:Qi})]})})}function Qi(e){let t=e.selected||e.partial;return/* @__PURE__ */ X(qi.Item,{id:e.id,textValue:e.label,children:[/* @__PURE__ */ Y(qi.ItemContent,{icon:e.icon,className:`py-1`,children:/* @__PURE__ */ X(`span`,{className:`flex w-full items-center gap-1.5`,children:[e.kind!==`pack`&&/* @__PURE__ */ Y(`span`,{onClick:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),className:`flex items-center`,children:/* @__PURE__ */ Y(_r,{slot:null,isSelected:e.selected,isIndeterminate:e.partial,onChange:e.toggle,"aria-label":`Select ${e.label}`})}),/* @__PURE__ */ Y(`span`,{className:e.kind===`pack`?`font-mono text-[11.5px] font-semibold text-primary`:e.kind===`cat`?`truncate text-[12.5px] font-normal text-primary capitalize`:`truncate text-[12px] font-normal text-tertiary`,children:e.label}),/* @__PURE__ */ Y(Pi,{type:`color`,color:`gray`,size:`sm`,className:`ms-auto h-4 min-w-4 justify-center rounded px-1 font-mono text-[10px] font-normal ${t?`text-primary`:`text-[var(--muted-fg)]`}`,children:e.count})]})}),e.children.length>0&&/* @__PURE__ */ Y(Bt,{items:e.children,children:Qi})]})}var $i=[{id:`icons`,key:`sidebar.scopeIcons`},{id:`packages`,key:`sidebar.scopePackages`},{id:`categories`,key:`sidebar.scopeCategories`},{id:`all`,key:`sidebar.scopeAll`}],ea={fontSize:11,fontWeight:600,color:`var(--muted-fg)`},ta={fontFamily:`'Geist Mono',monospace`},na={border:`none`,backgroundColor:`transparent`,borderRadius:4,fontSize:11,cursor:`pointer`,padding:2};function ra(){let{catalog:e,page:t,packages:n}=o(),r=E(e=>e.filters),i=Ot(),a=E(e=>e.selectAllPacks),s=E(e=>e.clearPacks),c=E(e=>e.favorites),l=E(e=>e.selection),u=E(e=>e.packageQuery),d=E(e=>e.sidebarOpen),p=E(e=>e.setSidebarOpen),m=f(),h=n,g=G(()=>u?h.filter(e=>e.label.toLowerCase().includes(u.toLowerCase())):h,[h,u]),_=G(()=>h.filter(e=>e.installed).map(e=>e.id),[h]),v=G(()=>{let t=new Set(g.filter(e=>r.packages.includes(e.id)&&e.loaded).map(e=>e.id));return e?.icons?e.icons.reduce((e,n)=>e+ +!!t.has(n.package),0):g.filter(e=>t.has(e.id)).reduce((e,t)=>e+t.count,0)},[g,r.packages,e]);return/* @__PURE__ */ X(J,{children:[d&&/* @__PURE__ */ Y(`div`,{className:`ich-scrim`,onClick:()=>p(!1)}),/* @__PURE__ */ X(`aside`,{className:d?`ich-sidebar open`:`ich-sidebar`,style:{width:Di(248),flex:`none`,display:`flex`,flexDirection:`column`,background:`var(--canvas)`,minHeight:0},children:[/* @__PURE__ */ Y(ia,{}),/* @__PURE__ */ X(`div`,{className:`ich-side-scroll`,style:{flex:1,overflowY:`auto`,padding:`2px 10px 10px`,minHeight:0},children:[/* @__PURE__ */ X(`div`,{className:`flex items-center gap-1.5 pt-2 px-0.5 pb-1`,children:[/* @__PURE__ */ Y(`h2`,{id:i,style:{...ea,margin:0},children:m(`sidebar.packages`)}),/* @__PURE__ */ X(`span`,{style:{...ta,fontSize:10,color:`var(--faint-fg)`},children:[h.filter(e=>r.packages.includes(e.id)).length,`/`,h.length]}),/* @__PURE__ */ Y(`span`,{className:`flex-1`}),/* @__PURE__ */ Y(`button`,{onClick:()=>a(_),style:{...na,color:`var(--accent-text)`,fontWeight:500},children:m(`common.all`)}),/* @__PURE__ */ Y(`button`,{onClick:s,style:{...na,color:`var(--muted-fg)`},children:m(`common.none`)})]}),/* @__PURE__ */ Y(zt,{"aria-labelledby":i,value:r.packages,onChange:e=>a(e),className:`flex flex-col gap-[1px]`,children:g.map(e=>/* @__PURE__ */ Y(Rt,{value:e.id,isDisabled:!e.installed,"aria-label":e.label,className:({isSelected:e,isDisabled:t,isFocusVisible:n})=>U(`flex h-[30px] items-center gap-2 rounded-[6px] px-1.5 outline-focus-ring`,t?`cursor-not-allowed opacity-55`:`cursor-pointer`,e?`bg-[var(--accent-soft)]`:`hover:bg-[var(--muted2)]`,n&&`outline-2 -outline-offset-2`),children:({isSelected:t,isDisabled:n})=>/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(gr,{size:`sm`,isSelected:t,isDisabled:n}),/* @__PURE__ */ Y(`span`,{title:e.description,className:`flex-1 min-w-0 text-[12.5px] font-medium whitespace-nowrap overflow-hidden text-ellipsis`,children:e.label}),!e.installed&&/* @__PURE__ */ Y(`span`,{className:`text-[9.5px] text-[var(--faint-fg)] border border-[var(--border)] rounded-[4px] py-[1px] px-1`,children:m(`sidebar.notInstalled`)}),/* @__PURE__ */ Y(`span`,{style:{...ta,fontSize:10.5,color:`var(--muted-fg)`},children:hi(e.count)})]})},e.id))}),/* @__PURE__ */ Y(Zi,{})]}),/* @__PURE__ */ X(`div`,{className:`flex-none border-t border-t-[var(--border)] py-2 px-3 flex flex-col gap-1`,children:[/* @__PURE__ */ Y(aa,{label:m(`sidebar.inView`),value:hi(t.total)}),l.length>0&&/* @__PURE__ */ Y(aa,{label:m(`sidebar.selected`),value:hi(l.length)}),/* @__PURE__ */ Y(aa,{label:m(`sidebar.loadedIcons`),value:hi(v)}),/* @__PURE__ */ Y(aa,{label:m(`sidebar.ecosystemTotal`),value:hi(e?.meta.total_ecosystem??0)}),/* @__PURE__ */ Y(aa,{label:m(`sidebar.favorites`),value:hi(c.length)})]})]})]})}function ia(){let{catalog:e}=o(),t=f(),n=E(e=>e.searchScope),r=E(e=>e.setSearchScope),i=E(e=>e.setSearch),a=E(e=>e.clearSearch),s=E(e=>e.setCatQ),c=E(e=>e.setPackageQuery),l=E(e=>e.filters.search),[u,d]=q(l),p=K(null),m=e=>{i(n===`icons`||n===`all`?e:``),s(n===`categories`||n===`all`?e:``),c(n===`packages`||n===`all`?e:``)},h=e=>{d(e),p.current&&clearTimeout(p.current),p.current=setTimeout(()=>m(e),200)},g=()=>{d(``),p.current&&clearTimeout(p.current),a(),s(``),c(``)};W(()=>{m(u)},[n]);let _=G(()=>{let t=u.trim().toLowerCase();return!t||!e?{icons:0,packages:0,categories:0}:{icons:e.icons.filter(e=>`${e.name} ${e.tags.join(` `)}`.toLowerCase().includes(t)).length,packages:e.packages.filter(e=>e.label.toLowerCase().includes(t)).length,categories:new Set(e.icons.map(e=>e.category)).size?[...new Set(e.icons.map(e=>e.category))].filter(e=>e.toLowerCase().includes(t)).length:0}},[u,e]),v=t(n===`packages`?`sidebar.filterPackages`:n===`categories`?`sidebar.filterCategories`:n===`all`?`sidebar.searchEverything`:`sidebar.filterIcons`),y=$i.map(n=>({id:n.id,label:e&&u.trim()&&n.id!==`all`?`${t(n.key)} ${hi(_[n.id])}`:t(n.key)}));return/* @__PURE__ */ X(`div`,{className:`pt-2.5 px-2.5 pb-1.5 flex flex-col gap-1.5`,children:[/* @__PURE__ */ X(`div`,{className:`relative`,children:[/* @__PURE__ */ Y(ar,{"data-role":`icon-filter`,size:`sm`,icon:ze,value:u,onChange:e=>h(e.target.value),placeholder:v,"aria-label":v,inputClassName:u?`pe-8`:void 0}),u&&/* @__PURE__ */ Y(`button`,{onClick:g,title:t(`common.clear`),"aria-label":t(`common.clear`),className:`absolute end-1 top-1/2 -translate-y-1/2 flex h-6 w-6 items-center justify-center border-0 bg-transparent cursor-pointer rounded-[4px] hover:bg-[var(--muted2)]`,children:/* @__PURE__ */ Y(H,{name:`close`,size:10,color:`var(--muted-fg)`})})]}),/* @__PURE__ */ Y(Rr,{label:t(`sidebar.searchScope`),value:n,options:y,onChange:r,className:`w-full`,itemClassName:`flex-auto px-1.5 whitespace-nowrap`})]})}function aa({label:e,value:t}){return/* @__PURE__ */ X(`div`,{className:`flex justify-between text-[11px] text-[var(--muted-fg)]`,children:[/* @__PURE__ */ Y(`span`,{children:e}),/* @__PURE__ */ Y(`span`,{style:{...ta,color:`var(--fg)`},children:t})]})}async function oa(e){let t=typeof navigator<`u`?navigator.clipboard:void 0;if(typeof e!=`string`&&t?.write&&typeof ClipboardItem<`u`)try{let n=Promise.resolve(e).then(e=>new Blob([e],{type:`text/plain`}));await t.write([new ClipboardItem({"text/plain":n})]);return}catch{}let n=await e;if(t?.writeText){await t.writeText(n);return}let r=document.createElement(`textarea`);r.value=n,r.style.position=`fixed`,r.style.opacity=`0`,document.body.appendChild(r),r.select();let i=document.execCommand(`copy`);if(document.body.removeChild(r),!i)throw Error(`execCommand copy failed`)}function sa(){let e=E(e=>e.showToast),t=f();return async(n,r=t(`clipboard.copied`))=>{try{await oa(n),e(r,`copy`)}catch{e(t(`clipboard.copyFailed`),`alert-circle`)}}}var ca=[`#09090b`,`#71717a`,`#0e7c66`,`#2f54d6`,`#c2410c`,`#7c3aed`,`#be185d`,`#0891b2`];function la({value:e,onChange:t}){let[n,r]=q(168),[i,a]=q(27),[o,s]=q(100),[c,l]=q(e??`#0e7c66`),u=f(),d=bi(n,50),p=(e,n)=>t(n>=100?e:T(e,n)),m=(e,t)=>{let n=bi(e,t);l(n),p(n,o)};return/* @__PURE__ */ X(`div`,{className:`flex flex-col gap-2`,children:[/* @__PURE__ */ X(`div`,{className:`flex items-center justify-between`,children:[/* @__PURE__ */ Y(`span`,{className:`text-[10.5px] font-semibold text-[var(--muted-fg)]`,children:u(`color.previewColor`)}),/* @__PURE__ */ Y(`button`,{onClick:()=>t(null),style:{border:`none`,backgroundColor:`transparent`,color:e?`var(--accent-text)`:`var(--faint-fg)`,fontSize:10.5,cursor:`pointer`,padding:2},children:u(`color.resetToTheme`)})]}),/* @__PURE__ */ Y(`div`,{className:`flex gap-[5px] flex-wrap`,children:ca.map(n=>/* @__PURE__ */ Y(`button`,{onClick:()=>{l(n),t(n)},title:n,style:{width:22,height:22,borderRadius:6,background:n,border:e===n?`2px solid var(--fg)`:`1px solid var(--border)`,cursor:`pointer`}},n))}),/* @__PURE__ */ Y(`input`,{type:`range`,className:`ich-hue`,min:0,max:360,value:n,onChange:e=>{let t=Number(e.target.value);r(t),m(t,i)},style:{width:`100%`}}),/* @__PURE__ */ Y(`input`,{type:`range`,className:`ich-light`,min:12,max:88,value:i,onChange:e=>{let t=Number(e.target.value);a(t),m(n,t)},style:{width:`100%`,"--pick-mid":d}}),/* @__PURE__ */ X(`div`,{className:`flex items-center gap-[7px]`,children:[/* @__PURE__ */ Y(`span`,{style:{width:20,height:20,borderRadius:6,background:e??d,border:`1px solid var(--border)`,flex:`none`}}),/* @__PURE__ */ Y(cr,{size:`sm`,value:c,onChange:e=>{l(e),R(e)&&p(e,o)},placeholder:`#0e7c66`,"aria-label":u(`appearance.customHex`),inputClassName:`font-mono`,className:`min-w-0 flex-1`}),/* @__PURE__ */ Y(cr,{size:`sm`,inputMode:`numeric`,value:String(o),onChange:e=>{let t=Math.max(0,Math.min(100,Number(e)||0));s(t),R(c)&&p(c,t)},"aria-label":u(`color.opacity`),inputClassName:`text-right font-mono`,className:`w-14 flex-none`})]})]})}var ua=Uint8Array,da=Uint16Array,fa=Int32Array,pa=new ua([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),ma=new ua([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),ha=new ua([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ga=function(e,t){for(var n=new da(31),r=0;r<31;++r)n[r]=t+=1<>1|($&21845)<<1;Ca=(Ca&52428)>>2|(Ca&13107)<<2,Ca=(Ca&61680)>>4|(Ca&3855)<<4,Sa[$]=((Ca&65280)>>8|(Ca&255)<<8)>>1}for(var wa=(function(e,t,n){for(var r=e.length,i=0,a=new da(t);i>c]=l}else for(s=new da(r),i=0;i>15-e[i]);return s}),Ta=new ua(288),$=0;$<144;++$)Ta[$]=8;for(var $=144;$<256;++$)Ta[$]=9;for(var $=256;$<280;++$)Ta[$]=7;for(var $=280;$<288;++$)Ta[$]=8;for(var Ea=new ua(32),$=0;$<32;++$)Ea[$]=5;var Da=/*#__PURE__*/ wa(Ta,9,0),Oa=/*#__PURE__*/ wa(Ea,5,0),ka=function(e){return(e+7)/8|0},Aa=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new ua(e.subarray(t,n))},ja=[`unexpected EOF`,`invalid block type`,`invalid length/literal`,`invalid distance`,`stream finished`,`no stream handler`,,`no callback`,`invalid UTF-8 data`,`extra field too long`,`date not in range 1980-2099`,`filename too long`,`stream finishing`,`invalid zip data`],Ma=function(e,t,n){var r=Error(t||ja[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,Ma),!n)throw r;return r},Na=function(e,t,n){n<<=t&7;var r=t/8|0;e[r]|=n,e[r+1]|=n>>8},Pa=function(e,t,n){n<<=t&7;var r=t/8|0;e[r]|=n,e[r+1]|=n>>8,e[r+2]|=n>>16},Fa=function(e,t){for(var n=[],r=0;rf&&(f=a[r].s);var p=new da(f+1),m=Ia(n[u-1],p,0);if(m>t){var r=0,h=0,g=m-t,_=1<t)h+=_-(1<>=g;h>0;){var y=a[r].s;p[y]=0&&h;--r){var b=a[r].s;p[b]==t&&(--p[b],++h)}m=t}return{t:new ua(p),l:m}},Ia=function(e,t,n){return e.s==-1?Math.max(Ia(e.l,t,n+1),Ia(e.r,t,n+1)):t[e.s]=n},La=function(e){for(var t=e.length;t&&!e[--t];);for(var n=new da(++t),r=0,i=e[0],a=1,o=function(e){n[r++]=e},s=1;s<=t;++s)if(e[s]==i&&s!=t)++a;else{if(!i&&a>2){for(;a>138;a-=138)o(32754);a>2&&(o(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(o(i),--a;a>6;a-=6)o(8304);a>2&&(o(a-3<<5|8208),a=0)}for(;a--;)o(i);a=1,i=e[s]}return{c:n.subarray(0,r),n:t}},Ra=function(e,t){for(var n=0,r=0;r>8,e[i+2]=e[i]^255,e[i+3]=e[i+1]^255;for(var a=0;a4&&!E[ha[O-1]];--O);var ee=l+5<<3,k=Ra(i,Ta)+Ra(a,Ea)+o,A=Ra(i,f)+Ra(a,h)+o+14+3*O+Ra(C,E)+2*C[16]+3*C[17]+7*C[18];if(c>=0&&ee<=k&&ee<=A)return za(t,u,e.subarray(c,c+l));var j,M,N,te;if(Na(t,u,1+(A15&&(Na(t,u,F[w]>>5&127),u+=F[w]>>12)}}else j=Da,M=Ta,N=Oa,te=Ea;for(var w=0;w255){var I=L>>18&31;Pa(t,u,j[I+257]),u+=M[I+257],I>7&&(Na(t,u,L>>23&31),u+=pa[I]);var R=L&31;Pa(t,u,N[R]),u+=te[R],R>3&&(Pa(t,u,L>>5&8191),u+=ma[R])}else Pa(t,u,j[L]),u+=M[L]}return Pa(t,u,j[256]),u+M[256]},Va=/*#__PURE__*/ new fa([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Ha=/*#__PURE__*/ new ua(0),Ua=function(e,t,n,r,i,a){var o=a.z||e.length,s=new ua(r+o+5*(1+Math.ceil(o/7e3))+i),c=s.subarray(r,s.length-i),l=a.l,u=(a.r||0)&7;if(t){u&&(c[0]=a.r>>3);for(var d=Va[t-1],f=d>>13,p=d&8191,m=(1<7e3||E>24576)&&(j>423||!l)){u=Ba(e,c,0,b,x,S,w,E,O,T-O,u),E=C=w=0,O=T;for(var M=0;M<286;++M)x[M]=0;for(var M=0;M<30;++M)S[M]=0}var N=2,te=0,ne=p,P=k-A&32767;if(j>2&&ee==y(T-P))for(var re=Math.min(f,j)-1,F=Math.min(32767,T),I=Math.min(258,j);P<=F&&--ne&&k!=A;){if(e[T+N]==e[T+N-P]){for(var L=0;LN){if(N=L,te=P,L>re)break;for(var R=Math.min(P,L-2),z=0,M=0;Mz&&(z=ie,A=B)}}}k=A,A=h[k],P+=k-A&32767}if(te){b[E++]=268435456|ya[N]<<18|xa[te];var ae=ya[N]&31,oe=xa[te]&31;w+=pa[ae]+ma[oe],++x[257+ae],++S[oe],D=T+N,++C}else b[E++]=e[T],++x[e[T]]}}for(T=Math.max(T,D);T=o&&(c[u/8|0]=l,se=o),u=za(c,u+1,e.subarray(T,se))}a.i=o}return Aa(s,0,r+ka(u)+i)},Wa=/*#__PURE__*/ (function(){for(var e=/* @__PURE__ */ new Int32Array(256),t=0;t<256;++t){for(var n=t,r=9;--r;)n=(n&1&&-306674912)^n>>>1;e[t]=n}return e})(),Ga=function(){var e=-1;return{p:function(t){for(var n=e,r=0;r>>8;e=n},d:function(){return~e}}},Ka=function(e,t,n,r,i){if(!i&&(i={l:1},t.dictionary)){var a=t.dictionary.subarray(-32768),o=new ua(a.length+e.length);o.set(a),o.set(e,a.length),e=o,i.w=a.length}return Ua(e,t.level==null?6:t.level,t.mem==null?i.l?Math.ceil(Math.max(8,Math.min(13,Math.log(e.length)))*1.5):20:12+t.mem,n,r,i)},qa=function(e,t){var n={};for(var r in e)n[r]=e[r];for(var r in t)n[r]=t[r];return n},Ja=function(e,t,n){for(;n;++t)e[t]=n,n>>>=8};function Ya(e,t){return Ka(e,t||{},0,0)}var Xa=function(e,t,n,r){for(var i in e){var a=e[i],o=t+i,s=r;Array.isArray(a)&&(s=qa(r,a[1]),a=a[0]),ArrayBuffer.isView(a)?n[o]=[a,s]:(n[o+=`/`]=[new ua(0),s],Xa(a,o,n,r))}},Za=typeof TextEncoder<`u`&&/*#__PURE__*/ new TextEncoder,Qa=typeof TextDecoder<`u`&&/*#__PURE__*/ new TextDecoder;try{Qa.decode(Ha,{stream:!0})}catch{}function $a(e,t){if(t){for(var n=new ua(e.length),r=0;r>1)),o=0,s=function(e){a[o++]=e},r=0;ra.length){var c=new ua(o+8+(i-r<<1));c.set(a),a=c}var l=e.charCodeAt(r);l<128||t?s(l):l<2048?(s(192|l>>6),s(128|l&63)):l>55295&&l<57344?(l=65536+(l&1047552)|e.charCodeAt(++r)&1023,s(240|l>>18),s(128|l>>12&63),s(128|l>>6&63),s(128|l&63)):(s(224|l>>12),s(128|l>>6&63),s(128|l&63))}return Aa(a,0,o)}var eo=function(e){var t=0;if(e)for(var n in e){var r=e[n].length;r>65535&&Ma(9),t+=r+4}return t},to=function(e,t,n,r,i,a,o,s){var c=r.length,l=n.extra,u=s&&s.length,d=eo(l);Ja(e,t,o==null?67324752:33639248),t+=4,o!=null&&(e[t++]=20,e[t++]=n.os),e[t]=20,t+=2,e[t++]=n.flag<<1|(a<0&&8),e[t++]=i&&8,e[t++]=n.compression&255,e[t++]=n.compression>>8;var f=new Date(n.mtime==null?Date.now():n.mtime),p=f.getFullYear()-1980;if((p<0||p>119)&&Ma(10),Ja(e,t,p<<25|f.getMonth()+1<<21|f.getDate()<<16|f.getHours()<<11|f.getMinutes()<<5|f.getSeconds()>>1),t+=4,a!=-1&&(Ja(e,t,n.crc),Ja(e,t+4,a<0?-a-2:a),Ja(e,t+8,n.size)),Ja(e,t+12,c),Ja(e,t+14,d),t+=16,o!=null&&(Ja(e,t,u),Ja(e,t+6,n.attrs),Ja(e,t+10,o),t+=14),e.set(r,t),t+=c,d)for(var m in l){var h=l[m],g=h.length;Ja(e,t,+m),Ja(e,t+2,g),e.set(h,t+4),t+=4+g}return u&&(e.set(s,t),t+=u),t},no=function(e,t,n,r,i){Ja(e,t,101010256),Ja(e,t+8,n),Ja(e,t+10,n),Ja(e,t+12,r),Ja(e,t+16,i)};function ro(e,t){t||={};var n={},r=[];Xa(e,``,n,t);var i=0,a=0;for(var o in n){var s=n[o],c=s[0],l=s[1],u=l.level==0?0:8,d=$a(o),f=d.length,p=l.comment,m=p&&$a(p),h=m&&m.length,g=eo(l.extra);f>65535&&Ma(11);var _=u?Ya(c,l):c,v=_.length,y=Ga();y.p(c),r.push(qa(l,{size:c.length,crc:y.d(),c:_,f:d,m,u:f!=o.length||m&&p.length!=h,o:i,compression:u})),i+=30+f+g+v,a+=76+2*(f+g)+(h||0)+v}for(var b=new ua(a+22),x=i,S=a-i,C=0;Ce.icon));return`\n${e.map((e,n)=>` \n ${e.body}\n `).join(` -`)}\n\n`}manifest(e){return JSON.stringify({generated:`ichava-browser`,count:e.length,icons:e.map(e=>({id:e.id,ref:this.#e.ref(e),name:e.name,package:e.package,category:e.category,variant:e.variant}))},null,2)}standaloneSvg(e){let t=e.rootAttrs??` fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"`;return`\n ${e.body}\n\n`}cleanSvg(e){if(!this.#t)throw Error(`ExportBundle: the asset exports need a sanitiser; pass one to the constructor`);return this.#t.sanitize(this.standaloneSvg(e)).trim().replace(/^]*\sxmlns=")/,`e.icon));return`/* Ichava icons as CSS masks: each class paints its icon in currentColor. Built by ichava-browser from sanitised SVG. */\n${e.map((e,n)=>{let r=`url("${this.dataUri(e)}") no-repeat center / contain`;return`.i-${co(t[n])} {\n display: inline-block;\n width: 1em;\n height: 1em;\n background-color: currentColor;\n -webkit-mask: ${r};\n mask: ${r};\n}\n`}).join(``)}`}dataUriCss(e){let t=this.names(e.map(e=>e.icon));return`/* Ichava icons as data URIs. Built by ichava-browser from sanitised SVG. */\n:root {\n${e.map((e,n)=>` --i-${co(t[n])}: url("${this.dataUri(e)}");\n`).join(``)}}\n`}names(e){let t=e=>e.reduce((e,t)=>e.set(t,(e.get(t)??0)+1),/* @__PURE__ */ new Map),n=e.map(e=>this.#e.slug(e)),r=t(n),i=e.map((e,t)=>r.get(n[t])>1?`${n[t]}-${e.variant}`:n[t]),a=t(i);return e.map((e,t)=>a.get(i[t])>1?`${i[t]}-${e.id}`:i[t])}build(e,t){if(!t.length)throw RangeError(`ExportBundle.build: nothing to export`);let n=t.map(e=>e.icon);if(e===`manifest`)return lo(`ichava-manifest.json`,this.manifest(n),`application/json`);if(e===`sprite`)return lo(`ichava-sprite.svg`,this.sprite(t),`image/svg+xml`);if(e===`css-mask`)return lo(`ichava-icons.css`,this.cssMask(t),`text/css`);if(e===`data-uri`)return lo(`ichava-data-uri.css`,this.dataUriCss(t),`text/css`);let r=this.names(n);if(e===`files`){if(t.length===1)return lo(`${r[0]}.svg`,this.standaloneSvg(t[0]),`image/svg+xml`);let e={};return t.forEach((t,n)=>{e[`${r[n]}.svg`]=$a(this.standaloneSvg(t))}),{name:`ichava-svgs.zip`,type:`application/zip`,bytes:ro(e,{level:6})}}let i={"sprite.svg":$a(this.sprite(t)),"manifest.json":$a(this.manifest(n))};return t.forEach((e,t)=>{i[`svg/${r[t]}.svg`]=$a(this.standaloneSvg(e))}),{name:`ichava-icons.zip`,type:`application/zip`,bytes:ro(i,{level:6})}}},ao=`http://www.w3.org/2000/svg`,oo=/^[A-Za-z0-9\-_.~!*'()/:;=,?@&+$]$/;function so(e){let t=``;for(let n of e.replace(/\s+/g,` `).trim())t+=oo.test(n)?n:encodeURIComponent(n);return`data:image/svg+xml,${t}`}function co(e){return e.replace(/[^A-Za-z0-9_-]+/g,`-`)}function lo(e,t,n){return{name:e,type:n,bytes:$a(t)}}async function uo(e,t,n){if(!t.length)return;let r=e===`manifest`?t.map(e=>({icon:e,body:``,viewBox:e.viewBox})):await Promise.all(t.map(async e=>{let t=await Promise.resolve(n.parts(e));return{icon:e,body:t.body,viewBox:t.viewBox,rootAttrs:t.rootAttrs??``}}));n.downloader.download(n.bundle.build(e,r))}var fo=class{download(e){let t=new Blob([e.bytes],{type:e.type}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=e.name,r.click(),URL.revokeObjectURL(n)}},po=new io({ref:nt,slug:e=>`${it(e)}-${e.name}`},{sanitize:ot});function mo(e,t){return uo(e,t,{bundle:po,parts:st,downloader:new fo})}var ho=new class{buildSprite(e){return po.sprite(e)}buildManifest(e){return po.manifest(e)}buildStandaloneSvg(e){return po.standaloneSvg(e)}buildDataUri(e){return po.dataUri(e)}buildCssMask(e){return po.cssMask(e)}async export(e,t){return mo(e,t)}};function go({counts:e}){let t=E(e=>e.filters.kind??`icon`),n=E(e=>e.setKind),r=f();return!e||e.illustration===0&&t!==`illustration`?null:/* @__PURE__ */ Y(Rr,{label:r(`kind.label`),value:t,onChange:n,className:`me-1`,itemClassName:`gap-1.5 px-2.5`,options:[{id:`icon`,label:`${r(`kind.icons`)} ${hi(e.icon)}`},{id:`illustration`,label:`${r(`kind.illustrations`)} ${hi(e.illustration)}`}]})}var _o=g.toolbar.exportFormats,vo=g.toolbar.nativeExports??[],yo=g.toolbar.sortOptions,bo=g.toolbar.treatments,xo=g.toolbar.sizeUnits;function So(){let{page:e,repo:t,client:n,kindCounts:r}=o(),i=E(e=>e.filters),a=E(e=>e.toggleTag),s=E(e=>e.toggleKeyword),c=E(e=>e.setSearch),l=E(e=>e.toggleCat),u=E(e=>e.setVariant),d=E(e=>e.setSort),p=E(e=>e.toggleOrder),m=E(e=>e.size),h=E(e=>e.setSize),_=E(e=>e.sizeUnit),b=E(e=>e.setSizeUnit),x=E(e=>e.gridStroke),S=E(e=>e.setGridStroke),C=E(e=>e.color),w=E(e=>e.setColor),T=E(e=>e.treatment),D=E(e=>e.setTreatment),O=E(e=>e.selection),ee=E(e=>e.clearSelection),k=E(e=>e.openLibrary),A=E(e=>e.resetFilters),j=E(e=>e.openConfirm),M=E(e=>e.showToast),N=E(e=>e.runTask),te=E(e=>e.config),ne=sa(),P=f(),re=(e,t)=>{let n=P(y(e));return n===e?t:n},F=gi(),I=te?.ranges??g.ranges,L=te?.features??g.features,R=()=>j({title:P(`toolbar.resetTitle`),body:P(`toolbar.resetBody`),confirmLabel:P(`toolbar.resetConfirm`),danger:!0,onConfirm:()=>{A(),M(P(`toolbar.resetToast`),`refresh`)}}),z=G(()=>{let e=[];i.search&&e.push({key:`q`,label:`“${i.search}”`,remove:()=>c(``)});for(let t of i.categories)e.push({key:`c-${t}`,label:t,remove:()=>l(t)});i.variant&&e.push({key:`v`,label:i.variant,remove:()=>u(i.variant)});for(let t of i.tags??[])e.push({key:`t-${t}`,label:`#${t}`,remove:()=>a(t)});for(let t of i.keywords??[])e.push({key:`k-${t}`,label:t,remove:()=>s(t)});return e},[i,c,l,u,a,s]),B=i.kind===`illustration`;return/* @__PURE__ */ X(`div`,{"data-region":`toolbar`,style:{minHeight:Di(42),flex:`none`,display:`flex`,flexWrap:`wrap`,alignItems:`center`,gap:`6px 8px`,padding:`5px 12px`,borderBottom:`1px solid var(--border)`,background:`var(--surface)`},children:[L.illustrations!==!1&&/* @__PURE__ */ Y(go,{counts:r}),/* @__PURE__ */ X(`span`,{className:`text-[12px] text-[var(--muted-fg)] whitespace-nowrap`,children:[hi(e.total),` `,B?e.total===1?P(`toolbar.illustrationOne`):P(`toolbar.illustrationMany`):e.total===1?P(`toolbar.iconOne`):P(`toolbar.iconMany`)]}),z.map(e=>/* @__PURE__ */ X(`button`,{onClick:e.remove,title:P(`toolbar.removeFilter`),className:`flex items-center gap-[5px] h-[22px] py-0 px-[7px] border border-[var(--border)] rounded-[3px] bg-[var(--accent-soft)] text-brand-secondary text-[11px] font-medium cursor-pointer capitalize`,children:[/* @__PURE__ */ Y(`span`,{children:e.label}),/* @__PURE__ */ Y(H,{name:`close`,size:8,color:`currentColor`})]},e.key)),L.multiSelect!==!1&&O.length>0&&/* @__PURE__ */ X(`div`,{className:`flex items-center gap-1.5 pl-1`,children:[/* @__PURE__ */ Y(`span`,{className:`text-[11.5px] text-[var(--accent-text)] font-semibold`,children:P(`toolbar.selected`,{n:O.length})}),/* @__PURE__ */ Y(`button`,{onClick:()=>{let r=N(P(`task.copyNames`,{n:O.length}),async()=>(await Co(O,t,n,e.items)).map(e=>nt(e)).join(` -`));ne(r,P(`toolbar.namesCopied`,{n:O.length}))},className:`h-[22px] py-0 px-2 border border-[var(--border)] rounded-[calc(var(--radius)_-_3px)] bg-[var(--bg)] text-[11px] cursor-pointer text-[var(--fg)]`,children:P(`toolbar.copyNames`)}),L.collections!==!1&&/* @__PURE__ */ X(`button`,{onClick:()=>k(`collections`,{seed:O}),className:`h-[22px] py-0 px-2 border border-[var(--border)] rounded-[calc(var(--radius)_-_3px)] bg-[var(--bg)] text-[11px] cursor-pointer text-[var(--fg)] flex items-center gap-[5px]`,children:[/* @__PURE__ */ Y(H,{name:`plus`,size:10,color:`currentColor`}),` `,P(`toolbar.newCollection`)]}),L.export!==!1&&/* @__PURE__ */ Y(Or,{label:P(`toolbar.export`),align:`left`,width:190,panelStyle:{padding:4},trigger:(e,t)=>/* @__PURE__ */ X(`button`,{onClick:t,className:`h-[22px] py-0 px-2 border border-[var(--border)] rounded-[calc(var(--radius)_-_3px)] bg-[var(--bg)] text-[11px] cursor-pointer text-[var(--fg)] flex items-center gap-[5px]`,children:[/* @__PURE__ */ Y(H,{name:`download`,size:10,color:`currentColor`}),` `,P(`toolbar.export`),` `,/* @__PURE__ */ Y(H,{name:`chevron-down`,size:8,color:`var(--muted-fg)`})]}),children:r=>/* @__PURE__ */ X(J,{children:[_o.map(i=>/* @__PURE__ */ X(`button`,{onClick:async()=>{r();let a=await N(P(`task.export`,{n:O.length}),async()=>{let r=await Co(O,t,n,e.items);return await ho.export(i.id,r),r});M(P(`toolbar.exportedToast`,{n:a.length,label:P(`export.${i.id}`)}),`download`)},style:{...Nr,height:`auto`,padding:`7px 9px`,gap:10},children:[i.icon&&/* @__PURE__ */ Y(`div`,{className:`w-[26px] h-[26px] flex-none rounded-[7px] bg-[var(--muted)] flex items-center justify-center`,children:/* @__PURE__ */ Y(H,{name:i.icon,size:14,color:`var(--muted-fg)`})}),/* @__PURE__ */ X(`div`,{className:`flex-1 text-start`,children:[/* @__PURE__ */ Y(`div`,{className:`text-[12.5px] font-[600]`,children:P(`export.${i.id}`)}),/* @__PURE__ */ Y(`div`,{className:`text-[10.5px] text-[var(--muted-fg)]`,children:P(`export.${i.id}Desc`)})]})]},i.id)),vo.length>0&&/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(`div`,{role:`separator`,className:`h-px my-1 mx-1.5 bg-[var(--border)]`}),/* @__PURE__ */ Y(`div`,{className:`px-[9px] pt-1 pb-0.5 text-[10px] font-[600] uppercase tracking-[0.04em] text-[var(--muted-fg)]`,children:P(`export.native`)}),vo.map(e=>/* @__PURE__ */ X(`a`,{href:e.href,target:`_blank`,rel:`noopener noreferrer`,"data-native-export":e.id,onClick:()=>r(),style:{...Nr,height:`auto`,padding:`7px 9px`,gap:10,textDecoration:`none`,color:`inherit`},children:[/* @__PURE__ */ Y(`div`,{className:`w-[26px] h-[26px] flex-none rounded-[7px] bg-[var(--muted)] flex items-center justify-center`,children:/* @__PURE__ */ Y(H,{name:`package`,size:14,color:`var(--muted-fg)`})}),/* @__PURE__ */ X(`div`,{className:`flex-1 text-start`,children:[/* @__PURE__ */ Y(`div`,{className:`text-[12.5px] font-[600]`,children:P(`export.${e.id}`)}),/* @__PURE__ */ Y(`div`,{className:`text-[10.5px] text-[var(--muted-fg)]`,children:P(`export.${e.id}Desc`)})]})]},e.id))]})]})}),/* @__PURE__ */ Y(`button`,{onClick:ee,className:`h-[22px] py-0 px-2 border-0 bg-transparent text-[11px] cursor-pointer text-[var(--muted-fg)]`,children:P(`common.clear`)})]}),/* @__PURE__ */ Y(`span`,{className:`flex-1`}),L.treatments&&/* @__PURE__ */ Y(xr,{size:`sm`,"aria-label":P(`toolbar.treatment`),icon:v,items:bo.map(e=>({id:e.id,label:re(`treatment.${e.id}`,e.label)})),selectedKey:T,onSelectionChange:e=>D(e),className:`w-36 flex-none`,children:e=>/* @__PURE__ */ Y(xr.Item,{...e,supportingText:re(`treatment.${String(e.id)}Desc`,bo.find(t=>t.id===e.id)?.desc??``)})}),/* @__PURE__ */ X(`div`,{className:`flex flex-none items-center gap-[7px]`,children:[/* @__PURE__ */ Y(`span`,{style:wo,children:P(`toolbar.sort`)}),/* @__PURE__ */ Y(xr,{size:`sm`,"aria-label":P(`toolbar.sort`),items:yo.map(e=>({id:e.id,label:re(`sort.${e.id}`,e.label)})),selectedKey:i.sortBy,onSelectionChange:e=>d(e),className:`w-32 flex-none`,children:e=>/* @__PURE__ */ Y(xr.Item,{...e})}),/* @__PURE__ */ Y(Z,{content:P(`toolbar.toggleSortOrder`),children:/* @__PURE__ */ Y(`button`,{onClick:p,"aria-label":P(`toolbar.toggleSortOrder`),style:{...Mr,width:28,padding:0,justifyContent:`center`,color:`var(--muted-fg)`},children:/* @__PURE__ */ Y(H,{name:i.sortOrder===`asc`?`sort-asc`:`sort-desc`,size:13,color:`currentColor`})})})]}),/* @__PURE__ */ Y(Eo,{}),/* @__PURE__ */ X(`div`,{className:`flex items-center gap-[7px]`,children:[/* @__PURE__ */ Y(`span`,{style:wo,children:P(`toolbar.size`)}),/* @__PURE__ */ Y(`div`,{className:`w-[104px] px-3`,children:/* @__PURE__ */ Y(Ur,{minValue:I.size.min,maxValue:I.size.max,step:I.size.step,value:m,onChange:e=>h(e),"aria-label":P(`toolbar.gridIconSize`),formatOptions:{style:`decimal`}})}),/* @__PURE__ */ Y(`span`,{style:{...To,fontSize:10.5,color:`var(--muted-fg)`,minWidth:52,textAlign:`right`},children:_===`px`?P(`unit.pxValue`,{n:m}):`${m} ${_}`}),/* @__PURE__ */ Y(xr,{size:`sm`,"aria-label":P(`toolbar.sizeUnit`),items:xo.map(e=>({id:e,label:e})),selectedKey:_,onSelectionChange:e=>b(e),className:`w-20 flex-none`,popoverClassName:`min-w-20`,children:e=>/* @__PURE__ */ Y(xr.Item,{...e})})]}),/* @__PURE__ */ Y(Eo,{}),/* @__PURE__ */ X(`div`,{className:`flex items-center gap-[7px]`,title:P(`toolbar.strokeTitle`),children:[/* @__PURE__ */ Y(`span`,{style:wo,children:P(`toolbar.stroke`)}),/* @__PURE__ */ Y(`div`,{className:`w-[88px] px-3`,children:/* @__PURE__ */ Y(Ur,{minValue:I.stroke.min,maxValue:I.stroke.max,step:I.stroke.step,value:x,onChange:e=>S(e),"aria-label":P(`toolbar.stroke`),formatOptions:{style:`decimal`,maximumFractionDigits:2}})}),/* @__PURE__ */ Y(`span`,{style:{...To,fontSize:10.5,color:`var(--muted-fg)`,minWidth:40,textAlign:`right`},children:x.toFixed(2)})]}),/* @__PURE__ */ Y(Eo,{}),/* @__PURE__ */ X(`div`,{className:`flex flex-none items-center gap-[7px]`,children:[/* @__PURE__ */ Y(Or,{label:P(`toolbar.previewColor`),align:`right`,width:196,panelStyle:{padding:10},trigger:(e,t)=>/* @__PURE__ */ X(`button`,{onClick:t,title:P(`toolbar.previewColor`),style:{...Mr,padding:`0 8px`},children:[/* @__PURE__ */ Y(`span`,{style:{width:13,height:13,borderRadius:`50%`,background:C??`linear-gradient(135deg,var(--fg),var(--muted-fg))`,border:`1px solid var(--border)`}}),/* @__PURE__ */ Y(`span`,{className:`text-[11.5px]`,children:P(`toolbar.color`)}),/* @__PURE__ */ Y(H,{name:`chevron-down`,size:9,color:`currentColor`})]}),children:()=>/* @__PURE__ */ Y(J,{children:/* @__PURE__ */ Y(la,{value:C,onChange:w})})}),/* @__PURE__ */ Y(Z,{content:P(`toolbar.resetFilters`),shortcut:_i(F),children:/* @__PURE__ */ Y(`button`,{onClick:R,"aria-label":P(`toolbar.resetFilters`),style:{...Mr,width:28,padding:0,justifyContent:`center`,border:`none`,backgroundColor:`transparent`,color:`var(--muted-fg)`},children:/* @__PURE__ */ Y(H,{name:`refresh`,size:13,color:`currentColor`})})})]})]})}async function Co(e,t,n,r){if(t)return e.map(e=>t.byId(e)).filter(e=>!!e);if(!n)return[];let i=new Map(r.map(e=>[e.id,e]));return(await Promise.all(e.map(e=>i.has(e)?i.get(e):n.getIcon(e).catch(()=>null)))).filter(e=>!!e)}var wo={fontSize:11,fontWeight:600,color:`var(--muted-fg)`},To={fontFamily:`'Geist Mono',monospace`},Eo=()=>/* @__PURE__ */ Y(`div`,{className:`hidden md:block w-[1px] h-[18px] bg-[var(--border)] my-0 mx-0.5`});function Do(e){return typeof e==`object`?e.key:e}function Oo(e,t){let n=e.length;return new Proxy(e,{get(e,r,i){if(typeof r==`string`){let i=r.charCodeAt(0);if(i>=48&&i<=57){let i=+r;if(Number.isInteger(i)&&i>=0&&ir[t]!==e)))return i;r=c;let l=0;if(o&&(l=Date.now()),i=t(...c),o){let e=Math.round((Date.now()-s)*100)/100,t=Math.round((Date.now()-l)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.length{r=e},o}function Ao(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var jo=(e,t)=>Math.abs(e-t)<1.01,Mo=(e,t,n)=>{let r;return Object.assign(function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)},{cancel:()=>{e.clearTimeout(r)}})};function No({offset:e,isScrolling:t,elementMax:n,holdOffset:r,scrollOffset:i,pendingWrite:a,clampedMaxAtWrite:o}){return t&&a===null&&e===i?`spurious`:a!==null&&Math.abs(e-a.target)<1.5?`readBack`:a!==null&&!a.smooth&&n!==null&&a.target>n+r+.5&&Math.abs(e-(n+r))<1.5||a!==null&&!a.smooth&&a.lowMaxes?.some(t=>Math.abs(e-t)<1.5)?`clampedReadBack`:o!==null&&Math.abs(e-o)<1.5?`clampedEcho`:`external`}var Po=e=>e===`smooth`||e===`smoothFinishing`;function Fo({kind:e,offset:t,command:n,target:r}){return e!==`spurious`&&e!==`readBack`&&e!==`clampedReadBack`&&n?.index!=null&&n.phase!==`queued`&&!Po(n.phase)&&!jo(t,n.lastTargetOffset)&&!jo(t,r())&&e!==`clampedEcho`}var Io=40;function Lo(e){let t=e[e.length-1];if(t===void 0)return!1;let n=e.length-2;for(;n>=0&&t.t-e[n].t=0&&r.t-e[i].t=0&&Math.abs(o)>=2*Math.abs(s)&&Math.abs(o)-Math.abs(s)>=.8}function Ro(e){let t=e[e.length-1];if(t===void 0)return!1;let n=e.length-2;for(;n>=0&&t.t-e[n].t=.05}var zo,Bo=()=>{if(zo!==void 0)return zo;if(typeof navigator>`u`)return zo=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return zo=!0;let e=navigator.maxTouchPoints;return zo=navigator.platform===`MacIntel`&&e!==void 0&&e>0},Vo,Ho=()=>Vo===void 0?Vo=Bo()&&typeof CSS<`u`&&typeof CSS.supports==`function`&&CSS.supports(`overflow-anchor: auto`):Vo,Uo=()=>!Bo()||Ho(),Wo={capture:!0,passive:!0},Go=class{constructor(e){this.host=e,this._touch=null,this.inMotion=()=>this._touch!==null&&this._touch.phase!==`lateFling`,this.dragging=()=>this._touch?.phase===`down`&&this._touch.moved,this.tail=()=>this._touch?.phase===`tail`?this._touch.moved?`fling`:`tap`:null,this.onScroll=({isScrolling:e,ownReadBack:t,moved:n,external:r})=>(e&&this._touch?.phase===`tail`?this._openTail(this._touch.moved||!t,!1):this._touch?.phase===`lateFling`&&(this.host.now()>this._touch.until?this._touch=null:r&&e&&n&&this._openTail(!0,!1)),!t&&e&&n&&this._touch?.phase===`down`?(this._touch.moved=!0,!0):!1),this.touchStart=()=>{this.end(),this._touch={phase:`down`,moved:!1}},this.touchEnd=()=>{let e=this._touch?.phase===`down`&&this._touch.moved;this.end(),this._openTail(e,e)},this.end=()=>{let e=this.host.getWindow();this._touch?.phase===`tail`&&e!=null&&e.clearTimeout(this._touch.timerId),this._touch=null},this.listen=e=>{let t=()=>this.touchStart(),n=()=>this.touchEnd();return e.addEventListener(`touchstart`,t,Wo),e.addEventListener(`touchend`,n,Wo),e.addEventListener(`touchcancel`,n,Wo),()=>{e.removeEventListener(`touchstart`,t,Wo),e.removeEventListener(`touchend`,n,Wo),e.removeEventListener(`touchcancel`,n,Wo),this.end()}},this._openTail=(e,t)=>{let n=this.host.getWindow();if(n==null)return;this.end();let r={phase:`tail`,moved:e,awaitingFling:t,timerId:n.setTimeout(()=>{this.host.tailStillMoving()?this._openTail(r.moved,r.awaitingFling):(this._touch=r.awaitingFling?{phase:`lateFling`,until:this.host.now()+1e3}:null,this.host.onTailClosed())},150)};this._touch=r}}get touch(){return this._touch}},Ko=e=>{let{clientWidth:t,clientHeight:n}=e;return{width:t,height:n}},qo=e=>{let t=/* @__PURE__ */ new Set;return{schedule:n=>{let r=e.requestAnimationFrame(()=>{t.delete(r),n()});t.add(r)},cancel:()=>{t.forEach(t=>e.cancelAnimationFrame(t)),t.clear()}}},Jo=e=>e,Yo=e=>{let t=e.overscan*Math.max(e.lanes??1,1),n=Math.max(e.startIndex-t,0),r=Math.min(e.endIndex+t,e.count-1)-n+1,i=Array(r);for(let e=0;e{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(Ko(n)),!r.ResizeObserver)return()=>{};let a=qo(r),o=new r.ResizeObserver(()=>{let t=()=>{i(Ko(n))};e.options.useAnimationFrameWithResizeObserver?a.schedule(t):t()});return o.observe(n,{box:`content-box`}),()=>{o.unobserve(n),a.cancel()}},Zo={passive:!0},Qo=typeof window>`u`||`onscrollend`in window,$o=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&Qo,o=0,s=a?null:Mo(i,()=>t(n(r),!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,Zo),a&&r.addEventListener(`scrollend`,u,Zo),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u),s?.cancel()}},es=(e,t)=>$o(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),ts=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},ns=(e,{adjustments:t=0,behavior:n},r)=>{var i;let{scrollElement:a,options:o}=r,s=e+t,c=o.horizontal&&o.isRtl&&a!==null&&`ownerDocument`in a;(i=a?.scrollTo)==null||i.call(a,{[o.horizontal?`left`:`top`]:c?-s:s,behavior:n})},rs=(e,t)=>e===`smooth`?t?`smoothLanded`:`smooth`:`instant`,is=e=>e?.phase===`smooth`||e?.phase===`smoothLanded`;function as(e,t,n,r){if(t===0)return!1;let i=r(0),a=/* @__PURE__ */ new Set,o=0;for(;o=t)return!1;for(let e=0;ethis.targetWindow,now:()=>this.now(),tailStillMoving:()=>{let e=this.scrollState;if(e?.phase!==`queued`||this.pendingWrite!==null)return!1;let t=this._readElementOffset();return t===null||this._lastElementOffset===null||Math.abs(t-this._lastElementOffset)<1?!1:(this._lastElementOffset=t,e.samples=[...e.samples??[],{t:this.now(),offset:t}],!0)},onTailClosed:()=>{let e=this.scrollState;e?.phase===`queued`&&Ro(e.samples??[])&&(this.scrollState=null),this._flushHoldIfReady(!0),this._writeAwaitingCommand(),this._retryClampedAdjustment()}}),this._lastElementOffset=null,this.pendingWrite=null,this._clampedAdjustment=null,this.elementsCache=/* @__PURE__ */ new Map,this._resizeBatch=null,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=/* @__PURE__ */ (()=>{let e=null,t=null,n=!1,r=!1,i=/* @__PURE__ */ new Set,a=()=>{if(e)return e;let r=this.targetWindow;if(!r||!r.ResizeObserver)return null;let i=t=qo(r);return e=new r.ResizeObserver(e=>{let t=()=>{let t={sync:!1};this._resizeBatch=t;try{e.forEach(o)}finally{this._resizeBatch=null,t.notify&&(this.notify(t.sync),this._noteClampMax(),this._flushHoldIfReady(!0),this._retryClampedAdjustment(),this.measureElement(null))}};if(this.options.useAnimationFrameWithResizeObserver)i.schedule(t);else{n=!0;try{t()}finally{n=!1}}})},o=e=>{let t=e.target,n=this.indexFromElement(t);if(t.isConnected)this.isIndexInRange(n)&&this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this));else{this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}}};return{disconnect:()=>{var n;(n=a())==null||n.disconnect(),t?.cancel(),i.clear(),r=!1,e=null,t=null},observe:o=>{let s=a();s&&(n?(i.add(o),r||(r=!0,t?.schedule(()=>{r=!1,i.forEach(t=>{t.isConnected&&e?.observe(t,{box:`border-box`})}),i.clear()}))):s.observe(o,{box:`border-box`}))},unobserve:e=>{var t;i.delete(e),(t=a())==null||t.unobserve(e)}}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Jo,rangeExtractor:Yo,onChange:()=>{},measureElement:ts,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=this._singleLaneMeasurements?.items??s,l=e=>Do(c[e]),u=e>0?l(0):null,d=e>0?l(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==u||t.getItemKey(o-1)!==d)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>0&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==d)&&(o>e||as(e,o,l,t.getItemKey))&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=null;if(r&&this.scrollOffset!==null&&!this._awaitingCommandReadBack()){let[e,t]=r,n=this.getMeasurements(),{count:a,getItemKey:s}=this.options,c=0;for(;c{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=ko(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:process.env.NODE_ENV!==`production`&&`maybeNotify`,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{var e;this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,(e=this._momentumStop)==null||e.restore(),this._momentumStop=null,this.isScrolling=!1,this.scrollDirection=null,this._holdOffset=0,this._reportedOverscroll=!1,this._clampedAdjustment=null,this.pendingWrite=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}this.scrollElement=e,this.targetWindow=this.scrollElement&&`ownerDocument`in this.scrollElement?this.scrollElement.ownerDocument.defaultView:this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{let n=t?this._elementMaxScrollOffset():null,r=this._reportedOverscroll;this._reportedOverscroll=e<0||n!==null&&e>n+1;let i=e;this._lastElementOffset=i,e=this._toLayoutOffset(e);let a=this._classifyScrollEvent(e,t,n);if(a===`spurious`)return;a===`readBack`?e=this.pendingWrite.target:a===`clampedReadBack`&&this.scrollState?.index!=null&&ethis.getScrollStateTarget(this.scrollState)})&&(this.scrollState=null),this.pendingWrite=null,this._clampedAdjustment!==null&&Math.abs(e-this._clampedAdjustment.maxAtWrite)>=1.5&&(this._clampedAdjustment=null);let o=this.getScrollOffset(),s=this.scrollDirection;this.scrollDirection=t?o===e?this.scrollDirection:oe-t.t<=200),{t:e,offset:i}],(s!==null&&this.scrollDirection!==s||Lo(c.samples))&&(this.scrollState=null)}}this._iosGesture.onScroll({isScrolling:t,ownReadBack:a===`readBack`,moved:e!==o,external:a===`external`&&this.scrollState?.phase!==`smooth`&&this.scrollState?.phase!==`smoothFinishing`})&&this.scrollState?.phase===`queued`&&(this.scrollState=null),this._flushHoldIfReady(!0),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement&&this.unsubs.push(this._iosGesture.listen(this.scrollElement)),this._scrollToOffset(this.getScrollOffset())}this._noteClampMax();let t=this.pendingScrollAnchor;this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled&&(t.kind===`anchor`?this._canWriteScroll()?is(this.scrollState)&&!jo(this.getScrollOffset()-t.delta,this.scrollState.lastTargetOffset)||(this._followOffsetTarget(t.delta),this._scrollToOffset(this.getScrollOffset())):(this._holdOffset+=t.delta,this._followOffsetTarget(t.delta),this.notify(!1)):this.scrollToEnd({behavior:t.behavior})),this._flushHoldIfReady(!1),this._retryClampedAdjustment()},this._classifyScrollEvent=(e,t,n)=>No({offset:e,isScrolling:t,elementMax:n,holdOffset:this._holdOffset,scrollOffset:this.scrollOffset,pendingWrite:this.pendingWrite,clampedMaxAtWrite:this._clampedAdjustment?.maxAtWrite??null}),this._retryClampedAdjustment=()=>{if(this._clampedAdjustment===null||!this.scrollElement||!this.options.enabled||!this._canWriteScroll())return;let{target:e,maxAtWrite:t}=this._clampedAdjustment,n=this.getMaxScrollOffset();n>t+.5&&(this._clampedAdjustment=e>n+.5?{target:e,maxAtWrite:n}:null,this._scrollToOffset(e))},this._writeAwaitingCommand=()=>{let e=this.scrollState;if(e===null||e.phase!==`queued`)return;let{behavior:t}=e;this.getMeasurements();let n=this.getScrollStateTarget(e);e.lastTargetOffset=n,this._clampedAdjustment=null,e.phase=rs(t,e.index!=null&&jo(n,this.getScrollOffset())),this._scrollToOffset(n,{behavior:t}),this.scheduleScrollReconcile()},this._readElementOffset=()=>{let e=this.scrollElement;if(e==null)return null;let{horizontal:t,isRtl:n}=this.options;return typeof e.scrollTop==`number`?t?e.scrollLeft*(n&&-1||1):e.scrollTop:typeof e.scrollY==`number`?t?e.scrollX:e.scrollY:null},this._canWriteScroll=()=>!(Bo()&&this._iosGesture.inMotion())&&!this._reportedOverscroll,this._flushHoldIfReady=e=>{if(this._holdOffset===0||!this.scrollElement||!this.options.enabled||!this._canWriteScroll()||this.scrollState?.phase===`smooth`)return;this._holdOffset=0,this.scrollOffset!==null&&this.scrollOffset<0&&(this.scrollOffset=0),this.notify(e);let t=this.getCommandWrittenOffset()??this.getScrollOffset();this._clampedAdjustment=this._clampedBy(t),this._scrollToOffset(t)},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=ko(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,n,r,i,a,o,s)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s}),{key:!1}),this.isIndexInRange=e=>e>=0&&e[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s},c)=>{let l=this.itemSizeCache;if(!i)return this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let u=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=e*2,a=this._singleLaneMeasurements?.flat;if(!a||a.length0&&e.set(a.subarray(0,u*2)),a=e}let o=u===0?Array(e):this._singleLaneMeasurements.items.slice(),c;if(u===0)c=t+n;else{let e=u-1;c=a[e*2]+a[e*2+1]+s}for(let t=u;t1){u=c;let e=f[u],r=e===void 0?void 0:d[e];h=r?r.end+s:t+n}else if(m===a){let e=0,t=p[0],n=f[0];for(let r=1;rthis.options.debug}),this.calculateRange=ko(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes,this._getLayoutTotalSize()+this.options.scrollMargin],(e,t,n,r,i)=>{if(e.length===0||t===0)return this.range=null,null;let a=Math.max(i-t,0);return this.range=ls(e,t,Math.min(n,a),r,r===1&&this._singleLaneMeasurements!==null?this._singleLaneMeasurements.flat:null),this.range},{key:process.env.NODE_ENV!==`production`&&`calculateRange`,debug:()=>this.options.debug}),this.getVirtualIndexes=ko(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t,this.options.lanes]},(e,t,n,r,i,a)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n,lanes:a}),{key:process.env.NODE_ENV!==`production`&&`getVirtualIndexes`,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!is(this.scrollState))return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e);if(!this.isIndexInRange(t))return;let n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),e.isConnected&&(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{var n;if(!this.isIndexInRange(e))return;this._resizeBatch?.sync&&this.getMeasurements();let r,i,a,o=this._singleLaneMeasurements?.flat;if(this.options.lanes===1&&o!=null)a=this.options.getItemKey(e),i=o[e*2],r=o[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;a=t.key,i=t.start,r=t.size}let s=this.itemSizeCache.get(a)??r,c=t-s;if(c!==0){let o=this.options.anchorTo===`end`&&!is(this.scrollState)&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,l=o?this._getLayoutTotalSize():0,u=this.getScrollOffset(),d=this.itemSizeCache.has(a)?i+s<=u&&this.scrollDirection!==`backward`:i[this.getVirtualIndexes(),this.getMeasurements(),this._holdOffset],(e,t,n)=>{let r=[];for(let i=0,a=e.length;ithis.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._singleLaneMeasurements?.flat,r=this.options.lanes===1&&n!=null;return Ao(t[ss(0,t.length-1,r?e=>n[e*2]:e=>Ao(t[e]).start,e)])},this._noteClampMax=()=>{if(!this._awaitingCommandReadBack())return;let e=this._elementMaxScrollOffset();if(e===null)return;let t=this.pendingWrite,n=Math.max(e,0)+this._holdOffset;if(n>=t.target)return;let r=t.lowMaxes??=[];r[r.length-1]!==n&&r.push(n)},this.getMaxScrollOffset=()=>(this._elementMaxScrollOffset()??0)+this._holdOffset,this._toLayoutOffset=e=>{let t=e+this._holdOffset;return this.pendingScrollAnchor?.kind===`anchor`&&(t+=this.pendingScrollAnchor.delta),t},this._elementMaxScrollOffset=()=>{let e=this.scrollElement;if(e===null)return null;if(`scrollHeight`in e)return this.options.horizontal?e.scrollWidth-e.clientWidth:e.scrollHeight-e.clientHeight;if(`document`in e){let t=e.document.documentElement;return this.options.horizontal?t.scrollWidth-e.innerWidth:t.scrollHeight-e.innerHeight}return null},this._momentumStop=null,this._stopMomentum=e=>{let t=this.scrollElement,n=this.targetWindow;if(t===null||n===null)return;let r=`document`in t?t.document.scrollingElement:t;if(!r?.style)return;if(this._momentumStop){this._momentumStop.done=e;return}let{style:i}=r,a=this.options.horizontal?`overflow-x`:`overflow-y`,o=i.getPropertyValue(a),s=i.getPropertyPriority(a),c=()=>this.options.horizontal?r.clientHeight:r.clientWidth,l=c();if(i.setProperty(a,`hidden`,`important`),c()!==l){i.setProperty(a,o,s);return}let u={restore:()=>i.getPropertyValue(a)!==`hidden`||i.getPropertyPriority(a)!==`important`?!1:(i.setProperty(a,o,s),!0),done:e};this._momentumStop=u,n.requestAnimationFrame(()=>n.requestAnimationFrame(()=>{this._momentumStop===u&&(this._momentumStop=null,u.restore()&&u.done())}))},this._clampedBy=e=>{let t=this._elementMaxScrollOffset();if(t===null)return null;let n=t+this._holdOffset;return e>n+.5?{target:e,maxAtWrite:n}:null},this.getVirtualDistanceFromEnd=()=>Math.max(this._getLayoutTotalSize()+this.options.scrollMargin-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.getMeasurements()[e];if(!i)return;if(t===`auto`){if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t]}if(t===`end`&&e===this.options.count-1){let e=this.getMaxScrollOffset(),n=e-this.options.paddingEnd+this.options.scrollPaddingEnd;return[Math.max(Math.min(n,e),0),t]}let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{this._startScroll({index:null,align:t},this.getOffsetForAlignment(e,t),n,`absolute`)},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r;this._startScroll({index:e,align:a},i,n,`absolute`)},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getOffsetForAlignment((this.getCommandWrittenOffset()??this.getScrollOffset())+e,`start`);this._startScroll({index:null,align:`start`},n,t,`relative`)},this.scrollToEnd=({behavior:e=`auto`}={})=>{this.options.count>0?this._startScroll({index:this.options.count-1,align:`end`,toEnd:!0},Math.max(this.getMaxScrollOffset(),0),e,`absolute`):this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.cancelScroll=()=>{this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null},this.getTotalSize=()=>Math.max(this._getLayoutTotalSize()-this._holdOffset,0),this._getLayoutTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._singleLaneMeasurements?.flat;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n}={})=>{let r={target:e+(t??0),smooth:n===`smooth`};return this.pendingWrite=r,this.options.scrollToFn(e-this._holdOffset,{behavior:n,adjustments:t},this),r},this.getCommandWrittenOffset=()=>this.scrollState!==null&&this.pendingWrite!==null&&!this.pendingWrite.smooth?this.pendingWrite.target:null,this._awaitingCommandReadBack=()=>{let e=this.getCommandWrittenOffset();return!(Bo()&&this._iosGesture.dragging())&&e!==null&&!jo(e,this.getScrollOffset())},this._followOffsetTarget=e=>{this.scrollState!==null&&this.scrollState.index==null&&(this.scrollState.lastTargetOffset+=e)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}get scrollAdjustments(){return 0}applyScrollAdjustment(e,t){if(e===0)return!1;if(process.env.NODE_ENV!==`production`&&this.options.debug&&console.info(`correction`,e),this._followOffsetTarget(e),this._canWriteScroll()){let n=this.getScrollOffset();this._clampedAdjustment=this._clampedBy(n+e);let r=this._scrollToOffset(n,{adjustments:e,behavior:t});return this.scrollOffset!==null&&(this.pendingWrite===r&&(this.scrollOffset+=e),this.scrollOffset<0&&(this.scrollOffset=0)),!0}return this._holdOffset+=e,this.scrollOffset!==null&&(this.scrollOffset+=e),!0}scheduleScrollReconcile(){this.targetWindow?this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}):this.scrollState=null}getScrollStateTarget(e){let t=e.toEnd?[Math.max(this.getMaxScrollOffset(),0)]:e.index==null?void 0:this.getOffsetForIndex(e.index,e.align);return t?t[0]:e.lastTargetOffset}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}if(this.scrollState.phase===`queued`){this.scheduleScrollReconcile();return}this.getMeasurements();let e=this.getScrollStateTarget(this.scrollState),t=this.scrollState.index==null?1:this.options.useAnimationFrameWithResizeObserver?3:2,n=e!==this.scrollState.lastTargetOffset;if(!n&&jo(e,this.getScrollOffset())){if(this.scrollState.phase===`smooth`?this.scrollState.phase=`smoothLanded`:this.scrollState.phase===`smoothFinishing`&&(this.scrollState.phase=`instant`),this.scrollState.stableFrames++,this.scrollState.stableFrames>=t){this.getScrollOffset()!==e&&this._scrollToOffset(e,{behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let t=this.getSize()||600,n=Math.abs(e-this.getScrollOffset()),r=is(this.scrollState)&&n>t;this.scrollState.lastTargetOffset=e,r?this.scrollState.phase=`smooth`:this.scrollState.phase===`smooth`?this.scrollState.phase=`smoothFinishing`:this.scrollState.phase===`smoothLanded`&&(this.scrollState.phase=`instant`),this._scrollToOffset(e,{behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}_startScroll(e,t,n,r){this.pendingScrollAnchor=null,this._clampedAdjustment=null;let i=this._iosGesture.tail();if(r===`absolute`&&i!==null){if(i===`fling`&&Uo()){this._stopMomentum(()=>{this.scrollState?.phase!==`queued`||this._iosGesture.tail()!==`fling`||this._reportedOverscroll||(this._iosGesture.end(),this._flushHoldIfReady(!0),this._writeAwaitingCommand())}),this.scrollState={...e,startedAt:this.now(),lastTargetOffset:t,stableFrames:0,phase:`queued`,behavior:n,samples:[]},this.scheduleScrollReconcile();return}this._iosGesture.end()}this.scrollState={...e,startedAt:this.now(),lastTargetOffset:t,stableFrames:0,behavior:n,phase:rs(n,e.index!=null&&jo(t,this.getScrollOffset()))},this._scrollToOffset(t,{behavior:n}),this.scheduleScrollReconcile()}},ss=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(ar)t=i-1;else return i}return e>0?e-1:0};function cs(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(an)t=i-1;else return i}return r>0?r-1:0}function ls(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=cs(i,a,n),r=e,o=n+t;for(;re[t].start,n),s=o;if(r===1)for(;s1){let i=Array(r).fill(0);for(;se=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var us=typeof document<`u`?bt.useLayoutEffect:bt.useEffect;function ds({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=bt.useReducer(e=>e+1,0)[1],a=bt.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:/* @__PURE__ */ new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=bt.useRef(!1),s=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}},c=(e,t,n)=>{let r=a.current,i=!!e.options.horizontal,o=t.start-e.options.scrollMargin;r.lastPositions.get(n)!==o&&(r.lastPositions.set(n,o),r.mode===`transform`?n.style.transform=i?`translate3d(${o}px, 0, 0)`:`translate3d(0, ${o}px, 0)`:n.style[i?`left`:`top`]=`${o}px`)},l=e=>{let t=a.current;if(t.enabled&&t.container){s(e);for(let t of e.getVirtualItems()){let n=e.elementsCache.get(t.key);n&&c(e,t,n)}}},u={...r,onChange:(t,n)=>{var s;let c=a.current,u=!0;if(c.enabled){l(t);let e=t.range,n=c.prevRange;u=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,u&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}u&&(e&&n&&!o.current?Mt(i):i()),(s=r.onChange)==null||s.call(r,t,n)}},[d]=bt.useState(()=>{let e=new os(u),t=e.measureElement;return e.measureElement=n=>{o.current=!0;try{t(n)}finally{o.current=!1}let r=a.current;if(n!==null&&r.enabled&&r.container){let t=e.measurementsCache[e.indexFromElement(n)];t&&c(e,t,n)}},Object.assign(e,{containerRef:t=>{let n=a.current;n.container=t,n.lastSize=null,t!==null&&l(e)}})});return d.setOptions(u),us(()=>d._didMount(),[]),us(()=>(s(d),d._willUpdate())),us(()=>{l(d)}),d}function fs(e){return ds({observeElementRect:Xo,observeElementOffset:es,scrollToFn:ns,...e})}var ps={width:22,height:22,border:`1px solid var(--border)`,borderRadius:6,backgroundColor:`var(--pop)`,boxShadow:`var(--shadow)`,cursor:`pointer`,display:`flex`,alignItems:`center`,justifyContent:`center`,color:`var(--fg)`};function ms({icon:e,size:t,gridIndex:n,colIndex:r,tabIndex:i=0,onCellFocus:a}){let[o,s]=q(!1),[l,u]=q(!1),d=o||l,p=E(e=>e.showLabels),m=E(e=>e.copyFormat),h=E(e=>e.config?.snippets),_=E(e=>e.config?.toolbar.copyFormats),v=Qn(),b=f(),x=g.toolbar.copyFormats.find(e=>e.id===m),S=(_??g.toolbar.copyFormats).find(e=>e.id===m),C=S&&(!x||S.label!==x.label)?S.label:x?b(y(`format.${m}`)):m.toUpperCase(),w=E(e=>e.sizeUnit),T=E(e=>e.gridStroke),D=E(e=>e.color),O=E(e=>e.favorites),ee=E(e=>e.selection),k=E(e=>e.openDetail),A=E(e=>e.toggleFavorite),j=E(e=>e.toggleSelect),M=E(e=>e.config?.features.multiSelect!==!1),N=E(e=>e.pushHistory),te=E(e=>e.collections),ne=E(e=>e.addToCollection),P=E(e=>e.removeFromCollection),re=E(e=>e.openLibrary),F=E(e=>e.showToast),I=E(e=>e.openCtx),L=sa(),R=O.includes(e.id),z=ee.includes(e.id),B=n!==void 0,ie=lt(e),ae=ie?`${nt(e)} · ${ie}`:nt(e),oe=t,se=n=>{L(vt(e,m,{size:t,unit:w,color:D,strokeWidth:T,config:h}),n),N(e.id,`copied`)},ce=()=>[...te.map(t=>{let n=t.icons.includes(e.id);return{label:t.name,icon:n?`check`:`folder`,run:()=>{n?P(t.id,e.id):ne(t.id,e.id),F(b(n?`detail.removedFrom`:`detail.addedTo`,{name:t.name}),`folder`)}}}),{label:``,divider:!0},{label:b(`detail.newCollection`).replace(/^\+\s*/,``),icon:`plus`,run:()=>re(`collections`,{seed:[e.id]})}],le=e=>{e.stopPropagation();let t=e.currentTarget.getBoundingClientRect();I(t.left,t.bottom+4,ce(),b(`detail.addToCollection`))},ue=t=>{t.stopPropagation(),se(b(`list.copiedToast`,{name:e.name}))},de=(t,n)=>I(t,n,[{label:b(`tile.openDetail`),icon:`eye`,run:()=>{k(e.id),N(e.id,`viewed`)}},{label:b(`tile.copyFormat`,{format:C}),icon:`copy`,run:()=>se(b(`list.copiedToast`,{name:e.name}))},{label:b(`tile.copyName`),icon:`text`,run:()=>L(nt(e),b(`tile.copiedName`))},...v?[{label:b(`tile.copyPermalink`),icon:`link`,run:()=>L(v(e.id),b(`tile.permalinkCopied`))}]:[],{label:``,divider:!0},...M?[{label:b(z?`tile.deselect`:`tile.select`),icon:`check`,run:()=>j(e.id)}]:[],{label:b(R?`tile.removeFavorite`:`tile.addFavorite`),icon:R?`heart-filled`:`heart`,danger:R,run:()=>A(e.id)},{label:``,divider:!0},...ce()],nt(e));return/* @__PURE__ */ X(`div`,{role:B?`gridcell`:`button`,tabIndex:i,"data-grid-index":n,"data-icon-id":e.id,"data-ich-tile":``,"aria-colindex":r,"aria-label":`${e.name} — ${ae}${R?`, ${b(`tile.favoritedAria`)}`:``}${z&&!B?`, ${b(`tile.selectedAria`)}`:``}`,"aria-pressed":B?void 0:z,"aria-selected":B&&M?z:void 0,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),onFocus:e=>{u(!0),B&&e.target===e.currentTarget&&a?.(n)},onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||u(!1)},onKeyDown:t=>{switch(t.key){case`Enter`:case` `:t.preventDefault(),k(e.id),N(e.id,`viewed`);break;case`f`:case`F`:t.preventDefault(),A(e.id);break;case`c`:case`C`:t.preventDefault(),ue(t);break;case`x`:case`X`:t.preventDefault(),M&&j(e.id);break;case`ContextMenu`:t.preventDefault();{let e=t.currentTarget.getBoundingClientRect();de(e.left+e.width/2,e.top+e.height/2)}break;default:if(t.shiftKey&&t.key===`F10`){t.preventDefault();let e=t.currentTarget.getBoundingClientRect();de(e.left+e.width/2,e.top+e.height/2)}}},onClick:()=>{k(e.id),N(e.id,`viewed`)},onContextMenu:e=>{e.preventDefault(),de(e.clientX,e.clientY)},style:{position:`relative`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:6,aspectRatio:`1 / 1`,minWidth:86,overflow:`hidden`,borderRadius:`var(--radius)`,border:`1px solid ${z?`var(--accent)`:d?`color-mix(in oklab, var(--fg) 35%, var(--border))`:`var(--color-border-secondary)`}`,background:z?`var(--accent-soft)`:d?`var(--muted)`:`var(--surface)`,boxShadow:z?`0 0 0 2px var(--accent-soft)`:`none`,transform:`translateY(${d?-1:0}px) scale(var(--ich-press, 1))`,transition:`border-color .15s ease, box-shadow .18s ease, background-color .15s ease, transform .15s ease`,cursor:`pointer`,userSelect:`none`,contentVisibility:`auto`},children:[d&&/* @__PURE__ */ X(J,{children:[M&&/* @__PURE__ */ Y(Z,{content:b(z?`tile.deselect`:`tile.select`),shortcut:`X`,side:`top`,children:/* @__PURE__ */ Y(`button`,{onClick:t=>{t.stopPropagation(),j(e.id)},tabIndex:B?-1:void 0,"aria-label":b(z?`tile.deselect`:`tile.select`),style:{position:`absolute`,top:4,insetInlineStart:4,width:16,height:16,borderRadius:4,border:`1px solid ${z?`var(--accent)`:`var(--border)`}`,background:z?`var(--accent)`:`var(--pop)`,cursor:`pointer`,display:`flex`,alignItems:`center`,justifyContent:`center`,zIndex:3},children:z&&/* @__PURE__ */ Y(H,{name:`check`,size:9,color:`var(--accent-fg)`})})}),/* @__PURE__ */ X(`div`,{className:`absolute inset-x-0 bottom-[3px] flex justify-center gap-[3px] z-3`,children:[/* @__PURE__ */ Y(Z,{content:b(`tile.copyFormat`,{format:C}),shortcut:`C`,side:`bottom`,children:/* @__PURE__ */ Y(`button`,{onClick:ue,tabIndex:B?-1:void 0,"aria-label":b(`common.copy`),style:ps,children:/* @__PURE__ */ Y(H,{name:`copy`,size:12.5,color:`currentColor`})})}),/* @__PURE__ */ Y(Z,{content:b(R?`tile.removeFavorite`:`tile.addFavorite`),shortcut:`F`,side:`bottom`,children:/* @__PURE__ */ Y(`button`,{onClick:t=>{t.stopPropagation(),A(e.id)},tabIndex:B?-1:void 0,"aria-label":b(R?`tile.removeFavorite`:`tile.addFavorite`),"aria-pressed":R,style:ps,children:/* @__PURE__ */ Y(H,{name:R?`heart-filled`:`heart`,size:12.5,color:R?`var(--accent)`:`currentColor`})})}),/* @__PURE__ */ Y(Z,{content:b(`detail.addToCollection`),side:`bottom`,children:/* @__PURE__ */ Y(`button`,{onClick:le,tabIndex:B?-1:void 0,"aria-label":b(`detail.addToCollection`),"aria-haspopup":`menu`,style:ps,children:/* @__PURE__ */ Y(H,{name:`folder`,size:12.5,color:`currentColor`})})})]})]}),R&&!d&&/* @__PURE__ */ Y(H,{name:`heart-filled`,size:13,color:`var(--accent-text)`,style:{position:`absolute`,top:6,insetInlineEnd:6,zIndex:2}}),/* @__PURE__ */ Y(c,{icon:e,size:oe}),p&&/* @__PURE__ */ Y(`span`,{className:`max-w-[90%] text-[10px] text-[var(--muted-fg)] whitespace-nowrap overflow-hidden text-ellipsis${d?` invisible`:``}`,children:e.name})]})}function hs(e,t,n,r,i={}){if(r<=0)return null;let a=Math.max(1,Math.floor(n)),o=Math.max(1,Math.floor(i.pageRows??3))*a,s=i.rtl?`ArrowLeft`:`ArrowRight`,c=i.rtl?`ArrowRight`:`ArrowLeft`,l;switch(e){case s:l=t+1;break;case c:l=t-1;break;case`ArrowDown`:l=t+a;break;case`ArrowUp`:l=t-a;break;case`PageDown`:l=Math.min(r-1,t+o);break;case`PageUp`:l=Math.max(0,t-o);break;case`Home`:l=0;break;case`End`:l=r-1;break;default:return null}return l<0||l>=r||l===t?null:l}function gs(e,t,n){return e>0?Math.max(1,Math.floor((e+n)/(t+n))):1}function _s({items:e,size:t,scrollRef:n,label:r}){let i=E(e=>e.density),{gap:a}=Ti(i),o=Ei(t,i),[s,c]=q(0),l=K(null),u=K(null),d=K(null),[f,p]=q(0);kt(()=>{let e=l.current;if(!e||(c(e.clientWidth),typeof ResizeObserver>`u`))return;let t=new ResizeObserver(()=>c(e.clientWidth));return t.observe(e),()=>t.disconnect()},[]);let m=gs(s,o,a),h=Math.ceil(e.length/m),g=Math.min(f,Math.max(0,e.length-1)),_=e.length>120,v=e=>{p(e);let t=l.current?.querySelector(`[data-grid-index="${e}"]`);t?t.focus():(u.current=e,d.current?.(Math.floor(e/m)))};W(()=>{let e=u.current;if(e==null)return;let t=l.current?.querySelector(`[data-grid-index="${e}"]`);t&&(u.current=null,t.focus())});let y=t=>{let r=t.target.getAttribute(`data-grid-index`);if(r==null)return;let i=getComputedStyle(t.currentTarget).direction===`rtl`,o=n.current?.clientHeight??0,c=s>0?(s-(m-1)*a)/m+a:0,l=c>0&&o>0?Math.max(1,Math.floor(o/c)):3,u=hs(t.key,Number(r),m,e.length,{rtl:i,pageRows:l});u!=null&&(t.preventDefault(),v(u))},b=(n,r)=>{let i=n*m;return/* @__PURE__ */ Y(`div`,{role:`row`,"aria-rowindex":n+1,style:{display:`grid`,gridTemplateColumns:`repeat(${m}, minmax(0, 1fr))`,gap:a,...r},children:e.slice(i,i+m).map((e,n)=>{let r=i+n;return/* @__PURE__ */ Y(ms,{icon:e,size:t,gridIndex:r,colIndex:n+1,tabIndex:r===g?0:-1,onCellFocus:p},e.id)})},n)};return/* @__PURE__ */ Y(`div`,{ref:l,role:`grid`,"aria-label":r,"aria-rowcount":h,"aria-colcount":m,onKeyDown:y,style:_?{width:`100%`,gap:a}:{display:`flex`,flexDirection:`column`,gap:a,width:`100%`},children:_?/* @__PURE__ */ Y(vs,{rowCount:h,rowHeight:(s>0?(s-(m-1)*a)/m:o)+a,gap:a,scrollRef:n,ready:s>0,activeRow:Math.floor(g/m),scrollToRowRef:d,renderRow:b}):Array.from({length:h},(e,t)=>b(t))})}function vs({rowCount:e,rowHeight:t,gap:n,scrollRef:r,ready:i,activeRow:a,scrollToRowRef:o,renderRow:s}){let c=fs({count:e,getScrollElement:()=>r.current,estimateSize:()=>t,overscan:4,rangeExtractor:e=>{let t=[];for(let n=Math.max(0,e.startIndex-e.overscan);n<=Math.min(e.count-1,e.endIndex+e.overscan);n++)t.push(n);return ae-t)}});return W(()=>c.measure(),[t,c]),W(()=>(o.current=e=>c.scrollToIndex(e,{align:`auto`}),()=>{o.current=null}),[c,o]),/* @__PURE__ */ Y(`div`,{role:`presentation`,style:{position:`relative`,height:c.getTotalSize(),width:`100%`},children:i&&c.getVirtualItems().map(e=>s(e.index,{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${e.start}px)`,paddingBottom:n}))})}function ys({view:e,count:t}){let n=f(),r=E(e=>e.density),i=E(e=>e.size),{gap:a,rowH:o}=Ti(r);return/* @__PURE__ */ X(`div`,{role:`status`,"aria-busy":`true`,"aria-live":`polite`,"data-ichava-skeleton":e,children:[/* @__PURE__ */ Y(`span`,{className:`sr-only`,children:n(`boot.loadingCatalog`)}),e===`grid`?/* @__PURE__ */ Y(`div`,{"aria-hidden":`true`,style:{display:`grid`,gridTemplateColumns:`repeat(auto-fill, minmax(${Ei(i,r)}px, 1fr))`,gap:a},children:Array.from({length:t??24}).map((e,t)=>/* @__PURE__ */ Y(`div`,{className:`flex items-center justify-center aspect-square overflow-hidden rounded-[var(--radius)] border border-[var(--border)] bg-[var(--surface)]`,children:/* @__PURE__ */ Y(`span`,{className:`ich-skeleton rounded-[calc(var(--radius)_-_2px)]`,style:{width:Math.min(i,48),height:Math.min(i,48)}})},t))}):/* @__PURE__ */ Y(`div`,{"aria-hidden":`true`,className:`flex flex-col border border-[var(--border)] rounded-[var(--radius)] overflow-hidden`,children:Array.from({length:t??12}).map((e,t)=>/* @__PURE__ */ X(`div`,{className:`flex items-center gap-[10px] px-3 border-b border-[var(--border)] last:border-b-0`,style:{height:o},children:[/* @__PURE__ */ Y(`span`,{className:`ich-skeleton w-[18px] h-[18px] rounded-[4px]`}),/* @__PURE__ */ Y(`span`,{className:`ich-skeleton h-[10px] rounded-full`,style:{width:80+t*37%90}}),/* @__PURE__ */ Y(`span`,{className:`flex-1 min-w-0`,children:/* @__PURE__ */ Y(`span`,{className:`ich-skeleton block h-[9px] rounded-full`,style:{width:`${30+t*23%35}%`}})}),/* @__PURE__ */ Y(`span`,{className:`ich-skeleton w-[46px] h-[22px] rounded-[5px]`})]},t))})]})}function bs({loading:e}){let{page:t}=o(),n=E(e=>e.view),r=E(e=>e.filters),i=E(e=>e.size),a=E(e=>e.resetFilters),s=E(e=>e.selectAllPacks),c=E(e=>e.catalog),l=K(null),u=r.packages.length===0,d=!e&&!u&&t.total===0;return/* @__PURE__ */ Y(`div`,{ref:l,className:`flex-1 overflow-y-auto p-3 [scrollbar-gutter:stable] bg-[var(--surface)]`,children:e?/* @__PURE__ */ Y(ys,{view:n===`list`?`list`:`grid`}):u?/* @__PURE__ */ Y(Ss,{onSelectAll:()=>s((c?.packages??[]).filter(e=>e.installed).map(e=>e.id))}):d&&t.emptyReason===`no_icons`?/* @__PURE__ */ Y(Cs,{}):d?/* @__PURE__ */ Y(ws,{search:r.search,illustrations:r.kind===`illustration`,onReset:a}):n===`grid`?/* @__PURE__ */ Y(_s,{items:t.items,size:i,scrollRef:l,label:`${t.total} icons`}):/* @__PURE__ */ Y(Ts,{})})}function xs(){return{height:`100%`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:10,animation:`ichFade .25s ease`}}function Ss({onSelectAll:e}){let t=f();return/* @__PURE__ */ X(`div`,{style:xs(),children:[/* @__PURE__ */ Y(`div`,{className:`w-10 h-10 rounded-[10px] bg-[var(--muted)] flex items-center justify-center`,children:/* @__PURE__ */ Y(H,{name:`package`,size:20,color:`var(--muted-fg)`})}),/* @__PURE__ */ Y(`div`,{className:`text-[14px] font-[600]`,children:t(`empty.onboardTitle`)}),/* @__PURE__ */ Y(`div`,{className:`text-[12.5px] text-[var(--muted-fg)]`,children:t(`empty.onboardDesc`)}),/* @__PURE__ */ Y(fi,{size:`sm`,onClick:e,className:`mt-1`,children:t(`empty.selectAllPackages`)})]})}function Cs(){let e=f();return/* @__PURE__ */ Y(`div`,{style:xs(),children:/* @__PURE__ */ Y(ui,{size:`md`,icon:`package`,title:e(`empty.noIconsTitle`),description:e(`empty.noIconsDesc`)})})}function ws({search:e,illustrations:t,onReset:n}){let r=f();return/* @__PURE__ */ Y(`div`,{style:xs(),children:/* @__PURE__ */ Y(ui,{size:`md`,icon:`search`,title:e?r(`empty.noMatchSearch`,{q:e}):r(t?`empty.noIllustrations`:`empty.noMatchFilters`),description:r(`empty.tryDifferent`),action:/* @__PURE__ */ Y(fi,{color:`secondary`,size:`sm`,onClick:n,children:r(`empty.clearFilters`)})})})}function Ts(){let{page:e}=o(),t=E(e=>e.openDetail),n=E(e=>e.toggleFavorite),r=E(e=>e.favorites),i=E(e=>e.copyFormat),a=E(e=>e.config?.snippets),s=E(e=>e.size),l=E(e=>e.sizeUnit),u=E(e=>e.color),{rowH:d}=Ti(E(e=>e.density)),p=sa(),m=f(),[h,g]=q(null);return W(()=>{if(h===null)return;let e=setTimeout(()=>g(null),1400);return()=>clearTimeout(e)},[h]),/* @__PURE__ */ Y(`div`,{className:`flex flex-col border border-[var(--border)] rounded-[var(--radius)] overflow-hidden`,children:e.items.map(e=>{let o=r.includes(e.id);return/* @__PURE__ */ X(`div`,{role:`button`,tabIndex:0,"aria-label":e.name,onClick:()=>t(e.id),onKeyDown:n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),t(e.id))},"data-ich-row":``,className:`transition-colors hover:bg-[var(--muted)]`,style:{display:`flex`,alignItems:`center`,gap:10,height:d,padding:`0 12px`,borderBottom:`1px solid var(--border)`,cursor:`pointer`},children:[/* @__PURE__ */ Y(c,{icon:e,size:18}),/* @__PURE__ */ Y(`span`,{className:`text-[12.5px] font-medium min-w-[100px] max-w-[200px] whitespace-nowrap overflow-hidden text-ellipsis`,children:e.name}),/* @__PURE__ */ Y(`span`,{className:`font-[family-name:'Geist_Mono',monospace] text-[11px] text-[var(--muted-fg)] flex-1 whitespace-nowrap overflow-hidden text-ellipsis`,children:e.id}),/* @__PURE__ */ Y(`button`,{onClick:t=>{t.stopPropagation(),g(e.id),p(vt(e,i,{size:s,unit:l,color:u,config:a}),m(`list.copiedToast`,{name:e.name}))},className:`h-[22px] py-0 px-2 border border-[var(--border)] rounded-[5px] bg-[var(--bg)] text-[11px] cursor-pointer text-[var(--fg)] transition-colors hover:border-[var(--muted-fg)] hover:bg-[var(--muted)]`,children:h===e.id?/* @__PURE__ */ X(`span`,{className:`inline-flex items-center gap-1 text-[var(--accent-text)] [animation:ichIn_.14s_ease]`,children:[/* @__PURE__ */ Y(H,{name:`check`,size:11,color:`currentColor`}),m(`console.copied`)]}):m(`common.copy`)}),/* @__PURE__ */ Y(Z,{content:m(o?`tile.removeFavorite`:`tile.addFavorite`),children:/* @__PURE__ */ Y(`button`,{onClick:t=>{t.stopPropagation(),n(e.id)},"aria-label":m(o?`tile.removeFavorite`:`tile.addFavorite`),"aria-pressed":o,className:`w-[26px] h-[26px] border-0 bg-transparent rounded-[5px] cursor-pointer flex items-center justify-center transition-colors hover:bg-[var(--muted)]`,children:/* @__PURE__ */ Y(H,{name:o?`heart-filled`:`heart`,size:14,color:o?`var(--accent)`:`var(--faint-fg)`})})}),/* @__PURE__ */ Y(H,{name:`chevron-right`,size:12,color:`var(--faint-fg)`})]},e.id)})})}var Es=[30,60,120,240];function Ds(){let{page:e}=o(),t=f(),n=E(e=>e.filters.perPage),r=E(e=>e.setPerPage),i=E(e=>e.nextPage),a=E(e=>e.prevPage),s=E(e=>e.config?.ui.perPageOptions)??Es;return/* @__PURE__ */ X(`div`,{style:{height:Di(38),flex:`none`,display:`flex`,alignItems:`center`,gap:10,padding:`0 12px`,borderTop:`1px solid var(--border)`,userSelect:`none`},children:[/* @__PURE__ */ Y(`span`,{className:`text-[11.5px] text-[var(--muted-fg)]`,children:e.total===0?t(`footer.noResults`):t(`footer.range`,{start:hi(e.rangeStart),end:hi(e.rangeEnd),total:hi(e.total)})}),/* @__PURE__ */ Y(`span`,{className:`flex-1`}),/* @__PURE__ */ Y(xr,{size:`sm`,"aria-label":t(`footer.perPageLabel`),items:s.map(e=>({id:e,label:t(`footer.perPage`,{n:e})})),selectedKey:n,onSelectionChange:e=>r(Number(e)),className:`w-28 flex-none`,children:e=>/* @__PURE__ */ Y(xr.Item,{...e})}),/* @__PURE__ */ X(`div`,{className:`flex items-center gap-0.5`,children:[/* @__PURE__ */ Y(Z,{content:t(`footer.prevPage`),side:`top`,children:/* @__PURE__ */ Y(`button`,{onClick:a,"aria-label":t(`footer.prevPage`),disabled:e.page<=1,style:{...Os,opacity:e.page<=1?.45:1},children:/* @__PURE__ */ Y(H,{name:`chevron-left`,size:11,color:`currentColor`})})}),/* @__PURE__ */ X(`bdi`,{dir:`ltr`,"data-pager":``,className:`font-[family-name:'Geist_Mono',monospace] text-[11px] text-[var(--muted-fg)] py-0 px-1.5`,children:[e.page,` / `,e.lastPage]}),/* @__PURE__ */ Y(Z,{content:t(`footer.nextPage`),side:`top`,children:/* @__PURE__ */ Y(`button`,{onClick:()=>i(e.lastPage),"aria-label":t(`footer.nextPage`),disabled:e.page>=e.lastPage,style:{...Os,opacity:e.page>=e.lastPage?.45:1},children:/* @__PURE__ */ Y(H,{name:`chevron-right`,size:11,color:`currentColor`})})})]})]})}var Os={width:24,height:24,display:`flex`,alignItems:`center`,justifyContent:`center`,border:`1px solid var(--ich-hover-border, var(--border))`,borderRadius:5,backgroundColor:`var(--ich-hover-bg, var(--bg))`,cursor:`pointer`,color:`var(--ich-hover-fg, var(--muted-fg))`,transition:`background-color .12s ease, color .12s ease, border-color .12s ease`};function ks({loading:e}){return/* @__PURE__ */ X(`main`,{className:`ich-sheet flex-1 flex flex-col min-w-0`,children:[/* @__PURE__ */ Y(So,{}),/* @__PURE__ */ Y(bs,{loading:e}),/* @__PURE__ */ Y(Ds,{})]})}var As=3200;function js(){let e=E(e=>e.toasts),t=E(e=>e.dismissToast),n=f();return W(()=>{if(!e.length)return;let n=e.map(e=>setTimeout(()=>t(e.id),As));return()=>n.forEach(clearTimeout)},[e,t]),e.length?/* @__PURE__ */ Y(`div`,{"aria-live":`polite`,"aria-atomic":`false`,className:`fixed end-4 bottom-4 z-[var(--z-toast)] flex flex-col gap-2 pointer-events-none text-[length:var(--app-font,13.5px)]`,children:e.map(e=>/* @__PURE__ */ Y(pi,{icon:$e(e.icon),color:Ms(e.icon),onClose:()=>t(e.id),closeLabel:n(`common.close`),className:`pointer-events-auto [animation:ichIn_.14s_ease]`,children:e.msg},e.id))}):null}function Ms(e){return e===`alert-circle`?`error`:e===`check`?`success`:`brand`}function Ns(){let e=E(e=>e.tasks),t=f();if(!e.length)return null;let n=e[e.length-1];return/* @__PURE__ */ Y(Ps,{label:n.label||t(`task.working`),more:e.length-1})}function Ps({label:e,more:t=0}){return/* @__PURE__ */ X(`div`,{role:`status`,"aria-live":`polite`,"data-task-loader":``,className:`fixed inset-x-0 bottom-4 z-[var(--z-toast)] mx-auto flex w-[280px] max-w-[calc(100vw-32px)] items-center gap-3 rounded-[var(--radius)] border border-[var(--border)] bg-[var(--pop)] px-3 py-2.5 shadow-[var(--shadow-elevated)] [animation:ichIn_.14s_ease]`,children:[/* @__PURE__ */ Y(`span`,{"aria-hidden":`true`,className:`flex size-8 flex-none items-center justify-center rounded-[9px] bg-[linear-gradient(155deg,color-mix(in_srgb,var(--accent)_60%,#fff),var(--accent)_72%)] shadow-[0_6px_16px_-6px_var(--accent-soft)]`,children:/* @__PURE__ */ Y(H,{name:`layers`,size:16,color:`#fff`})}),/* @__PURE__ */ X(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1.5`,children:[/* @__PURE__ */ X(`span`,{className:`truncate text-[12px] text-[var(--fg)]`,children:[e,t>0&&/* @__PURE__ */ X(`span`,{className:`text-[var(--muted-fg)]`,children:[` +`,t]})]}),/* @__PURE__ */ Y(`span`,{"aria-hidden":`true`,className:`relative block h-[3px] overflow-hidden rounded-[3px] bg-[var(--muted)]`,children:/* @__PURE__ */ Y(`span`,{className:`absolute inset-y-0 left-0 w-2/5 rounded-[3px] bg-[var(--accent)] [animation:ichTaskSlide_1.1s_ease-in-out_infinite]`})})]})]})}function Fs(e){let{repo:t,client:n,page:r}=o(),[i,a]=q(/* @__PURE__ */ new Map),s=G(()=>new Map(r.items.map(e=>[e.id,e])),[r.items]);return W(()=>{if(t||!n)return;let r=e.filter(e=>!s.has(e)&&!i.has(e));if(r.length===0)return;let o=new AbortController;return Promise.all(r.map(e=>n.getIcon(e,o.signal).catch(()=>null))).then(e=>{o.signal.aborted||a(t=>{let n=new Map(t);return e.forEach((e,t)=>n.set(r[t],e)),n})}),()=>{o.abort()}},[t,n,JSON.stringify(e),s]),t?{icons:e.map(e=>t.byId(e)).filter(e=>!!e),loading:!1}:{icons:e.map(e=>s.get(e)??i.get(e)).filter(e=>!!e),loading:!!n&&e.some(e=>!s.has(e)&&!i.has(e))}}var Is=e=>/* @__PURE__ */ Y(un,{...e,className:t=>U(`fixed inset-0 z-(--z-overlay) flex min-h-dvh w-full items-end justify-center bg-overlay/70 px-4 outline-hidden sm:items-center sm:justify-center sm:px-8`,`pt-(--modal-pt) pb-(--modal-pb) [--modal-pb:clamp(16px,8vh,64px)] [--modal-pt:16px] sm:[--modal-pb:32px] sm:[--modal-pt:32px]`,t.isEntering&&`duration-300 ease-out animate-in fade-in`,t.isExiting&&`duration-200 ease-in animate-out fade-out`,typeof e.className==`function`?e.className(t):e.className)}),Ls=e=>/* @__PURE__ */ Y(ln,{...e,className:t=>U(`rounded-xl bg-primary align-middle shadow-xl outline-hidden max-sm:overflow-y-auto sm:rounded-2xl`,`max-h-[calc(var(--visual-viewport-height)-var(--modal-pt)-var(--modal-pb))]`,t.isEntering&&`duration-300 ease-out animate-in zoom-in-95`,t.isExiting&&`duration-200 ease-in animate-out zoom-out-95`,typeof e.className==`function`?e.className(t):e.className)}),Rs=e=>/* @__PURE__ */ Y(Ut,{...e,className:U(`relative max-h-[inherit] w-full overflow-y-auto outline-hidden`,e.className)});function zs({onClose:e,children:t,width:n,align:r=`center`,panelStyle:i,label:a=`Dialog`,showClose:o=!0,closeLabel:s=`Close`}){return/* @__PURE__ */ Y(Is,{isOpen:!0,onOpenChange:t=>!t&&e(),isDismissable:!0,className:r===`top`?`items-start sm:items-start`:void 0,children:/* @__PURE__ */ Y(Ls,{style:{width:n,maxWidth:`94vw`,fontSize:`var(--app-font, 13.5px)`},className:`overflow-hidden bg-[var(--surface)] ${r===`top`?`mt-[8vh]`:``}`,children:/* @__PURE__ */ X(Rs,{"aria-label":a,className:`flex max-h-[inherit] flex-col gap-0`,style:i,children:[o&&/* @__PURE__ */ Y(Lt,{onPress:e,"aria-label":s,className:`absolute end-3 top-3 z-1 flex size-8 cursor-pointer items-center justify-center rounded-lg text-fg-quaternary outline-hidden transition duration-100 ease-linear hover:bg-primary_hover hover:text-fg-quaternary_hover focus-visible:ring-2 focus-visible:ring-brand`,children:/* @__PURE__ */ Y(A,{className:`size-4 stroke-[2.25px]`})}),t]})})})}var Bs=[{type:`comment`,re:/\/\/[^\n]*/y},{type:`string`,re:/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'/y},{type:`number`,re:/-?\b\d+(?:\.\d+)?\b/y},{type:`keyword`,re:/\b(?:const|let|def|import|from|export|return|function|new|true|false|null|Infinity)\b/y},{type:`punct`,re:/[{}[\]():;,=<>/]+/y},{type:`space`,re:/\s+/y},{type:`text`,re:/[^\s{}[\]():;,=<>/"'0-9]+/y}],Vs={comment:`var(--console-comment)`,string:`var(--console-string)`,number:`var(--console-number)`,keyword:`var(--console-keyword)`,punct:`var(--console-punct)`,text:`var(--console-fg)`,space:`var(--console-fg)`};function Hs(e){let t=[],n=0,r=0;for(;n{n?.(),a(!0),setTimeout(()=>a(!1),1200)},"aria-label":o(`console.copyCode`),className:`h-5 py-0 px-2 border border-[var(--console-border)] rounded-[5px] bg-[var(--console-chrome)] text-[10.5px] cursor-pointer text-[var(--console-fg)] flex items-center gap-[5px]`,children:[/* @__PURE__ */ Y(H,{name:i?`check`:`copy`,size:9,color:`currentColor`}),` `,o(i?`console.copied`:`console.copy`)]})]}),/* @__PURE__ */ X(`div`,{role:`region`,tabIndex:0,dir:`ltr`,"aria-label":`${o(`console.code`)} — ${e}`,className:`flex-1 overflow-auto flex font-[family-name:'Geist_Mono',monospace] text-[11px] leading-[1.7]`,children:[/* @__PURE__ */ Y(`div`,{"aria-hidden":!0,className:`flex-none pt-2.5 pr-2 pb-2.5 pl-2.5 text-right text-[var(--console-gutter)] select-none bg-[var(--console-bg)]`,children:s.map((e,t)=>/* @__PURE__ */ Y(`div`,{children:t+1},t))}),/* @__PURE__ */ Y(`pre`,{className:`m-0 py-2.5 px-3 text-[var(--console-fg)] whitespace-pre-wrap [word-break:break-word] flex-1`,children:s.map((e,t)=>/* @__PURE__ */ Y(`div`,{children:e?Hs(e):`\xA0`},t))})]})]})}function Ws({c:e}){return/* @__PURE__ */ Y(`span`,{style:{width:9,height:9,borderRadius:`50%`,background:e,flex:`none`}})}function Gs(){var e=`0.1.0`,t={linear:`linear`,ease:`ease`,"ease-in":`ease-in`,"ease-out":`ease-out`,"ease-in-out":`ease-in-out`,spring:`cubic-bezier(.34,1.56,.64,1)`,back:`cubic-bezier(.68,-.55,.27,1.55)`,"steps(8)":`steps(8)`,"ease-in-quad":`cubic-bezier(.55,.06,.68,.19)`,"ease-out-cubic":`cubic-bezier(.22,.61,.36,1)`};function n(e){return e?t[e]?t[e]:/^(linear|ease(-in|-out|-in-out)?|step-(start|end)|steps\([^)]+\)|cubic-bezier\(\s*-?(?:\d+(?:\.\d+)?|\.\d+)\s*(,\s*-?(?:\d+(?:\.\d+)?|\.\d+)\s*){3}\))$/.test(String(e).trim())?e:`ease-in-out`:`ease-in-out`}var r=`perspective(400px)`,i=`var(--ichm-glow-color, currentColor)`,a=[{s:``,a:1,d:1,r:!1},{s:` · Reverse`,a:1,d:1,r:!0},{s:` · Subtle`,a:.55,d:1.15,r:!1},{s:` · Subtle · Reverse`,a:.55,d:1.15,r:!0},{s:` · Bold`,a:1.7,d:.8,r:!1},{s:` · Bold · Reverse`,a:1.7,d:.8,r:!0}],o=[{id:`spin`,label:`Spin`,base:1400,kf:function(){return[{transform:`rotate(0deg)`},{transform:`rotate(360deg)`}]}},{id:`spin-y`,label:`Spin Y`,base:1600,kf:function(){return[{transform:r+` rotateY(0deg)`},{transform:r+` rotateY(360deg)`}]}},{id:`spin-tilt`,label:`Spin Tilt`,base:1600,kf:function(){return[{transform:r+` rotateZ(0deg) rotateX(20deg)`},{transform:r+` rotateZ(360deg) rotateX(20deg)`}]}},{id:`flip-x`,label:`Flip X`,base:1400,kf:function(){return[{transform:r+` rotateX(0deg)`},{transform:r+` rotateX(360deg)`}]}},{id:`flip-y`,label:`Flip Y`,base:1400,kf:function(){return[{transform:r+` rotateY(0deg)`},{transform:r+` rotateY(360deg)`}]}},{id:`roll`,label:`Roll`,base:1200,kf:function(e){return[{transform:`translateX(`+-24*e+`%) rotate(`+-120*e+`deg)`,opacity:.4},{transform:`translateX(0) rotate(0)`,opacity:1}]}},{id:`orbit`,label:`Orbit`,base:2e3,kf:function(e){return[{transform:`rotate(0deg) translateX(`+6*e+`px) rotate(0deg)`},{transform:`rotate(360deg) translateX(`+6*e+`px) rotate(-360deg)`}]}},{id:`pulse`,label:`Pulse`,base:1200,kf:function(e){return[{opacity:1},{opacity:Math.max(.1,1-.65*e)},{opacity:1}]}},{id:`heartbeat`,label:`Heartbeat`,base:1e3,kf:function(e){return[{transform:`scale(1)`},{transform:`scale(`+(1+.18*e)+`)`},{transform:`scale(1)`},{transform:`scale(`+(1+.12*e)+`)`},{transform:`scale(1)`}]}},{id:`breathe`,label:`Breathe`,base:3e3,kf:function(e){return[{transform:`scale(1)`},{transform:`scale(`+(1+.08*e)+`)`},{transform:`scale(1)`}]}},{id:`zoom-in`,label:`Zoom In`,base:900,once:!0,kf:function(e){return[{transform:`scale(`+(1-.4*e)+`)`,opacity:0},{transform:`scale(1)`,opacity:1}]}},{id:`zoom-out`,label:`Zoom Out`,base:900,once:!0,kf:function(e){return[{transform:`scale(1)`,opacity:1},{transform:`scale(`+(1+.4*e)+`)`,opacity:0}]}},{id:`pop`,label:`Pop`,base:500,once:!0,kf:function(e){return[{transform:`scale(1)`},{transform:`scale(`+(1+.25*e)+`)`},{transform:`scale(1)`}]}},{id:`rubber-band`,label:`Rubber Band`,base:900,once:!0,kf:function(e){return[{transform:`scale(1,1)`},{transform:`scale(`+(1+.25*e)+`,`+(1-.25*e)+`)`},{transform:`scale(`+(1-.15*e)+`,`+(1+.15*e)+`)`},{transform:`scale(`+(1+.05*e)+`,`+(1-.05*e)+`)`},{transform:`scale(1,1)`}]}},{id:`jello`,label:`Jello`,base:900,once:!0,kf:function(e){return[{transform:`skewX(0deg) skewY(0deg)`},{transform:`skewX(`+-12*e+`deg) skewY(`+-12*e+`deg)`},{transform:`skewX(`+6*e+`deg) skewY(`+6*e+`deg)`},{transform:`skewX(`+-3*e+`deg) skewY(`+-3*e+`deg)`},{transform:`skewX(0) skewY(0)`}]}},{id:`tada`,label:`Tada`,base:1e3,once:!0,kf:function(e){return[{transform:`scale(1) rotate(0)`},{transform:`scale(`+(1-.1*e)+`) rotate(`+-3*e+`deg)`},{transform:`scale(`+(1+.1*e)+`) rotate(`+3*e+`deg)`},{transform:`scale(`+(1+.1*e)+`) rotate(`+-3*e+`deg)`},{transform:`scale(1) rotate(0)`}]}},{id:`bounce`,label:`Bounce`,base:900,kf:function(e){return[{transform:`translateY(0)`},{transform:`translateY(`+-22*e+`%)`},{transform:`translateY(0)`}]}},{id:`float`,label:`Float`,base:2400,kf:function(e){return[{transform:`translateY(0)`},{transform:`translateY(`+-12*e+`%)`},{transform:`translateY(0)`}]}},{id:`hop`,label:`Hop`,base:800,kf:function(e){return[{transform:`translateY(0) scaleY(1)`},{transform:`translateY(0) scaleY(0.86)`},{transform:`translateY(`+-24*e+`%) scaleY(1.05)`},{transform:`translateY(0) scaleY(1)`}]}},{id:`slide-up`,label:`Slide Up`,base:900,once:!0,kf:function(e){return[{transform:`translateY(`+30*e+`%)`,opacity:0},{transform:`translateY(0)`,opacity:1}]}},{id:`slide-down`,label:`Slide Down`,base:900,once:!0,kf:function(e){return[{transform:`translateY(`+-30*e+`%)`,opacity:0},{transform:`translateY(0)`,opacity:1}]}},{id:`slide-left`,label:`Slide Left`,base:900,once:!0,kf:function(e){return[{transform:`translateX(`+30*e+`%)`,opacity:0},{transform:`translateX(0)`,opacity:1}]}},{id:`slide-right`,label:`Slide Right`,base:900,once:!0,kf:function(e){return[{transform:`translateX(`+-30*e+`%)`,opacity:0},{transform:`translateX(0)`,opacity:1}]}},{id:`shake-x`,label:`Shake X`,base:600,kf:function(e){return[{transform:`translateX(0)`},{transform:`translateX(`+-3*e+`px)`},{transform:`translateX(`+3*e+`px)`},{transform:`translateX(`+-2*e+`px)`},{transform:`translateX(0)`}]}},{id:`shake-y`,label:`Shake Y`,base:600,kf:function(e){return[{transform:`translateY(0)`},{transform:`translateY(`+-3*e+`px)`},{transform:`translateY(`+3*e+`px)`},{transform:`translateY(`+-2*e+`px)`},{transform:`translateY(0)`}]}},{id:`vibrate`,label:`Vibrate`,base:300,kf:function(e){return[{transform:`translate(0,0)`},{transform:`translate(`+-1.5*e+`px,`+1.5*e+`px)`},{transform:`translate(`+1.5*e+`px,`+-1.5*e+`px)`},{transform:`translate(0,0)`}]}},{id:`wobble`,label:`Wobble`,base:1e3,once:!0,kf:function(e){return[{transform:`translateX(0) rotate(0)`},{transform:`translateX(`+-12*e+`%) rotate(`+-5*e+`deg)`},{transform:`translateX(`+8*e+`%) rotate(`+3*e+`deg)`},{transform:`translateX(`+-4*e+`%) rotate(`+-2*e+`deg)`},{transform:`translateX(0) rotate(0)`}]}},{id:`wiggle`,label:`Wiggle`,base:800,kf:function(e){return[{transform:`rotate(0deg)`},{transform:`rotate(`+-11*e+`deg)`},{transform:`rotate(`+11*e+`deg)`},{transform:`rotate(0deg)`}]}},{id:`swing`,label:`Swing`,base:1e3,origin:`top center`,kf:function(e){return[{transform:`rotate(0deg)`},{transform:`rotate(`+15*e+`deg)`},{transform:`rotate(`+-10*e+`deg)`},{transform:`rotate(`+5*e+`deg)`},{transform:`rotate(0deg)`}]}},{id:`pendulum`,label:`Pendulum`,base:1600,origin:`top center`,kf:function(e){return[{transform:`rotate(`+-20*e+`deg)`},{transform:`rotate(`+20*e+`deg)`},{transform:`rotate(`+-20*e+`deg)`}]}},{id:`rock`,label:`Rock`,base:1200,origin:`bottom center`,kf:function(e){return[{transform:`rotate(0deg)`},{transform:`rotate(`+-8*e+`deg)`},{transform:`rotate(`+8*e+`deg)`},{transform:`rotate(0deg)`}]}},{id:`fade`,label:`Fade`,base:1400,kf:function(e){return[{opacity:Math.max(0,1-e)},{opacity:1}]}},{id:`blink`,label:`Blink`,base:1e3,kf:function(){return[{opacity:1},{opacity:1},{opacity:0},{opacity:0},{opacity:1}]}},{id:`flash`,label:`Flash`,base:1e3,once:!0,kf:function(){return[{opacity:1},{opacity:0},{opacity:1},{opacity:0},{opacity:1}]}},{id:`glow`,label:`Glow`,base:1600,kf:function(e){return[{filter:`drop-shadow(0 0 0 `+i+`)`},{filter:`drop-shadow(0 0 `+5*e+`px `+i+`)`},{filter:`drop-shadow(0 0 0 `+i+`)`}]}},{id:`draw`,label:`Draw`,base:1400,once:!0,domOnly:!0,draw:!0,stagger:120,kf:function(){return[{strokeDashoffset:1},{strokeDashoffset:0}]}},{id:`reveal`,label:`Reveal`,base:700,once:!0,perChild:!0,stagger:90,kf:function(e){return[{opacity:0,transform:`translateY(`+14*e+`px)`},{opacity:1,transform:`translateY(0)`}]}},{id:`cascade`,label:`Cascade`,base:700,once:!0,perChild:!0,stagger:110,kf:function(e){return[{opacity:0,transform:`scale(`+(1-.3*e)+`)`},{opacity:1,transform:`scale(1)`}]}},{id:`assemble`,label:`Assemble`,base:800,once:!0,perChild:!0,stagger:90,kf:function(e){return[{opacity:0,transform:`translateX(`+-18*e+`px) rotate(`+-8*e+`deg)`},{opacity:1,transform:`translateX(0) rotate(0)`}]}},{id:`parallax`,label:`Parallax`,base:2600,perChild:!0,stagger:160,kf:function(e){return[{transform:`translateY(0)`},{transform:`translateY(`+-7*e+`px)`},{transform:`translateY(0)`}]}}],s={};function c(e){return e?`-`+e.replace(/[·\s]+/g,``).toLowerCase():``}function l(){s={};for(var e=0;e`u`||typeof window.matchMedia!=`function`)){var e;try{e=window.matchMedia(`(prefers-reduced-motion: reduce)`)}catch{return}if(e&&typeof e.addEventListener==`function`){var t=function(){p()&&x()};e.addEventListener(`change`,t),g=!0,h.push(function(){e.removeEventListener(`change`,t),g=!1})}}}function y(){m.forEach(function(e){e.pause()})}function b(){p()||m.forEach(function(e){e.play()})}function x(){var e=Array.from(m);m.clear(),e.forEach(function(e){e.cancel()})}function S(e){return typeof e==`string`?document.querySelector(e):e}function C(e,t){return e&&typeof e.addEventListener==`function`&&e.addEventListener(`cancel`,t),e}function w(e,t,n){var r=e.style,i=r[t];return r[t]=n,function(){r[t]=i}}function T(e){if(!e.length)return null;var t=e[e.length-1];if(e.length===1)return t;t.animations=e,[`cancel`,`pause`,`play`,`finish`,`reverse`].forEach(function(n){if(typeof t[n]==`function`){var r=t[n].bind(t);t[n]=function(){e.forEach(function(e){e!==t&&typeof e[n]==`function`&&e[n]()}),r()}}}),t.seek=function(t){e.forEach(function(e){e.currentTime=t})};var n=Promise.all(e.map(function(e){return e.finished})).then(function(){return t});return Object.defineProperty(t,"finished",{configurable:!0,get:function(){return n}}),t}function E(e,t,r){var i=t.speed==null?u.defaults.speed||1:t.speed,a=e.duration==null?e.base:e.duration,o=t.duration==null?Math.max(80,(a||1e3)/Math.max(.1,i)):t.duration,s=t.iterations==null?e.iterations==null?u.defaults.iterations==null?1/0:u.defaults.iterations:e.iterations:t.iterations;s===`infinite`&&(s=1/0);var c=t.direction||e.direction||u.defaults.direction||`normal`;return{duration:o,easing:n(t.easing||e.easing||u.defaults.easing),delay:(t.delay==null?u.defaults.delay||0:t.delay)+(r||0),direction:c===`reverse`?`reverse`:c===`alternate`?`alternate`:`normal`,iterations:s,fill:s===1/0?`none`:`forwards`}}function D(e,t,n){if(e=S(e),!e||!t||!t.keyframes||!t.keyframes.length||p())return null;n||={};var r=t.origin&&e.style?w(e,`transformOrigin`,t.origin):null,i=e.animate(t.keyframes,E(t,n));return _(r?C(i,r):i)}function O(e){var t=e.querySelectorAll(`[data-layer]`);return t.length?t:(t=e.querySelectorAll(`:scope > g, :scope > path`),t.length?t:e.children)}function ee(e){return function(){e.forEach(function(e){e()})}}function k(e,t,n){n||={};var r=O(e);if(!r||!r.length)return D(e,t,n);for(var i=n.stagger==null?t.stagger==null?90:t.stagger:n.stagger,a=[],o=0;o you control) and either expose it as window.lottie or pass it in: IchavaMotion.config({ lottiePlayer: lottie }).`)),null)}function F(e,t,n,r,i){var a=parseFloat(t);return a===a&&a>=r&&a<=i?a:(console.warn(`[ichava-motion] `+e+`="`+t+`" is not a number in [`+r+`, `+i+`]; using the default.`),n)}var I=Number.MAX_VALUE;function L(e){var t=e.dataset,n={},r;return t.motionSpeed&&(r=F(`data-motion-speed`,t.motionSpeed,void 0,-1/0,1/0))!==void 0&&(n.speed=r),t.motionDuration&&(r=F(`data-motion-duration`,t.motionDuration,void 0,0,1/0))!==void 0&&(n.duration=r),t.motionEasing&&(n.easing=t.motionEasing),t.motionDelay&&(r=F(`data-motion-delay`,t.motionDelay,void 0,-I,I))!==void 0&&(n.delay=r),t.motionDirection&&(n.direction=t.motionDirection),t.motionIterations&&(t.motionIterations===`infinite`?n.iterations=1/0:(r=F(`data-motion-iterations`,t.motionIterations,void 0,0,1/0))!==void 0&&(n.iterations=r)),t.motionStagger&&(r=F(`data-motion-stagger`,t.motionStagger,void 0,-I,I))!==void 0&&(n.stagger=r),n}var R=/* @__PURE__ */ new WeakMap;function z(e){if(R.has(e))return;var t=[],n=e.getAttribute(`data-ichava-motion`),r=e.getAttribute(`data-motion-trigger`)||u.defaults.trigger||`load`,i=L(e),a=null;function o(t){return a&&a.cancel(),a=j(e,n,t||i),a}function c(n,r){e.addEventListener(n,r),t.push(function(){e.removeEventListener(n,r)})}if(t.push(function(){a&&a.cancel(),a=null}),R.set(e,function(){t.forEach(function(e){e()})}),r===`load`)o();else if(r===`loop`)o({iterations:1/0});else if(r===`hover`)c(`mouseenter`,function(){o()}),c(`mouseleave`,function(){a&&a.cancel()});else if(r===`click`)c(`click`,function(){a&&a.playState===`running`?a.cancel():o()});else if(r===`visible`){if(`IntersectionObserver`in window){var l=new IntersectionObserver(function(t){t.forEach(function(t){t.isIntersecting&&(o({iterations:s[n]&&s[n].once?1:i.iterations}),l.unobserve(e))})});l.observe(e),t.push(function(){l.disconnect()})}else o()}}function B(e){var t=R.get(e);t&&(R.delete(e),t())}function ie(e){var t=e||document;B(t),t.querySelectorAll(`[data-ichava-motion]`).forEach(B)}function ae(e){if(typeof MutationObserver<`u`){var t=new MutationObserver(function(e){e.forEach(function(e){e.removedNodes.forEach(function(e){e.nodeType===1&&!e.isConnected&&ie(e)}),e.addedNodes.forEach(function(e){e.nodeType===1&&(e.hasAttribute(`data-ichava-motion`)&&z(e),e.querySelectorAll(`[data-ichava-motion]`).forEach(z))})})});t.observe(e,{childList:!0,subtree:!0}),h.push(function(){t.disconnect()})}}function oe(e){var t=S(e);if(t){var n=!1;t.setAttribute(`aria-pressed`,`false`);var r=function(){n=!n,n?y():b(),t.setAttribute(`aria-pressed`,String(n))};t.addEventListener(`click`,r),h.push(function(){t.removeEventListener(`click`,r)})}}function se(e,t){var n,r;e&&typeof e.querySelectorAll==`function`?(n=e,r=t||{}):(n=document,r=e||t||{}),n.querySelectorAll(`[data-ichava-motion]`).forEach(z),r.observe&&ae(n),r.pauseControl&&oe(r.pauseControl)}function ce(){typeof document<`u`&&ie(document),x();var e=h;h=[],e.forEach(function(e){e()})}var le={version:e,config:function(e){return f(u,e||{}),this},animate:M,play:j,playSpec:D,fromJSON:function(e,t,n){return n||={},n.trigger===`loop`&&(n.iterations=1/0),D(e,t,n)},auto:se,unwire:ie,destroy:ce,pauseAll:function(){return y(),this},resumeAll:function(){return b(),this},stopAll:function(){return x(),this},presets:function(){return s},presetIds:function(){return Object.keys(s)},easings:function(){return f({},t)},register:function(e,t){return s[e]=f({id:e,keyframes:[],base:1e3,iterations:1/0,direction:`normal`},t),this},registerFamily:function(e){return o.push(e),l(),this},registerVariant:function(e){return a.push(e),l(),this},registerEasing:function(e,n){return t[e]=n,this},create:function(){return Gs()},catalog:function(){return{families:o.map(function(e){return f({},e)}),variants:a.map(function(e){return f({},e)})}}};return le.autoInit=function(e){if(typeof document>`u`)return le;var t=e||{};return document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,function(){se(t)}):se(t),le},le}var Ks=Gs();typeof globalThis<`u`&&globalThis.document!==void 0&&(globalThis.IchavaMotion=Ks);var qs=Ks.catalog(),Js=Ks.create(),Ys=e=>({id:e.id,label:e.label,base:e.base,keyframes:e.kf,...e.origin!==void 0&&{origin:e.origin},...e.once!==void 0&&{once:e.once},...e.domOnly!==void 0&&{domOnly:e.domOnly},...e.perChild!==void 0&&{perChild:e.perChild},...e.draw!==void 0&&{draw:e.draw},...e.stagger!==void 0&&{stagger:e.stagger}}),Xs=qs.variants.map(e=>({suffix:e.s,ampMul:e.a,durMul:e.d,reverse:e.r})),Zs=qs.families.filter(e=>!e.perChild).map(Ys),Qs=qs.families.filter(e=>e.perChild).map(Ys),$s={id:`none`,label:`None`,base:0,keyframes:[]},ec={id:`json`,label:`JSON · Custom ✦`,base:0,keyframes:[],custom:!0};function tc(e,t){let n=e.keyframes(t.ampMul);return{id:`${e.id}${t.suffix?`-`+t.suffix.replace(/[·\s]+/g,``).toLowerCase():``}`,label:`${e.label}${t.suffix}`,base:Math.round(e.base*t.durMul),keyframes:n,direction:t.reverse?`reverse`:`normal`,iterations:e.once?1:1/0,once:e.once,origin:e.origin,family:e.id,domOnly:e.domOnly,perChild:e.perChild,draw:e.draw,stagger:e.stagger}}function nc(e={}){let t=[$s,ec];for(let n of Zs)if(!n.domOnly||e.includeDomOnly)for(let e of Xs)t.push(tc(n,e));return t}var rc=nc(),ic=[$s,ec,...Qs.flatMap(e=>Xs.map(t=>tc(e,t))),...Zs.filter(e=>e.draw).flatMap(e=>Xs.map(t=>tc(e,t)))],ac=[`linear`,`ease`,`ease-in`,`ease-out`,`ease-in-out`,`cubic-bezier(.34,1.56,.64,1)`,`cubic-bezier(.68,-.55,.27,1.55)`,`steps(8)`,`cubic-bezier(.55,.06,.68,.19)`,`cubic-bezier(.22,.61,.36,1)`],oc={linear:`linear`,ease:`ease`,"ease-in":`ease-in`,"ease-out":`ease-out`,"ease-in-out":`ease-in-out`,"cubic-bezier(.34,1.56,.64,1)":`spring`,"cubic-bezier(.68,-.55,.27,1.55)":`back`,"steps(8)":`steps(8)`,"cubic-bezier(.55,.06,.68,.19)":`ease-in-quad`,"cubic-bezier(.22,.61,.36,1)":`ease-out-cubic`};function sc(e){return 4**((e-50)/50)}function cc(e){return`${e.toFixed(e<1?2:+(e<10))}×`}function lc(e,t,n){if(t.keyframes.length===0||t.base===0||n.reduceMotion)return null;let r={speed:n.speed,easing:n.easing,delay:n.delay,iterations:n.iterations};return t.draw||t.perChild?Js.play(e,t.id,r):Js.playSpec(e,t,r)}function uc(){Js.pauseAll()}function dc(){Js.resumeAll()}function fc(){Js.destroy()}function pc(e,t){let n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=e,r.click(),URL.revokeObjectURL(n)}function mc(e,t){let n={id:`general`,label:``,items:[]},r=/* @__PURE__ */ new Map;for(let i of e){if(!i.family){n.items.push({id:i.id,label:i.label,name:i.label});continue}let e=r.get(i.family);e||(e={id:i.family,label:i.label.split(` · `)[0],items:[]},r.set(i.family,e));let a=i.label.startsWith(e.label)?i.label.slice(e.label.length).replace(/^\s*·\s*/,``):i.label;e.items.push({id:i.id,label:a||t,name:i.label})}return[n,...r.values()].filter(e=>e.items.length>0)}function hc({presets:e,value:t,onChange:n,isDisabled:r}){let i=f(),{contains:a}=Rn({sensitivity:`base`}),o=G(()=>mc(e,i(`detail.motionDefault`)),[e,i]);return/* @__PURE__ */ X(_n,{"aria-label":i(`detail.motion`),selectedKey:t,isDisabled:r,onSelectionChange:t=>{let r=e.find(e=>e.id===t);r&&n(r)},className:`min-w-0 flex-1`,children:[/* @__PURE__ */ X(Lt,{className:({isFocusVisible:e,isPressed:t})=>U(`relative flex w-full cursor-pointer items-center gap-2 rounded-lg bg-primary py-1.5 pr-2.5 pl-3 shadow-xs ring-1 ring-primary outline-hidden transition duration-100 ease-linear ring-inset`,(e||t)&&`ring-2 ring-brand`),children:[/* @__PURE__ */ Y(vn,{className:`min-w-0 flex-1 truncate text-left text-[13px]/5 font-medium text-primary`,children:({selectedText:n})=>e.find(e=>e.id===t)?.label??n}),/* @__PURE__ */ Y(Ne,{"aria-hidden":`true`,className:`size-4 shrink-0 stroke-[2.25px] text-fg-quaternary`})]}),/* @__PURE__ */ Y(fn,{placement:`bottom start`,offset:4,className:({isEntering:e,isExiting:t})=>U(`z-(--z-popover) flex w-80 max-w-[calc(100vw-16px)] flex-col overflow-hidden rounded-lg bg-primary shadow-lg ring-1 ring-secondary_alt outline-hidden`,e&&`duration-150 ease-out animate-in fade-in`,t&&`duration-100 ease-in animate-out fade-out`),children:/* @__PURE__ */ X(It,{filter:(e,t)=>t.trim().split(/\s+/).every(t=>a(e,t)),children:[/* @__PURE__ */ Y(gn,{"aria-label":i(`detail.searchPresets`,{n:e.length}),autoFocus:!0,className:`border-b border-secondary p-2`,children:/* @__PURE__ */ X(`div`,{className:`relative flex items-center`,children:[/* @__PURE__ */ Y(ze,{"aria-hidden":`true`,className:`pointer-events-none absolute left-2.5 size-4 text-fg-quaternary`}),/* @__PURE__ */ Y(Qt,{placeholder:i(`detail.searchPresets`,{n:e.length}),className:`w-full rounded-md bg-primary py-1.5 pr-2 pl-8 text-[13px]/5 text-primary ring-1 ring-primary outline-hidden ring-inset placeholder:text-placeholder focus:ring-2 focus:ring-brand [&::-webkit-search-cancel-button]:hidden`})]})}),/* @__PURE__ */ Y(tn,{items:o,className:`max-h-64 min-h-0 flex-1 overflow-y-auto py-1 outline-hidden`,renderEmptyState:()=>/* @__PURE__ */ Y(`p`,{className:`px-3 py-4 text-center text-[12.5px] text-tertiary`,children:i(`detail.noPresets`)}),children:e=>/* @__PURE__ */ X(rn,{id:`group:${e.id}`,className:`pb-1`,children:[e.label&&/* @__PURE__ */ Y(Yt,{className:`sticky top-0 z-1 bg-primary px-3 pt-2 pb-1 text-[10.5px] font-semibold tracking-wide text-tertiary uppercase`,children:e.label}),/* @__PURE__ */ Y(Bt,{items:e.items,children:e=>/* @__PURE__ */ Y(nn,{id:e.id,textValue:e.name,className:`px-1 outline-hidden`,children:({isSelected:t,isFocused:n})=>/* @__PURE__ */ X(`div`,{className:U(`flex cursor-pointer items-center gap-2 rounded-md px-2 py-1.5 text-[13px]/5 text-primary`,(n||t)&&`bg-primary_hover`),children:[/* @__PURE__ */ Y(`span`,{className:`min-w-0 flex-1 truncate font-medium`,children:e.label}),t&&/* @__PURE__ */ Y(oe,{"aria-hidden":`true`,className:`size-4 shrink-0 stroke-[2.25px] text-fg-brand-primary`})]})})})]})})]})})]})}var gc=({isFocusVisible:e,isSelected:t,isHovered:n})=>({"button-brand":U(`outline-focus-ring *:data-icon:text-fg-quaternary`,e&&`outline-2 -outline-offset-2`,(t||n)&&`bg-brand-primary_alt text-brand-secondary *:data-icon:text-fg-brand-secondary_hover`),"button-gray":U(`outline-focus-ring *:data-icon:text-fg-quaternary`,n&&`bg-primary_hover text-secondary *:data-icon:text-fg-secondary_hover`,e&&`outline-2 -outline-offset-2`,t&&`bg-primary_hover text-secondary *:data-icon:text-fg-secondary_hover`),"button-border":U(`outline-focus-ring *:data-icon:text-fg-quaternary`,e&&`outline-2 -outline-offset-2`,(t||n)&&`bg-primary_alt text-secondary shadow-sm *:data-icon:text-fg-secondary_hover`),"button-minimal":U(`rounded-lg outline-focus-ring *:data-icon:text-fg-quaternary`,e&&`outline-2 -outline-offset-2`,(t||n)&&`bg-primary_alt text-secondary shadow-xs ring-1 ring-primary ring-inset *:data-icon:text-fg-secondary_hover`),underline:U(`rounded-none border-b-2 border-transparent outline-focus-ring *:data-icon:text-fg-quaternary`,e&&`outline-2 -outline-offset-2`,(t||n)&&`border-fg-brand-primary_alt text-brand-secondary *:data-icon:text-fg-brand-secondary_hover`),line:U(`rounded-none border-l-2 border-transparent outline-focus-ring *:data-icon:text-fg-quaternary`,e&&`outline-2 -outline-offset-2`,(t||n)&&`border-fg-brand-primary_alt text-brand-secondary *:data-icon:text-fg-brand-secondary_hover`)}),_c={sm:{base:`text-sm font-semibold gap-1 *:data-icon:size-4`,"button-brand":`py-2 px-2.5`,"button-gray":`py-2 px-2.5`,"button-border":`py-2 px-2.5`,"button-minimal":`py-2 px-2.5`,underline:`px-0.5 pb-2.5 pt-0`,line:`pl-2.5 pr-3 py-0.5`},md:{base:`text-md font-semibold gap-1.5 *:data-icon:size-5`,"button-brand":`py-2.5 px-2.5`,"button-gray":`py-2.5 px-2.5`,"button-border":`py-2.5 px-2.5`,"button-minimal":`py-2.5 px-2.5`,underline:`px-0.5 pb-2.5 pt-0`,line:`pr-3.5 pl-3 py-1`}},vc=({size:e,fullWidth:t})=>({"button-brand":`gap-1`,"button-gray":`gap-1`,"button-border":U(`gap-1 rounded-[10px] bg-secondary_alt p-1 ring-1 ring-secondary ring-inset`,e===`md`&&`rounded-xl p-1.5`),"button-minimal":`gap-0.5 rounded-lg bg-secondary_alt ring-1 ring-inset ring-secondary`,underline:U(`gap-3`,t&&`w-full gap-4`),line:`gap-2`}),yc=Ct({size:`sm`,type:`button-brand`}),bc=({size:e=`sm`,type:t=`button-brand`,orientation:n,fullWidth:r,className:i,children:a,...o})=>{let s=zn(kn),c=n??s?.orientation??`horizontal`;return/* @__PURE__ */ Y(yc.Provider,{value:{size:e,type:t,orientation:c,fullWidth:r},children:/* @__PURE__ */ Y(En,{...o,className:n=>U(`group flex`,vc({size:e,fullWidth:r})[t],c===`vertical`&&`w-max flex-col`,c===`horizontal`&&t===`underline`&&`relative before:absolute before:inset-x-0 before:bottom-0 before:h-px before:bg-border-secondary`,typeof i==`function`?i(n):i),children:a??(o.items?e=>/* @__PURE__ */ Y(Sc,{...e,children:e.children}):void 0)})})},xc=e=>/* @__PURE__ */ Y(Dn,{...e,className:t=>U(`outline-focus-ring focus-visible:outline-2 focus-visible:outline-offset-2`,typeof e.className==`function`?e.className(t):e.className)}),Sc=({label:e,children:t,badge:n,icon:r,className:i,...a})=>{let{size:o=`sm`,type:s=`button-brand`,fullWidth:c}=Dt(yc),l=s===`underline`||s===`line`||s===`button-brand`;return/* @__PURE__ */ Y(Tn,{...a,className:e=>U(`z-10 flex h-max cursor-pointer items-center justify-center gap-2 rounded-md whitespace-nowrap text-quaternary transition duration-100 ease-linear`,`group-orientation-vertical:justify-start`,c&&`w-full flex-1`,_c[o].base,_c[o][s],gc(e)[s],typeof i==`function`?i(e):i),children:i=>/* @__PURE__ */ X(J,{children:[wt(r)&&r,Qe(r)&&/* @__PURE__ */ Y(r,{"data-icon":!0,className:`transition-inherit-all`}),/* @__PURE__ */ X(`span`,{className:U(`flex items-center gap-1.5`,s!==`line`&&`px-0.5`),children:[typeof t==`function`?t(i):t||e,n&&/* @__PURE__ */ Y(Pi,{size:`sm`,type:l?`pill-color`:`modern`,color:l&&(i.isHovered||i.isSelected)?`brand`:`gray`,className:U(`hidden transition-inherit-all md:flex`,o===`sm`&&`-my-px`),children:n})]})]})})},Cc=({className:e,...t})=>/* @__PURE__ */ Y(On,{keyboardActivation:`manual`,...t,className:t=>U(`flex w-full flex-col`,typeof e==`function`?e(t):e)});Cc.Panel=xc,Cc.List=bc,Cc.Item=Sc;var wc=`flex-wrap self-start gap-0.5 rounded-[var(--radius)] bg-transparent p-0.5`,Tc=`h-6 rounded-[calc(var(--radius)_-_2px)] bg-transparent px-2 py-0 text-[11px] font-medium shadow-none [&:not([data-selected])]:hover:bg-[var(--muted)] [&:not([data-selected])]:hover:text-secondary data-[pressed]:scale-[.97] data-[selected]:bg-brand-primary_alt data-[selected]:font-semibold data-[selected]:text-brand-secondary`,Ec=[`motion`,`helper`,`bladeGeneric`,`webcomponent`,`name`];function Dc(){let e=Ae(),{repo:t,client:n}=o(),r=E(e=>e.detailId),i=E(e=>e.closeLayer),a=E(e=>e.config?.features.collections!==!1),s=E(e=>e.openDetail),l=E(e=>e.favorites),u=E(e=>e.toggleFavorite),d=E(e=>e.collections),p=E(e=>e.addToCollection),m=E(e=>e.removeFromCollection),h=E(e=>e.pushHistory),g=sa(),_=Qn(),v=rr(),b=K(void 0);W(()=>()=>ir(v?.current,b.current),[v]);let x=e=>e?e.builtin&&Ec.includes(e.id)?w(y(`snippetTab.${e.id}`)):e.label:``,S=E(e=>e.config?.snippets),C=E(e=>e.reduceMotion),w=f(),[T,D]=q(`svg`),O=G(()=>{let t=mt(S);return e.getState().config?.features.motion===!1?t.filter(e=>e.id!==`motion`):t},[S,e]),ee=O.some(e=>e.id===T)?T:O[0]?.id??`svg`,k=O.find(e=>e.id===ee),A=E(e=>e.locale),[j,M]=q(96),[N,te]=q(`px`),[ne,P]=q(null),[re,F]=q(1.5),[I,L]=q(null),[R,z]=q(rc[0]),[B,ie]=q(`ease-in-out`),[ae,oe]=q(50),[se,ce]=q(!1),[le,ue]=q(`[ - { "transform": "rotate(0deg) scale(1)", "opacity": 1 }, - { "transform": "rotate(-14deg) scale(1.12)", "opacity": 1, "offset": 0.3 }, - { "transform": "rotate(0deg) scale(1)", "opacity": 1 } -]`),de=K(null),fe=K(null),pe=K(se),{icons:[me]}=Fs(r==null?[]:[r]),V=me;W(()=>{b.current=V?.id},[V?.id]);let he=G(()=>{if(!R.custom)return null;try{let e=JSON.parse(le),t=Array.isArray(e)?e:Array.isArray(e.keyframes)?e.keyframes:null;return!t||!t.every(e=>e&&typeof e==`object`&&!Array.isArray(e))?null:t}catch{return null}},[R.custom,le]),ge=G(()=>R.custom&&he?{...R,keyframes:he,base:1400}:R,[R,he]);W(()=>{pe.current=se},[se]),W(()=>{if(fe.current?.cancel(),fe.current=null,!de.current||ge.id===`none`||ge.custom&&!he)return;let e=lc(de.current,ge,{speed:sc(ae),easing:B,iterations:ge.once?1/0:void 0,reduceMotion:C});return fe.current=e,e&&pe.current&&e.pause(),()=>e?.cancel()},[ge,he,ae,B,V,C]),W(()=>{se?uc():dc()},[se]),W(()=>()=>fc(),[]);let _e=!(!V||V.svgContent||!n&&!V.svgUrl);W(()=>{if(!V||!_e)return;let e=!0;return Promise.resolve(rt(V,n)).then(t=>e&&L({id:V.id,body:t})).catch(()=>e&&L({id:V.id,body:null})),()=>{e=!1}},[V,n,_e]);let ve=V?.svgContent||(I&&I.id===V?.id?I.body:null),[ye,be]=q(null);W(()=>{if(!V||t||!n)return;let e=!0;return n.getRelated(V).then(t=>e&&be({id:V.id,list:t})).catch(()=>e&&be({id:V.id,list:[]})),()=>{e=!1}},[V,t,n]);let xe=V&&t?t.related(V):ye&&ye.id===V?.id?ye.list:[],Se=G(()=>V?dt.build(ee,V,{config:S,size:j,unit:N,color:ne,strokeWidth:re,motion:{id:R.id,label:R.label,keyframes:he??R.keyframes,base:R.base,easing:B,easingLabel:oc[B]??B,speed:sc(ae),direction:R.direction,iterations:R.iterations,custom:R.custom}},ve):``,[V,ee,S,j,N,ne,re,ve,R,he,B,ae]);if(!V)return null;let Ce=l.includes(V.id),we=V.kind===`illustration`?ic:rc,Te=e.getState().config?.features.motion!==!1,Ee=j*({px:1,rem:16,em:16}[N]??1),De=Math.max(28,Math.min(Ee,150)),Oe=Ee>150,ke=()=>ve?dt.build(`svg`,V,{size:j,unit:`px`,color:ne,strokeWidth:re},ve):null,je=()=>{let t=ke();t?(pc(`${V.name}.svg`,new Blob([t],{type:`image/svg+xml`})),h(V.id,`downloaded`)):e.getState().showToast(w(`detail.noSvg`),`alert-circle`)},Me=()=>{let e=ke();if(!e)return null;let t=e.indexOf(`>`,e.indexOf(``),r=e.slice(0,t+1),i=(r.match(/\s(?:fill|stroke|stroke-width|stroke-linecap|stroke-linejoin)="[^"]*"/g)??[]).join(``);return{icon:V,body:e.slice(t+1,n).trim(),viewBox:/viewBox="([^"]+)"/.exec(r)?.[1]??V.viewBox,rootAttrs:i}},Ne=()=>{let t=Me();t?(pc(`${V.name}.css`,new Blob([ho.buildCssMask([t])],{type:`text/css`})),h(V.id,`downloaded`)):e.getState().showToast(w(`detail.noSvg`),`alert-circle`)},Pe=()=>{let t=Me();t?(g(ho.buildDataUri(t),w(`detail.copied`,{label:w(`format.data-uri`)})),h(V.id,`copied`)):e.getState().showToast(w(`detail.noSvg`),`alert-circle`)};return/* @__PURE__ */ X(zs,{showClose:!1,onClose:i,width:940,align:`top`,label:nt(V),panelStyle:{overflowY:`auto`},children:[/* @__PURE__ */ X(`div`,{className:`flex items-center gap-2 py-3 px-4 border-b border-b-[var(--border)]`,children:[/* @__PURE__ */ Y(`h2`,{className:`m-0 font-[family-name:'Geist_Mono',monospace] text-[13.5px] font-semibold min-w-0 max-w-[220px] whitespace-nowrap overflow-hidden text-ellipsis`,children:V.name}),/* @__PURE__ */ Y(`span`,{className:`text-[10.5px] text-[var(--color-text-brand-secondary)] bg-[var(--accent-soft)] border border-[color-mix(in_oklab,var(--accent)_45%,transparent)] rounded-[2px] py-0.5 px-1.5 font-medium font-mono flex-none`,children:V.package.replace(`ichava/`,``)}),/* @__PURE__ */ X(`span`,{className:`text-[11px] text-[var(--muted-fg)] capitalize whitespace-nowrap overflow-hidden text-ellipsis`,children:[V.sub?`${V.category} › ${V.sub}`:V.category,` · `,V.variant]}),/* @__PURE__ */ Y(`span`,{className:`flex-1 min-w-2`}),_&&/* @__PURE__ */ Y(Ac,{name:`link`,title:w(`tile.copyPermalink`),onClick:()=>g(_(V.id),w(`tile.permalinkCopied`))}),/* @__PURE__ */ Y(Ac,{name:`close`,title:`${w(`common.close`)} — Esc`,onClick:i})]}),/* @__PURE__ */ X(`div`,{className:`ich-detail-grid`,style:{display:`grid`,gridTemplateColumns:`300px minmax(0,1fr)`,gap:18,padding:18},children:[/* @__PURE__ */ X(`div`,{className:`flex flex-col gap-2.5`,children:[/* @__PURE__ */ X(`div`,{className:`relative h-56 border border-[var(--border)] rounded-[var(--radius)] bg-[var(--muted2)] flex items-center justify-center overflow-hidden`,children:[/* @__PURE__ */ Y(`div`,{ref:de,className:`flex`,children:/* @__PURE__ */ Y(c,{inline:!0,icon:V,size:De,color:ne,stroke:re})}),/* @__PURE__ */ X(`span`,{className:`absolute bottom-2 left-0 right-0 text-center text-[10.5px] text-[var(--muted-fg)]`,children:[Oe?`${w(`detail.scaledToFit`)} · `:``,w(`detail.actual`),` `,N===`px`?w(`unit.pxValue`,{n:j}):`${j} ${N}`]})]}),/* @__PURE__ */ Y(`p`,{className:`m-0 -mt-1 text-[10.5px] text-[var(--muted-fg)]`,children:w(`detail.previewOnly`)}),/* @__PURE__ */ X(kc,{label:w(`detail.size`),children:[/* @__PURE__ */ Y(`div`,{className:`flex-1`,children:/* @__PURE__ */ Y(Ur,{minValue:16,maxValue:256,step:16,value:j,onChange:e=>M(e),"aria-label":w(`detail.previewSize`),formatOptions:{style:`decimal`}})}),/* @__PURE__ */ Y(Oc,{children:N===`px`?w(`unit.pxValue`,{n:j}):`${j} ${N}`}),/* @__PURE__ */ Y(xr,{size:`sm`,"aria-label":w(`detail.unit`),items:[`px`,`rem`,`em`].map(e=>({id:e,label:e})),selectedKey:N,onSelectionChange:e=>te(e),className:`w-20`,popoverClassName:`min-w-20`,children:e=>/* @__PURE__ */ Y(xr.Item,{...e})})]}),!V.ownColor&&V.kind!==`illustration`&&/* @__PURE__ */ Y(Or,{label:w(`color.previewColor`),align:`left`,width:196,panelStyle:{padding:10,top:30},trigger:(e,t)=>/* @__PURE__ */ X(`button`,{onClick:t,style:jc,children:[/* @__PURE__ */ Y(`span`,{style:{width:13,height:13,borderRadius:`50%`,background:ne??`linear-gradient(135deg,var(--fg),var(--muted-fg))`,border:`1px solid var(--border)`}}),/* @__PURE__ */ Y(`span`,{className:`text-[11.5px]`,children:w(`detail.color`)}),/* @__PURE__ */ Y(H,{name:`chevron-down`,size:9,color:`currentColor`})]}),children:()=>/* @__PURE__ */ Y(la,{value:ne,onChange:P})}),V.variant===`outline`&&!V.ownColor&&V.kind!==`illustration`&&/* @__PURE__ */ X(kc,{label:w(`detail.stroke`),children:[/* @__PURE__ */ Y(`div`,{className:`flex-1`,children:/* @__PURE__ */ Y(Ur,{minValue:.5,maxValue:3,step:.25,value:re,onChange:e=>F(e),"aria-label":w(`detail.stroke`),formatOptions:{style:`decimal`,maximumFractionDigits:2}})}),/* @__PURE__ */ X(Oc,{children:[re.toFixed(2),`px`]})]}),Te&&/* @__PURE__ */ X(`div`,{className:`flex flex-col gap-1.5`,children:[/* @__PURE__ */ Y(`span`,{className:`text-[11px] font-semibold text-[var(--muted-fg)]`,children:w(`detail.motion`)}),/* @__PURE__ */ Y(hc,{presets:we,value:R.id,onChange:e=>{z(e),ce(!1)}}),/* @__PURE__ */ X(`div`,{className:`flex gap-[5px]`,children:[/* @__PURE__ */ Y(xr,{size:`sm`,"aria-label":w(`detail.easing`),isDisabled:R.id===`none`,items:ac.map(e=>({id:e,label:oc[e]??e})),selectedKey:B,onSelectionChange:e=>ie(e),className:`min-w-0 flex-1`,children:e=>/* @__PURE__ */ Y(xr.Item,{...e})}),/* @__PURE__ */ Y(`button`,{onClick:()=>ce(e=>!e),disabled:R.id===`none`,title:w(se?`detail.play`:`detail.pause`),"aria-label":w(se?`detail.play`:`detail.pause`),style:{...jc,width:32,height:32,alignSelf:`center`,padding:0,justifyContent:`center`,opacity:R.id===`none`?.4:1},children:/* @__PURE__ */ Y(H,{name:se?`play`:`pause`,size:13,color:`currentColor`})})]}),R.id!==`none`&&/* @__PURE__ */ X(kc,{label:w(`detail.speed`),children:[/* @__PURE__ */ Y(`div`,{className:`flex-1`,children:/* @__PURE__ */ Y(Ur,{minValue:0,maxValue:100,value:ae,onChange:e=>oe(e),"aria-label":w(`detail.speed`),formatOptions:{style:`decimal`}})}),/* @__PURE__ */ Y(Oc,{children:cc(sc(ae))})]})]}),/* @__PURE__ */ X(`button`,{onClick:()=>{g(Se,w(`detail.copied`,{label:x(k)})),h(V.id,`copied`)},className:`h-8 border-0 rounded-[calc(var(--radius)_-_2px)] bg-[var(--accent)] text-[var(--accent-fg)] text-[12.5px] font-semibold cursor-pointer`,children:[w(`common.copy`),` `,x(k)]}),/* @__PURE__ */ X(`div`,{className:`flex gap-1.5`,children:[/* @__PURE__ */ Y(ti,{label:w(`detail.download`),trigger:/* @__PURE__ */ X(`button`,{className:`flex-1 h-[30px] flex items-center justify-center gap-[5px] border border-[var(--border)] rounded-[calc(var(--radius)_-_2px)] bg-[var(--bg)] text-[var(--fg)] text-[12px] cursor-pointer`,children:[w(`detail.download`),` `,/* @__PURE__ */ Y(H,{name:`chevron-down`,size:9,color:`var(--muted-fg)`})]}),items:[{id:`svg`,label:`SVG`,onAction:()=>je()},{id:`css-mask`,label:w(`detail.cssMask`),onAction:()=>Ne()},{id:`data-uri`,label:w(`detail.copyDataUri`),onAction:()=>Pe()}]}),/* @__PURE__ */ Y(`button`,{onClick:()=>u(V.id),style:{flex:1,height:30,border:`1px solid ${Ce?`var(--accent)`:`var(--border)`}`,borderRadius:`calc(var(--radius) - 2px)`,backgroundColor:Ce?`var(--accent-soft)`:`var(--bg)`,color:Ce?`var(--color-text-brand-secondary)`:`var(--fg)`,fontSize:12,cursor:`pointer`},children:w(Ce?`common.favorited`:`common.favorite`)})]})]}),/* @__PURE__ */ X(`div`,{className:`flex flex-col gap-2.5 min-w-0`,children:[/* @__PURE__ */ Y(Zt,{locale:A,children:/* @__PURE__ */ X(Cc,{selectedKey:ee,onSelectionChange:e=>D(e),keyboardActivation:`automatic`,className:`gap-2.5`,children:[/* @__PURE__ */ Y(Cc.List,{type:`button-border`,size:`sm`,"aria-label":w(`detail.snippetFormat`),className:wc,children:O.map(e=>/* @__PURE__ */ Y(Cc.Item,{id:e.id,className:Tc,children:x(e)},e.id))}),O.map(e=>/* @__PURE__ */ Y(Cc.Panel,{id:e.id,children:/* @__PURE__ */ Y(Us,{title:`ichava — ${x(e)}`,code:Se,onCopy:()=>g(Se,w(`detail.copied`,{label:x(e)}))})},e.id))]})}),Te&&R.custom&&/* @__PURE__ */ X(`div`,{className:`flex flex-col gap-[5px]`,children:[/* @__PURE__ */ Y(`textarea`,{value:le,onChange:e=>ue(e.target.value),spellCheck:!1,placeholder:`[ { "transform": "rotate(0deg)" }, { "transform": "rotate(360deg)" } ]`,"aria-label":w(`detail.keyframesAria`),style:{width:`100%`,height:120,resize:`vertical`,padding:10,border:`1px solid ${he?`var(--console-border)`:`var(--danger)`}`,borderRadius:`calc(var(--radius) - 2px)`,background:`var(--console-bg)`,color:`var(--console-fg)`,fontFamily:`'Geist Mono',monospace`,fontSize:11,lineHeight:1.6}}),/* @__PURE__ */ Y(`span`,{style:{fontSize:10,color:he?`var(--muted-fg)`:`var(--danger)`},children:he?w(`detail.keyframesValid`,{n:he.length}):w(`detail.keyframesInvalid`)})]}),xe.length>0&&/* @__PURE__ */ X(`div`,{className:`flex flex-col gap-[5px]`,children:[/* @__PURE__ */ Y(`span`,{className:`text-[11px] font-semibold text-[var(--muted-fg)]`,children:w(`detail.related`)}),/* @__PURE__ */ Y(`div`,{className:`flex gap-[5px]`,children:xe.map(e=>/* @__PURE__ */ Y(`button`,{onClick:()=>s(e.id),title:e.name,className:`w-[38px] h-[38px] flex-none flex items-center justify-center border border-[var(--border)] rounded-[calc(var(--radius)_-_2px)] bg-[var(--card)] cursor-pointer`,children:/* @__PURE__ */ Y(c,{icon:e,size:20})},e.id))})]}),(V.tags.length>0||V.keywords.length>0)&&/* @__PURE__ */ X(`div`,{className:`flex flex-col gap-[5px]`,children:[/* @__PURE__ */ Y(`span`,{className:`text-[11px] font-semibold text-[var(--muted-fg)]`,children:w(`detail.tags`)}),/* @__PURE__ */ X(`div`,{className:`flex flex-wrap gap-1`,children:[V.tags.map(t=>/* @__PURE__ */ X(`button`,{onClick:()=>{e.getState().toggleTag(t),i()},title:w(`toolbar.filterByTag`,{tag:t}),className:`h-[22px] px-2 rounded-[6px] border border-dashed border-[var(--border)] bg-transparent text-[11px] text-[var(--fg)] cursor-pointer hover:border-[var(--accent)] hover:text-[var(--accent-text)]`,children:[`#`,t]},`t-${t}`)),V.keywords.map(t=>/* @__PURE__ */ Y(`button`,{onClick:()=>{e.getState().toggleKeyword(t),i()},title:w(`toolbar.filterByKeyword`,{keyword:t}),className:`h-[22px] px-2 rounded-[6px] border border-[var(--border)] bg-[var(--muted2)] text-[11px] text-[var(--muted-fg)] cursor-pointer hover:border-[var(--accent)] hover:text-[var(--accent-text)]`,children:t},`k-${t}`))]})]}),a&&/* @__PURE__ */ X(`div`,{className:`flex flex-col gap-1`,children:[/* @__PURE__ */ Y(`span`,{className:`text-[11px] font-semibold text-[var(--muted-fg)]`,children:w(`detail.addToCollection`)}),/* @__PURE__ */ X(`div`,{className:`flex flex-wrap gap-[5px]`,children:[d.map(t=>{let n=t.icons.includes(V.id);return/* @__PURE__ */ X(`button`,{"aria-pressed":n,onClick:()=>{n?m(t.id,V.id):p(t.id,V.id),e.getState().showToast(w(n?`detail.removedFrom`:`detail.addedTo`,{name:t.name}),`folder`)},style:{height:24,padding:`0 9px`,border:`1px solid ${n?`var(--accent)`:`var(--border)`}`,borderRadius:3,backgroundColor:n?`var(--accent-soft)`:`var(--bg)`,color:n?`var(--color-text-brand-secondary)`:`var(--fg)`,fontSize:11,cursor:`pointer`,display:`inline-flex`,alignItems:`center`},children:[n&&/* @__PURE__ */ Y(H,{name:`check`,size:10,color:`currentColor`,style:{marginInlineEnd:4}}),t.name]},t.id)}),/* @__PURE__ */ Y(`button`,{onClick:()=>e.getState().openLibrary(`collections`,{seed:[V.id]}),className:`h-6 py-0 px-[9px] border border-dashed border-[var(--border)] rounded-[3px] bg-transparent text-[var(--muted-fg)] text-[11px] cursor-pointer`,children:w(`detail.newCollection`)})]})]})]})]})]})}var Oc=({children:e})=>/* @__PURE__ */ Y(`span`,{className:`font-[family-name:'Geist_Mono',monospace] text-[10.5px] text-[var(--muted-fg)] min-w-12 text-right`,children:e});function kc({label:e,children:t}){return/* @__PURE__ */ X(`div`,{className:`flex items-center gap-2`,children:[/* @__PURE__ */ Y(`span`,{className:`text-[11px] font-semibold text-[var(--muted-fg)] flex-none`,children:e}),t]})}function Ac({name:e,title:t,onClick:n}){return/* @__PURE__ */ Y(Z,{content:t,children:/* @__PURE__ */ Y(`button`,{onClick:n,"aria-label":t,className:`w-[26px] h-[26px] border border-[var(--border)] bg-[var(--bg)] shadow-[var(--shadow)] rounded-[6px] cursor-pointer flex items-center justify-center text-[var(--muted-fg)]`,children:/* @__PURE__ */ Y(H,{name:e,size:12,color:`currentColor`})})})}var jc={alignSelf:`flex-start`,height:28,display:`flex`,alignItems:`center`,gap:6,padding:`0 8px`,border:`1px solid var(--border)`,borderRadius:`calc(var(--radius) - 3px)`,backgroundColor:`var(--bg)`,cursor:`pointer`,color:`var(--fg)`,fontSize:11.5};function Mc(){let e=E(e=>e.ctx),t=E(e=>e.closeCtx),n=f(),r=K(null),[i,a]=q(null),o=i&&i.for===e?i:null,{getContainer:s}=Ft();if(kt(()=>{if(!e)return;let t=r.current,n=t?.offsetWidth??210,i=t?.offsetHeight??176;a({for:e,x:Math.max(8,Math.min(e.x,window.innerWidth-n-8)),y:Math.max(8,Math.min(e.y,window.innerHeight-i-8))})},[e]),W(()=>{if(!e)return;let t=setTimeout(()=>r.current?.querySelector(`button[role="menuitem"]:not(:disabled)`)?.focus(),0);return()=>clearTimeout(t)},[e]),W(()=>{if(!e)return;let n=()=>t();return window.addEventListener(`scroll`,n,!0),window.addEventListener(`resize`,n),()=>{window.removeEventListener(`scroll`,n,!0),window.removeEventListener(`resize`,n)}},[e,t]),!e)return null;let c=()=>Array.from(r.current?.querySelectorAll(`button[role="menuitem"]:not(:disabled)`)??[]);return jt(/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(`div`,{onClick:t,onContextMenu:e=>{e.preventDefault(),t()},className:`fixed inset-0 z-88`}),/* @__PURE__ */ X(`div`,{ref:r,role:`menu`,"aria-label":e.title??n(`contextMenu.actions`),onKeyDown:e=>{let n=c(),r=n.indexOf(document.activeElement);e.key===`Escape`?(e.preventDefault(),t()):e.key===`ArrowDown`?(e.preventDefault(),n[(r+1)%n.length]?.focus()):e.key===`ArrowUp`?(e.preventDefault(),n[(r-1+n.length)%n.length]?.focus()):e.key===`Home`?(e.preventDefault(),n[0]?.focus()):e.key===`End`&&(e.preventDefault(),n[n.length-1]?.focus())},"data-region":`context-menu`,style:{position:`fixed`,top:o?.y??e.y,left:o?.x??e.x,minWidth:200,visibility:o?`visible`:`hidden`,zIndex:89,background:`var(--pop)`,border:`1px solid var(--border)`,borderRadius:`min(calc(var(--radius) + 2px), 10px)`,boxShadow:`var(--shadow-elevated)`,animation:`ichIn .1s ease`,overflow:`hidden`,fontSize:`var(--app-font, 13.5px)`},children:[e.title&&/* @__PURE__ */ Y(`div`,{className:`flex items-center gap-2 py-2 px-2.5 border-b border-b-[var(--border)]`,children:/* @__PURE__ */ Y(`span`,{className:`font-[family-name:'Geist_Mono',monospace] text-[12px] font-semibold`,children:e.title})}),/* @__PURE__ */ Y(`div`,{className:`p-1 flex flex-col`,children:e.items.map((e,n)=>e.divider?/* @__PURE__ */ Y(`div`,{role:`separator`,className:`h-[1px] bg-[var(--border)] my-1 mx-1.5`},`d-${n}`):/* @__PURE__ */ X(`button`,{role:`menuitem`,disabled:e.disabled,onClick:()=>{e.run?.(),t()},style:{display:`flex`,alignItems:`center`,gap:9,height:30,padding:`0 8px`,border:`none`,backgroundColor:`transparent`,borderRadius:6,cursor:e.disabled?`default`:`pointer`,color:e.disabled?`var(--faint-fg)`:e.danger?`var(--danger)`:`var(--fg)`,fontSize:12.5,textAlign:`start`,opacity:e.disabled?.6:1},onMouseEnter:t=>!e.disabled&&(t.currentTarget.style.background=e.danger?`var(--danger-soft)`:`var(--muted)`),onMouseLeave:e=>e.currentTarget.style.background=`transparent`,onFocus:t=>!e.disabled&&(t.currentTarget.style.background=e.danger?`var(--danger-soft)`:`var(--muted)`),onBlur:e=>e.currentTarget.style.background=`transparent`,children:[e.icon&&/* @__PURE__ */ Y(H,{name:e.icon,size:14,color:e.danger?`var(--danger)`:`var(--muted-fg)`}),/* @__PURE__ */ Y(`span`,{className:`flex-1`,children:e.label}),e.kbd&&/* @__PURE__ */ Y(`kbd`,{className:`font-[family-name:'Geist_Mono',monospace] text-[10px] py-[1px] px-[5px] border border-[var(--border)] rounded-[4px] text-[var(--muted-fg)]`,children:e.kbd})]},`${e.label}-${n}`))})]})]}),s?.()??document.body)}var Nc=({icon:e,title:t,description:n,align:r=`start`,className:i})=>/* @__PURE__ */ X(`div`,{className:U(`flex flex-col gap-4 px-4 pt-5 sm:px-6 sm:pt-6`,r===`center`&&`items-center text-center`,i),children:[e,/* @__PURE__ */ X(`div`,{className:U(`flex flex-col gap-0.5`,r===`center`&&`items-center`),children:[/* @__PURE__ */ Y(Xt,{slot:`title`,className:`text-md font-semibold text-primary`,children:t}),n&&/* @__PURE__ */ Y(`div`,{className:`text-sm text-tertiary`,children:n})]})]}),Pc=({children:e,className:t})=>/* @__PURE__ */ Y(`div`,{className:U(`flex flex-col gap-4 px-4 pt-5 sm:px-6`,t),children:e}),Fc=({children:e,layout:t=`stack`,className:n})=>/* @__PURE__ */ Y(`div`,{className:U(`flex gap-3 p-4 pt-6 sm:px-6 sm:pt-8 sm:pb-6`,t===`stack`&&`flex-col *:grow`,t===`row`&&`flex-col-reverse sm:flex-row sm:items-center sm:justify-end`,t===`grid`&&`flex-col-reverse *:grow sm:grid sm:grid-cols-2`,n),children:e});function Ic(){let e=E(e=>e.confirm),t=E(e=>e.closeConfirm),n=f();if(!e)return null;let{title:r,body:i,confirmLabel:a,cancelLabel:o=n(`common.cancel`),danger:s,onConfirm:c}=e;return/* @__PURE__ */ X(zs,{onClose:t,width:400,label:r,children:[/* @__PURE__ */ Y(Nc,{icon:/* @__PURE__ */ Y(et,{color:s?`error`:`brand`,size:`md`,theme:`modern`,icon:$e(`alert-circle`)}),title:r,description:i}),/* @__PURE__ */ X(Fc,{layout:`grid`,children:[/* @__PURE__ */ Y(fi,{color:`secondary`,size:`md`,onClick:t,children:o}),/* @__PURE__ */ Y(fi,{color:s?`primary-destructive`:`primary`,size:`md`,onClick:()=>{c(),t()},children:a})]})]})}var Lc=e=>/* @__PURE__ */ Y(qt,{...e});Lc.displayName=`Form`;function Rc(){let e=Ae(),t=E(e=>e.authView),n=E(e=>e.closeAuth),r=E(e=>e.signIn),i=E(e=>e.createAccount),a=E(e=>e.config?.brand.name??`Ichava`);return t===`create`?/* @__PURE__ */ Y(Vc,{brand:a,onClose:n,onCreate:i}):t===`signin`?/* @__PURE__ */ Y(Bc,{brand:a,onClose:n,onSignIn:r,onCreate:()=>e.getState().openAuth(`create`)}):null}function zc({brand:e}){return/* @__PURE__ */ Y(`div`,{className:`w-10 h-10 rounded-[10px] bg-[var(--accent)] flex items-center justify-center shadow-[var(--shadow-elevated)]`,title:e,children:/* @__PURE__ */ Y(H,{name:`layers`,size:24,color:`var(--accent-fg)`})})}function Bc({brand:e,onClose:t,onSignIn:n,onCreate:r}){let i=E(e=>e.authReason),a=f(),[o,s]=q(`email`),[c,l]=q(``),[u,d]=q([``,``,``,``,``,``]),[p,m]=q(0),[h,g]=q(!1),_=K([]),v=Ot();W(()=>{if(o!==`code`||p<=0)return;let e=setInterval(()=>m(e=>Math.max(0,e-1)),1e3);return()=>clearInterval(e)},[o,p]);let y=()=>{/.+@.+\..+/.test(c)&&(s(`code`),m(21),setTimeout(()=>_.current[0]?.focus(),30))},b=(e,t)=>{let n=t.replace(/\D/g,``).slice(-1);g(!1),d(t=>t.map((t,r)=>r===e?n:t)),n&&e<5&&_.current[e+1]?.focus()},x=(e,t)=>{t.key===`Backspace`&&!u[e]&&e>0&&_.current[e-1]?.focus()};return/* @__PURE__ */ Y(zs,{onClose:t,width:400,label:a(`common.signIn`),children:o===`email`?/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(Nc,{align:`center`,icon:/* @__PURE__ */ Y(zc,{brand:e}),title:a(`auth.signInTo`,{brand:e}),description:/* @__PURE__ */ X(J,{children:[i?/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(`b`,{children:i}),` `,a(`auth.needsAccount`),` `]}):null,a(`auth.emailCode`)]})}),/* @__PURE__ */ Y(Pc,{children:/* @__PURE__ */ Y(Lc,{id:v,onSubmit:e=>{e.preventDefault(),y()},className:`flex flex-col gap-4`,children:/* @__PURE__ */ Y(cr,{autoFocus:!0,isRequired:!0,type:`email`,value:c,onChange:l,placeholder:a(`auth.emailPlaceholder`),"aria-label":a(`auth.emailPlaceholder`)})})}),/* @__PURE__ */ X(Fc,{children:[/* @__PURE__ */ Y(fi,{type:`submit`,form:v,color:`primary`,size:`md`,children:a(`auth.sendCode`)}),/* @__PURE__ */ X(`div`,{className:`flex items-center justify-center gap-1 text-sm text-tertiary`,children:[a(`auth.newHere`),/* @__PURE__ */ Y(fi,{color:`link-color`,size:`md`,onClick:r,children:a(`auth.createAccount`)})]})]})]}):/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(Nc,{align:`center`,icon:/* @__PURE__ */ Y(zc,{brand:e}),title:a(`auth.enterCode`),description:/* @__PURE__ */ X(J,{children:[a(`auth.sentTo`),` `,/* @__PURE__ */ Y(`b`,{className:`text-primary`,children:c}),/* @__PURE__ */ Y(`span`,{className:`mt-1 block text-xs text-[var(--muted-fg)]`,children:a(`auth.demoHint`)})]})}),/* @__PURE__ */ X(Pc,{className:`items-center`,children:[/* @__PURE__ */ Y(`div`,{className:`flex gap-2`,onPaste:e=>{let t=e.clipboardData.getData(`text`).replace(/\D/g,``).slice(0,6);t.length&&(e.preventDefault(),d(e=>e.map((e,n)=>t[n]??``)),_.current[Math.min(5,t.length)]?.focus())},children:u.map((e,t)=>/* @__PURE__ */ Y(`input`,{ref:e=>{_.current[t]=e},value:e,onChange:e=>b(t,e.target.value),onKeyDown:e=>x(t,e),inputMode:`numeric`,"aria-label":a(`auth.digit`,{n:t+1}),"aria-invalid":h||void 0,className:`h-14 w-12 rounded-lg bg-primary text-center text-2xl font-semibold text-primary shadow-xs ring-1 ring-inset outline-focus-ring focus:ring-2 focus:ring-brand ${h?`ring-error_subtle`:`ring-primary`}`},t))}),h&&/* @__PURE__ */ Y(`div`,{role:`alert`,className:`text-sm text-error-primary`,children:a(`auth.codeFailed`)})]}),/* @__PURE__ */ X(Fc,{children:[/* @__PURE__ */ Y(fi,{color:`primary`,size:`md`,onClick:()=>{let e=u.join(``);e.length<6||n(c,e)||(g(!0),d([``,``,``,``,``,``]),_.current[0]?.focus())},children:a(`auth.verify`)}),/* @__PURE__ */ X(`div`,{className:`flex items-center justify-center gap-4 text-sm text-tertiary`,children:[/* @__PURE__ */ Y(fi,{color:`link-color`,size:`md`,onClick:()=>s(`email`),children:a(`auth.changeEmail`)}),/* @__PURE__ */ Y(`span`,{children:p>0?a(`auth.resendIn`,{n:p}):/* @__PURE__ */ Y(fi,{color:`link-color`,size:`md`,onClick:()=>m(21),children:a(`auth.resendCode`)})})]})]})]})})}function Vc({brand:e,onClose:t,onCreate:n}){let r=Ae(),[i,a]=q(``),[o,s]=q(``),[c,l]=q(``),[u,d]=q(``),p=f(),m=i.trim()&&/.+@.+\..+/.test(c)&&u.length>=8,h=Ot();return/* @__PURE__ */ X(zs,{onClose:t,width:400,label:p(`auth.createAccount`),children:[/* @__PURE__ */ Y(Nc,{align:`center`,icon:/* @__PURE__ */ Y(zc,{brand:e}),title:p(`auth.createTitle`),description:p(`auth.createBlurb`)}),/* @__PURE__ */ Y(Pc,{children:/* @__PURE__ */ X(Lc,{id:h,onSubmit:e=>{e.preventDefault(),m&&n({first:i,last:o,email:c})},className:`flex flex-col gap-4`,children:[/* @__PURE__ */ X(`div`,{className:`flex w-full gap-3`,children:[/* @__PURE__ */ Y(cr,{autoFocus:!0,isRequired:!0,value:i,onChange:a,placeholder:p(`auth.firstName`),"aria-label":p(`auth.firstName`)}),/* @__PURE__ */ Y(cr,{value:o,onChange:s,placeholder:p(`auth.lastName`),"aria-label":p(`auth.lastName`)})]}),/* @__PURE__ */ Y(cr,{isRequired:!0,type:`email`,value:c,onChange:l,placeholder:p(`auth.emailPlaceholder`),"aria-label":p(`auth.emailPlaceholder`)}),/* @__PURE__ */ Y(cr,{isRequired:!0,type:`password`,value:u,onChange:d,placeholder:p(`auth.passwordPlaceholder`),"aria-label":p(`auth.passwordPlaceholder`),passwordToggleLabel:p(`auth.togglePassword`)})]})}),/* @__PURE__ */ X(Fc,{children:[/* @__PURE__ */ Y(fi,{type:`submit`,form:h,color:`primary`,size:`md`,isDisabled:!m,children:p(`auth.createAccount`)}),/* @__PURE__ */ X(`div`,{className:`flex items-center justify-center gap-1 text-sm text-tertiary`,children:[p(`auth.haveAccount`),/* @__PURE__ */ Y(fi,{color:`link-color`,size:`md`,onClick:()=>r.getState().openAuth(`signin`),children:p(`common.signIn`)})]})]})]})}var Hc=({icon:e,title:t,body:n,actions:r,handle:i,className:a,...o})=>{let s=Ot();return/* @__PURE__ */ X(`div`,{"aria-describedby":n?s:void 0,...o,className:U(`flex flex-col gap-4 rounded-xl bg-secondary p-4 text-start shadow-lg ring-1 ring-secondary_alt`,a),children:[i,/* @__PURE__ */ X(`div`,{className:`flex gap-3`,children:[e&&/* @__PURE__ */ Y(e,{"aria-hidden":!0,className:`size-5 shrink-0 text-fg-brand-primary_alt`}),/* @__PURE__ */ X(`div`,{className:`flex flex-col gap-1`,children:[/* @__PURE__ */ Y(`p`,{className:`text-sm font-semibold text-secondary`,children:t}),n&&/* @__PURE__ */ Y(`p`,{id:s,className:`text-sm text-tertiary`,children:n})]})]}),/* @__PURE__ */ Y(`div`,{className:`flex justify-end gap-3`,children:r})]})},Uc={x:0,y:0};function Wc(e,t,n,r=8){let i=r-t.left,a=n.width-r-t.right,o=r-t.top,s=n.height-r-t.bottom;return i>a||o>s?null:{x:Math.min(a,Math.max(i,e.x)),y:Math.min(s,Math.max(o,e.y))}}function Gc(e){try{let t=window.sessionStorage.getItem(e);if(!t)return null;let n=JSON.parse(t);if(n&&typeof n==`object`&&Number.isFinite(n.x)&&Number.isFinite(n.y))return{x:n.x,y:n.y}}catch{}return null}function Kc(e,t){try{t===null||t.x===0&&t.y===0?window.sessionStorage.removeItem(e):window.sessionStorage.setItem(e,JSON.stringify({x:Math.round(t.x),y:Math.round(t.y)}))}catch{}}var qc={ArrowLeft:[-1,0],ArrowRight:[1,0],ArrowUp:[0,-1],ArrowDown:[0,1]};function Jc(e,t,n){if(!e)return n;let r=e.getBoundingClientRect();return r.width===0&&r.height===0?n:Wc(n,{left:r.left-t.x,top:r.top-t.y,right:r.right-t.x,bottom:r.bottom-t.y},{width:window.innerWidth,height:window.innerHeight})??Uc}function Yc(e,t){let[n,r]=q(()=>Gc(t)??Uc),[i,a]=q(!1),o=K(n),s=K(null),c=e=>{o.current=e,r(e)},l=()=>{c(Uc),Kc(t,null)};kt(()=>{let n=()=>{let n=Jc(e.current,o.current,o.current);(n.x!==o.current.x||n.y!==o.current.y)&&(o.current=n,r(n),Kc(t,n))};return n(),window.addEventListener(`resize`,n),()=>window.removeEventListener(`resize`,n)},[e,t]);let u=e=>{if(e.button===0){e.preventDefault();try{e.currentTarget.setPointerCapture(e.pointerId)}catch{}s.current={id:e.pointerId,x:e.clientX,y:e.clientY,from:o.current},a(!0)}},d=t=>{let n=s.current;n&&n.id===t.pointerId&&c(Jc(e.current,o.current,{x:n.from.x+t.clientX-n.x,y:n.from.y+t.clientY-n.y}))},f=e=>{let n=s.current;if(n&&n.id===e.pointerId){s.current=null,a(!1);try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}Kc(t,o.current)}};return{offset:n,dragging:i,reset:l,handleProps:{onPointerDown:u,onPointerMove:d,onPointerUp:f,onPointerCancel:f,onKeyDown:n=>{if(n.key===`Home`){n.preventDefault(),l();return}let r=qc[n.key];if(!r)return;n.preventDefault();let i=n.shiftKey?64:16,a=Jc(e.current,o.current,{x:o.current.x+r[0]*i,y:o.current.y+r[1]*i});c(a),Kc(t,a)}},style:n.x===0&&n.y===0?void 0:{translate:`${n.x}px ${n.y}px`}}}function Xc(){let e=E(e=>e.setConsent),t=E(e=>e.config?.storageKeys.consent)??g.storageKeys.consent??`ichava.consent`,n=f(),r=K(null),i=Ot(),{dragging:a,handleProps:o,style:s}=Yc(r,`${t}.position`);return/* @__PURE__ */ Y(Hc,{ref:r,role:`dialog`,"aria-label":n(`consent.ariaLabel`),icon:Ee,title:n(`consent.title`),body:n(`consent.body`),style:s,className:U(`fixed start-4 bottom-4 z-70 w-[360px] max-w-[calc(100vw_-_32px)] [animation:ichRise_.2s_ease]`,!a&&`transition-[translate] duration-100 ease-out motion-reduce:transition-none`,a&&`select-none`),handle:/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(`button`,{type:`button`,"aria-label":n(`consent.move`),"aria-describedby":i,"data-consent-handle":``,...o,className:U(`-mx-2 -mt-2 -mb-3 flex h-4 items-center justify-center rounded-md text-fg-quaternary touch-none`,`hover:text-fg-quaternary_hover focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-[var(--accent)]`,a?`cursor-grabbing`:`cursor-grab`),children:/* @__PURE__ */ Y(_e,{className:`size-4`})}),/* @__PURE__ */ Y(`span`,{id:i,className:`sr-only`,children:n(`consent.moveHint`)})]}),actions:/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(fi,{color:`secondary`,size:`sm`,onClick:()=>e(`essential`),children:n(`consent.essentialOnly`)}),/* @__PURE__ */ Y(fi,{size:`sm`,onClick:()=>e(`all`),children:n(`consent.acceptAll`)})]})})}function Zc(e){let t=Ae(),[n]=q(()=>Symbol(`ichava.consent.notice`));W(()=>S(e=>{t.getState().consent!==e&&t.setState({consent:e})}),[t]),W(()=>e?Ve(n):void 0,[e,n]);let r=At(P,()=>m(n),()=>m(n));return e&&r}var Qc=Ct(null);function $c(){return Dt(Qc)??xe}var el=0;function tl(){let e=`ichava-${++el}`;return{id:e,logger:xe.child(e)}}var nl=`ichava-prepaint`;function rl({immediate:e=!1}={}){if(typeof document>`u`)return;let t=document.getElementById(nl);t&&!t.hasAttribute(`data-leaving`)&&(t.setAttribute(`data-leaving`,``),t.removeAttribute(`data-slow`),e?t.remove():setTimeout(()=>t.remove(),220))}function il(e,t,n){try{return{name:e,pass:t(),detail:n}}catch(t){return{name:e,pass:!1,detail:t instanceof Error?t.message:String(t)}}}function al(e,t,n){let r=[],i=e?new ct(e):null,a=e?.icons[0];return r.push(il(`catalog loaded with icons`,()=>!!e&&e.icons.length>0)),r.push(il(`repository paginates within perPage`,()=>{if(!i)return!1;let e=i.page({search:``,packages:[],categories:[],variants:[],page:1,perPage:60,sortBy:`name`,sortDirection:`asc`});return e.items.length<=60&&e.total>=e.items.length})),r.push(il(`byId round-trips a known icon`,()=>!i||!a?!1:i.byId(a.id)?.name===a.name)),r.push(il(`package filter narrows results`,()=>!i||!a?!1:i.page({search:``,packages:[a.package],categories:[],variants:[],page:1,perPage:120,sortBy:`name`,sortDirection:`asc`}).items.every(e=>e.package===a.package))),r.push(il(`snippet: name format yields the Laravel icon path`,()=>a?dt.build(`name`,a,{size:24,unit:`px`,color:null})===_t(a):!1)),r.push(il(`snippet: react snippet is a component that forwards its props`,()=>{if(!a)return!1;let e=dt.build(`react`,a,{size:24,unit:`px`,color:null});return e.includes(`export function`)&&e.includes(`{...props}`)})),r.push(il(`treatment: duotone uses the accent token`,()=>{let e=at(`mask://x`,26,`#000`,`duotone`);return JSON.stringify(e).includes(`--accent`)})),r.push(il(`config: features flags present`,()=>!!t&&typeof t.features.devtools==`boolean`)),r.push(il(`config: seo drives the document title when the app owns it`,()=>!t||typeof t.seo.title!=`string`?!1:document.documentElement.style.getPropertyValue(`--accent`)===``||document.title===t.seo.title)),r.push(il(`store: favorites & collections are arrays`,()=>{let e=n.getState();return Array.isArray(e.favorites)&&Array.isArray(e.collections)})),r.push(il(`store: active workspace resolvable`,()=>{let e=n.getState();return!t||t.user.workspaces.length===0||!!e.activeWorkspaceId})),r}function ol(e,t,n){let r=!1,i=t=>{r=!0;try{e.setState(t)}finally{r=!1}},a=()=>t.load().then(e=>{i({favorites:e.favorites,collections:e.collections,history:e.history,recentCommands:e.recentCommands}),n?.emit(`storage`,`library.hydrate`,{favorites:e.favorites.length,collections:e.collections.length})}),o=a().catch(e=>{n?.emit(`storage`,`library.load-failed`,{error:String(e)})}),s=o;return{stop:e.subscribe((e,s)=>{if(!r)for(let r of ge(s,e))o=o.then(()=>t.apply(r)).then(e=>{e&&i(t=>({collections:t.collections.map(t=>t.id===e.from?{...t,id:e.to}:t)}))}).catch(e=>(n?.emit(`storage`,`library.sync-failed`,{op:r.kind,error:String(e)}),a().catch(()=>{})))}),ready:s,idle:()=>o}}var sl=e=>({view:e.view,size:e.size,perPage:e.filters.perPage,sortBy:e.filters.sortBy,sortOrder:e.filters.sortOrder}),cl=(e,t)=>e.view===t.view&&e.size===t.size&&e.perPage===t.perPage&&e.sortBy===t.sortBy&&e.sortOrder===t.sortOrder;function ll(e,t,n=600){let r=!1,i=null,a=Promise.resolve(),o=t.load().then(t=>{r=!0;try{e.setState(e=>({...t.view?{view:t.view}:{},...t.size?{size:t.size}:{},filters:{...e.filters,...t.perPage?{perPage:t.perPage}:{},...t.sortBy?{sortBy:t.sortBy}:{},...t.sortOrder?{sortOrder:t.sortOrder}:{}}}))}finally{r=!1}}).catch(()=>{}),s=()=>{i=null,a=a.then(()=>t.save(sl(e.getState()))).catch(()=>{})},c=e.subscribe((e,t)=>{r||cl(sl(e),sl(t))||(i&&clearTimeout(i),i=setTimeout(s,n))});return{stop:()=>{i&&clearTimeout(i),c()},ready:o,flush:()=>(i&&(clearTimeout(i),s()),a)}}var ul=g.ui.baseFontSize;function dl(e,t){kt(()=>{t&&ne(t)&&e.getState().locale!==t&&e.setState({locale:t})},[t,e])}function fl(e,t,{catalog:n,config:r,manageDocument:i}){W(()=>{n?(e.getState().setCatalog(n),e.getState().setFiltersData(new ct(n).filters()),t.info(`app`,`catalog mounted`,{icons:n.icons.length})):(e.setState({loading:!1}),t.info(`app`,`REST client mounted`)),r&&e.getState().setConfig(r),t.configure(r),tt(r?.limits),i&&xe.configure(r),r?.features?.demo&&e.getState().seedDemoNotifications(),e.getState().tourSeen||e.getState().startTour()},[n,r,e,t,i])}function pl(e,t,n){W(()=>{if(!p(n))return;let r=window,i=t.source,a={id:i,store:e,config:n,runRegression:()=>al(e.getState().catalog,e.getState().config,e),logs:()=>t.buffer(),setLogLevel:e=>t.setLevel(e)};return r.ichava={...a,mounts:{...r.ichava?.mounts,[i]:a}},()=>{let{[i]:e,...t}=r.ichava?.mounts??{},n=Object.values(t).at(-1);n?r.ichava={...r.ichava?.id===i?n:r.ichava,mounts:t}:delete r.ichava}},[n,e,t])}function ml({manageDocument:e,theme:t,vars:n,density:r,reduceMotion:i,scale:a}){W(()=>{if(!e)return;let o=document.documentElement,s=o.classList.contains(`dark-mode`);o.classList.toggle(`dark-mode`,t===`dark`);for(let[e,t]of Object.entries(n))o.style.setProperty(e,t);return o.style.setProperty(`--app-font`,`${ul}px`),o.style.setProperty(`font-size`,`${16*(wi[a]||1)}px`),o.setAttribute(`data-density`,r),o.toggleAttribute(`data-reduce-motion`,i),()=>{o.classList.toggle(`dark-mode`,s),o.style.removeProperty(`font-size`);for(let e of[...x,`--app-font`])o.style.removeProperty(e);o.removeAttribute(`data-density`),o.removeAttribute(`data-reduce-motion`)}},[e,t,n,r,i,a])}function hl(e,t){W(()=>{if(!e)return;let n=document.documentElement,r=n.getAttribute(`lang`),i=n.getAttribute(`dir`);return n.setAttribute(`lang`,t),n.setAttribute(`dir`,j(t)),()=>{r===null?n.removeAttribute(`lang`):n.setAttribute(`lang`,r),i===null?n.removeAttribute(`dir`):n.setAttribute(`dir`,i)}},[e,t])}function gl(e,t){W(()=>{let n=e?.i18n?.endpoint;if(!n)return;let r=!0;return fetch(n).then(e=>e.ok?e.json():null).then(e=>{r&&e&&t.getState().addTranslations(e)}).catch(()=>{}),()=>{r=!1}},[e,t])}function _l({manageDocument:e,config:t,locale:n,translationOverrides:r}){W(()=>{if(!e)return;let i=t?.seo??g.seo,a=document.title,o=i?.title===g.seo.title?C({locale:n,translationOverrides:r},`app.documentTitle`):i?.title;o&&(document.title=o);let s=!1,c=null,l=null;return i?.description&&(c=document.head.querySelector(`meta[name="description"]`),c?l=c.getAttribute(`content`):(c=document.createElement(`meta`),c.setAttribute(`name`,`description`),document.head.appendChild(c),s=!0),c.setAttribute(`content`,i.description)),()=>{document.title=a,c&&(s?c.remove():l===null?c.removeAttribute(`content`):c.setAttribute(`content`,l))}},[e,t,n,r])}function vl(e,t){W(()=>{if(typeof window>`u`)return;let e=requestAnimationFrame(()=>window.dispatchEvent(new Event(`resize`)));return()=>cancelAnimationFrame(e)},[e,t])}function yl(){W(()=>rl(),[])}function bl(e,t,n){let r=t?.host??null;W(()=>{if(!r||r.source!==`rest`)return;let t=we(r);if(!t)return;let i=n instanceof a?n.transport:O(),o=ol(e,new pe(t,i),L(e)),s=t.preferences?{show:t.preferences,update:De(r,`preferences.update`),reset:De(r,`preferences.reset`)}:null,c=s?ll(e,Kn.withEndpoints(s,i)):null;return()=>{o.stop(),c?.stop()}},[r,n,e])}function xl(){W(()=>()=>fc(),[])}var Sl=Tt(()=>import(`./CommandPalette-CeLqONKy.js`).then(e=>({default:e.CommandPalette}))),Cl=Tt(()=>import(`./LibraryDialog-BI-n9Q34.js`).then(e=>({default:e.LibraryDialog}))),wl=Tt(()=>import(`./SettingsDialog-BDvBI59-.js`).then(e=>({default:e.SettingsDialog}))),Tl=Tt(()=>import(`./AboutDialog-3ajb2X6F.js`).then(e=>({default:e.AboutDialog}))),El=Tt(()=>import(`./ProfileModal-BLtyRn5O.js`).then(e=>({default:e.ProfileModal}))),Dl=Tt(()=>import(`./TourModal-DUnXa682.js`).then(e=>({default:e.TourModal}))),Ol=Tt(()=>import(`./InviteModal-rzJXh-JT.js`).then(e=>({default:e.InviteModal}))),kl=Tt(()=>import(`./ManageAccessModal-DWXbmvPr.js`).then(e=>({default:e.ManageAccessModal}))),Al=Tt(()=>import(`./SharedCollectionsModal-fAi7Feba.js`).then(e=>({default:e.SharedCollectionsModal}))),jl=Tt(()=>import(`./DevToolsPanel-CbR2FqMo.js`).then(e=>({default:e.DevToolsPanel})));function Ml({catalog:e,client:t,config:n=null,manageDocument:r=!1,syncUrl:i=!1,urlPrefix:a=``,store:o,locale:s}){if(e==null==(t==null))throw Error("IchavaBrowser: pass exactly one of `catalog` (static) or `client` (REST/custom).");return/* @__PURE__ */ Y(Nl,{catalog:e,client:t,config:n,manageDocument:r,syncUrl:i,urlPrefix:a,store:o,locale:s})}function Nl({catalog:e,client:t,config:n=null,manageDocument:i=!1,syncUrl:o=!1,urlPrefix:s=``,store:c,locale:l}){let u=n?.host?.api??null,d=G(()=>t instanceof a&&u&&!t.endpoints?t.withEndpoints(u.endpoints):t??null,[t,u]);return/* @__PURE__ */ Y(b,{value:c??null,children:/* @__PURE__ */ Y(r,{value:d,children:/* @__PURE__ */ Y(Pl,{catalog:e??null,config:n,manageDocument:i,syncUrl:o,urlPrefix:s,locale:l})})})}function Pl({catalog:t,config:n,manageDocument:r,syncUrl:i,urlPrefix:a,locale:o}){let s=Ae(),{logger:c}=G(()=>tl(),[]);xl(),dl(s,o);let l=E(e=>e.theme),u=E(e=>e.accent),d=E(e=>e.radius),f=E(e=>e.scale),m=E(e=>e.density),h=E(e=>e.locale),_=be(h),v=E(e=>e.translationOverrides),y=E(e=>e.layer),b=E(e=>e.auth.status===`authed`),x=E(e=>e.loading),S=E(e=>e.reduceMotion),C=E(e=>e.tour.active),w=E(e=>e.consent),T=Zc(w===null),O=E(e=>e.inviteOpen),ee=E(e=>e.accessCollectionId),k=E(e=>e.sharedOpen),A=E(e=>e.devtools.open),M=p(n),N=K(null),te=K(null);Yn({manageDocument:r,rootRef:N,overlayRef:te}),yl(),er({enabled:i,prefix:a});let ne=G(()=>({enabled:i,prefix:a}),[i,a]),P=G(()=>D(u,l,{surfaces:[...re[l]]}),[u,l]),F=G(()=>je(u,P,l,d),[u,P,l,d]);fl(s,c,{catalog:t,config:n,manageDocument:r}),bl(s,n,e()),pl(s,c,n),ml({manageDocument:r,theme:l,vars:F,density:m,reduceMotion:S,scale:f}),hl(r,h),gl(n,s),_l({manageDocument:r,config:n,locale:h,translationOverrides:v}),vl(f,m);let I=n?.brand??g.brand,L=`${I.name} ${I.suffix}`.trim(),R=G(()=>{let e=wi[f]||1;return{height:`100%`,display:`flex`,flexDirection:`column`,background:`var(--bg)`,color:`var(--fg)`,overflow:`hidden`,"--spacing":`${.25*e}rem`,"--ich-rem":`${16*e}px`,fontSize:`${ul*e}px`,"--app-font":`${ul*e}px`,...F}},[F,f]),[z,B]=q(null),ie=Et(e=>{te.current=e,B(e)},[]),ae=Et(()=>z,[z]),oe=G(()=>{let e=r?{}:Object.fromEntries(Object.entries(R).filter(([e])=>e===`--spacing`||e===`--ich-rem`||e===`--app-font`));return{display:`contents`,color:`var(--fg)`,...F,...e}},[r,R,F]);return/* @__PURE__ */ Y(Nt,{locale:h,children:/* @__PURE__ */ X(Pt,{getContainer:z?ae:null,children:[typeof document<`u`&&jt(/* @__PURE__ */ Y(`div`,{ref:ie,className:l===`dark`?`dark-mode`:void 0,style:oe,"data-ichava-theme":``,"data-ichava-portal":``,"data-density":m,"data-reduce-motion":S?``:void 0,lang:h,dir:j(h)}),document.body),/* @__PURE__ */ Y(Qc.Provider,{value:c,children:/* @__PURE__ */ Y(Zn.Provider,{value:ne,children:/* @__PURE__ */ Y(nr.Provider,{value:N,children:/* @__PURE__ */ Y(Dr,{children:/* @__PURE__ */ Y(`div`,{ref:N,className:l===`dark`?`dark-mode`:void 0,style:R,"data-app":`ichava-browser`,"data-ichava-root":``,"data-ichava-theme":``,"data-density":m,"data-reduce-motion":S?``:void 0,lang:h,dir:j(h),children:_&&/* @__PURE__ */ X(J,{children:[/* @__PURE__ */ Y(`h1`,{className:`sr-only`,children:L}),/* @__PURE__ */ Y(Oi,{}),/* @__PURE__ */ X(`div`,{className:`ich-shell flex-1 flex min-h-0`,children:[/* @__PURE__ */ Y(ra,{}),/* @__PURE__ */ Y(ks,{loading:x})]}),y===`detail`&&/* @__PURE__ */ Y(Dc,{}),/* @__PURE__ */ X(St,{fallback:null,children:[y===`palette`&&/* @__PURE__ */ Y(Sl,{}),y===`library`&&/* @__PURE__ */ Y(Cl,{}),y===`settings`&&/* @__PURE__ */ Y(wl,{}),y===`profile`&&b&&/* @__PURE__ */ Y(El,{}),y===`about`&&/* @__PURE__ */ Y(Tl,{}),O&&/* @__PURE__ */ Y(Ol,{}),ee&&/* @__PURE__ */ Y(kl,{}),k&&/* @__PURE__ */ Y(Al,{}),C&&w!==null&&/* @__PURE__ */ Y(Dl,{}),T&&/* @__PURE__ */ Y(Xc,{}),M&&A&&/* @__PURE__ */ Y(jl,{})]}),/* @__PURE__ */ Y(Mc,{}),/* @__PURE__ */ Y(Rc,{}),/* @__PURE__ */ Y(Ic,{}),/* @__PURE__ */ Y(js,{}),/* @__PURE__ */ Y(Ns,{})]})})})})})})]})})}var Fl=class e{#e;#t;#n;constructor(e,t={}){this.#e=e,this.#t=Object.freeze({...t}),Object.seal(this)}#r(t){return new e(this.#e,{...this.#t,...t})}catalog(t){let{client:n,...r}=this.#t;return new e(this.#e,{...r,catalog:t})}rest(t){let{catalog:n,...r}=this.#t;return new e(this.#e,{...r,client:t})}config(e){return this.#r({config:e})}persist(e){return this.#r({persistKey:e})}ephemeral(){return this.#r({persistKey:null})}store(e){return this.#r({store:e})}standalone(){return this.#r({manageDocument:!0,syncUrl:!0})}embedded(){return this.#r({manageDocument:!1,syncUrl:!1})}syncUrl(e){return this.#r(e===void 0?{syncUrl:!0}:{syncUrl:!0,urlPrefix:e})}locale(e){if(!ne(e))throw RangeError(`browser(): unknown locale "${String(e)}"`);return this.#r({locale:e})}#i(){let{catalog:e,client:t}=this.#t;if(!e&&!t)throw Error(`browser(): call .catalog(catalog) or .rest(client) before mounting.`);return e?{catalog:e}:{client:t}}#a(){let{store:e,persistKey:t}=this.#t;if(e)return e;if(t!==void 0)return this.#e.createStore({persistKey:t})}toOptions(){let e=this.#t,t={...this.#i()};return e.config!==void 0&&(t.config=e.config),e.manageDocument!==void 0&&(t.manageDocument=e.manageDocument),e.syncUrl!==void 0&&(t.syncUrl=e.syncUrl),e.urlPrefix!==void 0&&(t.urlPrefix=e.urlPrefix),e.locale!==void 0&&(t.locale=e.locale),e.store?t.store=e.store:e.persistKey!==void 0&&(t.persistKey=e.persistKey),t}toProps(){let{persistKey:e,store:t,...n}=this.toOptions();return this.#n??=this.#a(),this.#n?{...n,store:this.#n}:n}mount(e){let t=this.toOptions(),n=t.store??this.#e.createStore(t.persistKey===void 0?{}:{persistKey:t.persistKey}),r=this.#e.mount(e,{...t,store:n}),i=!0,a=()=>{i&&(i=!1,r.unmount())};return{store:n,unmount:a,[Symbol.dispose]:a}}};function Il(e,t){let n=t.store??w(t.persistKey===void 0?{}:{persistKey:t.persistKey}),r=Bn(e);return r.render(/* @__PURE__ */ Y(xt,{children:/* @__PURE__ */ Y(Ml,{catalog:t.catalog,client:t.client,config:t.config??null,manageDocument:t.manageDocument,syncUrl:t.syncUrl,urlPrefix:t.urlPrefix,store:n,locale:t.locale})})),r}function Ll(){return new Fl({mount:Il,createStore:w})}export{se as ABILITIES,ht as BUILTIN_SNIPPET_FORMATS,Fl as BrowserBuilder,Zr as C,g as CONFIG_DEFAULTS,cr as D,Re as DemoIdentity,xr as E,ae as HostIdentity,I as HttpError,B as HttpTransport,Ml as IchavaBrowser,ct as IconRepository,M as LARAVEL_SANCTUM_PRESET,Jn as O,_ as PAYLOAD_SCHEMA_VERSION,d as RequestAbortedError,a as RestCatalog,pe as RestLibrary,Kn as RestPreferences,Xr as S,gt as SNIPPET_TABS,pt as SnippetFactory,s as StaticCatalog,We as SvgFidelity,Ir as T,u as TASK_LOADER_DELAY_MS,Ps as TaskLoaderView,_i as _,Fc as a,De as apiEndpoint,Ge as assetUrl,si as b,Ll as browser,wc as c,t as createCatalog,Fs as d,ge as diffLibrary,i as emptyReasonFor,Pe as endpoint,sa as f,le as featureOn,Ue as fidelity,Se as fillEndpoint,yi as g,fe as getBrowserId,hi as h,Le as hostApi,Fe as hostConfig,Te as hostConfigFromProps,de as hostFromBootstrap,V as hostFromInertia,Pc as i,_t as iconPath,nt as iconRef,ke as isCompatible,Cc as l,ee as loadAllLocales,Me as loadHostConfig,ve as loadHostContext,k as loadLocale,gi as m,Be as mergeConfig,Il as mountIchavaBrowser,$c as n,Nc as o,vi as p,Lc as r,ut as renderTemplate,te as resolveConfig,we as restLibraryEndpoints,Tc as s,mt as snippetTabs,yt as snippetTokens,dt as snippets,He as svgDataUrl,l as svgHasOwnColors,ft as svgToJsx,al as t,n as toIcon,zs as u,z as useStore,fi as v,Lr as w,oi as x,ui as y}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/is-react-component-BskCHdxR.js b/resources/vendor/react-icon-browser/is-react-component-BskCHdxR.js deleted file mode 100644 index 5d8f07d..0000000 --- a/resources/vendor/react-icon-browser/is-react-component-BskCHdxR.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -var e=e=>typeof e==`function`,t=e=>typeof e==`function`&&e.prototype&&(!!e.prototype.isReactComponent||!!e.prototype.render),n=e=>typeof e==`object`&&!!e&&e.$$typeof.toString()===`Symbol(react.forward_ref)`,r=r=>e(r)||n(r)||t(r);export{r as t}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/label-JRlP-MMU.js b/resources/vendor/react-icon-browser/label-JRlP-MMU.js deleted file mode 100644 index 70e66b8..0000000 --- a/resources/vendor/react-icon-browser/label-JRlP-MMU.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -import{g as e}from"./chromeIcons-ITgd2uHk.js";import{t}from"./cx-B63ov-ZV.js";import{n,t as r}from"./tooltip-Dya0yQP2.js";import{jsx as i,jsxs as a}from"react/jsx-runtime";import{Label as o,Text as s}from"react-aria-components";var c=({isInvalid:e,className:n,size:r=`md`,...a})=>/* @__PURE__ */ i(s,{...a,slot:e?`errorMessage`:`description`,className:t(`text-sm text-tertiary`,r===`sm`&&`text-xs`,`in-data-[input-size=sm]:text-xs`,e&&`text-error-primary`,`group-invalid:text-error-primary`,n)});c.displayName=`HintText`;var l=({isInvalid:s,isRequired:c,tooltip:l,tooltipDescription:u,className:d,...f})=>/* @__PURE__ */ a(o,{"data-label":`true`,...f,className:t(`flex cursor-default items-center gap-0.5 text-sm font-medium text-secondary`,d),children:[f.children,/* @__PURE__ */ i(`span`,{className:t(`hidden text-brand-tertiary`,c&&`block`,c===void 0&&`group-required:block`,s&&`text-error-primary`,s===void 0&&`group-invalid:text-error-primary`),children:`*`}),l&&/* @__PURE__ */ i(r,{title:l,description:u,placement:`top`,children:/* @__PURE__ */ i(n,{isDisabled:!1,className:`cursor-pointer text-fg-quaternary transition duration-200 hover:text-fg-quaternary_hover focus:text-fg-quaternary_hover`,children:/* @__PURE__ */ i(e,{className:`size-4`})})})]});l.displayName=`Label`;export{c as n,l as t}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/package.json b/resources/vendor/react-icon-browser/package.json deleted file mode 100644 index d3b1b5d..0000000 --- a/resources/vendor/react-icon-browser/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "@ichava/react-icon-browser", - "version": "0.1.0", - "private": true, - "license": "UNLICENSED", - "type": "module", - "description": "Vendored build of @ichava/react-icon-browser. Generated by .dev/tools/sync-react-icon-browser.mjs; do not edit.", - "types": "./types/index.d.ts", - "exports": { - ".": { - "types": "./types/index.d.ts", - "import": "./index.js" - }, - "./styles.css": "./styles.css", - "./prepaint.html": "./prepaint.html", - "./package.json": "./package.json" - }, - "sideEffects": [ - "./styles.css" - ], - "dependencies": { - "@ichava/js-ui-kernel": "git+https://github.com/ichava/js-ui-kernel.git#v0.1.0" - }, - "peerDependencies": { - "react": "^19.3.1", - "react-aria": "^3.53.1", - "react-aria-components": "^1.22.1", - "react-dom": "^19.3.1", - "zustand": ">=5.0.15 <5.1.0" - } -} diff --git a/resources/vendor/react-icon-browser/pt-DiIN_EjM.js b/resources/vendor/react-icon-browser/pt-DiIN_EjM.js deleted file mode 100644 index ae80660..0000000 --- a/resources/vendor/react-icon-browser/pt-DiIN_EjM.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -var e={"format.qwik":`Qwik`,"format.ember":`Ember`,"format.elm":`Elm`,"format.css-mask":`Máscara CSS`,"format.data-uri":`URI de dados`,"format.flutter":`Flutter`,"format.swiftui":`SwiftUI`,"export.css-mask":`Máscara CSS`,"export.css-maskDesc":`Uma classe por ícone, em currentColor`,"export.data-uri":`URI de dados`,"export.data-uriDesc":`Propriedades CSS personalizadas, com as cores`,"export.native":`Recursos nativos`,"export.flutter":`Baixar para Flutter`,"export.flutterDesc":`Recursos SVG e um índice Dart, gerados pelo js-icon-components`,"export.swiftui":`Baixar para SwiftUI`,"export.swiftuiDesc":`Um catálogo .xcassets, gerado pelo js-icon-components`,"detail.cssMask":`Máscara CSS`,"detail.copyDataUri":`Copiar como URI de dados`,"settings.clearHistoryTitle":`Histórico`,"settings.clearHistoryDesc":`Limpa os ícones vistos, copiados e transferidos, e as ações recentes da paleta de comandos.`,"settings.clearHistoryButton":`Limpar histórico`,"settings.clearHistoryToast":`Histórico limpo`,"detail.tags":`Etiquetas`,"kind.label":`Mostrar`,"kind.icons":`Ícones`,"kind.illustrations":`Ilustrações`,"toolbar.illustrationOne":`ilustração`,"toolbar.illustrationMany":`ilustrações`,"toolbar.filterByTag":`Mostrar ícones com a etiqueta «{tag}»`,"toolbar.filterByKeyword":`Mostrar ícones com a palavra-chave «{keyword}»`,"empty.noIllustrations":`Nenhuma ilustração corresponde a estes filtros`,"empty.noIconsTitle":`Ainda não há nada para explorar`,"empty.noIconsDesc":`Nenhum conjunto de ícones está instalado e carregado aqui. Quando houver, os seus ícones aparecem nesta grade.`,"settings.syncAccount":`favoritos e coleções ficam guardados na sua conta`,"settings.syncSession":`favoritos e coleções ficam guardados nesta sessão`,"settings.guestSignIn":`Inicie sessão para os guardar na sua conta.`,"settings.factoryDescHost":`Restaura as configurações e filtros deste navegador. Os seus favoritos e coleções mantêm-se.`,"settings.factoryConfirmBodyHost":`Preferências, filtros, aparência, consentimento e o tour voltarão aos padrões neste navegador. Os seus favoritos, coleções e histórico ficam onde estão guardados.`,"settings.deleteLibraryTitle":`Apagar a minha biblioteca`,"settings.deleteLibraryDesc":`Remove todos os favoritos e coleções guardados para si aqui.`,"settings.deleteLibraryButton":`Apagar…`,"settings.deleteLibraryConfirmTitle":`Apagar a sua biblioteca?`,"settings.deleteLibraryConfirmBody":`Todos os favoritos e coleções são removidos, aqui e no servidor. O seu histórico e configurações mantêm-se. Isto não pode ser desfeito.`,"settings.deleteLibraryConfirmLabel":`Apagar a minha biblioteca`,"settings.deleteLibraryToast":`Biblioteca apagada`,"detail.snippetFormat":`Formato do trecho`,"console.code":`Código`,"palette.results":`Resultados`,"appearance.adaptMono":`Adaptar ícones pretos no modo escuro`,"app.documentTitle":`Ichava Browser — todos os ícones de que sua app Laravel precisa`,"sort.name":`Nome`,"sort.package":`Pacote`,"sort.category":`Categoria`,"treatment.default":`Traço`,"treatment.defaultDesc":`Traços originais do pacote`,"treatment.solid":`Sólido`,"treatment.solidDesc":`Peso mais forte e preenchido`,"treatment.duotone":`Dois tons`,"treatment.duotoneDesc":`Camada de sombra de destaque`,"treatment.midtone":`Meio-tom`,"treatment.midtoneDesc":`Tinta suavizada a 50%`,"treatment.halftone":`Retícula`,"treatment.halftoneDesc":`Preenchimento retrô de pontos`,"unit.pxValue":`{n} px`,"common.cancel":`Cancelar`,"common.create":`Criar`,"common.clear":`Limpar`,"common.all":`Todos`,"common.none":`Nenhum`,"common.copy":`Copiar`,"common.download":`Baixar`,"common.favorite":`Favorito`,"common.favorited":`Favoritado`,"common.close":`Fechar`,"common.signIn":`Entrar`,"common.signOut":`Sair`,"common.search":`Pesquisar ícones, ações…`,"header.favorites":`Favoritos`,"header.history":`Histórico`,"header.collections":`Coleções`,"header.notifications":`Notificações`,"header.toggleTheme":`Alternar tema`,"header.settings":`Configurações`,"header.fullscreen":`Tela cheia`,"header.exitFullscreen":`Sair da tela cheia`,"header.commandPalette":`Paleta de comandos`,"header.gridView":`Visualização em grade`,"header.listView":`Visualização em lista`,"sidebar.packages":`Pacotes`,"sidebar.categories":`Categorias`,"sidebar.filterCategories":`Filtrar categorias…`,"sidebar.filterIcons":`Filtrar ícones…`,"sidebar.expandAll":`Expandir tudo`,"sidebar.collapseAll":`Recolher tudo`,"variant.all":`Todos`,"variant.outline":`Contorno`,"variant.filled":`Preenchido`,"variant.color":`Cor`,"toolbar.sort":`Ordenar`,"toolbar.size":`Tamanho`,"toolbar.stroke":`Traço`,"toolbar.color":`Cor`,"toolbar.treatment":`Tratamento do ícone`,"toolbar.export":`Exportar`,"toolbar.copyNames":`Copiar nomes`,"toolbar.newCollection":`Nova coleção`,"toolbar.selected":`{n} selecionados`,"appearance.title":`Aparência`,"appearance.subtitle":`tema · marca · zoom`,"appearance.theme":`Tema`,"appearance.light":`Claro`,"appearance.dark":`Escuro`,"appearance.brandAccent":`Cor da marca`,"appearance.customHex":`Hex personalizado`,"appearance.radius":`Raio`,"appearance.size":`Zoom da interface`,"appearance.density":`Densidade da interface`,"appearance.compact":`Compacto`,"appearance.comfy":`Confortável`,"appearance.reduceMotion":`Reduzir movimento`,"appearance.iconLabels":`Rótulos de ícones`,"appearance.language":`Idioma`,"appearance.footer":`Aplica-se apenas ao aplicativo. Salvo no armazenamento selecionado.`,"account.workspace":`Espaço de trabalho`,"account.account":`Conta`,"account.profile":`Perfil e preferências`,"account.sharedCollections":`Coleções compartilhadas`,"profile.signOutTitle":`Terminar sessão?`,"profile.signOutBody":`Manterá os favoritos e filtros locais, mas as coleções partilhadas e as funções de equipa exigem iniciar sessão novamente.`,"profile.signedOut":`Sessão terminada`,"profile.switched":`Mudou para {name}`,"profile.title":`Perfil`,"profile.account":`Conta`,"profile.appSettings":`Configurações do aplicativo`,"shared.title":`Coleções compartilhadas`,"shared.count":`{n} compartilhadas`,"shared.empty":`Nenhuma coleção compartilhada ainda.`,"shared.manageAccess":`Gerenciar acesso`,"empty.noResults":`Nenhum ícone corresponde aos seus filtros.`,"empty.noFavorites":`Nenhum favorito ainda.`,"empty.onboardTitle":`Selecione pacotes para explorar`,"empty.onboardDesc":`Os ícones aparecem quando pelo menos um pacote instalado é selecionado.`,"empty.selectAllPackages":`Selecionar todos os pacotes`,"empty.noMatchSearch":`Nenhum ícone corresponde a «{q}»`,"empty.noMatchFilters":`Nenhum ícone corresponde a estes filtros`,"empty.tryDifferent":`Tente outro termo, outra variante, ou limpe os filtros ativos.`,"empty.clearFilters":`Limpar filtros`,"toolbar.iconOne":`ícone`,"toolbar.iconMany":`ícones`,"toolbar.removeFilter":`Remover filtro`,"toolbar.namesCopied":`{n} nomes copiados`,"toolbar.exportedToast":`{n} ícones exportados — {label}`,"toolbar.treatmentEngine":`Motor de tratamentos`,"toolbar.toggleSortOrder":`Alternar ordem`,"toolbar.gridIconSize":`Tamanho do ícone na grade`,"toolbar.sizeUnit":`Unidade de tamanho`,"toolbar.strokeTitle":`Espessura do traço — reescreve o traço na grade, detalhe e exportação`,"toolbar.previewColor":`Cor de pré-visualização`,"toolbar.resetFilters":`Redefinir filtros`,"toolbar.resetTitle":`Redefinir todos os filtros?`,"toolbar.resetBody":`Pesquisa, categorias, variantes, ordenação, página, seleção e cor de pré-visualização voltam aos padrões. Favoritos, coleções e aparência não são alterados.`,"toolbar.resetConfirm":`Redefinir filtros`,"toolbar.resetToast":`Filtros redefinidos`,"footer.noResults":`Sem resultados`,"footer.range":`{start}–{end} de {total}`,"footer.perPageLabel":`Resultados por página`,"footer.perPage":`{n} / página`,"footer.prevPage":`Página anterior`,"footer.nextPage":`Próxima página`,"list.copiedToast":`{name} copiado`,"sidebar.scopeIcons":`Ícones`,"sidebar.scopePackages":`Pacotes`,"sidebar.scopeCategories":`Categorias`,"sidebar.scopeAll":`Tudo`,"sidebar.notInstalled":`não instalado`,"sidebar.inView":`Em vista`,"sidebar.selected":`Selecionados`,"sidebar.loadedIcons":`Neste catálogo`,"sidebar.ecosystemTotal":`Total do ecossistema`,"sidebar.favorites":`Favoritos`,"sidebar.filterPackages":`Filtrar pacotes…`,"sidebar.searchEverything":`Pesquisar tudo…`,"sidebar.searchScope":`Âmbito da pesquisa`,"header.filtersPackages":`Filtros e pacotes`,"header.toggleSidebar":`Alternar barra lateral`,"header.devtools":`Ichava DevTools`,"palette.placeholder":`Digite um comando ou pesquise ícones…`,"palette.recent":`Recentes`,"palette.actions":`Ações`,"palette.icons":`Ícones`,"palette.openHint":`abrir`,"palette.noMatches":`Nenhum resultado para «{q}»`,"palette.navigate":`navegar`,"palette.select":`selecionar`,"palette.close":`fechar`,"palette.toggleTheme":`Alternar tema`,"palette.openSettings":`Abrir configurações`,"palette.openFavorites":`Abrir favoritos`,"palette.openHistory":`Abrir histórico`,"palette.openCollections":`Abrir coleções`,"palette.switchListView":`Mudar para vista de lista`,"palette.switchGridView":`Mudar para vista de grade`,"palette.resetFilters":`Redefinir todos os filtros`,"palette.selectAll":`Selecionar todos os correspondentes`,"selectAll.confirmTitle":`Selecionar todos os {n} ícones?`,"selectAll.confirmBody":`Nenhuma pesquisa ou filtro está ativo, por isso todos os ícones do catálogo serão selecionados.`,"selectAll.confirmLabel":`Selecionar tudo`,"palette.openDevtools":`Abrir Ichava DevTools`,"common.remove":`Remover`,"settings.appearanceHintPre":`Tema, acento, raio, tamanho, densidade, movimento e rótulos estão no menu `,"settings.appearanceHintPost":` no cabeçalho.`,"settings.behavior":`Comportamento`,"settings.perPageTitle":`Ícones por página`,"settings.perPageDesc":`Tamanho da paginação da grade.`,"settings.copyFormatTitle":`Formato de cópia padrão`,"settings.copyFormatDesc":`Usado ao clicar para copiar nas fichas.`,"settings.storageTitle":`Driver de armazenamento`,"settings.storageDesc":`Onde as preferências e o estado são guardados.`,"settings.storageLocal":`local`,"settings.storageSession":`sessão`,"settings.tourTitle":`Tour do produto`,"settings.tourDesc":`Repetir o tutorial inicial.`,"settings.replayTour":`Repetir tour`,"settings.factoryTitle":`Redefinição de fábrica`,"settings.factoryDesc":`Restaura todas as configurações, filtros, favoritos e coleções aos padrões.`,"settings.factoryConfirmTitle":`Redefinir tudo para as configurações de fábrica?`,"settings.factoryConfirmBody":`Todas as preferências, filtros, favoritos, histórico, coleções, personalização de marca, consentimento e instantâneos guardados voltarão aos padrões. Isto não pode ser desfeito.`,"settings.factoryConfirmLabel":`Redefinir tudo`,"settings.factoryToast":`Tudo redefinido para os padrões`,"settings.resetEverything":`Redefinir tudo…`,"settings.account":`Conta`,"settings.syncNote":`favoritos e coleções são guardados apenas neste navegador`,"settings.guestNote":`Está a navegar como convidado. Preferências, favoritos e coleções são guardados apenas neste navegador.`,"settings.aboutLink":`Sobre o Ichava →`,"consent.ariaLabel":`Cookies e armazenamento`,"consent.title":`Cookies e armazenamento`,"consent.body":`O Ichava guarda as suas preferências e favoritos no driver de armazenamento escolhido, além de eventos de uso anónimos. Sem rastreadores de terceiros.`,"consent.essentialOnly":`Apenas essenciais`,"consent.acceptAll":`Aceitar tudo`,"consent.move":`Mover o aviso`,"consent.moveHint":`Arraste-o, ou use as setas, para o mover. Home repõe-no no lugar.`,"about.browser":`Browser`,"about.craftedBy":`Criado por`,"about.statIcons":`ícones indexados`,"about.statSets":`conjuntos de ícones`,"about.statLicense":`licença`,"library.favorites":`Favoritos`,"library.history":`Histórico`,"library.collections":`Coleções`,"library.emptyFavorites":`Nenhum favorito ainda — passe o rato sobre um ícone e toque no coração.`,"library.emptyHistory":`Nenhuma atividade ainda — visualizações, cópias e transferências aparecem aqui.`,"library.emptyCollections":`Nenhuma coleção ainda — crie uma acima.`,"library.clearHistory":`Limpar histórico`,"library.newCollectionPlaceholder":`Nome da coleção…`,"library.seededWith":`Começa com {n} ícones`,"library.iconCount":`{n} ícones`,"library.teamBadge":`equipa`,"library.viewerBadge":`leitor`,"library.copyNamesTitle":`Copiar nomes dos ícones`,"library.deleteCollection":`Eliminar coleção`,"tile.openDetail":`Abrir detalhe`,"tile.copyFormat":`Copiar {format}`,"tile.copyName":`Copiar nome`,"tile.copiedName":`Nome copiado`,"tile.copyPermalink":`Copiar link permanente`,"tile.permalinkCopied":`Link permanente copiado`,"tile.select":`Selecionar`,"tile.deselect":`Desmarcar`,"tile.addFavorite":`Adicionar aos favoritos`,"tile.removeFavorite":`Remover dos favoritos`,"tile.favoritedAria":`nos favoritos`,"tile.selectedAria":`selecionado`,"detail.previewOnly":`Apenas pré-visualização — a grade não muda`,"detail.scaledToFit":`ajustado`,"detail.actual":`real`,"detail.size":`Tamanho`,"detail.previewSize":`Tamanho da pré-visualização`,"detail.unit":`Unidade`,"detail.color":`Cor`,"detail.stroke":`Traço`,"detail.motion":`Movimento`,"detail.searchPresets":`Pesquisar {n} predefinições…`,"detail.noPresets":`Nenhuma predefinição encontrada.`,"detail.easing":`Suavização`,"detail.play":`Reproduzir`,"detail.pause":`Pausar`,"detail.speed":`Velocidade`,"detail.copied":`{label} copiado`,"detail.download":`Transferir`,"detail.keyframesAria":`JSON dos fotogramas-chave`,"detail.keyframesValid":`{n} fotogramas — cole um Keyframe[] ou { keyframes: […] }`,"detail.keyframesInvalid":`JSON inválido — espera-se um array de objetos de fotograma`,"detail.related":`Ícones relacionados`,"detail.addToCollection":`Adicionar à coleção`,"detail.newCollection":`+ Nova`,"detail.noSvg":`Nenhum SVG disponível para este ícone`,"detail.addedTo":`Adicionado a {name}`,"detail.removedFrom":`Removido de {name}`,"detail.motionDefault":`Padrão`,"console.copyCode":`Copiar código`,"console.copy":`Copiar`,"console.copied":`Copiado`,"help.title":`Ajuda e sobre`,"help.about":`Sobre o Ichava`,"help.docs":`Documentação`,"help.replayTour":`Repetir tour do produto`,"help.shortcuts":`Atalhos de teclado`,"notifications.clearAll":`Limpar tudo`,"notifications.empty":`Está tudo em dia.`,"team.title":`Equipa`,"team.online":`{n} online`,"team.onlineNow":`Online agora`,"team.away":`Ausente`,"team.offline":`Offline`,"team.invite":`Convidar…`,"color.previewColor":`Cor de pré-visualização`,"color.resetToTheme":`Repor para o tema`,"color.opacity":`Opacidade — 0–100 %`,"contextMenu.actions":`Ações`,"boot.loadingCatalog":`A carregar catálogo`,"boot.ready":`Pronto`,"sidebar.iconVariant":`Variante do ícone`,"auth.signInTo":`Inicie sessão no {brand}`,"auth.needsAccount":`precisa de uma conta.`,"auth.emailCode":`Enviaremos um código de uso único por e-mail — sem palavra-passe.`,"auth.emailPlaceholder":`voce@empresa.com`,"auth.sendCode":`Enviar código`,"auth.newHere":`Novo por aqui?`,"auth.createAccount":`Criar conta`,"auth.enterCode":`Introduza o seu código`,"auth.sentTo":`Enviado para`,"auth.demoHint":`Demo: qualquer código inicia sessão — experimente 000000 para ver o estado de erro.`,"auth.digit":`Dígito {n}`,"auth.codeFailed":`Esse código não funcionou. Tente novamente.`,"auth.verify":`Verificar e iniciar sessão`,"auth.changeEmail":`← Mudar e-mail`,"auth.resendIn":`Reenviar em {n}s`,"auth.resendCode":`Reenviar código`,"auth.createTitle":`Crie a sua conta`,"auth.createBlurb":`Junte-se para desbloquear coleções, partilha e funcionalidades de equipa. Verificaremos o seu e-mail com um código de uso único.`,"auth.firstName":`Nome`,"auth.lastName":`Apelido`,"auth.passwordPlaceholder":`Pelo menos 8 caracteres`,"auth.togglePassword":`Mostrar ou ocultar a palavra-passe`,"auth.haveAccount":`Já tem uma conta?`,"invite.title":`Convidar para o espaço de trabalho`,"invite.workspace":`espaço de trabalho`,"invite.emailPlaceholder":`colega@empresa.com`,"invite.roleEditor":`Editor — pode adicionar e partilhar`,"invite.roleViewer":`Leitor — apenas leitura`,"invite.role":`Papel`,"invite.linkExpires":`O link expira`,"invite.exp24h":`24 h`,"invite.exp7d":`7 dias`,"invite.exp30d":`30 dias`,"invite.expNever":`Nunca`,"invite.blurb":`Os convidados obtêm acesso às coleções partilhadas deste espaço. O proprietário pode alterar os papéis mais tarde; os links podem ser revogados nas Definições.`,"invite.generateLink":`Gerar link`,"invite.linkCopied":`Link de convite copiado`,"invite.yourTeammate":`o seu colega`,"invite.sentNotification":`Convite enviado para {to} ({role})`,"invite.sent":`Convite enviado`,"invite.sendInvite":`Enviar convite`,"access.addPeople":`Adicione pessoas ou a sua equipa`,"access.searchTeammates":`Pesquisar colegas por nome ou e-mail…`,"access.onlyYou":`Apenas você tem acesso. Adicione colegas acima ou partilhe com toda a equipa.`,"access.saveAccess":`Guardar acesso`,"access.shareEntireTeam":`Partilhar com toda a equipa`,"access.shareLinkCopied":`Link de partilha copiado`,"access.copyLinkInstead":`Copiar link em vez disso`,"shared.inviteTeam":`Convidar a equipa…`,"shared.viewer":`leitor`,"shared.editor":`editor`,"tour.skip":`Ignorar`,"tour.back":`Voltar`,"tour.stepOf":`Passo {n} de {total}`,"tour.next":`Seguinte`,"tour.getStarted":`Começar`,"tour.s1Title":`Bem-vindo ao Ichava Browser`,"tour.s1Body":`Cada ícone da sua app Laravel — pesquisável, pré-visualizável, pronto a copiar. Este tour de 30 segundos mostra-lhe o essencial. Pode repeti-lo a qualquer momento nas Definições.`,"tour.s2Title":`Encontre qualquer ícone rápido`,"tour.s2Body":`Pesquise por nome ou etiqueta, filtre por pacote, categoria e variante na barra lateral, ou prima ⌘K para a paleta de comandos.`,"tour.s3Title":`Reestilize ao vivo`,"tour.s3Body":`Tratamentos, tamanho, traço, cor e predefinições de movimento reestilizam cada ícone no lugar — a grade atualiza-se enquanto ajusta.`,"tour.s4Title":`Copie para o seu stack`,"tour.s4Body":`Abra qualquer ícone para Blade, Livewire, Vue, React, Svelte, Web Component, SVG bruto e mais — um clique para copiar.`,"tour.s5Title":`Guarde e partilhe`,"tour.s5Body":`Marque ícones como favoritos, agrupe-os em coleções e exporte um sprite, manifesto ou ZIP. Inicie sessão para sincronizar entre dispositivos.`,"task.working":`A processar…`,"task.export":`A exportar {n} ícones…`,"task.copyNames":`A reunir {n} nomes de ícones…`,"task.selectAll":`A selecionar todos os ícones correspondentes…`,"export.files":`Arquivos SVG`,"export.filesDesc":`Downloads .svg individuais`,"export.sprite":`Sprite SVG`,"export.spriteDesc":`Uma folha de `,"export.manifest":`Manifesto JSON`,"export.manifestDesc":`ids, pacotes e categorias`,"export.zip":`Pacote ZIP`,"export.zipDesc":`Sprite + manifesto + arquivos`,"copyFormat.svg":`SVG bruto`,"copyFormat.blade":`Tag Blade`,"copyFormat.vue":`Trecho Vue`,"copyFormat.name":`Nome do ícone`,"snippetTab.motion":`Movimento`,"snippetTab.helper":`Função helper`,"snippetTab.bladeGeneric":`Blade (genérico)`,"snippetTab.webcomponent":`Componente web`,"snippetTab.name":`Nome`,"format.svg":`SVG bruto`,"format.motion":`Movimento`,"format.helper":`Helper ichava()`,"format.blade":`Tag Blade`,"format.bladeGeneric":`Blade genérico`,"format.livewire":`Livewire`,"format.alpine":`Alpine.js`,"format.vue":`Vue`,"format.react":`React`,"format.svelte":`Svelte`,"format.webcomponent":`Componente web`,"format.reactNative":`React Native`,"format.angular":`Angular`,"format.solid":`Solid`,"format.preact":`Preact`,"format.astro":`Astro`,"format.api":`URL REST`,"format.name":`Nome do ícone`,"about.landing":`Site`,"clipboard.copyFailed":`Falha ao copiar — selecione e copie manualmente`,"clipboard.copied":`Copiado para a área de transferência`};export{e as default}; \ No newline at end of file diff --git a/resources/vendor/react-icon-browser/snippets-CIeWnjDR.js b/resources/vendor/react-icon-browser/snippets-CIeWnjDR.js deleted file mode 100644 index 004ed56..0000000 --- a/resources/vendor/react-icon-browser/snippets-CIeWnjDR.js +++ /dev/null @@ -1,13 +0,0 @@ -/*! @ichava/react-icon-browser | Proprietary. Copyright (c) Simtabi LLC. See LICENSE. */ -/*! @tabler/icons-react v3.50.0 | MIT | https://github.com/tabler/tabler-icons/blob/main/LICENSE */ -import{l as e,o as t,r as n}from"./TreatmentEngine-B0FTr-Fl.js";import{Et as r,Rt as i}from"./chromeIcons-ITgd2uHk.js";async function a(e,t,n,r){if(!(r.snippets.needsSvg?r.snippets.needsSvg(t,n):t===`svg`))return r.snippets.build(t,e,n);let i=await Promise.resolve(r.svgParts(e)),a=r.snippets.svgFromParts(e,i,n);return t===`svg`?a:r.snippets.build(t,e,n,a)}var o=[`svg`,`motion`,`helper`,`blade`,`bladeGeneric`,`livewire`,`alpine`,`vue`,`react`,`svelte`,`webcomponent`,`reactNative`,`angular`,`solid`,`preact`,`astro`,`qwik`,`ember`,`elm`,`api`,`name`],s={svg:`SVG`,motion:`Motion`,helper:`Helper`,blade:`Blade`,bladeGeneric:`Blade (generic)`,livewire:`Livewire`,alpine:`Alpine`,vue:`Vue`,react:`React`,svelte:`Svelte`,webcomponent:`Web Component`,reactNative:`React Native`,angular:`Angular`,solid:`Solid`,preact:`Preact`,astro:`Astro`,qwik:`Qwik`,ember:`Ember`,elm:`Elm`,api:`API`,name:`Name`},c=r.filter(e=>e.copy&&l(e.id)).map(e=>({id:e.id,label:s[e.id]}));function l(e){return o.includes(e)}var u={reactNative:`react-native`,angular:`angular`,solid:`solid`,preact:`preact`,astro:`astro`,qwik:`qwik`,ember:`ember`,elm:`elm`},d={tabler:`outline`,flag:`4x3`,twemoji:`twemoji`,openmoji:`openmoji-color`};function f(e){return e.variant&&e.variant!=="default"?e.variant:e.category&&e.category!==`general`?e.category:``}function p(t){return[e(t),f(t)].filter(Boolean).join(` · `)}var m=class{#e=/* @__PURE__ */ new Map;register(e,t){return this.#e.set(e,t),this}supports(e,t){return o.includes(e)||!!t?.templates?.[e]||this.#e.has(e)}needsSvg(e,t){let n=t?.templates?.[e];return n?/\{\{\s*(svg|jsx)\s*\}\}/.test(n):e===`svg`||e===`vue`||e===`react`||e===`svelte`||e===`webcomponent`||this.#e.has(e)}build(e,t,n,r){let i=M(t,e);if(i)return i;let a=this.needsSvg(e,n.config)?this.svg(t,n,r):``,o=y(t,n,a),s=n.config?.templates?.[e];if(s)return b(s,o);let c=this.#e.get(e);if(c)return c({icon:t,options:n,tokens:o});let l=o;switch(e){case`name`:return l.path;case`helper`:return t.helper||(l.class?`{{ ichava('${l.path}')->class('${l.class}') }}`:`{{ ichava('${l.path}') }}`);case`blade`:return t.bladeClean||N(l);case`bladeGeneric`:return t.bladeGeneric||``;case`svg`:return a;case`motion`:return this.motion(t,n);case`livewire`:return`{{-- Needs a public $icon property on the component. --}}\n`;case`alpine`:return`
- - \n
`;case`vue`:return`\n`;case`react`:return`import type { SVGProps } from 'react';\n\nexport function ${l.componentName}(props: SVGProps) {\n return (\n${B(l.jsx,` `)}\n );\n}`;case`svelte`:return`\n