diff --git a/packages/app/package.json b/packages/app/package.json index c7fe3fe..44a5399 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -18,7 +18,7 @@ "@codemirror/search": "^6.5.6", "@codemirror/state": "^6.4.1", "@codemirror/view": "^6.34.1", - "@codeui/kit": "^0.1.4", + "@codeui/kit": "link:/Users/riccardoperra/WebstormProjects/codeui/packages/kit", "@corvu/resizable": "^0.2.3", "@kobalte/core": "^0.13.7", "@kobalte/utils": "^0.9.1", diff --git a/packages/app/src/components/Editor/Canvas/Canvas.tsx b/packages/app/src/components/Editor/Canvas/Canvas.tsx index 5249005..a890d5a 100644 --- a/packages/app/src/components/Editor/Canvas/Canvas.tsx +++ b/packages/app/src/components/Editor/Canvas/Canvas.tsx @@ -1,5 +1,5 @@ -import {EditorStore} from '#editor-store/editor.store'; -import type {WorkflowStructureJob} from '#editor-store/editor.types'; +import {EditorStore} from '~/store/editor/editor.store'; +import type {WorkflowStructureJob} from '~/store/editor/editor.types'; import type {ElkExtendedEdge, ElkNode} from 'elkjs'; import {createResource, onCleanup, onMount, Suspense, untrack} from 'solid-js'; import {provideState} from 'statebuilder'; @@ -24,8 +24,6 @@ function createNodes(jobs: WorkflowStructureJob[]) { return acc; }, {} as FlowNodeMap); - console.log('my jobs', jobs); - return import('elkjs').then(({default: ELK}) => { const graph: ElkNode = { id: 'root', @@ -119,8 +117,6 @@ function createNodes(jobs: WorkflowStructureJob[]) { return [...acc, ...jobEdge]; }, [] as FlowConnection[]); - console.log(mappedNodes); - return { size: { width: layout.width!, diff --git a/packages/app/src/components/Editor/DiagnosticPanel/DiagnosticPanel.tsx b/packages/app/src/components/Editor/DiagnosticPanel/DiagnosticPanel.tsx index 82504f0..77f2361 100644 --- a/packages/app/src/components/Editor/DiagnosticPanel/DiagnosticPanel.tsx +++ b/packages/app/src/components/Editor/DiagnosticPanel/DiagnosticPanel.tsx @@ -5,7 +5,7 @@ import { panel, } from './DiagnosticPanel.css'; import {provideState} from 'statebuilder'; -import {EditorStore} from '#editor-store/editor.store'; +import {EditorStore} from '~/store/editor/editor.store'; import {For} from 'solid-js'; import {Icon} from '#ui/components/Icon'; import type {Diagnostic} from 'vscode-languageserver-protocol'; diff --git a/packages/app/src/components/Editor/Editor.tsx b/packages/app/src/components/Editor/Editor.tsx index c2c4d95..1633b3c 100644 --- a/packages/app/src/components/Editor/Editor.tsx +++ b/packages/app/src/components/Editor/Editor.tsx @@ -3,12 +3,12 @@ import * as styles from './Editor.css'; import * as fallbackStyles from '~/ui/components/Fallback.css'; import {EditorHeader} from './Header/Header'; import {provideState} from 'statebuilder'; -import {EditorUiStore} from './store/ui.store'; +import {EditorUiStore} from '../../store/editor/ui.store'; import {For, lazy, Match, Show, Suspense, Switch, useContext} from 'solid-js'; import {EditorStatusBar} from './StatusBar/StatusBar'; import Resizable from '@corvu/resizable'; import {EditorResizableHandler} from './Layout/Resizable/Resizable'; -import {EditorStore} from './store/editor.store'; +import {EditorStore} from '../../store/editor/editor.store'; import {PropertiesPanelEditor} from './Properties/PropertiesPanelEditor'; import {JobPanelEditor} from './Jobs/JobPanelEditor/JobPanelEditor'; import {YamlMergeView} from './YamlEditor/MergeView'; @@ -140,7 +140,7 @@ export function Editor(props: EditorProps) { diff --git a/packages/app/src/components/Editor/Flow/FlowContainer.tsx b/packages/app/src/components/Editor/Flow/FlowContainer.tsx index c2f6849..68c7eec 100644 --- a/packages/app/src/components/Editor/Flow/FlowContainer.tsx +++ b/packages/app/src/components/Editor/Flow/FlowContainer.tsx @@ -1,7 +1,7 @@ import * as styles from './FlowContainer.css'; import {onMount, type ParentProps} from 'solid-js'; import {provideState} from 'statebuilder'; -import {CanvasStore} from '../store/canvas.store'; +import {CanvasStore} from '../../../store/editor/canvas.store'; export function FlowContainer( props: ParentProps<{ diff --git a/packages/app/src/components/Editor/Flow/FlowItem.tsx b/packages/app/src/components/Editor/Flow/FlowItem.tsx index da43640..0952cca 100644 --- a/packages/app/src/components/Editor/Flow/FlowItem.tsx +++ b/packages/app/src/components/Editor/Flow/FlowItem.tsx @@ -1,8 +1,8 @@ import * as styles from './FlowItem.css'; import {provideState} from 'statebuilder'; -import {EditorStore} from '../store/editor.store'; +import {EditorStore} from '../../../store/editor/editor.store'; import {Show} from 'solid-js'; -import type {WorkflowStructureJob} from '#editor-store/editor.types'; +import type {WorkflowStructureJob} from '~/store/editor/editor.types'; interface FlowItemProps { job: WorkflowStructureJob; diff --git a/packages/app/src/components/Editor/Flow/engine/Connectors/Connection.tsx b/packages/app/src/components/Editor/Flow/engine/Connectors/Connection.tsx index 5606bd0..59cd25e 100644 --- a/packages/app/src/components/Editor/Flow/engine/Connectors/Connection.tsx +++ b/packages/app/src/components/Editor/Flow/engine/Connectors/Connection.tsx @@ -57,13 +57,13 @@ function ConnectionNode(props: {source: FlowNode; target: FlowNode}) { export function Connection(props: ConnectionProps) { const {nodes, sceneRef} = getNodeContext(); - const sourceNode = () => { - return nodes[props.connection.source.nodeId]; - }; + const sourceNode = createMemo(() => { + return nodes()[props.connection.source.nodeId]; + }); - const targetNode = () => { - return nodes[props.connection.target.nodeId]; - }; + const targetNode = createMemo(() => { + return nodes()[props.connection.target.nodeId]; + }); return ( diff --git a/packages/app/src/components/Editor/Flow/engine/FlowRenderer.tsx b/packages/app/src/components/Editor/Flow/engine/FlowRenderer.tsx index 79c5162..2b69334 100644 --- a/packages/app/src/components/Editor/Flow/engine/FlowRenderer.tsx +++ b/packages/app/src/components/Editor/Flow/engine/FlowRenderer.tsx @@ -13,9 +13,9 @@ export interface FlowRendererProps { } export function FlowRenderer(props: FlowRendererProps) { - const [nodes, setNodes] = createStore({...props.nodes}); + const [nodes, setNodes] = createSignal({...props.nodes}); - const [connections, setConnections] = createStore( + const [connections, setConnections] = createSignal( props.connections, ); diff --git a/packages/app/src/components/Editor/Flow/engine/Scene.tsx b/packages/app/src/components/Editor/Flow/engine/Scene.tsx index 1d39060..ef21d14 100644 --- a/packages/app/src/components/Editor/Flow/engine/Scene.tsx +++ b/packages/app/src/components/Editor/Flow/engine/Scene.tsx @@ -1,19 +1,19 @@ import {Entries} from '@solid-primitives/keyed'; +import {createEffect, For} from 'solid-js'; +import {Connection} from './Connectors/Connection'; import {Node} from './Node'; import {getNodeContext} from './store'; -import {For} from 'solid-js'; -import {Connection} from './Connectors/Connection'; export function FlowScene() { - const {nodes, connections, setSceneRef} = getNodeContext(); + const nodeContext = getNodeContext(); return ( -
- +
+ {(key, value) => } - + {connection => }
diff --git a/packages/app/src/components/Editor/Flow/engine/store.ts b/packages/app/src/components/Editor/Flow/engine/store.ts index 1c5109c..dcecb8d 100644 --- a/packages/app/src/components/Editor/Flow/engine/store.ts +++ b/packages/app/src/components/Editor/Flow/engine/store.ts @@ -15,11 +15,11 @@ export interface RegisterNodeOptions { export interface NodeStoreContextValue { selectedNodeId: Accessor; registerNode: (data: RegisterNodeOptions) => () => void; - nodes: FlowNodeMap; + nodes: Accessor; renderNode: (node: FlowNode) => JSX.Element; sceneRef: Accessor; setSceneRef: Setter; - connections: FlowConnection[]; + connections: Accessor; } export const NodeStoreContext = createContext(); diff --git a/packages/app/src/components/Editor/Header/Header.tsx b/packages/app/src/components/Editor/Header/Header.tsx index 08abe14..e658b1e 100644 --- a/packages/app/src/components/Editor/Header/Header.tsx +++ b/packages/app/src/components/Editor/Header/Header.tsx @@ -1,4 +1,4 @@ -import {EditorStore} from '#editor-store/editor.store'; +import {EditorStore} from '~/store/editor/editor.store'; import {Icon} from '#ui/components/Icon'; import { Button, @@ -13,7 +13,7 @@ import {provideState} from 'statebuilder'; import {UserStore} from '~/store/user.store'; import {createScratchFork, updateScratch} from '../../../lib/scratchApi'; import {EditorContext} from '../editor.context'; -import {EditorUiStore} from '../store/ui.store'; +import {EditorUiStore} from '../../../store/editor/ui.store'; import * as styles from './EditorHeader.css'; export interface EditorHeaderProps { diff --git a/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobForm/JobForm.tsx b/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobForm/JobForm.tsx index 85873b9..b23e5e8 100644 --- a/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobForm/JobForm.tsx +++ b/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobForm/JobForm.tsx @@ -8,7 +8,7 @@ import {JobStepsForm} from '../JobStepsForm/JobStepsForm'; import {formStyles} from '#editor-layout/Panel/Form/Form.css'; import {provideState} from 'statebuilder'; import {PanelEditorStore} from '../panel-editor.store'; -import {EditorStore} from '#editor-store/editor.store'; +import {EditorStore} from '~/store/editor/editor.store'; import {EnvironmentVariablesForm} from '../../../common/EnvironmentVariables/EnvironmentVariablesForm'; export function JobForm() { @@ -90,16 +90,16 @@ export function JobForm() { - + aria-label={'Needs input'} multiple={true} options={needsOptions()} + valueComponentMultiple={options => options().join(', ')} value={job().needs} onChange={options => { editorStore.actions.updateJobNeeds({ jobId: job().$nodeId, - // TODO: Fix select types - needs: options as unknown as string[], + needs: options, }); }} size={'sm'} @@ -108,6 +108,7 @@ export function JobForm() { slotClasses={{ root: formStyles.inlineInputRoot, label: formStyles.inlineInputLabel, + itemValue: formStyles.selectTextValueMultiple, }} /> diff --git a/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobPanelEditor.css.ts b/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobPanelEditor.css.ts index aced500..922a6df 100644 --- a/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobPanelEditor.css.ts +++ b/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobPanelEditor.css.ts @@ -1,4 +1,4 @@ -import {style} from '@vanilla-extract/css'; +import {globalStyle, style} from '@vanilla-extract/css'; import {appTheme} from '#ui/theme.css'; import {themeVars} from '@codeui/kit'; @@ -13,3 +13,13 @@ export const nav = style({ paddingRight: appTheme.spacing['3'], borderBottom: themeVars.separator, }); + +globalStyle(`${nav} > button`, { + flexShrink: 0, +}); + +globalStyle(`${nav} > span`, { + overflow: 'hidden', + textOverflow: 'ellipsis', + whiteSpace: 'nowrap', +}); diff --git a/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobPanelEditor.tsx b/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobPanelEditor.tsx index 89fbb12..41cb079 100644 --- a/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobPanelEditor.tsx +++ b/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobPanelEditor.tsx @@ -7,6 +7,8 @@ import {JobForm} from './JobForm/JobForm'; import {IconButton} from '@codeui/kit'; import {Icon} from '#ui/components/Icon'; import * as styles from './JobPanelEditor.css'; +import {EditorState} from '@codemirror/state'; +import {EditorStore} from '../../../../store/editor/editor.store'; export function JobPanelEditor() { const panelStore = provideState(PanelEditorStore); @@ -14,17 +16,15 @@ export function JobPanelEditor() { return ( <>
- - panelStore.actions.setActiveStepId(null)} - > - - - + panelStore.back()} + > + + {panelStore.headerPanelLabel()}
diff --git a/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobStepsForm/JobStep/JobStepForm.tsx b/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobStepsForm/JobStep/JobStepForm.tsx index 05ddb6e..43d3178 100644 --- a/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobStepsForm/JobStep/JobStepForm.tsx +++ b/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobStepsForm/JobStep/JobStepForm.tsx @@ -8,13 +8,13 @@ import { import * as formStyles from '#editor-layout/Panel/Form/Form.css'; import {PanelHeader} from '#editor-layout/Panel/Form/PanelHeader'; import {provideState} from 'statebuilder'; -import {EditorStore} from '#editor-store/editor.store'; +import {EditorStore} from '~/store/editor/editor.store'; import {PanelContent} from '#editor-layout/Panel/Form/PanelContent'; import {Show} from 'solid-js'; import type { WorkflowStructureJobActionStep, WorkflowStructureJobRunStep, -} from '#editor-store/editor.types'; +} from '~/store/editor/editor.types'; import {PanelEditorStore} from '../../panel-editor.store'; import {PanelDivider} from '#editor-layout/Panel/Form/PanelDivider'; import {EnvironmentVariablesForm} from '../../../../common/EnvironmentVariables/EnvironmentVariablesForm'; diff --git a/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobStepsForm/JobStepsForm.css.ts b/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobStepsForm/JobStepsForm.css.ts index a0be3ac..44bfaf6 100644 --- a/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobStepsForm/JobStepsForm.css.ts +++ b/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobStepsForm/JobStepsForm.css.ts @@ -19,4 +19,17 @@ export const listItem = style({ color: themeVars.accent10, justifyContent: 'space-between', paddingLeft: appTheme.spacing['2'], + background: themeVars.accent4, + borderRadius: '6px', +}); + +export const listItemName = style({ + minWidth: 0, + overflow: 'hidden', + textOverflow: 'ellipsis', + whiteSpace: 'nowrap', +}); + +export const listItemActions = style({ + flexShrink: 0, }); diff --git a/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobStepsForm/JobStepsForm.tsx b/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobStepsForm/JobStepsForm.tsx index ffc2f52..500aeac 100644 --- a/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobStepsForm/JobStepsForm.tsx +++ b/packages/app/src/components/Editor/Jobs/JobPanelEditor/JobStepsForm/JobStepsForm.tsx @@ -1,7 +1,7 @@ -import {container, listItem} from './JobStepsForm.css'; -import {createEffect, createSignal, For} from 'solid-js'; -import {provideState} from 'statebuilder'; -import {PanelEditorStore} from '../panel-editor.store'; +import {PanelHeader} from '#editor-layout/Panel/Form/PanelHeader'; +import {PanelPlusButton} from '#editor-layout/Panel/Form/PanelPlusButton'; +import {EditorStore} from '~/store/editor/editor.store'; +import {Icon} from '#ui/components/Icon'; import { Button, IconButton, @@ -9,10 +9,15 @@ import { PopoverContent, PopoverTrigger, } from '@codeui/kit'; -import {Icon} from '#ui/components/Icon'; -import {EditorStore} from '#editor-store/editor.store'; -import {PanelHeader} from '#editor-layout/Panel/Form/PanelHeader'; -import {PanelPlusButton} from '#editor-layout/Panel/Form/PanelPlusButton'; +import {createSignal, For} from 'solid-js'; +import {provideState} from 'statebuilder'; +import {PanelEditorStore} from '../panel-editor.store'; +import { + container, + listItem, + listItemActions, + listItemName, +} from './JobStepsForm.css'; export function JobStepsForm() { const panelStore = provideState(PanelEditorStore); @@ -41,9 +46,9 @@ export function JobStepsForm() { const [deleting, setDeleting] = createSignal(false); return (
  • - {step.name || step.id} + {step.name || step.id} -
    +
    (() => ({ }); return { + back() { + if (_.get.activeStep) { + _.actions.setActiveStepId(null); + } else { + editorStore.actions.setSelectedJobId(null); + } + }, selectedJob: editorStore.selectedJob, + deselectJob() { + editorStore.actions.setSelectedJobId(null); + }, selectedStep, headerPanelLabel: () => { const selectedJob = editorStore.selectedJob()!; diff --git a/packages/app/src/components/Editor/Layout/Panel/Form/Form.css.ts b/packages/app/src/components/Editor/Layout/Panel/Form/Form.css.ts index 8496a26..2e76e32 100644 --- a/packages/app/src/components/Editor/Layout/Panel/Form/Form.css.ts +++ b/packages/app/src/components/Editor/Layout/Panel/Form/Form.css.ts @@ -32,7 +32,15 @@ export const panelForm = recipe({ }, }); +export const selectTextValueMultiple = style({ + whiteSpace: 'nowrap', + overflow: 'hidden', + textOverflow: 'ellipsis', +}); + export const formStyles = { inlineInputLabel, inlineInputRoot, + + selectTextValueMultiple, }; diff --git a/packages/app/src/components/Editor/Properties/EnvironmentVariablesForm/EnvironmentVariablesForm.tsx b/packages/app/src/components/Editor/Properties/EnvironmentVariablesForm/EnvironmentVariablesForm.tsx index 6331595..bde4357 100644 --- a/packages/app/src/components/Editor/Properties/EnvironmentVariablesForm/EnvironmentVariablesForm.tsx +++ b/packages/app/src/components/Editor/Properties/EnvironmentVariablesForm/EnvironmentVariablesForm.tsx @@ -1,6 +1,6 @@ import {provideState} from 'statebuilder'; -import {EditorStore} from '../../store/editor.store'; -import type {WorkflowStructureEnvItem} from '../../store/editor.types'; +import {EditorStore} from '../../../../store/editor/editor.store'; +import type {WorkflowStructureEnvItem} from '../../../../store/editor/editor.types'; import {EnvironmentVariablesForm} from '../../common/EnvironmentVariables/EnvironmentVariablesForm'; export function PropertiesEnvironmentVariablesForm() { diff --git a/packages/app/src/components/Editor/Properties/JobsListForm/JobsListForm.css.ts b/packages/app/src/components/Editor/Properties/JobsListForm/JobsListForm.css.ts index b202cdc..3b3bdb7 100644 --- a/packages/app/src/components/Editor/Properties/JobsListForm/JobsListForm.css.ts +++ b/packages/app/src/components/Editor/Properties/JobsListForm/JobsListForm.css.ts @@ -16,9 +16,11 @@ export const listItem = style({ height: '36px', width: '100%', border: `1px solid ${themeVars.accent3}`, + background: themeVars.accent4, color: themeVars.accent10, justifyContent: 'space-between', paddingLeft: appTheme.spacing['2'], + borderRadius: '6px', }); export const listItemContent = style({ diff --git a/packages/app/src/components/Editor/Properties/JobsListForm/JobsListForm.tsx b/packages/app/src/components/Editor/Properties/JobsListForm/JobsListForm.tsx index 2e4653f..8c4d7d9 100644 --- a/packages/app/src/components/Editor/Properties/JobsListForm/JobsListForm.tsx +++ b/packages/app/src/components/Editor/Properties/JobsListForm/JobsListForm.tsx @@ -14,7 +14,7 @@ import { PopoverTrigger, } from '@codeui/kit'; import {Icon} from '#ui/components/Icon'; -import {EditorStore} from '#editor-store/editor.store'; +import {EditorStore} from '~/store/editor/editor.store'; import {PanelHeader} from '#editor-layout/Panel/Form/PanelHeader'; import {PanelPlusButton} from '#editor-layout/Panel/Form/PanelPlusButton'; @@ -31,7 +31,7 @@ export function JobsListForm() { { - editorStore.actions.addNewJob(); + editorStore.actions.addNewJob({autoSelect: true}); }} /> )} diff --git a/packages/app/src/components/Editor/Properties/TriggerForm/TriggerForm.tsx b/packages/app/src/components/Editor/Properties/TriggerForm/TriggerForm.tsx index f1488e5..3992a4e 100644 --- a/packages/app/src/components/Editor/Properties/TriggerForm/TriggerForm.tsx +++ b/packages/app/src/components/Editor/Properties/TriggerForm/TriggerForm.tsx @@ -2,13 +2,13 @@ import {PanelHeader} from '#editor-layout/Panel/Form/PanelHeader'; import {createMemo, createSelector, For, Show} from 'solid-js'; import {TriggerItemForm} from './TriggerItemForm'; import {provideState} from 'statebuilder'; -import {EditorStore} from '../../store/editor.store'; +import {EditorStore} from '../../../../store/editor/editor.store'; import { AVAILABLE_WORKFLOW_TRIGGER_TYPES, WorkflowTriggerEvent, WorkflowTypesTriggerEvent, type WorkflowDispatchInput, -} from '../../store/editor.types'; +} from '../../../../store/editor/editor.types'; import {PanelPlusButton} from '#editor-layout/Panel/Form/PanelPlusButton'; import {PanelAccordion} from '#editor-layout/Panel/Form/PanelAccordion/PanelAccordion'; import {PanelContent} from '#editor-layout/Panel/Form/PanelContent'; diff --git a/packages/app/src/components/Editor/Properties/TriggerForm/TriggerItemForm.tsx b/packages/app/src/components/Editor/Properties/TriggerForm/TriggerItemForm.tsx index 7578d56..2c04d60 100644 --- a/packages/app/src/components/Editor/Properties/TriggerForm/TriggerItemForm.tsx +++ b/packages/app/src/components/Editor/Properties/TriggerForm/TriggerItemForm.tsx @@ -3,7 +3,7 @@ import {FullWidthPanelRow} from '#editor-layout/Panel/Form/PanelRow'; import { WORKFLOW_TRIGGER_TYPES_CONFIG, type WorkflowTypesTriggerEvent, -} from '#editor-store/editor.types'; +} from '~/store/editor/editor.types'; import {Select} from '@codeui/kit'; import {createControllableSignal} from '@kobalte/core'; import {createMemo} from 'solid-js'; @@ -47,6 +47,7 @@ export function TriggerItemForm(props: TriggerEventItemFormProps) { label={'Types'} options={items()} + valueComponentMultiple={options => options().join(', ')} aria-label={'Type'} multiple={true} value={form()?.types} diff --git a/packages/app/src/components/Editor/Properties/WorkflowConcurrencyForm/WorkflowConcurrencyForm.tsx b/packages/app/src/components/Editor/Properties/WorkflowConcurrencyForm/WorkflowConcurrencyForm.tsx index 615abb8..7eca35d 100644 --- a/packages/app/src/components/Editor/Properties/WorkflowConcurrencyForm/WorkflowConcurrencyForm.tsx +++ b/packages/app/src/components/Editor/Properties/WorkflowConcurrencyForm/WorkflowConcurrencyForm.tsx @@ -1,7 +1,7 @@ import {PanelHeader} from '../../Layout/Panel/Form/PanelHeader'; import {TextField} from '@codeui/kit'; import {provideState} from 'statebuilder'; -import {EditorStore} from '../../store/editor.store'; +import {EditorStore} from '../../../../store/editor/editor.store'; import {FullWidthPanelRow} from '../../Layout/Panel/Form/PanelRow'; import {formStyles} from '#editor-layout/Panel/Form/Form.css'; import {PanelPlusButton} from '#editor-layout/Panel/Form/PanelPlusButton'; diff --git a/packages/app/src/components/Editor/Properties/WorkflowDispatchForm/WorkflowDispatchForm.tsx b/packages/app/src/components/Editor/Properties/WorkflowDispatchForm/WorkflowDispatchForm.tsx index 9631420..288e586 100644 --- a/packages/app/src/components/Editor/Properties/WorkflowDispatchForm/WorkflowDispatchForm.tsx +++ b/packages/app/src/components/Editor/Properties/WorkflowDispatchForm/WorkflowDispatchForm.tsx @@ -2,8 +2,8 @@ import {PanelHeader} from '#editor-layout/Panel/Form/PanelHeader'; import {For, Show} from 'solid-js'; import {WorkflowDispatchItemForm} from './WorkflowDispatchItemForm'; import {provideState} from 'statebuilder'; -import {EditorStore} from '../../store/editor.store'; -import type {WorkflowDispatchInput} from '../../store/editor.types'; +import {EditorStore} from '../../../../store/editor/editor.store'; +import type {WorkflowDispatchInput} from '../../../../store/editor/editor.types'; import {PanelPlusButton} from '#editor-layout/Panel/Form/PanelPlusButton'; import {PanelAccordion} from '#editor-layout/Panel/Form/PanelAccordion/PanelAccordion'; import {PanelContent} from '#editor-layout/Panel/Form/PanelContent'; diff --git a/packages/app/src/components/Editor/Properties/WorkflowDispatchForm/WorkflowDispatchItemForm.tsx b/packages/app/src/components/Editor/Properties/WorkflowDispatchForm/WorkflowDispatchItemForm.tsx index 085568f..6b25bca 100644 --- a/packages/app/src/components/Editor/Properties/WorkflowDispatchForm/WorkflowDispatchItemForm.tsx +++ b/packages/app/src/components/Editor/Properties/WorkflowDispatchForm/WorkflowDispatchItemForm.tsx @@ -3,7 +3,7 @@ import {Checkbox, NumberField, Select, TextArea, TextField} from '@codeui/kit'; import * as styles from '#editor-layout/Panel/Form/Form.css'; import {Match, Switch} from 'solid-js'; import {createControllableSignal} from '@kobalte/core'; -import type {WorkflowDispatchInput} from '#editor-store/editor.types'; +import type {WorkflowDispatchInput} from '~/store/editor/editor.types'; import {PanelAccordionItem} from '#editor-layout/Panel/Form/PanelAccordion/PanelAccordion'; export interface WorkflowDispatchItemFormProps { diff --git a/packages/app/src/components/Editor/StatusBar/StatusBar.tsx b/packages/app/src/components/Editor/StatusBar/StatusBar.tsx index 8c26c29..88655c4 100644 --- a/packages/app/src/components/Editor/StatusBar/StatusBar.tsx +++ b/packages/app/src/components/Editor/StatusBar/StatusBar.tsx @@ -7,11 +7,11 @@ import { statusBarAction, } from './EditorStatusBar.css'; import {provideState} from 'statebuilder'; -import {CanvasStore} from '../store/canvas.store'; +import {CanvasStore} from '../../../store/editor/canvas.store'; import {Button, IconButton, Tooltip} from '@codeui/kit'; import {Icon} from '#ui/components/Icon'; -import {EditorStore} from '#editor-store/editor.store'; -import {EditorUiStore} from '#editor-store/ui.store'; +import {EditorStore} from '~/store/editor/editor.store'; +import {EditorUiStore} from '~/store/editor/ui.store'; export function EditorStatusBar() { const canvasState = provideState(CanvasStore); diff --git a/packages/app/src/components/Editor/common/EnvironmentVariables/EnvironmentVariablesForm.tsx b/packages/app/src/components/Editor/common/EnvironmentVariables/EnvironmentVariablesForm.tsx index 13c952b..dc2674b 100644 --- a/packages/app/src/components/Editor/common/EnvironmentVariables/EnvironmentVariablesForm.tsx +++ b/packages/app/src/components/Editor/common/EnvironmentVariables/EnvironmentVariablesForm.tsx @@ -1,6 +1,6 @@ import {PanelHeader} from '#editor-layout/Panel/Form/PanelHeader'; import {For, Show} from 'solid-js'; -import type {WorkflowStructureEnvItem} from '../../store/editor.types'; +import type {WorkflowStructureEnvItem} from '../../../../store/editor/editor.types'; import {PanelPlusButton} from '#editor-layout/Panel/Form/PanelPlusButton'; import {EnvironmentVariablesItemForm} from './EnvironmentVariablesItemForm'; import {PanelAccordion} from '#editor-layout/Panel/Form/PanelAccordion/PanelAccordion'; diff --git a/packages/app/src/components/Editor/common/EnvironmentVariables/EnvironmentVariablesItemForm.tsx b/packages/app/src/components/Editor/common/EnvironmentVariables/EnvironmentVariablesItemForm.tsx index a17381a..f0c9333 100644 --- a/packages/app/src/components/Editor/common/EnvironmentVariables/EnvironmentVariablesItemForm.tsx +++ b/packages/app/src/components/Editor/common/EnvironmentVariables/EnvironmentVariablesItemForm.tsx @@ -3,7 +3,7 @@ import {createControllableSignal} from '@kobalte/core'; import type { StringExpression, WorkflowStructureEnvItem, -} from '#editor-store/editor.types'; +} from '~/store/editor/editor.types'; import {FullWidthPanelRow} from '#editor-layout/Panel/Form/PanelRow'; import {Match, Switch} from 'solid-js'; import {unwrap} from 'solid-js/store'; diff --git a/packages/app/src/components/Editor/store/actions/helper.ts b/packages/app/src/store/editor/actions/helper.ts similarity index 100% rename from packages/app/src/components/Editor/store/actions/helper.ts rename to packages/app/src/store/editor/actions/helper.ts diff --git a/packages/app/src/components/Editor/store/actions/job-env.ts b/packages/app/src/store/editor/actions/job-env.ts similarity index 94% rename from packages/app/src/components/Editor/store/actions/job-env.ts rename to packages/app/src/store/editor/actions/job-env.ts index 261aa84..589fb30 100644 --- a/packages/app/src/components/Editor/store/actions/job-env.ts +++ b/packages/app/src/store/editor/actions/job-env.ts @@ -1,5 +1,5 @@ import {Pair, Scalar} from 'yaml'; -import {WorkflowStructureEnvItem} from '../editor.types'; +import {WorkflowStructureEnvItem} from '../../../components/Editor/store/editor.types'; import {YAMLSession} from '../plugins/yamlSession'; import {findJob, modifyEnvField, convertEnvItemFieldToYaml} from './helper'; diff --git a/packages/app/src/components/Editor/store/actions/job-environment.ts b/packages/app/src/store/editor/actions/job-environment.ts similarity index 90% rename from packages/app/src/components/Editor/store/actions/job-environment.ts rename to packages/app/src/store/editor/actions/job-environment.ts index 05782b7..bed769c 100644 --- a/packages/app/src/components/Editor/store/actions/job-environment.ts +++ b/packages/app/src/store/editor/actions/job-environment.ts @@ -1,5 +1,5 @@ import {Scalar, YAMLMap} from 'yaml'; -import {JobEnvironment} from '../editor.types'; +import {JobEnvironment} from '../../../components/Editor/store/editor.types'; import {YAMLSession} from '../plugins/yamlSession'; import {findJob} from './helper'; diff --git a/packages/app/src/components/Editor/store/actions/job-id.ts b/packages/app/src/store/editor/actions/job-id.ts similarity index 100% rename from packages/app/src/components/Editor/store/actions/job-id.ts rename to packages/app/src/store/editor/actions/job-id.ts diff --git a/packages/app/src/components/Editor/store/actions/job-name.ts b/packages/app/src/store/editor/actions/job-name.ts similarity index 100% rename from packages/app/src/components/Editor/store/actions/job-name.ts rename to packages/app/src/store/editor/actions/job-name.ts diff --git a/packages/app/src/components/Editor/store/actions/job-needs.ts b/packages/app/src/store/editor/actions/job-needs.ts similarity index 100% rename from packages/app/src/components/Editor/store/actions/job-needs.ts rename to packages/app/src/store/editor/actions/job-needs.ts diff --git a/packages/app/src/components/Editor/store/actions/job-runsOn.ts b/packages/app/src/store/editor/actions/job-runsOn.ts similarity index 100% rename from packages/app/src/components/Editor/store/actions/job-runsOn.ts rename to packages/app/src/store/editor/actions/job-runsOn.ts diff --git a/packages/app/src/components/Editor/store/actions/job-step-env.ts b/packages/app/src/store/editor/actions/job-step-env.ts similarity index 95% rename from packages/app/src/components/Editor/store/actions/job-step-env.ts rename to packages/app/src/store/editor/actions/job-step-env.ts index fedbf2b..57d9b4d 100644 --- a/packages/app/src/components/Editor/store/actions/job-step-env.ts +++ b/packages/app/src/store/editor/actions/job-step-env.ts @@ -1,5 +1,5 @@ import {Pair, Scalar} from 'yaml'; -import {WorkflowStructureEnvItem} from '../editor.types'; +import {WorkflowStructureEnvItem} from '../../../components/Editor/store/editor.types'; import {YAMLSession} from '../plugins/yamlSession'; import { convertEnvItemFieldToYaml, diff --git a/packages/app/src/components/Editor/store/actions/job-step-if.ts b/packages/app/src/store/editor/actions/job-step-if.ts similarity index 100% rename from packages/app/src/components/Editor/store/actions/job-step-if.ts rename to packages/app/src/store/editor/actions/job-step-if.ts diff --git a/packages/app/src/components/Editor/store/actions/job-step-name.ts b/packages/app/src/store/editor/actions/job-step-name.ts similarity index 100% rename from packages/app/src/components/Editor/store/actions/job-step-name.ts rename to packages/app/src/store/editor/actions/job-step-name.ts diff --git a/packages/app/src/components/Editor/store/actions/job-step-run.ts b/packages/app/src/store/editor/actions/job-step-run.ts similarity index 100% rename from packages/app/src/components/Editor/store/actions/job-step-run.ts rename to packages/app/src/store/editor/actions/job-step-run.ts diff --git a/packages/app/src/components/Editor/store/actions/job-step-uses.ts b/packages/app/src/store/editor/actions/job-step-uses.ts similarity index 100% rename from packages/app/src/components/Editor/store/actions/job-step-uses.ts rename to packages/app/src/store/editor/actions/job-step-uses.ts diff --git a/packages/app/src/components/Editor/store/actions/job-step.ts b/packages/app/src/store/editor/actions/job-step.ts similarity index 93% rename from packages/app/src/components/Editor/store/actions/job-step.ts rename to packages/app/src/store/editor/actions/job-step.ts index 25b9bc6..112c933 100644 --- a/packages/app/src/components/Editor/store/actions/job-step.ts +++ b/packages/app/src/store/editor/actions/job-step.ts @@ -1,5 +1,5 @@ import {YAMLSeq, YAMLMap, Pair} from 'yaml'; -import {WorkflowStructureJobStep} from '../editor.types'; +import {WorkflowStructureJobStep} from '../../../components/Editor/store/editor.types'; import {YAMLSession} from '../plugins/yamlSession'; import {findJob} from './helper'; diff --git a/packages/app/src/components/Editor/store/actions/job.ts b/packages/app/src/store/editor/actions/job.ts similarity index 75% rename from packages/app/src/components/Editor/store/actions/job.ts rename to packages/app/src/store/editor/actions/job.ts index 05880ca..0ac8438 100644 --- a/packages/app/src/components/Editor/store/actions/job.ts +++ b/packages/app/src/store/editor/actions/job.ts @@ -1,4 +1,4 @@ -import {Pair, YAMLMap} from 'yaml'; +import {Pair, YAMLMap, YAMLSeq} from 'yaml'; import {YAMLSession} from '../plugins/yamlSession'; export const addNewJob = (yamlSession: YAMLSession) => () => { @@ -8,11 +8,11 @@ export const addNewJob = (yamlSession: YAMLSession) => () => { jobs = new YAMLMap>(); yaml.set('jobs', jobs); } - const job = new YAMLMap(); - job.set('steps', new YAMLMap()); - job.set('runs-on', ''); - jobs.add(new Pair('new-job', job)); + job.set('steps', new YAMLSeq()); + job.set('runs-on', null); + const length = jobs.items.length; + jobs.add(new Pair(`new_job_${length}`, job)); }); }; diff --git a/packages/app/src/components/Editor/store/actions/workflow-dispatch.ts b/packages/app/src/store/editor/actions/workflow-dispatch.ts similarity index 96% rename from packages/app/src/components/Editor/store/actions/workflow-dispatch.ts rename to packages/app/src/store/editor/actions/workflow-dispatch.ts index dc79e7a..e6564b8 100644 --- a/packages/app/src/components/Editor/store/actions/workflow-dispatch.ts +++ b/packages/app/src/store/editor/actions/workflow-dispatch.ts @@ -1,5 +1,5 @@ import {Pair, Scalar, YAMLMap} from 'yaml'; -import {WorkflowDispatchInput} from '../editor.types'; +import {WorkflowDispatchInput} from '../../../components/Editor/store/editor.types'; import {YAMLSession} from '../plugins/yamlSession'; import {modifyOnField} from './helper'; diff --git a/packages/app/src/components/Editor/store/actions/workflow-env.ts b/packages/app/src/store/editor/actions/workflow-env.ts similarity index 93% rename from packages/app/src/components/Editor/store/actions/workflow-env.ts rename to packages/app/src/store/editor/actions/workflow-env.ts index 772d500..33cb49e 100644 --- a/packages/app/src/components/Editor/store/actions/workflow-env.ts +++ b/packages/app/src/store/editor/actions/workflow-env.ts @@ -1,5 +1,5 @@ import {Pair, Scalar} from 'yaml'; -import {WorkflowStructureEnvItem} from '../editor.types'; +import {WorkflowStructureEnvItem} from '../../../components/Editor/store/editor.types'; import {YAMLSession} from '../plugins/yamlSession'; import {convertEnvItemFieldToYaml, modifyEnvField} from './helper'; diff --git a/packages/app/src/components/Editor/store/actions/workflow-event-trigger.ts b/packages/app/src/store/editor/actions/workflow-event-trigger.ts similarity index 90% rename from packages/app/src/components/Editor/store/actions/workflow-event-trigger.ts rename to packages/app/src/store/editor/actions/workflow-event-trigger.ts index afabce7..926d831 100644 --- a/packages/app/src/components/Editor/store/actions/workflow-event-trigger.ts +++ b/packages/app/src/store/editor/actions/workflow-event-trigger.ts @@ -1,5 +1,5 @@ import {YAMLMap, Scalar} from 'yaml'; -import {WorkflowTypesTriggerEvent} from '../editor.types'; +import {WorkflowTypesTriggerEvent} from '../../../components/Editor/store/editor.types'; import {YAMLSession} from '../plugins/yamlSession'; import {modifyOnField} from './helper'; diff --git a/packages/app/src/components/Editor/store/canvas.store.ts b/packages/app/src/store/editor/canvas.store.ts similarity index 96% rename from packages/app/src/components/Editor/store/canvas.store.ts rename to packages/app/src/store/editor/canvas.store.ts index a4a93e8..7b25f67 100644 --- a/packages/app/src/components/Editor/store/canvas.store.ts +++ b/packages/app/src/store/editor/canvas.store.ts @@ -5,7 +5,7 @@ import { autocenter, fitToCenter, getScaleByRatio, -} from '../utils/getScaleByRatio'; +} from '../../components/Editor/utils/getScaleByRatio'; interface CanvasState { scale: number; diff --git a/packages/app/src/components/Editor/store/editor.store.ts b/packages/app/src/store/editor/editor.store.ts similarity index 96% rename from packages/app/src/components/Editor/store/editor.store.ts rename to packages/app/src/store/editor/editor.store.ts index 5645c8c..a3fae4e 100644 --- a/packages/app/src/components/Editor/store/editor.store.ts +++ b/packages/app/src/store/editor/editor.store.ts @@ -1,9 +1,9 @@ import {type WorkflowTemplate} from '@pipelineui/workflow-parser'; -import {createEffect, on, untrack, useContext} from 'solid-js'; +import {batch, createEffect, on, untrack, useContext} from 'solid-js'; import {defineStore} from 'statebuilder'; import {withProxyCommands} from 'statebuilder/commands'; import type {Diagnostic} from 'vscode-languageserver-protocol'; -import {EditorContext} from '../editor.context'; +import {EditorContext} from '../../components/Editor/editor.context'; import type { EditorWorkflowStructure, JobEnvironment, @@ -141,7 +141,7 @@ export const EditorStore = defineStore(() => ({ // TODO: should add $nodeId deleteEnvironmentVariableByIndex: {index: number}; - addNewJob: void; + addNewJob: {autoSelect: boolean}; deleteJob: {jobId: string}; updateJobName: {jobId: string; name: string | null}; updateJobId: {jobId: string; id: string}; @@ -230,20 +230,26 @@ export const EditorStore = defineStore(() => ({ _.yamlSession.deleteEnvironmentVariable(index); }); - _.hold(_.commands.addNewJob, () => { + _.hold(_.commands.addNewJob, ({autoSelect}) => { + const length = _.get.structure.jobs.length; const job: WorkflowStructureJob = { $nodeId: crypto.randomUUID().toString(), needs: [], - name: 'New job', + name: `New job ${length}`, steps: [], - id: 'new-job', + id: `new_job_${length}`, env: {array: []}, runsOn: '', environment: null, $index: _.get.structure.jobs.length, }; - _.set('structure', 'jobs', jobs => [...jobs, job]); + batch(() => { + _.set('structure', 'jobs', jobs => [...jobs, job]); + if (autoSelect) { + _.actions.setSelectedJobId(job.$nodeId); + } + }); _.yamlSession.addNewJob(); }); diff --git a/packages/app/src/components/Editor/store/editor.types.ts b/packages/app/src/store/editor/editor.types.ts similarity index 100% rename from packages/app/src/components/Editor/store/editor.types.ts rename to packages/app/src/store/editor/editor.types.ts diff --git a/packages/app/src/components/Editor/store/plugins/editorUpdater.ts b/packages/app/src/store/editor/plugins/editorUpdater.ts similarity index 100% rename from packages/app/src/components/Editor/store/plugins/editorUpdater.ts rename to packages/app/src/store/editor/plugins/editorUpdater.ts diff --git a/packages/app/src/components/Editor/store/plugins/githubYamlManager.ts b/packages/app/src/store/editor/plugins/githubYamlManager.ts similarity index 100% rename from packages/app/src/components/Editor/store/plugins/githubYamlManager.ts rename to packages/app/src/store/editor/plugins/githubYamlManager.ts diff --git a/packages/app/src/components/Editor/store/plugins/yamlSession.ts b/packages/app/src/store/editor/plugins/yamlSession.ts similarity index 97% rename from packages/app/src/components/Editor/store/plugins/yamlSession.ts rename to packages/app/src/store/editor/plugins/yamlSession.ts index ed7aa5b..7400cad 100644 --- a/packages/app/src/components/Editor/store/plugins/yamlSession.ts +++ b/packages/app/src/store/editor/plugins/yamlSession.ts @@ -25,7 +25,7 @@ export const withYamlDocumentSession = () => { const source = () => { notifier(); - return yaml()?.toString() ?? ''; + return yaml()?.toString({nullStr: ''}) ?? ''; }; const setYaml = (yaml: YAMLDocument) => { diff --git a/packages/app/src/components/Editor/store/ui.store.ts b/packages/app/src/store/editor/ui.store.ts similarity index 80% rename from packages/app/src/components/Editor/store/ui.store.ts rename to packages/app/src/store/editor/ui.store.ts index 3be9618..cc1947b 100644 --- a/packages/app/src/components/Editor/store/ui.store.ts +++ b/packages/app/src/store/editor/ui.store.ts @@ -1,6 +1,6 @@ import {defineStore} from 'statebuilder'; import {withProxyCommands} from 'statebuilder/commands'; -import {createEffect, createSignal} from 'solid-js'; +import {createEffect, createMemo, createSignal, on} from 'solid-js'; import Resizable from '@corvu/resizable'; import {cookieStorage, makePersisted} from '@solid-primitives/storage'; @@ -47,9 +47,26 @@ export const EditorUiStore = defineStore(() => ({ }, ); - if (horizontalSizes()[1] !== 0) { - _.set('bottomPanel', 'diagnostic'); - } + const rightPanelSizeExpanded = createMemo(() => horizontalSizes()[2] > 0); + createEffect( + on(rightPanelSizeExpanded, expanded => { + _.set('rightPanel', expanded ? 'properties' : 'none'); + }), + ); + + const leftPanelSizeExpanded = createMemo(() => horizontalSizes()[0] > 0); + createEffect( + on(leftPanelSizeExpanded, expanded => { + _.set('leftPanel', expanded ? 'code' : 'none'); + }), + ); + + const bottomPanelSizeExpanded = createMemo(() => verticalSizes()[1] > 0); + createEffect( + on(bottomPanelSizeExpanded, expanded => { + _.set('bottomPanel', expanded ? 'diagnostic' : 'none'); + }), + ); return { verticalResizableContext, diff --git a/packages/app/src/components/Editor/store/utils/getStructureFromWorkflow.ts b/packages/app/src/store/editor/utils/getStructureFromWorkflow.ts similarity index 100% rename from packages/app/src/components/Editor/store/utils/getStructureFromWorkflow.ts rename to packages/app/src/store/editor/utils/getStructureFromWorkflow.ts diff --git a/packages/yaml-editor/src/lsp/protocol.ts b/packages/yaml-editor/src/lsp/protocol.ts index 643afa5..68859a6 100644 --- a/packages/yaml-editor/src/lsp/protocol.ts +++ b/packages/yaml-editor/src/lsp/protocol.ts @@ -16,7 +16,6 @@ export class PostMessageWorkerTransport extends Transport { } private messageHandler = (ev: MessageEvent) => { - console.log('LSP <<-', ev.data); this.transportRequestManager.resolveResponse(JSON.stringify(ev.data)); }; @@ -31,7 +30,6 @@ export class PostMessageWorkerTransport extends Transport { data: JSONRPCRequestData, timeout: number | null = 5000, ): Promise { - console.log('LSP ->>', data); const prom = this.transportRequestManager.addRequest(data, null); const notifications = getNotifications(data); if (this.worker) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f6c3a3f..055a56e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -59,8 +59,8 @@ importers: specifier: ^6.34.1 version: 6.34.1 '@codeui/kit': - specifier: ^0.1.4 - version: 0.1.4(@types/node@22.8.5)(solid-js@1.9.3)(terser@5.34.1)(vite@5.4.10(@types/node@22.8.5)(terser@5.34.1)) + specifier: link:/Users/riccardoperra/WebstormProjects/codeui/packages/kit + version: link:../../../codeui/packages/kit '@corvu/resizable': specifier: ^0.2.3 version: 0.2.3(solid-js@1.9.3) @@ -677,11 +677,6 @@ packages: '@codemirror/view@6.34.1': resolution: {integrity: sha512-t1zK/l9UiRqwUNPm+pdIT0qzJlzuVckbTEMVNFhfWkGiBQClstzg+78vedCvLSX0xJEZ6lwZbPpnljL7L6iwMQ==} - '@codeui/kit@0.1.4': - resolution: {integrity: sha512-8ahnGgWnpiy2n9cNofuLzrMCqAfHuUX6ifecVXp9xB7RFTX24evuLMqjP2C7VBs4MxlOQeDY3QOv8mQiu4+XiQ==} - peerDependencies: - solid-js: ^1.7.0 - '@corvu/resizable@0.2.3': resolution: {integrity: sha512-UwpObxqKlx1mc3G496Daz9NjK25Gx1V5fB8zIGazbq5tJs7aU8RjPW4png5OoNpMyxV7GQWjQtVc59zaAEVAJg==} peerDependencies: @@ -1587,11 +1582,6 @@ packages: peerDependencies: solid-js: ^1.8.8 - '@kobalte/vanilla-extract@0.5.0': - resolution: {integrity: sha512-7a7e/3N4snvDbdenU31zOxmNfjdpx6ZxpU7a4lURPIA83suC6RhKTg+vZETwkeHqzzTb7+pUtIo/lHJ645eFPg==} - peerDependencies: - '@vanilla-extract/css': ^1.13.0 - '@lezer/common@1.2.2': resolution: {integrity: sha512-Z+R3hN6kXbgBWAuejUNPihylAL1Z5CaFqnIe0nTX8Ej+XlIy3EGtXxn6WtLMO+os2hRkQvm2yvaGMYliUzlJaw==} @@ -1614,41 +1604,9 @@ packages: resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true - '@maskito/core@3.1.2': - resolution: {integrity: sha512-1AsSBYZ8GxZ6xDhkwcGaMVrTm5oQpBscYX5CeJMG2IUG93pV8EUcEdzpD3bZc2G9DhpjjcM1xVRyWS9ynfckeA==} - - '@maskito/kit@3.1.2': - resolution: {integrity: sha512-zSEMwCmp0EUS9wwZUP4EJp90g/diay4DM0Mtayg4k+ep+lT3kRffUrTsXj4Noa60OO4875h0k29QCwI/oIVEqA==} - peerDependencies: - '@maskito/core': ^3.1.2 - '@mdx-js/mdx@3.1.0': resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==} - '@motionone/animation@10.18.0': - resolution: {integrity: sha512-9z2p5GFGCm0gBsZbi8rVMOAJCtw1WqBTIPw3ozk06gDvZInBPIsQcHgYogEJ4yuHJ+akuW8g1SEIOpTOvYs8hw==} - - '@motionone/dom@10.18.0': - resolution: {integrity: sha512-bKLP7E0eyO4B2UaHBBN55tnppwRnaE3KFfh3Ps9HhnAkar3Cb69kUCJY9as8LrccVYKgHA+JY5dOQqJLOPhF5A==} - - '@motionone/easing@10.18.0': - resolution: {integrity: sha512-VcjByo7XpdLS4o9T8t99JtgxkdMcNWD3yHU/n6CLEz3bkmKDRZyYQ/wmSf6daum8ZXqfUAgFeCZSpJZIMxaCzg==} - - '@motionone/generators@10.18.0': - resolution: {integrity: sha512-+qfkC2DtkDj4tHPu+AFKVfR/C30O1vYdvsGYaR13W/1cczPrrcjdvYCj0VLFuRMN+lP1xvpNZHCRNM4fBzn1jg==} - - '@motionone/solid@10.16.4': - resolution: {integrity: sha512-xS3vDhWgTB7xdSYnOTs69Ai09WWjuG6bbz2E+NjP7DswD3X2jLZNNTFmf8GTGhj7UeFHiZgtERIjvpGgZTuEiQ==} - deprecated: Motion One for Solid is deprecated. Use solid-motionone instead https://github.com/solidjs-community/solid-motionone - peerDependencies: - solid-js: ^1.5.0 - - '@motionone/types@10.17.1': - resolution: {integrity: sha512-KaC4kgiODDz8hswCrS0btrVrzyU2CSQKO7Ps90ibBVSQmjkrt2teqta6/sOG59v7+dPnKMAg13jyqtMKV2yJ7A==} - - '@motionone/utils@10.18.0': - resolution: {integrity: sha512-3XVF7sgyTSI2KWvTf6uLlBJ5iAgRgmvp3bpuOiQJvInd4nZ19ET8lX5unn30SlmRH7hXbBbH+Gxd0m0klJ3Xtw==} - '@mswjs/interceptors@0.36.7': resolution: {integrity: sha512-sdx02Wlus5hv6Bx7uUDb25gb0WGjCuSgnJB2LVERemoSGuqkZMe3QI6nEXhieFGtYwPrZbYrT2vPbsFN2XfbUw==} engines: {node: '>=18'} @@ -1858,9 +1816,6 @@ packages: '@qualified/vscode-snippet-parser@0.1.0': resolution: {integrity: sha512-I595ZBk/xCJC1dj1i6llEdyeHAWS2NJgiNOFoK3nGw5NJcUIqB4kiPpuIAG/wu71UnZBeXrWvOlrviDqzvUtrQ==} - '@radix-ui/colors@3.0.0': - resolution: {integrity: sha512-FUOsGBkHrYJwCSEtWRCIfQbZG7q1e6DgxCIOe1SUQzDe/7rXXeA47s8yCn6fuTNQAj1Zq4oTFi9Yjp3wzElcxg==} - '@railway/cli@3.17.10': resolution: {integrity: sha512-MyuajWnkya1LDHZA9B4kAbu8RIBwBBF7l52YGUMeLUc1TqYnTy+MFIfHZo2hN/S7BXqnWYhpZzU5nPCWggmnOg==} engines: {node: '>=16.0.0'} @@ -2175,11 +2130,6 @@ packages: peerDependencies: solid-js: ^1.6.12 - '@solid-primitives/pagination@0.3.0': - resolution: {integrity: sha512-B9R2tVAEwGyXGF/533b46d7fXHU//eHUOt4CxwESwV3RhtP0wYScrV882i2eHGQuryZfQH2jbubvjMQyQbTMgA==} - peerDependencies: - solid-js: ^1.6.12 - '@solid-primitives/props@3.1.11': resolution: {integrity: sha512-jZAKWwvDRHjiydIumDgMj68qviIbowQ1ci7nkEAgzgvanNkhKSQV8iPgR2jMk1uv7S2ZqXYHslVQTgJel/TEyg==} peerDependencies: @@ -2200,11 +2150,6 @@ packages: peerDependencies: solid-js: ^1.6.12 - '@solid-primitives/scheduled@1.4.3': - resolution: {integrity: sha512-HfWN5w7b7FEc6VPLBKnnE302h90jsLMuR28Fcf7neRGGf8jBj6wm6/UFQ00VlKexHFMR6KQ2u4VBh5a1ZcqM8g==} - peerDependencies: - solid-js: ^1.6.12 - '@solid-primitives/scheduled@1.4.4': resolution: {integrity: sha512-BTGdFP7t+s7RSak+s1u0eTix4lHP23MrbGkgQTFlt1E+4fmnD/bEx3ZfNW7Grylz3GXgKyXrgDKA7jQ/wuWKgA==} peerDependencies: @@ -2227,11 +2172,6 @@ packages: solid-start: optional: true - '@solid-primitives/transition-group@1.0.5': - resolution: {integrity: sha512-G3FuqvL13kQ55WzWPX2ewiXdZ/1iboiX53195sq7bbkDbXqP6TYKiadwEdsaDogW5rPnPYAym3+xnsNplQJRKQ==} - peerDependencies: - solid-js: ^1.6.12 - '@solid-primitives/trigger@1.1.0': resolution: {integrity: sha512-00BbAiXV66WwjHuKZc3wr0+GLb9C24mMUmi3JdTpNFgHBbrQGrIHubmZDg36c5/7wH+E0GQtOOanwQS063PO+A==} peerDependencies: @@ -2258,14 +2198,6 @@ packages: '@swc/helpers@0.5.13': resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} - '@tanstack/solid-virtual@3.10.8': - resolution: {integrity: sha512-4dmUYIjjIVRFmpm7qha1tEDk5L6yzCEh63gTCUlo9ECXz7n3gvY95YQsrFNO020en5gXIUPHIzMBd56qqafyhQ==} - peerDependencies: - solid-js: ^1.3.0 - - '@tanstack/virtual-core@3.10.8': - resolution: {integrity: sha512-PBu00mtt95jbKFi6Llk9aik8bnR3tR/oQP1o3TSi+iG//+Q2RTIzCEgKkHG8BB86kxMNW6O8wku+Lmi+QFR6jA==} - '@types/acorn@4.0.6': resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} @@ -3797,9 +3729,6 @@ packages: headers-polyfill@4.0.3: resolution: {integrity: sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==} - hey-listen@1.0.8: - resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==} - hookable@5.5.3: resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} @@ -4646,9 +4575,6 @@ packages: modern-ahocorasick@1.0.1: resolution: {integrity: sha512-yoe+JbhTClckZ67b2itRtistFKf8yPYelHLc7e5xAwtNAXxM6wJTUx2C7QeVSJFDzKT7bCIFyBVybPMKvmB9AA==} - motion@10.18.0: - resolution: {integrity: sha512-MVAZZmwM/cp77BrNe1TxTMldxRPjwBNHheU5aPToqT4rJdZxLiADk58H+a0al5jKLxkB0OdgNq6DiVn11cjvIQ==} - mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -4953,10 +4879,6 @@ packages: pkg-types@1.2.0: resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==} - polished@4.3.1: - resolution: {integrity: sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==} - engines: {node: '>=10'} - postcss-load-config@6.0.1: resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} engines: {node: '>= 18'} @@ -6767,41 +6689,6 @@ snapshots: style-mod: 4.1.2 w3c-keyname: 2.2.8 - '@codeui/kit@0.1.4(@types/node@22.8.5)(solid-js@1.9.3)(terser@5.34.1)(vite@5.4.10(@types/node@22.8.5)(terser@5.34.1))': - dependencies: - '@kobalte/core': 0.13.7(solid-js@1.9.3) - '@kobalte/utils': 0.9.1(solid-js@1.9.3) - '@kobalte/vanilla-extract': 0.5.0(@vanilla-extract/css@1.16.0) - '@maskito/core': 3.1.2 - '@maskito/kit': 3.1.2(@maskito/core@3.1.2) - '@motionone/solid': 10.16.4(solid-js@1.9.3) - '@radix-ui/colors': 3.0.0 - '@solid-primitives/pagination': 0.3.0(solid-js@1.9.3) - '@solid-primitives/scheduled': 1.4.3(solid-js@1.9.3) - '@tanstack/solid-virtual': 3.10.8(solid-js@1.9.3) - '@tanstack/virtual-core': 3.10.8 - '@vanilla-extract/css': 1.16.0 - '@vanilla-extract/dynamic': 2.1.2 - '@vanilla-extract/recipes': 0.5.5(@vanilla-extract/css@1.16.0) - '@vanilla-extract/vite-plugin': 4.0.17(patch_hash=i44zwkor6nbxyrubqgkogc6t64)(@types/node@22.8.5)(terser@5.34.1)(vite@5.4.10(@types/node@22.8.5)(terser@5.34.1)) - example-basic: link:packages/app - motion: 10.18.0 - polished: 4.3.1 - solid-js: 1.9.3 - statebuilder: 0.6.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - less - - lightningcss - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - vite - '@corvu/resizable@0.2.3(solid-js@1.9.3)': dependencies: '@corvu/utils': 0.4.2(solid-js@1.9.3) @@ -7502,10 +7389,6 @@ snapshots: '@solid-primitives/utils': 6.2.3(solid-js@1.9.3) solid-js: 1.9.3 - '@kobalte/vanilla-extract@0.5.0(@vanilla-extract/css@1.16.0)': - dependencies: - '@vanilla-extract/css': 1.16.0 - '@lezer/common@1.2.2': {} '@lezer/highlight@1.2.1': @@ -7553,12 +7436,6 @@ snapshots: - encoding - supports-color - '@maskito/core@3.1.2': {} - - '@maskito/kit@3.1.2(@maskito/core@3.1.2)': - dependencies: - '@maskito/core': 3.1.2 - '@mdx-js/mdx@3.1.0(acorn@8.12.1)': dependencies: '@types/estree': 1.0.6 @@ -7589,50 +7466,6 @@ snapshots: - acorn - supports-color - '@motionone/animation@10.18.0': - dependencies: - '@motionone/easing': 10.18.0 - '@motionone/types': 10.17.1 - '@motionone/utils': 10.18.0 - tslib: 2.7.0 - - '@motionone/dom@10.18.0': - dependencies: - '@motionone/animation': 10.18.0 - '@motionone/generators': 10.18.0 - '@motionone/types': 10.17.1 - '@motionone/utils': 10.18.0 - hey-listen: 1.0.8 - tslib: 2.7.0 - - '@motionone/easing@10.18.0': - dependencies: - '@motionone/utils': 10.18.0 - tslib: 2.7.0 - - '@motionone/generators@10.18.0': - dependencies: - '@motionone/types': 10.17.1 - '@motionone/utils': 10.18.0 - tslib: 2.7.0 - - '@motionone/solid@10.16.4(solid-js@1.9.3)': - dependencies: - '@motionone/dom': 10.18.0 - '@motionone/utils': 10.18.0 - '@solid-primitives/props': 3.1.11(solid-js@1.9.3) - '@solid-primitives/refs': 1.0.8(solid-js@1.9.3) - '@solid-primitives/transition-group': 1.0.5(solid-js@1.9.3) - solid-js: 1.9.3 - - '@motionone/types@10.17.1': {} - - '@motionone/utils@10.18.0': - dependencies: - '@motionone/types': 10.17.1 - hey-listen: 1.0.8 - tslib: 2.7.0 - '@mswjs/interceptors@0.36.7': dependencies: '@open-draft/deferred-promise': 2.2.0 @@ -7860,8 +7693,6 @@ snapshots: '@qualified/vscode-snippet-parser@0.1.0': {} - '@radix-ui/colors@3.0.0': {} - '@railway/cli@3.17.10': dependencies: '@napi-rs/triples': 1.2.0 @@ -8114,11 +7945,6 @@ snapshots: '@solid-primitives/utils': 6.2.3(solid-js@1.9.3) solid-js: 1.9.3 - '@solid-primitives/pagination@0.3.0(solid-js@1.9.3)': - dependencies: - '@solid-primitives/utils': 6.2.3(solid-js@1.9.3) - solid-js: 1.9.3 - '@solid-primitives/props@3.1.11(solid-js@1.9.3)': dependencies: '@solid-primitives/utils': 6.2.3(solid-js@1.9.3) @@ -8142,10 +7968,6 @@ snapshots: '@solid-primitives/utils': 6.2.3(solid-js@1.9.3) solid-js: 1.9.3 - '@solid-primitives/scheduled@1.4.3(solid-js@1.9.3)': - dependencies: - solid-js: 1.9.3 - '@solid-primitives/scheduled@1.4.4(solid-js@1.9.3)': dependencies: solid-js: 1.9.3 @@ -8160,10 +7982,6 @@ snapshots: '@solid-primitives/utils': 6.2.3(solid-js@1.9.3) solid-js: 1.9.3 - '@solid-primitives/transition-group@1.0.5(solid-js@1.9.3)': - dependencies: - solid-js: 1.9.3 - '@solid-primitives/trigger@1.1.0(solid-js@1.9.3)': dependencies: '@solid-primitives/utils': 6.2.3(solid-js@1.9.3) @@ -8211,13 +8029,6 @@ snapshots: dependencies: tslib: 2.7.0 - '@tanstack/solid-virtual@3.10.8(solid-js@1.9.3)': - dependencies: - '@tanstack/virtual-core': 3.10.8 - solid-js: 1.9.3 - - '@tanstack/virtual-core@3.10.8': {} - '@types/acorn@4.0.6': dependencies: '@types/estree': 1.0.6 @@ -10132,8 +9943,6 @@ snapshots: headers-polyfill@4.0.3: {} - hey-listen@1.0.8: {} - hookable@5.5.3: {} html-encoding-sniffer@4.0.0: @@ -11428,13 +11237,6 @@ snapshots: modern-ahocorasick@1.0.1: {} - motion@10.18.0: - dependencies: - '@motionone/animation': 10.18.0 - '@motionone/dom': 10.18.0 - '@motionone/types': 10.17.1 - '@motionone/utils': 10.18.0 - mri@1.2.0: {} ms@2.0.0: {} @@ -11809,10 +11611,6 @@ snapshots: mlly: 1.7.1 pathe: 1.1.2 - polished@4.3.1: - dependencies: - '@babel/runtime': 7.25.6 - postcss-load-config@6.0.1(jiti@2.0.0)(postcss@8.4.47)(tsx@4.19.2)(yaml@2.6.0): dependencies: lilconfig: 3.1.2