-
{{ data.policy }}
+
+ {{ data.policy }}
-
-
+
+
{{ data.due.after }}
diff --git a/packages/ordo-designer-vue/src/components/designer/nodes/EndNode.vue b/packages/ordo-designer-vue/src/components/designer/nodes/EndNode.vue
new file mode 100644
index 0000000..d6365c6
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/designer/nodes/EndNode.vue
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+ {{ data.name }}
+
+
diff --git a/src/components/designer/nodes/NodeHandles.vue b/packages/ordo-designer-vue/src/components/designer/nodes/NodeHandles.vue
similarity index 100%
rename from src/components/designer/nodes/NodeHandles.vue
rename to packages/ordo-designer-vue/src/components/designer/nodes/NodeHandles.vue
diff --git a/src/components/designer/nodes/ParallelNode.vue b/packages/ordo-designer-vue/src/components/designer/nodes/ParallelNode.vue
similarity index 63%
rename from src/components/designer/nodes/ParallelNode.vue
rename to packages/ordo-designer-vue/src/components/designer/nodes/ParallelNode.vue
index cb5f7a5..9af96a1 100644
--- a/src/components/designer/nodes/ParallelNode.vue
+++ b/packages/ordo-designer-vue/src/components/designer/nodes/ParallelNode.vue
@@ -1,24 +1,21 @@
+
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/Badge.vue b/packages/ordo-designer-vue/src/components/ui/Badge.vue
new file mode 100644
index 0000000..9ae7c38
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/Badge.vue
@@ -0,0 +1,24 @@
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/Button.vue b/packages/ordo-designer-vue/src/components/ui/Button.vue
new file mode 100644
index 0000000..f4a7e4c
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/Button.vue
@@ -0,0 +1,48 @@
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/ConfirmDialog.vue b/packages/ordo-designer-vue/src/components/ui/ConfirmDialog.vue
new file mode 100644
index 0000000..9b076f0
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/ConfirmDialog.vue
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
{{ title }}
+
{{ description }}
+
+
+
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/DialogPanel.vue b/packages/ordo-designer-vue/src/components/ui/DialogPanel.vue
new file mode 100644
index 0000000..57fecb9
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/DialogPanel.vue
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
{{ title }}
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/FormField.vue b/packages/ordo-designer-vue/src/components/ui/FormField.vue
new file mode 100644
index 0000000..108ff72
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/FormField.vue
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
{{ error }}
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/Input.vue b/packages/ordo-designer-vue/src/components/ui/Input.vue
new file mode 100644
index 0000000..839d3cf
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/Input.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/Label.vue b/packages/ordo-designer-vue/src/components/ui/Label.vue
new file mode 100644
index 0000000..3ff799d
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/Label.vue
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/SegmentedControl.vue b/packages/ordo-designer-vue/src/components/ui/SegmentedControl.vue
new file mode 100644
index 0000000..35facb6
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/SegmentedControl.vue
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/SelectField.vue b/packages/ordo-designer-vue/src/components/ui/SelectField.vue
new file mode 100644
index 0000000..5f27e65
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/SelectField.vue
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/SheetPanel.vue b/packages/ordo-designer-vue/src/components/ui/SheetPanel.vue
new file mode 100644
index 0000000..0a6f9d6
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/SheetPanel.vue
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
{{ title }}
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/Spinner.vue b/packages/ordo-designer-vue/src/components/ui/Spinner.vue
new file mode 100644
index 0000000..765a38b
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/Spinner.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/Switch.vue b/packages/ordo-designer-vue/src/components/ui/Switch.vue
new file mode 100644
index 0000000..2808186
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/Switch.vue
@@ -0,0 +1,21 @@
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/TokenListInput.vue b/packages/ordo-designer-vue/src/components/ui/TokenListInput.vue
new file mode 100644
index 0000000..4b699e8
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/TokenListInput.vue
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+ {{ token }}
+
+
+
+
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/select/Select.vue b/packages/ordo-designer-vue/src/components/ui/select/Select.vue
new file mode 100644
index 0000000..b9b1f33
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/select/Select.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/select/SelectContent.vue b/packages/ordo-designer-vue/src/components/ui/select/SelectContent.vue
new file mode 100644
index 0000000..06873d3
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/select/SelectContent.vue
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/select/SelectGroup.vue b/packages/ordo-designer-vue/src/components/ui/select/SelectGroup.vue
new file mode 100644
index 0000000..3a6985c
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/select/SelectGroup.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/select/SelectItem.vue b/packages/ordo-designer-vue/src/components/ui/select/SelectItem.vue
new file mode 100644
index 0000000..e60b45f
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/select/SelectItem.vue
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/select/SelectLabel.vue b/packages/ordo-designer-vue/src/components/ui/select/SelectLabel.vue
new file mode 100644
index 0000000..daf3ca9
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/select/SelectLabel.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/select/SelectScrollDownButton.vue b/packages/ordo-designer-vue/src/components/ui/select/SelectScrollDownButton.vue
new file mode 100644
index 0000000..b2a36b5
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/select/SelectScrollDownButton.vue
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/select/SelectScrollUpButton.vue b/packages/ordo-designer-vue/src/components/ui/select/SelectScrollUpButton.vue
new file mode 100644
index 0000000..61f3a5a
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/select/SelectScrollUpButton.vue
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/select/SelectSeparator.vue b/packages/ordo-designer-vue/src/components/ui/select/SelectSeparator.vue
new file mode 100644
index 0000000..9a09a27
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/select/SelectSeparator.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/select/SelectTrigger.vue b/packages/ordo-designer-vue/src/components/ui/select/SelectTrigger.vue
new file mode 100644
index 0000000..39e384c
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/select/SelectTrigger.vue
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/select/SelectValue.vue b/packages/ordo-designer-vue/src/components/ui/select/SelectValue.vue
new file mode 100644
index 0000000..ed5e851
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/select/SelectValue.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
diff --git a/packages/ordo-designer-vue/src/components/ui/select/index.ts b/packages/ordo-designer-vue/src/components/ui/select/index.ts
new file mode 100644
index 0000000..5e93867
--- /dev/null
+++ b/packages/ordo-designer-vue/src/components/ui/select/index.ts
@@ -0,0 +1,10 @@
+export { default as Select } from './Select.vue'
+export { default as SelectContent } from './SelectContent.vue'
+export { default as SelectGroup } from './SelectGroup.vue'
+export { default as SelectItem } from './SelectItem.vue'
+export { default as SelectLabel } from './SelectLabel.vue'
+export { default as SelectScrollDownButton } from './SelectScrollDownButton.vue'
+export { default as SelectScrollUpButton } from './SelectScrollUpButton.vue'
+export { default as SelectSeparator } from './SelectSeparator.vue'
+export { default as SelectTrigger } from './SelectTrigger.vue'
+export { default as SelectValue } from './SelectValue.vue'
diff --git a/src/composables/useAsync.ts b/packages/ordo-designer-vue/src/composables/useAsync.ts
similarity index 100%
rename from src/composables/useAsync.ts
rename to packages/ordo-designer-vue/src/composables/useAsync.ts
diff --git a/src/composables/useCatalogLabels.ts b/packages/ordo-designer-vue/src/composables/useCatalogLabels.ts
similarity index 75%
rename from src/composables/useCatalogLabels.ts
rename to packages/ordo-designer-vue/src/composables/useCatalogLabels.ts
index ba0fc8c..2a57627 100644
--- a/src/composables/useCatalogLabels.ts
+++ b/packages/ordo-designer-vue/src/composables/useCatalogLabels.ts
@@ -1,4 +1,4 @@
-import { useCatalogStore } from '@/stores/catalog'
+import { useCatalogState } from '@/context/designerContext'
import type { CatalogItem } from '@/types/definition'
function labelOf(items: CatalogItem[], key: string) {
@@ -6,14 +6,14 @@ function labelOf(items: CatalogItem[], key: string) {
}
export function useCatalogLabels() {
- const catalog = useCatalogStore()
+ const catalog = useCatalogState()
function assignee(key: string) {
- return labelOf(catalog.assignees, key)
+ return labelOf(catalog.assignees.value, key)
}
function action(key: string) {
- return labelOf(catalog.actions, key)
+ return labelOf(catalog.actions.value, key)
}
function assignees(keys: string[]) {
diff --git a/packages/ordo-designer-vue/src/composables/useConfirm.ts b/packages/ordo-designer-vue/src/composables/useConfirm.ts
new file mode 100644
index 0000000..8fa3dd6
--- /dev/null
+++ b/packages/ordo-designer-vue/src/composables/useConfirm.ts
@@ -0,0 +1,37 @@
+import { ref } from 'vue'
+
+export interface ConfirmOptions {
+ title: string
+ description: string
+ confirmText?: string
+ cancelText?: string
+ destructive?: boolean
+}
+
+export function useConfirmDialog() {
+ const open = ref(false)
+ const options = ref
(null)
+ let resolver: ((value: boolean) => void) | null = null
+
+ function confirm(opts: ConfirmOptions): Promise {
+ options.value = opts
+ open.value = true
+ return new Promise((resolve) => {
+ resolver = resolve
+ })
+ }
+
+ function accept() {
+ open.value = false
+ resolver?.(true)
+ resolver = null
+ }
+
+ function reject() {
+ open.value = false
+ resolver?.(false)
+ resolver = null
+ }
+
+ return { open, options, confirm, accept, reject }
+}
diff --git a/packages/ordo-designer-vue/src/context/designerContext.ts b/packages/ordo-designer-vue/src/context/designerContext.ts
new file mode 100644
index 0000000..20f7f67
--- /dev/null
+++ b/packages/ordo-designer-vue/src/context/designerContext.ts
@@ -0,0 +1,51 @@
+import { inject, provide, type InjectionKey } from 'vue'
+import type { OrdoClient } from '@/client'
+import type { DraftStorage } from '@/drafts'
+import { createCatalogState } from '@/stores/catalog'
+import { createDesignerState } from '@/stores/designer'
+
+export interface DesignerContextOptions {
+ client: OrdoClient
+ drafts: DraftStorage
+ readOnly: () => boolean
+}
+
+export interface DesignerContext {
+ designer: ReturnType
+ catalog: ReturnType
+ client: OrdoClient
+ drafts: DraftStorage
+ readOnly: () => boolean
+}
+
+const designerContextKey: InjectionKey = Symbol('ordoDesignerContext')
+
+export function provideDesignerContext(options: DesignerContextOptions): DesignerContext {
+ const designer = createDesignerState()
+ const catalog = createCatalogState(() => options.client)
+ const ctx: DesignerContext = {
+ designer,
+ catalog,
+ client: options.client,
+ drafts: options.drafts,
+ readOnly: options.readOnly,
+ }
+ provide(designerContextKey, ctx)
+ return ctx
+}
+
+export function useDesignerContext(): DesignerContext {
+ const ctx = inject(designerContextKey)
+ if (!ctx) {
+ throw new Error('useDesignerContext must be used within OrdoDesigner')
+ }
+ return ctx
+}
+
+export function useDesignerState() {
+ return useDesignerContext().designer
+}
+
+export function useCatalogState() {
+ return useDesignerContext().catalog
+}
diff --git a/packages/ordo-designer-vue/src/drafts.ts b/packages/ordo-designer-vue/src/drafts.ts
new file mode 100644
index 0000000..6d07170
--- /dev/null
+++ b/packages/ordo-designer-vue/src/drafts.ts
@@ -0,0 +1,25 @@
+import type { Ref } from 'vue'
+import type { DesignerEdge, DesignerNode } from '@/mapper/graph'
+
+export interface DesignerDraft {
+ id: string
+ name: string
+ startStepId: string
+ nodes: DesignerNode[]
+ edges: DesignerEdge[]
+ layout: Record
+ updatedAt: number
+}
+
+export interface DraftStorage {
+ revision: Ref
+ get(id: string): DesignerDraft | undefined
+ save(params: {
+ id: string
+ name: string
+ startStepId: string
+ nodes: DesignerNode[]
+ edges: DesignerEdge[]
+ }): void
+ remove(id: string): void
+}
diff --git a/packages/ordo-designer-vue/src/index.ts b/packages/ordo-designer-vue/src/index.ts
new file mode 100644
index 0000000..be5cd47
--- /dev/null
+++ b/packages/ordo-designer-vue/src/index.ts
@@ -0,0 +1,25 @@
+import './styles/index.css'
+import '@vue-flow/core/dist/style.css'
+import '@vue-flow/core/dist/theme-default.css'
+import '@vue-flow/controls/dist/style.css'
+import '@vue-flow/minimap/dist/style.css'
+
+import OrdoDesigner from './OrdoDesigner.vue'
+
+export { OrdoDesigner }
+export { default as DraftConflictModal } from './components/designer/DraftConflictModal.vue'
+export { default as Button } from './components/ui/Button.vue'
+export { default as Badge } from './components/ui/Badge.vue'
+export { default as Alert } from './components/ui/Alert.vue'
+export { default as DialogPanel } from './components/ui/DialogPanel.vue'
+export { layoutFromNodes, comparableDocument, toDocument } from './mapper/graph'
+export type { DesignerNode, DesignerEdge } from './mapper/graph'
+export type { OrdoClient } from './client'
+export type { DesignerDraft, DraftStorage } from './drafts'
+export type {
+ ProcessDefinitionDocument,
+ CatalogItem,
+ StepDocument,
+ TransitionDocument,
+ PageResponse,
+} from './types/definition'
diff --git a/packages/ordo-designer-vue/src/lib/selectEmpty.ts b/packages/ordo-designer-vue/src/lib/selectEmpty.ts
new file mode 100644
index 0000000..0332ef2
--- /dev/null
+++ b/packages/ordo-designer-vue/src/lib/selectEmpty.ts
@@ -0,0 +1,11 @@
+export function toSelectValue(value: string | undefined | null): string | undefined {
+ const trimmed = value?.trim()
+ return trimmed || undefined
+}
+
+export function fromSelectValue(value: unknown): string {
+ if (value == null) {
+ return ''
+ }
+ return String(value)
+}
diff --git a/packages/ordo-designer-vue/src/lib/tokenList.ts b/packages/ordo-designer-vue/src/lib/tokenList.ts
new file mode 100644
index 0000000..2cce14d
--- /dev/null
+++ b/packages/ordo-designer-vue/src/lib/tokenList.ts
@@ -0,0 +1,23 @@
+export function normalizeTokenList(items: string[], maxItems = Number.POSITIVE_INFINITY): string[] {
+ const seen = new Set()
+ const out: string[] = []
+ for (const item of items) {
+ const token = item.trim()
+ if (!token || seen.has(token)) {
+ continue
+ }
+ seen.add(token)
+ out.push(token)
+ if (out.length >= maxItems) {
+ break
+ }
+ }
+ return out
+}
+
+export function splitTokenInput(raw: string): string[] {
+ return raw
+ .split(/[\n,]+/)
+ .map((part) => part.trim())
+ .filter(Boolean)
+}
diff --git a/packages/ordo-designer-vue/src/lib/utils.ts b/packages/ordo-designer-vue/src/lib/utils.ts
new file mode 100644
index 0000000..d32b0fe
--- /dev/null
+++ b/packages/ordo-designer-vue/src/lib/utils.ts
@@ -0,0 +1,6 @@
+import { type ClassValue, clsx } from 'clsx'
+import { twMerge } from 'tailwind-merge'
+
+export function cn(...inputs: ClassValue[]) {
+ return twMerge(clsx(inputs))
+}
diff --git a/src/mapper/duration.ts b/packages/ordo-designer-vue/src/mapper/duration.ts
similarity index 100%
rename from src/mapper/duration.ts
rename to packages/ordo-designer-vue/src/mapper/duration.ts
diff --git a/src/mapper/edgePath.ts b/packages/ordo-designer-vue/src/mapper/edgePath.ts
similarity index 100%
rename from src/mapper/edgePath.ts
rename to packages/ordo-designer-vue/src/mapper/edgePath.ts
diff --git a/src/mapper/graph.ts b/packages/ordo-designer-vue/src/mapper/graph.ts
similarity index 100%
rename from src/mapper/graph.ts
rename to packages/ordo-designer-vue/src/mapper/graph.ts
diff --git a/src/mapper/layout.ts b/packages/ordo-designer-vue/src/mapper/layout.ts
similarity index 100%
rename from src/mapper/layout.ts
rename to packages/ordo-designer-vue/src/mapper/layout.ts
diff --git a/src/mapper/parallel.ts b/packages/ordo-designer-vue/src/mapper/parallel.ts
similarity index 100%
rename from src/mapper/parallel.ts
rename to packages/ordo-designer-vue/src/mapper/parallel.ts
diff --git a/src/mapper/when.ts b/packages/ordo-designer-vue/src/mapper/when.ts
similarity index 100%
rename from src/mapper/when.ts
rename to packages/ordo-designer-vue/src/mapper/when.ts
diff --git a/packages/ordo-designer-vue/src/shims-css.d.ts b/packages/ordo-designer-vue/src/shims-css.d.ts
new file mode 100644
index 0000000..b7f42f0
--- /dev/null
+++ b/packages/ordo-designer-vue/src/shims-css.d.ts
@@ -0,0 +1,6 @@
+declare module '*.css' {}
+
+declare module '@vue-flow/core/dist/style.css' {}
+declare module '@vue-flow/core/dist/theme-default.css' {}
+declare module '@vue-flow/controls/dist/style.css' {}
+declare module '@vue-flow/minimap/dist/style.css' {}
diff --git a/src/stores/catalog.ts b/packages/ordo-designer-vue/src/stores/catalog.ts
similarity index 71%
rename from src/stores/catalog.ts
rename to packages/ordo-designer-vue/src/stores/catalog.ts
index 5aeb4ab..d1ddbd2 100644
--- a/src/stores/catalog.ts
+++ b/packages/ordo-designer-vue/src/stores/catalog.ts
@@ -1,9 +1,8 @@
-import { defineStore } from 'pinia'
import { ref } from 'vue'
-import * as ordo from '@/api/ordo'
+import type { OrdoClient } from '@/client'
import type { CatalogItem } from '@/types/definition'
-export const useCatalogStore = defineStore('catalog', () => {
+export function createCatalogState(getClient: () => OrdoClient) {
const conditions = ref([])
const actions = ref([])
const assignees = ref([])
@@ -12,11 +11,12 @@ export const useCatalogStore = defineStore('catalog', () => {
async function load() {
error.value = null
+ const client = getClient()
try {
const [c, a, s] = await Promise.all([
- ordo.listConditions(),
- ordo.listActions(),
- ordo.listAssignees(),
+ client.listConditions(),
+ client.listActions(),
+ client.listAssignees(),
])
conditions.value = c
actions.value = a
@@ -32,4 +32,6 @@ export const useCatalogStore = defineStore('catalog', () => {
}
return { conditions, actions, assignees, loaded, error, load }
-})
+}
+
+export type CatalogState = ReturnType
diff --git a/src/stores/designer.ts b/packages/ordo-designer-vue/src/stores/designer.ts
similarity index 99%
rename from src/stores/designer.ts
rename to packages/ordo-designer-vue/src/stores/designer.ts
index e108bb8..7e75d4d 100644
--- a/src/stores/designer.ts
+++ b/packages/ordo-designer-vue/src/stores/designer.ts
@@ -1,5 +1,4 @@
import { computed, ref } from 'vue'
-import { defineStore } from 'pinia'
import type { Connection } from '@vue-flow/core'
import {
ACTION_TYPE,
@@ -64,7 +63,7 @@ function slimEdge(edge: DesignerEdge): DesignerEdge {
}
}
-export const useDesignerStore = defineStore('designer', () => {
+export function createDesignerState() {
const definitionId = ref('')
const name = ref('')
const startStepId = ref('')
@@ -801,4 +800,4 @@ export const useDesignerStore = defineStore('designer', () => {
addLaneStep,
renameLane,
}
-})
+}
diff --git a/packages/ordo-designer-vue/src/styles/designer.css b/packages/ordo-designer-vue/src/styles/designer.css
new file mode 100644
index 0000000..36cc595
--- /dev/null
+++ b/packages/ordo-designer-vue/src/styles/designer.css
@@ -0,0 +1,97 @@
+.vue-flow {
+ background:
+ radial-gradient(circle at 1px 1px, var(--ordo-canvas-grid) 1px, transparent 0) 0 0 / 20px 20px,
+ var(--ordo-canvas);
+}
+
+.vue-flow__edge-path {
+ fill: none;
+}
+
+.vue-flow__handle {
+ transition: transform 0.15s ease;
+}
+
+.vue-flow__handle:hover {
+ transform: scale(1.25);
+}
+
+.vue-flow__node-parallel button {
+ cursor: pointer;
+}
+
+.vue-flow__edge-labels {
+ z-index: 1000;
+}
+
+.pointer-events-all {
+ pointer-events: all;
+}
+
+/* Vue Flow chrome — follow ordo tokens in dark mode */
+.ordo-designer.dark .vue-flow__minimap {
+ background-color: var(--ordo-card) !important;
+ border: 1px solid var(--ordo-border);
+ border-radius: var(--ordo-radius-md);
+}
+
+.ordo-designer.dark .vue-flow__minimap-mask {
+ fill: var(--ordo-primary);
+ fill-opacity: 0.12;
+}
+
+.ordo-designer.dark .vue-flow__minimap-node {
+ fill: var(--ordo-muted-foreground);
+}
+
+.ordo-designer.dark .vue-flow__controls {
+ box-shadow: none;
+}
+
+.ordo-designer.dark .vue-flow__controls-button {
+ background: var(--ordo-card) !important;
+ border-color: var(--ordo-border) !important;
+ color: var(--ordo-foreground) !important;
+ fill: var(--ordo-foreground) !important;
+}
+
+.ordo-designer.dark .vue-flow__controls-button:hover {
+ background: var(--ordo-muted) !important;
+}
+
+.ordo-designer.dark .vue-flow__controls-button svg {
+ fill: currentColor;
+}
+
+.ordo-designer.dark .vue-flow__edge-path {
+ stroke: var(--ordo-muted-foreground);
+}
+
+.ordo-designer input::placeholder,
+.ordo-designer textarea::placeholder {
+ color: var(--ordo-muted-foreground);
+}
+
+.ordo-designer.dark .text-sky-700 {
+ color: #7dd3fc;
+}
+
+.ordo-designer.dark .text-amber-700 {
+ color: #fcd34d;
+}
+
+.ordo-designer.dark .text-violet-700 {
+ color: #c4b5fd;
+}
+
+.ordo-designer.dark .text-amber-800 {
+ color: #fde68a;
+}
+
+.ordo-designer.dark .text-sky-800 {
+ color: #7dd3fc;
+}
+
+.ordo-designer.dark .text-rose-700 {
+ color: #fda4af;
+}
diff --git a/packages/ordo-designer-vue/src/styles/index.css b/packages/ordo-designer-vue/src/styles/index.css
new file mode 100644
index 0000000..32b5285
--- /dev/null
+++ b/packages/ordo-designer-vue/src/styles/index.css
@@ -0,0 +1,4 @@
+@import "tailwindcss";
+@import "vue-sonner/style.css";
+@import "./theme.css";
+@import "./designer.css";
diff --git a/packages/ordo-designer-vue/src/styles/theme.css b/packages/ordo-designer-vue/src/styles/theme.css
new file mode 100644
index 0000000..d7a39d2
--- /dev/null
+++ b/packages/ordo-designer-vue/src/styles/theme.css
@@ -0,0 +1,149 @@
+/* Defaults (also apply outside .ordo-designer for SSR/tooling) */
+:root {
+ --ordo-background: #ffffff;
+ --ordo-foreground: #0f172a;
+ --ordo-muted: #f1f5f9;
+ --ordo-muted-foreground: #64748b;
+ --ordo-card: #ffffff;
+ --ordo-card-foreground: #0f172a;
+ --ordo-border: #e2e8f0;
+ --ordo-input: #e2e8f0;
+ --ordo-primary: #2563eb;
+ --ordo-primary-foreground: #ffffff;
+ --ordo-destructive: #dc2626;
+ --ordo-destructive-foreground: #ffffff;
+ --ordo-ring: #2563eb;
+ --ordo-canvas: #f8fafc;
+ --ordo-canvas-grid: #e2e8f0;
+ --ordo-overlay: rgb(15 23 42 / 0.4);
+ --ordo-alert-info-bg: #eff6ff;
+ --ordo-alert-info-border: #bfdbfe;
+ --ordo-alert-info-fg: #1e3a8a;
+ --ordo-alert-warning-bg: #fffbeb;
+ --ordo-alert-warning-border: #fde68a;
+ --ordo-alert-warning-fg: #78350f;
+ --ordo-alert-default-bg: #f8fafc;
+ --ordo-alert-default-border: #e2e8f0;
+ --ordo-alert-default-fg: #334155;
+ --ordo-badge-default-bg: #f1f5f9;
+ --ordo-badge-default-fg: #334155;
+ --ordo-badge-info-bg: #eff6ff;
+ --ordo-badge-info-fg: #1d4ed8;
+ --ordo-badge-warning-bg: #fffbeb;
+ --ordo-badge-warning-fg: #92400e;
+ --ordo-badge-success-bg: #ecfdf5;
+ --ordo-badge-success-fg: #047857;
+ --ordo-error-bg: #fef2f2;
+ --ordo-error-border: #fecaca;
+ --ordo-error-fg: #b91c1c;
+ --ordo-radius-md: 0.375rem;
+ --ordo-radius-lg: 0.5rem;
+ --ordo-field: #ffffff;
+ --ordo-field-foreground: #0f172a;
+}
+
+.ordo-designer {
+ --ordo-background: #ffffff;
+ --ordo-foreground: #0f172a;
+ --ordo-muted: #f1f5f9;
+ --ordo-muted-foreground: #64748b;
+ --ordo-card: #ffffff;
+ --ordo-card-foreground: #0f172a;
+ --ordo-border: #e2e8f0;
+ --ordo-input: #e2e8f0;
+ --ordo-primary: #2563eb;
+ --ordo-primary-foreground: #ffffff;
+ --ordo-destructive: #dc2626;
+ --ordo-destructive-foreground: #ffffff;
+ --ordo-ring: #2563eb;
+ --ordo-canvas: #f8fafc;
+ --ordo-canvas-grid: #e2e8f0;
+ --ordo-overlay: rgb(15 23 42 / 0.4);
+ --ordo-alert-info-bg: #eff6ff;
+ --ordo-alert-info-border: #bfdbfe;
+ --ordo-alert-info-fg: #1e3a8a;
+ --ordo-alert-warning-bg: #fffbeb;
+ --ordo-alert-warning-border: #fde68a;
+ --ordo-alert-warning-fg: #78350f;
+ --ordo-alert-default-bg: #f8fafc;
+ --ordo-alert-default-border: #e2e8f0;
+ --ordo-alert-default-fg: #334155;
+ --ordo-badge-default-bg: #f1f5f9;
+ --ordo-badge-default-fg: #334155;
+ --ordo-badge-info-bg: #eff6ff;
+ --ordo-badge-info-fg: #1d4ed8;
+ --ordo-badge-warning-bg: #fffbeb;
+ --ordo-badge-warning-fg: #92400e;
+ --ordo-badge-success-bg: #ecfdf5;
+ --ordo-badge-success-fg: #047857;
+ --ordo-error-bg: #fef2f2;
+ --ordo-error-border: #fecaca;
+ --ordo-error-fg: #b91c1c;
+ --ordo-radius-md: 0.375rem;
+ --ordo-radius-lg: 0.5rem;
+ --ordo-field: #ffffff;
+ --ordo-field-foreground: #0f172a;
+ color: var(--ordo-foreground);
+ background-color: var(--ordo-background);
+}
+
+.ordo-designer.dark {
+ --ordo-background: #0f172a;
+ --ordo-foreground: #f1f5f9;
+ --ordo-muted: #1e293b;
+ --ordo-muted-foreground: #94a3b8;
+ --ordo-card: #1e293b;
+ --ordo-card-foreground: #f1f5f9;
+ --ordo-border: #334155;
+ --ordo-input: #334155;
+ --ordo-primary: #3b82f6;
+ --ordo-primary-foreground: #ffffff;
+ --ordo-destructive: #ef4444;
+ --ordo-destructive-foreground: #ffffff;
+ --ordo-ring: #3b82f6;
+ --ordo-canvas: #0b1220;
+ --ordo-canvas-grid: #334155;
+ --ordo-overlay: rgb(0 0 0 / 0.55);
+ --ordo-alert-info-bg: #172554;
+ --ordo-alert-info-border: #1e40af;
+ --ordo-alert-info-fg: #bfdbfe;
+ --ordo-alert-warning-bg: #422006;
+ --ordo-alert-warning-border: #92400e;
+ --ordo-alert-warning-fg: #fde68a;
+ --ordo-alert-default-bg: #1e293b;
+ --ordo-alert-default-border: #334155;
+ --ordo-alert-default-fg: #cbd5e1;
+ --ordo-badge-default-bg: #334155;
+ --ordo-badge-default-fg: #e2e8f0;
+ --ordo-badge-info-bg: #172554;
+ --ordo-badge-info-fg: #93c5fd;
+ --ordo-badge-warning-bg: #422006;
+ --ordo-badge-warning-fg: #fcd34d;
+ --ordo-badge-success-bg: #064e3b;
+ --ordo-badge-success-fg: #6ee7b7;
+ --ordo-error-bg: #450a0a;
+ --ordo-error-border: #991b1b;
+ --ordo-error-fg: #fecaca;
+ --ordo-field: #334155;
+ --ordo-field-foreground: #f1f5f9;
+}
+
+@theme inline {
+ --color-background: var(--ordo-background);
+ --color-foreground: var(--ordo-foreground);
+ --color-muted: var(--ordo-muted);
+ --color-muted-foreground: var(--ordo-muted-foreground);
+ --color-card: var(--ordo-card);
+ --color-card-foreground: var(--ordo-card-foreground);
+ --color-border: var(--ordo-border);
+ --color-input: var(--ordo-input);
+ --color-primary: var(--ordo-primary);
+ --color-primary-foreground: var(--ordo-primary-foreground);
+ --color-destructive: var(--ordo-destructive);
+ --color-destructive-foreground: var(--ordo-destructive-foreground);
+ --color-ring: var(--ordo-ring);
+ --color-field: var(--ordo-field);
+ --color-field-foreground: var(--ordo-field-foreground);
+ --radius-md: var(--ordo-radius-md);
+ --radius-lg: var(--ordo-radius-lg);
+}
diff --git a/src/types/definition.ts b/packages/ordo-designer-vue/src/types/definition.ts
similarity index 100%
rename from src/types/definition.ts
rename to packages/ordo-designer-vue/src/types/definition.ts
diff --git a/packages/ordo-designer-vue/tsconfig.build.json b/packages/ordo-designer-vue/tsconfig.build.json
new file mode 100644
index 0000000..64ad61e
--- /dev/null
+++ b/packages/ordo-designer-vue/tsconfig.build.json
@@ -0,0 +1,16 @@
+{
+ "extends": "@vue/tsconfig/tsconfig.dom.json",
+ "include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
+ "compilerOptions": {
+ "ignoreDeprecations": "6.0",
+ "noUncheckedIndexedAccess": true,
+ "baseUrl": ".",
+ "paths": { "@/*": ["./src/*"] },
+ "composite": true,
+ "noEmit": false,
+ "declaration": true,
+ "emitDeclarationOnly": true,
+ "outDir": "./dist",
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.build.tsbuildinfo"
+ }
+}
diff --git a/packages/ordo-designer-vue/tsconfig.json b/packages/ordo-designer-vue/tsconfig.json
new file mode 100644
index 0000000..cc9a8d8
--- /dev/null
+++ b/packages/ordo-designer-vue/tsconfig.json
@@ -0,0 +1,4 @@
+{
+ "files": [],
+ "references": [{ "path": "./tsconfig.build.json" }]
+}
diff --git a/packages/ordo-designer-vue/vite.config.ts b/packages/ordo-designer-vue/vite.config.ts
new file mode 100644
index 0000000..acf0c39
--- /dev/null
+++ b/packages/ordo-designer-vue/vite.config.ts
@@ -0,0 +1,39 @@
+import { fileURLToPath, URL } from 'node:url'
+import { defineConfig } from 'vite'
+import vue from '@vitejs/plugin-vue'
+import tailwindcss from '@tailwindcss/vite'
+import dts from 'vite-plugin-dts'
+
+export default defineConfig({
+ plugins: [
+ vue(),
+ tailwindcss(),
+ dts({
+ tsconfigPath: './tsconfig.build.json',
+ entryRoot: 'src',
+ outDir: 'dist',
+ include: ['env.d.ts', 'src/**/*.ts', 'src/**/*.vue'],
+ rollupTypes: true,
+ }),
+ ],
+ resolve: {
+ alias: {
+ '@': fileURLToPath(new URL('./src', import.meta.url)),
+ },
+ },
+ build: {
+ lib: {
+ entry: fileURLToPath(new URL('./src/index.ts', import.meta.url)),
+ name: 'OrdoDesignerVue',
+ fileName: 'ordo-designer-vue',
+ formats: ['es'],
+ },
+ rollupOptions: {
+ external: ['vue'],
+ output: {
+ assetFileNames: 'style.css',
+ },
+ },
+ cssCodeSplit: false,
+ },
+})
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 5e314d5..04389a4 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -6,14 +6,59 @@ settings:
importers:
- .:
+ .: {}
+
+ apps/playground:
+ dependencies:
+ ordo-designer-vue:
+ specifier: workspace:*
+ version: link:../../packages/ordo-designer-vue
+ vue:
+ specifier: ^3.5.40
+ version: 3.5.42(typescript@6.0.3)
+ vue-router:
+ specifier: ^5.2.0
+ version: 5.3.1(@vue/compiler-sfc@3.5.42)(pinia@4.0.3(@vue/devtools-api@8.2.1)(typescript@6.0.3)(vue@3.5.42(typescript@6.0.3)))(rolldown@1.2.8)(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0))(vue@3.5.42(typescript@6.0.3))
+ devDependencies:
+ '@tailwindcss/vite':
+ specifier: ^4.3.3
+ version: 4.3.3(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0))
+ '@tsconfig/node24':
+ specifier: ^24.0.4
+ version: 24.0.5
+ '@types/node':
+ specifier: ^24.6.0
+ version: 24.13.5
+ '@vitejs/plugin-vue':
+ specifier: ^6.0.8
+ version: 6.0.9(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0))(vue@3.5.42(typescript@6.0.3))
+ '@vue/tsconfig':
+ specifier: ^0.9.1
+ version: 0.9.1(typescript@6.0.3)(vue@3.5.42(typescript@6.0.3))
+ npm-run-all2:
+ specifier: ^9.0.2
+ version: 9.0.3
+ tailwindcss:
+ specifier: ^4.3.3
+ version: 4.3.3
+ typescript:
+ specifier: ~6.0.0
+ version: 6.0.3
+ vite:
+ specifier: ^8.1.5
+ version: 8.3.0(@types/node@24.13.5)(jiti@2.7.0)
+ vite-plugin-vue-devtools:
+ specifier: ^8.1.5
+ version: 8.2.1(supports-color@8.1.1)(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0))(vue@3.5.42(typescript@6.0.3))
+ vue-tsc:
+ specifier: ^3.3.7
+ version: 3.3.11(typescript@6.0.3)
+
+ packages/ordo-designer-vue:
dependencies:
'@lucide/vue':
specifier: ^1.46.0
version: 1.46.0(vue@3.5.42(typescript@6.0.3))
- '@tailwindcss/vite':
- specifier: ^4.3.3
- version: 4.3.3(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0))
'@vue-flow/background':
specifier: ^1.3.2
version: 1.3.2(@vue-flow/core@1.48.2(vue@3.5.42(typescript@6.0.3)))(vue@3.5.42(typescript@6.0.3))
@@ -26,46 +71,49 @@ importers:
'@vue-flow/minimap':
specifier: ^1.5.4
version: 1.5.4(@vue-flow/core@1.48.2(vue@3.5.42(typescript@6.0.3)))(vue@3.5.42(typescript@6.0.3))
- naive-ui:
- specifier: ^2.45.3
- version: 2.45.3(vue@3.5.42(typescript@6.0.3))
- pinia:
- specifier: ^4.0.2
- version: 4.0.3(@vue/devtools-api@8.2.1)(typescript@6.0.3)(vue@3.5.42(typescript@6.0.3))
- tailwindcss:
- specifier: ^4.3.3
- version: 4.3.3
- vue:
- specifier: ^3.5.40
- version: 3.5.42(typescript@6.0.3)
- vue-router:
- specifier: ^5.2.0
- version: 5.3.1(@vue/compiler-sfc@3.5.42)(pinia@4.0.3(@vue/devtools-api@8.2.1)(typescript@6.0.3)(vue@3.5.42(typescript@6.0.3)))(rolldown@1.2.8)(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0))(vue@3.5.42(typescript@6.0.3))
+ '@vueuse/core':
+ specifier: ^13.9.0
+ version: 13.9.0(vue@3.5.42(typescript@6.0.3))
+ class-variance-authority:
+ specifier: ^0.7.1
+ version: 0.7.1
+ clsx:
+ specifier: ^2.1.1
+ version: 2.1.1
+ reka-ui:
+ specifier: ^2.10.5
+ version: 2.10.5(vue@3.5.42(typescript@6.0.3))
+ tailwind-merge:
+ specifier: ^3.3.1
+ version: 3.7.0
+ vue-sonner:
+ specifier: ^2.0.9
+ version: 2.0.9
devDependencies:
- '@tsconfig/node24':
- specifier: ^24.0.4
- version: 24.0.5
- '@types/node':
- specifier: ^24.13.3
- version: 24.13.5
+ '@tailwindcss/vite':
+ specifier: ^4.3.3
+ version: 4.3.3(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0))
'@vitejs/plugin-vue':
specifier: ^6.0.8
version: 6.0.9(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0))(vue@3.5.42(typescript@6.0.3))
'@vue/tsconfig':
specifier: ^0.9.1
version: 0.9.1(typescript@6.0.3)(vue@3.5.42(typescript@6.0.3))
- npm-run-all2:
- specifier: ^9.0.2
- version: 9.0.3
+ tailwindcss:
+ specifier: ^4.3.3
+ version: 4.3.3
typescript:
specifier: ~6.0.0
version: 6.0.3
vite:
specifier: ^8.1.5
version: 8.3.0(@types/node@24.13.5)(jiti@2.7.0)
- vite-plugin-vue-devtools:
- specifier: ^8.1.5
- version: 8.2.1(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0))(vue@3.5.42(typescript@6.0.3))
+ vite-plugin-dts:
+ specifier: ^4.5.4
+ version: 4.5.4(@types/node@24.13.5)(supports-color@8.1.1)(typescript@6.0.3)(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0))
+ vue:
+ specifier: ^3.5.40
+ version: 3.5.42(typescript@6.0.3)
vue-tsc:
specifier: ^3.3.7
version: 3.3.11(typescript@6.0.3)
@@ -212,18 +260,23 @@ packages:
resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==}
engines: {node: '>=6.9.0'}
- '@css-render/plugin-bem@0.15.14':
- resolution: {integrity: sha512-QK513CJ7yEQxm/P3EwsI+d+ha8kSOcjGvD6SevM41neEMxdULE+18iuQK6tEChAWMOQNQPLG/Rw3Khb69r5neg==}
- peerDependencies:
- css-render: ~0.15.14
+ '@floating-ui/core@1.8.0':
+ resolution: {integrity: sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ==}
- '@css-render/vue3-ssr@0.15.14':
- resolution: {integrity: sha512-//8027GSbxE9n3QlD73xFY6z4ZbHbvrOVB7AO6hsmrEzGbg+h2A09HboUyDgu+xsmj7JnvJD39Irt+2D0+iV8g==}
- peerDependencies:
- vue: ^3.0.11
+ '@floating-ui/dom@1.8.0':
+ resolution: {integrity: sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg==}
- '@emotion/hash@0.8.0':
- resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==}
+ '@floating-ui/utils@0.2.12':
+ resolution: {integrity: sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==}
+
+ '@floating-ui/vue@1.1.11':
+ resolution: {integrity: sha512-HzHKCNVxnGS35r9fCHBc3+uCnjw9IWIlCPL683cGgM9Kgj2BiAl8x1mS7vtvP6F9S/e/q4O6MApwSHj8hNLGfw==}
+
+ '@internationalized/date@3.12.4':
+ resolution: {integrity: sha512-M1dEn4c1U1HsSlaVR8upZtSqvXrTkHDfv18H01uCSJyjVLDxnBR38v/fMxecmlwXKR4i9HeZcmgQAPE6A+aGJQ==}
+
+ '@internationalized/number@3.6.8':
+ resolution: {integrity: sha512-8UmMFia46DUt+k97zKd9fKWXcWHR+k8ae3eYzILETuT2KbIvLyOfac7zesw+sJdRAAZ7Q9pM1Mk22aXp2LD0Ig==}
'@jridgewell/gen-mapping@0.3.13':
resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
@@ -241,14 +294,26 @@ packages:
'@jridgewell/trace-mapping@0.3.31':
resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
- '@juggle/resize-observer@3.4.0':
- resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==}
-
'@lucide/vue@1.46.0':
resolution: {integrity: sha512-xp4mUamXKM/jYCve8TOcEcuikidFh3Jn9gs0THCeEKn/fAdeU0mKhPqk0fmIwn42fI4CwGLRWrLneLA69h8Nqw==}
peerDependencies:
vue: '>=3.0.1'
+ '@microsoft/api-extractor-model@7.33.13':
+ resolution: {integrity: sha512-OVL/dDvHstFJMJb2amgI7S9p9wAVMyrt18R2aSBOP9tVAARWiEJAM3wVsgxXymMOvnvKO/np9X7PeJpNZv3eLg==}
+ engines: {node: '>=20.9.0'}
+
+ '@microsoft/api-extractor@7.59.2':
+ resolution: {integrity: sha512-hhkH6p2AmJtneC1cyxDTzUBg3DJHxvsCW5ciTrFSY8H9nTWB+lwa1nmmmTAqNFc9mufMATlH6hwdOI/Jc1wjfw==}
+ engines: {node: '>=20.9.0'}
+ hasBin: true
+
+ '@microsoft/tsdoc-config@0.18.2':
+ resolution: {integrity: sha512-4ymuLTQ9lFwJXK15f41iPcNHflymjk02Ltq5f5wo3fA02O1nHIGSc1TIZwzTSQZep+jXHM644jobt4Q8O3vtqg==}
+
+ '@microsoft/tsdoc@0.17.0':
+ resolution: {integrity: sha512-p68VexhnH7ojf3U27RdryUDqnKJgKaWUbCL96vJR7N0mqDuhKG5OIECk3sCPPdynxjk+yoVhRkScqtv5KQjzsw==}
+
'@oxc-project/types@0.149.0':
resolution: {integrity: sha512-Efcc+iF0j3Bf67YjEqIqWXbX5XddXoK/Mw4K1/JuXwRCZ8N16VR7iT23nlCc9XrveFVh/E5Rqs2StT0V8v9LdA==}
@@ -354,6 +419,51 @@ packages:
'@rolldown/pluginutils@1.0.1':
resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==}
+ '@rollup/pluginutils@5.4.0':
+ resolution: {integrity: sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rushstack/node-core-library@5.24.2':
+ resolution: {integrity: sha512-sgSqy/lqce+uMrggF/wEIISIfpMX8pAXE5qSzGgDYFrWJkrsttrw/MzU4GFVNcbHSkPz5KbSh/A4/JSpDHoNQA==}
+ engines: {node: '>=20.9.0'}
+ peerDependencies:
+ '@types/node': '*'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@rushstack/problem-matcher@0.2.1':
+ resolution: {integrity: sha512-gulfhBs6n+I5b7DvjKRfhMGyUejtSgOHTclF/eONr8hcgF1APEDjhxIsfdUYYMzC3rvLwGluqLjbwCFZ8nxrog==}
+ peerDependencies:
+ '@types/node': '*'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@rushstack/rig-package@0.7.3':
+ resolution: {integrity: sha512-aAA518n6wxxjCfnTAOjQnm7ngNE0FVHxHAw2pxKlIhxrMn0XQjGcXKF0oKWpjBgJOmsaJpVob/v+zr3zxgPWuA==}
+
+ '@rushstack/terminal@0.24.5':
+ resolution: {integrity: sha512-AkbHjc48S7g4HkFO2wKHVMuJiZs/KaRI/rjcSpEj7o6SXgRYZrpXDE10NFa8ov/bxm4F5x+A8iqxkAGfEUTuTA==}
+ engines: {node: '>=20.9.0'}
+ peerDependencies:
+ '@types/node': '*'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@rushstack/ts-command-line@5.3.15':
+ resolution: {integrity: sha512-9oUS23ebDfbl8ED6CANdQ3qqBc/xhrQvzhQAv61oN391FvNRww6RzdUbo97NEXaMm7lNEQsTjdE3zqtgiMv/eQ==}
+ engines: {node: '>=20.9.0'}
+
+ '@swc/helpers@0.5.23':
+ resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==}
+
'@tailwindcss/node@4.3.3':
resolution: {integrity: sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg==}
@@ -448,14 +558,22 @@ packages:
peerDependencies:
vite: ^5.2.0 || ^6 || ^7 || ^8
+ '@tanstack/virtual-core@3.17.11':
+ resolution: {integrity: sha512-+ILjvtHup6Y2hzQ6YzwMgX1Q+oQpxEGOXCEsCNaPoIP0VxMbizIBTmYTDtkerkIQS8/CbP1BRuyt8V/8BCsy1g==}
+
+ '@tanstack/vue-virtual@3.13.39':
+ resolution: {integrity: sha512-AG8sI+6nfrDvN6ixuHJL9LaJTf3//0V5VITZYW3UOaIuSVexnEzsbMu4LH/JhMfRTxwhUXPnLqkl1DlzkZbRtg==}
+ peerDependencies:
+ vue: ^2.7.0 || ^3.0.0
+
'@tsconfig/node24@24.0.5':
resolution: {integrity: sha512-DWC54fGPuhZgg3Ighg4Y/A/bA3ZdB5hnzAuv/MkQ/X85sVsBsMQxu8t7khutdYeiNksBbFdDyeqv1HSW2Zl8aA==}
- '@types/lodash-es@4.17.12':
- resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==}
+ '@types/argparse@1.0.38':
+ resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==}
- '@types/lodash@4.17.25':
- resolution: {integrity: sha512-+K1NIO8I+F9/wNulfVvu23QYd0Pe9/OCqRrim4NoYIf1VoEDL90Ve4ClzpyqBLc7NpGGWRvYNCKZ1BE/Jpf8dQ==}
+ '@types/estree@1.0.9':
+ resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==}
'@types/node@24.13.5':
resolution: {integrity: sha512-TXyindR+lBr22aJIdMQzCFHPHR6cR4js838mRDCSz5hOKWZvZwsXSSiXDmjRj4iJmgl+sR9O+1mkoVBSMadNug==}
@@ -463,6 +581,9 @@ packages:
'@types/web-bluetooth@0.0.20':
resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
+ '@types/web-bluetooth@0.0.21':
+ resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==}
+
'@vitejs/plugin-vue@6.0.9':
resolution: {integrity: sha512-rD/MORlhaZMlXWW0rEn4FB4wMinWC0z/D7Ye160S5+Rs1mC8ZDAdcDp4SjKfUhG5t8q1ktcPVw4xuTkPRlzrSA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -544,6 +665,9 @@ packages:
'@vue/compiler-ssr@3.5.42':
resolution: {integrity: sha512-xmLk3wLkbizPAiLyomjgFFosf2ys9b5Ghb+oh/k2tnvipNz8OFrQOiTcWCzyK7MpBp9KkyGtfvgfLUivbmuGYA==}
+ '@vue/compiler-vue2@2.7.16':
+ resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==}
+
'@vue/devtools-api@8.2.1':
resolution: {integrity: sha512-6u4vXBlIBAC1wMplIZgpyPn7uh/s4Bf6F5bMzvLv+EdJ0aHs/+4B7Ygv864EStQSjRbsRzTko/kUG1A1IejQ3A==}
@@ -558,6 +682,14 @@ packages:
'@vue/devtools-shared@8.2.1':
resolution: {integrity: sha512-Fkac7lUdGReh6pVOi3AYPRGe82LQqRmAfThW7RRligOAP0ZA/Z1z9XLHDM9dv34pV2HRc79DK8uKPeG2fLnA/g==}
+ '@vue/language-core@2.2.0':
+ resolution: {integrity: sha512-O1ZZFaaBGkKbsRfnVH1ifOK1/1BUkyK+3SQsfnh6PmMmD4qJcTU8godCeA96jjDRTL6zgnK7YzCHfaUlH2r0Mw==}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
'@vue/language-core@3.3.11':
resolution: {integrity: sha512-QJmpliwAVpC/OxubIByPAhNzsQPRc8/gxlN2qnVzVfIMjMDz/9RnXRFoetjz5yEgXVXyp4LqhXq3V53PjmNzFw==}
@@ -590,17 +722,68 @@ packages:
'@vueuse/core@10.11.1':
resolution: {integrity: sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==}
+ '@vueuse/core@13.9.0':
+ resolution: {integrity: sha512-ts3regBQyURfCE2BcytLqzm8+MmLlo5Ln/KLoxDVcsZ2gzIwVNnQpQOL/UKV8alUqjSZOlpFZcRNsLRqj+OzyA==}
+ peerDependencies:
+ vue: ^3.5.0
+
+ '@vueuse/core@14.4.0':
+ resolution: {integrity: sha512-X4WHz1HlCzCBoYXesUkifzzWBAcZgXG8Fi5iNPQg/epdzOB3gu8Fawj3hvuwYR1nGcXGnvxwYYcUC/71++svtQ==}
+ peerDependencies:
+ vue: ^3.5.0
+
'@vueuse/metadata@10.11.1':
resolution: {integrity: sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==}
+ '@vueuse/metadata@13.9.0':
+ resolution: {integrity: sha512-1AFRvuiGphfF7yWixZa0KwjYH8ulyjDCC0aFgrGRz8+P4kvDFSdXLVfTk5xAN9wEuD1J6z4/myMoYbnHoX07zg==}
+
+ '@vueuse/metadata@14.4.0':
+ resolution: {integrity: sha512-swx/255R6JyHZFJhx845iz5CRWDZdCfvkZOpACWc5+c5WHcG24mv8gUT1WIdFQaHt6dq79rvILd9QnCWiyVm9g==}
+
'@vueuse/shared@10.11.1':
resolution: {integrity: sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==}
+ '@vueuse/shared@13.9.0':
+ resolution: {integrity: sha512-e89uuTLMh0U5cZ9iDpEI2senqPGfbPRTHM/0AaQkcxnpqjkZqDYP8rpfm7edOz8s+pOCOROEy1PIveSW8+fL5g==}
+ peerDependencies:
+ vue: ^3.5.0
+
+ '@vueuse/shared@14.4.0':
+ resolution: {integrity: sha512-JRgY90Sz8DDtPMsaDflvPMp9xYk69JZAmbuDvAquUVXKr2gEjqtzGNTTthLfckH0BzBqvnu31gb4a8TGLRe79g==}
+ peerDependencies:
+ vue: ^3.5.0
+
acorn@8.18.0:
resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==}
engines: {node: '>=0.4.0'}
hasBin: true
+ ajv-draft-04@1.0.0:
+ resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==}
+ peerDependencies:
+ ajv: ^8.5.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+
+ ajv-formats@3.0.1:
+ resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==}
+ peerDependencies:
+ ajv: ^8.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+
+ ajv@8.18.0:
+ resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==}
+
+ ajv@8.20.0:
+ resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==}
+
+ alien-signals@0.4.14:
+ resolution: {integrity: sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==}
+
alien-signals@3.2.1:
resolution: {integrity: sha512-I8FjmltrfnDFoZedi5CG8DghVYNhzb/Ijluz7tCSJH0xpd0484Kowhbb1XDYOxfJpU1p5wnM2X54dA+IfGyD1g==}
@@ -612,6 +795,13 @@ packages:
resolution: {integrity: sha512-BJ8/l4R5LRE7hW9WdSuGYrLSHi2ynxeFpDFbH0K/CgNeY/tyhk+vO6TYxXC5r5CpUhNVX310xzPsN/H9lCdfOA==}
engines: {node: '>=14'}
+ argparse@1.0.10:
+ resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
+
+ aria-hidden@1.2.6:
+ resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==}
+ engines: {node: '>=10'}
+
ast-kit@2.2.0:
resolution: {integrity: sha512-m1Q/RaVOnTp9JxPX+F+Zn7IcLYMzM8kZofDImfsKZd8MbR+ikdOzTeztStWqfrqIxZnYWryyI9ePm3NGjnZgGw==}
engines: {node: '>=20.19.0'}
@@ -620,8 +810,12 @@ packages:
resolution: {integrity: sha512-IJdzo2vLiElBxKzwS36VsCue/62d6IdWjnPB2v3nuPKeWGynp6FF/CYoLa5i/3jXH/z97ZDdsXz6abpgM6w07A==}
engines: {node: '>=20.19.0'}
- async-validator@4.2.5:
- resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
+ balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ balanced-match@4.0.4:
+ resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==}
+ engines: {node: 18 || 20 || >=22}
baseline-browser-mapping@2.11.24:
resolution: {integrity: sha512-hYrgxie335U08WqICoGqKRzV1HFXv6zdxwJE4ekCb80CM9a0SVVsN4QPwT67RraRo+9h8IATk6uxHJw7QSkdOg==}
@@ -634,6 +828,13 @@ packages:
birpc@4.2.0:
resolution: {integrity: sha512-KxgKcZPfrtzJDDALHPguGpGJUrzdgpymyiQQgzFjWreHMOpWrnFNVREr5J48x2DBh8ZVioscrV1SBkDipGiX+Q==}
+ brace-expansion@2.1.7:
+ resolution: {integrity: sha512-uZbew1NqdmPDTMJ8ah1y+b+9QEJrfkXFk3RcTQw3X0jW/xRUvFKsg1CfQdSYGdTbXZWExtU3J3ccxtnfw1Fi0g==}
+
+ brace-expansion@5.0.12:
+ resolution: {integrity: sha512-YovQ3rzhaLMIrDjNDMkNS01tea93qhEhG5xy8f6+R0l+dw3Ki+5sCoIoI942iuLZTHWogWktgwVDhU09iNEimQ==}
+ engines: {node: 20 || >=22}
+
browserslist@4.28.8:
resolution: {integrity: sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
@@ -650,6 +851,16 @@ packages:
resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==}
engines: {node: '>= 20.19.0'}
+ class-variance-authority@0.7.1:
+ resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==}
+
+ clsx@2.1.1:
+ resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
+ engines: {node: '>=6'}
+
+ compare-versions@6.1.1:
+ resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==}
+
confbox@0.1.8:
resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
@@ -663,12 +874,6 @@ packages:
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
engines: {node: '>= 8'}
- css-render@0.15.14:
- resolution: {integrity: sha512-9nF4PdUle+5ta4W5SyZdLCCmFd37uVimSjg1evcTqKJCyvCEEj12WKzOSBNak6r4im4J4iYXKH1OWpUV5LBYFg==}
-
- csstype@3.0.11:
- resolution: {integrity: sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==}
-
csstype@3.2.3:
resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
@@ -710,13 +915,8 @@ packages:
resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==}
engines: {node: '>=12'}
- date-fns-tz@3.2.0:
- resolution: {integrity: sha512-sg8HqoTEulcbbbVXeg84u5UnlsQa8GS5QXMqjjYIhS4abEVVKIUwe0/l/UhrZdKaL/W5eWZNlbTeEIiOXTcsBQ==}
- peerDependencies:
- date-fns: ^3.0.0 || ^4.0.0
-
- date-fns@4.4.0:
- resolution: {integrity: sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==}
+ de-indent@1.0.2:
+ resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
debug@4.4.3:
resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
@@ -739,10 +939,17 @@ packages:
resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
engines: {node: '>=12'}
+ defu@6.1.7:
+ resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==}
+
detect-libc@2.1.2:
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
engines: {node: '>=8'}
+ diff@8.0.4:
+ resolution: {integrity: sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==}
+ engines: {node: '>=0.3.1'}
+
electron-to-chromium@1.5.430:
resolution: {integrity: sha512-e1QEj72Y4zd8RlNZVmoTg+iCOSVwpk05IOiiQwdrkwCSVlZfPthevErhE+nckGd2YbsXfp1SkisznhGVIXP2NQ==}
@@ -757,6 +964,10 @@ packages:
error-stack-parser-es@1.0.5:
resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==}
+ es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+
escalade@3.2.0:
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
engines: {node: '>=6'}
@@ -764,12 +975,15 @@ packages:
estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
- evtd@0.2.4:
- resolution: {integrity: sha512-qaeGN5bx63s/AXgQo8gj6fBkxge+OoLddLniox5qtLAEY5HSnuSlISXVPxnSae1dWblvTh4/HoMIB+mbMsvZzw==}
-
exsolve@1.1.1:
resolution: {integrity: sha512-9U/jZUgjnSGyntRr6y5Muu1MJcwFl6kPu7k8qLF0IMNfLqvw0NZ4nnVDq0RVoZ0RvCyumib4Ez3KYrVfilrw+g==}
+ fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+ fast-uri@3.1.8:
+ resolution: {integrity: sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg==}
+
fdir@6.5.0:
resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
engines: {node: '>=12.0.0'}
@@ -779,11 +993,18 @@ packages:
picomatch:
optional: true
+ fs-extra@11.3.6:
+ resolution: {integrity: sha512-w8ZNZr2mKIc7qeNaQ9AVPT1+iFaI+Avd4xudVOvdDJ8VytREi1Ft5Ih7hd9jjehod8vAM5GMsfQ/TpPf4EyoEA==}
+ engines: {node: '>=14.14'}
+
fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
+ function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+
gensync@1.0.0-beta.2:
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
engines: {node: '>=6.9.0'}
@@ -791,13 +1012,29 @@ packages:
graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
- highlight.js@11.12.0:
- resolution: {integrity: sha512-nbfWpyRMcMrPMmDwJB+dhX/eiaPKtc2RB+0QZskqJ3WjRA/FDS0e9hZrx8EC/lbEv8gXy98FcDbNa/dspAaJMg==}
- engines: {node: '>=12.0.0'}
+ has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+
+ hasown@2.0.4:
+ resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==}
+ engines: {node: '>= 0.4'}
+
+ he@1.2.0:
+ resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
+ hasBin: true
hookable@5.5.3:
resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
+ import-lazy@4.0.0:
+ resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==}
+ engines: {node: '>=8'}
+
+ is-core-module@2.17.0:
+ resolution: {integrity: sha512-J/vG0zBCbIKOQFfufSwyXdMrsohyJIUNkrnmo6WZGzoM7tr/lsbfW5b2BvisL6zsyMzK9UxV9L6c7AoFbyXHOA==}
+ engines: {node: '>= 0.4'}
+
is-docker@3.0.0:
resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -827,6 +1064,9 @@ packages:
resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==}
hasBin: true
+ jju@1.4.0:
+ resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==}
+
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
@@ -839,11 +1079,17 @@ packages:
resolution: {integrity: sha512-2/8adwnK1/+Fdjyts4r6wSpfANWw8zdNhU9U/Llk59c6O+DjSisPWPykwoL8gZmocP9Dy64S7oie2g+Mia123A==}
engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0}
+ json-schema-traverse@1.0.0:
+ resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
+
json5@2.2.3:
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
engines: {node: '>=6'}
hasBin: true
+ jsonfile@6.2.1:
+ resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==}
+
kolorist@1.8.0:
resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
@@ -999,12 +1245,6 @@ packages:
resolution: {integrity: sha512-++gUqRDEvcnN6Zhqrr+y/CkVEHhlrR96vZn3nZZPYzMcBUyBtTKzB9NadClFIsIVSsu+3i9tfk/erqy9kAmt7Q==}
engines: {node: '>=14'}
- lodash-es@4.18.1:
- resolution: {integrity: sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==}
-
- lodash@4.18.1:
- resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==}
-
lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
@@ -1019,6 +1259,14 @@ packages:
resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==}
engines: {node: '>= 0.10.0'}
+ minimatch@10.2.3:
+ resolution: {integrity: sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==}
+ engines: {node: 18 || 20 || >=22}
+
+ minimatch@9.0.9:
+ resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
mlly@1.8.2:
resolution: {integrity: sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==}
@@ -1032,12 +1280,6 @@ packages:
muggle-string@0.4.1:
resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==}
- naive-ui@2.45.3:
- resolution: {integrity: sha512-D83gJ+6zUdkQ5DuUbmlfyaM1t8pV5WMPa6KmL9mByqQuiL12qBdA0n/iEIth4dQw1x/duNGpOS2anpt5FKO1kw==}
- engines: {node: '>=20'}
- peerDependencies:
- vue: ^3.0.0
-
nanoid@3.3.19:
resolution: {integrity: sha512-Y2tUNy4ouw6tq5oDSKeQYGOyhkUBhNOcGV/02KC+6kd9eDGqdZd++mjMiIDilrBYvjEnCYvVtsuHCuP+okSfug==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@@ -1077,6 +1319,9 @@ packages:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
+ path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
pathe@2.0.3:
resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
@@ -1134,6 +1379,20 @@ packages:
resolution: {integrity: sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==}
engines: {node: '>= 20.19.0'}
+ reka-ui@2.10.5:
+ resolution: {integrity: sha512-/8o0y9BThE0hcHKFg+3770tWcJh3qKdOEFxLOPb9HIajXeFoH/J530cZH62jUJunbqwBgpSBL9v7nB8LJ5pDXA==}
+ peerDependencies:
+ vue: '>= 3.4.0'
+
+ require-from-string@2.0.2:
+ resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
+ engines: {node: '>=0.10.0'}
+
+ resolve@1.22.12:
+ resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==}
+ engines: {node: '>= 0.4'}
+ hasBin: true
+
rolldown@1.2.8:
resolution: {integrity: sha512-Z67nTmhZe7anqnM/EjI392w5i/ANUinjip7QYsOyN37oayduxt3ksdX0hf5OOamkAd53BiIHfbfSzfUmzKFQqQ==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1146,13 +1405,15 @@ packages:
scule@1.3.0:
resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==}
- seemly@0.3.10:
- resolution: {integrity: sha512-2+SMxtG1PcsL0uyhkumlOU6Qo9TAQ/WyH7tthnPIOQB05/12jz9naq6GZ6iZ6ApVsO3rr2gsnTf3++OV63kE1Q==}
-
semver@6.3.1:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
+ semver@7.7.4:
+ resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==}
+ engines: {node: '>=10'}
+ hasBin: true
+
shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'}
@@ -1173,6 +1434,28 @@ packages:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
+ source-map@0.6.1:
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+ engines: {node: '>=0.10.0'}
+
+ sprintf-js@1.0.3:
+ resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
+
+ string-argv@0.3.2:
+ resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
+ engines: {node: '>=0.6.19'}
+
+ supports-color@8.1.1:
+ resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
+ engines: {node: '>=10'}
+
+ supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
+ tailwind-merge@3.7.0:
+ resolution: {integrity: sha512-XPPUyAc+cvspz3lHTcR/QgPfW2A0lv/xQNIjX3HGhLR+Nq2lHaLq5MtTesHn8GUr3W3DguT2KT5x3NVgRtYwmA==}
+
tailwindcss@4.3.3:
resolution: {integrity: sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ==}
@@ -1188,8 +1471,13 @@ packages:
resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
engines: {node: '>=6'}
- treemate@0.3.11:
- resolution: {integrity: sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg==}
+ tslib@2.8.1:
+ resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
+
+ typescript@5.9.3:
+ resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
typescript@6.0.3:
resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==}
@@ -1202,6 +1490,10 @@ packages:
undici-types@7.18.2:
resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==}
+ universalify@2.0.1:
+ resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
+ engines: {node: '>= 10.0.0'}
+
unplugin-utils@0.3.2:
resolution: {integrity: sha512-xVToRh2CTmLk2HnEG7ac4rl1MJTT3RFkpS8B++/SnB0kXvuaavD+n3m/vrzyWQOdJNSZQACnbz01pnppbwV5BA==}
engines: {node: '>=20.19.0'}
@@ -1245,11 +1537,6 @@ packages:
peerDependencies:
browserslist: '>= 4.21.0'
- vdirs@0.1.8:
- resolution: {integrity: sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw==}
- peerDependencies:
- vue: ^3.0.11
-
vite-dev-rpc@2.0.0:
resolution: {integrity: sha512-yKwbTwdHKSD2k/aGqyWpPHepo45OQc8lH3/6IfT4ZqeKE26ooKvi4WIEKzqWav8v+9Is8u1k8q54hvOmqASazA==}
peerDependencies:
@@ -1260,6 +1547,15 @@ packages:
peerDependencies:
vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 || ^8.0.0
+ vite-plugin-dts@4.5.4:
+ resolution: {integrity: sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==}
+ peerDependencies:
+ typescript: '*'
+ vite: '*'
+ peerDependenciesMeta:
+ vite:
+ optional: true
+
vite-plugin-inspect@11.4.1:
resolution: {integrity: sha512-ShOFe2PURXGvRS5OrgmOLZOCwDTD7dEBVt0tMpFPKb9AsvqXKCRGM8QgKrUbRbJYFXScHvDPpGRd28rYidC0tA==}
engines: {node: '>=14'}
@@ -1325,11 +1621,6 @@ packages:
yaml:
optional: true
- vooks@0.2.12:
- resolution: {integrity: sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==}
- peerDependencies:
- vue: ^3.0.0
-
vscode-uri@3.2.0:
resolution: {integrity: sha512-m2gXo3bn0G1kT9InzMf07fTbqMbGtyckj3bH5ktLO+1Ssv+yiATZ4dhwaQv9UZWxJh6E9IFGnQyjgWVDWVBDrg==}
@@ -1362,6 +1653,20 @@ packages:
vite:
optional: true
+ vue-sonner@2.0.9:
+ resolution: {integrity: sha512-i6BokNlNDL93fpzNxN/LZSn6D6MzlO+i3qXt6iVZne3x1k7R46d5HlFB4P8tYydhgqOrRbIZEsnRd3kG7qGXyw==}
+ peerDependencies:
+ '@nuxt/kit': ^4.0.3
+ '@nuxt/schema': ^4.0.3
+ nuxt: ^4.0.3
+ peerDependenciesMeta:
+ '@nuxt/kit':
+ optional: true
+ '@nuxt/schema':
+ optional: true
+ nuxt:
+ optional: true
+
vue-tsc@3.3.11:
resolution: {integrity: sha512-gOb0B9rtU2+f1dszwPqSH5kAieIF9ReeLhD3kSRNHv5WZZUQz/JdVXW0RTdqhNTMlQkqKzrTTviqKr/4FYZraQ==}
hasBin: true
@@ -1376,11 +1681,6 @@ packages:
typescript:
optional: true
- vueuc@0.4.66:
- resolution: {integrity: sha512-hHrZl+0AsrUvqYPBXSXQ2QaSrO3razjeUseLAhJWlOS/Hdfw/Y2MU05fOTP1qn1A3121gMxsHLaEz2V6CkWdTg==}
- peerDependencies:
- vue: ^3.0.11
-
webpack-virtual-modules@0.6.2:
resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==}
@@ -1411,20 +1711,20 @@ snapshots:
'@babel/compat-data@7.29.7': {}
- '@babel/core@7.29.7':
+ '@babel/core@7.29.7(supports-color@8.1.1)':
dependencies:
'@babel/code-frame': 7.29.7
'@babel/generator': 7.29.8
'@babel/helper-compilation-targets': 7.29.7
- '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)
'@babel/helpers': 7.29.7
'@babel/parser': 7.29.8
'@babel/template': 7.29.7
- '@babel/traverse': 7.29.8
+ '@babel/traverse': 7.29.8(supports-color@8.1.1)
'@babel/types': 7.29.8
'@jridgewell/remapping': 2.3.5
convert-source-map: 2.0.0
- debug: 4.4.3
+ debug: 4.4.3(supports-color@8.1.1)
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
@@ -1451,41 +1751,41 @@ snapshots:
lru-cache: 5.1.1
semver: 6.3.1
- '@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7)':
+ '@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)':
dependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@8.1.1)
'@babel/helper-annotate-as-pure': 7.29.7
- '@babel/helper-member-expression-to-functions': 7.29.7
+ '@babel/helper-member-expression-to-functions': 7.29.7(supports-color@8.1.1)
'@babel/helper-optimise-call-expression': 7.29.7
- '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7)
- '@babel/helper-skip-transparent-expression-wrappers': 7.29.7
- '@babel/traverse': 7.29.8
+ '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@8.1.1)
+ '@babel/traverse': 7.29.8(supports-color@8.1.1)
semver: 6.3.1
transitivePeerDependencies:
- supports-color
'@babel/helper-globals@7.29.7': {}
- '@babel/helper-member-expression-to-functions@7.29.7':
+ '@babel/helper-member-expression-to-functions@7.29.7(supports-color@8.1.1)':
dependencies:
- '@babel/traverse': 7.29.8
+ '@babel/traverse': 7.29.8(supports-color@8.1.1)
'@babel/types': 7.29.8
transitivePeerDependencies:
- supports-color
- '@babel/helper-module-imports@7.29.7':
+ '@babel/helper-module-imports@7.29.7(supports-color@8.1.1)':
dependencies:
- '@babel/traverse': 7.29.8
+ '@babel/traverse': 7.29.8(supports-color@8.1.1)
'@babel/types': 7.29.8
transitivePeerDependencies:
- supports-color
- '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)':
+ '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-module-imports': 7.29.7
+ '@babel/core': 7.29.7(supports-color@8.1.1)
+ '@babel/helper-module-imports': 7.29.7(supports-color@8.1.1)
'@babel/helper-validator-identifier': 7.29.7
- '@babel/traverse': 7.29.8
+ '@babel/traverse': 7.29.8(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
@@ -1495,18 +1795,18 @@ snapshots:
'@babel/helper-plugin-utils@7.29.7': {}
- '@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7)':
+ '@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-member-expression-to-functions': 7.29.7
+ '@babel/core': 7.29.7(supports-color@8.1.1)
+ '@babel/helper-member-expression-to-functions': 7.29.7(supports-color@8.1.1)
'@babel/helper-optimise-call-expression': 7.29.7
- '@babel/traverse': 7.29.8
+ '@babel/traverse': 7.29.8(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
- '@babel/helper-skip-transparent-expression-wrappers@7.29.7':
+ '@babel/helper-skip-transparent-expression-wrappers@7.29.7(supports-color@8.1.1)':
dependencies:
- '@babel/traverse': 7.29.8
+ '@babel/traverse': 7.29.8(supports-color@8.1.1)
'@babel/types': 7.29.8
transitivePeerDependencies:
- supports-color
@@ -1526,48 +1826,48 @@ snapshots:
dependencies:
'@babel/types': 7.29.8
- '@babel/plugin-proposal-decorators@7.29.7(@babel/core@7.29.7)':
+ '@babel/plugin-proposal-decorators@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7)
+ '@babel/core': 7.29.7(supports-color@8.1.1)
+ '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)
'@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-syntax-decorators': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-syntax-decorators': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))
transitivePeerDependencies:
- supports-color
- '@babel/plugin-syntax-decorators@7.29.7(@babel/core@7.29.7)':
+ '@babel/plugin-syntax-decorators@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))':
dependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@8.1.1)
'@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-syntax-import-attributes@7.29.7(@babel/core@7.29.7)':
+ '@babel/plugin-syntax-import-attributes@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))':
dependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@8.1.1)
'@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.29.7)':
+ '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.29.7(supports-color@8.1.1))':
dependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@8.1.1)
'@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7)':
+ '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))':
dependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@8.1.1)
'@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7)':
+ '@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))':
dependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@8.1.1)
'@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7)':
+ '@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)':
dependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@8.1.1)
'@babel/helper-annotate-as-pure': 7.29.7
- '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)
'@babel/helper-plugin-utils': 7.29.7
- '@babel/helper-skip-transparent-expression-wrappers': 7.29.7
- '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@8.1.1)
+ '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))
transitivePeerDependencies:
- supports-color
@@ -1577,7 +1877,7 @@ snapshots:
'@babel/parser': 7.29.8
'@babel/types': 7.29.8
- '@babel/traverse@7.29.8':
+ '@babel/traverse@7.29.8(supports-color@8.1.1)':
dependencies:
'@babel/code-frame': 7.29.7
'@babel/generator': 7.29.8
@@ -1585,7 +1885,7 @@ snapshots:
'@babel/parser': 7.29.8
'@babel/template': 7.29.7
'@babel/types': 7.29.8
- debug: 4.4.3
+ debug: 4.4.3(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
@@ -1594,15 +1894,33 @@ snapshots:
'@babel/helper-string-parser': 7.29.7
'@babel/helper-validator-identifier': 7.29.7
- '@css-render/plugin-bem@0.15.14(css-render@0.15.14)':
+ '@floating-ui/core@1.8.0':
dependencies:
- css-render: 0.15.14
+ '@floating-ui/utils': 0.2.12
- '@css-render/vue3-ssr@0.15.14(vue@3.5.42(typescript@6.0.3))':
+ '@floating-ui/dom@1.8.0':
dependencies:
- vue: 3.5.42(typescript@6.0.3)
+ '@floating-ui/core': 1.8.0
+ '@floating-ui/utils': 0.2.12
- '@emotion/hash@0.8.0': {}
+ '@floating-ui/utils@0.2.12': {}
+
+ '@floating-ui/vue@1.1.11(vue@3.5.42(typescript@6.0.3))':
+ dependencies:
+ '@floating-ui/dom': 1.8.0
+ '@floating-ui/utils': 0.2.12
+ vue-demi: 0.14.10(vue@3.5.42(typescript@6.0.3))
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+
+ '@internationalized/date@3.12.4':
+ dependencies:
+ '@swc/helpers': 0.5.23
+
+ '@internationalized/number@3.6.8':
+ dependencies:
+ '@swc/helpers': 0.5.23
'@jridgewell/gen-mapping@0.3.13':
dependencies:
@@ -1623,12 +1941,45 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.6.0
- '@juggle/resize-observer@3.4.0': {}
-
'@lucide/vue@1.46.0(vue@3.5.42(typescript@6.0.3))':
dependencies:
vue: 3.5.42(typescript@6.0.3)
+ '@microsoft/api-extractor-model@7.33.13(@types/node@24.13.5)':
+ dependencies:
+ '@microsoft/tsdoc': 0.17.0
+ '@microsoft/tsdoc-config': 0.18.2
+ '@rushstack/node-core-library': 5.24.2(@types/node@24.13.5)
+ transitivePeerDependencies:
+ - '@types/node'
+
+ '@microsoft/api-extractor@7.59.2(@types/node@24.13.5)':
+ dependencies:
+ '@microsoft/api-extractor-model': 7.33.13(@types/node@24.13.5)
+ '@microsoft/tsdoc': 0.17.0
+ '@microsoft/tsdoc-config': 0.18.2
+ '@rushstack/node-core-library': 5.24.2(@types/node@24.13.5)
+ '@rushstack/rig-package': 0.7.3
+ '@rushstack/terminal': 0.24.5(@types/node@24.13.5)
+ '@rushstack/ts-command-line': 5.3.15(@types/node@24.13.5)
+ diff: 8.0.4
+ minimatch: 10.2.3
+ resolve: 1.22.12
+ semver: 7.7.4
+ source-map: 0.6.1
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - '@types/node'
+
+ '@microsoft/tsdoc-config@0.18.2':
+ dependencies:
+ '@microsoft/tsdoc': 0.17.0
+ ajv: 8.18.0
+ jju: 1.4.0
+ resolve: 1.22.12
+
+ '@microsoft/tsdoc@0.17.0': {}
+
'@oxc-project/types@0.149.0': {}
'@polka/url@1.0.0-next.29': {}
@@ -1680,6 +2031,55 @@ snapshots:
'@rolldown/pluginutils@1.0.1': {}
+ '@rollup/pluginutils@5.4.0':
+ dependencies:
+ '@types/estree': 1.0.9
+ estree-walker: 2.0.2
+ picomatch: 4.0.7
+
+ '@rushstack/node-core-library@5.24.2(@types/node@24.13.5)':
+ dependencies:
+ ajv: 8.20.0
+ ajv-draft-04: 1.0.0(ajv@8.20.0)
+ ajv-formats: 3.0.1(ajv@8.20.0)
+ fs-extra: 11.3.6
+ import-lazy: 4.0.0
+ jju: 1.4.0
+ resolve: 1.22.12
+ semver: 7.7.4
+ optionalDependencies:
+ '@types/node': 24.13.5
+
+ '@rushstack/problem-matcher@0.2.1(@types/node@24.13.5)':
+ optionalDependencies:
+ '@types/node': 24.13.5
+
+ '@rushstack/rig-package@0.7.3':
+ dependencies:
+ jju: 1.4.0
+ resolve: 1.22.12
+
+ '@rushstack/terminal@0.24.5(@types/node@24.13.5)':
+ dependencies:
+ '@rushstack/node-core-library': 5.24.2(@types/node@24.13.5)
+ '@rushstack/problem-matcher': 0.2.1(@types/node@24.13.5)
+ supports-color: 8.1.1
+ optionalDependencies:
+ '@types/node': 24.13.5
+
+ '@rushstack/ts-command-line@5.3.15(@types/node@24.13.5)':
+ dependencies:
+ '@rushstack/terminal': 0.24.5(@types/node@24.13.5)
+ '@types/argparse': 1.0.38
+ argparse: 1.0.10
+ string-argv: 0.3.2
+ transitivePeerDependencies:
+ - '@types/node'
+
+ '@swc/helpers@0.5.23':
+ dependencies:
+ tslib: 2.8.1
+
'@tailwindcss/node@4.3.3':
dependencies:
'@jridgewell/remapping': 2.3.5
@@ -1748,13 +2148,18 @@ snapshots:
tailwindcss: 4.3.3
vite: 8.3.0(@types/node@24.13.5)(jiti@2.7.0)
+ '@tanstack/virtual-core@3.17.11': {}
+
+ '@tanstack/vue-virtual@3.13.39(vue@3.5.42(typescript@6.0.3))':
+ dependencies:
+ '@tanstack/virtual-core': 3.17.11
+ vue: 3.5.42(typescript@6.0.3)
+
'@tsconfig/node24@24.0.5': {}
- '@types/lodash-es@4.17.12':
- dependencies:
- '@types/lodash': 4.17.25
+ '@types/argparse@1.0.38': {}
- '@types/lodash@4.17.25': {}
+ '@types/estree@1.0.9': {}
'@types/node@24.13.5':
dependencies:
@@ -1762,6 +2167,8 @@ snapshots:
'@types/web-bluetooth@0.0.20': {}
+ '@types/web-bluetooth@0.0.21': {}
+
'@vitejs/plugin-vue@6.0.9(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0))(vue@3.5.42(typescript@6.0.3))':
dependencies:
'@rolldown/pluginutils': 1.0.1
@@ -1822,27 +2229,27 @@ snapshots:
'@vue/babel-helper-vue-transform-on@1.5.0': {}
- '@vue/babel-plugin-jsx@1.5.0(@babel/core@7.29.7)':
+ '@vue/babel-plugin-jsx@1.5.0(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)':
dependencies:
- '@babel/helper-module-imports': 7.29.7
+ '@babel/helper-module-imports': 7.29.7(supports-color@8.1.1)
'@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))
'@babel/template': 7.29.7
- '@babel/traverse': 7.29.8
+ '@babel/traverse': 7.29.8(supports-color@8.1.1)
'@babel/types': 7.29.8
'@vue/babel-helper-vue-transform-on': 1.5.0
- '@vue/babel-plugin-resolve-type': 1.5.0(@babel/core@7.29.7)
+ '@vue/babel-plugin-resolve-type': 1.5.0(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)
'@vue/shared': 3.5.42
optionalDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
- '@vue/babel-plugin-resolve-type@1.5.0(@babel/core@7.29.7)':
+ '@vue/babel-plugin-resolve-type@1.5.0(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)':
dependencies:
'@babel/code-frame': 7.29.7
- '@babel/core': 7.29.7
- '@babel/helper-module-imports': 7.29.7
+ '@babel/core': 7.29.7(supports-color@8.1.1)
+ '@babel/helper-module-imports': 7.29.7(supports-color@8.1.1)
'@babel/helper-plugin-utils': 7.29.7
'@babel/parser': 7.29.8
'@vue/compiler-sfc': 3.5.42
@@ -1879,6 +2286,11 @@ snapshots:
'@vue/compiler-dom': 3.5.42
'@vue/shared': 3.5.42
+ '@vue/compiler-vue2@2.7.16':
+ dependencies:
+ de-indent: 1.0.2
+ he: 1.2.0
+
'@vue/devtools-api@8.2.1':
dependencies:
'@vue/devtools-kit': 8.2.1
@@ -1898,6 +2310,19 @@ snapshots:
'@vue/devtools-shared@8.2.1': {}
+ '@vue/language-core@2.2.0(typescript@6.0.3)':
+ dependencies:
+ '@volar/language-core': 2.4.28
+ '@vue/compiler-dom': 3.5.42
+ '@vue/compiler-vue2': 2.7.16
+ '@vue/shared': 3.5.42
+ alien-signals: 0.4.14
+ minimatch: 9.0.9
+ muggle-string: 0.4.1
+ path-browserify: 1.0.1
+ optionalDependencies:
+ typescript: 6.0.3
+
'@vue/language-core@3.3.11':
dependencies:
'@volar/language-core': 2.4.28
@@ -1947,8 +2372,26 @@ snapshots:
- '@vue/composition-api'
- vue
+ '@vueuse/core@13.9.0(vue@3.5.42(typescript@6.0.3))':
+ dependencies:
+ '@types/web-bluetooth': 0.0.21
+ '@vueuse/metadata': 13.9.0
+ '@vueuse/shared': 13.9.0(vue@3.5.42(typescript@6.0.3))
+ vue: 3.5.42(typescript@6.0.3)
+
+ '@vueuse/core@14.4.0(vue@3.5.42(typescript@6.0.3))':
+ dependencies:
+ '@types/web-bluetooth': 0.0.21
+ '@vueuse/metadata': 14.4.0
+ '@vueuse/shared': 14.4.0(vue@3.5.42(typescript@6.0.3))
+ vue: 3.5.42(typescript@6.0.3)
+
'@vueuse/metadata@10.11.1': {}
+ '@vueuse/metadata@13.9.0': {}
+
+ '@vueuse/metadata@14.4.0': {}
+
'@vueuse/shared@10.11.1(vue@3.5.42(typescript@6.0.3))':
dependencies:
vue-demi: 0.14.10(vue@3.5.42(typescript@6.0.3))
@@ -1956,14 +2399,54 @@ snapshots:
- '@vue/composition-api'
- vue
+ '@vueuse/shared@13.9.0(vue@3.5.42(typescript@6.0.3))':
+ dependencies:
+ vue: 3.5.42(typescript@6.0.3)
+
+ '@vueuse/shared@14.4.0(vue@3.5.42(typescript@6.0.3))':
+ dependencies:
+ vue: 3.5.42(typescript@6.0.3)
+
acorn@8.18.0: {}
+ ajv-draft-04@1.0.0(ajv@8.20.0):
+ optionalDependencies:
+ ajv: 8.20.0
+
+ ajv-formats@3.0.1(ajv@8.20.0):
+ optionalDependencies:
+ ajv: 8.20.0
+
+ ajv@8.18.0:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-uri: 3.1.8
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+
+ ajv@8.20.0:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-uri: 3.1.8
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+
+ alien-signals@0.4.14: {}
+
alien-signals@3.2.1: {}
ansi-styles@7.0.0: {}
ansis@4.3.1: {}
+ argparse@1.0.10:
+ dependencies:
+ sprintf-js: 1.0.3
+
+ aria-hidden@1.2.6:
+ dependencies:
+ tslib: 2.8.1
+
ast-kit@2.2.0:
dependencies:
'@babel/parser': 7.29.8
@@ -1975,7 +2458,9 @@ snapshots:
'@babel/types': 7.29.8
ast-kit: 2.2.0
- async-validator@4.2.5: {}
+ balanced-match@1.0.2: {}
+
+ balanced-match@4.0.4: {}
baseline-browser-mapping@2.11.24: {}
@@ -1983,6 +2468,14 @@ snapshots:
birpc@4.2.0: {}
+ brace-expansion@2.1.7:
+ dependencies:
+ balanced-match: 1.0.2
+
+ brace-expansion@5.0.12:
+ dependencies:
+ balanced-match: 4.0.4
+
browserslist@4.28.8:
dependencies:
baseline-browser-mapping: 2.11.24
@@ -2001,6 +2494,14 @@ snapshots:
dependencies:
readdirp: 5.1.1
+ class-variance-authority@0.7.1:
+ dependencies:
+ clsx: 2.1.1
+
+ clsx@2.1.1: {}
+
+ compare-versions@6.1.1: {}
+
confbox@0.1.8: {}
confbox@0.2.4: {}
@@ -2013,13 +2514,6 @@ snapshots:
shebang-command: 2.0.0
which: 2.0.2
- css-render@0.15.14:
- dependencies:
- '@emotion/hash': 0.8.0
- csstype: 3.0.11
-
- csstype@3.0.11: {}
-
csstype@3.2.3: {}
d3-color@3.1.0: {}
@@ -2058,15 +2552,13 @@ snapshots:
d3-selection: 3.0.0
d3-transition: 3.0.1(d3-selection@3.0.0)
- date-fns-tz@3.2.0(date-fns@4.4.0):
- dependencies:
- date-fns: 4.4.0
+ de-indent@1.0.2: {}
- date-fns@4.4.0: {}
-
- debug@4.4.3:
+ debug@4.4.3(supports-color@8.1.1):
dependencies:
ms: 2.1.3
+ optionalDependencies:
+ supports-color: 8.1.1
default-browser-id@5.0.1: {}
@@ -2077,8 +2569,12 @@ snapshots:
define-lazy-prop@3.0.0: {}
+ defu@6.1.7: {}
+
detect-libc@2.1.2: {}
+ diff@8.0.4: {}
+
electron-to-chromium@1.5.430: {}
enhanced-resolve@5.25.1:
@@ -2090,29 +2586,53 @@ snapshots:
error-stack-parser-es@1.0.5: {}
+ es-errors@1.3.0: {}
+
escalade@3.2.0: {}
estree-walker@2.0.2: {}
- evtd@0.2.4: {}
-
exsolve@1.1.1: {}
+ fast-deep-equal@3.1.3: {}
+
+ fast-uri@3.1.8: {}
+
fdir@6.5.0(picomatch@4.0.7):
optionalDependencies:
picomatch: 4.0.7
+ fs-extra@11.3.6:
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.2.1
+ universalify: 2.0.1
+
fsevents@2.3.3:
optional: true
+ function-bind@1.1.2: {}
+
gensync@1.0.0-beta.2: {}
graceful-fs@4.2.11: {}
- highlight.js@11.12.0: {}
+ has-flag@4.0.0: {}
+
+ hasown@2.0.4:
+ dependencies:
+ function-bind: 1.1.2
+
+ he@1.2.0: {}
hookable@5.5.3: {}
+ import-lazy@4.0.0: {}
+
+ is-core-module@2.17.0:
+ dependencies:
+ hasown: 2.0.4
+
is-docker@3.0.0: {}
is-in-ssh@1.0.0: {}
@@ -2131,14 +2651,24 @@ snapshots:
jiti@2.7.0: {}
+ jju@1.4.0: {}
+
js-tokens@4.0.0: {}
jsesc@3.1.0: {}
json-parse-even-better-errors@6.0.0: {}
+ json-schema-traverse@1.0.0: {}
+
json5@2.2.3: {}
+ jsonfile@6.2.1:
+ dependencies:
+ universalify: 2.0.1
+ optionalDependencies:
+ graceful-fs: 4.2.11
+
kolorist@1.8.0: {}
lightningcss-android-arm64@1.32.0:
@@ -2245,10 +2775,6 @@ snapshots:
pkg-types: 2.3.1
quansync: 0.2.11
- lodash-es@4.18.1: {}
-
- lodash@4.18.1: {}
-
lru-cache@5.1.1:
dependencies:
yallist: 3.1.1
@@ -2263,6 +2789,14 @@ snapshots:
memorystream@0.3.1: {}
+ minimatch@10.2.3:
+ dependencies:
+ brace-expansion: 5.0.12
+
+ minimatch@9.0.9:
+ dependencies:
+ brace-expansion: 2.1.7
+
mlly@1.8.2:
dependencies:
acorn: 8.18.0
@@ -2276,28 +2810,6 @@ snapshots:
muggle-string@0.4.1: {}
- naive-ui@2.45.3(vue@3.5.42(typescript@6.0.3)):
- dependencies:
- '@css-render/plugin-bem': 0.15.14(css-render@0.15.14)
- '@css-render/vue3-ssr': 0.15.14(vue@3.5.42(typescript@6.0.3))
- '@types/lodash': 4.17.25
- '@types/lodash-es': 4.17.12
- async-validator: 4.2.5
- css-render: 0.15.14
- csstype: 3.2.3
- date-fns: 4.4.0
- date-fns-tz: 3.2.0(date-fns@4.4.0)
- evtd: 0.2.4
- highlight.js: 11.12.0
- lodash: 4.18.1
- lodash-es: 4.18.1
- seemly: 0.3.10
- treemate: 0.3.11
- vdirs: 0.1.8(vue@3.5.42(typescript@6.0.3))
- vooks: 0.2.12(vue@3.5.42(typescript@6.0.3))
- vue: 3.5.42(typescript@6.0.3)
- vueuc: 0.4.66(vue@3.5.42(typescript@6.0.3))
-
nanoid@3.3.19: {}
node-releases@2.0.55: {}
@@ -2334,6 +2846,8 @@ snapshots:
path-key@3.1.1: {}
+ path-parse@1.0.7: {}
+
pathe@2.0.3: {}
perfect-debounce@2.1.0: {}
@@ -2351,6 +2865,7 @@ snapshots:
vue: 3.5.42(typescript@6.0.3)
optionalDependencies:
typescript: 6.0.3
+ optional: true
pkg-types@1.3.1:
dependencies:
@@ -2383,6 +2898,31 @@ snapshots:
readdirp@5.1.1: {}
+ reka-ui@2.10.5(vue@3.5.42(typescript@6.0.3)):
+ dependencies:
+ '@floating-ui/dom': 1.8.0
+ '@floating-ui/vue': 1.1.11(vue@3.5.42(typescript@6.0.3))
+ '@internationalized/date': 3.12.4
+ '@internationalized/number': 3.6.8
+ '@tanstack/vue-virtual': 3.13.39(vue@3.5.42(typescript@6.0.3))
+ '@vueuse/core': 14.4.0(vue@3.5.42(typescript@6.0.3))
+ '@vueuse/shared': 14.4.0(vue@3.5.42(typescript@6.0.3))
+ aria-hidden: 1.2.6
+ defu: 6.1.7
+ ohash: 2.0.12
+ vue: 3.5.42(typescript@6.0.3)
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+
+ require-from-string@2.0.2: {}
+
+ resolve@1.22.12:
+ dependencies:
+ es-errors: 1.3.0
+ is-core-module: 2.17.0
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
rolldown@1.2.8:
dependencies:
'@oxc-project/types': 0.149.0
@@ -2408,10 +2948,10 @@ snapshots:
scule@1.3.0: {}
- seemly@0.3.10: {}
-
semver@6.3.1: {}
+ semver@7.7.4: {}
+
shebang-command@2.0.0:
dependencies:
shebang-regex: 3.0.0
@@ -2428,6 +2968,20 @@ snapshots:
source-map-js@1.2.1: {}
+ source-map@0.6.1: {}
+
+ sprintf-js@1.0.3: {}
+
+ string-argv@0.3.2: {}
+
+ supports-color@8.1.1:
+ dependencies:
+ has-flag: 4.0.0
+
+ supports-preserve-symlinks-flag@1.0.0: {}
+
+ tailwind-merge@3.7.0: {}
+
tailwindcss@4.3.3: {}
tapable@2.3.3: {}
@@ -2439,7 +2993,9 @@ snapshots:
totalist@3.0.1: {}
- treemate@0.3.11: {}
+ tslib@2.8.1: {}
+
+ typescript@5.9.3: {}
typescript@6.0.3: {}
@@ -2447,6 +3003,8 @@ snapshots:
undici-types@7.18.2: {}
+ universalify@2.0.1: {}
+
unplugin-utils@0.3.2:
dependencies:
pathe: 2.0.3
@@ -2467,11 +3025,6 @@ snapshots:
escalade: 3.2.0
picocolors: 1.1.1
- vdirs@0.1.8(vue@3.5.42(typescript@6.0.3)):
- dependencies:
- evtd: 0.2.4
- vue: 3.5.42(typescript@6.0.3)
-
vite-dev-rpc@2.0.0(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0)):
dependencies:
birpc: 4.2.0
@@ -2482,6 +3035,25 @@ snapshots:
dependencies:
vite: 8.3.0(@types/node@24.13.5)(jiti@2.7.0)
+ vite-plugin-dts@4.5.4(@types/node@24.13.5)(supports-color@8.1.1)(typescript@6.0.3)(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0)):
+ dependencies:
+ '@microsoft/api-extractor': 7.59.2(@types/node@24.13.5)
+ '@rollup/pluginutils': 5.4.0
+ '@volar/typescript': 2.4.28(typescript@6.0.3)
+ '@vue/language-core': 2.2.0(typescript@6.0.3)
+ compare-versions: 6.1.1
+ debug: 4.4.3(supports-color@8.1.1)
+ kolorist: 1.8.0
+ local-pkg: 1.2.1
+ magic-string: 0.30.21
+ typescript: 6.0.3
+ optionalDependencies:
+ vite: 8.3.0(@types/node@24.13.5)(jiti@2.7.0)
+ transitivePeerDependencies:
+ - '@types/node'
+ - rollup
+ - supports-color
+
vite-plugin-inspect@11.4.1(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0)):
dependencies:
ansis: 4.3.1
@@ -2495,7 +3067,7 @@ snapshots:
vite: 8.3.0(@types/node@24.13.5)(jiti@2.7.0)
vite-dev-rpc: 2.0.0(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0))
- vite-plugin-vue-devtools@8.2.1(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0))(vue@3.5.42(typescript@6.0.3)):
+ vite-plugin-vue-devtools@8.2.1(supports-color@8.1.1)(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0))(vue@3.5.42(typescript@6.0.3)):
dependencies:
'@vue/devtools-core': 8.2.1(vue@3.5.42(typescript@6.0.3))
'@vue/devtools-kit': 8.2.1
@@ -2503,20 +3075,20 @@ snapshots:
sirv: 3.0.2
vite: 8.3.0(@types/node@24.13.5)(jiti@2.7.0)
vite-plugin-inspect: 11.4.1(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0))
- vite-plugin-vue-inspector: 6.0.0(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0))
+ vite-plugin-vue-inspector: 6.0.0(supports-color@8.1.1)(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0))
vue: 3.5.42(typescript@6.0.3)
transitivePeerDependencies:
- '@nuxt/kit'
- supports-color
- vite-plugin-vue-inspector@6.0.0(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0)):
+ vite-plugin-vue-inspector@6.0.0(supports-color@8.1.1)(vite@8.3.0(@types/node@24.13.5)(jiti@2.7.0)):
dependencies:
- '@babel/core': 7.29.7
- '@babel/plugin-proposal-decorators': 7.29.7(@babel/core@7.29.7)
- '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.29.7)
- '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.29.7)
- '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7)
- '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.29.7)
+ '@babel/core': 7.29.7(supports-color@8.1.1)
+ '@babel/plugin-proposal-decorators': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)
+ '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.29.7(supports-color@8.1.1))
+ '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)
+ '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)
'@vue/compiler-dom': 3.5.42
kolorist: 1.8.0
magic-string: 0.30.21
@@ -2536,11 +3108,6 @@ snapshots:
fsevents: 2.3.3
jiti: 2.7.0
- vooks@0.2.12(vue@3.5.42(typescript@6.0.3)):
- dependencies:
- evtd: 0.2.4
- vue: 3.5.42(typescript@6.0.3)
-
vscode-uri@3.2.0: {}
vue-demi@0.14.10(vue@3.5.42(typescript@6.0.3)):
@@ -2580,6 +3147,8 @@ snapshots:
- unloader
- webpack
+ vue-sonner@2.0.9: {}
+
vue-tsc@3.3.11(typescript@6.0.3):
dependencies:
'@volar/typescript': 2.4.28(typescript@6.0.3)
@@ -2596,17 +3165,6 @@ snapshots:
optionalDependencies:
typescript: 6.0.3
- vueuc@0.4.66(vue@3.5.42(typescript@6.0.3)):
- dependencies:
- '@css-render/vue3-ssr': 0.15.14(vue@3.5.42(typescript@6.0.3))
- '@juggle/resize-observer': 3.4.0
- css-render: 0.15.14
- evtd: 0.2.4
- seemly: 0.3.10
- vdirs: 0.1.8(vue@3.5.42(typescript@6.0.3))
- vooks: 0.2.12(vue@3.5.42(typescript@6.0.3))
- vue: 3.5.42(typescript@6.0.3)
-
webpack-virtual-modules@0.6.2: {}
which@2.0.2:
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 6923ab1..fe64562 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -1,2 +1,6 @@
+packages:
+ - packages/*
+ - apps/*
+
allowBuilds:
vue-demi: false
diff --git a/src/App.vue b/src/App.vue
deleted file mode 100644
index c4f6e4a..0000000
--- a/src/App.vue
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/api/ordo.ts b/src/api/ordo.ts
deleted file mode 100644
index 1c7c99d..0000000
--- a/src/api/ordo.ts
+++ /dev/null
@@ -1,75 +0,0 @@
-import type { CatalogItem, PageResponse, ProcessDefinitionDocument } from '@/types/definition'
-
-async function request(url: string, init?: RequestInit): Promise {
- const res = await fetch(url, {
- ...init,
- headers: {
- 'Content-Type': 'application/json',
- ...(init?.headers ?? {}),
- },
- })
- if (!res.ok) {
- let message = res.statusText
- try {
- const body = (await res.json()) as { message?: string }
- if (body.message) {
- message = body.message
- }
- } catch {
- /* ignore */
- }
- throw new Error(message)
- }
- if (res.status === 204) {
- return undefined as T
- }
- return (await res.json()) as T
-}
-
-export function parseDefinition(doc: ProcessDefinitionDocument) {
- return request('/ordo/definitions/parse', {
- method: 'POST',
- body: JSON.stringify(doc),
- })
-}
-
-export function publishDefinition(doc: ProcessDefinitionDocument) {
- return request('/ordo/definitions', {
- method: 'POST',
- body: JSON.stringify(doc),
- })
-}
-
-export function listDefinitions(page = 0, size = 50) {
- return request>(
- `/ordo/definitions?page=${page}&size=${size}`,
- )
-}
-
-export function getDefinition(id: string) {
- return request(`/ordo/definitions/${encodeURIComponent(id)}`)
-}
-
-export function listDefinitionVersions(id: string, page = 0, size = 50) {
- return request>(
- `/ordo/definitions/${encodeURIComponent(id)}/versions?page=${page}&size=${size}`,
- )
-}
-
-export function getDefinitionVersion(id: string, version: number) {
- return request(
- `/ordo/definitions/${encodeURIComponent(id)}/versions/${version}`,
- )
-}
-
-export function listConditions() {
- return request('/ordo/catalog/conditions')
-}
-
-export function listActions() {
- return request('/ordo/catalog/actions')
-}
-
-export function listAssignees() {
- return request('/ordo/catalog/assignees')
-}
diff --git a/src/components/designer/ConditionWhenEditor.vue b/src/components/designer/ConditionWhenEditor.vue
deleted file mode 100644
index 2e2ae8d..0000000
--- a/src/components/designer/ConditionWhenEditor.vue
+++ /dev/null
@@ -1,235 +0,0 @@
-
-
-
-
-
- None
- Predicate
- Host
-
-
-
-
- Edit
-
-
-
-
-
-
- Host conditions are resolved by the application. Arguments are passed to the selected ref.
-
-
- Variables come from the process context, dotted paths included.
- AND requires every child, OR any child, NOT inverts. IN is comma-separated.
- A missing variable is false. Conditional edges are matched before the default edge.
-
-
-
-
-
-
-
-
- patchDraftArg(param.name, param.type, v ?? 0)"
- />
- patchDraftArg(param.name, param.type, v)"
- />
- patchDraftArg(param.name, param.type, v)"
- />
-
-
-
(draft = value)" />
-
- Preview: {{ draftPreview }}
- {{ error }}
-
- Cancel
- OK
-
-
-
-
-
diff --git a/src/components/designer/DraftConflictModal.vue b/src/components/designer/DraftConflictModal.vue
deleted file mode 100644
index 46d9372..0000000
--- a/src/components/designer/DraftConflictModal.vue
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
-
- This process has both a local draft and a published version.
-
-
-
Local draft
-
{{ draftText }}
-
-
-
Published
-
{{ publishedText }}
-
-
-
- {{ comparing ? 'Hide diff' : 'Compare' }}
- Open draft
- Discard local & open published
-
-
-
-
diff --git a/src/components/designer/DurationAfter.vue b/src/components/designer/DurationAfter.vue
deleted file mode 100644
index 156f5b3..0000000
--- a/src/components/designer/DurationAfter.vue
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
- emitIso(v ?? 1, parsed.unit)"
- />
- emitIso(parsed.value, v)"
- />
-
-
diff --git a/src/components/designer/GraphErrorList.vue b/src/components/designer/GraphErrorList.vue
deleted file mode 100644
index deb3d1e..0000000
--- a/src/components/designer/GraphErrorList.vue
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
Validation errors {{ designer.graphErrors.length }}
-
-
-
diff --git a/src/components/designer/PredicateBuilder.vue b/src/components/designer/PredicateBuilder.vue
deleted file mode 100644
index d706aaa..0000000
--- a/src/components/designer/PredicateBuilder.vue
+++ /dev/null
@@ -1,175 +0,0 @@
-
-
-
-
-
-
- Group
-
- AND
- OR
-
-
-
- Remove group
-
-
-
-
No conditions yet.
-
replaceChild(index, value)"
- @remove="removeChild(index)"
- />
-
-
-
- Add condition
-
-
- Add group
-
-
-
-
-
-
- NOT
- Remove NOT
-
-
emit('update:node', { not: value })"
- />
-
-
-
- patchLeaf({ variable: v })"
- />
- patchLeaf({ op: v })"
- />
- patchLeaf({ value: v })"
- />
- NOT
- Remove
-
-
diff --git a/src/components/designer/PropertyPanel.vue b/src/components/designer/PropertyPanel.vue
deleted file mode 100644
index cc2d02d..0000000
--- a/src/components/designer/PropertyPanel.vue
+++ /dev/null
@@ -1,388 +0,0 @@
-
-
-
-
-
diff --git a/src/components/designer/nodes/EndNode.vue b/src/components/designer/nodes/EndNode.vue
deleted file mode 100644
index 2072976..0000000
--- a/src/components/designer/nodes/EndNode.vue
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
- {{ data.name }}
-
-
diff --git a/src/main.ts b/src/main.ts
deleted file mode 100644
index a2b16ef..0000000
--- a/src/main.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import { createApp } from 'vue'
-import { createPinia } from 'pinia'
-import naive from 'naive-ui'
-import '@vue-flow/core/dist/style.css'
-import '@vue-flow/core/dist/theme-default.css'
-import '@vue-flow/controls/dist/style.css'
-import '@vue-flow/minimap/dist/style.css'
-import './styles/main.css'
-
-import App from './App.vue'
-import router from './router'
-
-const app = createApp(App)
-
-app.use(createPinia())
-app.use(router)
-app.use(naive)
-
-app.mount('#app')
diff --git a/src/stores/drafts.ts b/src/stores/drafts.ts
deleted file mode 100644
index 01fbd54..0000000
--- a/src/stores/drafts.ts
+++ /dev/null
@@ -1,82 +0,0 @@
-import { defineStore } from 'pinia'
-import { ref } from 'vue'
-import type { ProcessDefinitionDocument } from '@/types/definition'
-import { layoutFromNodes, type DesignerEdge, type DesignerNode } from '@/mapper/graph'
-
-export interface DesignerDraft {
- id: string
- name: string
- startStepId: string
- nodes: DesignerNode[]
- edges: DesignerEdge[]
- layout: Record
- updatedAt: number
-}
-
-const STORAGE_KEY = 'ordo-designer-drafts'
-
-function readAll(): Record {
- try {
- const raw = localStorage.getItem(STORAGE_KEY)
- if (!raw) {
- return {}
- }
- return JSON.parse(raw) as Record
- } catch {
- return {}
- }
-}
-
-function writeAll(drafts: Record) {
- localStorage.setItem(STORAGE_KEY, JSON.stringify(drafts))
-}
-
-export const useDraftsStore = defineStore('drafts', () => {
- const revision = ref(0)
-
- function list(): DesignerDraft[] {
- return Object.values(readAll()).sort((a, b) => b.updatedAt - a.updatedAt)
- }
-
- function get(id: string): DesignerDraft | undefined {
- return readAll()[id]
- }
-
- function save(params: {
- id: string
- name: string
- startStepId: string
- nodes: DesignerNode[]
- edges: DesignerEdge[]
- }) {
- const drafts = readAll()
- drafts[params.id] = {
- id: params.id,
- name: params.name,
- startStepId: params.startStepId,
- nodes: params.nodes,
- edges: params.edges,
- layout: layoutFromNodes(params.nodes),
- updatedAt: Date.now(),
- }
- writeAll(drafts)
- revision.value += 1
- }
-
- function layoutOf(id: string): Record {
- return readAll()[id]?.layout ?? {}
- }
-
- function remove(id: string) {
- const drafts = readAll()
- delete drafts[id]
- writeAll(drafts)
- revision.value += 1
- }
-
- function fromPublished(doc: ProcessDefinitionDocument): DesignerDraft | undefined {
- return get(doc.id)
- }
-
- return { revision, list, get, save, layoutOf, remove, fromPublished }
-})
diff --git a/src/styles/main.css b/src/styles/main.css
deleted file mode 100644
index 9197d45..0000000
--- a/src/styles/main.css
+++ /dev/null
@@ -1,38 +0,0 @@
-@import "tailwindcss";
-
-html,
-body,
-#app {
- height: 100%;
- margin: 0;
-}
-
-.vue-flow {
- background:
- radial-gradient(circle at 1px 1px, #e2e8f0 1px, transparent 0) 0 0 / 20px 20px,
- #f8fafc;
-}
-
-.vue-flow__edge-path {
- fill: none;
-}
-
-.vue-flow__handle {
- transition: transform 0.15s ease;
-}
-
-.vue-flow__handle:hover {
- transform: scale(1.25);
-}
-
-.vue-flow__node-parallel button {
- cursor: pointer;
-}
-
-.vue-flow__edge-labels {
- z-index: 1000;
-}
-
-.pointer-events-all {
- pointer-events: all;
-}
diff --git a/src/views/DefinitionListView.vue b/src/views/DefinitionListView.vue
deleted file mode 100644
index 1f7e123..0000000
--- a/src/views/DefinitionListView.vue
+++ /dev/null
@@ -1,237 +0,0 @@
-
-
-
-
-
-
-
Process definitions
-
- Refresh
- New
-
-
-
{{ error }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tsconfig.app.json b/tsconfig.app.json
deleted file mode 100644
index c0f2d86..0000000
--- a/tsconfig.app.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "extends": "@vue/tsconfig/tsconfig.dom.json",
- "include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
- "exclude": ["src/**/__tests__/*"],
- "compilerOptions": {
- // Extra safety for array and object lookups, but may have false positives.
- "noUncheckedIndexedAccess": true,
-
- // Path mapping for cleaner imports.
- "paths": {
- "@/*": ["./src/*"]
- },
-
- // `vue-tsc --build` produces a .tsbuildinfo file for incremental type-checking.
- // Specified here to keep it out of the root directory.
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo"
- }
-}
diff --git a/tsconfig.json b/tsconfig.json
index 66b5e57..6b2a8eb 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,11 +1,7 @@
{
"files": [],
"references": [
- {
- "path": "./tsconfig.node.json"
- },
- {
- "path": "./tsconfig.app.json"
- }
+ { "path": "./packages/ordo-designer-vue" },
+ { "path": "./apps/playground" }
]
}
diff --git a/tsconfig.node.json b/tsconfig.node.json
deleted file mode 100644
index c9b2bad..0000000
--- a/tsconfig.node.json
+++ /dev/null
@@ -1,27 +0,0 @@
-// TSConfig for modules that run in Node.js environment via either transpilation or type-stripping.
-{
- "extends": "@tsconfig/node24/tsconfig.json",
- "include": [
- "vite.config.*",
- "vitest.config.*",
- "cypress.config.*",
- "playwright.config.*",
- "eslint.config.*"
- ],
- "compilerOptions": {
- // Most tools use transpilation instead of Node.js's native type-stripping.
- // Bundler mode provides a smoother developer experience.
- "module": "preserve",
- "moduleResolution": "bundler",
-
- // Include Node.js types and avoid accidentally including other `@types/*` packages.
- "types": ["node"],
-
- // Disable emitting output during `vue-tsc --build`, which is used for type-checking only.
- "noEmit": true,
-
- // `vue-tsc --build` produces a .tsbuildinfo file for incremental type-checking.
- // Specified here to keep it out of the root directory.
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo"
- }
-}
diff --git a/vite.config.ts b/vite.config.ts
deleted file mode 100644
index ebe5caf..0000000
--- a/vite.config.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import { fileURLToPath, URL } from 'node:url'
-
-import { defineConfig } from 'vite'
-import vue from '@vitejs/plugin-vue'
-import vueDevTools from 'vite-plugin-vue-devtools'
-import tailwindcss from '@tailwindcss/vite'
-
-// https://vite.dev/config/
-export default defineConfig({
- plugins: [
- vue(),
- vueDevTools(),
- tailwindcss(),
- ],
- resolve: {
- alias: {
- '@': fileURLToPath(new URL('./src', import.meta.url)),
- },
- },
- server: {
- proxy: {
- '/ordo': {
- target: 'http://localhost:8080',
- changeOrigin: true,
- },
- },
- },
-})