@duxweb/dvha-core 0.1.18 → 0.1.19

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.
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const V=require("@vueuse/core"),Q=require("colorizr"),W=require("pinia"),f=require("vue");require("lodash-es");const X=require("../stores/theme.cjs"),Y=require("./manage.cjs"),Z=require("./themeColor.cjs");function _(){var B,M;const b=X.useThemeStore(),{mode:O}=W.storeToRefs(b),C=V.useColorMode({storageRef:O}),h=Y.useManage(),{state:x,next:y,go:S}=V.useCycleList(["dark","light","auto"],{initialValue:C.store.value});f.watchEffect(()=>{C.value=x.value});const I=t=>{switch(t){case"auto":S(2);break;case"light":S(1);break;case"dark":S(0);break}},g=f.computed(()=>{const{system:t,store:e}=C;return e.value==="auto"?t.value==="dark":e.value==="dark"}),L=f.computed(()=>{var t,e,r,a,i,u,o,s;return g.value?{logo:(e=(t=h.config)==null?void 0:t.theme)==null?void 0:e.darkLogo,banner:(a=(r=h.config)==null?void 0:r.theme)==null?void 0:a.darkBanner}:{logo:(u=(i=h.config)==null?void 0:i.theme)==null?void 0:u.logo,banner:(s=(o=h.config)==null?void 0:o.theme)==null?void 0:s.banner}}),n={...{colors:Z.themeColor,colorTypes:["primary","info","success","warning","error","gray"],colorShades:["50","100","200","300","400","500","600","700","800","900","950"],colorScenes:{light:{default:{default:"500",hover:"600",pressed:"700",focus:"500",disabled:"300"}},dark:{default:{default:"500",hover:"400",pressed:"300",focus:"500",disabled:"600"}}},colorSemantic:{light:{text:{dimmed:"400",muted:"500",toned:"600",base:"700",highlighted:"900",inverted:"white"},bg:{base:"white",muted:"50",elevated:"100",accented:"200",inverted:"900"},border:{base:"200",muted:"200",accented:"300",inverted:"900"}},dark:{text:{dimmed:"600",muted:"500",toned:"300",base:"200",highlighted:"100",inverted:"black"},bg:{base:"950",muted:"900",elevated:"800",accented:"700",inverted:"100"},border:{base:"900",muted:"800",accented:"700",inverted:"100"}}},colorBase:{white:"#ffffff",black:"#000000"}},...(M=(B=h.config)==null?void 0:B.theme)==null?void 0:M.config},{colorShades:k,colorTypes:w}=n,m=f.computed(()=>b.theme),$=f.computed(()=>Object.keys(n.colors)),T=["default","hover","pressed","focus","disabled"];function z(){return g.value?n.colorScenes.dark:n.colorScenes.light}function j(t,e){var i;const r=z(),a=r.default;if((i=r.overrides)!=null&&i[t]){const u=r.overrides[t],o=u==null?void 0:u[e];if(o)return o}return a[e]||"500"}function q(t,e){var a;const r=m.value[t];return((a=n.colors[r])==null?void 0:a[e])||""}function c(t,e,r){const i=(g.value?n.colorSemantic.dark:n.colorSemantic.light)[t][e];return i==="white"||i==="black"?`var(--ui-color-${i})`:`var(--base-color-${r}-${i})`}const p=t=>{const e=Q.hex2rgb(t);return`${e.r} ${e.g} ${e.b}`};function R(){var i,u;const t=[];Object.entries(n.colors).forEach(([o,s])=>{typeof s=="object"&&Object.entries(s).forEach(([l,d])=>{try{t.push(`--base-color-${o}-${l}: ${p(d)};`)}catch{t.push(`--base-color-${o}-${l}: ${d};`)}})});const e=[];w.forEach(o=>{const s=m.value[o];k.forEach(l=>{e.push(`--ui-color-${o}-${l}: var(--base-color-${s}-${l});`)}),T.forEach(l=>{const d=j(o,l);l==="default"?e.push(`--ui-color-${o}: var(--base-color-${s}-${d});`):e.push(`--ui-color-${o}-${l}: var(--base-color-${s}-${d});`)})});const r=m.value.gray,a=[`--ui-color-white: ${p(((i=n.colorBase)==null?void 0:i.white)||"#ffffff")};`,`--ui-color-black: ${p(((u=n.colorBase)==null?void 0:u.black)||"#000000")};`,`--ui-text-dimmed: ${c("text","dimmed",r)};`,`--ui-text-muted: ${c("text","muted",r)};`,`--ui-text-toned: ${c("text","toned",r)};`,`--ui-text: ${c("text","base",r)};`,`--ui-text-highlighted: ${c("text","highlighted",r)};`,`--ui-text-inverted: ${c("text","inverted",r)};`,`--ui-bg: ${c("bg","base",r)};`,`--ui-bg-muted: ${c("bg","muted",r)};`,`--ui-bg-elevated: ${c("bg","elevated",r)};`,`--ui-bg-accented: ${c("bg","accented",r)};`,`--ui-bg-inverted: ${c("bg","inverted",r)};`,`--ui-border: ${c("border","base",r)};`,`--ui-border-muted: ${c("border","muted",r)};`,`--ui-border-accented: ${c("border","accented",r)};`,`--ui-border-inverted: ${c("border","inverted",r)};`];return`:root {
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const V=require("@vueuse/core"),Q=require("colorizr"),W=require("pinia"),f=require("vue");require("lodash-es");const X=require("../stores/theme.cjs"),Y=require("./manage.cjs"),Z=require("./themeColor.cjs");function _(){var B,M;const b=X.useThemeStore(),{mode:O}=W.storeToRefs(b),C=V.useColorMode({storageRef:O}),h=Y.useManage(),{state:x,next:y,go:S}=V.useCycleList(["dark","light","auto"],{initialValue:C.store.value});f.watchEffect(()=>{C.value=x.value});const I=t=>{switch(t){case"auto":S(2);break;case"light":S(1);break;case"dark":S(0);break}},g=f.computed(()=>{const{system:t,store:e}=C;return e.value==="auto"?t.value==="dark":e.value==="dark"}),L=f.computed(()=>{var t,e,r,a,i,u,o,s;return g.value?{logo:(e=(t=h.config)==null?void 0:t.theme)==null?void 0:e.darkLogo,banner:(a=(r=h.config)==null?void 0:r.theme)==null?void 0:a.darkBanner}:{logo:(u=(i=h.config)==null?void 0:i.theme)==null?void 0:u.logo,banner:(s=(o=h.config)==null?void 0:o.theme)==null?void 0:s.banner}}),n={...{colors:Z.themeColor,colorTypes:["primary","info","success","warning","error","gray"],colorShades:["50","100","200","300","400","500","600","700","800","900","950"],colorScenes:{light:{default:{default:"500",hover:"600",pressed:"700",focus:"500",disabled:"300"}},dark:{default:{default:"500",hover:"400",pressed:"300",focus:"500",disabled:"600"}}},colorSemantic:{light:{text:{dimmed:"400",muted:"500",toned:"600",base:"700",highlighted:"900",inverted:"white"},bg:{base:"white",muted:"50",elevated:"100",accented:"200",inverted:"900"},border:{base:"200",muted:"200",accented:"300",inverted:"900"}},dark:{text:{dimmed:"600",muted:"500",toned:"400",base:"300",highlighted:"100",inverted:"black"},bg:{base:"950",muted:"900",elevated:"800",accented:"700",inverted:"100"},border:{base:"900",muted:"800",accented:"700",inverted:"100"}}},colorBase:{white:"#ffffff",black:"#000000"}},...(M=(B=h.config)==null?void 0:B.theme)==null?void 0:M.config},{colorShades:k,colorTypes:w}=n,m=f.computed(()=>b.theme),$=f.computed(()=>Object.keys(n.colors)),T=["default","hover","pressed","focus","disabled"];function z(){return g.value?n.colorScenes.dark:n.colorScenes.light}function j(t,e){var i;const r=z(),a=r.default;if((i=r.overrides)!=null&&i[t]){const u=r.overrides[t],o=u==null?void 0:u[e];if(o)return o}return a[e]||"500"}function q(t,e){var a;const r=m.value[t];return((a=n.colors[r])==null?void 0:a[e])||""}function c(t,e,r){const i=(g.value?n.colorSemantic.dark:n.colorSemantic.light)[t][e];return i==="white"||i==="black"?`var(--ui-color-${i})`:`var(--base-color-${r}-${i})`}const p=t=>{const e=Q.hex2rgb(t);return`${e.r} ${e.g} ${e.b}`};function R(){var i,u;const t=[];Object.entries(n.colors).forEach(([o,s])=>{typeof s=="object"&&Object.entries(s).forEach(([l,d])=>{try{t.push(`--base-color-${o}-${l}: ${p(d)};`)}catch{t.push(`--base-color-${o}-${l}: ${d};`)}})});const e=[];w.forEach(o=>{const s=m.value[o];k.forEach(l=>{e.push(`--ui-color-${o}-${l}: var(--base-color-${s}-${l});`)}),T.forEach(l=>{const d=j(o,l);l==="default"?e.push(`--ui-color-${o}: var(--base-color-${s}-${d});`):e.push(`--ui-color-${o}-${l}: var(--base-color-${s}-${d});`)})});const r=m.value.gray,a=[`--ui-color-white: ${p(((i=n.colorBase)==null?void 0:i.white)||"#ffffff")};`,`--ui-color-black: ${p(((u=n.colorBase)==null?void 0:u.black)||"#000000")};`,`--ui-text-dimmed: ${c("text","dimmed",r)};`,`--ui-text-muted: ${c("text","muted",r)};`,`--ui-text-toned: ${c("text","toned",r)};`,`--ui-text: ${c("text","base",r)};`,`--ui-text-highlighted: ${c("text","highlighted",r)};`,`--ui-text-inverted: ${c("text","inverted",r)};`,`--ui-bg: ${c("bg","base",r)};`,`--ui-bg-muted: ${c("bg","muted",r)};`,`--ui-bg-elevated: ${c("bg","elevated",r)};`,`--ui-bg-accented: ${c("bg","accented",r)};`,`--ui-bg-inverted: ${c("bg","inverted",r)};`,`--ui-border: ${c("border","base",r)};`,`--ui-border-muted: ${c("border","muted",r)};`,`--ui-border-accented: ${c("border","accented",r)};`,`--ui-border-inverted: ${c("border","inverted",r)};`];return`:root {
2
2
  ${t.join(`
3
3
  `)}
4
4
  ${e.join(`
@@ -63,7 +63,7 @@ function de() {
63
63
  border: { base: "200", muted: "200", accented: "300", inverted: "900" }
64
64
  },
65
65
  dark: {
66
- text: { dimmed: "600", muted: "500", toned: "300", base: "200", highlighted: "100", inverted: "black" },
66
+ text: { dimmed: "600", muted: "500", toned: "400", base: "300", highlighted: "100", inverted: "black" },
67
67
  bg: { base: "950", muted: "900", elevated: "800", accented: "700", inverted: "100" },
68
68
  border: { base: "900", muted: "800", accented: "700", inverted: "100" }
69
69
  }
@@ -0,0 +1,10 @@
1
+ import type { IJsonAdaptor } from './types';
2
+ import { vForAdaptor } from './vFor';
3
+ import { vIfAdaptor } from './vIf';
4
+ import { vModelAdaptor } from './vModel';
5
+ import { vOnAdaptor } from './vOn';
6
+ import { vShowAdaptor } from './vShow';
7
+ import { vTextAdaptor } from './vText';
8
+ export declare const defaultAdaptors: IJsonAdaptor[];
9
+ export * from './types';
10
+ export { vForAdaptor, vIfAdaptor, vModelAdaptor, vOnAdaptor, vShowAdaptor, vTextAdaptor, };
@@ -0,0 +1,28 @@
1
+ import type { Component } from 'vue';
2
+ export interface JsonSchemaNode {
3
+ tag: string | Component;
4
+ attrs?: Record<string, any>;
5
+ children?: JsonSchemaNode | JsonSchemaNode[] | string;
6
+ slots?: Record<string, SlotContent>;
7
+ }
8
+ export type SlotContent = string | JsonSchemaNode | JsonSchemaNode[] | ((slotProps?: any) => SlotContent);
9
+ export interface IJsonAdaptorResult {
10
+ props: Record<string, any>;
11
+ skip?: boolean;
12
+ nodes?: JsonSchemaNode[];
13
+ }
14
+ export interface IJsonAdaptor {
15
+ name: string;
16
+ priority: number;
17
+ process: (node: JsonSchemaNode, props: Record<string, any>) => IJsonAdaptorResult | null;
18
+ }
19
+ export interface JsonAdaptorOptions {
20
+ adaptors?: IJsonAdaptor[];
21
+ }
22
+ export type EventModifier = 'prevent' | 'stop' | 'once' | 'capture' | 'self' | 'passive';
23
+ export interface VForConfig {
24
+ list: any[];
25
+ item?: string;
26
+ index?: string;
27
+ }
28
+ export type VModelBinding = [object, string] | [() => any, (val: any) => void];
@@ -0,0 +1,34 @@
1
+ /**
2
+ * 合并父子上下文
3
+ */
4
+ export declare function mergeContext(parentContext: Record<string, any>, childContext: Record<string, any>): Record<string, any>;
5
+ /**
6
+ * 从属性中提取上下文
7
+ */
8
+ export declare function extractContext(props: Record<string, any>): Record<string, any>;
9
+ /**
10
+ * 注入上下文到属性
11
+ */
12
+ export declare function injectContext(props: Record<string, any>, context: Record<string, any>): Record<string, any>;
13
+ /**
14
+ * 清理属性中的内部字段
15
+ */
16
+ export declare function cleanProps(props: Record<string, any>): Record<string, any>;
17
+ /**
18
+ * 创建适配器处理结果
19
+ */
20
+ export declare function createAdaptorResult(props: Record<string, any>, options?: {
21
+ skip?: boolean;
22
+ nodes?: any[];
23
+ cleanKeys?: string[];
24
+ }): {
25
+ props: {
26
+ [x: string]: any;
27
+ };
28
+ skip: boolean | undefined;
29
+ nodes: any[] | undefined;
30
+ };
31
+ /**
32
+ * 通用条件求值函数
33
+ */
34
+ export declare function evaluateCondition(value: any, context: Record<string, any>, evaluateExpression: (expr: string, ctx: Record<string, any>) => any): boolean;
@@ -0,0 +1,10 @@
1
+ import jsep from 'jsep';
2
+ export declare function parseExpression(expression: string): jsep.Expression | null;
3
+ export declare function evaluateExpression(expression: string, context: Record<string, any>): any;
4
+ export interface VForParseResult {
5
+ items: any[];
6
+ itemName: string;
7
+ indexName: string;
8
+ }
9
+ export declare function parseVForExpression(expression: string, context: Record<string, any>): VForParseResult;
10
+ export declare function extractVariables(ast: jsep.Expression): string[];
@@ -0,0 +1,2 @@
1
+ import type { IJsonAdaptor } from './types';
2
+ export declare const vForAdaptor: IJsonAdaptor;
@@ -0,0 +1,2 @@
1
+ import type { IJsonAdaptor } from './types';
2
+ export declare const vIfAdaptor: IJsonAdaptor;
@@ -0,0 +1,2 @@
1
+ import type { IJsonAdaptor } from './types';
2
+ export declare const vModelAdaptor: IJsonAdaptor;
@@ -0,0 +1,2 @@
1
+ import type { IJsonAdaptor } from './types';
2
+ export declare const vOnAdaptor: IJsonAdaptor;
@@ -0,0 +1,2 @@
1
+ import type { IJsonAdaptor } from './types';
2
+ export declare const vShowAdaptor: IJsonAdaptor;
@@ -0,0 +1,2 @@
1
+ import type { IJsonAdaptor } from './types';
2
+ export declare const vTextAdaptor: IJsonAdaptor;
@@ -0,0 +1,15 @@
1
+ import type { Ref } from 'vue';
2
+ import type { JsonAdaptorOptions, JsonSchemaNode } from './json/index';
3
+ type JsonSchemaData = JsonSchemaNode[] | Ref<JsonSchemaNode[]>;
4
+ export interface UseJsonSchemaProps extends JsonAdaptorOptions {
5
+ data: JsonSchemaData;
6
+ components?: Record<string, any>;
7
+ context?: Record<string, any> | Ref<Record<string, any>>;
8
+ }
9
+ /**
10
+ * JSON Schema 渲染器
11
+ */
12
+ export declare function useJsonSchema(props: UseJsonSchemaProps): {
13
+ render: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
14
+ };
15
+ export {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@duxweb/dvha-core",
3
3
  "type": "module",
4
- "version": "0.1.18",
4
+ "version": "0.1.19",
5
5
  "author": "DuxWeb",
6
6
  "license": "MIT",
7
7
  "repository": {