@party-stack/ontology-devtools 0.5.0 → 0.6.1
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/lib/OntologyDevtools.d.ts +41 -41
- package/lib/OntologyDevtools.d.ts.map +1 -1
- package/lib/OntologyDevtools.js +1261 -647
- package/lib/OntologyDevtools.js.map +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.js +2 -2
- package/lib/styles.css +1 -1
- package/package.json +23 -29
- package/lib/OntologyDevtools.test.d.ts +0 -2
- package/lib/OntologyDevtools.test.d.ts.map +0 -1
- package/lib/OntologyDevtools.test.js +0 -259
- package/lib/OntologyDevtools.test.js.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OntologyDevtools.js","sourceRoot":"","sources":["../src/OntologyDevtools.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OntologyDevtools.js","names":["ArrowPathIcon","TrashIcon","CheckIcon","InboxStackIcon","ShareIcon","CircleStackIcon","LinkIcon","ListBulletIcon","Squares2X2Icon","CodeBracketSquareIcon","CheckCircleIcon","HashtagIcon","CalendarDaysIcon","ClockIcon","MapPinIcon","PaperClipIcon","MapIcon","QuestionMarkCircleIcon","ViewColumnsIcon","Bars2Icon","ChevronUpIcon","ChevronDownIcon","ChevronUpDownIcon"],"sources":["../src/OntologyDevtools.tsx"],"sourcesContent":["import { Dialog } from \"@base-ui/react/dialog\";\nimport { Menu } from \"@base-ui/react/menu\";\nimport { Tabs } from \"@base-ui/react/tabs\";\nimport { Tooltip } from \"@base-ui/react/tooltip\";\nimport {\n Graph,\n layout as layoutGraph,\n type EdgeLabel,\n type GraphLabel,\n type NodeLabel,\n type Point,\n} from \"@dagrejs/dagre\";\nimport NumberFlow from \"@number-flow/react\";\nimport { LucideIcon } from \"@party-stack/icons-lucide/react\";\nimport { createReactPlugin } from \"@tanstack/devtools-utils/react\";\nimport { useLiveInfiniteQuery, useLiveQuery } from \"@tanstack/react-db\";\nimport {\n createColumnHelper,\n flexRender,\n useTable,\n tableFeatures,\n rowSortingFeature,\n columnOrderingFeature,\n columnSizingFeature,\n columnResizingFeature,\n columnVisibilityFeature,\n type ColumnOrderState,\n type ColumnSizingState,\n type SortingState,\n type ColumnVisibilityState,\n} from \"@tanstack/react-table\";\nimport {\n RefreshCw as ArrowPathIcon,\n GripVertical as Bars2Icon,\n CalendarDays as CalendarDaysIcon,\n Check as CheckIcon,\n CircleCheck as CheckCircleIcon,\n ChevronDown as ChevronDownIcon,\n ChevronUp as ChevronUpIcon,\n ChevronsUpDown as ChevronUpDownIcon,\n Database as CircleStackIcon,\n Clock as ClockIcon,\n SquareCode as CodeBracketSquareIcon,\n Hash as HashtagIcon,\n Inbox as InboxStackIcon,\n Link as LinkIcon,\n List as ListBulletIcon,\n Map as MapIcon,\n MapPin as MapPinIcon,\n Paperclip as PaperClipIcon,\n CircleQuestionMark as QuestionMarkCircleIcon,\n Share2 as ShareIcon,\n Grid2X2 as Squares2X2Icon,\n Trash2 as TrashIcon,\n Columns3 as ViewColumnsIcon,\n} from \"lucide-react\";\nimport {\n useEffect,\n useId,\n useMemo,\n useState,\n type ComponentType,\n type CSSProperties,\n type ReactNode,\n} from \"react\";\nimport type { IconName } from \"@party-stack/icons\";\nimport type {\n AttachmentMetadata,\n LiveOntology,\n OntologyDefinition,\n OntologyIR,\n OntologyOutbox,\n OntologyOutboxEntry,\n ObjectTypeDef,\n TypeDef,\n} from \"@party-stack/ontology\";\nimport type * as v from \"@party-stack/ontology/values\";\nimport type { TanStackDevtoolsReactPlugin } from \"@tanstack/react-devtools\";\nimport \"./styles.css\";\n\nexport interface OntologyDevtoolsPanelProps<\n Ontology extends OntologyDefinition = OntologyDefinition,\n MetaOntology extends OntologyDefinition = OntologyDefinition,\n> {\n ontology: LiveOntology<Ontology>;\n metaOntology?: LiveOntology<MetaOntology>;\n theme?: \"light\" | \"dark\";\n}\n\nexport interface OntologyDevtoolsPluginOptions<\n Ontology extends OntologyDefinition = OntologyDefinition,\n MetaOntology extends OntologyDefinition = OntologyDefinition,\n> {\n ontology: LiveOntology<Ontology>;\n id?: string;\n metaOntology?: LiveOntology<MetaOntology>;\n name?: TanStackDevtoolsReactPlugin[\"name\"];\n defaultOpen?: boolean;\n}\n\nexport interface OntologyDevtoolsChromeProps {\n theme: \"light\" | \"dark\";\n}\n\nexport function OntologyIcon({\n className,\n color,\n name,\n}: {\n className?: string;\n color?: string;\n name: IconName;\n}) {\n return (\n <LucideIcon\n aria-hidden=\"true\"\n className={className}\n name={name}\n style={color ? { color } : undefined}\n />\n );\n}\n\nfunction ObjectTypeIcon({ className, objectType }: { className?: string; objectType: ObjectTypeDef }) {\n return (\n <OntologyIcon\n className={className}\n color={objectType.color}\n name={objectType.icon?.name ?? \"database\"}\n />\n );\n}\n\nfunction PartyStackLogo({ theme }: OntologyDevtoolsChromeProps) {\n const id = useId().replaceAll(\":\", \"\");\n const gradientId = `ps-ball-${id}`;\n const shadowId = `ps-shadow-${id}`;\n\n return (\n <svg\n aria-hidden=\"true\"\n style={{\n display: \"block\",\n height: \"100%\",\n width: \"100%\",\n }}\n viewBox=\"0 0 1200 300\"\n >\n <defs>\n <radialGradient cx=\"69%\" cy=\"24%\" id={gradientId} r=\"82%\">\n <stop offset=\"0\" stopColor=\"#fff\" />\n <stop offset=\".38\" stopColor=\"#fff\" />\n <stop offset=\".62\" stopColor=\"#f8f7f3\" />\n <stop offset=\".82\" stopColor=\"#e1dfda\" />\n <stop offset=\"1\" stopColor=\"#b7b3ad\" />\n </radialGradient>\n <filter height=\"170%\" id={shadowId} width=\"160%\" x=\"-30%\" y=\"-30%\">\n <feDropShadow dx=\"3\" dy=\"6\" floodColor=\"#681611\" floodOpacity=\".28\" stdDeviation=\"5\" />\n </filter>\n </defs>\n <g transform=\"translate(22 22) scale(.5)\">\n <path d=\"M96 64h184c81 0 136 55 136 136s-55 136-136 136h-56v112H96V64Z\" fill=\"#e83b32\" />\n <g filter={`url(#${shadowId})`}>\n <circle cx=\"258\" cy=\"200\" fill={`url(#${gradientId})`} r=\"60\" />\n <ellipse cx=\"279\" cy=\"177\" fill=\"#fff\" opacity=\".92\" rx=\"8.5\" ry=\"10.5\" />\n </g>\n </g>\n <text\n fill={theme === \"dark\" ? \"#f7f5f0\" : \"#171717\"}\n fontFamily=\"Avenir Next, Avenir, Helvetica Neue, Arial, sans-serif\"\n fontSize=\"124\"\n fontWeight=\"700\"\n letterSpacing=\"-3\"\n x=\"310\"\n y=\"196\"\n >\n Party Stack\n </text>\n </svg>\n );\n}\n\nfunction PartyStackLogomark() {\n const id = useId().replaceAll(\":\", \"\");\n const gradientId = `ps-mark-ball-${id}`;\n const shadowId = `ps-mark-shadow-${id}`;\n\n return (\n <svg\n aria-hidden=\"true\"\n style={{\n display: \"block\",\n height: \"100%\",\n width: \"100%\",\n }}\n viewBox=\"0 0 512 512\"\n >\n <defs>\n <radialGradient cx=\"69%\" cy=\"24%\" id={gradientId} r=\"82%\">\n <stop offset=\"0\" stopColor=\"#fff\" />\n <stop offset=\".38\" stopColor=\"#fff\" />\n <stop offset=\".62\" stopColor=\"#f8f7f3\" />\n <stop offset=\".82\" stopColor=\"#e1dfda\" />\n <stop offset=\"1\" stopColor=\"#b7b3ad\" />\n </radialGradient>\n <filter height=\"170%\" id={shadowId} width=\"160%\" x=\"-30%\" y=\"-30%\">\n <feDropShadow dx=\"3\" dy=\"6\" floodColor=\"#681611\" floodOpacity=\".28\" stdDeviation=\"5\" />\n </filter>\n </defs>\n <path d=\"M96 64h184c81 0 136 55 136 136s-55 136-136 136h-56v112H96V64Z\" fill=\"#e83b32\" />\n <g filter={`url(#${shadowId})`}>\n <circle cx=\"258\" cy=\"200\" fill={`url(#${gradientId})`} r=\"60\" />\n <ellipse cx=\"279\" cy=\"177\" fill=\"#fff\" opacity=\".92\" rx=\"8.5\" ry=\"10.5\" />\n </g>\n </svg>\n );\n}\n\nexport function OntologyDevtoolsPluginName({ theme }: OntologyDevtoolsChromeProps) {\n return (\n <div style={{ height: 30, width: 120 }}>\n <PartyStackLogo theme={theme} />\n </div>\n );\n}\n\nexport function OntologyDevtoolsTrigger({ theme }: OntologyDevtoolsChromeProps) {\n const dark = theme === \"dark\";\n return (\n <div\n aria-label=\"Open Ontology devtools\"\n style={{\n alignItems: \"center\",\n background: dark\n ? \"linear-gradient(145deg, #2d2d31, #171719)\"\n : \"linear-gradient(145deg, #fff, #f5f5f4)\",\n border: dark ? \"1px solid rgba(255,255,255,.16)\" : \"1px solid rgba(23,23,23,.14)\",\n borderRadius: \"999px\",\n boxSizing: \"border-box\",\n boxShadow: dark\n ? \"0 10px 30px rgba(0,0,0,.34), 0 0 0 4px rgba(232,59,50,.11)\"\n : \"0 10px 28px rgba(28,25,23,.16), 0 0 0 4px rgba(232,59,50,.09)\",\n cursor: \"pointer\",\n display: \"flex\",\n height: 48,\n justifyContent: \"center\",\n padding: 8,\n width: 48,\n }}\n title=\"Open Ontology devtools\"\n >\n <PartyStackLogomark />\n </div>\n );\n}\n\nexport function ontologyDevtoolsTrigger(_element: HTMLElement, { theme }: OntologyDevtoolsChromeProps) {\n return <OntologyDevtoolsTrigger theme={theme} />;\n}\n\nfunction OutboxPanel({ children, theme }: { children: ReactNode; theme: \"light\" | \"dark\" }) {\n return (\n <div className={`ps-outbox-root ps-theme-${theme}`}>\n <div className=\"ps-outbox\">{children}</div>\n </div>\n );\n}\n\nfunction statusClass(entry: OntologyOutboxEntry): string {\n return `ps-outbox-status ps-status-${entry.status}`;\n}\n\nfunction statusLabel(entry: OntologyOutboxEntry): string {\n switch (entry.status) {\n case \"queued\":\n return \"Waiting\";\n case \"executing\":\n return \"Running\";\n case \"failed\":\n return \"Failed\";\n }\n}\n\nconst relativeTime = new Intl.RelativeTimeFormat(undefined, { numeric: \"auto\" });\n\nfunction formatRelativeTime(timestamp: number, now: number): string {\n const elapsedMs = Math.max(0, now - timestamp);\n if (elapsedMs < 60_000) {\n return \"a few seconds ago\";\n }\n const minutes = -Math.round(elapsedMs / 60_000);\n if (Math.abs(minutes) < 60) {\n return relativeTime.format(minutes, \"minute\");\n }\n const hours = Math.round(minutes / 60);\n if (Math.abs(hours) < 24) {\n return relativeTime.format(hours, \"hour\");\n }\n return relativeTime.format(Math.round(hours / 24), \"day\");\n}\n\nfunction useRelativeTimeNow(): number {\n const [now, setNow] = useState(() => Date.now());\n useEffect(() => {\n const interval = setInterval(() => {\n setNow(Date.now());\n }, 60_000);\n return () => {\n clearInterval(interval);\n };\n }, []);\n return now;\n}\n\nfunction cardClass(entry: OntologyOutboxEntry): string {\n return `ps-outbox-card ps-card-${entry.status}`;\n}\n\nfunction OutboxEntryCard({\n entry,\n outbox,\n now,\n}: {\n entry: OntologyOutboxEntry;\n outbox: OntologyOutbox;\n now: number;\n}) {\n const [pending, setPending] = useState<\"retry\" | \"remove\" | undefined>();\n const [actionError, setActionError] = useState<string>();\n\n const run = async (action: \"retry\" | \"remove\"): Promise<void> => {\n setPending(action);\n setActionError(undefined);\n try {\n if (action === \"retry\") {\n await outbox.retry(entry.id);\n } else {\n await outbox.remove(entry.id);\n }\n } catch (error) {\n setActionError(error instanceof Error ? error.message : String(error));\n } finally {\n setPending(undefined);\n }\n };\n\n return (\n <article className={cardClass(entry)}>\n <div className=\"ps-outbox-card-header\">\n <div className=\"ps-outbox-name\">{entry.request.actionTypeName}</div>\n <span className={statusClass(entry)}>\n <span className=\"ps-status-dot\" />\n {statusLabel(entry)}\n </span>\n </div>\n <div className=\"ps-outbox-meta\">\n <span>\n <strong>{entry.attempts}</strong> {entry.attempts === 1 ? \"attempt\" : \"attempts\"}\n </span>\n <span aria-hidden=\"true\" className=\"ps-outbox-meta-divider\" />\n <span className=\"ps-outbox-time\" title={new Date(entry.createdAt).toLocaleString()}>\n Queued {formatRelativeTime(entry.createdAt, now)}\n </span>\n {!entry.retryable ? <span className=\"ps-outbox-permanent\">Won't retry</span> : null}\n </div>\n {entry.lastError ? <div className=\"ps-outbox-error\">{entry.lastError.message}</div> : null}\n <details className=\"ps-outbox-details\">\n <summary>Parameters</summary>\n <pre>{JSON.stringify(entry.request.parameters, null, 2)}</pre>\n </details>\n <div className=\"ps-outbox-actions\">\n <button\n className=\"ps-button ps-button-primary\"\n type=\"button\"\n disabled={!entry.retryable || entry.status === \"executing\" || pending !== undefined}\n onClick={() => {\n void run(\"retry\");\n }}\n >\n <ArrowPathIcon aria-hidden=\"true\" />\n {pending === \"retry\" ? \"Retrying…\" : \"Retry\"}\n </button>\n <button\n className=\"ps-button ps-button-danger\"\n type=\"button\"\n disabled={entry.status === \"executing\" || pending !== undefined}\n onClick={() => {\n void run(\"remove\");\n }}\n >\n <TrashIcon aria-hidden=\"true\" />\n {pending === \"remove\" ? \"Removing…\" : \"Remove\"}\n </button>\n </div>\n {actionError ? <div className=\"ps-outbox-action-error\">{actionError}</div> : null}\n </article>\n );\n}\n\nfunction OutboxRows({ outbox, theme }: { outbox: OntologyOutbox; theme: \"light\" | \"dark\" }) {\n const now = useRelativeTimeNow();\n const { data } = useLiveQuery({\n query: (query) =>\n query.from({ entry: outbox.collection }).orderBy(({ entry }) => entry.sequence, \"asc\"),\n });\n\n return (\n <OutboxPanel theme={theme}>\n {data.length === 0 ? (\n <div className=\"ps-outbox-empty\">\n <div>\n <span className=\"ps-outbox-empty-mark\">\n <CheckIcon aria-hidden=\"true\" />\n </span>\n <strong>Queue is clear</strong>\n Actions will appear here while they wait to sync.\n </div>\n </div>\n ) : (\n <div className=\"ps-outbox-track\">\n {data.map((entry, index) => (\n <div className=\"ps-outbox-step\" key={entry.id}>\n {index > 0 ? <span aria-hidden=\"true\" className=\"ps-outbox-connector\" /> : null}\n <div className=\"ps-outbox-node\">\n <OutboxEntryCard entry={entry} now={now} outbox={outbox} />\n </div>\n </div>\n ))}\n </div>\n )}\n </OutboxPanel>\n );\n}\n\ntype OntologyDevtoolsView = \"objects\" | \"schema\" | \"outbox\" | \"meta\";\ntype OutboxActivity = \"idle\" | \"draining\" | \"paused\";\n\nexport function getOutboxActivity(entries: OntologyOutboxEntry[]): OutboxActivity {\n if (entries.length === 0) return \"idle\";\n const head = entries.reduce((first, entry) => (entry.sequence < first.sequence ? entry : first));\n if (head.status === \"failed\") return \"paused\";\n return \"draining\";\n}\n\nfunction outboxActivityLabel(activity: OutboxActivity): string {\n switch (activity) {\n case \"idle\":\n return \"Idle\";\n case \"draining\":\n return \"Draining\";\n case \"paused\":\n return \"Paused by failure\";\n }\n}\n\nfunction outboxBadgeClass(activity: OutboxActivity): string {\n switch (activity) {\n case \"idle\":\n return \"ps:bg-zinc-500/15 ps:text-zinc-400\";\n case \"draining\":\n return \"ps:bg-sky-500/20 ps:text-sky-300\";\n case \"paused\":\n return \"ps:bg-red-500/20 ps:text-red-300\";\n }\n}\n\nconst ontologyViews: Array<{\n id: OntologyDevtoolsView;\n label: string;\n icon: ComponentType<{\n \"aria-hidden\"?: boolean;\n className?: string;\n style?: CSSProperties;\n }>;\n}> = [\n { id: \"outbox\", label: \"Outbox\", icon: InboxStackIcon },\n { id: \"schema\", label: \"Schema\", icon: ShareIcon },\n { id: \"objects\", label: \"Objects\", icon: CircleStackIcon },\n];\n\nfunction formatObjectValue(value: unknown): string {\n if (value === undefined || value === null) return \"—\";\n if (typeof value === \"string\") return value;\n if (typeof value === \"number\" || typeof value === \"boolean\" || typeof value === \"bigint\") {\n return String(value);\n }\n try {\n return JSON.stringify(value);\n } catch {\n return \"[Unserializable value]\";\n }\n}\n\nconst CONTINENTS = [\n \"15,25 45,20 75,22 110,30 120,35 105,52 100,62 85,68 75,72 60,65 50,42 30,35\",\n \"100,82 118,80 138,90 140,100 130,118 118,132 108,138 100,122 95,100\",\n \"175,38 185,30 198,28 208,32 205,42 198,48 188,48 178,44\",\n \"170,58 185,52 205,56 218,68 215,88 208,108 198,125 185,128 172,112 168,88 165,70\",\n \"212,42 228,32 255,22 282,18 310,22 325,30 330,42 318,55 300,58 282,65 265,78 248,72 232,58 218,50\",\n \"292,112 312,108 332,114 330,126 318,134 298,128 292,118\",\n];\n\nfunction resolvedType(ir: OntologyIR, type: TypeDef): TypeDef {\n if (type.kind !== \"ref\") return type;\n const referenced = ir.types.find((candidate) => candidate.name === type.value.name)?.type;\n return referenced ? resolvedType(ir, referenced) : type;\n}\n\nexport function typeDisplayName(type: TypeDef): string {\n switch (type.kind) {\n case \"ref\":\n return type.value.name;\n case \"optional\":\n return `${typeDisplayName(type.value.type)} (optional)`;\n case \"list\":\n return `List of ${typeDisplayName(type.value.elementType)}`;\n case \"map\":\n return `Map of ${typeDisplayName(type.value.valueType)}`;\n case \"objectReference\":\n return `${type.value.objectType} reference`;\n case \"string\":\n return \"String\";\n case \"boolean\":\n return \"Boolean\";\n case \"integer\":\n return \"Integer\";\n case \"float\":\n return \"Float\";\n case \"double\":\n return \"Double\";\n case \"date\":\n return \"Date\";\n case \"timestamp\":\n return \"Timestamp\";\n case \"geopoint\":\n return \"Geopoint\";\n case \"struct\":\n return \"Struct\";\n case \"union\":\n return \"Union\";\n case \"result\":\n return \"Result\";\n case \"attachment\":\n return \"Attachment\";\n case \"unknown\":\n return \"Unknown\";\n }\n}\n\nfunction typeIcon(type: TypeDef): ComponentType<{ \"aria-hidden\"?: boolean; className?: string }> {\n switch (type.kind) {\n case \"ref\":\n return LinkIcon;\n case \"optional\":\n return typeIcon(type.value.type);\n case \"list\":\n return ListBulletIcon;\n case \"map\":\n return Squares2X2Icon;\n case \"objectReference\":\n return LinkIcon;\n case \"string\":\n return CodeBracketSquareIcon;\n case \"boolean\":\n return CheckCircleIcon;\n case \"integer\":\n case \"float\":\n case \"double\":\n return HashtagIcon;\n case \"date\":\n return CalendarDaysIcon;\n case \"timestamp\":\n return ClockIcon;\n case \"geopoint\":\n return MapPinIcon;\n case \"attachment\":\n return PaperClipIcon;\n case \"struct\":\n case \"union\":\n case \"result\":\n return MapIcon;\n case \"unknown\":\n return QuestionMarkCircleIcon;\n }\n}\n\nfunction DevtoolsTooltip({ children, label }: { children: ReactNode; label: ReactNode }) {\n return (\n <Tooltip.Root>\n <Tooltip.Trigger render={<span className=\"ps:inline-flex ps:items-center\" />}>\n {children}\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Positioner className=\"ps:z-[100001]\" sideOffset={6}>\n <Tooltip.Popup className=\"ps:max-w-64 ps:rounded-md ps:border ps:border-zinc-700 ps:bg-zinc-900 ps:px-2.5 ps:py-1.5 ps:text-[11px] ps:text-zinc-200 ps:shadow-xl\">\n {label}\n </Tooltip.Popup>\n </Tooltip.Positioner>\n </Tooltip.Portal>\n </Tooltip.Root>\n );\n}\n\nfunction TypeIndicator({ type }: { type: TypeDef }) {\n const Icon = typeIcon(type);\n return (\n <DevtoolsTooltip label={typeDisplayName(type)}>\n {/* oxlint-disable-next-line react/static-components -- typeIcon selects an imported static icon; it does not create a component. */}\n <Icon aria-hidden className=\"ps:size-3.5 ps:text-zinc-500\" />\n </DevtoolsTooltip>\n );\n}\n\nfunction isGeopoint(value: unknown): value is v.geopoint {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"lat\" in value &&\n typeof value.lat === \"number\" &&\n \"lon\" in value &&\n typeof value.lon === \"number\"\n );\n}\n\n/* oxlint-disable jsx-a11y/prefer-tag-over-role -- Inline SVG is an image, not an HTML img. */\nfunction GeopointPreview({ value }: { value: v.geopoint }) {\n const cx = value.lon + 180;\n const cy = 90 - value.lat;\n const label = `${value.lat.toFixed(4)}, ${value.lon.toFixed(4)}`;\n return (\n <DevtoolsTooltip\n label={\n <svg\n aria-label={`Map preview for ${label}`}\n className=\"ps:block ps:rounded ps:border ps:border-zinc-700\"\n height=\"72\"\n role=\"img\"\n viewBox=\"0 0 360 180\"\n width=\"144\"\n >\n <rect className=\"ps:fill-sky-950\" height=\"180\" width=\"360\" />\n {CONTINENTS.map((points) => (\n <polygon\n className=\"ps:fill-zinc-700 ps:stroke-zinc-600\"\n key={points}\n points={points}\n strokeWidth=\"0.5\"\n />\n ))}\n <circle className=\"ps:fill-rose-400\" cx={cx} cy={cy} r=\"5\" />\n </svg>\n }\n >\n <a\n className=\"ps:text-sky-400 ps:underline ps:decoration-dotted ps:underline-offset-4\"\n href={`https://www.google.com/maps?q=${value.lat},${value.lon}`}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n {label}\n </a>\n </DevtoolsTooltip>\n );\n}\n\n/* oxlint-enable jsx-a11y/prefer-tag-over-role */\nexport function timestampPreview(value: unknown): { display: string; exact: string } | undefined {\n if (value === undefined || value === null) return undefined;\n const exact = formatObjectValue(value);\n let epochMilliseconds: number | undefined;\n if (value instanceof Date) {\n epochMilliseconds = value.getTime();\n } else if (\n typeof value === \"object\" &&\n \"epochMilliseconds\" in value &&\n (typeof value.epochMilliseconds === \"number\" || typeof value.epochMilliseconds === \"bigint\")\n ) {\n epochMilliseconds = Number(value.epochMilliseconds);\n } else if (typeof value === \"string\") {\n const parsed = Date.parse(value);\n if (!Number.isNaN(parsed)) epochMilliseconds = parsed;\n }\n if (epochMilliseconds === undefined || !Number.isFinite(epochMilliseconds)) {\n return { display: exact, exact };\n }\n return {\n display: new Intl.DateTimeFormat(undefined, {\n dateStyle: \"medium\",\n timeStyle: \"medium\",\n }).format(new Date(epochMilliseconds)),\n exact,\n };\n}\n\nfunction isAttachment(value: unknown): value is v.attachment {\n return typeof value === \"object\" && value !== null && \"id\" in value && typeof value.id === \"string\";\n}\n\nfunction AttachmentPreview({ attachment, ontology }: { attachment: v.attachment; ontology: LiveOntology }) {\n const [preview, setPreview] = useState<{\n metadata: AttachmentMetadata;\n src?: string;\n }>();\n useEffect(() => {\n let cancelled = false;\n let objectUrl: string | undefined;\n void ontology.attachments\n .metadata(attachment)\n .then(async (metadata) => {\n if (metadata.type.startsWith(\"image/\")) {\n objectUrl = URL.createObjectURL(await ontology.attachments.blob(attachment));\n }\n if (!cancelled) setPreview({ metadata, src: objectUrl });\n })\n .catch(() => {\n if (!cancelled) setPreview(undefined);\n });\n return () => {\n cancelled = true;\n if (objectUrl) URL.revokeObjectURL(objectUrl);\n };\n }, [attachment, ontology]);\n\n const label = preview?.metadata.name ?? attachment.id;\n if (!preview?.src) {\n return (\n <DevtoolsTooltip label={label}>\n <span className=\"ps:inline-flex ps:max-w-40 ps:items-center ps:gap-1.5 ps:truncate\">\n <PaperClipIcon aria-hidden className=\"ps:size-3.5 ps:flex-none ps:text-zinc-500\" />\n <span className=\"ps:truncate\">{label}</span>\n </span>\n </DevtoolsTooltip>\n );\n }\n\n return (\n <Dialog.Root>\n <Dialog.Trigger\n aria-label={`Open ${label}`}\n className=\"ps:block ps:overflow-hidden ps:rounded-md ps:border ps:border-zinc-700 ps:bg-transparent ps:p-0 ps:hover:border-rose-400\"\n >\n <img alt={label} className=\"ps:size-10 ps:object-cover\" src={preview.src} />\n </Dialog.Trigger>\n <Dialog.Portal>\n <Dialog.Backdrop className=\"ps:fixed ps:inset-0 ps:z-[100002] ps:bg-black/75 ps:backdrop-blur-sm\" />\n <Dialog.Viewport className=\"ps:fixed ps:inset-0 ps:z-[100003] ps:grid ps:place-items-center ps:p-8\">\n <Dialog.Popup className=\"ps:relative ps:max-h-full ps:max-w-4xl ps:rounded-xl ps:border ps:border-zinc-700 ps:bg-zinc-950 ps:p-3 ps:shadow-2xl\">\n <Dialog.Title className=\"ps:sr-only\">{label}</Dialog.Title>\n <img\n alt={label}\n className=\"ps:max-h-[80vh] ps:max-w-[80vw] ps:rounded-lg ps:object-contain\"\n src={preview.src}\n />\n <Dialog.Close className=\"ps:absolute ps:top-4 ps:right-4 ps:rounded-md ps:border ps:border-zinc-600 ps:bg-zinc-950/90 ps:px-2.5 ps:py-1.5 ps:text-xs ps:text-white\">\n Close\n </Dialog.Close>\n </Dialog.Popup>\n </Dialog.Viewport>\n </Dialog.Portal>\n </Dialog.Root>\n );\n}\n\nfunction PropertyValuePreview({\n ir,\n ontology,\n type,\n value,\n}: {\n ir: OntologyIR;\n ontology: LiveOntology;\n type: TypeDef;\n value: unknown;\n}) {\n const resolved = resolvedType(ir, type);\n if (resolved.kind === \"optional\") {\n return <PropertyValuePreview ir={ir} ontology={ontology} type={resolved.value.type} value={value} />;\n }\n if (resolved.kind === \"geopoint\" && isGeopoint(value)) {\n return <GeopointPreview value={value} />;\n }\n if (resolved.kind === \"timestamp\") {\n const preview = timestampPreview(value);\n if (preview) {\n return (\n <DevtoolsTooltip label={preview.exact}>\n <span>{preview.display}</span>\n </DevtoolsTooltip>\n );\n }\n }\n if (resolved.kind === \"attachment\" && isAttachment(value)) {\n return <AttachmentPreview attachment={value} ontology={ontology} />;\n }\n if (\n resolved.kind === \"list\" &&\n resolvedType(ir, resolved.value.elementType).kind === \"attachment\" &&\n Array.isArray(value)\n ) {\n const attachments = value.filter(isAttachment);\n if (attachments.length > 0) {\n return (\n <div className=\"ps:flex ps:items-center ps:gap-1.5\">\n {attachments.slice(0, 3).map((attachment) => (\n <AttachmentPreview attachment={attachment} key={attachment.id} ontology={ontology} />\n ))}\n {attachments.length > 3 ? (\n <span className=\"ps:text-zinc-500\">+{attachments.length - 3}</span>\n ) : null}\n </div>\n );\n }\n }\n const formatted = formatObjectValue(value);\n return (\n <span className=\"ps:block ps:max-w-72 ps:truncate\" title={formatted}>\n {formatted}\n </span>\n );\n}\n\nfunction defaultColumnSize(ir: OntologyIR, type: TypeDef): number {\n switch (resolvedType(ir, type).kind) {\n case \"boolean\":\n return 110;\n case \"integer\":\n case \"float\":\n case \"double\":\n return 130;\n case \"date\":\n case \"timestamp\":\n return 190;\n case \"geopoint\":\n return 175;\n case \"attachment\":\n case \"list\":\n return 150;\n case \"objectReference\":\n return 200;\n case \"string\":\n return 220;\n default:\n return 180;\n }\n}\n\nexport function moveColumn(columnOrder: string[], sourceId: string, targetId: string): string[] {\n const sourceIndex = columnOrder.indexOf(sourceId);\n const targetIndex = columnOrder.indexOf(targetId);\n if (sourceIndex === -1 || targetIndex === -1 || sourceIndex === targetIndex) {\n return columnOrder;\n }\n const next = [...columnOrder];\n next.splice(sourceIndex, 1);\n next.splice(targetIndex, 0, sourceId);\n return next;\n}\n\nconst objectTableFeatures = tableFeatures({\n rowSortingFeature,\n columnOrderingFeature,\n columnSizingFeature,\n columnResizingFeature,\n columnVisibilityFeature,\n});\nconst objectColumnHelper = createColumnHelper<typeof objectTableFeatures, Record<string, unknown>>();\n\nfunction ObjectTable({\n collection,\n objectType,\n ontology,\n pageSize,\n}: {\n collection: LiveOntology[\"objects\"][string];\n objectType: ObjectTypeDef;\n ontology: LiveOntology;\n pageSize: number;\n}) {\n const [sorting, setSorting] = useState<SortingState>([]);\n const [columnSizing, setColumnSizing] = useState<ColumnSizingState>({});\n const [columnVisibility, setColumnVisibility] = useState<ColumnVisibilityState>({});\n const [columnOrder, setColumnOrder] = useState<ColumnOrderState>(() =>\n objectType.properties.map((property) => property.name)\n );\n const [draggedColumnId, setDraggedColumnId] = useState<string>();\n const [dragOverColumnId, setDragOverColumnId] = useState<string>();\n const selectedSort = sorting[0];\n const { data, fetchNextPage, hasNextPage, isFetchingNextPage } = useLiveInfiniteQuery(\n (query) => {\n const from = query.from({ row: collection });\n const primaryKey = objectType.primaryKey;\n if (selectedSort && selectedSort.id !== primaryKey) {\n return from\n .orderBy(\n ({ row }) => (row as Record<string, unknown>)[selectedSort.id] as string | number,\n selectedSort.desc ? \"desc\" : \"asc\"\n )\n .orderBy(\n ({ row }) => (row as Record<string, unknown>)[primaryKey] as string | number,\n \"asc\"\n )\n .select(({ row }) => row as Record<string, unknown>);\n }\n return from\n .orderBy(\n ({ row }) => (row as Record<string, unknown>)[primaryKey] as string | number,\n selectedSort?.desc ? \"desc\" : \"asc\"\n )\n .select(({ row }) => row as Record<string, unknown>);\n },\n { pageSize },\n [collection.id, objectType.primaryKey, pageSize, selectedSort?.id, selectedSort?.desc]\n );\n const rows = data as Array<Record<string, unknown>>;\n const columns = useMemo(\n () =>\n objectType.properties.map((property) =>\n objectColumnHelper.accessor((row) => row[property.name], {\n id: property.name,\n maxSize: 520,\n minSize: 90,\n size:\n property.name === objectType.primaryKey\n ? 220\n : defaultColumnSize(ontology.ir, property.type),\n header: () => (\n <span className=\"ps:inline-flex ps:items-center ps:gap-1.5\">\n <TypeIndicator type={property.type} />\n <span>{property.displayName}</span>\n {property.name === objectType.primaryKey ? (\n <span className=\"ps:ml-1.5 ps:text-[9px] ps:font-bold ps:tracking-wide ps:text-rose-400\">\n PK\n </span>\n ) : null}\n </span>\n ),\n cell: (info) => (\n <PropertyValuePreview\n ir={ontology.ir}\n ontology={ontology}\n type={property.type}\n value={info.getValue()}\n />\n ),\n })\n ),\n [objectType, ontology]\n );\n const table = useTable({\n features: objectTableFeatures,\n columnResizeMode: \"onEnd\",\n columns,\n data: rows,\n enableColumnResizing: true,\n getRowId: (row, index) => `${formatObjectValue(row[objectType.primaryKey])}-${index}`,\n manualSorting: true,\n onColumnOrderChange: setColumnOrder,\n onColumnSizingChange: setColumnSizing,\n onColumnVisibilityChange: setColumnVisibility,\n onSortingChange: setSorting,\n state: { columnOrder, columnSizing, columnVisibility, sorting },\n });\n const resizingColumnId = table.state.columnResizing.isResizingColumn;\n const resizingColumn =\n typeof resizingColumnId === \"string\" ? table.getColumn(resizingColumnId) : undefined;\n const allColumns = table.getAllLeafColumns();\n\n return (\n <div className=\"ps:flex ps:min-h-0 ps:min-w-0 ps:flex-1 ps:flex-col ps:overflow-hidden\">\n <div className=\"ps:flex ps:flex-none ps:items-center ps:border-b ps:border-zinc-500/20 ps:px-4 ps:py-2\">\n <h2 className=\"ps:m-0 ps:flex ps:items-center ps:gap-2 ps:text-lg ps:font-semibold\">\n <ObjectTypeIcon\n className=\"ps:size-5 ps:flex-none ps:text-rose-400\"\n objectType={objectType}\n />\n {objectType.pluralDisplayName}\n </h2>\n <div className=\"ps:ml-auto ps:flex ps:items-center ps:gap-1.5\">\n <button\n className=\"ps:inline-flex ps:items-center ps:gap-1.5 ps:rounded-md ps:border-0 ps:bg-transparent ps:px-2 ps:py-1.5 ps:text-xs ps:text-zinc-400 ps:hover:bg-zinc-500/10 ps:hover:text-current ps:disabled:opacity-40\"\n disabled={Object.keys(columnSizing).length === 0}\n title=\"Reset column widths\"\n type=\"button\"\n onClick={() => {\n table.resetColumnSizing();\n }}\n >\n <ArrowPathIcon aria-hidden className=\"ps:size-3.5\" />\n Reset widths\n </button>\n <Menu.Root>\n <Menu.Trigger className=\"ps:inline-flex ps:items-center ps:gap-1.5 ps:rounded-md ps:border ps:border-zinc-500/30 ps:bg-zinc-500/10 ps:px-2.5 ps:py-1.5 ps:text-xs ps:text-inherit ps:hover:border-zinc-500/60\">\n <ViewColumnsIcon aria-hidden className=\"ps:size-3.5\" />\n Columns\n </Menu.Trigger>\n <Menu.Portal>\n <Menu.Positioner align=\"end\" className=\"ps:z-[100001]\" sideOffset={6}>\n <Menu.Popup className=\"ps:min-w-48 ps:rounded-lg ps:border ps:border-zinc-700 ps:bg-zinc-900 ps:p-1.5 ps:text-xs ps:text-zinc-200 ps:shadow-2xl\">\n <Menu.Group>\n <Menu.GroupLabel className=\"ps:px-2 ps:py-1.5 ps:text-[10px] ps:font-bold ps:tracking-wider ps:text-zinc-500 ps:uppercase\">\n Columns\n </Menu.GroupLabel>\n {allColumns.map((column, columnIndex) => (\n <Menu.CheckboxItem\n aria-label={\n objectType.properties.find(\n (property) => property.name === column.id\n )?.displayName ?? column.id\n }\n checked={column.getIsVisible()}\n className={\n dragOverColumnId === column.id &&\n draggedColumnId !== column.id\n ? \"ps:flex ps:cursor-default ps:items-center ps:gap-2 ps:rounded-md ps:bg-rose-500/15 ps:px-2 ps:py-1.5 ps:outline-none\"\n : \"ps:flex ps:cursor-default ps:items-center ps:gap-2 ps:rounded-md ps:px-2 ps:py-1.5 ps:outline-none ps:data-[highlighted]:bg-zinc-700/70\"\n }\n draggable\n key={column.id}\n label={\n objectType.properties.find(\n (property) => property.name === column.id\n )?.displayName ?? column.id\n }\n onCheckedChange={(checked) => {\n column.toggleVisibility(checked);\n }}\n onDragEnd={() => {\n setDraggedColumnId(undefined);\n setDragOverColumnId(undefined);\n }}\n onDragOver={(event) => {\n event.preventDefault();\n event.dataTransfer.dropEffect = \"move\";\n setDragOverColumnId(column.id);\n }}\n onDragStart={(event) => {\n event.dataTransfer.effectAllowed = \"move\";\n event.dataTransfer.setData(\"text/plain\", column.id);\n setDraggedColumnId(column.id);\n }}\n onDrop={(event) => {\n event.preventDefault();\n if (draggedColumnId && draggedColumnId !== column.id) {\n setColumnOrder((current) =>\n moveColumn(current, draggedColumnId, column.id)\n );\n }\n setDraggedColumnId(undefined);\n setDragOverColumnId(undefined);\n }}\n onKeyDown={(event) => {\n if (\n !event.altKey ||\n (event.key !== \"ArrowUp\" && event.key !== \"ArrowDown\")\n ) {\n return;\n }\n event.preventDefault();\n const targetIndex =\n event.key === \"ArrowUp\"\n ? columnIndex - 1\n : columnIndex + 1;\n const target = allColumns[targetIndex];\n if (target) {\n setColumnOrder((current) =>\n moveColumn(current, column.id, target.id)\n );\n }\n }}\n >\n <span\n aria-hidden=\"true\"\n className=\"ps:cursor-grab ps:text-zinc-500 ps:active:cursor-grabbing\"\n title=\"Drag to reorder\"\n onClick={(event) => {\n event.stopPropagation();\n }}\n >\n <Bars2Icon aria-hidden className=\"ps:size-3.5\" />\n </span>\n <span className=\"ps:grid ps:size-4 ps:place-items-center ps:rounded ps:border ps:border-zinc-600\">\n {column.getIsVisible() ? (\n <CheckIcon\n aria-hidden\n className=\"ps:size-3 ps:text-rose-400\"\n />\n ) : null}\n </span>\n <span className=\"ps:truncate\">\n {objectType.properties.find(\n (property) => property.name === column.id\n )?.displayName ?? column.id}\n </span>\n </Menu.CheckboxItem>\n ))}\n <p className=\"ps:m-0 ps:px-2 ps:pt-2 ps:pb-1 ps:text-[10px] ps:text-zinc-500\">\n Drag to reorder · Alt+↑/↓ with keyboard\n </p>\n </Menu.Group>\n </Menu.Popup>\n </Menu.Positioner>\n </Menu.Portal>\n </Menu.Root>\n </div>\n </div>\n {rows.length === 0 ? (\n <div className=\"ps:m-4 ps:grid ps:min-h-40 ps:place-items-center ps:rounded-xl ps:border ps:border-dashed ps:border-zinc-500/40 ps:text-sm ps:text-zinc-500\">\n No objects loaded\n </div>\n ) : (\n <div className=\"ps-object-table-scroll ps:min-h-0 ps:flex-1 ps:overflow-auto\">\n <div\n className=\"ps:relative ps:min-h-full\"\n style={{ minWidth: \"100%\", width: table.getTotalSize() }}\n >\n <table className=\"ps:w-full ps:table-fixed ps:border-separate ps:border-spacing-0 ps:text-left ps:text-xs\">\n <colgroup>\n {table.getVisibleLeafColumns().map((column) => (\n <col key={column.id} style={{ width: column.getSize() }} />\n ))}\n </colgroup>\n <thead className=\"ps-object-table-header\">\n {table.getHeaderGroups().map((headerGroup) => (\n <tr key={headerGroup.id}>\n {headerGroup.headers.map((header) => {\n const direction = header.column.getIsSorted();\n return (\n <th\n className=\"ps:relative ps:border-b ps:border-zinc-500/30 ps:bg-zinc-950/95 ps:px-4 ps:py-3 ps:font-semibold ps:whitespace-nowrap ps:backdrop-blur ps:in-[.ps-theme-light]:bg-stone-50/95\"\n key={header.id}\n >\n {header.isPlaceholder ? null : (\n <button\n className=\"ps:flex ps:w-full ps:items-center ps:gap-2 ps:border-0 ps:bg-transparent ps:p-0 ps:text-left ps:text-inherit ps:font-inherit ps:hover:text-rose-400\"\n title={`Sort by ${header.column.id}`}\n type=\"button\"\n onClick={header.column.getToggleSortingHandler()}\n >\n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n {direction === \"asc\" ? (\n <ChevronUpIcon\n aria-hidden\n className=\"ps:size-3.5 ps:flex-none ps:text-rose-400\"\n />\n ) : direction === \"desc\" ? (\n <ChevronDownIcon\n aria-hidden\n className=\"ps:size-3.5 ps:flex-none ps:text-rose-400\"\n />\n ) : (\n <ChevronUpDownIcon\n aria-hidden\n className=\"ps:size-3.5 ps:flex-none ps:text-zinc-600\"\n />\n )}\n <span className=\"ps:sr-only\">\n {direction === \"asc\"\n ? \"Sorted ascending\"\n : direction === \"desc\"\n ? \"Sorted descending\"\n : \"Not sorted\"}\n </span>\n </button>\n )}\n {\n header.column.getCanResize() ? (\n // oxlint-disable jsx-a11y/prefer-tag-over-role -- This focusable separator adjusts column width; an hr cannot replace it.\n <button\n aria-label={`Resize ${header.column.id} column`}\n aria-orientation=\"vertical\"\n aria-valuemax={\n header.column.columnDef.maxSize\n }\n aria-valuemin={\n header.column.columnDef.minSize\n }\n aria-valuenow={header.column.getSize()}\n className={\n header.column.getIsResizing()\n ? \"ps:absolute ps:top-0 ps:right-0 ps:z-20 ps:h-full ps:w-1 ps:cursor-col-resize ps:touch-none ps:border-0 ps:bg-transparent ps:p-0\"\n : resizingColumn\n ? \"ps:pointer-events-none ps:invisible ps:absolute ps:top-0 ps:right-0 ps:h-full ps:w-1 ps:border-0 ps:bg-transparent ps:p-0\"\n : \"ps:absolute ps:top-0 ps:right-0 ps:h-full ps:w-1 ps:cursor-col-resize ps:touch-none ps:border-0 ps:bg-transparent ps:p-0 ps:hover:bg-rose-400/70 ps:focus-visible:bg-rose-400/70 ps:focus:outline-none\"\n }\n disabled={\n resizingColumn !== undefined &&\n !header.column.getIsResizing()\n }\n role=\"separator\"\n tabIndex={0}\n type=\"button\"\n onDoubleClick={() => {\n header.column.resetSize();\n }}\n onKeyDown={(event) => {\n if (\n event.key !== \"ArrowLeft\" &&\n event.key !== \"ArrowRight\"\n ) {\n return;\n }\n event.preventDefault();\n const delta =\n event.key === \"ArrowRight\" ? 10 : -10;\n const min =\n header.column.columnDef.minSize ?? 20;\n const max =\n header.column.columnDef.maxSize ??\n Number.MAX_SAFE_INTEGER;\n setColumnSizing((current) => ({\n ...current,\n [header.column.id]: Math.min(\n max,\n Math.max(\n min,\n header.column.getSize() +\n delta\n )\n ),\n }));\n }}\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n />\n ) : null /* oxlint-enable jsx-a11y/prefer-tag-over-role */\n }\n </th>\n );\n })}\n </tr>\n ))}\n </thead>\n <tbody>\n {table.getRowModel().rows.map((row) => (\n <tr className=\"ps:hover:bg-zinc-500/8\" key={row.id}>\n {row.getVisibleCells().map((cell) => (\n <td\n className=\"ps:max-w-80 ps:border-b ps:border-zinc-500/15 ps:px-4 ps:py-3 ps:text-[11px] ps:whitespace-nowrap\"\n key={cell.id}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n {hasNextPage ? (\n <div className=\"ps:sticky ps:left-0 ps:flex ps:w-full ps:justify-center ps:border-t ps:border-zinc-500/20 ps:bg-zinc-950/95 ps:p-3 ps:in-[.ps-theme-light]:bg-stone-50/95\">\n <button\n className=\"ps:rounded-md ps:border ps:border-zinc-600 ps:bg-zinc-900 ps:px-3 ps:py-1.5 ps:text-xs ps:text-zinc-200 ps:hover:border-rose-400 ps:hover:text-rose-300 ps:disabled:opacity-50\"\n disabled={isFetchingNextPage}\n type=\"button\"\n onClick={() => void fetchNextPage()}\n >\n {isFetchingNextPage ? \"Loading…\" : `Load ${pageSize} more`}\n </button>\n </div>\n ) : null}\n {resizingColumn ? (\n <div\n className=\"ps:pointer-events-none ps:absolute ps:inset-y-0 ps:z-50 ps:w-0.5 ps:bg-rose-400 ps:shadow-[0_0_0_1px_rgba(251,113,133,0.18)] ps:will-change-transform\"\n style={{\n left: resizingColumn.getStart() + resizingColumn.getSize(),\n transform: `translateX(${table.state.columnResizing.deltaOffset ?? 0}px)`,\n }}\n />\n ) : null}\n </div>\n </div>\n )}\n </div>\n );\n}\n\nfunction ObjectsView({ ontology, pageSize = 50 }: { ontology: LiveOntology; pageSize?: number }) {\n const objectTypes = ontology.ir.objectTypes;\n const [selectedName, setSelectedName] = useState(() => objectTypes[0]?.name);\n const selected = objectTypes.find((objectType) => objectType.name === selectedName) ?? objectTypes[0];\n const collection = selected ? ontology.objects[selected.name] : undefined;\n\n if (!selected || !collection) {\n return (\n <div className=\"ps:grid ps:h-full ps:place-items-center ps:text-sm ps:text-zinc-500\">\n This ontology has no object types.\n </div>\n );\n }\n\n return (\n <div className=\"ps:flex ps:h-full ps:min-h-0 ps:w-full ps:min-w-0 ps:overflow-hidden\">\n <aside className=\"ps:w-44 ps:flex-none ps:overflow-y-auto ps:border-r ps:border-zinc-500/20 ps:p-3\">\n <p className=\"ps:mt-0 ps:mb-2 ps:px-2 ps:text-[10px] ps:font-bold ps:tracking-[0.14em] ps:text-zinc-500 ps:uppercase\">\n Object types\n </p>\n <div className=\"ps:flex ps:flex-col ps:gap-1\">\n {objectTypes.map((objectType) => (\n <button\n className={\n objectType.name === selected.name\n ? \"ps:flex ps:items-center ps:gap-2 ps:rounded-lg ps:border-0 ps:bg-rose-500/15 ps:px-2.5 ps:py-2 ps:text-left ps:text-xs ps:font-semibold ps:text-rose-400\"\n : \"ps:flex ps:items-center ps:gap-2 ps:rounded-lg ps:border-0 ps:bg-transparent ps:px-2.5 ps:py-2 ps:text-left ps:text-xs ps:text-inherit ps:hover:bg-zinc-500/10\"\n }\n key={objectType.name}\n type=\"button\"\n onClick={() => {\n setSelectedName(objectType.name);\n }}\n >\n <ObjectTypeIcon className=\"ps:size-4 ps:flex-none\" objectType={objectType} />\n <span className=\"ps:truncate\">{objectType.pluralDisplayName}</span>\n </button>\n ))}\n </div>\n </aside>\n <ObjectTable\n collection={collection}\n key={selected.name}\n objectType={selected}\n ontology={ontology}\n pageSize={pageSize}\n />\n </div>\n );\n}\n\ninterface SchemaNode {\n objectType: ObjectTypeDef;\n x: number;\n y: number;\n}\n\ninterface SchemaEdge {\n id: string;\n label: string;\n labelWidth: number;\n labelX: number;\n labelY: number;\n points: Point[];\n}\n\ninterface SchemaGraphEdgeLabel extends EdgeLabel {\n label: string;\n}\n\nconst SCHEMA_CARD_WIDTH = 230;\nconst SCHEMA_CARD_HEIGHT = 176;\n\nfunction schemaEdgeLabel(link: OntologyIR[\"linkTypes\"][number]): {\n label: string;\n width: number;\n} {\n const label = `${link.source.displayName} · ${link.cardinality}`;\n return {\n label,\n width: Math.min(180, Math.max(72, label.length * 6 + 16)),\n };\n}\n\nexport function layoutSchema(ir: OntologyIR): {\n nodes: SchemaNode[];\n edges: SchemaEdge[];\n width: number;\n height: number;\n} {\n const graph = new Graph<GraphLabel, NodeLabel, SchemaGraphEdgeLabel>({ multigraph: true })\n .setGraph({\n marginx: 40,\n marginy: 40,\n nodesep: 72,\n rankdir: \"LR\",\n ranksep: 120,\n })\n .setDefaultEdgeLabel(() => ({ label: \"\" }));\n\n for (const objectType of ir.objectTypes) {\n graph.setNode(objectType.name, {\n height: SCHEMA_CARD_HEIGHT,\n width: SCHEMA_CARD_WIDTH,\n });\n }\n for (const link of ir.linkTypes) {\n const edgeLabel = schemaEdgeLabel(link);\n graph.setEdge(\n link.source.objectType,\n link.target.objectType,\n {\n height: 24,\n label: edgeLabel.label,\n width: edgeLabel.width,\n },\n link.id\n );\n }\n\n layoutGraph(graph);\n\n const objectTypeByName = new Map(ir.objectTypes.map((objectType) => [objectType.name, objectType]));\n const nodes = graph\n .nodes()\n .map((name) => {\n const objectType = objectTypeByName.get(name);\n const node = graph.node(name);\n if (!objectType || !node) return undefined;\n return {\n objectType,\n x: (node.x ?? 0) - SCHEMA_CARD_WIDTH / 2,\n y: (node.y ?? 0) - SCHEMA_CARD_HEIGHT / 2,\n };\n })\n .filter((node): node is SchemaNode => node !== undefined);\n const edges = graph.edges().map((edge) => {\n const value = graph.edge(edge);\n return {\n id: edge.name ?? `${edge.v}-${edge.w}`,\n label: value.label ?? \"\",\n labelWidth: value.width ?? 72,\n labelX: value.x ?? value.points?.[0]?.x ?? 0,\n labelY: value.y ?? value.points?.[0]?.y ?? 0,\n points: value.points ?? [],\n };\n });\n const graphSize = graph.graph();\n\n return {\n nodes,\n edges,\n width: Math.max(310, graphSize.width ?? 0),\n height: Math.max(256, graphSize.height ?? 0),\n };\n}\n\nexport function schemaEdgePath(points: Point[], cornerRadius = 12): string {\n if (points.length === 0) return \"\";\n const first = points[0]!;\n if (points.length === 1) return `M ${first.x} ${first.y}`;\n\n const path = [`M ${first.x} ${first.y}`];\n for (let index = 1; index < points.length - 1; index += 1) {\n const previous = points[index - 1]!;\n const current = points[index]!;\n const next = points[index + 1]!;\n const incoming = Math.hypot(current.x - previous.x, current.y - previous.y);\n const outgoing = Math.hypot(next.x - current.x, next.y - current.y);\n if (incoming === 0 || outgoing === 0) {\n path.push(`L ${current.x} ${current.y}`);\n continue;\n }\n const radius = Math.min(cornerRadius, incoming / 2, outgoing / 2);\n const before = {\n x: current.x + ((previous.x - current.x) / incoming) * radius,\n y: current.y + ((previous.y - current.y) / incoming) * radius,\n };\n const after = {\n x: current.x + ((next.x - current.x) / outgoing) * radius,\n y: current.y + ((next.y - current.y) / outgoing) * radius,\n };\n path.push(`L ${before.x} ${before.y}`, `Q ${current.x} ${current.y} ${after.x} ${after.y}`);\n }\n const end = points.at(-1);\n if (end) path.push(`L ${end.x} ${end.y}`);\n return path.join(\" \");\n}\n\nfunction SchemaView({ ir }: { ir: OntologyIR }) {\n const schemaLayout = useMemo(() => layoutSchema(ir), [ir]);\n const markerId = `ps-schema-arrow-${useId().replaceAll(\":\", \"\")}`;\n\n if (ir.objectTypes.length === 0) {\n return (\n <div className=\"ps:grid ps:h-full ps:place-items-center ps:text-sm ps:text-zinc-500\">\n This ontology has no schema.\n </div>\n );\n }\n\n return (\n <div className=\"ps:h-full ps:overflow-auto ps:p-5\">\n <div\n className=\"ps:relative ps:rounded-2xl ps:border ps:border-zinc-500/20 ps:bg-zinc-950/25 ps:in-[.ps-theme-light]:bg-white/45\"\n style={{ height: schemaLayout.height, width: schemaLayout.width }}\n >\n {/* oxlint-disable jsx-a11y/prefer-tag-over-role -- Inline SVG is an image, not an HTML img. */}\n <svg\n aria-label=\"Ontology relations\"\n className=\"ps:absolute ps:inset-0 ps:size-full ps:overflow-visible\"\n role=\"img\"\n viewBox={`0 0 ${schemaLayout.width} ${schemaLayout.height}`}\n >\n <defs>\n <marker\n id={markerId}\n markerHeight=\"8\"\n markerWidth=\"8\"\n orient=\"auto\"\n refX=\"7\"\n refY=\"4\"\n >\n <path className=\"ps:fill-rose-400\" d=\"M0,0 L8,4 L0,8 Z\" />\n </marker>\n </defs>\n {schemaLayout.edges.map((edge) => (\n <g key={edge.id}>\n <path\n className=\"ps:fill-none ps:stroke-rose-400/80\"\n d={schemaEdgePath(edge.points)}\n markerEnd={`url(#${markerId})`}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n />\n <rect\n className=\"ps:fill-zinc-900 ps:stroke-zinc-700 ps:in-[.ps-theme-light]:fill-white ps:in-[.ps-theme-light]:stroke-stone-300\"\n height=\"22\"\n rx=\"7\"\n width={edge.labelWidth}\n x={edge.labelX - edge.labelWidth / 2}\n y={edge.labelY - 11}\n />\n <text\n className=\"ps:fill-zinc-300 ps:text-[10px] ps:font-medium ps:in-[.ps-theme-light]:fill-stone-600\"\n dominantBaseline=\"middle\"\n textAnchor=\"middle\"\n x={edge.labelX}\n y={edge.labelY}\n >\n {edge.label}\n </text>\n </g>\n ))}\n </svg>\n {/* oxlint-enable jsx-a11y/prefer-tag-over-role */}\n {schemaLayout.nodes.map(({ objectType, x, y }) => (\n <article\n className=\"ps:absolute ps:h-44 ps:w-[230px] ps:overflow-hidden ps:rounded-xl ps:border ps:border-zinc-500/30 ps:bg-zinc-900/95 ps:shadow-xl ps:in-[.ps-theme-light]:bg-white/95\"\n key={objectType.name}\n style={{ left: x, top: y }}\n >\n <header className=\"ps:border-b ps:border-zinc-500/20 ps:px-3.5 ps:py-3\">\n <h3 className=\"ps:m-0 ps:flex ps:items-center ps:gap-2 ps:text-sm ps:font-semibold\">\n <ObjectTypeIcon\n className=\"ps:size-4 ps:flex-none ps:text-rose-400\"\n objectType={objectType}\n />\n {objectType.displayName}\n </h3>\n <p className=\"ps:mt-0.5 ps:mb-0 ps:font-mono ps:text-[10px] ps:text-zinc-500\">\n {objectType.name}\n </p>\n </header>\n <div className=\"ps:max-h-28 ps:overflow-y-auto ps:px-3.5 ps:py-2\">\n {objectType.properties.map((property) => (\n <div\n className=\"ps:flex ps:items-center ps:justify-between ps:gap-3 ps:py-1 ps:text-[11px]\"\n key={property.name}\n >\n <span className=\"ps:truncate\">{property.displayName}</span>\n {property.name === objectType.primaryKey ? (\n <span className=\"ps:flex-none ps:text-[9px] ps:font-bold ps:text-rose-400\">\n PK\n </span>\n ) : null}\n </div>\n ))}\n </div>\n </article>\n ))}\n </div>\n </div>\n );\n}\n\nexport function OntologyDevtoolsPanel<\n Ontology extends OntologyDefinition,\n MetaOntology extends OntologyDefinition = OntologyDefinition,\n>({ metaOntology, ontology, theme = \"dark\" }: OntologyDevtoolsPanelProps<Ontology, MetaOntology>) {\n const { data: outboxEntries } = useLiveQuery({\n query: (query) => query.from({ entry: ontology.outbox.collection }),\n });\n const outboxActivity = getOutboxActivity(outboxEntries);\n\n return (\n <Tooltip.Provider>\n <Tabs.Root\n className={`ps-devtools ps-theme-${theme} ps:flex ps:h-full ps:min-h-0 ps:w-full ps:min-w-0 ps:flex-col ps:overflow-hidden ps:font-sans ps:text-[13px] ${\n theme === \"dark\" ? \"ps:bg-zinc-950 ps:text-stone-200\" : \"ps:bg-stone-50 ps:text-stone-800\"\n }`}\n defaultValue=\"outbox\"\n style={{ contain: \"inline-size\" }}\n >\n <Tabs.List\n aria-label=\"Ontology devtools views\"\n className=\"ps:flex ps:flex-none ps:items-center ps:gap-1 ps:border-b ps:border-zinc-500/20 ps:px-4\"\n style={{ height: 40 }}\n >\n {[\n ...ontologyViews,\n ...(metaOntology\n ? [\n {\n id: \"meta\" as const,\n label: \"Meta\",\n icon: CodeBracketSquareIcon,\n },\n ]\n : []),\n ].map((view) => {\n const Icon = view.icon;\n return (\n <Tabs.Tab\n className=\"ps:group ps:flex ps:h-full ps:items-center ps:gap-1.5 ps:border-x-0 ps:border-t-0 ps:border-b-2 ps:border-transparent ps:bg-transparent ps:px-3 ps:text-xs ps:font-medium ps:text-zinc-500 ps:hover:text-current ps:data-[active]:border-rose-400 ps:data-[active]:font-semibold ps:data-[active]:text-rose-400\"\n key={view.id}\n value={view.id}\n >\n <Icon\n aria-hidden\n className=\"ps:flex-none\"\n style={{ height: 16, width: 16 }}\n />\n <span>{view.label}</span>\n {view.id === \"outbox\" ? (\n <>\n <span\n className={`ps:inline-flex ps:min-w-5 ps:items-center ps:justify-center ps:rounded-full ps:px-1.5 ps:py-0.5 ps:text-center ps:text-[10px] ps:leading-none ps:transition-colors ${outboxBadgeClass(\n outboxActivity\n )}`}\n title={`${outboxEntries.length} outbox entries · ${outboxActivityLabel(\n outboxActivity\n )}`}\n >\n <NumberFlow\n className=\"ps:tabular-nums\"\n isolate\n value={outboxEntries.length}\n />\n </span>\n </>\n ) : null}\n </Tabs.Tab>\n );\n })}\n </Tabs.List>\n <Tabs.Panel className=\"ps:min-h-0 ps:min-w-0 ps:flex-1 ps:overflow-hidden\" value=\"outbox\">\n <OutboxRows outbox={ontology.outbox} theme={theme} />\n </Tabs.Panel>\n <Tabs.Panel className=\"ps:min-h-0 ps:min-w-0 ps:flex-1 ps:overflow-hidden\" value=\"schema\">\n <SchemaView ir={ontology.ir} />\n </Tabs.Panel>\n <Tabs.Panel className=\"ps:min-h-0 ps:min-w-0 ps:flex-1 ps:overflow-hidden\" value=\"objects\">\n <ObjectsView ontology={ontology} />\n </Tabs.Panel>\n {metaOntology ? (\n <Tabs.Panel className=\"ps:min-h-0 ps:min-w-0 ps:flex-1 ps:overflow-hidden\" value=\"meta\">\n <ObjectsView ontology={metaOntology} pageSize={25} />\n </Tabs.Panel>\n ) : null}\n </Tabs.Root>\n </Tooltip.Provider>\n );\n}\n\nexport function createOntologyDevtoolsPlugin<\n Ontology extends OntologyDefinition,\n MetaOntology extends OntologyDefinition = OntologyDefinition,\n>({\n ontology,\n id = \"party-stack-ontology\",\n metaOntology,\n name,\n defaultOpen,\n}: OntologyDevtoolsPluginOptions<Ontology, MetaOntology>): TanStackDevtoolsReactPlugin {\n const [createPlugin] = createReactPlugin({\n id,\n name: \"Ontology\",\n defaultOpen,\n Component: ({ theme }) => (\n <OntologyDevtoolsPanel metaOntology={metaOntology} ontology={ontology} theme={theme} />\n ),\n });\n\n return {\n ...createPlugin(),\n name: name ?? ((_element, { theme }) => <OntologyDevtoolsPluginName theme={theme} />),\n };\n}\n"],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { OntologyDevtoolsChromeProps, OntologyDevtoolsPanel, OntologyDevtoolsPanelProps, OntologyDevtoolsPluginName, OntologyDevtoolsPluginOptions, OntologyDevtoolsTrigger, createOntologyDevtoolsPlugin, ontologyDevtoolsTrigger } from "./OntologyDevtools.js";
|
|
2
|
+
export { type OntologyDevtoolsChromeProps, OntologyDevtoolsPanel, type OntologyDevtoolsPanelProps, OntologyDevtoolsPluginName, type OntologyDevtoolsPluginOptions, OntologyDevtoolsTrigger, createOntologyDevtoolsPlugin, ontologyDevtoolsTrigger };
|
package/lib/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { OntologyDevtoolsPanel, OntologyDevtoolsPluginName, OntologyDevtoolsTrigger, createOntologyDevtoolsPlugin, ontologyDevtoolsTrigger } from "./OntologyDevtools.js";
|
|
2
|
+
export { OntologyDevtoolsPanel, OntologyDevtoolsPluginName, OntologyDevtoolsTrigger, createOntologyDevtoolsPlugin, ontologyDevtoolsTrigger };
|
package/lib/styles.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--ps-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--ps-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ps-color-red-300:oklch(80.8% .114 19.571);--ps-color-red-500:oklch(63.7% .237 25.331);--ps-color-sky-300:oklch(82.8% .111 230.318);--ps-color-sky-400:oklch(74.6% .16 232.661);--ps-color-sky-500:oklch(68.5% .169 237.323);--ps-color-sky-950:oklch(29.3% .066 243.157);--ps-color-rose-300:oklch(81% .117 11.638);--ps-color-rose-400:oklch(71.2% .194 13.428);--ps-color-rose-500:oklch(64.5% .246 16.439);--ps-color-zinc-200:oklch(92% .004 286.32);--ps-color-zinc-300:oklch(87.1% .006 286.286);--ps-color-zinc-400:oklch(70.5% .015 286.067);--ps-color-zinc-500:oklch(55.2% .016 285.938);--ps-color-zinc-600:oklch(44.2% .017 285.786);--ps-color-zinc-700:oklch(37% .013 285.805);--ps-color-zinc-900:oklch(21% .006 285.885);--ps-color-zinc-950:oklch(14.1% .005 285.823);--ps-color-stone-50:oklch(98.5% .001 106.423);--ps-color-stone-200:oklch(92.3% .003 48.717);--ps-color-stone-300:oklch(86.9% .005 56.366);--ps-color-stone-600:oklch(44.4% .011 73.639);--ps-color-stone-800:oklch(26.8% .007 34.298);--ps-color-black:#000;--ps-color-white:#fff;--ps-spacing:.25rem;--ps-container-4xl:56rem;--ps-text-xs:.75rem;--ps-text-xs--line-height:calc(1/.75);--ps-text-sm:.875rem;--ps-text-sm--line-height:calc(1.25/.875);--ps-text-lg:1.125rem;--ps-text-lg--line-height:calc(1.75/1.125);--ps-font-weight-medium:500;--ps-font-weight-semibold:600;--ps-font-weight-bold:700;--ps-tracking-wide:.025em;--ps-tracking-wider:.05em;--ps-radius-md:.375rem;--ps-radius-lg:.5rem;--ps-radius-xl:.75rem;--ps-radius-2xl:1rem;--ps-blur-sm:8px;--ps-default-transition-duration:.15s;--ps-default-transition-timing-function:cubic-bezier(.4,0,.2,1)}}@layer components{.ps-devtools,.ps-devtools *,.ps-devtools :before,.ps-devtools :after{box-sizing:border-box}.ps-object-table-scroll{overscroll-behavior:none;scrollbar-color:#71717a #18181b;scrollbar-width:thin}.ps-object-table-header{z-index:30;backface-visibility:hidden;position:sticky;top:0;transform:translateZ(0)}.ps-object-table-scroll::-webkit-scrollbar{width:10px;height:10px}.ps-object-table-scroll::-webkit-scrollbar-track{background:#18181b}.ps-object-table-scroll::-webkit-scrollbar-thumb{background:#71717a;border:2px solid #18181b;border-radius:999px}.ps-object-table-scroll::-webkit-scrollbar-thumb:hover{background:#a1a1aa}.ps-theme-light .ps-object-table-scroll{scrollbar-color:#a8a29e #f5f5f4}.ps-theme-light .ps-object-table-scroll::-webkit-scrollbar-track{background:#f5f5f4}.ps-theme-light .ps-object-table-scroll::-webkit-scrollbar-thumb{background:#a8a29e;border-color:#f5f5f4}.ps-theme-light .ps-object-table-scroll::-webkit-scrollbar-thumb:hover{background:#78716c}.ps-outbox-root{width:100%;min-width:0;height:100%;min-height:0}.ps-outbox{box-sizing:border-box;overscroll-behavior:contain;color:#e7e5e4;background:radial-gradient(circle at 8% 0,#e83b321f,#0000 30%),linear-gradient(145deg,#171717 0%,#111113 100%);width:100%;min-width:0;height:100%;min-height:0;padding:20px 22px;font:13px/1.45 Inter,ui-sans-serif,system-ui,sans-serif;overflow:hidden auto}.ps-outbox *{box-sizing:border-box}.ps-outbox-header{align-items:center;gap:16px;margin-bottom:20px;display:flex}.ps-outbox-heading{align-items:center;gap:11px;display:flex}.ps-outbox-mark{color:#fb7185;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;width:30px;height:30px;padding:5px;box-shadow:0 8px 24px #0000003d}.ps-outbox-mark svg{width:100%;height:100%;display:block}.ps-outbox-title-row{align-items:center;gap:8px;display:flex}.ps-outbox-title{color:#fafaf9;letter-spacing:-.015em;margin:0;font-size:17px;font-weight:700}.ps-outbox-subtitle{color:#a8a29e;margin:2px 0 0;font-size:12px}.ps-outbox-count{color:#d6d3d1;text-align:center;font-variant-numeric:tabular-nums;background:#27272abf;border:1px solid #3f3f46;border-radius:999px;justify-content:center;align-items:center;min-width:25px;padding:2px 7px;font-size:11px;display:inline-flex}.ps-outbox-track{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#52525b transparent;scroll-snap-type:x proximity;align-items:flex-start;width:100%;padding:4px 2px 16px;display:flex;overflow-x:auto}.ps-outbox-step{flex:none;align-items:flex-start;display:flex}.ps-outbox-node{scroll-snap-align:start;flex:0 0 clamp(250px,31vw,330px);min-width:0}.ps-outbox-connector{background:linear-gradient(90deg,#3f3f46,#52525b);border-radius:999px;flex:0 0 52px;align-self:flex-start;height:2px;margin:30px 8px 0;position:relative}.ps-outbox-connector:before{z-index:1;content:"";border-top:2px solid #71717a;border-right:2px solid #71717a;width:7px;height:7px;position:absolute;top:-3px;right:0;transform:rotate(45deg)}.ps-outbox-card{background:linear-gradient(155deg,#2d2d32f5,#1f1f23f5);border:1px solid #36363b;border-radius:14px;min-height:190px;padding:15px;position:relative;overflow:hidden;box-shadow:0 14px 36px #0003}.ps-outbox-card:before{content:"";background:#38bdf8;width:3px;position:absolute;inset:0 auto 0 0}.ps-card-executing:before{background:#f59e0b}.ps-card-failed:before{background:#ef4444}.ps-outbox-card-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.ps-outbox-name{color:#fafaf9;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:680;overflow:hidden}.ps-outbox-status{letter-spacing:.03em;border:1px solid;border-radius:999px;flex:none;align-items:center;gap:5px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.ps-status-dot{background:currentColor;border-radius:999px;width:5px;height:5px}.ps-status-queued{color:#7dd3fc;background:#0c4a6e73}.ps-status-executing{color:#fcd34d;background:#78350f6b}.ps-status-failed{color:#fca5a5;background:#7f1d1d6b}.ps-outbox-meta{color:#a8a29e;flex-wrap:wrap;gap:6px 13px;margin-top:10px;font-size:11px;display:flex}.ps-outbox-meta strong{color:#d6d3d1;font-weight:600}.ps-outbox-meta-divider{opacity:.65;background:currentColor;border-radius:999px;align-self:center;width:3px;height:3px}.ps-outbox-permanent{color:#fca5a5}.ps-outbox-time{cursor:help;font-variant-numeric:tabular-nums}.ps-outbox-error{color:#fecaca;white-space:pre-wrap;background:#450a0a8c;border:1px solid #ef444459;border-radius:8px;margin-top:11px;padding:8px 10px;font-size:11px}.ps-outbox-details{color:#a8a29e;margin-top:11px;font-size:11px}.ps-outbox-details summary{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .12s}.ps-outbox-details summary:hover{color:#e7e5e4}.ps-outbox-details pre{color:#d4d4d8;background:#09090bb3;border:1px solid #303036;border-radius:8px;max-height:150px;margin:8px 0 0;padding:10px;font:11px/1.5 ui-monospace,SFMono-Regular,monospace;overflow:auto}.ps-outbox-actions{gap:7px;margin-top:13px;display:flex}.ps-button{appearance:none;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:7px;align-items:center;gap:5px;padding:5px 10px;font-weight:600;transition:background .12s,border-color .12s,opacity .12s;display:inline-flex}.ps-button svg{width:13px;height:13px}.ps-button:disabled{cursor:not-allowed;opacity:.4}.ps-button-primary{color:#e0f2fe;background:#075985b3;border-color:#075985}.ps-button-primary:not(:disabled):hover{background:#0369a1}.ps-button-danger{color:#fca5a5;background:#450a0a29;border-color:#7f1d1d}.ps-button-danger:not(:disabled):hover{background:#7f1d1db3}.ps-outbox-action-error{color:#fca5a5;margin-top:8px;font-size:12px}.ps-outbox-empty{color:#a8a29e;text-align:center;background:#27272a4d;border:1px dashed #3f3f46;border-radius:14px;place-items:center;min-height:150px;padding:28px 16px;display:grid}.ps-outbox-empty-mark{color:#86efac;background:#1c2920;border:1px solid #3f3f46;border-radius:999px;place-items:center;width:34px;height:34px;margin:0 auto 9px;display:grid}.ps-outbox-empty-mark svg{width:17px;height:17px}.ps-outbox-empty strong{color:#e7e5e4;margin-bottom:2px;display:block}.ps-theme-light .ps-outbox{color:#292524;background:radial-gradient(circle at 8% 0,#e83b321a,#0000 30%),linear-gradient(145deg,#fafaf9 0%,#f5f5f4 100%)}.ps-theme-light .ps-outbox-mark{color:#dc2626;background:#ffffffd1;border-color:#e7e5e4;box-shadow:0 8px 22px #2925241a}.ps-theme-light .ps-outbox-title,.ps-theme-light .ps-outbox-name,.ps-theme-light .ps-outbox-empty strong{color:#1c1917}.ps-theme-light .ps-outbox-subtitle,.ps-theme-light .ps-outbox-meta,.ps-theme-light .ps-outbox-details{color:#78716c}.ps-theme-light .ps-outbox-meta strong{color:#44403c}.ps-theme-light .ps-outbox-count{color:#57534e;background:#fffc;border-color:#d6d3d1}.ps-theme-light .ps-outbox-card{background:linear-gradient(155deg,#fffffffa,#f5f5f4fa);border-color:#d6d3d1;box-shadow:0 14px 34px #2925241a}.ps-theme-light .ps-outbox-connector{background:#d6d3d1}.ps-theme-light .ps-outbox-details summary:hover{color:#292524}.ps-theme-light .ps-outbox-details pre{color:#44403c;background:#ffffffdb;border-color:#e7e5e4}.ps-theme-light .ps-outbox-empty{color:#78716c;background:#ffffff8c;border-color:#d6d3d1}.ps-theme-light .ps-outbox-empty-mark{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.ps-theme-light .ps-button-primary{color:#075985;background:#e0f2fe;border-color:#7dd3fc}.ps-theme-light .ps-button-primary:not(:disabled):hover{background:#bae6fd}.ps-theme-light .ps-button-danger{color:#b91c1c;background:#fff7f7;border-color:#fecaca}.ps-theme-light .ps-button-danger:not(:disabled):hover{background:#fee2e2}}@layer utilities{.ps\:pointer-events-none{pointer-events:none}.ps\:invisible{visibility:hidden}.ps\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ps\:absolute{position:absolute}.ps\:fixed{position:fixed}.ps\:relative{position:relative}.ps\:sticky{position:sticky}.ps\:inset-0{inset:calc(var(--ps-spacing)*0)}.ps\:inset-y-0{inset-block:calc(var(--ps-spacing)*0)}.ps\:top-0{top:calc(var(--ps-spacing)*0)}.ps\:top-4{top:calc(var(--ps-spacing)*4)}.ps\:right-0{right:calc(var(--ps-spacing)*0)}.ps\:right-4{right:calc(var(--ps-spacing)*4)}.ps\:left-0{left:calc(var(--ps-spacing)*0)}.ps\:z-20{z-index:20}.ps\:z-50{z-index:50}.ps\:z-\[100001\]{z-index:100001}.ps\:z-\[100002\]{z-index:100002}.ps\:z-\[100003\]{z-index:100003}.ps\:m-0{margin:calc(var(--ps-spacing)*0)}.ps\:m-4{margin:calc(var(--ps-spacing)*4)}.ps\:mt-0{margin-top:calc(var(--ps-spacing)*0)}.ps\:mt-0\.5{margin-top:calc(var(--ps-spacing)*.5)}.ps\:mb-0{margin-bottom:calc(var(--ps-spacing)*0)}.ps\:mb-2{margin-bottom:calc(var(--ps-spacing)*2)}.ps\:ml-1\.5{margin-left:calc(var(--ps-spacing)*1.5)}.ps\:ml-auto{margin-left:auto}.ps\:block{display:block}.ps\:flex{display:flex}.ps\:grid{display:grid}.ps\:inline-flex{display:inline-flex}.ps\:size-3{width:calc(var(--ps-spacing)*3);height:calc(var(--ps-spacing)*3)}.ps\:size-3\.5{width:calc(var(--ps-spacing)*3.5);height:calc(var(--ps-spacing)*3.5)}.ps\:size-4{width:calc(var(--ps-spacing)*4);height:calc(var(--ps-spacing)*4)}.ps\:size-5{width:calc(var(--ps-spacing)*5);height:calc(var(--ps-spacing)*5)}.ps\:size-10{width:calc(var(--ps-spacing)*10);height:calc(var(--ps-spacing)*10)}.ps\:size-full{width:100%;height:100%}.ps\:h-44{height:calc(var(--ps-spacing)*44)}.ps\:h-full{height:100%}.ps\:max-h-28{max-height:calc(var(--ps-spacing)*28)}.ps\:max-h-\[80vh\]{max-height:80vh}.ps\:max-h-full{max-height:100%}.ps\:min-h-0{min-height:calc(var(--ps-spacing)*0)}.ps\:min-h-40{min-height:calc(var(--ps-spacing)*40)}.ps\:min-h-full{min-height:100%}.ps\:w-0\.5{width:calc(var(--ps-spacing)*.5)}.ps\:w-1{width:calc(var(--ps-spacing)*1)}.ps\:w-44{width:calc(var(--ps-spacing)*44)}.ps\:w-\[230px\]{width:230px}.ps\:w-full{width:100%}.ps\:max-w-4xl{max-width:var(--ps-container-4xl)}.ps\:max-w-40{max-width:calc(var(--ps-spacing)*40)}.ps\:max-w-64{max-width:calc(var(--ps-spacing)*64)}.ps\:max-w-72{max-width:calc(var(--ps-spacing)*72)}.ps\:max-w-80{max-width:calc(var(--ps-spacing)*80)}.ps\:max-w-\[80vw\]{max-width:80vw}.ps\:min-w-0{min-width:calc(var(--ps-spacing)*0)}.ps\:min-w-5{min-width:calc(var(--ps-spacing)*5)}.ps\:min-w-48{min-width:calc(var(--ps-spacing)*48)}.ps\:flex-1{flex:1}.ps\:flex-none{flex:none}.ps\:table-fixed{table-layout:fixed}.ps\:border-separate{border-collapse:separate}.ps\:border-spacing-0{--tw-border-spacing-x:calc(var(--ps-spacing)*0);--tw-border-spacing-y:calc(var(--ps-spacing)*0);border-spacing:var(--tw-border-spacing-x)var(--tw-border-spacing-y)}.ps\:cursor-col-resize{cursor:col-resize}.ps\:cursor-default{cursor:default}.ps\:cursor-grab{cursor:grab}.ps\:touch-none{touch-action:none}.ps\:flex-col{flex-direction:column}.ps\:place-items-center{place-items:center}.ps\:items-center{align-items:center}.ps\:justify-between{justify-content:space-between}.ps\:justify-center{justify-content:center}.ps\:gap-1{gap:calc(var(--ps-spacing)*1)}.ps\:gap-1\.5{gap:calc(var(--ps-spacing)*1.5)}.ps\:gap-2{gap:calc(var(--ps-spacing)*2)}.ps\:gap-3{gap:calc(var(--ps-spacing)*3)}.ps\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ps\:overflow-auto{overflow:auto}.ps\:overflow-hidden{overflow:hidden}.ps\:overflow-visible{overflow:visible}.ps\:overflow-y-auto{overflow-y:auto}.ps\:rounded{border-radius:.25rem}.ps\:rounded-2xl{border-radius:var(--ps-radius-2xl)}.ps\:rounded-full{border-radius:3.40282e38px}.ps\:rounded-lg{border-radius:var(--ps-radius-lg)}.ps\:rounded-md{border-radius:var(--ps-radius-md)}.ps\:rounded-xl{border-radius:var(--ps-radius-xl)}.ps\:border{border-style:var(--tw-border-style);border-width:1px}.ps\:border-0{border-style:var(--tw-border-style);border-width:0}.ps\:border-x-0{border-inline-style:var(--tw-border-style);border-inline-width:0}.ps\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.ps\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.ps\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.ps\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.ps\:border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.ps\:border-dashed{--tw-border-style:dashed;border-style:dashed}.ps\:border-transparent{border-color:#0000}.ps\:border-zinc-500\/15{border-color:var(--ps-color-zinc-500)}@supports (color:color-mix(in lab, red, red)){.ps\:border-zinc-500\/15{border-color:color-mix(in oklab,var(--ps-color-zinc-500)15%,transparent)}}.ps\:border-zinc-500\/20{border-color:var(--ps-color-zinc-500)}@supports (color:color-mix(in lab, red, red)){.ps\:border-zinc-500\/20{border-color:color-mix(in oklab,var(--ps-color-zinc-500)20%,transparent)}}.ps\:border-zinc-500\/30{border-color:var(--ps-color-zinc-500)}@supports (color:color-mix(in lab, red, red)){.ps\:border-zinc-500\/30{border-color:color-mix(in oklab,var(--ps-color-zinc-500)30%,transparent)}}.ps\:border-zinc-500\/40{border-color:var(--ps-color-zinc-500)}@supports (color:color-mix(in lab, red, red)){.ps\:border-zinc-500\/40{border-color:color-mix(in oklab,var(--ps-color-zinc-500)40%,transparent)}}.ps\:border-zinc-600{border-color:var(--ps-color-zinc-600)}.ps\:border-zinc-700{border-color:var(--ps-color-zinc-700)}.ps\:bg-black\/75{background-color:var(--ps-color-black)}@supports (color:color-mix(in lab, red, red)){.ps\:bg-black\/75{background-color:color-mix(in oklab,var(--ps-color-black)75%,transparent)}}.ps\:bg-red-500\/20{background-color:var(--ps-color-red-500)}@supports (color:color-mix(in lab, red, red)){.ps\:bg-red-500\/20{background-color:color-mix(in oklab,var(--ps-color-red-500)20%,transparent)}}.ps\:bg-rose-400{background-color:var(--ps-color-rose-400)}.ps\:bg-rose-500\/15{background-color:var(--ps-color-rose-500)}@supports (color:color-mix(in lab, red, red)){.ps\:bg-rose-500\/15{background-color:color-mix(in oklab,var(--ps-color-rose-500)15%,transparent)}}.ps\:bg-sky-500\/20{background-color:var(--ps-color-sky-500)}@supports (color:color-mix(in lab, red, red)){.ps\:bg-sky-500\/20{background-color:color-mix(in oklab,var(--ps-color-sky-500)20%,transparent)}}.ps\:bg-stone-50{background-color:var(--ps-color-stone-50)}.ps\:bg-transparent{background-color:#0000}.ps\:bg-zinc-500\/10{background-color:var(--ps-color-zinc-500)}@supports (color:color-mix(in lab, red, red)){.ps\:bg-zinc-500\/10{background-color:color-mix(in oklab,var(--ps-color-zinc-500)10%,transparent)}}.ps\:bg-zinc-500\/15{background-color:var(--ps-color-zinc-500)}@supports (color:color-mix(in lab, red, red)){.ps\:bg-zinc-500\/15{background-color:color-mix(in oklab,var(--ps-color-zinc-500)15%,transparent)}}.ps\:bg-zinc-900,.ps\:bg-zinc-900\/95{background-color:var(--ps-color-zinc-900)}@supports (color:color-mix(in lab, red, red)){.ps\:bg-zinc-900\/95{background-color:color-mix(in oklab,var(--ps-color-zinc-900)95%,transparent)}}.ps\:bg-zinc-950,.ps\:bg-zinc-950\/25{background-color:var(--ps-color-zinc-950)}@supports (color:color-mix(in lab, red, red)){.ps\:bg-zinc-950\/25{background-color:color-mix(in oklab,var(--ps-color-zinc-950)25%,transparent)}}.ps\:bg-zinc-950\/90{background-color:var(--ps-color-zinc-950)}@supports (color:color-mix(in lab, red, red)){.ps\:bg-zinc-950\/90{background-color:color-mix(in oklab,var(--ps-color-zinc-950)90%,transparent)}}.ps\:bg-zinc-950\/95{background-color:var(--ps-color-zinc-950)}@supports (color:color-mix(in lab, red, red)){.ps\:bg-zinc-950\/95{background-color:color-mix(in oklab,var(--ps-color-zinc-950)95%,transparent)}}.ps\:fill-none{fill:none}.ps\:fill-rose-400{fill:var(--ps-color-rose-400)}.ps\:fill-sky-950{fill:var(--ps-color-sky-950)}.ps\:fill-zinc-300{fill:var(--ps-color-zinc-300)}.ps\:fill-zinc-700{fill:var(--ps-color-zinc-700)}.ps\:fill-zinc-900{fill:var(--ps-color-zinc-900)}.ps\:stroke-rose-400\/80{stroke:var(--ps-color-rose-400)}@supports (color:color-mix(in lab, red, red)){.ps\:stroke-rose-400\/80{stroke:color-mix(in oklab,var(--ps-color-rose-400)80%,transparent)}}.ps\:stroke-zinc-600{stroke:var(--ps-color-zinc-600)}.ps\:stroke-zinc-700{stroke:var(--ps-color-zinc-700)}.ps\:object-contain{object-fit:contain}.ps\:object-cover{object-fit:cover}.ps\:p-0{padding:calc(var(--ps-spacing)*0)}.ps\:p-1\.5{padding:calc(var(--ps-spacing)*1.5)}.ps\:p-3{padding:calc(var(--ps-spacing)*3)}.ps\:p-5{padding:calc(var(--ps-spacing)*5)}.ps\:p-8{padding:calc(var(--ps-spacing)*8)}.ps\:px-1\.5{padding-inline:calc(var(--ps-spacing)*1.5)}.ps\:px-2{padding-inline:calc(var(--ps-spacing)*2)}.ps\:px-2\.5{padding-inline:calc(var(--ps-spacing)*2.5)}.ps\:px-3{padding-inline:calc(var(--ps-spacing)*3)}.ps\:px-3\.5{padding-inline:calc(var(--ps-spacing)*3.5)}.ps\:px-4{padding-inline:calc(var(--ps-spacing)*4)}.ps\:py-0\.5{padding-block:calc(var(--ps-spacing)*.5)}.ps\:py-1{padding-block:calc(var(--ps-spacing)*1)}.ps\:py-1\.5{padding-block:calc(var(--ps-spacing)*1.5)}.ps\:py-2{padding-block:calc(var(--ps-spacing)*2)}.ps\:py-3{padding-block:calc(var(--ps-spacing)*3)}.ps\:pt-2{padding-top:calc(var(--ps-spacing)*2)}.ps\:pb-1{padding-bottom:calc(var(--ps-spacing)*1)}.ps\:text-center{text-align:center}.ps\:text-left{text-align:left}.ps\:font-mono{font-family:var(--ps-font-mono)}.ps\:font-sans{font-family:var(--ps-font-sans)}.ps\:text-lg{font-size:var(--ps-text-lg);line-height:var(--tw-leading,var(--ps-text-lg--line-height))}.ps\:text-sm{font-size:var(--ps-text-sm);line-height:var(--tw-leading,var(--ps-text-sm--line-height))}.ps\:text-xs{font-size:var(--ps-text-xs);line-height:var(--tw-leading,var(--ps-text-xs--line-height))}.ps\:text-\[9px\]{font-size:9px}.ps\:text-\[10px\]{font-size:10px}.ps\:text-\[11px\]{font-size:11px}.ps\:text-\[13px\]{font-size:13px}.ps\:leading-none{--tw-leading:1;line-height:1}.ps\:font-bold{--tw-font-weight:var(--ps-font-weight-bold);font-weight:var(--ps-font-weight-bold)}.ps\:font-medium{--tw-font-weight:var(--ps-font-weight-medium);font-weight:var(--ps-font-weight-medium)}.ps\:font-semibold{--tw-font-weight:var(--ps-font-weight-semibold);font-weight:var(--ps-font-weight-semibold)}.ps\:tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.ps\:tracking-wide{--tw-tracking:var(--ps-tracking-wide);letter-spacing:var(--ps-tracking-wide)}.ps\:tracking-wider{--tw-tracking:var(--ps-tracking-wider);letter-spacing:var(--ps-tracking-wider)}.ps\:whitespace-nowrap{white-space:nowrap}.ps\:text-inherit{color:inherit}.ps\:text-red-300{color:var(--ps-color-red-300)}.ps\:text-rose-400{color:var(--ps-color-rose-400)}.ps\:text-sky-300{color:var(--ps-color-sky-300)}.ps\:text-sky-400{color:var(--ps-color-sky-400)}.ps\:text-stone-200{color:var(--ps-color-stone-200)}.ps\:text-stone-800{color:var(--ps-color-stone-800)}.ps\:text-white{color:var(--ps-color-white)}.ps\:text-zinc-200{color:var(--ps-color-zinc-200)}.ps\:text-zinc-400{color:var(--ps-color-zinc-400)}.ps\:text-zinc-500{color:var(--ps-color-zinc-500)}.ps\:text-zinc-600{color:var(--ps-color-zinc-600)}.ps\:uppercase{text-transform:uppercase}.ps\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.ps\:underline{text-decoration-line:underline}.ps\:decoration-dotted{text-decoration-style:dotted}.ps\:underline-offset-4{text-underline-offset:4px}.ps\:shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ps\:shadow-\[0_0_0_1px_rgba\(251\,113\,133\,0\.18\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#fb71852e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ps\:shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ps\:backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.ps\:backdrop-blur-sm{--tw-backdrop-blur:blur(var(--ps-blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.ps\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--ps-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ps-default-transition-duration))}.ps\:will-change-transform{will-change:transform}.ps\:outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.ps\:hover\:border-rose-400:hover{border-color:var(--ps-color-rose-400)}.ps\:hover\:border-zinc-500\/60:hover{border-color:var(--ps-color-zinc-500)}@supports (color:color-mix(in lab, red, red)){.ps\:hover\:border-zinc-500\/60:hover{border-color:color-mix(in oklab,var(--ps-color-zinc-500)60%,transparent)}}.ps\:hover\:bg-rose-400\/70:hover{background-color:var(--ps-color-rose-400)}@supports (color:color-mix(in lab, red, red)){.ps\:hover\:bg-rose-400\/70:hover{background-color:color-mix(in oklab,var(--ps-color-rose-400)70%,transparent)}}.ps\:hover\:bg-zinc-500\/8:hover{background-color:var(--ps-color-zinc-500)}@supports (color:color-mix(in lab, red, red)){.ps\:hover\:bg-zinc-500\/8:hover{background-color:color-mix(in oklab,var(--ps-color-zinc-500)8%,transparent)}}.ps\:hover\:bg-zinc-500\/10:hover{background-color:var(--ps-color-zinc-500)}@supports (color:color-mix(in lab, red, red)){.ps\:hover\:bg-zinc-500\/10:hover{background-color:color-mix(in oklab,var(--ps-color-zinc-500)10%,transparent)}}.ps\:hover\:text-current:hover{color:currentColor}.ps\:hover\:text-rose-300:hover{color:var(--ps-color-rose-300)}.ps\:hover\:text-rose-400:hover{color:var(--ps-color-rose-400)}}.ps\:focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.ps\:focus-visible\:bg-rose-400\/70:focus-visible{background-color:var(--ps-color-rose-400)}@supports (color:color-mix(in lab, red, red)){.ps\:focus-visible\:bg-rose-400\/70:focus-visible{background-color:color-mix(in oklab,var(--ps-color-rose-400)70%,transparent)}}.ps\:active\:cursor-grabbing:active{cursor:grabbing}.ps\:disabled\:opacity-40:disabled{opacity:.4}.ps\:disabled\:opacity-50:disabled{opacity:.5}:where(.ps-theme-light) .ps\:in-\[\.ps-theme-light\]\:bg-stone-50\/95{background-color:var(--ps-color-stone-50)}@supports (color:color-mix(in lab, red, red)){:where(.ps-theme-light) .ps\:in-\[\.ps-theme-light\]\:bg-stone-50\/95{background-color:color-mix(in oklab,var(--ps-color-stone-50)95%,transparent)}}:where(.ps-theme-light) .ps\:in-\[\.ps-theme-light\]\:bg-white\/45{background-color:var(--ps-color-white)}@supports (color:color-mix(in lab, red, red)){:where(.ps-theme-light) .ps\:in-\[\.ps-theme-light\]\:bg-white\/45{background-color:color-mix(in oklab,var(--ps-color-white)45%,transparent)}}:where(.ps-theme-light) .ps\:in-\[\.ps-theme-light\]\:bg-white\/95{background-color:var(--ps-color-white)}@supports (color:color-mix(in lab, red, red)){:where(.ps-theme-light) .ps\:in-\[\.ps-theme-light\]\:bg-white\/95{background-color:color-mix(in oklab,var(--ps-color-white)95%,transparent)}}:where(.ps-theme-light) .ps\:in-\[\.ps-theme-light\]\:fill-stone-600{fill:var(--ps-color-stone-600)}:where(.ps-theme-light) .ps\:in-\[\.ps-theme-light\]\:fill-white{fill:var(--ps-color-white)}:where(.ps-theme-light) .ps\:in-\[\.ps-theme-light\]\:stroke-stone-300{stroke:var(--ps-color-stone-300)}.ps\:data-\[active\]\:border-rose-400[data-active]{border-color:var(--ps-color-rose-400)}.ps\:data-\[active\]\:font-semibold[data-active]{--tw-font-weight:var(--ps-font-weight-semibold);font-weight:var(--ps-font-weight-semibold)}.ps\:data-\[active\]\:text-rose-400[data-active]{color:var(--ps-color-rose-400)}.ps\:data-\[highlighted\]\:bg-zinc-700\/70[data-highlighted]{background-color:var(--ps-color-zinc-700)}@supports (color:color-mix(in lab, red, red)){.ps\:data-\[highlighted\]\:bg-zinc-700\/70[data-highlighted]{background-color:color-mix(in oklab,var(--ps-color-zinc-700)70%,transparent)}}}@property --tw-border-spacing-x{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--ps-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--ps-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ps-color-red-300:oklch(80.8% .114 19.571);--ps-color-red-500:oklch(63.7% .237 25.331);--ps-color-sky-300:oklch(82.8% .111 230.318);--ps-color-sky-400:oklch(74.6% .16 232.661);--ps-color-sky-500:oklch(68.5% .169 237.323);--ps-color-sky-950:oklch(29.3% .066 243.157);--ps-color-rose-300:oklch(81% .117 11.638);--ps-color-rose-400:oklch(71.2% .194 13.428);--ps-color-rose-500:oklch(64.5% .246 16.439);--ps-color-zinc-200:oklch(92% .004 286.32);--ps-color-zinc-300:oklch(87.1% .006 286.286);--ps-color-zinc-400:oklch(70.5% .015 286.067);--ps-color-zinc-500:oklch(55.2% .016 285.938);--ps-color-zinc-600:oklch(44.2% .017 285.786);--ps-color-zinc-700:oklch(37% .013 285.805);--ps-color-zinc-900:oklch(21% .006 285.885);--ps-color-zinc-950:oklch(14.1% .005 285.823);--ps-color-stone-50:oklch(98.5% .001 106.423);--ps-color-stone-200:oklch(92.3% .003 48.717);--ps-color-stone-300:oklch(86.9% .005 56.366);--ps-color-stone-600:oklch(44.4% .011 73.639);--ps-color-stone-800:oklch(26.8% .007 34.298);--ps-color-black:#000;--ps-color-white:#fff;--ps-spacing:.25rem;--ps-container-4xl:56rem;--ps-text-xs:.75rem;--ps-text-xs--line-height:calc(1/.75);--ps-text-sm:.875rem;--ps-text-sm--line-height:calc(1.25/.875);--ps-text-lg:1.125rem;--ps-text-lg--line-height:calc(1.75/1.125);--ps-font-weight-medium:500;--ps-font-weight-semibold:600;--ps-font-weight-bold:700;--ps-tracking-wide:.025em;--ps-tracking-wider:.05em;--ps-radius-md:.375rem;--ps-radius-lg:.5rem;--ps-radius-xl:.75rem;--ps-radius-2xl:1rem;--ps-blur-sm:8px;--ps-default-transition-duration:.15s;--ps-default-transition-timing-function:cubic-bezier(.4,0,.2,1)}}@layer components{.ps-devtools,.ps-devtools *,.ps-devtools :before,.ps-devtools :after{box-sizing:border-box}.ps-object-table-scroll{overscroll-behavior:none;scrollbar-color:#71717a #18181b;scrollbar-width:thin}.ps-object-table-header{z-index:30;backface-visibility:hidden;position:sticky;top:0;transform:translateZ(0)}.ps-object-table-scroll::-webkit-scrollbar{width:10px;height:10px}.ps-object-table-scroll::-webkit-scrollbar-track{background:#18181b}.ps-object-table-scroll::-webkit-scrollbar-thumb{background:#71717a;border:2px solid #18181b;border-radius:999px}.ps-object-table-scroll::-webkit-scrollbar-thumb:hover{background:#a1a1aa}.ps-theme-light .ps-object-table-scroll{scrollbar-color:#a8a29e #f5f5f4}.ps-theme-light .ps-object-table-scroll::-webkit-scrollbar-track{background:#f5f5f4}.ps-theme-light .ps-object-table-scroll::-webkit-scrollbar-thumb{background:#a8a29e;border-color:#f5f5f4}.ps-theme-light .ps-object-table-scroll::-webkit-scrollbar-thumb:hover{background:#78716c}.ps-outbox-root{width:100%;min-width:0;height:100%;min-height:0}.ps-outbox{box-sizing:border-box;overscroll-behavior:contain;color:#e7e5e4;background:radial-gradient(circle at 8% 0,#e83b321f,#0000 30%),linear-gradient(145deg,#171717 0%,#111113 100%);width:100%;min-width:0;height:100%;min-height:0;padding:20px 22px;font:13px/1.45 Inter,ui-sans-serif,system-ui,sans-serif;overflow:hidden auto}.ps-outbox *{box-sizing:border-box}.ps-outbox-header{align-items:center;gap:16px;margin-bottom:20px;display:flex}.ps-outbox-heading{align-items:center;gap:11px;display:flex}.ps-outbox-mark{color:#fb7185;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;width:30px;height:30px;padding:5px;box-shadow:0 8px 24px #0000003d}.ps-outbox-mark svg{width:100%;height:100%;display:block}.ps-outbox-title-row{align-items:center;gap:8px;display:flex}.ps-outbox-title{color:#fafaf9;letter-spacing:-.015em;margin:0;font-size:17px;font-weight:700}.ps-outbox-subtitle{color:#a8a29e;margin:2px 0 0;font-size:12px}.ps-outbox-count{color:#d6d3d1;text-align:center;font-variant-numeric:tabular-nums;background:#27272abf;border:1px solid #3f3f46;border-radius:999px;justify-content:center;align-items:center;min-width:25px;padding:2px 7px;font-size:11px;display:inline-flex}.ps-outbox-track{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#52525b transparent;scroll-snap-type:x proximity;align-items:flex-start;width:100%;padding:4px 2px 16px;display:flex;overflow-x:auto}.ps-outbox-step{flex:none;align-items:flex-start;display:flex}.ps-outbox-node{scroll-snap-align:start;flex:0 0 clamp(250px,31vw,330px);min-width:0}.ps-outbox-connector{background:linear-gradient(90deg,#3f3f46,#52525b);border-radius:999px;flex:0 0 52px;align-self:flex-start;height:2px;margin:30px 8px 0;position:relative}.ps-outbox-connector:before{z-index:1;content:"";border-top:2px solid #71717a;border-right:2px solid #71717a;width:7px;height:7px;position:absolute;top:-3px;right:0;transform:rotate(45deg)}.ps-outbox-card{background:linear-gradient(155deg,#2d2d32f5,#1f1f23f5);border:1px solid #36363b;border-radius:14px;min-height:190px;padding:15px;position:relative;overflow:hidden;box-shadow:0 14px 36px #0003}.ps-outbox-card:before{content:"";background:#38bdf8;width:3px;position:absolute;inset:0 auto 0 0}.ps-card-executing:before{background:#f59e0b}.ps-card-failed:before{background:#ef4444}.ps-outbox-card-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.ps-outbox-name{color:#fafaf9;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:680;overflow:hidden}.ps-outbox-status{letter-spacing:.03em;border:1px solid;border-radius:999px;flex:none;align-items:center;gap:5px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.ps-status-dot{background:currentColor;border-radius:999px;width:5px;height:5px}.ps-status-queued{color:#7dd3fc;background:#0c4a6e73}.ps-status-executing{color:#fcd34d;background:#78350f6b}.ps-status-failed{color:#fca5a5;background:#7f1d1d6b}.ps-outbox-meta{color:#a8a29e;flex-wrap:wrap;gap:6px 13px;margin-top:10px;font-size:11px;display:flex}.ps-outbox-meta strong{color:#d6d3d1;font-weight:600}.ps-outbox-meta-divider{opacity:.65;background:currentColor;border-radius:999px;align-self:center;width:3px;height:3px}.ps-outbox-permanent{color:#fca5a5}.ps-outbox-time{cursor:help;font-variant-numeric:tabular-nums}.ps-outbox-error{color:#fecaca;white-space:pre-wrap;background:#450a0a8c;border:1px solid #ef444459;border-radius:8px;margin-top:11px;padding:8px 10px;font-size:11px}.ps-outbox-details{color:#a8a29e;margin-top:11px;font-size:11px}.ps-outbox-details summary{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .12s}.ps-outbox-details summary:hover{color:#e7e5e4}.ps-outbox-details pre{color:#d4d4d8;background:#09090bb3;border:1px solid #303036;border-radius:8px;max-height:150px;margin:8px 0 0;padding:10px;font:11px/1.5 ui-monospace,SFMono-Regular,monospace;overflow:auto}.ps-outbox-actions{gap:7px;margin-top:13px;display:flex}.ps-button{appearance:none;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:7px;align-items:center;gap:5px;padding:5px 10px;font-weight:600;transition:background .12s,border-color .12s,opacity .12s;display:inline-flex}.ps-button svg{width:13px;height:13px}.ps-button:disabled{cursor:not-allowed;opacity:.4}.ps-button-primary{color:#e0f2fe;background:#075985b3;border-color:#075985}.ps-button-primary:not(:disabled):hover{background:#0369a1}.ps-button-danger{color:#fca5a5;background:#450a0a29;border-color:#7f1d1d}.ps-button-danger:not(:disabled):hover{background:#7f1d1db3}.ps-outbox-action-error{color:#fca5a5;margin-top:8px;font-size:12px}.ps-outbox-empty{color:#a8a29e;text-align:center;background:#27272a4d;border:1px dashed #3f3f46;border-radius:14px;place-items:center;min-height:150px;padding:28px 16px;display:grid}.ps-outbox-empty-mark{color:#86efac;background:#1c2920;border:1px solid #3f3f46;border-radius:999px;place-items:center;width:34px;height:34px;margin:0 auto 9px;display:grid}.ps-outbox-empty-mark svg{width:17px;height:17px}.ps-outbox-empty strong{color:#e7e5e4;margin-bottom:2px;display:block}.ps-theme-light .ps-outbox{color:#292524;background:radial-gradient(circle at 8% 0,#e83b321a,#0000 30%),linear-gradient(145deg,#fafaf9 0%,#f5f5f4 100%)}.ps-theme-light .ps-outbox-mark{color:#dc2626;background:#ffffffd1;border-color:#e7e5e4;box-shadow:0 8px 22px #2925241a}.ps-theme-light .ps-outbox-title,.ps-theme-light .ps-outbox-name,.ps-theme-light .ps-outbox-empty strong{color:#1c1917}.ps-theme-light .ps-outbox-subtitle,.ps-theme-light .ps-outbox-meta,.ps-theme-light .ps-outbox-details{color:#78716c}.ps-theme-light .ps-outbox-meta strong{color:#44403c}.ps-theme-light .ps-outbox-count{color:#57534e;background:#fffc;border-color:#d6d3d1}.ps-theme-light .ps-outbox-card{background:linear-gradient(155deg,#fffffffa,#f5f5f4fa);border-color:#d6d3d1;box-shadow:0 14px 34px #2925241a}.ps-theme-light .ps-outbox-connector{background:#d6d3d1}.ps-theme-light .ps-outbox-details summary:hover{color:#292524}.ps-theme-light .ps-outbox-details pre{color:#44403c;background:#ffffffdb;border-color:#e7e5e4}.ps-theme-light .ps-outbox-empty{color:#78716c;background:#ffffff8c;border-color:#d6d3d1}.ps-theme-light .ps-outbox-empty-mark{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.ps-theme-light .ps-button-primary{color:#075985;background:#e0f2fe;border-color:#7dd3fc}.ps-theme-light .ps-button-primary:not(:disabled):hover{background:#bae6fd}.ps-theme-light .ps-button-danger{color:#b91c1c;background:#fff7f7;border-color:#fecaca}.ps-theme-light .ps-button-danger:not(:disabled):hover{background:#fee2e2}}@layer utilities{.ps\:pointer-events-none{pointer-events:none}.ps\:invisible{visibility:hidden}.ps\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ps\:absolute{position:absolute}.ps\:fixed{position:fixed}.ps\:relative{position:relative}.ps\:sticky{position:sticky}.ps\:inset-0{inset:calc(var(--ps-spacing)*0)}.ps\:inset-y-0{inset-block:calc(var(--ps-spacing)*0)}.ps\:top-0{top:calc(var(--ps-spacing)*0)}.ps\:top-4{top:calc(var(--ps-spacing)*4)}.ps\:right-0{right:calc(var(--ps-spacing)*0)}.ps\:right-4{right:calc(var(--ps-spacing)*4)}.ps\:left-0{left:calc(var(--ps-spacing)*0)}.ps\:z-20{z-index:20}.ps\:z-50{z-index:50}.ps\:z-\[100001\]{z-index:100001}.ps\:z-\[100002\]{z-index:100002}.ps\:z-\[100003\]{z-index:100003}.ps\:m-0{margin:calc(var(--ps-spacing)*0)}.ps\:m-4{margin:calc(var(--ps-spacing)*4)}.ps\:mt-0{margin-top:calc(var(--ps-spacing)*0)}.ps\:mt-0\.5{margin-top:calc(var(--ps-spacing)*.5)}.ps\:mb-0{margin-bottom:calc(var(--ps-spacing)*0)}.ps\:mb-2{margin-bottom:calc(var(--ps-spacing)*2)}.ps\:ml-1\.5{margin-left:calc(var(--ps-spacing)*1.5)}.ps\:ml-auto{margin-left:auto}.ps\:block{display:block}.ps\:flex{display:flex}.ps\:grid{display:grid}.ps\:inline-flex{display:inline-flex}.ps\:size-3{width:calc(var(--ps-spacing)*3);height:calc(var(--ps-spacing)*3)}.ps\:size-3\.5{width:calc(var(--ps-spacing)*3.5);height:calc(var(--ps-spacing)*3.5)}.ps\:size-4{width:calc(var(--ps-spacing)*4);height:calc(var(--ps-spacing)*4)}.ps\:size-5{width:calc(var(--ps-spacing)*5);height:calc(var(--ps-spacing)*5)}.ps\:size-10{width:calc(var(--ps-spacing)*10);height:calc(var(--ps-spacing)*10)}.ps\:size-full{width:100%;height:100%}.ps\:h-44{height:calc(var(--ps-spacing)*44)}.ps\:h-full{height:100%}.ps\:max-h-28{max-height:calc(var(--ps-spacing)*28)}.ps\:max-h-\[80vh\]{max-height:80vh}.ps\:max-h-full{max-height:100%}.ps\:min-h-0{min-height:calc(var(--ps-spacing)*0)}.ps\:min-h-40{min-height:calc(var(--ps-spacing)*40)}.ps\:min-h-full{min-height:100%}.ps\:w-0\.5{width:calc(var(--ps-spacing)*.5)}.ps\:w-1{width:calc(var(--ps-spacing)*1)}.ps\:w-44{width:calc(var(--ps-spacing)*44)}.ps\:w-\[230px\]{width:230px}.ps\:w-full{width:100%}.ps\:max-w-4xl{max-width:var(--ps-container-4xl)}.ps\:max-w-40{max-width:calc(var(--ps-spacing)*40)}.ps\:max-w-64{max-width:calc(var(--ps-spacing)*64)}.ps\:max-w-72{max-width:calc(var(--ps-spacing)*72)}.ps\:max-w-80{max-width:calc(var(--ps-spacing)*80)}.ps\:max-w-\[80vw\]{max-width:80vw}.ps\:min-w-0{min-width:calc(var(--ps-spacing)*0)}.ps\:min-w-5{min-width:calc(var(--ps-spacing)*5)}.ps\:min-w-48{min-width:calc(var(--ps-spacing)*48)}.ps\:flex-1{flex:1}.ps\:flex-none{flex:none}.ps\:table-fixed{table-layout:fixed}.ps\:border-separate{border-collapse:separate}.ps\:border-spacing-0{--tw-border-spacing-x:calc(var(--ps-spacing)*0);--tw-border-spacing-y:calc(var(--ps-spacing)*0);border-spacing:var(--tw-border-spacing-x)var(--tw-border-spacing-y)}.ps\:cursor-col-resize{cursor:col-resize}.ps\:cursor-default{cursor:default}.ps\:cursor-grab{cursor:grab}.ps\:touch-none{touch-action:none}.ps\:flex-col{flex-direction:column}.ps\:place-items-center{place-items:center}.ps\:items-center{align-items:center}.ps\:justify-between{justify-content:space-between}.ps\:justify-center{justify-content:center}.ps\:gap-1{gap:calc(var(--ps-spacing)*1)}.ps\:gap-1\.5{gap:calc(var(--ps-spacing)*1.5)}.ps\:gap-2{gap:calc(var(--ps-spacing)*2)}.ps\:gap-3{gap:calc(var(--ps-spacing)*3)}.ps\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ps\:overflow-auto{overflow:auto}.ps\:overflow-hidden{overflow:hidden}.ps\:overflow-visible{overflow:visible}.ps\:overflow-y-auto{overflow-y:auto}.ps\:rounded{border-radius:.25rem}.ps\:rounded-2xl{border-radius:var(--ps-radius-2xl)}.ps\:rounded-full{border-radius:3.40282e38px}.ps\:rounded-lg{border-radius:var(--ps-radius-lg)}.ps\:rounded-md{border-radius:var(--ps-radius-md)}.ps\:rounded-xl{border-radius:var(--ps-radius-xl)}.ps\:border{border-style:var(--tw-border-style);border-width:1px}.ps\:border-0{border-style:var(--tw-border-style);border-width:0}.ps\:border-x-0{border-inline-style:var(--tw-border-style);border-inline-width:0}.ps\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.ps\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.ps\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.ps\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.ps\:border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.ps\:border-dashed{--tw-border-style:dashed;border-style:dashed}.ps\:border-transparent{border-color:#0000}.ps\:border-zinc-500\/15{border-color:var(--ps-color-zinc-500)}@supports (color:color-mix(in lab, red, red)){.ps\:border-zinc-500\/15{border-color:color-mix(in oklab,var(--ps-color-zinc-500)15%,transparent)}}.ps\:border-zinc-500\/20{border-color:var(--ps-color-zinc-500)}@supports (color:color-mix(in lab, red, red)){.ps\:border-zinc-500\/20{border-color:color-mix(in oklab,var(--ps-color-zinc-500)20%,transparent)}}.ps\:border-zinc-500\/30{border-color:var(--ps-color-zinc-500)}@supports (color:color-mix(in lab, red, red)){.ps\:border-zinc-500\/30{border-color:color-mix(in oklab,var(--ps-color-zinc-500)30%,transparent)}}.ps\:border-zinc-500\/40{border-color:var(--ps-color-zinc-500)}@supports (color:color-mix(in lab, red, red)){.ps\:border-zinc-500\/40{border-color:color-mix(in oklab,var(--ps-color-zinc-500)40%,transparent)}}.ps\:border-zinc-600{border-color:var(--ps-color-zinc-600)}.ps\:border-zinc-700{border-color:var(--ps-color-zinc-700)}.ps\:bg-black\/75{background-color:var(--ps-color-black)}@supports (color:color-mix(in lab, red, red)){.ps\:bg-black\/75{background-color:color-mix(in oklab,var(--ps-color-black)75%,transparent)}}.ps\:bg-red-500\/20{background-color:var(--ps-color-red-500)}@supports (color:color-mix(in lab, red, red)){.ps\:bg-red-500\/20{background-color:color-mix(in oklab,var(--ps-color-red-500)20%,transparent)}}.ps\:bg-rose-400{background-color:var(--ps-color-rose-400)}.ps\:bg-rose-500\/15{background-color:var(--ps-color-rose-500)}@supports (color:color-mix(in lab, red, red)){.ps\:bg-rose-500\/15{background-color:color-mix(in oklab,var(--ps-color-rose-500)15%,transparent)}}.ps\:bg-sky-500\/20{background-color:var(--ps-color-sky-500)}@supports (color:color-mix(in lab, red, red)){.ps\:bg-sky-500\/20{background-color:color-mix(in oklab,var(--ps-color-sky-500)20%,transparent)}}.ps\:bg-stone-50{background-color:var(--ps-color-stone-50)}.ps\:bg-transparent{background-color:#0000}.ps\:bg-zinc-500\/10{background-color:var(--ps-color-zinc-500)}@supports (color:color-mix(in lab, red, red)){.ps\:bg-zinc-500\/10{background-color:color-mix(in oklab,var(--ps-color-zinc-500)10%,transparent)}}.ps\:bg-zinc-500\/15{background-color:var(--ps-color-zinc-500)}@supports (color:color-mix(in lab, red, red)){.ps\:bg-zinc-500\/15{background-color:color-mix(in oklab,var(--ps-color-zinc-500)15%,transparent)}}.ps\:bg-zinc-900,.ps\:bg-zinc-900\/95{background-color:var(--ps-color-zinc-900)}@supports (color:color-mix(in lab, red, red)){.ps\:bg-zinc-900\/95{background-color:color-mix(in oklab,var(--ps-color-zinc-900)95%,transparent)}}.ps\:bg-zinc-950,.ps\:bg-zinc-950\/25{background-color:var(--ps-color-zinc-950)}@supports (color:color-mix(in lab, red, red)){.ps\:bg-zinc-950\/25{background-color:color-mix(in oklab,var(--ps-color-zinc-950)25%,transparent)}}.ps\:bg-zinc-950\/90{background-color:var(--ps-color-zinc-950)}@supports (color:color-mix(in lab, red, red)){.ps\:bg-zinc-950\/90{background-color:color-mix(in oklab,var(--ps-color-zinc-950)90%,transparent)}}.ps\:bg-zinc-950\/95{background-color:var(--ps-color-zinc-950)}@supports (color:color-mix(in lab, red, red)){.ps\:bg-zinc-950\/95{background-color:color-mix(in oklab,var(--ps-color-zinc-950)95%,transparent)}}.ps\:fill-none{fill:none}.ps\:fill-rose-400{fill:var(--ps-color-rose-400)}.ps\:fill-sky-950{fill:var(--ps-color-sky-950)}.ps\:fill-zinc-300{fill:var(--ps-color-zinc-300)}.ps\:fill-zinc-700{fill:var(--ps-color-zinc-700)}.ps\:fill-zinc-900{fill:var(--ps-color-zinc-900)}.ps\:stroke-rose-400\/80{stroke:var(--ps-color-rose-400)}@supports (color:color-mix(in lab, red, red)){.ps\:stroke-rose-400\/80{stroke:color-mix(in oklab,var(--ps-color-rose-400)80%,transparent)}}.ps\:stroke-zinc-600{stroke:var(--ps-color-zinc-600)}.ps\:stroke-zinc-700{stroke:var(--ps-color-zinc-700)}.ps\:object-contain{object-fit:contain}.ps\:object-cover{object-fit:cover}.ps\:p-0{padding:calc(var(--ps-spacing)*0)}.ps\:p-1\.5{padding:calc(var(--ps-spacing)*1.5)}.ps\:p-3{padding:calc(var(--ps-spacing)*3)}.ps\:p-5{padding:calc(var(--ps-spacing)*5)}.ps\:p-8{padding:calc(var(--ps-spacing)*8)}.ps\:px-1\.5{padding-inline:calc(var(--ps-spacing)*1.5)}.ps\:px-2{padding-inline:calc(var(--ps-spacing)*2)}.ps\:px-2\.5{padding-inline:calc(var(--ps-spacing)*2.5)}.ps\:px-3{padding-inline:calc(var(--ps-spacing)*3)}.ps\:px-3\.5{padding-inline:calc(var(--ps-spacing)*3.5)}.ps\:px-4{padding-inline:calc(var(--ps-spacing)*4)}.ps\:py-0\.5{padding-block:calc(var(--ps-spacing)*.5)}.ps\:py-1{padding-block:calc(var(--ps-spacing)*1)}.ps\:py-1\.5{padding-block:calc(var(--ps-spacing)*1.5)}.ps\:py-2{padding-block:calc(var(--ps-spacing)*2)}.ps\:py-3{padding-block:calc(var(--ps-spacing)*3)}.ps\:pt-2{padding-top:calc(var(--ps-spacing)*2)}.ps\:pb-1{padding-bottom:calc(var(--ps-spacing)*1)}.ps\:text-center{text-align:center}.ps\:text-left{text-align:left}.ps\:font-mono{font-family:var(--ps-font-mono)}.ps\:font-sans{font-family:var(--ps-font-sans)}.ps\:text-lg{font-size:var(--ps-text-lg);line-height:var(--tw-leading,var(--ps-text-lg--line-height))}.ps\:text-sm{font-size:var(--ps-text-sm);line-height:var(--tw-leading,var(--ps-text-sm--line-height))}.ps\:text-xs{font-size:var(--ps-text-xs);line-height:var(--tw-leading,var(--ps-text-xs--line-height))}.ps\:text-\[9px\]{font-size:9px}.ps\:text-\[10px\]{font-size:10px}.ps\:text-\[11px\]{font-size:11px}.ps\:text-\[13px\]{font-size:13px}.ps\:leading-none{--tw-leading:1;line-height:1}.ps\:font-bold{--tw-font-weight:var(--ps-font-weight-bold);font-weight:var(--ps-font-weight-bold)}.ps\:font-medium{--tw-font-weight:var(--ps-font-weight-medium);font-weight:var(--ps-font-weight-medium)}.ps\:font-semibold{--tw-font-weight:var(--ps-font-weight-semibold);font-weight:var(--ps-font-weight-semibold)}.ps\:tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.ps\:tracking-wide{--tw-tracking:var(--ps-tracking-wide);letter-spacing:var(--ps-tracking-wide)}.ps\:tracking-wider{--tw-tracking:var(--ps-tracking-wider);letter-spacing:var(--ps-tracking-wider)}.ps\:whitespace-nowrap{white-space:nowrap}.ps\:text-inherit{color:inherit}.ps\:text-red-300{color:var(--ps-color-red-300)}.ps\:text-rose-400{color:var(--ps-color-rose-400)}.ps\:text-sky-300{color:var(--ps-color-sky-300)}.ps\:text-sky-400{color:var(--ps-color-sky-400)}.ps\:text-stone-200{color:var(--ps-color-stone-200)}.ps\:text-stone-800{color:var(--ps-color-stone-800)}.ps\:text-white{color:var(--ps-color-white)}.ps\:text-zinc-200{color:var(--ps-color-zinc-200)}.ps\:text-zinc-400{color:var(--ps-color-zinc-400)}.ps\:text-zinc-500{color:var(--ps-color-zinc-500)}.ps\:text-zinc-600{color:var(--ps-color-zinc-600)}.ps\:uppercase{text-transform:uppercase}.ps\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.ps\:underline{text-decoration-line:underline}.ps\:decoration-dotted{text-decoration-style:dotted}.ps\:underline-offset-4{text-underline-offset:4px}.ps\:shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ps\:shadow-\[0_0_0_1px_rgba\(251\,113\,133\,0\.18\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#fb71852e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ps\:shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ps\:backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.ps\:backdrop-blur-sm{--tw-backdrop-blur:blur(var(--ps-blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.ps\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--ps-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ps-default-transition-duration))}.ps\:will-change-transform{will-change:transform}.ps\:outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.ps\:hover\:border-rose-400:hover{border-color:var(--ps-color-rose-400)}.ps\:hover\:border-zinc-500\/60:hover{border-color:var(--ps-color-zinc-500)}@supports (color:color-mix(in lab, red, red)){.ps\:hover\:border-zinc-500\/60:hover{border-color:color-mix(in oklab,var(--ps-color-zinc-500)60%,transparent)}}.ps\:hover\:bg-rose-400\/70:hover{background-color:var(--ps-color-rose-400)}@supports (color:color-mix(in lab, red, red)){.ps\:hover\:bg-rose-400\/70:hover{background-color:color-mix(in oklab,var(--ps-color-rose-400)70%,transparent)}}.ps\:hover\:bg-zinc-500\/8:hover{background-color:var(--ps-color-zinc-500)}@supports (color:color-mix(in lab, red, red)){.ps\:hover\:bg-zinc-500\/8:hover{background-color:color-mix(in oklab,var(--ps-color-zinc-500)8%,transparent)}}.ps\:hover\:bg-zinc-500\/10:hover{background-color:var(--ps-color-zinc-500)}@supports (color:color-mix(in lab, red, red)){.ps\:hover\:bg-zinc-500\/10:hover{background-color:color-mix(in oklab,var(--ps-color-zinc-500)10%,transparent)}}.ps\:hover\:text-current:hover{color:currentColor}.ps\:hover\:text-rose-300:hover{color:var(--ps-color-rose-300)}.ps\:hover\:text-rose-400:hover{color:var(--ps-color-rose-400)}}.ps\:focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.ps\:focus-visible\:bg-rose-400\/70:focus-visible{background-color:var(--ps-color-rose-400)}@supports (color:color-mix(in lab, red, red)){.ps\:focus-visible\:bg-rose-400\/70:focus-visible{background-color:color-mix(in oklab,var(--ps-color-rose-400)70%,transparent)}}.ps\:active\:cursor-grabbing:active{cursor:grabbing}.ps\:disabled\:opacity-40:disabled{opacity:.4}.ps\:disabled\:opacity-50:disabled{opacity:.5}:where(.ps-theme-light) .ps\:in-\[\.ps-theme-light\]\:bg-stone-50\/95{background-color:var(--ps-color-stone-50)}@supports (color:color-mix(in lab, red, red)){:where(.ps-theme-light) .ps\:in-\[\.ps-theme-light\]\:bg-stone-50\/95{background-color:color-mix(in oklab,var(--ps-color-stone-50)95%,transparent)}}:where(.ps-theme-light) .ps\:in-\[\.ps-theme-light\]\:bg-white\/45{background-color:var(--ps-color-white)}@supports (color:color-mix(in lab, red, red)){:where(.ps-theme-light) .ps\:in-\[\.ps-theme-light\]\:bg-white\/45{background-color:color-mix(in oklab,var(--ps-color-white)45%,transparent)}}:where(.ps-theme-light) .ps\:in-\[\.ps-theme-light\]\:bg-white\/95{background-color:var(--ps-color-white)}@supports (color:color-mix(in lab, red, red)){:where(.ps-theme-light) .ps\:in-\[\.ps-theme-light\]\:bg-white\/95{background-color:color-mix(in oklab,var(--ps-color-white)95%,transparent)}}:where(.ps-theme-light) .ps\:in-\[\.ps-theme-light\]\:fill-stone-600{fill:var(--ps-color-stone-600)}:where(.ps-theme-light) .ps\:in-\[\.ps-theme-light\]\:fill-white{fill:var(--ps-color-white)}:where(.ps-theme-light) .ps\:in-\[\.ps-theme-light\]\:stroke-stone-300{stroke:var(--ps-color-stone-300)}.ps\:data-\[active\]\:border-rose-400[data-active]{border-color:var(--ps-color-rose-400)}.ps\:data-\[active\]\:font-semibold[data-active]{--tw-font-weight:var(--ps-font-weight-semibold);font-weight:var(--ps-font-weight-semibold)}.ps\:data-\[active\]\:text-rose-400[data-active]{color:var(--ps-color-rose-400)}.ps\:data-\[highlighted\]\:bg-zinc-700\/70[data-highlighted]{background-color:var(--ps-color-zinc-700)}@supports (color:color-mix(in lab, red, red)){.ps\:data-\[highlighted\]\:bg-zinc-700\/70[data-highlighted]{background-color:color-mix(in oklab,var(--ps-color-zinc-700)70%,transparent)}}}@property --tw-border-spacing-x{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
|
package/package.json
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@party-stack/ontology-devtools",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.1",
|
|
4
|
+
"files": [
|
|
5
|
+
"lib"
|
|
6
|
+
],
|
|
4
7
|
"type": "module",
|
|
5
8
|
"exports": {
|
|
6
9
|
".": {
|
|
@@ -8,46 +11,37 @@
|
|
|
8
11
|
"default": "./lib/index.js"
|
|
9
12
|
}
|
|
10
13
|
},
|
|
11
|
-
"files": [
|
|
12
|
-
"lib"
|
|
13
|
-
],
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@base-ui/react": "^1.
|
|
15
|
+
"@base-ui/react": "^1.8.0",
|
|
16
16
|
"@dagrejs/dagre": "^3.1.1",
|
|
17
17
|
"@number-flow/react": "^0.6.2",
|
|
18
18
|
"@tanstack/devtools-utils": "^0.6.0",
|
|
19
|
-
"@tanstack/react-table": "^
|
|
19
|
+
"@tanstack/react-table": "^9.2.8",
|
|
20
20
|
"lucide-react": "^1.31.0",
|
|
21
|
-
"@party-stack/icons": "
|
|
22
|
-
"@party-stack/icons-lucide": "
|
|
23
|
-
"@party-stack/ontology": "0.
|
|
21
|
+
"@party-stack/icons": "0.2.1",
|
|
22
|
+
"@party-stack/icons-lucide": "0.2.1",
|
|
23
|
+
"@party-stack/ontology": "0.19.1"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@
|
|
27
|
-
"@
|
|
28
|
-
"@tanstack/db": "0.
|
|
29
|
-
"@tanstack/react-db": "~0.4.1",
|
|
26
|
+
"@tailwindcss/postcss": "^4.1.17",
|
|
27
|
+
"@tanstack/db": "0.12.1",
|
|
28
|
+
"@tanstack/react-db": "0.5.5",
|
|
30
29
|
"@tanstack/react-devtools": "^0.10.9",
|
|
31
|
-
"@types/react": "^19.
|
|
32
|
-
"@types/react-dom": "^19.
|
|
33
|
-
"
|
|
34
|
-
"react": "^19.
|
|
35
|
-
"react-dom": "^19.
|
|
36
|
-
"tailwindcss": "4.1.17",
|
|
37
|
-
"typescript": "~
|
|
38
|
-
"
|
|
30
|
+
"@types/react": "^19.3.0",
|
|
31
|
+
"@types/react-dom": "^19.3.0",
|
|
32
|
+
"postcss-import": "^17.0.0",
|
|
33
|
+
"react": "^19.3.0",
|
|
34
|
+
"react-dom": "^19.3.0",
|
|
35
|
+
"tailwindcss": "^4.1.17",
|
|
36
|
+
"typescript": "~7.0.2",
|
|
37
|
+
"vite-plus": "1.1.0",
|
|
38
|
+
"@party-stack/build-config": "0.1.1"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
|
-
"@tanstack/db": "0.
|
|
42
|
-
"@tanstack/react-db": "~0.
|
|
41
|
+
"@tanstack/db": "0.12.1",
|
|
42
|
+
"@tanstack/react-db": "~0.5.5",
|
|
43
43
|
"@tanstack/react-devtools": "^0.10.9",
|
|
44
44
|
"react": "^19.2.0",
|
|
45
45
|
"react-dom": "^19.2.0"
|
|
46
|
-
},
|
|
47
|
-
"scripts": {
|
|
48
|
-
"build": "tsc && pnpm run build:css",
|
|
49
|
-
"build:css": "tailwindcss -i ./src/styles.css -o ./lib/styles.css --minify",
|
|
50
|
-
"lint": "eslint",
|
|
51
|
-
"test": "vitest run src --pass-with-no-tests"
|
|
52
46
|
}
|
|
53
47
|
}
|