@surrealdb/ui 1.0.87 → 1.0.90
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +92 -0
- package/REVIEW.md +81 -0
- package/dist/ui.css +1 -1
- package/dist/ui.d.ts +52 -3
- package/dist/ui.js +4386 -4207
- package/dist/ui.js.map +1 -1
- package/dist/yoopta.d.ts +18 -3
- package/package.json +1 -1
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
This is `@surrealdb/ui` — the SurrealDB design system and UI component library, published to npm as a reusable package for all SurrealDB frontend projects.
|
|
4
|
+
|
|
5
|
+
## Tooling
|
|
6
|
+
|
|
7
|
+
- **Runtime & package manager:** Bun (do NOT use npm, yarn, or pnpm)
|
|
8
|
+
- **Build:** Vite 7 in library mode, targeting ES2022 with source maps
|
|
9
|
+
- **Language:** TypeScript with `isolatedDeclarations` enabled — all exported types must be explicitly annotated
|
|
10
|
+
- **UI framework:** React 19 with JSX transform (`react-jsx`)
|
|
11
|
+
- **Component library:** Mantine v8 (peer dependency)
|
|
12
|
+
- **Linter/formatter:** Biome 2.x — 4-space indentation, 100-character line width
|
|
13
|
+
- **Storybook:** Storybook 10 with `@storybook/react-vite`
|
|
14
|
+
- **Testing:** Vitest with Playwright browser provider for Storybook integration tests
|
|
15
|
+
|
|
16
|
+
## Commands
|
|
17
|
+
|
|
18
|
+
| Command | Description |
|
|
19
|
+
|---|---|
|
|
20
|
+
| `bun install` | Install dependencies |
|
|
21
|
+
| `bun run build` | Production build (outputs to `dist/`) |
|
|
22
|
+
| `bun run storybook:dev` | Start Storybook dev server on port 6006 |
|
|
23
|
+
| `bun run storybook:build` | Build static Storybook site |
|
|
24
|
+
| `bun qc` | Run Biome lint/format check |
|
|
25
|
+
| `bun qa` | Auto-fix Biome lint/format issues |
|
|
26
|
+
| `bun qau` | Auto-fix including unsafe fixes |
|
|
27
|
+
| `bun qts` | TypeScript type check (`tsc --noEmit`) |
|
|
28
|
+
| `bun test` | Run all tests |
|
|
29
|
+
| `bun run icons` | Regenerate icon constants from `icons.zip` (requires `picosvg`) |
|
|
30
|
+
|
|
31
|
+
## Path Aliases
|
|
32
|
+
|
|
33
|
+
`@src/*` maps to `./src/*` (configured in `tsconfig.json` and resolved by `vite-tsconfig-paths`).
|
|
34
|
+
|
|
35
|
+
## Styling
|
|
36
|
+
|
|
37
|
+
- SCSS modules (`.module.scss`) with `dashesOnly` locals convention — access classes as `styles.myClass`, not `styles["my-class"]`
|
|
38
|
+
- All `.scss` files auto-import `@surrealdb/ui/mixins` via Vite's `additionalData`, providing global access to theme-aware mixins:
|
|
39
|
+
- `@include light { ... }` / `@include dark { ... }` — color scheme scoping
|
|
40
|
+
- `@include sm-and-up { ... }`, `@include md-and-down { ... }`, etc. — responsive breakpoints
|
|
41
|
+
- `@include background-blur { ... }` — backdrop blur with fallback
|
|
42
|
+
- Global CSS variables are defined in `src/assets/styles/global.scss` (prefixed `--surreal-*`)
|
|
43
|
+
- Mantine design tokens available as `--mantine-color-*` CSS variables
|
|
44
|
+
- Build output CSS is automatically wrapped in `@layer surreal` by a custom Vite plugin
|
|
45
|
+
|
|
46
|
+
## Exports
|
|
47
|
+
|
|
48
|
+
The package exposes three entry points:
|
|
49
|
+
- `@surrealdb/ui` — all components, hooks, helpers, and constants (from `src/index.ts`)
|
|
50
|
+
- `@surrealdb/ui/styles.css` — compiled CSS (wrapped in `@layer surreal`)
|
|
51
|
+
- `@surrealdb/ui/mixins` — raw SCSS mixins (from `res/_mixins.scss`)
|
|
52
|
+
|
|
53
|
+
## Source Structure
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
src/
|
|
57
|
+
├── assets/ # Static assets: brand SVGs, picto WebPs, global SCSS styles
|
|
58
|
+
├── constants/ # Generated/static constants (icons.ts, brands.ts, pictos.ts)
|
|
59
|
+
├── editor/ # CodeMirror editor setup: extensions, keybinds, commands, theme
|
|
60
|
+
├── helpers/ # Utility functions (clsx, brandsafe URL helper, ID generator)
|
|
61
|
+
├── hooks/ # React hooks (useEditor, useStable, useLater, useSort, useSwitch)
|
|
62
|
+
├── lib/
|
|
63
|
+
│ ├── markdown/ # Custom stack-based markdown parser and React renderer
|
|
64
|
+
│ └── yoopta/ # Yoopta block editor plugins (Mantine-styled)
|
|
65
|
+
├── primitives/ # React UI components (Icon, CodeBlock, Spinner, VideoPlayer, etc.)
|
|
66
|
+
├── stories/ # Storybook stories organized by category
|
|
67
|
+
├── syntax/ # Syntax highlighting: language definitions, highlighter, theme
|
|
68
|
+
├── theme/ # Mantine theme override (mantine.ts)
|
|
69
|
+
└── types/ # TypeScript module augmentations for Mantine (colors, variants, spacing)
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Other top-level directories:
|
|
73
|
+
- `res/` — SCSS mixins exported as `@surrealdb/ui/mixins`
|
|
74
|
+
- `tools/` — Icon parser script (`icon-parser.ts`)
|
|
75
|
+
- `.storybook/` — Storybook configuration (main, preview, vitest setup)
|
|
76
|
+
- `.github/workflows/` — CI (`check.yml`) and publish (`publish.yml`) workflows
|
|
77
|
+
- `dist/` — Build output (gitignored)
|
|
78
|
+
|
|
79
|
+
## Peer Dependencies
|
|
80
|
+
|
|
81
|
+
Consumers must provide: React 19, Mantine 8, CodeMirror 6 suite, Yoopta 6, and Slate. These are externalized during build.
|
|
82
|
+
|
|
83
|
+
## CI/CD
|
|
84
|
+
|
|
85
|
+
- **check.yml** — Runs on push/PR to `main`: Biome lint, TypeScript check, build, and tests (Bun 1.2.23)
|
|
86
|
+
- **publish.yml** — Triggered by GitHub release: asserts `package.json` version matches git tag, builds, packs, and publishes to npm
|
|
87
|
+
|
|
88
|
+
## Conventions
|
|
89
|
+
|
|
90
|
+
- `useStable` hook is configured as returning a stable reference in Biome's `useExhaustiveDependencies` rule — do not list its return value in dependency arrays
|
|
91
|
+
- The `src/constants/icons.ts` file is auto-generated — do not edit it manually
|
|
92
|
+
- Biome excludes: `.vscode/`, `.github/`, `.storybook/`, `src/constants/icons.ts`, `dist/`, and `*.js` files
|
package/REVIEW.md
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Code Review Guidelines
|
|
2
|
+
|
|
3
|
+
Before marking any task as done, verify every applicable section below.
|
|
4
|
+
|
|
5
|
+
## Code Quality
|
|
6
|
+
|
|
7
|
+
- **Biome**: run `bun qc` and confirm zero errors. Do not suppress or ignore lint rules without justification.
|
|
8
|
+
- **TypeScript**: run `bun qts` and confirm zero type errors. All exported functions and types must have explicit type annotations (`isolatedDeclarations` is enabled).
|
|
9
|
+
- **Formatting**: 4-space indentation, 100-character line width, multiline JSX attributes. Run `bun qa` to auto-fix if needed.
|
|
10
|
+
- **Unused imports**: Biome warns on unused imports — remove them before committing.
|
|
11
|
+
- **Unused code**: do not leave behind dead code, commented-out blocks, or `console.log` statements.
|
|
12
|
+
|
|
13
|
+
## Components
|
|
14
|
+
|
|
15
|
+
- **Mantine first**: use Mantine components (`Box`, `Text`, `Group`, `Stack`, etc.) over raw HTML elements. Use `<Box>` instead of `<div>`.
|
|
16
|
+
- **Props interface**: extend `BoxProps` or the appropriate Mantine component props type. Export the props interface alongside the component.
|
|
17
|
+
- **Prop spreading**: spread remaining props (`...rest`) onto the root element so consumers can pass through Mantine attributes.
|
|
18
|
+
- **clsx**: use `clsx` from `@src/helpers/clsx` (the project's own implementation), not the npm `clsx` package.
|
|
19
|
+
- **Return type**: use `ReactNode` for function declarations or `FC<Props>` for arrow functions — match the convention of surrounding code.
|
|
20
|
+
|
|
21
|
+
## Styling
|
|
22
|
+
|
|
23
|
+
- **SCSS modules**: styles go in `style.module.scss` next to the component. Import as `import classes from "./style.module.scss"`.
|
|
24
|
+
- **dashesOnly**: access class names as `classes.myClass`, never `classes["my-class"]`.
|
|
25
|
+
- **Dynamic values**: use Mantine's `__vars` prop to pass CSS custom properties for dynamic size/color — not inline styles.
|
|
26
|
+
- **Design tokens**: reference Mantine tokens (`--mantine-color-*`) and SurrealDB tokens (`--surreal-*`). Do not hardcode color hex values in SCSS unless defining a new token.
|
|
27
|
+
- **Light/dark theme**: any color that differs between themes must use `@include light { ... }` and `@include dark { ... }` mixins. Verify the component looks correct in both color schemes.
|
|
28
|
+
- **Responsive**: use the breakpoint mixins (`@include sm-and-up`, `@include md-and-down`, etc.) instead of raw `@media` queries.
|
|
29
|
+
- **No global styles**: do not add styles to `global.scss` or `variants.scss` unless defining a new design token. Component styles belong in SCSS modules.
|
|
30
|
+
|
|
31
|
+
## Exports
|
|
32
|
+
|
|
33
|
+
- **Re-export from index**: new components, hooks, helpers, or types must be re-exported from `src/index.ts`. Missing re-exports break the public API.
|
|
34
|
+
- **Explicit type exports**: use `export type` for type-only exports (required by `isolatedDeclarations` and `verbatimModuleSyntax`).
|
|
35
|
+
|
|
36
|
+
## Storybook
|
|
37
|
+
|
|
38
|
+
- **Story exists**: every primitive component must have a corresponding story in `src/stories/primitives/`. Mantine-themed component demos go in `src/stories/mantine/`.
|
|
39
|
+
- **CSF3 format**: stories must use Component Story Format 3 with a typed `meta` default export and `StoryObj` named exports.
|
|
40
|
+
- **Title convention**: use the correct prefix (`Primitives/`, `Mantine/`, `Catalog/`, or `Playground/`) in the story `title`.
|
|
41
|
+
- **No providers in stories**: do not wrap stories in `MantineProvider` — this is handled globally by `.storybook/preview.tsx`.
|
|
42
|
+
- **Shared arg types**: reuse `size` and `icon` from `src/stories/arg-types/` instead of redefining them.
|
|
43
|
+
|
|
44
|
+
## Testing
|
|
45
|
+
|
|
46
|
+
- **Tests pass**: run `bun test` and confirm all tests pass. Do not skip or disable tests without justification.
|
|
47
|
+
- **Markdown parser**: changes to `src/lib/markdown/` must include tests. Run `bun test src/lib/markdown/__tests__` to verify. Update snapshots only when the change is intentional.
|
|
48
|
+
- **Snapshot review**: if snapshots are updated, verify the diff reflects the intended change — not unrelated side effects.
|
|
49
|
+
|
|
50
|
+
## Dependencies
|
|
51
|
+
|
|
52
|
+
- **Justify new packages**: new external dependencies require justification. Prefer small helper functions over adding utility packages.
|
|
53
|
+
- **Peer vs direct**: UI framework dependencies (React, Mantine, CodeMirror, Yoopta, Slate) are peer dependencies — never add them to `dependencies`.
|
|
54
|
+
- **Package manager**: use `bun` exclusively. Do not use npm, yarn, or pnpm commands. Do not commit `package-lock.json`, `yarn.lock`, or `pnpm-lock.yaml`.
|
|
55
|
+
|
|
56
|
+
## Generated Files
|
|
57
|
+
|
|
58
|
+
- **Do not edit**: `src/constants/icons.ts` is auto-generated by `bun run icons`. Never edit it manually.
|
|
59
|
+
- **Do not edit**: `bun.lock` is managed by Bun. Do not manually modify it.
|
|
60
|
+
- **Do not commit**: `dist/`, `node_modules/`, `storybook-static/`, and `.tgz` files are gitignored.
|
|
61
|
+
|
|
62
|
+
## Security
|
|
63
|
+
|
|
64
|
+
- **No secrets**: credentials, tokens, and API keys must not appear in source code, console logs, or error messages.
|
|
65
|
+
- **No `.env` files**: do not commit `.env` or any environment variable files.
|
|
66
|
+
|
|
67
|
+
## Build Compatibility
|
|
68
|
+
|
|
69
|
+
- **ES2022 target**: do not use syntax or APIs that require a target newer than ES2022.
|
|
70
|
+
- **Tree-shaking**: the package is marked `"sideEffects": false`. Ensure new modules do not introduce top-level side effects outside of style imports.
|
|
71
|
+
- **CSS layer**: all component CSS is wrapped in `@layer surreal` at build time. Do not add `@layer` directives in SCSS modules — the Vite plugin handles this.
|
|
72
|
+
|
|
73
|
+
## Hooks
|
|
74
|
+
|
|
75
|
+
- **useStable**: the return value of `useStable` is a stable reference — do not include it in React dependency arrays. Biome enforces this automatically.
|
|
76
|
+
- **useExhaustiveDependencies**: Biome enforces exhaustive deps at error level. Do not suppress this rule; fix the dependency array instead.
|
|
77
|
+
|
|
78
|
+
## Skip
|
|
79
|
+
|
|
80
|
+
- Formatting and linting auto-fixes (enforced by `bun qa` / `bun qau`).
|
|
81
|
+
- Biome-excluded files: `.vscode/`, `.github/`, `.storybook/`, `src/constants/icons.ts`, `dist/`, `*.js`.
|
package/dist/ui.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
@layer surreal {
|
|
2
|
-
:root{--surreal-opacity-subtle: .07;--surreal-opacity-medium: .3;--surreal-opacity-strong: .6;--surreal-glass-subtle: rgba(255, 255, 255, var(--surreal-opacity-subtle));--surreal-glass-medium: rgba(255, 255, 255, var(--surreal-opacity-medium));--surreal-glass-strong: rgba(255, 255, 255, var(--surreal-opacity-strong));--surreal-blur: blur(12px);--surreal-pink: #ff00a0;--surreal-purple: #9800ff;--surreal-energy: #D255FE;--surreal-passion: #651DDD;--surreal-gradient: linear-gradient(135deg, var(--surreal-energy), var(--surreal-passion));--surreal-spinner-size-xs: 1rem;--surreal-spinner-size-sm: 1.5rem;--surreal-spinner-size-md: 2rem;--surreal-spinner-size-lg: 2.5rem;--surreal-spinner-size-xl: 3rem;--surreal-icon-size-xs: .75em;--surreal-icon-size-sm: 1em;--surreal-icon-size-md: 1.25em;--surreal-icon-size-lg: 1.5em;--surreal-icon-size-xl: 2em}:root[data-mantine-color-scheme=dark]{--surreal-blend-mode: "darken";--surreal-glass-subtle: rgba(255, 255, 255, var(--surreal-opacity-subtle));--surreal-glass-medium: rgba(255, 255, 255, var(--surreal-opacity-medium));--surreal-glass-strong: rgba(255, 255, 255, var(--surreal-opacity-strong));--surreal-overlay-color: #07060a;--surreal-background-color: var(--mantine-color-obsidian-9);--surreal-pill-background: var(--mantine-color-obsidian-6);--surreal-text-gradient: linear-gradient(180deg, var(--mantine-color-obsidian-0), var(--mantine-color-obsidian-3));--surreal-paper-background: linear-gradient(135deg, var(--mantine-color-obsidian-8), var(--mantine-color-obsidian-9));--surreal-menu-background-color: var(--mantine-color-obsidian-7);--surreal-menu-background: rgba(from var(--surreal-menu-background-color) r g b / .75);--surreal-menu-shadow: 0 8px 18px rgba(0, 0, 0, .3), 0 2px 6px rgba(0, 0, 0, .3);--surreal-paper-background-filled: var(--mantine-color-obsidian-8);--surreal-input-background-filled: var(--mantine-color-obsidian-7);--surreal-paper-background-glass: linear-gradient(135deg, var(--mantine-color-obsidian-8), rgba(from var(--mantine-color-obsidian-9) r g b / 0));--surreal-gradient-gray: linear-gradient(101deg, rgba(111, 121, 136, .55) 3.18%, rgba(111, 121, 136, .4) 100%);--surreal-table-stripe: var(--mantine-color-obsidian-7);--surreal-table-hover-color: var(--mantine-color-obsidian-8)}:root[data-mantine-color-scheme=light]{--surreal-blend-mode: "lighten";--surreal-glass-subtle: rgba(0, 0, 0, var(--surreal-opacity-subtle));--surreal-glass-medium: rgba(0, 0, 0, var(--surreal-opacity-medium));--surreal-glass-strong: rgba(0, 0, 0, var(--surreal-opacity-strong));--surreal-overlay-color: #A29FAC;--surreal-background-color: var(--mantine-color-obsidian-1);--surreal-pill-background: var(--mantine-color-obsidian-2);--surreal-text-gradient: linear-gradient(180deg, var(--mantine-color-obsidian-6), var(--mantine-color-obsidian-9));--surreal-paper-background: linear-gradient(135deg, var(--mantine-color-obsidian-0), var(--mantine-color-obsidian-1));--surreal-menu-background-color: var(--mantine-color-obsidian-0);--surreal-menu-background: var(--surreal-menu-background-color);--surreal-menu-shadow: 0 8px 18px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .1);--surreal-paper-background-filled: var(--mantine-color-obsidian-0);--surreal-input-background-filled: var(--mantine-color-obsidian-2);--surreal-gradient-gray: linear-gradient(101deg, rgba(111, 121, 136, .15) 3.18%, rgba(111, 121, 136, .3) 100%);--surreal-table-stripe: var(--mantine-color-obsidian-2);--surreal-table-hover-color: var(--mantine-color-obsidian-0)}.mantine-ActionIcon-root[data-variant=surreal]{border-width:1px;border-style:solid}.mantine-CloseButton-root[data-variant=surreal]{color:var(--mantine-color-slate-outline)}.mantine-CloseButton-root[data-variant=surreal]:hover{background-color:var(--surreal-glass-subtle)}.mantine-Button-root[data-variant=surreal]{border-width:1px;border-style:solid;backdrop-filter:blur(2px)}.mantine-ActionIcon-root[data-variant=surreal]:disabled{opacity:var(--surreal-opacity-medium)}.mantine-Button-root[data-variant=transparent]:disabled,.mantine-ActionIcon-root[data-variant=transparent]:disabled{background-color:unset;opacity:var(--surreal-opacity-strong)}.mantine-Button-root[data-variant=surreal]:disabled,.mantine-Button-root[data-variant=gradient]:disabled,.mantine-ActionIcon-root[data-variant=surreal]:disabled,.mantine-Checkbox-root[data-variant=surreal]:disabled,.mantine-Radio-root[data-variant=surreal]:disabled{border-color:var(--surreal-glass-subtle);background-color:var(--surreal-glass-subtle);color:var(--mantine-color-text)}.mantine-Checkbox-icon{color:#fff;width:calc(var(--checkbox-size) / 2)}.mantine-Button-root[data-variant=gradient]:hover:not([disabled]){filter:brightness(1.1)}.mantine-InputWrapper-root[data-variant=filled] .mantine-InputWrapper-label,.mantine-InputWrapper-root[data-variant=surreal] .mantine-InputWrapper-label{color:var(--mantine-color-bright);font-weight:600;margin-bottom:4px}.mantine-InputWrapper-root[data-variant=filled] .mantine-Input-input,.mantine-InputWrapper-root[data-variant=filled] .mantine-InputBase-input,.mantine-InputWrapper-root[data-variant=filled] .mantine-TextInput-input,.mantine-InputWrapper-root[data-variant=surreal] .mantine-Input-input,.mantine-InputWrapper-root[data-variant=surreal] .mantine-InputBase-input,.mantine-InputWrapper-root[data-variant=surreal] .mantine-TextInput-input{--focus-outline: color-mix(in srgb, var(--mantine-color-violet-3) 75%, var(--surreal-glass-subtle));color:var(--mantine-color-bright);font-weight:300;transition:all .25s ease;outline:1px solid transparent}.mantine-InputWrapper-root[data-variant=filled] .mantine-Input-input:focus-within,.mantine-InputWrapper-root[data-variant=filled] .mantine-InputBase-input:focus-within,.mantine-InputWrapper-root[data-variant=filled] .mantine-TextInput-input:focus-within,.mantine-InputWrapper-root[data-variant=surreal] .mantine-Input-input:focus-within,.mantine-InputWrapper-root[data-variant=surreal] .mantine-InputBase-input:focus-within,.mantine-InputWrapper-root[data-variant=surreal] .mantine-TextInput-input:focus-within{outline-color:var(--focus-outline)}.mantine-InputWrapper-root[data-variant=filled] .mantine-Input-input::placeholder,.mantine-InputWrapper-root[data-variant=filled] .mantine-InputBase-input::placeholder,.mantine-InputWrapper-root[data-variant=filled] .mantine-TextInput-input::placeholder,.mantine-InputWrapper-root[data-variant=surreal] .mantine-Input-input::placeholder,.mantine-InputWrapper-root[data-variant=surreal] .mantine-InputBase-input::placeholder,.mantine-InputWrapper-root[data-variant=surreal] .mantine-TextInput-input::placeholder{color:var(--mantine-color-text);opacity:var(--surreal-opacity-strong)}.mantine-InputWrapper-root[data-variant=surreal] .mantine-Input-input,.mantine-InputWrapper-root[data-variant=surreal] .mantine-InputBase-input,.mantine-InputWrapper-root[data-variant=surreal] .mantine-TextInput-input{--focus-background: color-mix(in srgb, var(--mantine-color-violet-3) 7%, var(--surreal-glass-subtle));background:linear-gradient(115deg,var(--surreal-glass-subtle),transparent)}.mantine-InputWrapper-root[data-variant=surreal] .mantine-Input-input:focus-within,.mantine-InputWrapper-root[data-variant=surreal] .mantine-InputBase-input:focus-within,.mantine-InputWrapper-root[data-variant=surreal] .mantine-TextInput-input:focus-within{background:linear-gradient(115deg,var(--focus-background),transparent)}.mantine-InputWrapper-root[data-variant=filled] .mantine-Input-input,.mantine-InputWrapper-root[data-variant=filled] .mantine-InputBase-input,.mantine-InputWrapper-root[data-variant=filled] .mantine-TextInput-input{--focus-background: color-mix(in srgb, var(--mantine-color-violet-3) 7%, var(--surreal-input-background-filled));background-color:var(--surreal-input-background-filled)}.mantine-InputWrapper-root[data-variant=filled] .mantine-Input-input:focus-within,.mantine-InputWrapper-root[data-variant=filled] .mantine-InputBase-input:focus-within,.mantine-InputWrapper-root[data-variant=filled] .mantine-TextInput-input:focus-within{background:var(--focus-background)}.mantine-Autocomplete-dropdown[data-variant=surreal]{overflow:hidden}.mantine-Autocomplete-dropdown[data-variant=surreal] .mantine-Autocomplete-options{padding:4px 0 4px 4px}.mantine-Autocomplete-dropdown[data-variant=surreal] .mantine-Autocomplete-option{border-radius:var(--mantine-radius-xs)}.mantine-Autocomplete-dropdown[data-variant=surreal] .mantine-Autocomplete-option:hover{background-color:var(--surreal-glass-subtle)}.mantine-Paper-root[data-variant=surreal]{background:var(--surreal-paper-background)}.mantine-Paper-root[data-variant=surreal][data-with-border]{border:1px solid var(--surreal-glass-subtle)}.mantine-Paper-root[data-variant=filled]{background:var(--surreal-paper-background-filled)}.mantine-Paper-root[data-variant=filled][data-with-border]{border:1px solid var(--surreal-glass-subtle)}.mantine-Paper-root[data-variant=glass]{background:var(--surreal-paper-background-glass);box-shadow:0 12px 45px var(--surreal-background-color);backdrop-filter:var(--surreal-blur);-webkit-backdrop-filter:var(--surreal-blur)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.mantine-Paper-root[data-variant=glass]{background:var(--surreal-menu-background-color)}}.mantine-Paper-root[data-variant=glass][data-with-border]{border:1px solid var(--surreal-glass-subtle)}.mantine-ScrollArea-root[data-variant=surreal] .mantine-ScrollArea-scrollbar{transition:opacity .25s ease;opacity:0}.mantine-ScrollArea-root[data-variant=surreal] .mantine-ScrollArea-scrollbar[data-state=visible]{opacity:1}.mantine-ScrollArea-root[data-variant=surreal] .mantine-ScrollArea-scrollbar:hover{background-color:var(--surreal-glass-subtle);border-radius:var(--mantine-radius-xl)}.mantine-Divider-root[data-variant=surreal]{--divider-color: var(--surreal-glass-subtle)}.mantine-Divider-root[data-variant=surreal][data-orientation=horizontal]{border-top:var(--divider-size) solid var(--divider-color)}.mantine-Divider-root[data-variant=surreal][data-orientation=vertical]{border-left:var(--divider-size) solid var(--divider-color)}.mantine-Notification-root[data-variant=spaced],.mantine-Notification-root[data-variant=surreal]{background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);align-items:flex-start;padding:var(--mantine-spacing-md);backdrop-filter:var(--surreal-blur);-webkit-backdrop-filter:var(--surreal-blur)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.mantine-Notification-root[data-variant=spaced],.mantine-Notification-root[data-variant=surreal]{background:var(--surreal-menu-background-color)}}.mantine-Notification-root[data-variant=spaced] .mantine-Notification-title,.mantine-Notification-root[data-variant=surreal] .mantine-Notification-title{color:var(--mantine-color-bright);font-size:var(--mantine-font-size-md);margin-block:var(--mantine-spacing-xs);font-weight:600}.mantine-Notification-root[data-variant=spaced] .mantine-Notification-description,.mantine-Notification-root[data-variant=surreal] .mantine-Notification-description{color:var(--mantine-color-text)}.mantine-Notification-root[data-variant=spaced] .mantine-Notification-icon,.mantine-Notification-root[data-variant=surreal] .mantine-Notification-icon{background-color:transparent;border:1px solid var(--surreal-glass-subtle);padding:15px;color:var(--notification-color);font-size:var(--mantine-font-size-lg)}.mantine-Notification-root[data-variant=spaced] .mantine-Notification-body,.mantine-Notification-root[data-variant=surreal] .mantine-Notification-body{padding-left:var(--mantine-spacing-md)}.mantine-Notification-root[data-variant=spaced] .mantine-Notification-body{padding-left:0}.mantine-Notification-root[data-variant=spaced]:before{display:none}.mantine-Loader-root[data-variant=surreal]:after{border:none;background:conic-gradient(from 0,transparent 15%,var(--loader-color) 100%);mask:radial-gradient(circle at center,transparent 50%,#000 0%)}.mantine-ThemeIcon-root[data-variant=surreal]{border-width:1px;border-style:solid;background-color:transparent;color:var(--ti-color)}.mantine-Tooltip-tooltip[data-variant=surreal]{color:var(--tooltip-color, var(--mantine-color-text));background-color:var(--tooltip-bg, var(--mantine-color-obsidian-5));box-shadow:var(--mantine-shadow-md);padding-block:var(--mantine-spacing-xs);padding-inline:var(--mantine-spacing-md);color:#fff}.mantine-Popover-dropdown[data-variant=surreal],.mantine-HoverCard-dropdown[data-variant=surreal],.mantine-Menu-dropdown[data-variant=surreal]{background:var(--surreal-menu-background-color);background-color:var(--surreal-menu-background);border:1px solid var(--surreal-glass-subtle);border-radius:var(--mantine-radius-sm);box-shadow:var(--surreal-menu-shadow);backdrop-filter:var(--surreal-blur);-webkit-backdrop-filter:var(--surreal-blur)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.mantine-Popover-dropdown[data-variant=surreal],.mantine-HoverCard-dropdown[data-variant=surreal],.mantine-Menu-dropdown[data-variant=surreal]{background:var(--surreal-menu-background-color)}}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-divider,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-divider,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-divider{border-color:var(--surreal-glass-subtle);margin-inline:calc(var(--mantine-spacing-xs) * -1);margin-block:var(--mantine-spacing-xs)}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-label,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-label,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-label{color:var(--mantine-color-bright);opacity:var(--surreal-opacity-strong);font-size:var(--mantine-font-size-xs);font-weight:600}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-item,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-item,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-item{border-radius:100px;color:var(--mantine-color-bright);padding-block:var(--mantine-spacing-xs);font-weight:500}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-item:hover,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-item:hover,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-item:hover{background-color:var(--menu-item-hover, var(--surreal-glass-subtle))}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=left],.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=left],.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=left]{margin-right:var(--mantine-spacing-sm)}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=right],.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=right],.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=right]{margin-left:var(--mantine-spacing-sm)}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-itemSection svg,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-itemSection svg,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-itemSection svg{opacity:var(--surreal-opacity-strong)}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient],.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient],.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient]{background:var(--surreal-gradient);color:#fff}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient] .mantine-Menu-itemSection svg,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient] .mantine-Menu-itemSection svg,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient] .mantine-Menu-itemSection svg{opacity:1}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Select-option:hover,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Select-option:hover,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Select-option:hover{background-color:var(--surreal-glass-subtle)}.mantine-Popover-dropdown[data-variant=transparent],.mantine-HoverCard-dropdown[data-variant=transparent]{background-color:transparent;border:unset;padding:0}.mantine-Modal-root[data-variant=glass] .mantine-Modal-inner,.mantine-Modal-root[data-variant=surreal] .mantine-Modal-inner{overflow-y:auto;display:grid}.mantine-Modal-root[data-variant=glass] .mantine-Modal-content,.mantine-Modal-root[data-variant=surreal] .mantine-Modal-content{border:1px solid var(--surreal-glass-subtle);border-radius:var(--mantine-radius-xs);overflow-y:unset;max-height:unset;width:var(--modal-size);max-width:calc(100vw - var(--modal-inner-x-offset, var(--modal-x-offset)) * 2);backdrop-filter:var(--surreal-blur);-webkit-backdrop-filter:var(--surreal-blur)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.mantine-Modal-root[data-variant=glass] .mantine-Modal-content,.mantine-Modal-root[data-variant=surreal] .mantine-Modal-content{background:var(--surreal-menu-background-color)}}.mantine-Modal-root[data-variant=glass] .mantine-Modal-header,.mantine-Modal-root[data-variant=surreal] .mantine-Modal-header{background-color:unset;border-bottom:1px solid var(--surreal-glass-subtle);margin-bottom:var(--mb-padding, var(--mantine-spacing-md));position:static;padding-block:0}.mantine-Modal-root[data-variant=glass] .mantine-Modal-title,.mantine-Modal-root[data-variant=surreal] .mantine-Modal-title{font-size:var(--mantine-font-size-lg);color:var(--mantine-color-bright);font-weight:600}.mantine-Modal-root[data-variant=glass] .mantine-Modal-header{border:none;margin-bottom:0}.mantine-Modal-root[data-variant=glass] .mantine-Modal-content{background-color:color-mix(in srgb,var(--mantine-color-slate-6) calc(var(--surreal-opacity-strong) * 100%),transparent);background-color:var(--surreal-glass-subtle)}.mantine-Overlay-root[data-variant=surreal]{background-color:rgba(from var(--surreal-overlay-color) r g b/.75)}.mantine-Anchor-root[data-variant=surreal]{color:var(--mantine-color-bright)}.mantine-Anchor-root[data-variant=surreal]:hover,.mantine-Anchor-root[data-variant=surreal]:focus-within{color:var(--mantine-color-violet-text)}.mantine-Anchor-root[data-variant=vibrant]{color:var(--mantine-color-violet-text)}.mantine-Anchor-root[data-variant=vibrant]:hover,.mantine-Anchor-root[data-variant=vibrant]:focus-within{color:var(--mantine-color-bright)}.mantine-Anchor-root[data-variant=glow]>div{position:relative}.mantine-Anchor-root[data-variant=glow]>div:before,.mantine-Anchor-root[data-variant=glow]>div:after{content:"";position:absolute;pointer-events:none;transition:all .25s ease;inset:9px;z-index:-2;opacity:0;filter:blur(6px);mix-blend-mode:screen}.mantine-Anchor-root[data-variant=glow]>div:before{background:radial-gradient(120% 170% at 0% 0%,var(--surreal-energy) 0%,rgba(197,91,255,0) 50%),radial-gradient(120% 170% at 100% 100%,var(--surreal-passion) 0%,rgba(96,114,255,0) 50%)}.mantine-Anchor-root[data-variant=glow]>div:after{background:radial-gradient(100% 100% at 0% 0%,var(--surreal-energy) 0%,rgba(197,91,255,0) 35%),radial-gradient(100% 100% at 100% 100%,var(--surreal-passion) 0%,rgba(96,114,255,0) 35%)}.mantine-Anchor-root[data-variant=glow]>div:hover:before,.mantine-Anchor-root[data-variant=glow]>div:hover:after{inset:-9px;opacity:1}.mantine-Badge-root[data-variant=surreal]{border-radius:var(--mantine-radius-xl);background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);color:var(--mantine-color-bright)}.mantine-Checkbox-root[data-variant=gradient] .mantine-Checkbox-input,.mantine-Checkbox-root[data-variant=surreal] .mantine-Checkbox-input{border-radius:var(--mantine-radius-xs);background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);color:var(--mantine-color-bright)}.mantine-Checkbox-root[data-variant=gradient] .mantine-Checkbox-input:checked,.mantine-Checkbox-root[data-variant=surreal] .mantine-Checkbox-input:checked{background-color:var(--checkbox-color)}.mantine-Checkbox-root[data-variant=gradient] .mantine-Checkbox-label,.mantine-Checkbox-root[data-variant=surreal] .mantine-Checkbox-label{user-select:none}.mantine-Checkbox-root[data-variant=gradient] .mantine-Checkbox-input:checked{background:var(--surreal-gradient);background-origin:border-box}.mantine-Radio-root[data-variant=gradient] .mantine-Radio-radio,.mantine-Radio-root[data-variant=surreal] .mantine-Radio-radio{background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);color:var(--mantine-color-bright)}.mantine-Radio-root[data-variant=gradient] .mantine-Radio-radio:checked,.mantine-Radio-root[data-variant=surreal] .mantine-Radio-radio:checked{background-color:var(--radio-color)}.mantine-Radio-root[data-variant=gradient] .mantine-Radio-label,.mantine-Radio-root[data-variant=surreal] .mantine-Radio-label{user-select:none}.mantine-Radio-root[data-variant=gradient] .mantine-Radio-radio:checked{background:var(--surreal-gradient);background-origin:border-box}.mantine-Switch-root[data-variant=gradient] .mantine-Switch-track,.mantine-Switch-root[data-variant=surreal] .mantine-Switch-track{background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);cursor:pointer}.mantine-Switch-root[data-variant=gradient] .mantine-Switch-input:checked+.mantine-Switch-track,.mantine-Switch-root[data-variant=surreal] .mantine-Switch-input:checked+.mantine-Switch-track{background-color:var(--switch-color)}.mantine-Switch-root[data-variant=gradient] .mantine-Switch-input:checked+.mantine-Switch-track{background:var(--surreal-gradient);background-origin:border-box}.mantine-Tabs-tab[data-variant=surreal]{border:1px solid var(--surreal-glass-subtle);border-radius:var(--mantine-radius-xl)}.mantine-Tabs-tab[data-variant=surreal][aria-selected=true]{border:1px solid var(--surreal-glass-subtle);background-color:var(--surreal-glass-subtle)}.mantine-Tabs-tab[data-variant=surreal][aria-selected=false]{border:1px solid transparent;background-color:transparent}.mantine-Skeleton-root[data-variant=surreal]:before{background-color:transparent}.mantine-Skeleton-root[data-variant=surreal]:after{background-color:var(--surreal-glass-subtle);animation-timing-function:cubic-bezier(.47,0,.745,.715)}.mantine-SegmentedControl-root[data-variant=surreal]{background-color:transparent;overflow:visible}.mantine-SegmentedControl-root[data-variant=surreal] .mantine-SegmentedControl-indicator{border-radius:3px 3px 0 0;top:unset;bottom:0;height:5px!important;background:var(--surreal-gradient)}.mantine-NavLink-root[data-variant=surreal]{transition:background-color .25s ease;border-radius:var(--mantine-radius-lg);padding:var(--mantine-spacing-xs)}.mantine-NavLink-root[data-variant=surreal] .mantine-NavLink-label{font-weight:500;color:var(--mantine-color-bright)}.mantine-NavLink-root[data-variant=surreal] .mantine-NavLink-description{font-size:var(--mantine-font-size-xs);color:var(--mantine-color-slate-2);opacity:var(--surreal-opacity-strong)}.mantine-NavLink-root[data-variant=surreal]:hover{background-color:var(--surreal-glass-subtle)}.mantine-Kbd-root[data-variant=surreal]{background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);color:var(--mantine-color-bright);border-radius:var(--mantine-radius-xs)}.mantine-Title-root[data-variant=surreal-gradient]{color:var(--mantine-color-bright);background:var(--surreal-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.mantine-Title-root[data-variant=gradient]{color:var(--mantine-color-bright);background:var(--surreal-text-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.mantine-Tabs-list[data-variant=gradient]{background:var(--surreal-paper-background);border:1px solid var(--surreal-glass-subtle);border-radius:var(--mantine-radius-xl);padding:4px;gap:4px;width:fit-content}.mantine-Tabs-tab[data-variant=gradient]{border-radius:var(--mantine-radius-xl);border:1px solid transparent;color:var(--mantine-color-bright);transition:background-color .2s ease,color .2s ease,border-color .2s ease;background-origin:border-box}.mantine-Tabs-tab[data-variant=gradient][aria-selected=true]{background:var(--surreal-gradient);border-color:var(--surreal-glass-subtle);color:var(--mantine-color-obsidian-0);background-origin:border-box}.mantine-Tabs-tab[data-variant=gradient][aria-selected=false]:hover{background-color:var(--surreal-glass-subtle);color:var(--mantine-color-bright)}.mantine-Pagination-root[data-variant=surreal] .mantine-Pagination-control{border-radius:var(--mantine-radius-xl);border:1px solid var(--surreal-glass-subtle);background-color:transparent;color:var(--mantine-color-bright)}.mantine-Pagination-root[data-variant=surreal] .mantine-Pagination-control[data-active=true]{background:var(--surreal-gradient-gray)}.mantine-Pagination-root[data-variant=surreal] .mantine-Pagination-control:hover{background-color:var(--surreal-glass-subtle)}.mantine-TagsInput-root[data-variant=surreal] .mantine-TagsInput-pill,.mantine-TagsInput-root[data-variant=surreal] .mantine-MultiSelect-pill,.mantine-TagsInput-root[data-variant=filled] .mantine-TagsInput-pill,.mantine-TagsInput-root[data-variant=filled] .mantine-MultiSelect-pill,.mantine-MultiSelect-root[data-variant=filled] .mantine-TagsInput-pill,.mantine-MultiSelect-root[data-variant=filled] .mantine-MultiSelect-pill,.mantine-MultiSelect-root[data-variant=surreal] .mantine-TagsInput-pill,.mantine-MultiSelect-root[data-variant=surreal] .mantine-MultiSelect-pill{background-color:var(--surreal-pill-background);font-weight:500}.mantine-TagsInput-root[data-variant=surreal] .mantine-Pill-remove svg,.mantine-TagsInput-root[data-variant=filled] .mantine-Pill-remove svg,.mantine-MultiSelect-root[data-variant=filled] .mantine-Pill-remove svg,.mantine-MultiSelect-root[data-variant=surreal] .mantine-Pill-remove svg{width:var(--cb-icon-size, 70%)!important;height:var(--cb-icon-size, 70%)!important}.mantine-Table-table[data-variant=surreal]{--table-border-color: var(--surreal-glass-subtle) !important;--table-striped-color: var(--surreal-table-stripe) !important;--table-hover-color: var(--surreal-table-hover-color) !important}.mantine-Alert-root[data-variant=surreal]{border:none;border-left:4px solid var(--alert-color);background-color:var(--surreal-glass-subtle);white-space:pre-wrap}._root_hzrc8_1{vertical-align:middle;flex-shrink:0;color:var(--icon-color);width:var(--icon-size);height:var(--icon-size)}._root_hzrc8_1[flip=horizontal],._root_hzrc8_1[flip=both]{transform:scaleX(-1)}._root_hzrc8_1[flip=vertical],._root_hzrc8_1[flip=both]{transform:scaleY(-1)}._path_hzrc8_15{fill:currentColor}._spinning_hzrc8_19{animation:_spin_hzrc8_19 .5s linear infinite}@keyframes _spin_hzrc8_19{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._details_1m4wu_1{background-color:var(--surreal-paper-background);border:2px solid var(--surreal-glass-subtle);border-radius:var(--mantine-radius-lg);padding:var(--mantine-spacing-xl);position:relative;overflow:hidden}._details_1m4wu_1::details-content{display:flex;flex-direction:column;gap:var(--mantine-spacing-md)}._details_1m4wu_1:before{content:" ";background:var(--surreal-gradient);position:absolute;width:100%;height:200px;border-radius:100000px;left:0;right:0;margin:0 auto;top:-220px;filter:blur(50px);pointer-events:none;z-index:0}._summary_1m4wu_32{color:var(--mantine-color-bright);font-size:var(--mantine-spacing-lg);display:flex;justify-content:space-between;align-items:center;cursor:pointer;z-index:1;position:relative}._details_1m4wu_1[open]>._summary_1m4wu_32{margin-bottom:var(--mantine-spacing-lg)}._chevron_1m4wu_47{transition:all .1s ease}._details_1m4wu_1[open]>._chevron_1m4wu_47{rotate:90deg}._details_1m4wu_1>._details_1m4wu_1{margin-top:var(--mantine-spacing-sm);margin-bottom:var(--mantine-spacing-sm)}._spinner_1dhyf_1{stroke:var(--spinner-color);width:var(--spinner-size);height:var(--spinner-size)}._spinner_g_1dhyf_7{transform-origin:center;animation:_spinner-rotate_1dhyf_1 2s linear infinite}._spinner_circle_1dhyf_12{stroke-linecap:round;animation:_spinner-dash_1dhyf_1 1.5s ease-in-out infinite}@keyframes _spinner-rotate_1dhyf_1{to{transform:rotate(360deg)}}@keyframes _spinner-dash_1dhyf_1{0%{stroke-dasharray:0 150;stroke-dashoffset:0}47.5%{stroke-dasharray:42 150;stroke-dashoffset:-16}95%,to{stroke-dasharray:42 150;stroke-dashoffset:-59}}._loader_mqlxq_1{display:flex;align-items:center;justify-content:center;gap:var(--mantine-spacing-md);transition:opacity .25s ease}._container_mqlxq_9[data-loading=false] ._loader_mqlxq_1{opacity:0;pointer-events:none}._mini_mqlxq_14{transition:opacity .25s ease}._container_mqlxq_9[data-loading=true] ._mini_mqlxq_14{opacity:0}._controls_ycnxv_1{position:absolute;display:flex;gap:8px;padding:8px;background:#0009;opacity:0;pointer-events:none;transition:opacity .15s ease;border-radius:4px;z-index:2}._thumbnail_ycnxv_14{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:1}._videoPlayer_ycnxv_24:hover ._controls_ycnxv_1,._videoPlayer_ycnxv_24:focus-within ._controls_ycnxv_1{opacity:1;pointer-events:auto}._controlsVisible_ycnxv_30{opacity:1;pointer-events:auto}._controlsTopLeft_ycnxv_35{top:12px;left:12px}._controlsTopRight_ycnxv_40{top:12px;right:12px}._controlsBottomLeft_ycnxv_45{bottom:12px;left:12px}._controlsBottomRight_ycnxv_50{bottom:12px;right:12px}._progress_ycnxv_55{position:absolute;left:0;right:0;bottom:0;height:6px;padding:0;border:0;background:#ffffff59;cursor:pointer;display:block;opacity:0;pointer-events:none;transition:opacity .15s ease 1s;margin-inline:-4px;z-index:2}._videoPlayer_ycnxv_24:hover ._progress_ycnxv_55,._videoPlayer_ycnxv_24:focus-within ._progress_ycnxv_55{opacity:1;pointer-events:auto;transition-delay:0s}._progress_ycnxv_55:disabled{cursor:default;opacity:.6}._progress_ycnxv_55:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:2px}._progressFill_ycnxv_90{height:100%;background:#fffffff2}._progressTooltip_ycnxv_95{position:absolute;bottom:100%;transform:translate(-50%);margin-bottom:8px;padding:4px 8px;border-radius:4px;background:#000c;color:#fff;font-size:12px;line-height:1;white-space:nowrap;pointer-events:none}._root_19akq_1{position:relative;font-family:var(--mantine-font-family)}._floatingActions_19akq_6{transform:translateY(-50%)}._root_1ph8i_1 .mantine-Button-label{opacity:var(--surrealist-opacity-strong)}._root_1ph8i_1:hover .mantine-Button-label{opacity:1}._root_197cu_1{min-height:0;flex:1}._editor_197cu_6{position:absolute;inset:0}._root_2wglw_1{display:block}._root_2wglw_1 text{font-family:var(--mantine-font-family-monospace);font-size:var(--mantine-font-size-xs);fill:var(--mantine-color-bright)}._root_2wglw_1 line,._root_2wglw_1 path{stroke:var(--mantine-color-slate-4);stroke-width:2;fill:none}._root_2wglw_1 rect{fill:var(--surreal-paper-background-filled);stroke-width:2}._root_2wglw_1 ._terminal_2wglw_19 rect{stroke:var(--mantine-color-slate-4)}._root_2wglw_1 ._nonTerminal_2wglw_22 rect{stroke:var(--mantine-color-violet-4)}._root_2wglw_1 ._comment_2wglw_25{fill:var(--mantine-color-text)}
|
|
2
|
+
:root{--surreal-opacity-subtle: .07;--surreal-opacity-medium: .3;--surreal-opacity-strong: .6;--surreal-glass-subtle: rgba(255, 255, 255, var(--surreal-opacity-subtle));--surreal-glass-medium: rgba(255, 255, 255, var(--surreal-opacity-medium));--surreal-glass-strong: rgba(255, 255, 255, var(--surreal-opacity-strong));--surreal-blur: blur(12px);--surreal-pink: #ff00a0;--surreal-purple: #9800ff;--surreal-energy: #D255FE;--surreal-passion: #651DDD;--surreal-gradient: linear-gradient(135deg, var(--surreal-energy), var(--surreal-passion));--surreal-spinner-size-xs: 1rem;--surreal-spinner-size-sm: 1.5rem;--surreal-spinner-size-md: 2rem;--surreal-spinner-size-lg: 2.5rem;--surreal-spinner-size-xl: 3rem;--surreal-icon-size-xs: .75em;--surreal-icon-size-sm: 1em;--surreal-icon-size-md: 1.25em;--surreal-icon-size-lg: 1.5em;--surreal-icon-size-xl: 2em}:root[data-mantine-color-scheme=dark]{--surreal-blend-mode: "darken";--surreal-glass-subtle: rgba(255, 255, 255, var(--surreal-opacity-subtle));--surreal-glass-medium: rgba(255, 255, 255, var(--surreal-opacity-medium));--surreal-glass-strong: rgba(255, 255, 255, var(--surreal-opacity-strong));--surreal-overlay-color: #07060a;--surreal-background-color: var(--mantine-color-obsidian-9);--surreal-pill-background: var(--mantine-color-obsidian-6);--surreal-text-gradient: linear-gradient(180deg, var(--mantine-color-obsidian-0), var(--mantine-color-obsidian-3));--surreal-paper-background-gradient: linear-gradient(135deg, var(--mantine-color-obsidian-8), var(--mantine-color-obsidian-9));--surreal-menu-background-color: var(--mantine-color-obsidian-7);--surreal-menu-background: rgba(from var(--surreal-menu-background-color) r g b / .75);--surreal-menu-shadow: 0 8px 18px rgba(0, 0, 0, .3), 0 2px 6px rgba(0, 0, 0, .3);--surreal-paper-background: var(--mantine-color-obsidian-8);--surreal-input-background: var(--mantine-color-obsidian-7);--surreal-paper-background-glass: linear-gradient(135deg, var(--mantine-color-obsidian-8), rgba(from var(--mantine-color-obsidian-9) r g b / 0));--surreal-gradient-gray: linear-gradient(101deg, rgba(111, 121, 136, .55) 3.18%, rgba(111, 121, 136, .4) 100%);--surreal-table-stripe: var(--mantine-color-obsidian-7);--surreal-table-hover-color: var(--mantine-color-obsidian-8)}:root[data-mantine-color-scheme=light]{--surreal-blend-mode: "lighten";--surreal-glass-subtle: rgba(0, 0, 0, var(--surreal-opacity-subtle));--surreal-glass-medium: rgba(0, 0, 0, var(--surreal-opacity-medium));--surreal-glass-strong: rgba(0, 0, 0, var(--surreal-opacity-strong));--surreal-overlay-color: #A29FAC;--surreal-background-color: var(--mantine-color-obsidian-1);--surreal-pill-background: var(--mantine-color-obsidian-2);--surreal-text-gradient: linear-gradient(180deg, var(--mantine-color-obsidian-6), var(--mantine-color-obsidian-9));--surreal-paper-background-gradient: linear-gradient(135deg, var(--mantine-color-obsidian-0), var(--mantine-color-obsidian-1));--surreal-menu-background-color: var(--mantine-color-obsidian-0);--surreal-menu-background: var(--surreal-menu-background-color);--surreal-menu-shadow: 0 8px 18px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .1);--surreal-paper-background: var(--mantine-color-obsidian-0);--surreal-input-background: var(--mantine-color-obsidian-2);--surreal-gradient-gray: linear-gradient(101deg, rgba(111, 121, 136, .15) 3.18%, rgba(111, 121, 136, .3) 100%);--surreal-table-stripe: var(--mantine-color-obsidian-2);--surreal-table-hover-color: var(--mantine-color-obsidian-0)}.mantine-ActionIcon-root[data-variant=surreal]{border-width:1px;border-style:solid}.mantine-CloseButton-root[data-variant=surreal]{color:var(--mantine-color-slate-outline);border:1px solid var(--surreal-glass-subtle)}.mantine-CloseButton-root[data-variant=surreal]:hover{background-color:var(--surreal-glass-subtle)}.mantine-Button-root[data-variant=surreal]{border-width:1px;border-style:solid;backdrop-filter:blur(2px)}.mantine-ActionIcon-root[data-variant=surreal]:disabled{opacity:var(--surreal-opacity-medium)}.mantine-Button-root[data-variant=transparent]:disabled,.mantine-ActionIcon-root[data-variant=transparent]:disabled{background-color:unset;opacity:var(--surreal-opacity-strong)}.mantine-Button-root[data-variant=surreal]:disabled,.mantine-Button-root[data-variant=gradient]:disabled,.mantine-ActionIcon-root[data-variant=surreal]:disabled,.mantine-Checkbox-root[data-variant=surreal]:disabled,.mantine-Radio-root[data-variant=surreal]:disabled{border-color:var(--surreal-glass-subtle);background-color:var(--surreal-glass-subtle);color:var(--mantine-color-text)}.mantine-Checkbox-icon{color:#fff;width:calc(var(--checkbox-size) / 2)}.mantine-Button-root[data-variant=gradient]:hover:not([disabled]){filter:brightness(1.1)}.mantine-InputWrapper-label{color:var(--mantine-color-bright);font-weight:600;margin-bottom:4px}.mantine-InputWrapper-root:is([data-variant=surreal],[data-variant=gradient]) .mantine-Input-input,.mantine-PinInput-input:is([data-variant=surreal],[data-variant=gradient]){--focus-outline: color-mix(in srgb, var(--mantine-color-violet-3) 75%, var(--surreal-glass-subtle));color:var(--mantine-color-bright);font-weight:300;transition:all .25s ease;outline:1px solid transparent}.mantine-InputWrapper-root:is([data-variant=surreal],[data-variant=gradient]) .mantine-Input-input:focus-within,.mantine-PinInput-input:is([data-variant=surreal],[data-variant=gradient]):focus-within{outline-color:var(--focus-outline)}.mantine-InputWrapper-root:is([data-variant=surreal],[data-variant=gradient]) .mantine-Input-input::placeholder,.mantine-PinInput-input:is([data-variant=surreal],[data-variant=gradient])::placeholder{color:var(--mantine-color-text);opacity:var(--surreal-opacity-strong)}.mantine-InputWrapper-root[data-variant=surreal] .mantine-Input-input,.mantine-PinInput-input[data-variant=surreal]{--focus-background: color-mix(in srgb, var(--mantine-color-violet-3) 7%, var(--surreal-input-background));background-color:var(--surreal-input-background)}.mantine-InputWrapper-root[data-variant=surreal] .mantine-Input-input:focus-within,.mantine-PinInput-input[data-variant=surreal]:focus-within{background:var(--focus-background)}.mantine-InputWrapper-root[data-variant=gradient] .mantine-Input-input,.mantine-PinInput-input[data-variant=gradient]{--focus-background: color-mix(in srgb, var(--mantine-color-violet-3) 7%, var(--surreal-glass-subtle));background:linear-gradient(115deg,var(--surreal-glass-subtle),transparent)}.mantine-InputWrapper-root[data-variant=gradient] .mantine-Input-input:focus-within,.mantine-PinInput-input[data-variant=gradient]:focus-within{background:linear-gradient(115deg,var(--focus-background),transparent)}.mantine-Autocomplete-dropdown:is([data-variant=surreal],[data-variant=gradient]){overflow:hidden}.mantine-Autocomplete-dropdown:is([data-variant=surreal],[data-variant=gradient]) .mantine-Autocomplete-options{padding:4px 0 4px 4px}.mantine-Autocomplete-dropdown:is([data-variant=surreal],[data-variant=gradient]) .mantine-Autocomplete-option{border-radius:var(--mantine-radius-xs)}.mantine-Autocomplete-dropdown:is([data-variant=surreal],[data-variant=gradient]) .mantine-Autocomplete-option:hover{background-color:var(--surreal-glass-subtle)}.mantine-Paper-root[data-variant=surreal]{background:var(--surreal-paper-background)}.mantine-Paper-root[data-variant=surreal][data-with-border]{border:1px solid var(--surreal-glass-subtle)}.mantine-Paper-root[data-variant=gradient]{background:var(--surreal-paper-background-gradient)}.mantine-Paper-root[data-variant=gradient][data-with-border]{border:1px solid var(--surreal-glass-subtle)}.mantine-Paper-root[data-variant=glass]{background:var(--surreal-paper-background-glass);box-shadow:0 12px 45px var(--surreal-background-color);backdrop-filter:var(--surreal-blur);-webkit-backdrop-filter:var(--surreal-blur)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.mantine-Paper-root[data-variant=glass]{background:var(--surreal-menu-background-color)}}.mantine-Paper-root[data-variant=glass][data-with-border]{border:1px solid var(--surreal-glass-subtle)}.mantine-ScrollArea-root[data-variant=surreal] .mantine-ScrollArea-scrollbar{transition:opacity .25s ease;opacity:0}.mantine-ScrollArea-root[data-variant=surreal] .mantine-ScrollArea-scrollbar[data-state=visible]{opacity:1}.mantine-ScrollArea-root[data-variant=surreal] .mantine-ScrollArea-scrollbar:hover{background-color:var(--surreal-glass-subtle);border-radius:var(--mantine-radius-xl)}.mantine-Divider-root[data-variant=surreal]{--divider-color: var(--surreal-glass-subtle)}.mantine-Divider-root[data-variant=surreal][data-orientation=horizontal]{border-top:var(--divider-size) solid var(--divider-color)}.mantine-Divider-root[data-variant=surreal][data-orientation=vertical]{border-left:var(--divider-size) solid var(--divider-color)}.mantine-Notification-root[data-variant=spaced],.mantine-Notification-root[data-variant=surreal]{background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);align-items:flex-start;padding:var(--mantine-spacing-md);backdrop-filter:var(--surreal-blur);-webkit-backdrop-filter:var(--surreal-blur)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.mantine-Notification-root[data-variant=spaced],.mantine-Notification-root[data-variant=surreal]{background:var(--surreal-menu-background-color)}}.mantine-Notification-root[data-variant=spaced] .mantine-Notification-title,.mantine-Notification-root[data-variant=surreal] .mantine-Notification-title{color:var(--mantine-color-bright);font-size:var(--mantine-font-size-md);margin-block:var(--mantine-spacing-xs);font-weight:600}.mantine-Notification-root[data-variant=spaced] .mantine-Notification-description,.mantine-Notification-root[data-variant=surreal] .mantine-Notification-description{color:var(--mantine-color-text)}.mantine-Notification-root[data-variant=spaced] .mantine-Notification-icon,.mantine-Notification-root[data-variant=surreal] .mantine-Notification-icon{background-color:transparent;border:1px solid var(--surreal-glass-subtle);padding:15px;color:var(--notification-color);font-size:var(--mantine-font-size-lg)}.mantine-Notification-root[data-variant=spaced] .mantine-Notification-body,.mantine-Notification-root[data-variant=surreal] .mantine-Notification-body{padding-left:var(--mantine-spacing-md)}.mantine-Notification-root[data-variant=spaced] .mantine-Notification-body{padding-left:0}.mantine-Notification-root[data-variant=spaced]:before{display:none}.mantine-Loader-root[data-variant=surreal]:after{border:none;background:conic-gradient(from 0,transparent 15%,var(--loader-color) 100%);mask:radial-gradient(circle at center,transparent 50%,#000 0%)}.mantine-ThemeIcon-root[data-variant=surreal]{border-width:1px;border-style:solid;background-color:transparent;color:var(--ti-color)}.mantine-Tooltip-tooltip[data-variant=surreal]{color:var(--tooltip-color, var(--mantine-color-text));background-color:var(--tooltip-bg, var(--mantine-color-obsidian-5));box-shadow:var(--mantine-shadow-md);padding-block:var(--mantine-spacing-xs);padding-inline:var(--mantine-spacing-md);color:#fff}.mantine-Popover-dropdown[data-variant=surreal],.mantine-HoverCard-dropdown[data-variant=surreal],.mantine-Menu-dropdown[data-variant=surreal]{background:var(--surreal-menu-background-color);background-color:var(--surreal-menu-background);border:1px solid var(--surreal-glass-subtle);border-radius:var(--mantine-radius-sm);box-shadow:var(--surreal-menu-shadow);backdrop-filter:var(--surreal-blur);-webkit-backdrop-filter:var(--surreal-blur)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.mantine-Popover-dropdown[data-variant=surreal],.mantine-HoverCard-dropdown[data-variant=surreal],.mantine-Menu-dropdown[data-variant=surreal]{background:var(--surreal-menu-background-color)}}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-divider,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-divider,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-divider{border-color:var(--surreal-glass-subtle);margin-inline:calc(var(--mantine-spacing-xs) * -1);margin-block:var(--mantine-spacing-xs)}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-label,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-label,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-label{color:var(--mantine-color-bright);opacity:var(--surreal-opacity-strong);font-size:var(--mantine-font-size-xs);font-weight:600}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-item,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-item,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-item{border-radius:100px;color:var(--mantine-color-bright);padding-block:var(--mantine-spacing-xs);font-weight:500}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-item:hover,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-item:hover,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-item:hover{background-color:var(--menu-item-hover, var(--surreal-glass-subtle))}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=left],.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=left],.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=left]{margin-right:var(--mantine-spacing-sm)}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=right],.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=right],.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-itemSection[data-position=right]{margin-left:var(--mantine-spacing-sm)}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-itemSection svg,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-itemSection svg,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-itemSection svg{opacity:var(--surreal-opacity-strong)}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient],.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient],.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient]{background:var(--surreal-gradient);color:#fff}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient] .mantine-Menu-itemSection svg,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient] .mantine-Menu-itemSection svg,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-item[data-variant=gradient] .mantine-Menu-itemSection svg{opacity:1}.mantine-Popover-dropdown[data-variant=surreal] .mantine-Select-option:hover,.mantine-HoverCard-dropdown[data-variant=surreal] .mantine-Select-option:hover,.mantine-Menu-dropdown[data-variant=surreal] .mantine-Select-option:hover{background-color:var(--surreal-glass-subtle)}.mantine-Popover-dropdown[data-variant=transparent],.mantine-HoverCard-dropdown[data-variant=transparent]{background-color:transparent;border:unset;padding:0}.mantine-Modal-root[data-variant=glass] .mantine-Modal-inner,.mantine-Modal-root[data-variant=surreal] .mantine-Modal-inner{overflow-y:auto;display:grid}.mantine-Modal-root[data-variant=glass] .mantine-Modal-content,.mantine-Modal-root[data-variant=surreal] .mantine-Modal-content{border-radius:var(--mantine-radius-xs);overflow-y:unset;max-height:unset;width:var(--modal-size);max-width:calc(100vw - var(--modal-inner-x-offset, var(--modal-x-offset)) * 2);box-shadow:var(--mantine-shadow-xl),var(--mantine-shadow-xl),var(--mantine-shadow-xl),var(--mantine-shadow-lg),var(--mantine-shadow-md)}.mantine-Modal-root[data-variant=glass] .mantine-Modal-header,.mantine-Modal-root[data-variant=surreal] .mantine-Modal-header{background-color:unset;position:static;padding-block:0;padding-inline:var(--mantine-spacing-xl)}.mantine-Modal-root[data-variant=glass] .mantine-Modal-title,.mantine-Modal-root[data-variant=surreal] .mantine-Modal-title{font-size:1.25rem;color:var(--mantine-color-bright);font-weight:600}.mantine-Modal-root[data-variant=glass] .mantine-Modal-header{border:none;margin-bottom:0}.mantine-Modal-root[data-variant=glass] .mantine-Modal-content{background-color:color-mix(in srgb,var(--mantine-color-slate-6) calc(var(--surreal-opacity-strong) * 100%),transparent);background-color:var(--surreal-glass-subtle);backdrop-filter:var(--surreal-blur);-webkit-backdrop-filter:var(--surreal-blur)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.mantine-Modal-root[data-variant=glass] .mantine-Modal-content{background:var(--surreal-menu-background-color)}}.mantine-Overlay-root[data-variant=surreal]{background-color:rgba(from var(--surreal-overlay-color) r g b/.75)}.mantine-Anchor-root[data-variant=surreal]{color:var(--mantine-color-bright)}.mantine-Anchor-root[data-variant=surreal]:hover,.mantine-Anchor-root[data-variant=surreal]:focus-within{color:var(--mantine-color-violet-text)}.mantine-Anchor-root[data-variant=vibrant]{color:var(--mantine-color-violet-text)}.mantine-Anchor-root[data-variant=vibrant]:hover,.mantine-Anchor-root[data-variant=vibrant]:focus-within{color:var(--mantine-color-bright)}.mantine-Anchor-root[data-variant=glow]>div{position:relative}.mantine-Anchor-root[data-variant=glow]>div:before,.mantine-Anchor-root[data-variant=glow]>div:after{content:"";position:absolute;pointer-events:none;transition:all .25s ease;inset:9px;z-index:-2;opacity:0;filter:blur(6px);mix-blend-mode:screen}.mantine-Anchor-root[data-variant=glow]>div:before{background:radial-gradient(120% 170% at 0% 0%,var(--surreal-energy) 0%,rgba(197,91,255,0) 50%),radial-gradient(120% 170% at 100% 100%,var(--surreal-passion) 0%,rgba(96,114,255,0) 50%)}.mantine-Anchor-root[data-variant=glow]>div:after{background:radial-gradient(100% 100% at 0% 0%,var(--surreal-energy) 0%,rgba(197,91,255,0) 35%),radial-gradient(100% 100% at 100% 100%,var(--surreal-passion) 0%,rgba(96,114,255,0) 35%)}.mantine-Anchor-root[data-variant=glow]>div:hover:before,.mantine-Anchor-root[data-variant=glow]>div:hover:after{inset:-9px;opacity:1}.mantine-Badge-root[data-variant=surreal]{border-radius:var(--mantine-radius-xl);background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);color:var(--mantine-color-bright)}.mantine-Checkbox-root[data-variant=gradient] .mantine-Checkbox-input,.mantine-Checkbox-root[data-variant=surreal] .mantine-Checkbox-input{border-radius:var(--mantine-radius-xs);background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);color:var(--mantine-color-bright)}.mantine-Checkbox-root[data-variant=gradient] .mantine-Checkbox-input:checked,.mantine-Checkbox-root[data-variant=surreal] .mantine-Checkbox-input:checked{background-color:var(--checkbox-color)}.mantine-Checkbox-root[data-variant=gradient] .mantine-Checkbox-label,.mantine-Checkbox-root[data-variant=surreal] .mantine-Checkbox-label{user-select:none}.mantine-Checkbox-root[data-variant=gradient] .mantine-Checkbox-input:checked{background:var(--surreal-gradient);background-origin:border-box}.mantine-Radio-root[data-variant=gradient] .mantine-Radio-radio,.mantine-Radio-root[data-variant=surreal] .mantine-Radio-radio{background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);color:var(--mantine-color-bright)}.mantine-Radio-root[data-variant=gradient] .mantine-Radio-radio:checked,.mantine-Radio-root[data-variant=surreal] .mantine-Radio-radio:checked{background-color:var(--radio-color)}.mantine-Radio-root[data-variant=gradient] .mantine-Radio-label,.mantine-Radio-root[data-variant=surreal] .mantine-Radio-label{user-select:none}.mantine-Radio-root[data-variant=gradient] .mantine-Radio-radio:checked{background:var(--surreal-gradient);background-origin:border-box}.mantine-Switch-root[data-variant=gradient] .mantine-Switch-track,.mantine-Switch-root[data-variant=surreal] .mantine-Switch-track{background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);cursor:pointer}.mantine-Switch-root[data-variant=gradient] .mantine-Switch-input:checked+.mantine-Switch-track,.mantine-Switch-root[data-variant=surreal] .mantine-Switch-input:checked+.mantine-Switch-track{background-color:var(--switch-color)}.mantine-Switch-root[data-variant=gradient] .mantine-Switch-input:checked+.mantine-Switch-track{background:var(--surreal-gradient);background-origin:border-box}.mantine-Tabs-tab[data-variant=surreal]{border:1px solid var(--surreal-glass-subtle);border-radius:var(--mantine-radius-xl)}.mantine-Tabs-tab[data-variant=surreal][aria-selected=true]{border:1px solid var(--surreal-glass-subtle);background-color:var(--surreal-glass-subtle)}.mantine-Tabs-tab[data-variant=surreal][aria-selected=false]{border:1px solid transparent;background-color:transparent}.mantine-Skeleton-root[data-variant=surreal]:before{background-color:transparent}.mantine-Skeleton-root[data-variant=surreal]:after{background-color:var(--surreal-glass-subtle);animation-timing-function:cubic-bezier(.47,0,.745,.715)}.mantine-SegmentedControl-root[data-variant=surreal]{background-color:transparent;overflow:visible}.mantine-SegmentedControl-root[data-variant=surreal] .mantine-SegmentedControl-indicator{border-radius:3px 3px 0 0;top:unset;bottom:0;height:5px!important;background:var(--surreal-gradient)}.mantine-NavLink-root[data-variant=surreal]{transition:background-color .25s ease;border-radius:var(--mantine-radius-lg);padding:var(--mantine-spacing-xs)}.mantine-NavLink-root[data-variant=surreal] .mantine-NavLink-label{font-weight:500;color:var(--mantine-color-bright)}.mantine-NavLink-root[data-variant=surreal] .mantine-NavLink-description{font-size:var(--mantine-font-size-xs);color:var(--mantine-color-slate-2);opacity:var(--surreal-opacity-strong)}.mantine-NavLink-root[data-variant=surreal]:hover{background-color:var(--surreal-glass-subtle)}.mantine-Kbd-root[data-variant=surreal]{background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);color:var(--mantine-color-bright);border-radius:var(--mantine-radius-xs)}.mantine-Title-root[data-variant=surreal-gradient]{color:var(--mantine-color-bright);background:var(--surreal-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.mantine-Title-root[data-variant=gradient]{color:var(--mantine-color-bright);background:var(--surreal-text-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.mantine-Tabs-list[data-variant=gradient]{background:var(--surreal-paper-background-gradient);border:1px solid var(--surreal-glass-subtle);border-radius:var(--mantine-radius-xl);padding:4px;gap:4px;width:fit-content}.mantine-Tabs-tab[data-variant=gradient]{border-radius:var(--mantine-radius-xl);border:1px solid transparent;color:var(--mantine-color-bright);transition:background-color .2s ease,color .2s ease,border-color .2s ease;background-origin:border-box}.mantine-Tabs-tab[data-variant=gradient][aria-selected=true]{background:var(--surreal-gradient);border-color:var(--surreal-glass-subtle);color:var(--mantine-color-obsidian-0);background-origin:border-box}.mantine-Tabs-tab[data-variant=gradient][aria-selected=false]:hover{background-color:var(--surreal-glass-subtle);color:var(--mantine-color-bright)}.mantine-Pagination-root[data-variant=surreal] .mantine-Pagination-control{border-radius:var(--mantine-radius-xl);border:1px solid var(--surreal-glass-subtle);background-color:transparent;color:var(--mantine-color-bright)}.mantine-Pagination-root[data-variant=surreal] .mantine-Pagination-control[data-active=true]{background:var(--surreal-gradient-gray)}.mantine-Pagination-root[data-variant=surreal] .mantine-Pagination-control:hover{background-color:var(--surreal-glass-subtle)}.mantine-TagsInput-root:is([data-variant=surreal],[data-variant=gradient]) .mantine-TagsInput-pill,.mantine-TagsInput-root:is([data-variant=surreal],[data-variant=gradient]) .mantine-MultiSelect-pill,.mantine-MultiSelect-root:is([data-variant=surreal],[data-variant=gradient]) .mantine-TagsInput-pill,.mantine-MultiSelect-root:is([data-variant=surreal],[data-variant=gradient]) .mantine-MultiSelect-pill{background-color:var(--surreal-pill-background);font-weight:500}.mantine-TagsInput-root:is([data-variant=surreal],[data-variant=gradient]) .mantine-Pill-remove svg,.mantine-MultiSelect-root:is([data-variant=surreal],[data-variant=gradient]) .mantine-Pill-remove svg{width:var(--cb-icon-size, 70%)!important;height:var(--cb-icon-size, 70%)!important}.mantine-Table-table[data-variant=surreal]{--table-border-color: var(--surreal-glass-subtle) !important;--table-striped-color: var(--surreal-table-stripe) !important;--table-hover-color: var(--surreal-table-hover-color) !important}.mantine-Alert-root[data-variant=surreal]{border:none;border-left:4px solid var(--alert-color);background-color:var(--surreal-glass-subtle);white-space:pre-wrap}._root_hzrc8_1{vertical-align:middle;flex-shrink:0;color:var(--icon-color);width:var(--icon-size);height:var(--icon-size)}._root_hzrc8_1[flip=horizontal],._root_hzrc8_1[flip=both]{transform:scaleX(-1)}._root_hzrc8_1[flip=vertical],._root_hzrc8_1[flip=both]{transform:scaleY(-1)}._path_hzrc8_15{fill:currentColor}._spinning_hzrc8_19{animation:_spin_hzrc8_19 .5s linear infinite}@keyframes _spin_hzrc8_19{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._details_11g18_1{background:var(--surreal-paper-background-gradient);border:1px solid var(--surreal-glass-subtle);border-radius:var(--mantine-radius-xs);padding:var(--mantine-spacing-xl);position:relative;overflow:hidden}._details_11g18_1::details-content{display:flex;flex-direction:column;gap:var(--mantine-spacing-md)}._details_11g18_1:before{content:" ";background:var(--surreal-gradient);position:absolute;width:100%;height:200px;border-radius:100000px;left:0;right:0;margin:0 auto;top:-220px;filter:blur(50px);pointer-events:none;z-index:0}._summary_11g18_32{color:var(--mantine-color-bright);font-size:var(--mantine-spacing-lg);display:flex;justify-content:space-between;align-items:center;cursor:pointer;z-index:1;position:relative}._details_11g18_1[open]>._summary_11g18_32{margin-bottom:var(--mantine-spacing-lg)}._chevron_11g18_47{transition:all .1s ease}._details_11g18_1[open]>._chevron_11g18_47{rotate:90deg}._details_11g18_1>._details_11g18_1{margin-top:var(--mantine-spacing-sm);margin-bottom:var(--mantine-spacing-sm)}._spinner_1dhyf_1{stroke:var(--spinner-color);width:var(--spinner-size);height:var(--spinner-size)}._spinner_g_1dhyf_7{transform-origin:center;animation:_spinner-rotate_1dhyf_1 2s linear infinite}._spinner_circle_1dhyf_12{stroke-linecap:round;animation:_spinner-dash_1dhyf_1 1.5s ease-in-out infinite}@keyframes _spinner-rotate_1dhyf_1{to{transform:rotate(360deg)}}@keyframes _spinner-dash_1dhyf_1{0%{stroke-dasharray:0 150;stroke-dashoffset:0}47.5%{stroke-dasharray:42 150;stroke-dashoffset:-16}95%,to{stroke-dasharray:42 150;stroke-dashoffset:-59}}._loader_mqlxq_1{display:flex;align-items:center;justify-content:center;gap:var(--mantine-spacing-md);transition:opacity .25s ease}._container_mqlxq_9[data-loading=false] ._loader_mqlxq_1{opacity:0;pointer-events:none}._mini_mqlxq_14{transition:opacity .25s ease}._container_mqlxq_9[data-loading=true] ._mini_mqlxq_14{opacity:0}._controls_ycnxv_1{position:absolute;display:flex;gap:8px;padding:8px;background:#0009;opacity:0;pointer-events:none;transition:opacity .15s ease;border-radius:4px;z-index:2}._thumbnail_ycnxv_14{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:1}._videoPlayer_ycnxv_24:hover ._controls_ycnxv_1,._videoPlayer_ycnxv_24:focus-within ._controls_ycnxv_1{opacity:1;pointer-events:auto}._controlsVisible_ycnxv_30{opacity:1;pointer-events:auto}._controlsTopLeft_ycnxv_35{top:12px;left:12px}._controlsTopRight_ycnxv_40{top:12px;right:12px}._controlsBottomLeft_ycnxv_45{bottom:12px;left:12px}._controlsBottomRight_ycnxv_50{bottom:12px;right:12px}._progress_ycnxv_55{position:absolute;left:0;right:0;bottom:0;height:6px;padding:0;border:0;background:#ffffff59;cursor:pointer;display:block;opacity:0;pointer-events:none;transition:opacity .15s ease 1s;margin-inline:-4px;z-index:2}._videoPlayer_ycnxv_24:hover ._progress_ycnxv_55,._videoPlayer_ycnxv_24:focus-within ._progress_ycnxv_55{opacity:1;pointer-events:auto;transition-delay:0s}._progress_ycnxv_55:disabled{cursor:default;opacity:.6}._progress_ycnxv_55:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:2px}._progressFill_ycnxv_90{height:100%;background:#fffffff2}._progressTooltip_ycnxv_95{position:absolute;bottom:100%;transform:translate(-50%);margin-bottom:8px;padding:4px 8px;border-radius:4px;background:#000c;color:#fff;font-size:12px;line-height:1;white-space:nowrap;pointer-events:none}._root_19akq_1{position:relative;font-family:var(--mantine-font-family)}._floatingActions_19akq_6{transform:translateY(-50%)}._root_1ph8i_1 .mantine-Button-label{opacity:var(--surrealist-opacity-strong)}._root_1ph8i_1:hover .mantine-Button-label{opacity:1}._root_197cu_1{min-height:0;flex:1}._editor_197cu_6{position:absolute;inset:0}._root_wixeq_1{display:block}._root_wixeq_1 text{font-family:var(--mantine-font-family-monospace);font-size:var(--mantine-font-size-xs);fill:var(--mantine-color-bright)}._root_wixeq_1 line,._root_wixeq_1 path{stroke:var(--mantine-color-slate-4);stroke-width:2;fill:none}._root_wixeq_1 rect{fill:var(--surreal-paper-background);stroke-width:2}._root_wixeq_1 ._terminal_wixeq_19 rect{stroke:var(--mantine-color-slate-4)}._root_wixeq_1 ._nonTerminal_wixeq_22 rect{stroke:var(--mantine-color-violet-4)}._root_wixeq_1 ._comment_wixeq_25{fill:var(--mantine-color-text)}
|
|
3
3
|
|
|
4
4
|
}
|
package/dist/ui.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { ButtonProps } from '@mantine/core';
|
|
|
8
8
|
import { CalloutElementMap } from '@yoopta/callout/dist/types';
|
|
9
9
|
import { CodeProps } from '@mantine/core';
|
|
10
10
|
import { Command } from '@codemirror/view';
|
|
11
|
+
import { default as default_2 } from 'github-slugger';
|
|
11
12
|
import { DividerElementMap } from '@yoopta/divider/dist/types';
|
|
12
13
|
import { EditorSelection } from '@codemirror/state';
|
|
13
14
|
import { EditorView } from '@codemirror/view';
|
|
@@ -27,6 +28,7 @@ import { MantineFontSize } from '@mantine/core';
|
|
|
27
28
|
import { MantineSize } from '@mantine/core';
|
|
28
29
|
import { MantineThemeOverride } from '@mantine/core';
|
|
29
30
|
import { PaperProps } from '@mantine/core';
|
|
31
|
+
import { PropsWithChildren } from 'react';
|
|
30
32
|
import type * as React_2 from 'react';
|
|
31
33
|
import { ReactNode } from 'react';
|
|
32
34
|
import { RefObject } from 'react';
|
|
@@ -395,6 +397,26 @@ export declare interface CommonAttrs {
|
|
|
395
397
|
*/
|
|
396
398
|
export declare const commonExtensions: () => Extension;
|
|
397
399
|
|
|
400
|
+
export declare function ConfirmationProvider({ enterConfirms, children, }: PropsWithChildren<ConfirmationProviderProps>): ReactNode;
|
|
401
|
+
|
|
402
|
+
export declare interface ConfirmationProviderProps {
|
|
403
|
+
enterConfirms?: boolean;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
export declare interface ConfirmOptions<T> {
|
|
407
|
+
title?: DynamicNode<T>;
|
|
408
|
+
message: DynamicNode<T>;
|
|
409
|
+
skippable?: boolean;
|
|
410
|
+
dismissText?: DynamicNode<T>;
|
|
411
|
+
dismissProps?: ButtonProps;
|
|
412
|
+
confirmText?: DynamicNode<T>;
|
|
413
|
+
confirmProps?: ButtonProps;
|
|
414
|
+
verification?: string;
|
|
415
|
+
verifyText?: ReactNode;
|
|
416
|
+
onDismiss?: () => void;
|
|
417
|
+
onConfirm: (value: T) => void;
|
|
418
|
+
}
|
|
419
|
+
|
|
398
420
|
/**
|
|
399
421
|
* Get a cached style highlighter for the given color scheme
|
|
400
422
|
*/
|
|
@@ -471,6 +493,8 @@ export declare interface DivNode extends CommonAttrs {
|
|
|
471
493
|
children: BlockNode[];
|
|
472
494
|
}
|
|
473
495
|
|
|
496
|
+
declare type DynamicNode<T> = ReactNode | ((value: T) => ReactNode);
|
|
497
|
+
|
|
474
498
|
export declare interface EditorController {
|
|
475
499
|
ref: RefObject<HTMLDivElement | null>;
|
|
476
500
|
mounted: boolean;
|
|
@@ -627,6 +651,8 @@ export declare const iconChart: string;
|
|
|
627
651
|
|
|
628
652
|
export declare const iconChat: string;
|
|
629
653
|
|
|
654
|
+
export declare const iconChatGPT: string;
|
|
655
|
+
|
|
630
656
|
export declare const iconCheck: string;
|
|
631
657
|
|
|
632
658
|
export declare const iconCheckCircle: string;
|
|
@@ -645,6 +671,8 @@ export declare const iconCircle: string;
|
|
|
645
671
|
|
|
646
672
|
export declare const iconCircleFilled: string;
|
|
647
673
|
|
|
674
|
+
export declare const iconClaude: string;
|
|
675
|
+
|
|
648
676
|
export declare const iconClock: string;
|
|
649
677
|
|
|
650
678
|
export declare const iconClose: string;
|
|
@@ -1197,6 +1225,7 @@ export declare interface ParserState {
|
|
|
1197
1225
|
stack: string[];
|
|
1198
1226
|
root: BlockNode[];
|
|
1199
1227
|
currentContainer: BlockNode[];
|
|
1228
|
+
slugger: default_2;
|
|
1200
1229
|
}
|
|
1201
1230
|
|
|
1202
1231
|
export declare const picto2106: string;
|
|
@@ -1945,6 +1974,11 @@ export declare type TypeVisitor<T extends AnyNode> = (node: T, index: number | u
|
|
|
1945
1974
|
|
|
1946
1975
|
export declare function useBlockOptions(): BlockOptionsContextValue;
|
|
1947
1976
|
|
|
1977
|
+
/**
|
|
1978
|
+
* Returns a function which can be used to trigger a confirmation dialog
|
|
1979
|
+
*/
|
|
1980
|
+
export declare function useConfirmation<T = void>(options: ConfirmOptions<T>): (value?: T) => void;
|
|
1981
|
+
|
|
1948
1982
|
export declare function useEditor(options?: EditorOptions): EditorController;
|
|
1949
1983
|
|
|
1950
1984
|
/**
|
|
@@ -2044,7 +2078,7 @@ export { }
|
|
|
2044
2078
|
|
|
2045
2079
|
declare module "@mantine/core" {
|
|
2046
2080
|
type SurrealVariant = "surreal";
|
|
2047
|
-
type SurrealInputVariant = SurrealVariant | "
|
|
2081
|
+
type SurrealInputVariant = SurrealVariant | "gradient";
|
|
2048
2082
|
interface ActionIconProps {
|
|
2049
2083
|
variant?: import("@mantine/core").ActionIconVariant | SurrealVariant;
|
|
2050
2084
|
}
|
|
@@ -2061,7 +2095,19 @@ declare module "@mantine/core" {
|
|
|
2061
2095
|
variant?: import("@mantine/core").InputVariant | SurrealInputVariant;
|
|
2062
2096
|
}
|
|
2063
2097
|
interface AutocompleteProps {
|
|
2064
|
-
variant?: import("@mantine/core").InputVariant |
|
|
2098
|
+
variant?: import("@mantine/core").InputVariant | SurrealInputVariant;
|
|
2099
|
+
}
|
|
2100
|
+
interface TextareaProps {
|
|
2101
|
+
variant?: import("@mantine/core").InputVariant | SurrealInputVariant;
|
|
2102
|
+
}
|
|
2103
|
+
interface NumberInputProps {
|
|
2104
|
+
variant?: import("@mantine/core").InputVariant | SurrealInputVariant;
|
|
2105
|
+
}
|
|
2106
|
+
interface TagsInputProps {
|
|
2107
|
+
variant?: import("@mantine/core").InputVariant | SurrealInputVariant;
|
|
2108
|
+
}
|
|
2109
|
+
interface MultiSelectProps {
|
|
2110
|
+
variant?: import("@mantine/core").InputVariant | SurrealInputVariant;
|
|
2065
2111
|
}
|
|
2066
2112
|
interface DividerProps {
|
|
2067
2113
|
variant?: import("@mantine/core").DividerVariant | SurrealVariant;
|
|
@@ -2087,11 +2133,14 @@ declare module "@mantine/core" {
|
|
|
2087
2133
|
interface PasswordInputProps {
|
|
2088
2134
|
variant?: import("@mantine/core").InputVariant | SurrealInputVariant;
|
|
2089
2135
|
}
|
|
2136
|
+
interface PinInputProps {
|
|
2137
|
+
variant?: import("@mantine/core").InputVariant | SurrealInputVariant;
|
|
2138
|
+
}
|
|
2090
2139
|
interface NavLinkProps {
|
|
2091
2140
|
variant?: import("@mantine/core").NavLinkVariant | SurrealVariant;
|
|
2092
2141
|
}
|
|
2093
2142
|
interface PaperProps {
|
|
2094
|
-
variant?: SurrealVariant | "glass" | "
|
|
2143
|
+
variant?: SurrealVariant | "glass" | "gradient";
|
|
2095
2144
|
}
|
|
2096
2145
|
interface ScrollAreaProps {
|
|
2097
2146
|
variant?: SurrealVariant;
|