@septkit/ui 0.0.53 → 0.0.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dialecte/composables/index.js +2 -1
- package/dist/dialecte/composables/use-document-state.js +69 -0
- package/dist/dialecte/create-document-store.js +3 -3
- package/dist/dialecte/index.js +2 -1
- package/dist/external/.pnpm/{@dialecte_core@0.4.11 → @dialecte_core@0.4.12}/node_modules/@dialecte/core/dist/helpers.js +1 -1
- package/dist/external/.pnpm/{@dialecte_core@0.4.11 → @dialecte_core@0.4.12}/node_modules/@dialecte/core/dist/index.js +1 -1
- package/dist/external/.pnpm/{@dialecte_core@0.4.11/node_modules/@dialecte/core/dist/project-BjO7cVmO.js → @dialecte_core@0.4.12/node_modules/@dialecte/core/dist/project-DkMkDgld.js} +845 -763
- package/dist/external/.pnpm/{@dialecte_core@0.4.11 → @dialecte_core@0.4.12}/node_modules/@dialecte/core/dist/utils-C5_11hqg.js +1 -1
- package/dist/external/.pnpm/{@dialecte_scl@0.3.13/node_modules/@dialecte/scl/dist/hooks-D5DJSztS.js → @dialecte_scl@0.3.14/node_modules/@dialecte/scl/dist/hooks-By65uB-0.js} +2 -2
- package/dist/external/.pnpm/{@dialecte_scl@0.3.13 → @dialecte_scl@0.3.14}/node_modules/@dialecte/scl/dist/v2019C1/index.js +3 -3
- package/dist/index.d.ts +71 -0
- package/dist/index.js +26 -23
- package/dist/merge/merge-preflight.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/merge/merge.service.js +2 -2
- package/dist/progress/document-progress-bar.js +5 -0
- package/dist/progress/document-progress-bar.vue_vue_type_script_setup_true_lang.js +25 -0
- package/dist/progress/index.js +2 -0
- package/dist/ui.css +1 -1
- package/package.json +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { XSI_NAMESPACE as e } from "../../../../../@dialecte_core@0.4.
|
|
2
|
-
//#region node_modules/.pnpm/@dialecte+scl@0.3.
|
|
1
|
+
import { XSI_NAMESPACE as e } from "../../../../../@dialecte_core@0.4.12/node_modules/@dialecte/core/dist/helpers.js";
|
|
2
|
+
//#region node_modules/.pnpm/@dialecte+scl@0.3.14/node_modules/@dialecte/scl/dist/hooks-By65uB-0.js
|
|
3
3
|
var t = /* @__PURE__ */ "AccessControl.AccessPoint.Address.AllocationRole.AllocationRoleRef.AnalogueWiringParameters.AnalogueWiringParametersRef.Application.ApplicationSclRef.Association.Authentication.BDA.Bay.BayType.BehaviorDescription.BehaviorDescriptionRef.BehaviorReference.BinaryWiringParameters.BinaryWiringParametersRef.BitRate.CheckoutID.ClientLN.ClientServices.CommProt.Communication.CommunicationServiceSpecifications.ConductingEquipment.ConfDataSet.ConfLNs.ConfLdName.ConfLogControl.ConfReportControl.ConfSG.ConfSigRef.ConnectedAP.ConnectivityNode.ControlRef.ControllingLNode.DA.DAI.DAS.DAType.DO.DOI.DOS.DOType.DataObjectDirectory.DataSet.DataSetDirectory.DataTypeTemplates.DynAssociation.DynDataSet.EnumType.EnumVal.EqFunction.EqSubFunction.ExtCtrl.ExtRef.FCDA.FileHandling.Function.FunctionCatRef.FunctionCategory.FunctionCategoryRef.FunctionRef.FunctionRole.FunctionRoleContent.FunctionSclRef.FunctionTemplate.FunctionalSubVariant.FunctionalVariant.FunctionalVariantGroup.FunctionalVariantRef.GOOSE.GOOSEMcSecurity.GOOSESecurity.GSE.GSEControl.GSEDir.GSESettings.GSSE.GeneralEquipment.GetCBValues.GetDataObjectDefinition.GetDataSetValue.GetDirectory.GooseParameters.GooseParametersRef.Header.History.Hitem.IED.IEDName.IEDSourceFiles.InputVar.InputVarRef.Inputs.IssuerName.KDC.L2CommParameters.L3IPv4CommParameters.L3IPv6CommParameters.LDevice.LN.LN0.LNode.LNodeDataRef.LNodeInputRef.LNodeInputs.LNodeOutputRef.LNodeOutputs.LNodeSpecNaming.LNodeType.Label.Labels.Line.Log.LogControl.LogParameters.LogParametersRef.LogSettings.MaxTime.McSecurity.MinRequestedSCDFile.MinRequestedSCDFiles.MinTime.MultiAPPerSubNet.NeutralPoint.OptFields.OutputVar.OutputVarRef.Outputs.P.PhysConn.PowerSystemRelation.PowerSystemRelationRef.PowerSystemRelations.PowerTransformer.Private.Process.ProcessEcho.ProcessResource.ProcessResourceRef.ProcessResources.Project.ProjectProcessReference.ProtNs.Protocol.ReadWrite.RedProt.ReportControl.ReportParameters.ReportParametersRef.ReportSettings.Resource.RptEnabled.SCL.SCSM.SDI.SDO.SDS.SGEdit.SMV.SMVParameters.SMVParametersRef.SMVSecurity.SMVSettings.SMVsc.SVMcSecurity.SampledValueControl.SamplesPerSec.SclFileReference.SecPerSamples.Security.Server.ServerAt.ServiceSpecifications.Services.SetDataSetValue.SettingControl.SettingGroups.SignalRole.SmpRate.SmvOpts.SourceFiles.SourceRef.SubCategory.SubCheckoutID.SubEquipment.SubFunction.SubFunctionTemplate.SubNetwork.Subject.SubscriberLNode.Substation.SupSubscription.TapChanger.Terminal.Text.TimeSyncProt.TimerActivatedControl.TransformerWinding.TrgOps.Val.ValueHandling.Variable.VariableApplyTo.VariableRef.Voltage.VoltageLevel".split("."), n = {
|
|
4
4
|
AccessControl: {
|
|
5
5
|
tag: "AccessControl",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import "../../../../../../@dialecte_core@0.4.
|
|
2
|
-
import { i as e } from "../hooks-
|
|
3
|
-
//#region node_modules/.pnpm/@dialecte+scl@0.3.
|
|
1
|
+
import "../../../../../../@dialecte_core@0.4.12/node_modules/@dialecte/core/dist/index.js";
|
|
2
|
+
import { i as e } from "../hooks-By65uB-0.js";
|
|
3
|
+
//#region node_modules/.pnpm/@dialecte+scl@0.3.14/node_modules/@dialecte/scl/dist/v2019C1/index.js
|
|
4
4
|
var t = {
|
|
5
5
|
"cross-type-template-uuid": {
|
|
6
6
|
title: "Placeholder templateUuid reused across element types",
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { ComputedRef } from 'vue';
|
|
|
7
7
|
import { DefineComponent } from 'vue';
|
|
8
8
|
import { DiffNode } from '@dialecte/scl/v2019C1';
|
|
9
9
|
import { DiffReport } from '@dialecte/scl/v2019C1';
|
|
10
|
+
import { DocumentState } from '@dialecte/core';
|
|
10
11
|
import { ExtensionModule } from '@dialecte/core';
|
|
11
12
|
import { GroupDecision } from '@dialecte/scl/v2019C1';
|
|
12
13
|
import { InjectionKey } from 'vue';
|
|
@@ -555,6 +556,23 @@ export declare type DialogSize = 'sm' | 'md' | 'lg' | 'xl' | 'full' | 'fit';
|
|
|
555
556
|
*/
|
|
556
557
|
export declare function diffLines(before: string, after: string): UnifiedDiff;
|
|
557
558
|
|
|
559
|
+
export declare const DocumentProgressBar: DefineComponent<DocumentProgressBarProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<DocumentProgressBarProps> & Readonly<{}>, {
|
|
560
|
+
fallbackLabel: string;
|
|
561
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
562
|
+
|
|
563
|
+
/** Props for {@link DocumentProgressBar}. */
|
|
564
|
+
export declare type DocumentProgressBarProps = {
|
|
565
|
+
/** Document to observe; the bar renders only while an operation is running (`loading`). */
|
|
566
|
+
document: ReactiveDocument | undefined;
|
|
567
|
+
/**
|
|
568
|
+
* Force visibility past the document's own `loading` — for an operation whose post-commit
|
|
569
|
+
* work outlives the transaction. When omitted, the bar follows the document's `loading`.
|
|
570
|
+
*/
|
|
571
|
+
active?: boolean;
|
|
572
|
+
/** Caption shown while the document reports no label of its own. */
|
|
573
|
+
fallbackLabel?: string;
|
|
574
|
+
};
|
|
575
|
+
|
|
558
576
|
export declare const Dropdown: __VLS_WithTemplateSlots_2<typeof __VLS_component_2, __VLS_TemplateResult_2["slots"]>;
|
|
559
577
|
|
|
560
578
|
/** How the UI may edit an attribute (schema-derived classifier). */
|
|
@@ -746,6 +764,12 @@ color: "neutral" | "primary" | "secondary" | "accent" | "info" | "success" | "wa
|
|
|
746
764
|
size: "xs" | "sm" | "md" | "lg" | "xl";
|
|
747
765
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
748
766
|
|
|
767
|
+
/** Presentation progress: a held monotonic fraction in `[0, 1]` and its caption. */
|
|
768
|
+
export declare type ProgressDisplay = {
|
|
769
|
+
fraction: number;
|
|
770
|
+
label: string;
|
|
771
|
+
};
|
|
772
|
+
|
|
749
773
|
/** The props a component accepts (declared props + Vue built-ins like `onXxx` listeners). */
|
|
750
774
|
declare type PropsOf<C extends Component> = C extends new (...args: never[]) => {
|
|
751
775
|
$props: infer P;
|
|
@@ -754,6 +778,16 @@ declare type PropsOf<C extends Component> = C extends new (...args: never[]) =>
|
|
|
754
778
|
/** Create (or adopt) a dialog host and provide it to descendants. Call once at the root. */
|
|
755
779
|
export declare function provideDialogHost(host?: DialogController): DialogController;
|
|
756
780
|
|
|
781
|
+
/**
|
|
782
|
+
* Minimal slice of a `Document` consumed by `useDocumentState`: its live `state`
|
|
783
|
+
* plus `subscribe` (the in-realm reactive signal). Structural so the composable
|
|
784
|
+
* stays decoupled; real core Documents satisfy it as-is.
|
|
785
|
+
*/
|
|
786
|
+
export declare type ReactiveDocument = {
|
|
787
|
+
readonly state: DocumentState;
|
|
788
|
+
subscribe(callback: (terminal: boolean) => void): () => void;
|
|
789
|
+
};
|
|
790
|
+
|
|
757
791
|
export declare const SclExplorer: __VLS_WithTemplateSlots_5<typeof __VLS_component_5, __VLS_TemplateResult_5["slots"]>;
|
|
758
792
|
|
|
759
793
|
/** Per-node selection payload: what to preview and (if any) the change it carries. */
|
|
@@ -843,6 +877,43 @@ export declare function useDialecteChannel(channelName: MaybeRefOrGetter<string
|
|
|
843
877
|
/** Inject the ambient dialog host. Throws if no host was provided. */
|
|
844
878
|
export declare function useDialog(): DialogController;
|
|
845
879
|
|
|
880
|
+
/**
|
|
881
|
+
* Presentation-friendly progress for a document, in ONE call: a monotonic fraction
|
|
882
|
+
* in `[0, 1]` plus its caption, both **held** across the end of an operation.
|
|
883
|
+
*
|
|
884
|
+
* `raw = (current + step.current/step.total) / total`, clamped to a running max so
|
|
885
|
+
* a later fine phase resetting `step` within the same coarse slot never makes the
|
|
886
|
+
* bar jump backward. When the operation finishes and core nulls `progress`, the
|
|
887
|
+
* last fraction and caption are **held** (not reset to `0` / `''`) — so a consumer
|
|
888
|
+
* whose own "done" state lags the core clear by a frame (e.g. a dialog that swaps
|
|
889
|
+
* the bar for a success message) never flashes an empty `0%` bar. Floor + caption
|
|
890
|
+
* reset only on the rising edge of the NEXT operation (`null` → non-null). Idle
|
|
891
|
+
* before any operation is `{ 0, '' }`. Presentation-only — core state stays truthful.
|
|
892
|
+
*
|
|
893
|
+
* Takes a document (or a `MaybeRefOrGetter` of one that may be `undefined`) and
|
|
894
|
+
* composes {@link useDocumentState} internally, so a progress-bar consumer needs a
|
|
895
|
+
* single composable. Backed by an eager `watch` (not a lazy `computed`) so every
|
|
896
|
+
* operation boundary — including the intermediate `null` frame — is observed even
|
|
897
|
+
* while the value isn't read (bar hidden between operations).
|
|
898
|
+
*/
|
|
899
|
+
export declare function useDocumentProgress(doc: MaybeRefOrGetter<ReactiveDocument | undefined>): Readonly<Ref<ProgressDisplay>>;
|
|
900
|
+
|
|
901
|
+
/**
|
|
902
|
+
* Reactive snapshot of a dialecte document's plain `state`, driven by
|
|
903
|
+
* `doc.subscribe`. Core emits every change; throttling lives here:
|
|
904
|
+
* non-terminal frames (progress steps, `loading` toggles) are coalesced into a
|
|
905
|
+
* single flush per animation frame, while terminal frames (an operation's last
|
|
906
|
+
* frame) flush synchronously so the final 100%/cleared state is never dropped —
|
|
907
|
+
* even in a hidden tab where rAF is paused. A stale coalesced frame that would
|
|
908
|
+
* land after a terminal flush is skipped, so it cannot resurrect a mid-operation
|
|
909
|
+
* state over the settled one.
|
|
910
|
+
*
|
|
911
|
+
* Accepts a document, or a ref/getter of one that may be `undefined` (mirrors
|
|
912
|
+
* `useLiveData`): it re-subscribes when the document changes and holds an empty
|
|
913
|
+
* state while there is none.
|
|
914
|
+
*/
|
|
915
|
+
export declare function useDocumentState(doc: MaybeRefOrGetter<ReactiveDocument | undefined>): Readonly<Ref<DocumentState>>;
|
|
916
|
+
|
|
846
917
|
/**
|
|
847
918
|
* Async data that refetches when its document changes.
|
|
848
919
|
*
|
package/dist/index.js
CHANGED
|
@@ -2,32 +2,35 @@ import { createDocumentStore as e } from "./dialecte/create-document-store.js";
|
|
|
2
2
|
import { useDialecteChannel as t } from "./dialecte/composables/use-dialecte-channel.js";
|
|
3
3
|
import { useLiveData as n, useProjectLiveData as r } from "./dialecte/composables/use-live-data.js";
|
|
4
4
|
import { useActiveDocument as i } from "./dialecte/composables/use-active-document.js";
|
|
5
|
+
import { useDocumentProgress as a, useDocumentState as o } from "./dialecte/composables/use-document-state.js";
|
|
5
6
|
import "./dialecte/index.js";
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
7
|
+
import s from "./button/button.js";
|
|
8
|
+
import c from "./dropdown/dropdown.js";
|
|
9
|
+
import l from "./dropdown/combobox.js";
|
|
10
|
+
import u from "./dropdown/multi-select.js";
|
|
10
11
|
import "./dropdown/index.js";
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import { createDialogHost as
|
|
14
|
-
import
|
|
12
|
+
import d from "./dialog/dialog.js";
|
|
13
|
+
import f from "./dialog/feedback-dialog.js";
|
|
14
|
+
import { createDialogHost as p, dialogHostKey as m, provideDialogHost as h, useDialog as g } from "./dialog/use-dialog-host.js";
|
|
15
|
+
import _ from "./dialog/dialog-host.js";
|
|
15
16
|
import "./dialog/index.js";
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import {
|
|
19
|
-
import
|
|
17
|
+
import v from "./progress/document-progress-bar.js";
|
|
18
|
+
import "./progress/index.js";
|
|
19
|
+
import { CATEGORY_ELEMENTS as y, ELEMENT_TO_COLOR as b } from "./icons/element-color-map.generated.js";
|
|
20
|
+
import { ELEMENT_TO_ICON as x } from "./icons/element-icon-mapper.js";
|
|
21
|
+
import { collectExpandableNodeIds as S } from "./explorer/collect-expandable-node-ids.js";
|
|
22
|
+
import C from "./explorer/explorer.js";
|
|
20
23
|
import "./explorer/index.js";
|
|
21
|
-
import { highlightCode as
|
|
22
|
-
import
|
|
23
|
-
import { diffLines as
|
|
24
|
-
import
|
|
24
|
+
import { highlightCode as w } from "./code/highlight.js";
|
|
25
|
+
import T from "./code/code-block.js";
|
|
26
|
+
import { diffLines as E } from "./code/diff.js";
|
|
27
|
+
import D from "./code/xml-diff.js";
|
|
25
28
|
import "./code/index.js";
|
|
26
|
-
import
|
|
27
|
-
import
|
|
28
|
-
import
|
|
29
|
-
import
|
|
30
|
-
import { useMergeSession as
|
|
31
|
-
import
|
|
29
|
+
import O from "./merge/decision-toggle.js";
|
|
30
|
+
import k from "./merge/element-detail.js";
|
|
31
|
+
import A from "./merge/merge-tree.js";
|
|
32
|
+
import j from "./merge/type-name-authority.js";
|
|
33
|
+
import { useMergeSession as M } from "./merge/use-merge-session.js";
|
|
34
|
+
import N from "./merge/merge-review.js";
|
|
32
35
|
import "./merge/index.js";
|
|
33
|
-
export {
|
|
36
|
+
export { s as Button, y as CATEGORY_ELEMENTS, T as CodeBlock, l as Combobox, O as DecisionToggle, d as Dialog, _ as DialogHost, v as DocumentProgressBar, c as Dropdown, b as ELEMENT_TO_COLOR, x as ELEMENT_TO_ICON, k as ElementDetail, f as FeedbackDialog, N as MergeReview, A as MergeTree, u as MultiSelect, C as SclExplorer, j as TypeNameAuthority, D as XmlDiff, S as collectExpandableNodeIds, p as createDialogHost, e as createDocumentStore, m as dialogHostKey, E as diffLines, w as highlightCode, h as provideDialogHost, i as useActiveDocument, t as useDialecteChannel, g as useDialog, a as useDocumentProgress, o as useDocumentState, n as useLiveData, M as useMergeSession, r as useProjectLiveData };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import e from "../external/.pnpm/@lucide_vue@1.23.0_vue@3.5.39_typescript@5.8.3_/node_modules/@lucide/vue/dist/esm/icons/triangle-alert.js";
|
|
2
|
-
import { TEMPLATE_UUID_WARNING_INFO as t } from "../external/.pnpm/@dialecte_scl@0.3.
|
|
2
|
+
import { TEMPLATE_UUID_WARNING_INFO as t } from "../external/.pnpm/@dialecte_scl@0.3.14/node_modules/@dialecte/scl/dist/v2019C1/index.js";
|
|
3
3
|
import { Fragment as n, computed as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createVNode as s, defineComponent as c, openBlock as l, renderList as u, toDisplayString as d, unref as f } from "vue";
|
|
4
4
|
//#region lib/merge/merge-preflight.vue?vue&type=script&setup=true&lang.ts
|
|
5
5
|
var p = { class: "flex h-full min-h-0 flex-col" }, m = { class: "min-h-0 flex-1 overflow-auto p-4" }, h = { class: "mx-auto max-w-2xl space-y-4" }, g = { class: "flex items-start gap-3" }, _ = { class: "border-b border-warning/25 px-3 py-2" }, v = { class: "flex items-center gap-2" }, y = { class: "badge badge-soft badge-warning badge-sm font-medium" }, b = { class: "font-semibold" }, x = { class: "mt-1 text-sm text-base-content/80" }, S = { class: "mt-1 text-sm" }, C = { class: "text-base-content/80" }, w = { class: "divide-y divide-warning/15" }, T = { class: "font-mono break-all" }, E = { class: "text-base-content/70" }, D = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { i as e } from "../external/.pnpm/@dialecte_scl@0.3.
|
|
2
|
-
import "../external/.pnpm/@dialecte_scl@0.3.
|
|
1
|
+
import { i as e } from "../external/.pnpm/@dialecte_scl@0.3.14/node_modules/@dialecte/scl/dist/hooks-By65uB-0.js";
|
|
2
|
+
import "../external/.pnpm/@dialecte_scl@0.3.14/node_modules/@dialecte/scl/dist/v2019C1/index.js";
|
|
3
3
|
//#region lib/merge/merge.service.ts
|
|
4
4
|
async function t(e, t) {
|
|
5
5
|
return e.query.lifecycle.report(t);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useDocumentProgress as e, useDocumentState as t } from "../dialecte/composables/use-document-state.js";
|
|
2
|
+
import "../dialecte/composables/index.js";
|
|
3
|
+
import { computed as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, defineComponent as o, openBlock as s, toDisplayString as c, unref as l } from "vue";
|
|
4
|
+
//#region lib/progress/document-progress-bar.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
+
var u = {
|
|
6
|
+
key: 0,
|
|
7
|
+
class: "min-w-0 space-y-1"
|
|
8
|
+
}, d = { class: "flex items-center justify-between gap-2 text-xs" }, f = { class: "truncate text-base-content/70" }, p = { class: "shrink-0 text-base-content/50" }, m = ["value"], h = /*@__PURE__*/ o({
|
|
9
|
+
__name: "document-progress-bar",
|
|
10
|
+
props: {
|
|
11
|
+
document: {},
|
|
12
|
+
active: { type: Boolean },
|
|
13
|
+
fallbackLabel: { default: "Working…" }
|
|
14
|
+
},
|
|
15
|
+
setup(o) {
|
|
16
|
+
let h = o, g = t(() => h.document), _ = e(() => h.document), v = n(() => h.active ?? g.value.loading);
|
|
17
|
+
return (e, t) => v.value ? (s(), i("div", u, [a("div", d, [a("span", f, c(l(_).label || o.fallbackLabel), 1), a("span", p, c(Math.round(l(_).fraction * 100)) + "% ", 1)]), a("progress", {
|
|
18
|
+
class: "progress progress-primary w-full",
|
|
19
|
+
value: l(_).fraction,
|
|
20
|
+
max: "1"
|
|
21
|
+
}, null, 8, m)])) : r("", !0);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
//#endregion
|
|
25
|
+
export { h as default };
|