dlzn-ui 1.15.0 → 1.17.0

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.
@@ -0,0 +1,2 @@
1
+ export * from './src/card';
2
+ export { default as TCard } from './src/card.vue';
@@ -0,0 +1,3 @@
1
+ import { cardPropsInit as e } from "./src/card.mjs";
2
+ import t from "./src/card2.mjs";
3
+ export { t as TCard, e as cardPropsInit };
@@ -0,0 +1,11 @@
1
+ import { CardProps as _CardProps } from 'tdesign-vue-next';
2
+ export declare const cardPropsInit: {
3
+ readonly bodyFullHeight: false;
4
+ readonly headerBordered: true;
5
+ readonly shadow: true;
6
+ readonly titleEllipsis: false;
7
+ };
8
+ export type CardProps = Omit<_CardProps, 'content'> & {
9
+ bodyFullHeight?: boolean;
10
+ titleEllipsis?: boolean;
11
+ };
@@ -0,0 +1,9 @@
1
+ //#region src/components/card/src/card.ts
2
+ var e = {
3
+ bodyFullHeight: !1,
4
+ headerBordered: !0,
5
+ shadow: !0,
6
+ titleEllipsis: !1
7
+ };
8
+ //#endregion
9
+ export { e as cardPropsInit };
@@ -0,0 +1,10 @@
1
+ import { CardProps } from './card';
2
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
+ declare const __VLS_export: DefineComponent<CardProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<CardProps> & Readonly<{}>, {
4
+ headerBordered: boolean;
5
+ shadow: boolean;
6
+ bodyFullHeight: boolean;
7
+ titleEllipsis: boolean;
8
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
9
+ declare const _default: typeof __VLS_export;
10
+ export default _default;
@@ -0,0 +1,58 @@
1
+ import { cardPropsInit as e } from "./card.mjs";
2
+ import { computed as t, createBlock as n, defineComponent as r, getCurrentInstance as i, h as a, mergeDefaults as o, mergeProps as s, openBlock as c, resolveDynamicComponent as l, unref as u } from "vue";
3
+ import { Card as d } from "tdesign-vue-next";
4
+ //#region src/components/card/src/card.vue?vue&type=script&setup=true&lang.ts
5
+ var f = /*@__PURE__*/ r({
6
+ inheritAttrs: !1,
7
+ name: "TCard",
8
+ __name: "card",
9
+ props: /*@__PURE__*/ o({
10
+ actions: {},
11
+ avatar: {},
12
+ bordered: { type: Boolean },
13
+ bodyClassName: {},
14
+ bodyStyle: {},
15
+ cover: {},
16
+ default: {},
17
+ description: {},
18
+ footer: {},
19
+ footerClassName: {},
20
+ footerStyle: {},
21
+ header: {},
22
+ headerClassName: {},
23
+ headerStyle: {},
24
+ headerBordered: { type: Boolean },
25
+ hoverShadow: { type: Boolean },
26
+ loading: { type: Boolean },
27
+ loadingProps: {},
28
+ shadow: { type: Boolean },
29
+ size: {},
30
+ status: {},
31
+ subtitle: {},
32
+ theme: {},
33
+ title: {},
34
+ bodyFullHeight: { type: Boolean },
35
+ titleEllipsis: { type: Boolean }
36
+ }, e),
37
+ setup(e) {
38
+ let r = e, o = t(() => {
39
+ let e = { ...r };
40
+ return delete e.bodyFullHeight, delete e.titleEllipsis, Object.keys(e).forEach((t) => {
41
+ e[t] === void 0 && delete e[t];
42
+ }), e;
43
+ }), f = d, p = i();
44
+ function m(e) {
45
+ p.exposed = e ?? {};
46
+ }
47
+ return (t, r) => (c(), n(l(a(u(f), s(t.$attrs, {
48
+ ...o.value,
49
+ ref: m,
50
+ bodyClassName: [e.bodyFullHeight ? "flex-1" : "", o.value.bodyClassName].filter(Boolean).join(" ")
51
+ }, { class: {
52
+ "flex flex-col": e.bodyFullHeight,
53
+ title_ellipsis: e.titleEllipsis
54
+ } }), t.$slots))));
55
+ }
56
+ });
57
+ //#endregion
58
+ export { f as default };
@@ -0,0 +1,2 @@
1
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
+ .title_ellipsis[data-v-19794e6f] .t-card__header-wrapper{display:inline;overflow:hidden}.title_ellipsis[data-v-19794e6f] .t-card__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}[data-v-19794e6f] .t-card__title{line-height:32px}[data-v-19794e6f] .t-card__header{align-items:flex-start}[data-v-19794e6f] .t-card__title--bordered:last-child{border-bottom:none}[data-v-19794e6f] .t-card__body:has(>.t-form:last-child){padding-bottom:0}[data-v-19794e6f] .t-card__actions{min-height:32px;color:inherit;align-items:center;display:flex}[data-v-19794e6f] .t-loading__parent:has(.t-card__body.flex-1){flex-direction:column;flex:1;display:flex;overflow-y:auto}
@@ -0,0 +1,7 @@
1
+ import e from "./card.vue_vue_type_script_setup_true_lang.mjs";
2
+ import './card.vue_vue_type_style_index_0_scoped_19794e6f_lang.css';/* empty css */
3
+ import t from "../../../_virtual/_plugin-vue_export-helper.mjs";
4
+ //#region src/components/card/src/card.vue
5
+ var n = /*#__PURE__*/ t(e, [["__scopeId", "data-v-19794e6f"]]);
6
+ //#endregion
7
+ export { n as default };
@@ -1 +1 @@
1
- export * from './button';
1
+ export * from './card';
@@ -1,4 +1,4 @@
1
- import { buttonProps as e } from "./button/src/button.mjs";
2
- import t from "./button/src/button2.mjs";
3
- import "./button/index.mjs";
4
- export { t as Button, e as buttonProps };
1
+ import { cardPropsInit as e } from "./card/src/card.mjs";
2
+ import t from "./card/src/card2.mjs";
3
+ import "./card/index.mjs";
4
+ export { t as TCard, e as cardPropsInit };
package/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { buttonProps as e } from "./components/button/src/button.mjs";
2
- import t from "./components/button/src/button2.mjs";
1
+ import { cardPropsInit as e } from "./components/card/src/card.mjs";
2
+ import t from "./components/card/src/card2.mjs";
3
3
  import "./components/index.mjs";
4
- export { t as Button, e as buttonProps };
4
+ export { t as TCard, e as cardPropsInit };
package/package.json CHANGED
@@ -29,6 +29,7 @@
29
29
  "@antfu/eslint-config": "^9.3.0",
30
30
  "@prettier/plugin-xml": "^3.4.2",
31
31
  "@stylistic/stylelint-config": "^5.0.0",
32
+ "@tailwindcss/vite": "^4.3.3",
32
33
  "@tsconfig/node-lts": "^24.0.0",
33
34
  "@types/node": "^26.1.2",
34
35
  "@vitejs/plugin-vue": "^6.0.8",
@@ -49,8 +50,11 @@
49
50
  "stylelint-define-config": "^17.14.0",
50
51
  "stylelint-order": "^8.1.1",
51
52
  "stylelint-use-nesting": "^6.0.2",
53
+ "tailwindcss": "^4.3.3",
54
+ "tdesign-vue-next": "^1.20.5",
52
55
  "typescript": "^6.0.3",
53
56
  "vite": "^8.2.0",
57
+ "vite-plugin-vue-tailwind-auto-reference": "^2.0.2",
54
58
  "vue": "^3.5.41",
55
59
  "vue-tsc": "^3.3.9"
56
60
  },
@@ -58,5 +62,6 @@
58
62
  "**/*.css"
59
63
  ],
60
64
  "type": "module",
61
- "version": "1.15.0"
65
+ "version": "1.17.0",
66
+ "scripts": {}
62
67
  }
package/utils/index.d.ts CHANGED
@@ -2,3 +2,4 @@ export * from './boolean';
2
2
  export * from './number';
3
3
  export * from './string';
4
4
  export * from './tool';
5
+ export * from './tree';
package/utils/index.mjs CHANGED
@@ -2,4 +2,5 @@ import { isFalsy as e, isValidNumberString as t } from "./boolean.mjs";
2
2
  import { formatNumber as n, formatSecondsToChinese as r } from "./number.mjs";
3
3
  import { getFilenameFromUrl as i, queryStringToObject as a, stringDisplay as o } from "./string.mjs";
4
4
  import { aesDecrypt as s, aesEncrypt as c, saveAs as l } from "./tool.mjs";
5
- export { s as aesDecrypt, c as aesEncrypt, n as formatNumber, r as formatSecondsToChinese, i as getFilenameFromUrl, e as isFalsy, t as isValidNumberString, a as queryStringToObject, l as saveAs, o as stringDisplay };
5
+ import { flatArrToTree as u, treeToFlatArr as d } from "./tree.mjs";
6
+ export { s as aesDecrypt, c as aesEncrypt, u as flatArrToTree, n as formatNumber, r as formatSecondsToChinese, i as getFilenameFromUrl, e as isFalsy, t as isValidNumberString, a as queryStringToObject, l as saveAs, o as stringDisplay, d as treeToFlatArr };
@@ -0,0 +1,26 @@
1
+ interface TreeNode {
2
+ [key: string]: any;
3
+ children?: TreeNode[];
4
+ }
5
+ /**
6
+ * 将扁平数组转换为树形结构
7
+ * @param data 扁平数据数组
8
+ * @param options 配置选项
9
+ * @param options.childrenKey 子节点键名
10
+ * @param options.idKey 节点ID键名
11
+ * @param options.parentKey 节点父ID键名
12
+ * @param options.rootParentId 根节点ID键名
13
+ * @returns 树形结构数组
14
+ */
15
+ export declare function flatArrToTree(data: Record<string, any>[], options?: {
16
+ childrenKey?: string;
17
+ idKey?: string;
18
+ parentKey?: string;
19
+ rootParentId?: null | string;
20
+ }): TreeNode[];
21
+ export declare function treeToFlatArr(tree: TreeNode[], options?: {
22
+ idKey?: string;
23
+ includeLevel?: boolean;
24
+ includeParent?: boolean;
25
+ }): Record<string, any>[];
26
+ export {};
package/utils/tree.mjs ADDED
@@ -0,0 +1,36 @@
1
+ //#region src/utils/tree.ts
2
+ function e(e, t = {}) {
3
+ let { childrenKey: n = "children", idKey: r = "id", parentKey: i = "parentId", rootParentId: a = null } = t;
4
+ if (!Array.isArray(e)) throw TypeError("flatArrToTree: 输入参数 data 必须是数组");
5
+ if (e.length === 0) return [];
6
+ let o = [], s = /* @__PURE__ */ new Map();
7
+ for (let t of e) {
8
+ let e = t[r];
9
+ if (e == null) {
10
+ console.warn(`flatArrToTree: 数据项缺少 ${r} 属性`, t);
11
+ continue;
12
+ }
13
+ let n = {
14
+ ...t,
15
+ children: []
16
+ };
17
+ s.has(e) && console.warn(`flatArrToTree: 检测到重复的 ${r}: ${e}`), s.set(e, n);
18
+ }
19
+ for (let [e, t] of s) {
20
+ let e = t[i];
21
+ e == null || e === a || !s.has(e) ? o.push(t) : s.get(e)[n].push(t);
22
+ }
23
+ return o;
24
+ }
25
+ function t(e, t) {
26
+ let { idKey: n = "id", includeLevel: r = !1, includeParent: i = !1 } = t ?? {}, a = [];
27
+ function o(e, t = 0, s = null) {
28
+ Array.isArray(e) && e.forEach((e) => {
29
+ let { children: c, ...l } = e;
30
+ r && (l.level = t), i && (l.parentId = s), a.push(l), Array.isArray(c) && o(c, t + 1, e[n]);
31
+ });
32
+ }
33
+ return o(e), a;
34
+ }
35
+ //#endregion
36
+ export { e as flatArrToTree, t as treeToFlatArr };
@@ -1,2 +0,0 @@
1
- export * from './src/button';
2
- export { default as Button } from './src/button.vue';
@@ -1,3 +0,0 @@
1
- import { buttonProps as e } from "./src/button.mjs";
2
- import t from "./src/button2.mjs";
3
- export { t as Button, e as buttonProps };
@@ -1,28 +0,0 @@
1
- import { ExtractPropTypes } from 'vue';
2
- export declare const buttonProps: {
3
- circle: {
4
- default: boolean;
5
- type: BooleanConstructor;
6
- };
7
- disabled: {
8
- default: boolean;
9
- type: BooleanConstructor;
10
- };
11
- icon: {
12
- default: string;
13
- type: StringConstructor;
14
- };
15
- plain: {
16
- default: boolean;
17
- type: BooleanConstructor;
18
- };
19
- round: {
20
- default: boolean;
21
- type: BooleanConstructor;
22
- };
23
- type: {
24
- default: string;
25
- type: StringConstructor;
26
- };
27
- };
28
- export type ButtonProps = ExtractPropTypes<typeof buttonProps>;
@@ -1,29 +0,0 @@
1
- //#region src/components/button/src/button.ts
2
- var e = {
3
- circle: {
4
- default: !1,
5
- type: Boolean
6
- },
7
- disabled: {
8
- default: !1,
9
- type: Boolean
10
- },
11
- icon: {
12
- default: "",
13
- type: String
14
- },
15
- plain: {
16
- default: !1,
17
- type: Boolean
18
- },
19
- round: {
20
- default: !1,
21
- type: Boolean
22
- },
23
- type: {
24
- default: "default",
25
- type: String
26
- }
27
- };
28
- //#endregion
29
- export { e as buttonProps };
@@ -1,65 +0,0 @@
1
- import { DefineComponent, ExtractPropTypes, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
- declare const _default: typeof __VLS_export;
3
- export default _default;
4
- declare const __VLS_export: DefineComponent<ExtractPropTypes<{
5
- circle: {
6
- default: boolean;
7
- type: BooleanConstructor;
8
- };
9
- disabled: {
10
- default: boolean;
11
- type: BooleanConstructor;
12
- };
13
- icon: {
14
- default: string;
15
- type: StringConstructor;
16
- };
17
- plain: {
18
- default: boolean;
19
- type: BooleanConstructor;
20
- };
21
- round: {
22
- default: boolean;
23
- type: BooleanConstructor;
24
- };
25
- type: {
26
- default: string;
27
- type: StringConstructor;
28
- };
29
- }>, {
30
- clickHandle: (e: Event) => void;
31
- }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, "click"[], "click", PublicProps, Readonly< ExtractPropTypes<{
32
- circle: {
33
- default: boolean;
34
- type: BooleanConstructor;
35
- };
36
- disabled: {
37
- default: boolean;
38
- type: BooleanConstructor;
39
- };
40
- icon: {
41
- default: string;
42
- type: StringConstructor;
43
- };
44
- plain: {
45
- default: boolean;
46
- type: BooleanConstructor;
47
- };
48
- round: {
49
- default: boolean;
50
- type: BooleanConstructor;
51
- };
52
- type: {
53
- default: string;
54
- type: StringConstructor;
55
- };
56
- }>> & Readonly<{
57
- onClick?: ((...args: any[]) => any) | undefined;
58
- }>, {
59
- circle: boolean;
60
- disabled: boolean;
61
- icon: string;
62
- plain: boolean;
63
- round: boolean;
64
- type: string;
65
- }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
@@ -1,16 +0,0 @@
1
- import { buttonProps as e } from "./button.mjs";
2
- import { defineComponent as t } from "vue";
3
- //#region src/components/button/src/button.vue?vue&type=script&lang.ts
4
- var n = t({
5
- emits: ["click"],
6
- name: "DuyiButton",
7
- props: e,
8
- setup(e, { emit: t }) {
9
- function n(e) {
10
- t("click", e);
11
- }
12
- return { clickHandle: n };
13
- }
14
- });
15
- //#endregion
16
- export { n as default };
@@ -1 +0,0 @@
1
- .duyi-button[data-v-4046b257]{color:#606266;cursor:pointer;background-color:#fff;border:1px solid #dcdfe6;border-radius:4px;justify-content:center;align-items:center;padding:8px 16px;font-size:14px;line-height:1;display:inline-flex}.duyi-button[data-v-4046b257]:hover{color:#409eff;border-color:#c6e2ff}.duyi-button.is-disabled[data-v-4046b257],.duyi-button[data-v-4046b257]:disabled{cursor:not-allowed;opacity:.6}.duyi-button.is-round[data-v-4046b257]{border-radius:20px}.duyi-button.is-circle[data-v-4046b257]{border-radius:50%;padding:8px}.duyi-button-primary[data-v-4046b257]{color:#fff;background-color:#409eff;border-color:#409eff}.duyi-button-primary[data-v-4046b257]:hover{color:#fff;background-color:#66b1ff;border-color:#66b1ff}
@@ -1,24 +0,0 @@
1
- import e from "./button.vue_vue_type_script_lang.mjs";
2
- import './button.vue_vue_type_style_index_0_scoped_4046b257_lang.css';/* empty css */
3
- import t from "../../../_virtual/_plugin-vue_export-helper.mjs";
4
- import { createCommentVNode as n, createElementBlock as r, normalizeClass as i, openBlock as a, renderSlot as o } from "vue";
5
- //#region src/components/button/src/button.vue
6
- var s = ["disabled"], c = { key: 1 };
7
- function l(e, t, l, u, d, f) {
8
- return a(), r("button", {
9
- class: i(["duyi-button", [`duyi-button-${e.type}`, {
10
- "is-plain": e.plain,
11
- "is-round": e.round,
12
- "is-circle": e.circle,
13
- "is-disabled": e.disabled
14
- }]]),
15
- disabled: e.disabled,
16
- onClick: t[0] ||= (...t) => e.clickHandle && e.clickHandle(...t)
17
- }, [e.icon ? (a(), r("i", {
18
- key: 0,
19
- class: i(`duyi-icon-${e.icon}`)
20
- }, null, 2)) : n("", !0), e.$slots.default ? (a(), r("span", c, [o(e.$slots, "default", {}, void 0, !0)])) : n("", !0)], 10, s);
21
- }
22
- var u = /*#__PURE__*/ t(e, [["render", l], ["__scopeId", "data-v-4046b257"]]);
23
- //#endregion
24
- export { u as default };