@surrealdb/ui 1.0.25 → 1.0.26

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/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-paper-background: color-mix(in srgb, var(--mantine-color-slate-7) calc(var(--surreal-opacity-strong) * 100%), transparent);--surreal-pink: #ff00a0;--surreal-purple: #9800ff;--surreal-energy: #D255FE;--surreal-passion: #651DDD}.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}.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-ActionIcon-root[data-variant=surreal]:disabled,.mantine-Checkbox-root[data-variant=surreal]:disabled{border-color:var(--surreal-glass-subtle);background-color:var(--surreal-glass-subtle);color:var(--mantine-color-slate-outline)}.mantine-Button-root[data-variant=gradient]{border:1px solid var(--surreal-glass-medium);background-origin:border-box}.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=surreal] .mantine-Input-input{color:var(--mantine-color-bright);background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);transition:all .25s ease}.mantine-InputWrapper-root[data-variant=surreal] .mantine-Input-input:focus-within{border-color:color-mix(in srgb,var(--mantine-color-violet-3) 75%,var(--surreal-glass-subtle));background-color:color-mix(in srgb,var(--mantine-color-violet-3) 10%,var(--surreal-glass-subtle))}.mantine-InputWrapper-root[data-variant=surreal] .mantine-Input-input::placeholder{color:var(--surreal-glass-medium)}.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-xl)}.mantine-Autocomplete-dropdown[data-variant=surreal] .mantine-Autocomplete-option:hover{background-color:var(--surreal-glass-subtle)}.mantine-Paper-root[data-variant=surreal]{background:linear-gradient(135deg,var(--mantine-color-obsidian-8),var(--mantine-color-obsidian-9))}.mantine-Paper-root[data-variant=surreal][data-with-border]{border:1px solid var(--surreal-glass-subtle)}.mantine-Paper-root[data-variant=glass]{background:linear-gradient(135deg,var(--mantine-color-obsidian-8),rgba(from var(--mantine-color-obsidian-9) r g b/0));backdrop-filter:var(--surreal-blur);box-shadow:0 12px 45px var(--mantine-color-obsidian-9)}.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=surreal]{background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);backdrop-filter:var(--surreal-blur);align-items:flex-start;padding:var(--mantine-spacing-md)}.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=surreal] .mantine-Notification-description{color:var(--mantine-color-slate-2)}.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:5rem}.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-violet-8));border:1px solid var(--tooltip-bg, var(--mantine-color-violet-8));box-shadow:var(--mantine-shadow-md);padding-block:var(--mantine-spacing-xs);padding-inline:var(--mantine-spacing-md);color:#fff}:root[data-mantine-color-scheme=light] .mantine-Tooltip-tooltip[data-variant=surreal]{background-color:var(--tooltip-bg, var(--mantine-color-violet-4));border-color:var(--tooltip-bg, var(--mantine-color-violet-4))}.mantine-Menu-dropdown[data-variant=surreal]{background-color:color-mix(in srgb,var(--mantine-color-slate-6) calc(var(--surreal-opacity-strong) * 100%),transparent);background-color:var(--surreal-glass-subtle);border:1px solid rgba(255,255,255,.125);backdrop-filter:var(--surreal-blur);border-radius:22px;padding:0}.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-divider{border-color:#ffffff20;margin-inline:0;margin-block:var(--mantine-spacing-xs)}.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-Menu-dropdown[data-variant=surreal] .mantine-Menu-item{border-radius:100px;color:var(--mantine-color-bright);font-weight:500}.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-item:hover{background-color:var(--surreal-glass-subtle)}.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-itemSection svg{opacity:var(--surreal-opacity-strong)}.mantine-Popover-dropdown[data-variant=surreal],.mantine-HoverCard-dropdown[data-variant=surreal]{background-color:color-mix(in srgb,var(--mantine-color-slate-6) calc(var(--surreal-opacity-strong) * 100%),transparent);background-color:var(--surreal-glass-subtle);border:1px solid rgba(255,255,255,.125);backdrop-filter:var(--surreal-blur);border-radius:22px;padding:0}.mantine-Popover-dropdown[data-variant=transparent],.mantine-HoverCard-dropdown[data-variant=transparent]{background-color:transparent;border:unset;padding:0}.mantine-Modal-root[data-variant=fluid] .mantine-Modal-inner,.mantine-Modal-root[data-variant=surreal] .mantine-Modal-inner{overflow-y:auto;display:grid}.mantine-Modal-root[data-variant=fluid] .mantine-Modal-content,.mantine-Modal-root[data-variant=surreal] .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);border:1px solid rgba(255,255,255,.125);backdrop-filter:var(--surreal-blur);border-radius:22px;overflow-y:unset;max-height:unset;width:var(--modal-size)}.mantine-Modal-root[data-variant=fluid] .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=fluid] .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=fluid] .mantine-Modal-header{border:none;margin-bottom:0}.mantine-Overlay-root[data-variant=surreal]{background-color:color-mix(in srgb,var(--mantine-color-slate-9),transparent)}.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=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-Select-root[data-variant=surreal] input{border-radius:var(--mantine-radius-xl)}.mantine-Badge-root[data-variant=surreal],.mantine-Checkbox-root[data-variant=gradient] .mantine-Checkbox-input,.mantine-Checkbox-root[data-variant=surreal] .mantine-Checkbox-input{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: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:linear-gradient(135deg,var(--surreal-energy),var(--surreal-passion));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)}.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:linear-gradient(135deg,var(--surreal-energy),var(--surreal-passion));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]{background-color:var(--surreal-glass-subtle)}.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:4px!important;background:linear-gradient(to bottom,var(--surreal-gradient-from),var(--surreal-gradient-to))}.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=gradient]{color:var(--mantine-color-bright);background:linear-gradient(180deg,var(--mantine-color-slate-0),var(--mantine-color-slate-3));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.mantine-Tabs-list[data-variant=gradient]{background:linear-gradient(135deg,var(--mantine-color-obsidian-8),var(--mantine-color-obsidian-9));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-slate-2);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:linear-gradient(135deg,var(--surreal-energy),var(--surreal-passion));border-color:var(--surreal-glass-subtle);color:var(--mantine-color-bright);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)}._root_744ed_1{vertical-align:middle;flex-shrink:0}._path_744ed_6{fill:currentColor}._spinning_744ed_10{animation:_spin_744ed_10 .5s linear infinite}@keyframes _spin_744ed_10{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._details_jcz73_1{background-color:var(--mantine-color-obsidian-8);border:2px solid var(--mantine-color-obsidian-4);border-radius:var(--mantine-radius-lg);padding:var(--mantine-spacing-xl);position:relative;overflow:hidden}._details_jcz73_1:before{content:" ";background:linear-gradient(120deg,var(--surreal-pink),var(--surreal-purple));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_jcz73_26{color:var(--mantine-color-slate-0);font-size:var(--mantine-spacing-lg);display:flex;justify-content:space-between;align-items:center;cursor:pointer;z-index:1;position:relative}._details_jcz73_1[open] ._summary_jcz73_26{margin-bottom:var(--mantine-spacing-md)}._chevron_jcz73_41{transition:all .1s ease}._details_jcz73_1[open] ._chevron_jcz73_41{rotate:90deg}._root_1ph8i_1 .mantine-Button-label{opacity:var(--surrealist-opacity-strong)}._root_1ph8i_1:hover .mantine-Button-label{opacity:1}._root_f9ked_1{min-height:0;flex:1}._root_f9ked_1 .cm-editor{outline:none;height:100%}._root_f9ked_1 .cm-scroller{font-family:var(--mantine-font-family-monospace)}._root_f9ked_1[data-padding] .cm-scroller{padding:var(--mantine-spacing-sm)}._root_f9ked_1 .cm-gutters{border-right:none}._root_f9ked_1 .cm-gutters,._root_f9ked_1 .cm-gutterElement{background-color:unset}._root_f9ked_1 .cm-lineNumbers{color:var(--mantine-color-slate-5)}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-lineNumbers{color:var(--mantine-color-slate-3)}._root_f9ked_1 .cm-activeLineGutter{color:var(--mantine-color-slate-2)}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-activeLineGutter{color:var(--mantine-color-slate-9)}._root_f9ked_1 .cm-cursor,._root_f9ked_1 .cm-dropCursor{border-color:currentColor;border-width:2px}._root_f9ked_1 .cm-selectionBackground{background-color:#479aff66!important}._root_f9ked_1 .cm-selectionMatch{background-color:transparent!important}._root_f9ked_1 .cm-searchMatch{background-color:var(--mantine-color-surreal-6)!important;border-radius:6px}._root_f9ked_1 .cm-searchMatch *{color:#fff}._root_f9ked_1 .cm-foldPlaceholder{background-color:var(--mantine-color-slate-6);border:none}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-foldPlaceholder{background-color:var(--mantine-color-slate-1)}._root_f9ked_1 .cm-tooltip{box-shadow:var(--mantine-shadow-md);border-radius:var(--mantine-radius-sm);border-color:var(--mantine-color-dark-4);background-color:color-mix(in srgb,var(--mantine-color-body) 75%,transparent);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-tooltip{border-color:var(--mantine-color-slate-2)}._root_f9ked_1 .cm-tooltip-autocomplete{padding:var(--mantine-spacing-xs)}._root_f9ked_1 .cm-tooltip-autocomplete ul{font-family:var(--mantine-font-family-monospace)!important}._root_f9ked_1 .cm-tooltip-autocomplete ul li{border-radius:var(--mantine-radius-sm);color:var(--mantine-color-slate-1)}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-tooltip-autocomplete ul li{color:var(--mantine-color-slate-6)}._root_f9ked_1 .cm-tooltip-autocomplete ul li[aria-selected]{background-color:var(--mantine-color-slate-6);color:var(--mantine-color-bright)!important}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-tooltip-autocomplete ul li[aria-selected]{background-color:var(--mantine-color-slate-1)}._root_f9ked_1 .cm-completionMatchedText{text-decoration:none;font-weight:600}._root_f9ked_1 .cm-panels{z-index:1;background-color:var(--mantine-body-color);border-color:var(--mantine-color-slate-7)}._root_f9ked_1 .cm-panels label{display:inline-flex;align-items:center;color:var(--mantine-color-bright)}._root_f9ked_1 .cm-panels button{color:var(--mantine-color-bright);background-image:unset!important;background-color:var(--mantine-color-body);border-radius:var(--mantine-radius-xs);border-color:var(--mantine-color-slate-6)}._root_f9ked_1 .cm-panels button:active{background-color:var(--mantine-color-slate-6)!important}._root_f9ked_1 .cm-panels input{background-color:var(--mantine-color-slate-6);border-radius:var(--mantine-radius-xs);color:var(--mantine-color-bright);border:none;outline:none}._root_f9ked_1 .cm-panels input[type=checkbox]{accent-color:var(--mantine-color-surreal-7)}._root_f9ked_1 .cm-panels button:focus-visible,._root_f9ked_1 .cm-panels input:focus-visible{outline:2px solid var(--mantine-primary-color-filled);outline-offset:calc(.125rem * var(--mantine-scale));border-radius:var(--mantine-radius-xs)}._root_f9ked_1 .cm-panels button[name=close]{width:24px;height:24px;transform:translateY(4px)}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-panels{border-color:var(--mantine-color-slate-2)}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-panels button{border-color:var(--mantine-color-slate-2)}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-panels button:active{background-color:var(--mantine-color-slate-2)!important}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-panels input{background-color:var(--mantine-color-slate-1)}._root_f9ked_1 .cm-gotoLine input{margin-left:var(--mantine-spacing-xs)}._root_f9ked_1 .cm-completionIcon{padding-left:4px;opacity:1}._root_f9ked_1 .cm-completionDetail{color:var(--surrealist-kind-color)}._root_f9ked_1 .cm-tooltip-autocomplete ul li[aria-selected] .cm-completionIcon:after{filter:brightness(0) saturate(100%) invert(1)}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-tooltip-autocomplete ul li[aria-selected] .cm-completionIcon:after{filter:brightness(0) saturate(100%)}._root_f9ked_1 .cm-diagnosticText{font-family:var(--mantine-font-family-monospace)}._root_f9ked_1 .cm-diagnostic{max-width:600px}._root_f9ked_1 .cm-lintRange{background-image:none;text-decoration:underline;text-decoration-style:wavy}._root_f9ked_1 .cm-lintRange-error{text-decoration-color:var(--mantine-color-red-6)}._root_f9ked_1 .cm-lintRange-warning{text-decoration-color:var(--mantine-color-yellow-6)}._root_f9ked_1 .cm-lintRange-info{text-decoration-color:var(--mantine-color-blue-6)}._root_f9ked_1 .cm-lintRange-hint{text-decoration-color:var(--mantine-color-slate-5)}._root_f9ked_1 .cm-diagnostic-error{border-color:var(--mantine-color-red-6)}._root_f9ked_1 .cm-diagnostic-warning{border-color:var(--mantine-color-yellow-6)}._root_f9ked_1 .cm-diagnostic-info{border-color:var(--mantine-color-blue-6)}._root_f9ked_1 .cm-diagnostic-hint{border-color:var(--mantine-color-slate-5)}._root_f9ked_1 .cm-completionIcon-class:after{content:var(--surrealist-editor-icon-class)}._root_f9ked_1 .cm-completionIcon-constant:after{content:var(--surrealist-editor-icon-constant)}._root_f9ked_1 .cm-completionIcon-enum:after{content:var(--surrealist-editor-icon-enum)}._root_f9ked_1 .cm-completionIcon-function:after{content:var(--surrealist-editor-icon-function)}._root_f9ked_1 .cm-completionIcon-interface:after{content:var(--surrealist-editor-icon-interface)}._root_f9ked_1 .cm-completionIcon-keyword:after{content:var(--surrealist-editor-icon-keyword)}._root_f9ked_1 .cm-completionIcon-method:after{content:var(--surrealist-editor-icon-method)}._root_f9ked_1 .cm-completionIcon-namespace:after{content:var(--surrealist-editor-icon-namespace)}._root_f9ked_1 .cm-completionIcon-property:after{content:var(--surrealist-editor-icon-property)}._root_f9ked_1 .cm-completionIcon-text:after{content:var(--surrealist-editor-icon-text)}._root_f9ked_1 .cm-completionIcon-type:after{content:var(--surrealist-editor-icon-type)}._root_f9ked_1 .cm-completionIcon-variable:after{content:var(--surrealist-editor-icon-variable)}._editor_f9ked_235{position:absolute;inset:0}
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-paper-background: color-mix(in srgb, var(--mantine-color-slate-7) calc(var(--surreal-opacity-strong) * 100%), transparent);--surreal-pink: #ff00a0;--surreal-purple: #9800ff;--surreal-energy: #D255FE;--surreal-passion: #651DDD;--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}.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}.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-ActionIcon-root[data-variant=surreal]:disabled,.mantine-Checkbox-root[data-variant=surreal]:disabled{border-color:var(--surreal-glass-subtle);background-color:var(--surreal-glass-subtle);color:var(--mantine-color-slate-outline)}.mantine-Button-root[data-variant=gradient]{border:1px solid var(--surreal-glass-medium);background-origin:border-box}.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=surreal] .mantine-Input-input{color:var(--mantine-color-bright);background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);transition:all .25s ease}.mantine-InputWrapper-root[data-variant=surreal] .mantine-Input-input:focus-within{border-color:color-mix(in srgb,var(--mantine-color-violet-3) 75%,var(--surreal-glass-subtle));background-color:color-mix(in srgb,var(--mantine-color-violet-3) 10%,var(--surreal-glass-subtle))}.mantine-InputWrapper-root[data-variant=surreal] .mantine-Input-input::placeholder{color:var(--surreal-glass-medium)}.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-xl)}.mantine-Autocomplete-dropdown[data-variant=surreal] .mantine-Autocomplete-option:hover{background-color:var(--surreal-glass-subtle)}.mantine-Paper-root[data-variant=surreal]{background:linear-gradient(135deg,var(--mantine-color-obsidian-8),var(--mantine-color-obsidian-9))}.mantine-Paper-root[data-variant=surreal][data-with-border]{border:1px solid var(--surreal-glass-subtle)}.mantine-Paper-root[data-variant=glass]{background:linear-gradient(135deg,var(--mantine-color-obsidian-8),rgba(from var(--mantine-color-obsidian-9) r g b/0));backdrop-filter:var(--surreal-blur);box-shadow:0 12px 45px var(--mantine-color-obsidian-9)}.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=surreal]{background-color:var(--surreal-glass-subtle);border:1px solid var(--surreal-glass-subtle);backdrop-filter:var(--surreal-blur);align-items:flex-start;padding:var(--mantine-spacing-md)}.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=surreal] .mantine-Notification-description{color:var(--mantine-color-slate-2)}.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:5rem}.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-violet-8));border:1px solid var(--tooltip-bg, var(--mantine-color-violet-8));box-shadow:var(--mantine-shadow-md);padding-block:var(--mantine-spacing-xs);padding-inline:var(--mantine-spacing-md);color:#fff}:root[data-mantine-color-scheme=light] .mantine-Tooltip-tooltip[data-variant=surreal]{background-color:var(--tooltip-bg, var(--mantine-color-violet-4));border-color:var(--tooltip-bg, var(--mantine-color-violet-4))}.mantine-Menu-dropdown[data-variant=surreal]{background-color:color-mix(in srgb,var(--mantine-color-slate-6) calc(var(--surreal-opacity-strong) * 100%),transparent);background-color:var(--surreal-glass-subtle);border:1px solid rgba(255,255,255,.125);backdrop-filter:var(--surreal-blur);border-radius:22px;padding:0}.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-divider{border-color:#ffffff20;margin-inline:0;margin-block:var(--mantine-spacing-xs)}.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-Menu-dropdown[data-variant=surreal] .mantine-Menu-item{border-radius:100px;color:var(--mantine-color-bright);font-weight:500}.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-item:hover{background-color:var(--surreal-glass-subtle)}.mantine-Menu-dropdown[data-variant=surreal] .mantine-Menu-itemSection svg{opacity:var(--surreal-opacity-strong)}.mantine-Popover-dropdown[data-variant=surreal],.mantine-HoverCard-dropdown[data-variant=surreal]{background-color:color-mix(in srgb,var(--mantine-color-slate-6) calc(var(--surreal-opacity-strong) * 100%),transparent);background-color:var(--surreal-glass-subtle);border:1px solid rgba(255,255,255,.125);backdrop-filter:var(--surreal-blur);border-radius:22px;padding:0}.mantine-Popover-dropdown[data-variant=transparent],.mantine-HoverCard-dropdown[data-variant=transparent]{background-color:transparent;border:unset;padding:0}.mantine-Modal-root[data-variant=fluid] .mantine-Modal-inner,.mantine-Modal-root[data-variant=surreal] .mantine-Modal-inner{overflow-y:auto;display:grid}.mantine-Modal-root[data-variant=fluid] .mantine-Modal-content,.mantine-Modal-root[data-variant=surreal] .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);border:1px solid rgba(255,255,255,.125);backdrop-filter:var(--surreal-blur);border-radius:22px;overflow-y:unset;max-height:unset;width:var(--modal-size)}.mantine-Modal-root[data-variant=fluid] .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=fluid] .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=fluid] .mantine-Modal-header{border:none;margin-bottom:0}.mantine-Overlay-root[data-variant=surreal]{background-color:color-mix(in srgb,var(--mantine-color-slate-9),transparent)}.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=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-Select-root[data-variant=surreal] input{border-radius:var(--mantine-radius-xl)}.mantine-Badge-root[data-variant=surreal],.mantine-Checkbox-root[data-variant=gradient] .mantine-Checkbox-input,.mantine-Checkbox-root[data-variant=surreal] .mantine-Checkbox-input{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: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:linear-gradient(135deg,var(--surreal-energy),var(--surreal-passion));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)}.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:linear-gradient(135deg,var(--surreal-energy),var(--surreal-passion));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]{background-color:var(--surreal-glass-subtle)}.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:4px!important;background:linear-gradient(to bottom,var(--surreal-gradient-from),var(--surreal-gradient-to))}.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=gradient]{color:var(--mantine-color-bright);background:linear-gradient(180deg,var(--mantine-color-slate-0),var(--mantine-color-slate-3));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.mantine-Tabs-list[data-variant=gradient]{background:linear-gradient(135deg,var(--mantine-color-obsidian-8),var(--mantine-color-obsidian-9));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-slate-2);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:linear-gradient(135deg,var(--surreal-energy),var(--surreal-passion));border-color:var(--surreal-glass-subtle);color:var(--mantine-color-bright);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)}._root_744ed_1{vertical-align:middle;flex-shrink:0}._path_744ed_6{fill:currentColor}._spinning_744ed_10{animation:_spin_744ed_10 .5s linear infinite}@keyframes _spin_744ed_10{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._details_1bv2j_1{background-color:var(--mantine-color-obsidian-8);border:2px solid var(--mantine-color-obsidian-4);border-radius:var(--mantine-radius-lg);padding:var(--mantine-spacing-xl);position:relative;overflow:hidden}._details_1bv2j_1::details-content{display:flex;flex-direction:column;gap:var(--mantine-spacing-md)}._details_1bv2j_1:before{content:" ";background:linear-gradient(120deg,var(--surreal-pink),var(--surreal-purple));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_1bv2j_32{color:var(--mantine-color-slate-0);font-size:var(--mantine-spacing-lg);display:flex;justify-content:space-between;align-items:center;cursor:pointer;z-index:1;position:relative}._details_1bv2j_1[open]>._summary_1bv2j_32{margin-bottom:var(--mantine-spacing-lg)}._chevron_1bv2j_47{transition:all .1s ease}._details_1bv2j_1[open]>._chevron_1bv2j_47{rotate:90deg}._details_1bv2j_1>._details_1bv2j_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}._root_1ph8i_1 .mantine-Button-label{opacity:var(--surrealist-opacity-strong)}._root_1ph8i_1:hover .mantine-Button-label{opacity:1}._root_f9ked_1{min-height:0;flex:1}._root_f9ked_1 .cm-editor{outline:none;height:100%}._root_f9ked_1 .cm-scroller{font-family:var(--mantine-font-family-monospace)}._root_f9ked_1[data-padding] .cm-scroller{padding:var(--mantine-spacing-sm)}._root_f9ked_1 .cm-gutters{border-right:none}._root_f9ked_1 .cm-gutters,._root_f9ked_1 .cm-gutterElement{background-color:unset}._root_f9ked_1 .cm-lineNumbers{color:var(--mantine-color-slate-5)}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-lineNumbers{color:var(--mantine-color-slate-3)}._root_f9ked_1 .cm-activeLineGutter{color:var(--mantine-color-slate-2)}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-activeLineGutter{color:var(--mantine-color-slate-9)}._root_f9ked_1 .cm-cursor,._root_f9ked_1 .cm-dropCursor{border-color:currentColor;border-width:2px}._root_f9ked_1 .cm-selectionBackground{background-color:#479aff66!important}._root_f9ked_1 .cm-selectionMatch{background-color:transparent!important}._root_f9ked_1 .cm-searchMatch{background-color:var(--mantine-color-surreal-6)!important;border-radius:6px}._root_f9ked_1 .cm-searchMatch *{color:#fff}._root_f9ked_1 .cm-foldPlaceholder{background-color:var(--mantine-color-slate-6);border:none}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-foldPlaceholder{background-color:var(--mantine-color-slate-1)}._root_f9ked_1 .cm-tooltip{box-shadow:var(--mantine-shadow-md);border-radius:var(--mantine-radius-sm);border-color:var(--mantine-color-dark-4);background-color:color-mix(in srgb,var(--mantine-color-body) 75%,transparent);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-tooltip{border-color:var(--mantine-color-slate-2)}._root_f9ked_1 .cm-tooltip-autocomplete{padding:var(--mantine-spacing-xs)}._root_f9ked_1 .cm-tooltip-autocomplete ul{font-family:var(--mantine-font-family-monospace)!important}._root_f9ked_1 .cm-tooltip-autocomplete ul li{border-radius:var(--mantine-radius-sm);color:var(--mantine-color-slate-1)}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-tooltip-autocomplete ul li{color:var(--mantine-color-slate-6)}._root_f9ked_1 .cm-tooltip-autocomplete ul li[aria-selected]{background-color:var(--mantine-color-slate-6);color:var(--mantine-color-bright)!important}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-tooltip-autocomplete ul li[aria-selected]{background-color:var(--mantine-color-slate-1)}._root_f9ked_1 .cm-completionMatchedText{text-decoration:none;font-weight:600}._root_f9ked_1 .cm-panels{z-index:1;background-color:var(--mantine-body-color);border-color:var(--mantine-color-slate-7)}._root_f9ked_1 .cm-panels label{display:inline-flex;align-items:center;color:var(--mantine-color-bright)}._root_f9ked_1 .cm-panels button{color:var(--mantine-color-bright);background-image:unset!important;background-color:var(--mantine-color-body);border-radius:var(--mantine-radius-xs);border-color:var(--mantine-color-slate-6)}._root_f9ked_1 .cm-panels button:active{background-color:var(--mantine-color-slate-6)!important}._root_f9ked_1 .cm-panels input{background-color:var(--mantine-color-slate-6);border-radius:var(--mantine-radius-xs);color:var(--mantine-color-bright);border:none;outline:none}._root_f9ked_1 .cm-panels input[type=checkbox]{accent-color:var(--mantine-color-surreal-7)}._root_f9ked_1 .cm-panels button:focus-visible,._root_f9ked_1 .cm-panels input:focus-visible{outline:2px solid var(--mantine-primary-color-filled);outline-offset:calc(.125rem * var(--mantine-scale));border-radius:var(--mantine-radius-xs)}._root_f9ked_1 .cm-panels button[name=close]{width:24px;height:24px;transform:translateY(4px)}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-panels{border-color:var(--mantine-color-slate-2)}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-panels button{border-color:var(--mantine-color-slate-2)}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-panels button:active{background-color:var(--mantine-color-slate-2)!important}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-panels input{background-color:var(--mantine-color-slate-1)}._root_f9ked_1 .cm-gotoLine input{margin-left:var(--mantine-spacing-xs)}._root_f9ked_1 .cm-completionIcon{padding-left:4px;opacity:1}._root_f9ked_1 .cm-completionDetail{color:var(--surrealist-kind-color)}._root_f9ked_1 .cm-tooltip-autocomplete ul li[aria-selected] .cm-completionIcon:after{filter:brightness(0) saturate(100%) invert(1)}:root[data-mantine-color-scheme=light] ._root_f9ked_1 .cm-tooltip-autocomplete ul li[aria-selected] .cm-completionIcon:after{filter:brightness(0) saturate(100%)}._root_f9ked_1 .cm-diagnosticText{font-family:var(--mantine-font-family-monospace)}._root_f9ked_1 .cm-diagnostic{max-width:600px}._root_f9ked_1 .cm-lintRange{background-image:none;text-decoration:underline;text-decoration-style:wavy}._root_f9ked_1 .cm-lintRange-error{text-decoration-color:var(--mantine-color-red-6)}._root_f9ked_1 .cm-lintRange-warning{text-decoration-color:var(--mantine-color-yellow-6)}._root_f9ked_1 .cm-lintRange-info{text-decoration-color:var(--mantine-color-blue-6)}._root_f9ked_1 .cm-lintRange-hint{text-decoration-color:var(--mantine-color-slate-5)}._root_f9ked_1 .cm-diagnostic-error{border-color:var(--mantine-color-red-6)}._root_f9ked_1 .cm-diagnostic-warning{border-color:var(--mantine-color-yellow-6)}._root_f9ked_1 .cm-diagnostic-info{border-color:var(--mantine-color-blue-6)}._root_f9ked_1 .cm-diagnostic-hint{border-color:var(--mantine-color-slate-5)}._root_f9ked_1 .cm-completionIcon-class:after{content:var(--surrealist-editor-icon-class)}._root_f9ked_1 .cm-completionIcon-constant:after{content:var(--surrealist-editor-icon-constant)}._root_f9ked_1 .cm-completionIcon-enum:after{content:var(--surrealist-editor-icon-enum)}._root_f9ked_1 .cm-completionIcon-function:after{content:var(--surrealist-editor-icon-function)}._root_f9ked_1 .cm-completionIcon-interface:after{content:var(--surrealist-editor-icon-interface)}._root_f9ked_1 .cm-completionIcon-keyword:after{content:var(--surrealist-editor-icon-keyword)}._root_f9ked_1 .cm-completionIcon-method:after{content:var(--surrealist-editor-icon-method)}._root_f9ked_1 .cm-completionIcon-namespace:after{content:var(--surrealist-editor-icon-namespace)}._root_f9ked_1 .cm-completionIcon-property:after{content:var(--surrealist-editor-icon-property)}._root_f9ked_1 .cm-completionIcon-text:after{content:var(--surrealist-editor-icon-text)}._root_f9ked_1 .cm-completionIcon-type:after{content:var(--surrealist-editor-icon-type)}._root_f9ked_1 .cm-completionIcon-variable:after{content:var(--surrealist-editor-icon-variable)}._editor_f9ked_235{position:absolute;inset:0}
3
3
 
4
4
  }
package/dist/ui.d.ts CHANGED
@@ -20,7 +20,6 @@ import { PaperProps } from '@mantine/core';
20
20
  import type * as React_2 from 'react';
21
21
  import { ReactNode } from 'react';
22
22
  import { RefObject } from 'react';
23
- import { Root } from 'mdast';
24
23
  import { StackProps } from '@mantine/core';
25
24
  import { StateField } from '@codemirror/state';
26
25
 
@@ -46,6 +45,8 @@ export declare const addCursorVerticallyKeymap: readonly KeyBinding[];
46
45
 
47
46
  declare type AnyFn = (...rest: any[]) => any;
48
47
 
48
+ export declare type AnyNode = BlockNode | InlineNode | SummaryNode | ListItemNode | TableRowNode | TableCellNode;
49
+
49
50
  /**
50
51
  * Apply automatic folding to objects/arrays at the specified depth level
51
52
  * @param view - CodeMirror editor view
@@ -53,6 +54,18 @@ declare type AnyFn = (...rest: any[]) => any;
53
54
  */
54
55
  export declare function applyAutoFolding(view: EditorView, autoCollapseDepth: number): void;
55
56
 
57
+ export declare type BlockNode = HeadingNode | ParagraphNode | CodeNode | BlockquoteNode | ListNode | TableNode | ThematicBreakNode | DetailsNode | ImageNode;
58
+
59
+ export declare interface BlockquoteNode {
60
+ type: "blockquote";
61
+ children: BlockNode[];
62
+ className?: string;
63
+ id?: string;
64
+ style?: string;
65
+ noteKind?: NoteKind;
66
+ noteTitle?: string;
67
+ }
68
+
56
69
  export declare interface BooleanHandle {
57
70
  open: () => void;
58
71
  close: () => void;
@@ -214,6 +227,13 @@ export declare const brandYouTube: string;
214
227
 
215
228
  export declare const BreadcrumbButton: FC<ButtonProps & ElementProps<"button">>;
216
229
 
230
+ export declare interface BreakNode {
231
+ type: "break";
232
+ className?: string;
233
+ id?: string;
234
+ style?: string;
235
+ }
236
+
217
237
  export declare function clsx(...args: unknown[]): string;
218
238
 
219
239
  /**
@@ -237,6 +257,17 @@ export declare interface CodeEditorProps extends BoxProps {
237
257
  ref?: RefObject<EditorView>;
238
258
  }
239
259
 
260
+ export declare interface CodeNode {
261
+ type: "code";
262
+ value: string;
263
+ lang?: string;
264
+ title?: string;
265
+ runnable?: string;
266
+ className?: string;
267
+ id?: string;
268
+ style?: string;
269
+ }
270
+
240
271
  export declare type ColorScheme = keyof ThemeConfig;
241
272
 
242
273
  declare type ColorScheme_2 = keyof ThemeConfig_2;
@@ -251,12 +282,6 @@ export declare const commonExtensions: () => Extension;
251
282
  */
252
283
  export declare function createHighlighter(colorScheme: ColorScheme): Highlighter;
253
284
 
254
- /**
255
- * Create markdown components for use with hast-util-to-jsx-runtime
256
- * Props come directly from HAST (hProperties are merged into props)
257
- */
258
- export declare function createMarkdownComponents(): Record<string, React_2.ComponentType<Record<string, unknown>>>;
259
-
260
285
  /**
261
286
  * Create a new serialized editor state from a document string.
262
287
  *
@@ -288,6 +313,14 @@ export declare const Details: FC<DetailsProps> & {
288
313
  Summary: FC<SummaryProps>;
289
314
  };
290
315
 
316
+ export declare interface DetailsNode {
317
+ type: "details";
318
+ children: Array<SummaryNode | BlockNode>;
319
+ className?: string;
320
+ id?: string;
321
+ style?: string;
322
+ }
323
+
291
324
  export declare interface DetailsProps extends Omit<BoxProps, "component" | "children"> {
292
325
  children: ReactNode;
293
326
  }
@@ -324,6 +357,24 @@ export declare type EditorStateSnapshot = Record<string, unknown>;
324
357
  */
325
358
  export declare function editorTheme(theme: ThemeConfig_2, colorScheme: ColorScheme_2): Extension;
326
359
 
360
+ export declare interface EmphasisNode {
361
+ type: "emphasis";
362
+ children: InlineNode[];
363
+ className?: string;
364
+ id?: string;
365
+ style?: string;
366
+ }
367
+
368
+ /**
369
+ * Enter a node (push to stack and set container)
370
+ */
371
+ export declare function enterNode(state: ParserState, nodeType: string, node: BlockNode | SummaryNode): void;
372
+
373
+ /**
374
+ * Exit a node (pop from stack and validate)
375
+ */
376
+ export declare function exitNode(state: ParserState, expectedType: string): void;
377
+
327
378
  export declare interface ExtractedCode {
328
379
  test?: string;
329
380
  code: string;
@@ -335,6 +386,15 @@ export declare interface ExtractedCode {
335
386
  */
336
387
  export declare function extractTest(input: string): ExtractedCode;
337
388
 
389
+ export declare interface HeadingNode {
390
+ type: "heading";
391
+ depth: 1 | 2 | 3 | 4 | 5 | 6;
392
+ children: InlineNode[];
393
+ className?: string;
394
+ id?: string;
395
+ style?: string;
396
+ }
397
+
338
398
  export declare const Highlighting: FC<HighlightingProps>;
339
399
 
340
400
  export declare interface HighlightingProps extends BoxProps {
@@ -677,6 +737,68 @@ export declare const iconWrench: string;
677
737
 
678
738
  export declare const iconXml: string;
679
739
 
740
+ export declare interface ImageNode {
741
+ type: "image";
742
+ src: string;
743
+ darkSrc?: string;
744
+ alt: string;
745
+ title?: string;
746
+ className?: string;
747
+ id?: string;
748
+ style?: string;
749
+ }
750
+
751
+ export declare interface InlineCodeNode {
752
+ type: "inlineCode";
753
+ value: string;
754
+ className?: string;
755
+ id?: string;
756
+ style?: string;
757
+ }
758
+
759
+ export declare type InlineNode = TextNode | LinkNode | InlineCodeNode | StrongNode | EmphasisNode | BreakNode | ImageNode;
760
+
761
+ /**
762
+ * Check if a code point is an emoji
763
+ */
764
+ export declare function isEmojiCodePoint(code: number): boolean;
765
+
766
+ /**
767
+ * Check if a tag is self-closing
768
+ */
769
+ export declare function isSelfClosingTag(tagName: string): boolean;
770
+
771
+ export declare interface LinkNode {
772
+ type: "link";
773
+ url: string;
774
+ title?: string;
775
+ children: InlineNode[];
776
+ className?: string;
777
+ id?: string;
778
+ style?: string;
779
+ }
780
+
781
+ export declare interface ListItemNode {
782
+ type: "listItem";
783
+ checked?: boolean;
784
+ spread?: boolean;
785
+ children: AnyNode[];
786
+ className?: string;
787
+ id?: string;
788
+ style?: string;
789
+ }
790
+
791
+ export declare interface ListNode {
792
+ type: "list";
793
+ ordered?: boolean;
794
+ start?: number;
795
+ spread?: boolean;
796
+ children: ListItemNode[];
797
+ className?: string;
798
+ id?: string;
799
+ style?: string;
800
+ }
801
+
680
802
  /**
681
803
  * The Mantine theme configurtation
682
804
  */
@@ -688,11 +810,6 @@ export declare const MANTINE_THEME: MantineThemeOverride;
688
810
  */
689
811
  export declare function Markdown({ content, components }: MarkdownProps): React_2.ReactElement;
690
812
 
691
- /**
692
- * Default markdown components
693
- */
694
- export declare const markdownComponents: Record<string, React_2.ComponentType<Record<string, unknown>>>;
695
-
696
813
  export declare interface MarkdownProps {
697
814
  /**
698
815
  * Markdown content to render
@@ -719,12 +836,104 @@ export declare interface NoteProps extends Omit<AlertProps, "title" | "children"
719
836
  children: ReactNode;
720
837
  }
721
838
 
839
+ export declare interface ParagraphNode {
840
+ type: "paragraph";
841
+ children: InlineNode[];
842
+ className?: string;
843
+ id?: string;
844
+ style?: string;
845
+ }
846
+
847
+ /**
848
+ * Parse markdown string to AST
849
+ */
850
+ export declare function parse(markdown: string): Root;
851
+
852
+ /**
853
+ * Parse HTML-style attributes from a string
854
+ * Handles: name="value", name='value', name=value
855
+ * Properly handles escaped quotes: name="value with \"escaped\" quotes"
856
+ */
857
+ export declare function parseAttributes(attrString: string): Record<string, string>;
858
+
859
+ export declare function parseBlockquote(state: ParserState): void;
860
+
861
+ export declare function parseCodeBlock(state: ParserState): void;
862
+
863
+ export declare function parseDetailsTag(state: ParserState, attrs: Record<string, string>): void;
864
+
865
+ export declare function parseEmphasis(text: string, startIndex: number): {
866
+ node: EmphasisNode;
867
+ endIndex: number;
868
+ } | null;
869
+
870
+ export declare function parseHeading(state: ParserState): void;
871
+
872
+ export declare function parseHtmlTag(state: ParserState): void;
873
+
874
+ export declare function parseHtmlTagInline(text: string, startIndex: number): {
875
+ node: BreakNode;
876
+ endIndex: number;
877
+ } | null;
878
+
879
+ export declare function parseImage(text: string, startIndex: number): {
880
+ node: ImageNode;
881
+ endIndex: number;
882
+ } | null;
883
+
884
+ export declare function parseInlineCode(text: string, startIndex: number): {
885
+ node: InlineCodeNode;
886
+ endIndex: number;
887
+ } | null;
888
+
889
+ /**
890
+ * Parse inline markdown content
891
+ */
892
+ export declare function parseInlines(text: string): InlineNode[];
893
+
894
+ export declare function parseLink(text: string, startIndex: number): {
895
+ node: LinkNode;
896
+ endIndex: number;
897
+ } | null;
898
+
899
+ export declare function parseList(state: ParserState): void;
900
+
901
+ export declare function parseParagraph(state: ParserState): void;
902
+
903
+ export declare interface ParserState {
904
+ lines: string[];
905
+ currentIndex: number;
906
+ stack: string[];
907
+ root: BlockNode[];
908
+ currentContainer: BlockNode[];
909
+ }
910
+
911
+ export declare function parseStrong(text: string, startIndex: number): {
912
+ node: StrongNode;
913
+ endIndex: number;
914
+ } | null;
915
+
916
+ export declare function parseSummaryTag(state: ParserState, attrs: Record<string, string>): void;
917
+
918
+ export declare function parseTable(state: ParserState): void;
919
+
920
+ export declare function parseTableAlignment(line: string): Array<"left" | "right" | "center" | null>;
921
+
722
922
  /**
723
- * Parse markdown string to mdast (Markdown AST)
724
- * @param markdown - Markdown string to parse
725
- * @param htmlDepth - Current HTML nesting depth (defaults to 0)
923
+ * Parse a table row into cells
924
+ * Note: Escaped pipes (\|) are not currently supported - they will be treated as cell separators
925
+ * @param line - The table row line
926
+ * @param isHeader - Whether this is a header row
927
+ * @returns Array of table cell nodes
726
928
  */
727
- export declare function parseMarkdownAST(markdown: string, htmlDepth?: number): Root;
929
+ export declare function parseTableRow(line: string, isHeader?: boolean): TableCellNode[];
930
+
931
+ export declare function parseText(text: string, startIndex: number): {
932
+ node: TextNode;
933
+ endIndex: number;
934
+ };
935
+
936
+ export declare function parseThematicBreak(state: ParserState): void;
728
937
 
729
938
  export declare const picto2106: string;
730
939
 
@@ -1183,25 +1392,37 @@ export declare function processHighlightRegions(code: string): {
1183
1392
  };
1184
1393
 
1185
1394
  /**
1186
- * Remark plugin to parse title from code block meta
1187
- * Pattern: ```js title="file.js" or ```js {title="file.js"}
1395
+ * Validate and process code attributes
1396
+ */
1397
+ export declare function pushCode(attrs: Record<string, string>, value: string, lang?: string): CodeNode;
1398
+
1399
+ /**
1400
+ * Validate and process details attributes
1401
+ */
1402
+ export declare function pushDetails(attrs: Record<string, string>): DetailsNode;
1403
+
1404
+ /**
1405
+ * Validate and process image attributes
1188
1406
  */
1189
- export declare function remarkCodeTitle(): (tree: Root) => void;
1407
+ export declare function pushImage(attrs: Record<string, string>): ImageNode;
1190
1408
 
1191
1409
  /**
1192
- * Remark plugin to detect and transform GitHub-style notes in blockquotes
1193
- * Pattern: > [!note], > [!warning], > [!note: Custom Title]
1410
+ * Validate and process summary attributes
1194
1411
  */
1195
- export declare function remarkNotes(): (tree: Root) => void;
1412
+ export declare function pushSummary(attrs: Record<string, string>): SummaryNode;
1196
1413
 
1197
1414
  /**
1198
- * Remark plugin to add slug IDs to headings
1415
+ * Read tag name from HTML tag starting at index
1416
+ * Returns tag name and end index
1199
1417
  */
1200
- export declare function remarkSlug(): (tree: Root) => void;
1418
+ export declare function readTagName(text: string, startIndex: number): {
1419
+ tagName: string;
1420
+ endIndex: number;
1421
+ };
1201
1422
 
1202
1423
  /**
1203
1424
  * Render parsed markdown AST to React elements
1204
- * Uses mdast-util-to-hast and hast-util-to-jsx-runtime for rendering
1425
+ * Direct AST-to-React conversion with component mapping
1205
1426
  */
1206
1427
  export declare function RenderMarkdown({ ast, components, ...props }: RenderMarkdownProps): React_2.ReactElement | null;
1207
1428
 
@@ -1216,13 +1437,10 @@ export declare interface RenderMarkdownProps extends StackProps {
1216
1437
  components?: Partial<Record<string, React_2.ComponentType<Record<string, unknown>> | string>>;
1217
1438
  }
1218
1439
 
1219
- /**
1220
- * Resolve image URLs using an external resolver function
1221
- * @param ast - The mdast root node
1222
- * @param resolver - Function that takes a URL and returns a resolved URL or undefined
1223
- * If undefined is returned, the original URL is kept (fallback)
1224
- */
1225
- export declare function resolveImageSources(ast: Root, resolver: (url: string) => string | undefined): void;
1440
+ export declare interface Root {
1441
+ type: "root";
1442
+ children: BlockNode[];
1443
+ }
1226
1444
 
1227
1445
  /**
1228
1446
  * Set the contents of the editor
@@ -1251,17 +1469,74 @@ export declare type StateFields = {
1251
1469
  [prop: string]: StateField<any>;
1252
1470
  };
1253
1471
 
1472
+ export declare interface StrongNode {
1473
+ type: "strong";
1474
+ children: InlineNode[];
1475
+ className?: string;
1476
+ id?: string;
1477
+ style?: string;
1478
+ }
1479
+
1254
1480
  /**
1255
1481
  * Suggest completions at the start of each line
1256
1482
  */
1257
1483
  export declare const suggestCompletions: Command;
1258
1484
 
1485
+ export declare interface SummaryNode {
1486
+ type: "summary";
1487
+ children: InlineNode[];
1488
+ className?: string;
1489
+ id?: string;
1490
+ style?: string;
1491
+ }
1492
+
1259
1493
  export declare interface SummaryProps extends Omit<BoxProps, "component" | "children"> {
1260
1494
  children: ReactNode;
1261
1495
  }
1262
1496
 
1263
1497
  export declare const SYNTAX_THEME_CONFIG: ThemeConfig;
1264
1498
 
1499
+ export declare interface TableCellNode {
1500
+ type: "tableCell";
1501
+ children: AnyNode[];
1502
+ className?: string;
1503
+ id?: string;
1504
+ style?: string;
1505
+ isHeader: boolean;
1506
+ }
1507
+
1508
+ export declare interface TableNode {
1509
+ type: "table";
1510
+ align?: Array<"left" | "right" | "center" | null>;
1511
+ children: TableRowNode[];
1512
+ className?: string;
1513
+ id?: string;
1514
+ style?: string;
1515
+ }
1516
+
1517
+ export declare interface TableRowNode {
1518
+ type: "tableRow";
1519
+ children: TableCellNode[];
1520
+ className?: string;
1521
+ id?: string;
1522
+ style?: string;
1523
+ }
1524
+
1525
+ export declare interface TextNode {
1526
+ type: "text";
1527
+ value: string;
1528
+ className?: string;
1529
+ id?: string;
1530
+ style?: string;
1531
+ }
1532
+
1533
+ export declare interface ThematicBreakNode {
1534
+ type: "thematicBreak";
1535
+ className?: string;
1536
+ id?: string;
1537
+ style?: string;
1538
+ }
1539
+
1265
1540
  export declare type ThemeConfig = {
1266
1541
  light: HighlightStyle;
1267
1542
  dark: HighlightStyle;
@@ -1287,6 +1562,11 @@ export declare interface ThemedImageProps extends ImageProps {
1287
1562
  colorScheme?: "light" | "dark";
1288
1563
  }
1289
1564
 
1565
+ /**
1566
+ * Type-specific visitor function
1567
+ */
1568
+ export declare type TypeVisitor<T extends AnyNode> = (node: T, index: number | undefined, parent: AnyNode | Root | null) => undefined | boolean | void;
1569
+
1290
1570
  export declare function useEditor(options?: EditorOptions): EditorController;
1291
1571
 
1292
1572
  /**
@@ -1321,6 +1601,18 @@ export declare function useSwitch(initialState?: boolean, callbacks?: {
1321
1601
  onClose?: () => void;
1322
1602
  }): readonly [boolean, BooleanHandle];
1323
1603
 
1604
+ /**
1605
+ * Visit all nodes in the tree
1606
+ */
1607
+ export declare function visit(tree: Root | AnyNode, visitor: Visitor): void;
1608
+
1609
+ export declare function visit<T extends AnyNode>(tree: Root | AnyNode, nodeType: T["type"], visitor: TypeVisitor<T>): void;
1610
+
1611
+ /**
1612
+ * Generic visitor function
1613
+ */
1614
+ export declare type Visitor = (node: AnyNode, index: number | undefined, parent: AnyNode | Root | null) => undefined | boolean | void;
1615
+
1324
1616
  /**
1325
1617
  * The default UI Kit editor theme
1326
1618
  */