@cst-ui/nano-buttons 0.3.2 → 0.4.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.
package/README.md CHANGED
@@ -1,12 +1,12 @@
1
1
  # @cst-ui/nano-buttons
2
2
 
3
- Nano 项目公共前端组件库,基于 Vue 3 和 Element Plus 封装。
4
-
5
- 这个包用于统一提供 Nano 系列按钮、表格、分页组件,并通过子入口提供弹窗标签页化的公共能力。模板中统一使用横线法组件名,例如 `<nano-button>`,不再保留旧命名。
3
+ Nano 项目公共前端组件库,基于 Vue 3 和 Element Plus 封装。
4
+
5
+ 这个包用于统一提供 Nano 系列按钮、表格、分页组件,并通过子入口提供弹窗标签页化的公共能力。模板中统一使用横线法组件名,例如 `<nano-button>`,不再保留旧命名。
6
6
 
7
7
  ## 入口说明
8
8
 
9
- 包内能力按子入口拆分,按钮、表格和弹窗标签页可以分开引入:
9
+ 包内能力按子入口拆分,按钮、表格和弹窗标签页可以分开引入:
10
10
 
11
11
  ```ts
12
12
  // 兼容旧按钮入口
@@ -15,11 +15,11 @@ import NanoButtons from '@cst-ui/nano-buttons'
15
15
  // 明确的按钮入口
16
16
  import NanoButtons from '@cst-ui/nano-buttons/buttons'
17
17
 
18
- // 弹窗标签页入口
19
- import { createNanoDialogTabs } from '@cst-ui/nano-buttons/dialog-tabs'
20
-
21
- // 表格与分页入口
22
- import { CstTable, CstPagination } from '@cst-ui/nano-buttons/table'
18
+ // 弹窗标签页入口
19
+ import { createNanoDialogTabs } from '@cst-ui/nano-buttons/dialog-tabs'
20
+
21
+ // 表格与分页入口
22
+ import { CstTable, CstPagination } from '@cst-ui/nano-buttons/table'
23
23
  ```
24
24
 
25
25
  ## 在线文档
@@ -34,37 +34,37 @@ https://nano-buttons-docs.netlify.app/
34
34
  pnpm add @cst-ui/nano-buttons
35
35
  ```
36
36
 
37
- ## 注册方式
38
-
39
- 安装包只需要执行一次。按钮、表格和弹窗标签页是独立模块,可以分别注册或按需引入;公共样式只需要引入一次:
37
+ ## 注册方式
38
+
39
+ 安装包只需要执行一次。按钮、表格和弹窗标签页是独立模块,可以分别注册或按需引入;公共样式只需要引入一次:
40
40
 
41
41
  ```ts
42
42
  import { createApp } from 'vue'
43
- import App from './App.vue'
44
- import NanoButtons from '@cst-ui/nano-buttons'
45
- import CstTableComponents from '@cst-ui/nano-buttons/table'
46
- import '@cst-ui/nano-buttons/style.css'
47
-
48
- const app = createApp(App)
49
-
50
- app.use(NanoButtons)
51
- app.use(CstTableComponents)
52
- app.mount('#app')
43
+ import App from './App.vue'
44
+ import NanoButtons from '@cst-ui/nano-buttons'
45
+ import CstTableComponents from '@cst-ui/nano-buttons/table'
46
+ import '@cst-ui/nano-buttons/style.css'
47
+
48
+ const app = createApp(App)
49
+
50
+ app.use(NanoButtons)
51
+ app.use(CstTableComponents)
52
+ app.mount('#app')
53
53
  ```
54
54
 
55
- 按钮插件也提供明确的平级子入口,旧入口继续兼容:
55
+ 按钮插件也提供明确的平级子入口,旧入口继续兼容:
56
56
 
57
57
  ```ts
58
- import NanoButtons from '@cst-ui/nano-buttons/buttons'
59
- ```
60
-
61
- 只使用某个表格组件时,不需要全局注册:
62
-
63
- ```ts
64
- import { CstPagination, CstTable } from '@cst-ui/nano-buttons/table'
65
- ```
66
-
67
- 弹窗标签页需要业务项目提供 router、registry、打开模式和 tabAdapter,具体注册方式见下方“弹窗标签页”。
58
+ import NanoButtons from '@cst-ui/nano-buttons/buttons'
59
+ ```
60
+
61
+ 只使用某个表格组件时,不需要全局注册:
62
+
63
+ ```ts
64
+ import { CstPagination, CstTable } from '@cst-ui/nano-buttons/table'
65
+ ```
66
+
67
+ 弹窗标签页需要业务项目提供 router、registry、打开模式和 tabAdapter,具体注册方式见下方“弹窗标签页”。
68
68
 
69
69
  ## 组件列表
70
70
 
@@ -82,9 +82,9 @@ import { CstPagination, CstTable } from '@cst-ui/nano-buttons/table'
82
82
  <nano-delete-button />
83
83
  <nano-submit-button />
84
84
  <nano-cancel-button />
85
- <nano-back-top-button />
86
- <cst-table />
87
- <cst-pagination />
85
+ <nano-back-top-button />
86
+ <cst-table />
87
+ <cst-pagination />
88
88
  ```
89
89
 
90
90
  ## 使用示例
@@ -100,52 +100,66 @@ import { CstPagination, CstTable } from '@cst-ui/nano-buttons/table'
100
100
  <nano-cancel-button>取消</nano-cancel-button>
101
101
  ```
102
102
 
103
+ 删除按钮默认与普通按钮一致,直接触发 `click`。传入 `confirm-title` 后会启用气泡确认,并在用户确认或取消时分别触发 `confirm`、`cancel`:
104
+
105
+ ```vue
106
+ <nano-delete-button
107
+ :confirm-title="$t('common.sureDelete')"
108
+ :confirm-button-text="$t('common.confirm')"
109
+ :cancel-button-text="$t('common.cancel')"
110
+ @confirm="onDeleteConfirm"
111
+ @cancel="onDeleteCancel"
112
+ />
113
+ ```
114
+
115
+ `confirm-title`、`confirm-button-text` 和 `cancel-button-text` 接收最终显示文案,国际化由业务项目调用 `$t()` 后传入。启用确认时,删除操作应绑定 `confirm`,不要绑定 `click`。
116
+
103
117
  不在固定语义里的普通按钮,统一使用 `<nano-button>`:
104
118
 
105
119
  ```vue
106
120
  <nano-button icon="Refresh">刷新</nano-button>
107
121
  <nano-import-button>导入</nano-import-button>
108
- <nano-export-button :loading="exporting">导出</nano-export-button>
109
- ```
110
-
111
- ## 表格与分页
112
-
113
- `CstPagination` 是独立分页组件,只负责展示分页状态和发送变更事件,不请求接口、不处理业务数据。默认显示总数、每页条数、页码和前往指定页;服务端分页页面可以直接接入现有查询方法:
114
-
115
- ```vue
116
- <CstPagination
117
- :current-page="page.currentPage"
118
- :page-size="page.pageSize"
119
- :page-count="page.pageCount"
120
- :page-sizes="page.pageSizes"
121
- @update:current-page="onCurrentPageUpdate"
122
- @update:page-size="onPageSizeUpdate"
123
- />
124
- ```
125
-
126
- 分页激活态和按钮主色共同使用宿主项目的 `--color-brand-primary`。业务项目覆盖一次该 token,按钮和分页会同步跟随主题变化。
127
-
128
- `CstTable` 组合了 Element Plus Table 和 `CstPagination`,默认对传入的完整数组做前端分页。列定义和其他表格属性继续按照 Element Plus Table 使用:
129
-
130
- ```vue
131
- <CstTable
132
- :data="rows"
133
- :default-page-size="10"
134
- >
135
- <el-table-column prop="name" label="名称" />
136
- <el-table-column prop="status" label="状态" />
137
- </CstTable>
138
- ```
139
-
140
- 只需要表格、不需要分页时关闭分页:
141
-
142
- ```vue
143
- <CstTable :data="rows" :pagination="false">
144
- <el-table-column prop="name" label="名称" />
145
- </CstTable>
146
- ```
147
-
148
- ## 依赖说明
122
+ <nano-export-button :loading="exporting">导出</nano-export-button>
123
+ ```
124
+
125
+ ## 表格与分页
126
+
127
+ `CstPagination` 是独立分页组件,只负责展示分页状态和发送变更事件,不请求接口、不处理业务数据。默认显示总数、每页条数、页码和前往指定页;服务端分页页面可以直接接入现有查询方法:
128
+
129
+ ```vue
130
+ <CstPagination
131
+ :current-page="page.currentPage"
132
+ :page-size="page.pageSize"
133
+ :page-count="page.pageCount"
134
+ :page-sizes="page.pageSizes"
135
+ @update:current-page="onCurrentPageUpdate"
136
+ @update:page-size="onPageSizeUpdate"
137
+ />
138
+ ```
139
+
140
+ 分页激活态和按钮主色共同使用宿主项目的 `--color-brand-primary`。业务项目覆盖一次该 token,按钮和分页会同步跟随主题变化。
141
+
142
+ `CstTable` 组合了 Element Plus Table 和 `CstPagination`,默认对传入的完整数组做前端分页。列定义和其他表格属性继续按照 Element Plus Table 使用:
143
+
144
+ ```vue
145
+ <CstTable
146
+ :data="rows"
147
+ :default-page-size="10"
148
+ >
149
+ <el-table-column prop="name" label="名称" />
150
+ <el-table-column prop="status" label="状态" />
151
+ </CstTable>
152
+ ```
153
+
154
+ 只需要表格、不需要分页时关闭分页:
155
+
156
+ ```vue
157
+ <CstTable :data="rows" :pagination="false">
158
+ <el-table-column prop="name" label="名称" />
159
+ </CstTable>
160
+ ```
161
+
162
+ ## 依赖说明
149
163
 
150
164
  `vue`、`element-plus` 和 `vue-router` 是 peer dependencies,需要由使用方项目提供。
151
165
 
@@ -160,7 +174,7 @@ import { CstPagination, CstTable } from '@cst-ui/nano-buttons/table'
160
174
  ```ts
161
175
  import { createNanoDialogTabs } from '@cst-ui/nano-buttons/dialog-tabs'
162
176
 
163
- app.use(createNanoDialogTabs({
177
+ app.use(createNanoDialogTabs({
164
178
  router,
165
179
  parentRouteName: 'layout',
166
180
  registry: dialogRegistry,
@@ -172,35 +186,35 @@ app.use(createNanoDialogTabs({
172
186
  setCurrentIndex: index => tabStore.SET_TAB(index),
173
187
  deleteTab: index => tabStore.DELETE_TAB(index),
174
188
  },
175
- }))
176
- ```
177
-
178
- ### SqlTable 解耦接入
179
-
180
- SqlTable 等独立组件不直接导入 `dialog-tabs`。独立组件只定义 adapter 接口和注入 key,由 nano.web 在项目层导入公共包并注入实现:
181
-
182
- ```ts
183
- const {
184
- dialogAdapter,
185
- pageAdapter,
186
- } = createSqlTableNanoDialogAdapters({
187
- router,
188
- parentRouteName: 'layout',
189
- mode: () => DIALOG_OPEN_MODE,
190
- })
191
-
192
- app.provide(sqlTableDialogAdapterKey, dialogAdapter)
193
- app.provide(sqlTableDialogPageAdapterKey, pageAdapter)
194
- ```
195
-
196
- 这样 SqlTable 可以独立维护和复用,nano.web 仍能为它启用弹窗 tab 化能力。
197
-
198
- ### 注册页面
189
+ }))
190
+ ```
191
+
192
+ ### SqlTable 解耦接入
193
+
194
+ SqlTable 等独立组件不直接导入 `dialog-tabs`。独立组件只定义 adapter 接口和注入 key,由 nano.web 在项目层导入公共包并注入实现:
195
+
196
+ ```ts
197
+ const {
198
+ dialogAdapter,
199
+ pageAdapter,
200
+ } = createSqlTableNanoDialogAdapters({
201
+ router,
202
+ parentRouteName: 'layout',
203
+ mode: () => DIALOG_OPEN_MODE,
204
+ })
205
+
206
+ app.provide(sqlTableDialogAdapterKey, dialogAdapter)
207
+ app.provide(sqlTableDialogPageAdapterKey, pageAdapter)
208
+ ```
209
+
210
+ 这样 SqlTable 可以独立维护和复用,nano.web 仍能为它启用弹窗 tab 化能力。
211
+
212
+ ### 注册页面
199
213
 
200
214
  在业务项目维护弹窗注册表:
201
215
 
202
216
  ```ts
203
- export const dialogRegistry = {
217
+ export const dialogRegistry = {
204
218
  userEdit: {
205
219
  suffix: '/edit',
206
220
  title: 'dialog.user.edit',
@@ -0,0 +1 @@
1
+ "use strict";const e=require("vue"),a=require("element-plus"),n=require("./NanoButton.vue_vue_type_script_setup_true_lang-D1yLWi2K.cjs"),B=e.defineComponent({name:"NanoAddButton",inheritAttrs:!1,__name:"NanoAddButton",props:a.buttonProps,setup(r){return(t,o)=>(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({...t.$props,...t.$attrs},{type:"primary",icon:"Plus"}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{},()=>[o[0]||(o[0]=e.createTextVNode("新增",-1))])]),_:3},16))}}),$=e.defineComponent({name:"NanoBackTopButton",inheritAttrs:!1,__name:"NanoBackTopButton",props:a.buttonProps,setup(r){return(t,o)=>t.$slots.default?(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:0},{...t.$props,...t.$attrs},{secondary:"",class:"app-backtop-button"}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},16)):(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:1},{...t.$props,...t.$attrs},{secondary:"",class:"app-backtop-button"}),{default:e.withCtx(()=>[...o[0]||(o[0]=[e.createElementVNode("svg",{class:"app-backtop-icon",viewBox:"0 0 24 24","aria-hidden":"true",focusable:"false"},[e.createElementVNode("path",{d:"M6 5h12"}),e.createElementVNode("path",{d:"M12 19V9"}),e.createElementVNode("path",{d:"m8 13 4-4 4 4"})],-1)])]),_:1},16))}}),k=e.defineComponent({name:"NanoCancelButton",inheritAttrs:!1,__name:"NanoCancelButton",props:a.buttonProps,setup(r){return(t,o)=>(e.openBlock(),e.createBlock(n._sfc_main,e.normalizeProps(e.guardReactiveProps({...t.$props,...t.$attrs})),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{},()=>[o[0]||(o[0]=e.createTextVNode("取消",-1))])]),_:3},16))}}),P=e.defineComponent({name:"NanoDeleteButton",inheritAttrs:!1,__name:"NanoDeleteButton",props:{...a.buttonProps,confirmTitle:String,confirmButtonText:String,cancelButtonText:String},emits:["click","confirm","cancel"],setup(r,{emit:t}){const o=r,i=t,p=e.useAttrs(),l=e.computed(()=>{const{confirmTitle:s,confirmButtonText:_,cancelButtonText:u,...d}=o;return d}),c=s=>{i("click",s)},m=s=>{i("confirm",s)},f=s=>{i("cancel",s)};return(s,_)=>{const u=e.resolveComponent("el-popconfirm");return o.confirmTitle?(e.openBlock(),e.createBlock(u,{key:0,title:o.confirmTitle,"confirm-button-text":o.confirmButtonText,"cancel-button-text":o.cancelButtonText,onConfirm:m,onCancel:f},{reference:e.withCtx(()=>[s.$slots.default?(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:0},{...l.value,...e.unref(p)},{type:"danger",icon:"Delete",onClick:c}),{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},16)):(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:1},{...l.value,...e.unref(p)},{type:"danger",icon:"Delete",onClick:c}),null,16))]),_:3},8,["title","confirm-button-text","cancel-button-text"])):s.$slots.default?(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:1},{...l.value,...e.unref(p)},{type:"danger",icon:"Delete",onClick:c}),{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},16)):(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:2},{...l.value,...e.unref(p)},{type:"danger",icon:"Delete",onClick:c}),null,16))}}}),N=e.defineComponent({name:"NanoEditButton",inheritAttrs:!1,__name:"NanoEditButton",props:a.buttonProps,setup(r){return(t,o)=>t.$slots.default?(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:0},{...t.$props,...t.$attrs},{icon:"Edit"}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},16)):(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:1},{...t.$props,...t.$attrs},{icon:"Edit"}),null,16))}}),g=e.defineComponent({name:"NanoExportButton",inheritAttrs:!1,__name:"NanoExportButton",props:a.buttonProps,setup(r){return(t,o)=>(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({...t.$props,...t.$attrs},{class:"app-button-export",icon:"Download"}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{},()=>[o[0]||(o[0]=e.createTextVNode("导出",-1))])]),_:3},16))}}),C=e.defineComponent({name:"NanoImportButton",inheritAttrs:!1,__name:"NanoImportButton",props:a.buttonProps,setup(r){return(t,o)=>(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({...t.$props,...t.$attrs},{class:"app-button-import",icon:"Upload"}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{},()=>[o[0]||(o[0]=e.createTextVNode("导入",-1))])]),_:3},16))}}),y=e.defineComponent({name:"NanoManageButton",inheritAttrs:!1,__name:"NanoManageButton",props:a.buttonProps,setup(r){return(t,o)=>t.$slots.default?(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:0},{...t.$props,...t.$attrs},{type:"primary",icon:"Setting"}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},16)):(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:1},{...t.$props,...t.$attrs},{type:"primary",icon:"Setting"}),null,16))}}),h=e.defineComponent({name:"NanoMoveButton",inheritAttrs:!1,__name:"NanoMoveButton",props:a.buttonProps,setup(r){return(t,o)=>(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({...t.$props,...t.$attrs},{icon:"Rank"}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{},()=>[o[0]||(o[0]=e.createTextVNode("移动",-1))])]),_:3},16))}}),b=e.defineComponent({name:"NanoSubmitButton",inheritAttrs:!1,__name:"NanoSubmitButton",props:a.buttonProps,setup(r){return(t,o)=>(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({...t.$props,...t.$attrs},{type:"primary"}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{},()=>[o[0]||(o[0]=e.createTextVNode("保存",-1))])]),_:3},16))}}),T=e.defineComponent({name:"NanoTextAddButton",inheritAttrs:!1,__name:"NanoTextAddButton",props:a.buttonProps,setup(r){return(t,o)=>t.$slots.default?(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:0},{...t.$props,...t.$attrs},{text:"",icon:"Plus"}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},16)):(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:1},{...t.$props,...t.$attrs},{text:"",icon:"Plus"}),null,16))}});exports._sfc_main=B;exports._sfc_main$1=T;exports._sfc_main$10=$;exports._sfc_main$2=h;exports._sfc_main$3=C;exports._sfc_main$4=g;exports._sfc_main$5=N;exports._sfc_main$6=y;exports._sfc_main$7=P;exports._sfc_main$8=b;exports._sfc_main$9=k;
@@ -0,0 +1,270 @@
1
+ import { defineComponent as i, openBlock as n, createBlock as o, mergeProps as r, withCtx as a, renderSlot as p, createTextVNode as m, createElementVNode as _, normalizeProps as g, guardReactiveProps as h, useAttrs as v, computed as P, resolveComponent as C, unref as B } from "vue";
2
+ import { buttonProps as f } from "element-plus";
3
+ import { _ as s } from "./NanoButton.vue_vue_type_script_setup_true_lang-DgnSKBXL.js";
4
+ const M = /* @__PURE__ */ i({
5
+ name: "NanoAddButton",
6
+ inheritAttrs: !1,
7
+ __name: "NanoAddButton",
8
+ props: f,
9
+ setup(u) {
10
+ return (t, e) => (n(), o(s, r({ ...t.$props, ...t.$attrs }, {
11
+ type: "primary",
12
+ icon: "Plus"
13
+ }), {
14
+ default: a(() => [
15
+ p(t.$slots, "default", {}, () => [
16
+ e[0] || (e[0] = m("新增", -1))
17
+ ])
18
+ ]),
19
+ _: 3
20
+ }, 16));
21
+ }
22
+ }), w = /* @__PURE__ */ i({
23
+ name: "NanoBackTopButton",
24
+ inheritAttrs: !1,
25
+ __name: "NanoBackTopButton",
26
+ props: f,
27
+ setup(u) {
28
+ return (t, e) => t.$slots.default ? (n(), o(s, r({ key: 0 }, { ...t.$props, ...t.$attrs }, {
29
+ secondary: "",
30
+ class: "app-backtop-button"
31
+ }), {
32
+ default: a(() => [
33
+ p(t.$slots, "default")
34
+ ]),
35
+ _: 3
36
+ }, 16)) : (n(), o(s, r({ key: 1 }, { ...t.$props, ...t.$attrs }, {
37
+ secondary: "",
38
+ class: "app-backtop-button"
39
+ }), {
40
+ default: a(() => [...e[0] || (e[0] = [
41
+ _("svg", {
42
+ class: "app-backtop-icon",
43
+ viewBox: "0 0 24 24",
44
+ "aria-hidden": "true",
45
+ focusable: "false"
46
+ }, [
47
+ _("path", { d: "M6 5h12" }),
48
+ _("path", { d: "M12 19V9" }),
49
+ _("path", { d: "m8 13 4-4 4 4" })
50
+ ], -1)
51
+ ])]),
52
+ _: 1
53
+ }, 16));
54
+ }
55
+ }), V = /* @__PURE__ */ i({
56
+ name: "NanoCancelButton",
57
+ inheritAttrs: !1,
58
+ __name: "NanoCancelButton",
59
+ props: f,
60
+ setup(u) {
61
+ return (t, e) => (n(), o(s, g(h({ ...t.$props, ...t.$attrs })), {
62
+ default: a(() => [
63
+ p(t.$slots, "default", {}, () => [
64
+ e[0] || (e[0] = m("取消", -1))
65
+ ])
66
+ ]),
67
+ _: 3
68
+ }, 16));
69
+ }
70
+ }), I = /* @__PURE__ */ i({
71
+ name: "NanoDeleteButton",
72
+ inheritAttrs: !1,
73
+ __name: "NanoDeleteButton",
74
+ props: {
75
+ ...f,
76
+ confirmTitle: String,
77
+ confirmButtonText: String,
78
+ cancelButtonText: String
79
+ },
80
+ emits: ["click", "confirm", "cancel"],
81
+ setup(u, { emit: t }) {
82
+ const e = u, y = t, c = v(), d = P(() => {
83
+ const {
84
+ confirmTitle: l,
85
+ confirmButtonText: b,
86
+ cancelButtonText: k,
87
+ ...A
88
+ } = e;
89
+ return A;
90
+ }), $ = (l) => {
91
+ y("click", l);
92
+ }, N = (l) => {
93
+ y("confirm", l);
94
+ }, T = (l) => {
95
+ y("cancel", l);
96
+ };
97
+ return (l, b) => {
98
+ const k = C("el-popconfirm");
99
+ return e.confirmTitle ? (n(), o(k, {
100
+ key: 0,
101
+ title: e.confirmTitle,
102
+ "confirm-button-text": e.confirmButtonText,
103
+ "cancel-button-text": e.cancelButtonText,
104
+ onConfirm: N,
105
+ onCancel: T
106
+ }, {
107
+ reference: a(() => [
108
+ l.$slots.default ? (n(), o(s, r({ key: 0 }, { ...d.value, ...B(c) }, {
109
+ type: "danger",
110
+ icon: "Delete",
111
+ onClick: $
112
+ }), {
113
+ default: a(() => [
114
+ p(l.$slots, "default")
115
+ ]),
116
+ _: 3
117
+ }, 16)) : (n(), o(s, r({ key: 1 }, { ...d.value, ...B(c) }, {
118
+ type: "danger",
119
+ icon: "Delete",
120
+ onClick: $
121
+ }), null, 16))
122
+ ]),
123
+ _: 3
124
+ }, 8, ["title", "confirm-button-text", "cancel-button-text"])) : l.$slots.default ? (n(), o(s, r({ key: 1 }, { ...d.value, ...B(c) }, {
125
+ type: "danger",
126
+ icon: "Delete",
127
+ onClick: $
128
+ }), {
129
+ default: a(() => [
130
+ p(l.$slots, "default")
131
+ ]),
132
+ _: 3
133
+ }, 16)) : (n(), o(s, r({ key: 2 }, { ...d.value, ...B(c) }, {
134
+ type: "danger",
135
+ icon: "Delete",
136
+ onClick: $
137
+ }), null, 16));
138
+ };
139
+ }
140
+ }), R = /* @__PURE__ */ i({
141
+ name: "NanoEditButton",
142
+ inheritAttrs: !1,
143
+ __name: "NanoEditButton",
144
+ props: f,
145
+ setup(u) {
146
+ return (t, e) => t.$slots.default ? (n(), o(s, r({ key: 0 }, { ...t.$props, ...t.$attrs }, { icon: "Edit" }), {
147
+ default: a(() => [
148
+ p(t.$slots, "default")
149
+ ]),
150
+ _: 3
151
+ }, 16)) : (n(), o(s, r({ key: 1 }, { ...t.$props, ...t.$attrs }, { icon: "Edit" }), null, 16));
152
+ }
153
+ }), j = /* @__PURE__ */ i({
154
+ name: "NanoExportButton",
155
+ inheritAttrs: !1,
156
+ __name: "NanoExportButton",
157
+ props: f,
158
+ setup(u) {
159
+ return (t, e) => (n(), o(s, r({ ...t.$props, ...t.$attrs }, {
160
+ class: "app-button-export",
161
+ icon: "Download"
162
+ }), {
163
+ default: a(() => [
164
+ p(t.$slots, "default", {}, () => [
165
+ e[0] || (e[0] = m("导出", -1))
166
+ ])
167
+ ]),
168
+ _: 3
169
+ }, 16));
170
+ }
171
+ }), z = /* @__PURE__ */ i({
172
+ name: "NanoImportButton",
173
+ inheritAttrs: !1,
174
+ __name: "NanoImportButton",
175
+ props: f,
176
+ setup(u) {
177
+ return (t, e) => (n(), o(s, r({ ...t.$props, ...t.$attrs }, {
178
+ class: "app-button-import",
179
+ icon: "Upload"
180
+ }), {
181
+ default: a(() => [
182
+ p(t.$slots, "default", {}, () => [
183
+ e[0] || (e[0] = m("导入", -1))
184
+ ])
185
+ ]),
186
+ _: 3
187
+ }, 16));
188
+ }
189
+ }), U = /* @__PURE__ */ i({
190
+ name: "NanoManageButton",
191
+ inheritAttrs: !1,
192
+ __name: "NanoManageButton",
193
+ props: f,
194
+ setup(u) {
195
+ return (t, e) => t.$slots.default ? (n(), o(s, r({ key: 0 }, { ...t.$props, ...t.$attrs }, {
196
+ type: "primary",
197
+ icon: "Setting"
198
+ }), {
199
+ default: a(() => [
200
+ p(t.$slots, "default")
201
+ ]),
202
+ _: 3
203
+ }, 16)) : (n(), o(s, r({ key: 1 }, { ...t.$props, ...t.$attrs }, {
204
+ type: "primary",
205
+ icon: "Setting"
206
+ }), null, 16));
207
+ }
208
+ }), q = /* @__PURE__ */ i({
209
+ name: "NanoMoveButton",
210
+ inheritAttrs: !1,
211
+ __name: "NanoMoveButton",
212
+ props: f,
213
+ setup(u) {
214
+ return (t, e) => (n(), o(s, r({ ...t.$props, ...t.$attrs }, { icon: "Rank" }), {
215
+ default: a(() => [
216
+ p(t.$slots, "default", {}, () => [
217
+ e[0] || (e[0] = m("移动", -1))
218
+ ])
219
+ ]),
220
+ _: 3
221
+ }, 16));
222
+ }
223
+ }), F = /* @__PURE__ */ i({
224
+ name: "NanoSubmitButton",
225
+ inheritAttrs: !1,
226
+ __name: "NanoSubmitButton",
227
+ props: f,
228
+ setup(u) {
229
+ return (t, e) => (n(), o(s, r({ ...t.$props, ...t.$attrs }, { type: "primary" }), {
230
+ default: a(() => [
231
+ p(t.$slots, "default", {}, () => [
232
+ e[0] || (e[0] = m("保存", -1))
233
+ ])
234
+ ]),
235
+ _: 3
236
+ }, 16));
237
+ }
238
+ }), G = /* @__PURE__ */ i({
239
+ name: "NanoTextAddButton",
240
+ inheritAttrs: !1,
241
+ __name: "NanoTextAddButton",
242
+ props: f,
243
+ setup(u) {
244
+ return (t, e) => t.$slots.default ? (n(), o(s, r({ key: 0 }, { ...t.$props, ...t.$attrs }, {
245
+ text: "",
246
+ icon: "Plus"
247
+ }), {
248
+ default: a(() => [
249
+ p(t.$slots, "default")
250
+ ]),
251
+ _: 3
252
+ }, 16)) : (n(), o(s, r({ key: 1 }, { ...t.$props, ...t.$attrs }, {
253
+ text: "",
254
+ icon: "Plus"
255
+ }), null, 16));
256
+ }
257
+ });
258
+ export {
259
+ M as _,
260
+ G as a,
261
+ q as b,
262
+ z as c,
263
+ j as d,
264
+ R as e,
265
+ U as f,
266
+ I as g,
267
+ F as h,
268
+ V as i,
269
+ w as j
270
+ };
@@ -1,88 +1,103 @@
1
1
  declare function __VLS_template(): {
2
2
  slots: {
3
3
  default?(_: {}): any;
4
+ default?(_: {}): any;
4
5
  };
5
6
  refs: {};
6
7
  attrs: Partial<{}>;
7
8
  };
8
9
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
9
10
  declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
10
- readonly size: {
11
+ confirmTitle: StringConstructor;
12
+ confirmButtonText: StringConstructor;
13
+ cancelButtonText: StringConstructor;
14
+ size: {
11
15
  readonly type: import("vue").PropType<import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
12
16
  readonly required: false;
13
17
  readonly validator: ((val: unknown) => boolean) | undefined;
14
18
  __epPropKey: true;
15
19
  };
16
- readonly disabled: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
17
- readonly type: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<StringConstructor, "" | "default" | "info" | "primary" | "success" | "warning" | "text" | "danger", unknown, "", boolean>;
18
- readonly icon: {
20
+ disabled: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
21
+ type: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<StringConstructor, "" | "default" | "info" | "primary" | "success" | "warning" | "text" | "danger", unknown, "", boolean>;
22
+ icon: {
19
23
  readonly type: import("vue").PropType<import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | (((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component)) | null)[], unknown, unknown>>;
20
24
  readonly required: false;
21
25
  readonly validator: ((val: unknown) => boolean) | undefined;
22
26
  __epPropKey: true;
23
27
  };
24
- readonly nativeType: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<StringConstructor, "button" | "reset" | "submit", unknown, "button", boolean>;
25
- readonly loading: BooleanConstructor;
26
- readonly loadingIcon: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | (((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component)) | null)[], unknown, unknown, () => import("vue").DefineComponent<{}, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, boolean>;
27
- readonly plain: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
28
- readonly text: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
29
- readonly link: BooleanConstructor;
30
- readonly bg: BooleanConstructor;
31
- readonly autofocus: BooleanConstructor;
32
- readonly round: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
33
- readonly circle: BooleanConstructor;
34
- readonly dashed: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
35
- readonly color: StringConstructor;
36
- readonly dark: BooleanConstructor;
37
- readonly autoInsertSpace: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
38
- readonly tag: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | (((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component)) | null)[], unknown, unknown, "button", boolean>;
39
- }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
40
- readonly size: {
28
+ nativeType: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<StringConstructor, "button" | "reset" | "submit", unknown, "button", boolean>;
29
+ loading: BooleanConstructor;
30
+ loadingIcon: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | (((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component)) | null)[], unknown, unknown, () => import("vue").DefineComponent<{}, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, boolean>;
31
+ plain: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
32
+ text: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
33
+ link: BooleanConstructor;
34
+ bg: BooleanConstructor;
35
+ autofocus: BooleanConstructor;
36
+ round: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
37
+ circle: BooleanConstructor;
38
+ dashed: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
39
+ color: StringConstructor;
40
+ dark: BooleanConstructor;
41
+ autoInsertSpace: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
42
+ tag: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | (((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component)) | null)[], unknown, unknown, "button", boolean>;
43
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
44
+ cancel: (event: MouseEvent) => any;
45
+ click: (event: MouseEvent) => any;
46
+ confirm: (event: MouseEvent) => any;
47
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
48
+ confirmTitle: StringConstructor;
49
+ confirmButtonText: StringConstructor;
50
+ cancelButtonText: StringConstructor;
51
+ size: {
41
52
  readonly type: import("vue").PropType<import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
42
53
  readonly required: false;
43
54
  readonly validator: ((val: unknown) => boolean) | undefined;
44
55
  __epPropKey: true;
45
56
  };
46
- readonly disabled: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
47
- readonly type: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<StringConstructor, "" | "default" | "info" | "primary" | "success" | "warning" | "text" | "danger", unknown, "", boolean>;
48
- readonly icon: {
57
+ disabled: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
58
+ type: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<StringConstructor, "" | "default" | "info" | "primary" | "success" | "warning" | "text" | "danger", unknown, "", boolean>;
59
+ icon: {
49
60
  readonly type: import("vue").PropType<import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | (((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component)) | null)[], unknown, unknown>>;
50
61
  readonly required: false;
51
62
  readonly validator: ((val: unknown) => boolean) | undefined;
52
63
  __epPropKey: true;
53
64
  };
54
- readonly nativeType: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<StringConstructor, "button" | "reset" | "submit", unknown, "button", boolean>;
55
- readonly loading: BooleanConstructor;
56
- readonly loadingIcon: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | (((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component)) | null)[], unknown, unknown, () => import("vue").DefineComponent<{}, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, boolean>;
57
- readonly plain: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
58
- readonly text: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
59
- readonly link: BooleanConstructor;
60
- readonly bg: BooleanConstructor;
61
- readonly autofocus: BooleanConstructor;
62
- readonly round: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
63
- readonly circle: BooleanConstructor;
64
- readonly dashed: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
65
- readonly color: StringConstructor;
66
- readonly dark: BooleanConstructor;
67
- readonly autoInsertSpace: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
68
- readonly tag: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | (((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component)) | null)[], unknown, unknown, "button", boolean>;
69
- }>> & Readonly<{}>, {
70
- readonly type: import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<StringConstructor, "" | "default" | "info" | "primary" | "success" | "warning" | "text" | "danger", unknown>;
71
- readonly text: import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
72
- readonly disabled: import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
73
- readonly nativeType: import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<StringConstructor, "button" | "reset" | "submit", unknown>;
74
- readonly loading: boolean;
75
- readonly loadingIcon: import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | ((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | null)[], unknown, unknown>;
76
- readonly plain: import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
77
- readonly link: boolean;
78
- readonly bg: boolean;
79
- readonly autofocus: boolean;
80
- readonly round: import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
81
- readonly circle: boolean;
82
- readonly dashed: import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
83
- readonly dark: boolean;
84
- readonly autoInsertSpace: import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
85
- readonly tag: import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | ((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | null)[], unknown, unknown>;
65
+ nativeType: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<StringConstructor, "button" | "reset" | "submit", unknown, "button", boolean>;
66
+ loading: BooleanConstructor;
67
+ loadingIcon: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | (((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component)) | null)[], unknown, unknown, () => import("vue").DefineComponent<{}, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, boolean>;
68
+ plain: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
69
+ text: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
70
+ link: BooleanConstructor;
71
+ bg: BooleanConstructor;
72
+ autofocus: BooleanConstructor;
73
+ round: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
74
+ circle: BooleanConstructor;
75
+ dashed: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
76
+ color: StringConstructor;
77
+ dark: BooleanConstructor;
78
+ autoInsertSpace: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
79
+ tag: import("element-plus/es/utils/vue/props/types.js").EpPropFinalized<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | (((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component)) | null)[], unknown, unknown, "button", boolean>;
80
+ }>> & Readonly<{
81
+ onCancel?: ((event: MouseEvent) => any) | undefined;
82
+ onClick?: ((event: MouseEvent) => any) | undefined;
83
+ onConfirm?: ((event: MouseEvent) => any) | undefined;
84
+ }>, {
85
+ type: import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<StringConstructor, "" | "default" | "info" | "primary" | "success" | "warning" | "text" | "danger", unknown>;
86
+ text: import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
87
+ disabled: import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
88
+ nativeType: import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<StringConstructor, "button" | "reset" | "submit", unknown>;
89
+ loading: boolean;
90
+ loadingIcon: import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | ((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | null)[], unknown, unknown>;
91
+ plain: import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
92
+ link: boolean;
93
+ bg: boolean;
94
+ autofocus: boolean;
95
+ round: import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
96
+ circle: boolean;
97
+ dashed: import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
98
+ dark: boolean;
99
+ autoInsertSpace: import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
100
+ tag: import("element-plus/es/utils/vue/props/types.js").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | ((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | null)[], unknown, unknown>;
86
101
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
87
102
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
88
103
  export default _default;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("../NanoTextAddButton.vue_vue_type_script_setup_true_lang-DIaonSsx.cjs"),t=require("../NanoButton.vue_vue_type_script_setup_true_lang-D1yLWi2K.cjs"),s=[t._sfc_main,n._sfc_main,n._sfc_main$1,n._sfc_main$2,n._sfc_main$3,n._sfc_main$4,n._sfc_main$5,n._sfc_main$6,n._sfc_main$7,n._sfc_main$8,n._sfc_main$9,n._sfc_main$10],a=o=>{s.forEach(_=>{o.component(_.name||"AnonymousComponent",_)})},e={install:a};exports.NanoAddButton=n._sfc_main;exports.NanoBackTopButton=n._sfc_main$10;exports.NanoCancelButton=n._sfc_main$9;exports.NanoDeleteButton=n._sfc_main$7;exports.NanoEditButton=n._sfc_main$5;exports.NanoExportButton=n._sfc_main$4;exports.NanoImportButton=n._sfc_main$3;exports.NanoManageButton=n._sfc_main$6;exports.NanoMoveButton=n._sfc_main$2;exports.NanoSubmitButton=n._sfc_main$8;exports.NanoTextAddButton=n._sfc_main$1;exports.NanoButton=t._sfc_main;exports.default=e;exports.install=a;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("../NanoTextAddButton.vue_vue_type_script_setup_true_lang-D-BYJnbu.cjs"),t=require("../NanoButton.vue_vue_type_script_setup_true_lang-D1yLWi2K.cjs"),s=[t._sfc_main,n._sfc_main,n._sfc_main$1,n._sfc_main$2,n._sfc_main$3,n._sfc_main$4,n._sfc_main$5,n._sfc_main$6,n._sfc_main$7,n._sfc_main$8,n._sfc_main$9,n._sfc_main$10],a=o=>{s.forEach(_=>{o.component(_.name||"AnonymousComponent",_)})},e={install:a};exports.NanoAddButton=n._sfc_main;exports.NanoBackTopButton=n._sfc_main$10;exports.NanoCancelButton=n._sfc_main$9;exports.NanoDeleteButton=n._sfc_main$7;exports.NanoEditButton=n._sfc_main$5;exports.NanoExportButton=n._sfc_main$4;exports.NanoImportButton=n._sfc_main$3;exports.NanoManageButton=n._sfc_main$6;exports.NanoMoveButton=n._sfc_main$2;exports.NanoSubmitButton=n._sfc_main$8;exports.NanoTextAddButton=n._sfc_main$1;exports.NanoButton=t._sfc_main;exports.default=e;exports.install=a;
@@ -1,4 +1,4 @@
1
- import { _ as o, a as s, b as t, c as _, d as m, e as c, f as i, g as f, h as u, i as B, j as e } from "../NanoTextAddButton.vue_vue_type_script_setup_true_lang-CYuxrToE.js";
1
+ import { _ as o, a as s, b as t, c as _, d as m, e as c, f as i, g as f, h as u, i as B, j as e } from "../NanoTextAddButton.vue_vue_type_script_setup_true_lang-VA-g2KVf.js";
2
2
  import { _ as N } from "../NanoButton.vue_vue_type_script_setup_true_lang-DgnSKBXL.js";
3
3
  const $ = [
4
4
  N,
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("./NanoTextAddButton.vue_vue_type_script_setup_true_lang-DIaonSsx.cjs"),t=require("./NanoButton.vue_vue_type_script_setup_true_lang-D1yLWi2K.cjs"),s=[t._sfc_main,n._sfc_main,n._sfc_main$1,n._sfc_main$2,n._sfc_main$3,n._sfc_main$4,n._sfc_main$5,n._sfc_main$6,n._sfc_main$7,n._sfc_main$8,n._sfc_main$9,n._sfc_main$10],a=o=>{s.forEach(_=>{o.component(_.name||"AnonymousComponent",_)})},e={install:a};exports.NanoAddButton=n._sfc_main;exports.NanoBackTopButton=n._sfc_main$10;exports.NanoCancelButton=n._sfc_main$9;exports.NanoDeleteButton=n._sfc_main$7;exports.NanoEditButton=n._sfc_main$5;exports.NanoExportButton=n._sfc_main$4;exports.NanoImportButton=n._sfc_main$3;exports.NanoManageButton=n._sfc_main$6;exports.NanoMoveButton=n._sfc_main$2;exports.NanoSubmitButton=n._sfc_main$8;exports.NanoTextAddButton=n._sfc_main$1;exports.NanoButton=t._sfc_main;exports.default=e;exports.install=a;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("./NanoTextAddButton.vue_vue_type_script_setup_true_lang-D-BYJnbu.cjs"),t=require("./NanoButton.vue_vue_type_script_setup_true_lang-D1yLWi2K.cjs"),s=[t._sfc_main,n._sfc_main,n._sfc_main$1,n._sfc_main$2,n._sfc_main$3,n._sfc_main$4,n._sfc_main$5,n._sfc_main$6,n._sfc_main$7,n._sfc_main$8,n._sfc_main$9,n._sfc_main$10],a=o=>{s.forEach(_=>{o.component(_.name||"AnonymousComponent",_)})},e={install:a};exports.NanoAddButton=n._sfc_main;exports.NanoBackTopButton=n._sfc_main$10;exports.NanoCancelButton=n._sfc_main$9;exports.NanoDeleteButton=n._sfc_main$7;exports.NanoEditButton=n._sfc_main$5;exports.NanoExportButton=n._sfc_main$4;exports.NanoImportButton=n._sfc_main$3;exports.NanoManageButton=n._sfc_main$6;exports.NanoMoveButton=n._sfc_main$2;exports.NanoSubmitButton=n._sfc_main$8;exports.NanoTextAddButton=n._sfc_main$1;exports.NanoButton=t._sfc_main;exports.default=e;exports.install=a;
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { _ as o, a as s, b as t, c as _, d as m, e as c, f as i, g as f, h as u, i as B, j as e } from "./NanoTextAddButton.vue_vue_type_script_setup_true_lang-CYuxrToE.js";
1
+ import { _ as o, a as s, b as t, c as _, d as m, e as c, f as i, g as f, h as u, i as B, j as e } from "./NanoTextAddButton.vue_vue_type_script_setup_true_lang-VA-g2KVf.js";
2
2
  import { _ as N } from "./NanoButton.vue_vue_type_script_setup_true_lang-DgnSKBXL.js";
3
3
  const $ = [
4
4
  N,
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- :root{--nano-font-size-sm: var(--font-size-sm, 14px);--nano-font-size-lg: var(--font-size-lg, 18px);--nano-font-weight-medium: var(--font-weight-medium, 500);--nano-radius-md: var(--radius-md, 6px);--nano-shadow-card: var(--shadow-card, 0 2px 12px rgba(0, 0, 0, .12));--nano-color-brand-primary: var(--color-brand-primary, #243c96);--nano-color-brand-primary-hover: var(--color-brand-primary-hover, #3550b3);--nano-color-brand-primary-active: var(--color-brand-primary-active, #1b2f78);--nano-color-brand-primary-light: var(--color-brand-primary-light, #eef2ff);--nano-color-text-regular: var(--color-text-regular, #606266);--nano-color-text-on-brand: var(--color-text-on-brand, #ffffff);--nano-color-border-default: var(--color-border-default, #dcdfe6);--nano-color-success: var(--color-success, #67c23a);--nano-color-success-hover: var(--color-success-hover, #85ce61);--nano-color-success-active: var(--color-success-active, #529b2e);--nano-color-warning: var(--color-warning, #e6a23c);--nano-color-warning-hover: var(--color-warning-hover, #ebb563);--nano-color-warning-active: var(--color-warning-active, #b88230);--nano-color-danger: var(--color-danger, #d35a5a);--nano-color-danger-hover: var(--color-danger-hover, #e07272);--nano-color-danger-active: var(--color-danger-active, #bc4949);--nano-color-info: var(--color-info, #909399);--nano-color-info-hover: var(--color-info-hover, #a6a9ad);--nano-color-info-active: var(--color-info-active, #73767a);--nano-color-focus-outline: var(--color-focus-outline, rgba(36, 60, 150, .32));--nano-button-default-bg: var(--button-default-bg, #ffffff);--nano-button-default-text: var(--button-default-text, var(--nano-color-text-regular));--nano-button-default-border: var(--button-default-border, var(--nano-color-border-default));--nano-button-default-hover-bg: var(--button-default-hover-bg, var(--nano-color-brand-primary-light));--nano-button-default-hover-text: var(--button-default-hover-text, var(--nano-color-brand-primary));--nano-button-default-hover-border: var(--button-default-hover-border, var(--nano-color-brand-primary-hover));--nano-button-default-active-bg: var(--button-default-active-bg, #e0e8ff);--nano-button-default-active-text: var(--button-default-active-text, var(--nano-color-brand-primary-active));--nano-button-default-active-border: var(--button-default-active-border, var(--nano-color-brand-primary-active));--nano-button-secondary-bg: var(--button-secondary-bg, var(--nano-color-brand-primary-light));--nano-button-secondary-text: var(--button-secondary-text, var(--nano-color-brand-primary));--nano-button-secondary-border: var(--button-secondary-border, rgba(36, 60, 150, .32));--nano-button-secondary-hover-bg: var(--button-secondary-hover-bg, #e0e8ff);--nano-button-secondary-hover-text: var(--button-secondary-hover-text, var(--nano-color-brand-primary-hover));--nano-button-secondary-hover-border: var(--button-secondary-hover-border, var(--nano-color-brand-primary-hover));--nano-button-secondary-active-bg: var(--button-secondary-active-bg, #d4defd);--nano-button-secondary-active-text: var(--button-secondary-active-text, var(--nano-color-brand-primary-active));--nano-button-secondary-active-border: var(--button-secondary-active-border, var(--nano-color-brand-primary-active));--nano-button-import-bg: var(--button-import-bg, #edf5f3);--nano-button-import-text: var(--button-import-text, #2f6b57);--nano-button-import-border: var(--button-import-border, rgba(47, 107, 87, .2));--nano-button-import-hover-bg: var(--button-import-hover-bg, #e0f0ec);--nano-button-import-hover-text: var(--button-import-hover-text, #285c4b);--nano-button-import-hover-border: var(--button-import-hover-border, rgba(47, 107, 87, .36));--nano-button-import-active-bg: var(--button-import-active-bg, #d3e8e2);--nano-button-import-active-text: var(--button-import-active-text, #224f40);--nano-button-import-active-border: var(--button-import-active-border, rgba(47, 107, 87, .48));--nano-button-export-bg: var(--button-export-bg, #edf5f3);--nano-button-export-text: var(--button-export-text, #2f6b57);--nano-button-export-border: var(--button-export-border, rgba(47, 107, 87, .2));--nano-button-export-hover-bg: var(--button-export-hover-bg, #e0f0ec);--nano-button-export-hover-text: var(--button-export-hover-text, #285c4b);--nano-button-export-hover-border: var(--button-export-hover-border, rgba(47, 107, 87, .36));--nano-button-export-active-bg: var(--button-export-active-bg, #d3e8e2);--nano-button-export-active-text: var(--button-export-active-text, #224f40);--nano-button-export-active-border: var(--button-export-active-border, rgba(47, 107, 87, .48));--nano-button-text-default: var(--button-text-default, var(--nano-color-text-regular));--nano-button-text-hover-bg: var(--button-text-hover-bg, var(--nano-color-brand-primary-light));--nano-button-text-hover: var(--button-text-hover, var(--nano-color-brand-primary));--nano-button-text-active: var(--button-text-active, var(--nano-color-brand-primary-active));--nano-button-hover-shadow: var(--button-hover-shadow, 0 4px 12px rgba(36, 60, 150, .16));--nano-button-default-hover-shadow: var(--button-default-hover-shadow, 0 2px 10px rgba(36, 60, 150, .12));--nano-button-danger-hover-shadow: var(--button-danger-hover-shadow, 0 4px 12px rgba(211, 90, 90, .18))}html.dark{--nano-button-import-bg: var(--button-import-bg, rgba(80, 160, 120, .16));--nano-button-import-text: var(--button-import-text, #8dd3b1);--nano-button-import-border: var(--button-import-border, rgba(80, 160, 120, .28));--nano-button-import-hover-bg: var(--button-import-hover-bg, rgba(80, 160, 120, .24));--nano-button-import-hover-text: var(--button-import-hover-text, #a6e2c4);--nano-button-import-hover-border: var(--button-import-hover-border, rgba(80, 160, 120, .42));--nano-button-import-active-bg: var(--button-import-active-bg, rgba(80, 160, 120, .32));--nano-button-import-active-text: var(--button-import-active-text, #8dd3b1);--nano-button-import-active-border: var(--button-import-active-border, rgba(80, 160, 120, .56));--nano-button-export-bg: var(--button-export-bg, rgba(80, 160, 120, .16));--nano-button-export-text: var(--button-export-text, #8dd3b1);--nano-button-export-border: var(--button-export-border, rgba(80, 160, 120, .28));--nano-button-export-hover-bg: var(--button-export-hover-bg, rgba(80, 160, 120, .24));--nano-button-export-hover-text: var(--button-export-hover-text, #a6e2c4);--nano-button-export-hover-border: var(--button-export-hover-border, rgba(80, 160, 120, .42));--nano-button-export-active-bg: var(--button-export-active-bg, rgba(80, 160, 120, .32));--nano-button-export-active-text: var(--button-export-active-text, #8dd3b1);--nano-button-export-active-border: var(--button-export-active-border, rgba(80, 160, 120, .56))}.el-button{--button-bg: var(--button-default-bg, var(--nano-button-default-bg));--button-text: var(--button-default-text, var(--nano-button-default-text));--button-border: var(--button-default-border, var(--nano-button-default-border));--button-bg-hover: var(--button-default-hover-bg, var(--nano-button-default-hover-bg));--button-text-hover: var(--button-default-hover-text, var(--nano-button-default-hover-text));--button-border-hover: var(--button-default-hover-border, var(--nano-button-default-hover-border));--button-bg-active: var(--button-default-active-bg, var(--nano-button-default-active-bg));--button-text-active: var(--button-default-active-text, var(--nano-button-default-active-text));--button-border-active: var(--button-default-active-border, var(--nano-button-default-active-border));--button-shadow-hover: var(--button-default-hover-shadow, var(--nano-button-default-hover-shadow));font-size:var(--font-size-sm, var(--nano-font-size-sm));font-weight:var(--font-weight-medium, var(--nano-font-weight-medium));border-radius:var(--radius-md, var(--nano-radius-md));transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease,opacity .22s ease}.el-button:focus-visible{outline:2px solid var(--color-focus-outline, var(--nano-color-focus-outline));outline-offset:2px}.el-button.is-disabled,.el-button.is-disabled:hover,.el-button.is-disabled:active{box-shadow:none}.el-button:not(.is-text):not(.is-link){--el-button-text-color: var(--button-text);--el-button-bg-color: var(--button-bg);--el-button-border-color: var(--button-border);--el-button-hover-text-color: var(--button-text-hover);--el-button-hover-bg-color: var(--button-bg-hover);--el-button-hover-border-color: var(--button-border-hover);--el-button-active-text-color: var(--button-text-active);--el-button-active-bg-color: var(--button-bg-active);--el-button-active-border-color: var(--button-border-active);color:var(--button-text);background-color:var(--button-bg);border-color:var(--button-border)}.el-button:not(.is-text):not(.is-link):hover{background-color:var(--button-bg-hover);color:var(--button-text-hover);border-color:var(--button-border-hover);box-shadow:var(--button-shadow-hover)}.el-button:not(.is-text):not(.is-link):active{background-color:var(--button-bg-active);color:var(--button-text-active);border-color:var(--button-border-active);box-shadow:none}.el-button.app-button-secondary{--button-bg: var(--button-secondary-bg, var(--nano-button-secondary-bg));--button-text: var(--button-secondary-text, var(--nano-button-secondary-text));--button-border: var(--button-secondary-border, var(--nano-button-secondary-border));--button-bg-hover: var(--button-secondary-hover-bg, var(--nano-button-secondary-hover-bg));--button-text-hover: var(--button-secondary-hover-text, var(--nano-button-secondary-hover-text));--button-border-hover: var(--button-secondary-hover-border, var(--nano-button-secondary-hover-border));--button-bg-active: var(--button-secondary-active-bg, var(--nano-button-secondary-active-bg));--button-text-active: var(--button-secondary-active-text, var(--nano-button-secondary-active-text));--button-border-active: var(--button-secondary-active-border, var(--nano-button-secondary-active-border))}.el-button.app-button-import{--button-bg: var(--button-import-bg, var(--nano-button-import-bg));--button-text: var(--button-import-text, var(--nano-button-import-text));--button-border: var(--button-import-border, var(--nano-button-import-border));--button-bg-hover: var(--button-import-hover-bg, var(--nano-button-import-hover-bg));--button-text-hover: var(--button-import-hover-text, var(--nano-button-import-hover-text));--button-border-hover: var(--button-import-hover-border, var(--nano-button-import-hover-border));--button-bg-active: var(--button-import-active-bg, var(--nano-button-import-active-bg));--button-text-active: var(--button-import-active-text, var(--nano-button-import-active-text));--button-border-active: var(--button-import-active-border, var(--nano-button-import-active-border))}.el-button.app-button-export{--button-bg: var(--button-export-bg, var(--nano-button-export-bg));--button-text: var(--button-export-text, var(--nano-button-export-text));--button-border: var(--button-export-border, var(--nano-button-export-border));--button-bg-hover: var(--button-export-hover-bg, var(--nano-button-export-hover-bg));--button-text-hover: var(--button-export-hover-text, var(--nano-button-export-hover-text));--button-border-hover: var(--button-export-hover-border, var(--nano-button-export-hover-border));--button-bg-active: var(--button-export-active-bg, var(--nano-button-export-active-bg));--button-text-active: var(--button-export-active-text, var(--nano-button-export-active-text));--button-border-active: var(--button-export-active-border, var(--nano-button-export-active-border))}.el-button.el-button--primary,.el-button.el-button--success,.el-button.el-button--warning,.el-button.el-button--danger,.el-button.el-button--info{--button-text: var(--color-text-on-brand, var(--nano-color-text-on-brand));--button-text-hover: var(--color-text-on-brand, var(--nano-color-text-on-brand));--button-text-active: var(--color-text-on-brand, var(--nano-color-text-on-brand));--button-shadow-hover: var(--button-hover-shadow, var(--nano-button-hover-shadow));box-shadow:none}.el-button.el-button--primary{--button-bg: var(--color-brand-primary, var(--nano-color-brand-primary));--button-border: var(--color-brand-primary, var(--nano-color-brand-primary));--button-bg-hover: var(--color-brand-primary-hover, var(--nano-color-brand-primary-hover));--button-border-hover: var(--color-brand-primary-hover, var(--nano-color-brand-primary-hover));--button-bg-active: var(--color-brand-primary-active, var(--nano-color-brand-primary-active));--button-border-active: var(--color-brand-primary-active, var(--nano-color-brand-primary-active))}.el-button.el-button--success{--button-bg: var(--color-success, var(--nano-color-success));--button-border: var(--color-success, var(--nano-color-success));--button-bg-hover: var(--color-success-hover, var(--nano-color-success-hover));--button-border-hover: var(--color-success-hover, var(--nano-color-success-hover));--button-bg-active: var(--color-success-active, var(--nano-color-success-active));--button-border-active: var(--color-success-active, var(--nano-color-success-active))}.el-button.el-button--warning{--button-bg: var(--color-warning, var(--nano-color-warning));--button-border: var(--color-warning, var(--nano-color-warning));--button-bg-hover: var(--color-warning-hover, var(--nano-color-warning-hover));--button-border-hover: var(--color-warning-hover, var(--nano-color-warning-hover));--button-bg-active: var(--color-warning-active, var(--nano-color-warning-active));--button-border-active: var(--color-warning-active, var(--nano-color-warning-active))}.el-button.el-button--danger{--button-bg: var(--color-danger, var(--nano-color-danger));--button-border: var(--color-danger, var(--nano-color-danger));--button-bg-hover: var(--color-danger-hover, var(--nano-color-danger-hover));--button-border-hover: var(--color-danger-hover, var(--nano-color-danger-hover));--button-bg-active: var(--color-danger-active, var(--nano-color-danger-active));--button-border-active: var(--color-danger-active, var(--nano-color-danger-active));--button-shadow-hover: var(--button-danger-hover-shadow, var(--nano-button-danger-hover-shadow))}.el-button.el-button--info{--button-bg: var(--color-info, var(--nano-color-info));--button-border: var(--color-info, var(--nano-color-info));--button-bg-hover: var(--color-info-hover, var(--nano-color-info-hover));--button-border-hover: var(--color-info-hover, var(--nano-color-info-hover));--button-bg-active: var(--color-info-active, var(--nano-color-info-active));--button-border-active: var(--color-info-active, var(--nano-color-info-active))}.el-button.is-text,.el-button.is-link{background-color:transparent;color:var(--button-text-default, var(--nano-button-text-default));border-color:transparent;box-shadow:none}.el-button.is-text:hover{background-color:var(--button-text-hover-bg, var(--nano-button-text-hover-bg));color:var(--button-text-hover, var(--nano-button-text-hover))}.el-button.is-link:hover,.el-button.is-text:active,.el-button.is-link:active{color:var(--button-text-active, var(--nano-button-text-active))}.app-backtop.el-backtop{width:auto;height:auto;background-color:transparent;box-shadow:none}.app-backtop.el-backtop:hover{background-color:transparent}.app-backtop-button.el-button{--button-bg: var(--color-brand-primary, var(--nano-color-brand-primary));--button-text: var(--color-text-on-brand, var(--nano-color-text-on-brand));--button-border: var(--color-brand-primary, var(--nano-color-brand-primary));--button-bg-hover: var(--color-brand-primary-hover, var(--nano-color-brand-primary-hover));--button-text-hover: var(--color-text-on-brand, var(--nano-color-text-on-brand));--button-border-hover: var(--color-brand-primary-hover, var(--nano-color-brand-primary-hover));--button-bg-active: var(--color-brand-primary-active, var(--nano-color-brand-primary-active));--button-text-active: var(--color-text-on-brand, var(--nano-color-text-on-brand));--button-border-active: var(--color-brand-primary-active, var(--nano-color-brand-primary-active));width:42px;height:42px;padding:0;border-radius:12px;border-width:1px;box-shadow:0 10px 22px #243c9642,inset 0 1px #ffffff2e;transform:translateY(0);transition:transform .18s ease,background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease,opacity .22s ease}.app-backtop-button.el-button>span,.app-backtop-icon{display:inline-flex;align-items:center;justify-content:center}.app-backtop-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.app-backtop-button.el-button:not(.is-text):not(.is-link):hover{transform:translateY(-2px);box-shadow:0 14px 26px #243c964d,inset 0 1px #ffffff38}.app-backtop-button.el-button:not(.is-text):not(.is-link):active{transform:translateY(0);box-shadow:0 6px 14px #243c9638,inset 0 1px 2px #1b2f7847}.cst-pagination[data-v-57970e36]{--el-color-primary: var(--color-brand-primary, var(--nano-color-brand-primary));--el-pagination-hover-color: var(--color-brand-primary, var(--nano-color-brand-primary));display:flex;width:100%}.cst-pagination--start[data-v-57970e36]{justify-content:flex-start}.cst-pagination--center[data-v-57970e36]{justify-content:center}.cst-pagination--end[data-v-57970e36]{justify-content:flex-end}.cst-table-wrapper[data-v-18cdd107]{display:flex;width:100%;min-height:0;flex-direction:column}.cst-table[data-v-18cdd107]{width:100%;overflow:hidden;border-radius:var(--el-border-radius-base);box-shadow:var(--el-box-shadow-light)}.cst-table-pagination[data-v-18cdd107]{margin-top:var(--cst-table-pagination-gap, 16px)}
1
+ :root{--nano-font-size-sm: var(--font-size-sm, 14px);--nano-font-size-lg: var(--font-size-lg, 18px);--nano-font-weight-medium: var(--font-weight-medium, 500);--nano-radius-md: var(--radius-md, 6px);--nano-shadow-card: var(--shadow-card, 0 2px 12px rgba(0, 0, 0, .12));--nano-color-brand-primary: var(--color-brand-primary, #243c96);--nano-color-brand-primary-hover: var(--color-brand-primary-hover, #3550b3);--nano-color-brand-primary-active: var(--color-brand-primary-active, #1b2f78);--nano-color-brand-primary-light: var(--color-brand-primary-light, #eef2ff);--nano-color-text-regular: var(--color-text-regular, #606266);--nano-color-text-on-brand: var(--color-text-on-brand, #ffffff);--nano-color-border-default: var(--color-border-default, #dcdfe6);--nano-color-success: var(--color-success, #67c23a);--nano-color-success-hover: var(--color-success-hover, #85ce61);--nano-color-success-active: var(--color-success-active, #529b2e);--nano-color-warning: var(--color-warning, #e6a23c);--nano-color-warning-hover: var(--color-warning-hover, #ebb563);--nano-color-warning-active: var(--color-warning-active, #b88230);--nano-color-danger: var(--color-danger, #d35a5a);--nano-color-danger-hover: var(--color-danger-hover, #e07272);--nano-color-danger-active: var(--color-danger-active, #bc4949);--nano-color-info: var(--color-info, #909399);--nano-color-info-hover: var(--color-info-hover, #a6a9ad);--nano-color-info-active: var(--color-info-active, #73767a);--nano-color-focus-outline: var(--color-focus-outline, rgba(36, 60, 150, .32));--nano-button-default-bg: var(--button-default-bg, #ffffff);--nano-button-default-text: var(--button-default-text, var(--nano-color-text-regular));--nano-button-default-border: var(--button-default-border, var(--nano-color-border-default));--nano-button-default-hover-bg: var(--button-default-hover-bg, var(--nano-color-brand-primary-light));--nano-button-default-hover-text: var(--button-default-hover-text, var(--nano-color-brand-primary));--nano-button-default-hover-border: var(--button-default-hover-border, var(--nano-color-brand-primary-hover));--nano-button-default-active-bg: var(--button-default-active-bg, #e0e8ff);--nano-button-default-active-text: var(--button-default-active-text, var(--nano-color-brand-primary-active));--nano-button-default-active-border: var(--button-default-active-border, var(--nano-color-brand-primary-active));--nano-button-secondary-bg: var(--button-secondary-bg, var(--nano-color-brand-primary-light));--nano-button-secondary-text: var(--button-secondary-text, var(--nano-color-brand-primary));--nano-button-secondary-border: var(--button-secondary-border, rgba(36, 60, 150, .32));--nano-button-secondary-hover-bg: var(--button-secondary-hover-bg, #e0e8ff);--nano-button-secondary-hover-text: var(--button-secondary-hover-text, var(--nano-color-brand-primary-hover));--nano-button-secondary-hover-border: var(--button-secondary-hover-border, var(--nano-color-brand-primary-hover));--nano-button-secondary-active-bg: var(--button-secondary-active-bg, #d4defd);--nano-button-secondary-active-text: var(--button-secondary-active-text, var(--nano-color-brand-primary-active));--nano-button-secondary-active-border: var(--button-secondary-active-border, var(--nano-color-brand-primary-active));--nano-button-import-bg: var(--button-import-bg, #edf5f3);--nano-button-import-text: var(--button-import-text, #2f6b57);--nano-button-import-border: var(--button-import-border, rgba(47, 107, 87, .2));--nano-button-import-hover-bg: var(--button-import-hover-bg, #e0f0ec);--nano-button-import-hover-text: var(--button-import-hover-text, #285c4b);--nano-button-import-hover-border: var(--button-import-hover-border, rgba(47, 107, 87, .36));--nano-button-import-active-bg: var(--button-import-active-bg, #d3e8e2);--nano-button-import-active-text: var(--button-import-active-text, #224f40);--nano-button-import-active-border: var(--button-import-active-border, rgba(47, 107, 87, .48));--nano-button-export-bg: var(--button-export-bg, #edf5f3);--nano-button-export-text: var(--button-export-text, #2f6b57);--nano-button-export-border: var(--button-export-border, rgba(47, 107, 87, .2));--nano-button-export-hover-bg: var(--button-export-hover-bg, #e0f0ec);--nano-button-export-hover-text: var(--button-export-hover-text, #285c4b);--nano-button-export-hover-border: var(--button-export-hover-border, rgba(47, 107, 87, .36));--nano-button-export-active-bg: var(--button-export-active-bg, #d3e8e2);--nano-button-export-active-text: var(--button-export-active-text, #224f40);--nano-button-export-active-border: var(--button-export-active-border, rgba(47, 107, 87, .48));--nano-button-text-default: var(--button-text-default, var(--nano-color-text-regular));--nano-button-text-hover-bg: var(--button-text-hover-bg, var(--nano-color-brand-primary-light));--nano-button-text-hover: var(--button-text-hover, var(--nano-color-brand-primary));--nano-button-text-active: var(--button-text-active, var(--nano-color-brand-primary-active));--nano-button-hover-shadow: var(--button-hover-shadow, 0 4px 12px rgba(36, 60, 150, .16));--nano-button-default-hover-shadow: var(--button-default-hover-shadow, 0 2px 10px rgba(36, 60, 150, .12));--nano-button-danger-hover-shadow: var(--button-danger-hover-shadow, 0 4px 12px rgba(211, 90, 90, .18))}html.dark{--nano-button-import-bg: var(--button-import-bg, rgba(80, 160, 120, .16));--nano-button-import-text: var(--button-import-text, #8dd3b1);--nano-button-import-border: var(--button-import-border, rgba(80, 160, 120, .28));--nano-button-import-hover-bg: var(--button-import-hover-bg, rgba(80, 160, 120, .24));--nano-button-import-hover-text: var(--button-import-hover-text, #a6e2c4);--nano-button-import-hover-border: var(--button-import-hover-border, rgba(80, 160, 120, .42));--nano-button-import-active-bg: var(--button-import-active-bg, rgba(80, 160, 120, .32));--nano-button-import-active-text: var(--button-import-active-text, #8dd3b1);--nano-button-import-active-border: var(--button-import-active-border, rgba(80, 160, 120, .56));--nano-button-export-bg: var(--button-export-bg, rgba(80, 160, 120, .16));--nano-button-export-text: var(--button-export-text, #8dd3b1);--nano-button-export-border: var(--button-export-border, rgba(80, 160, 120, .28));--nano-button-export-hover-bg: var(--button-export-hover-bg, rgba(80, 160, 120, .24));--nano-button-export-hover-text: var(--button-export-hover-text, #a6e2c4);--nano-button-export-hover-border: var(--button-export-hover-border, rgba(80, 160, 120, .42));--nano-button-export-active-bg: var(--button-export-active-bg, rgba(80, 160, 120, .32));--nano-button-export-active-text: var(--button-export-active-text, #8dd3b1);--nano-button-export-active-border: var(--button-export-active-border, rgba(80, 160, 120, .56))}.el-button{--button-bg: var(--button-default-bg, var(--nano-button-default-bg));--button-text: var(--button-default-text, var(--nano-button-default-text));--button-border: var(--button-default-border, var(--nano-button-default-border));--button-bg-hover: var(--button-default-hover-bg, var(--nano-button-default-hover-bg));--button-text-hover: var(--button-default-hover-text, var(--nano-button-default-hover-text));--button-border-hover: var(--button-default-hover-border, var(--nano-button-default-hover-border));--button-bg-active: var(--button-default-active-bg, var(--nano-button-default-active-bg));--button-text-active: var(--button-default-active-text, var(--nano-button-default-active-text));--button-border-active: var(--button-default-active-border, var(--nano-button-default-active-border));--button-shadow-hover: var(--button-default-hover-shadow, var(--nano-button-default-hover-shadow));font-size:var(--font-size-sm, var(--nano-font-size-sm));font-weight:var(--font-weight-medium, var(--nano-font-weight-medium));border-radius:var(--radius-md, var(--nano-radius-md));transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease,opacity .22s ease}.el-button:focus-visible{outline:2px solid var(--color-focus-outline, var(--nano-color-focus-outline));outline-offset:2px}.el-button.is-disabled,.el-button.is-disabled:hover,.el-button.is-disabled:active{box-shadow:none}.el-button:not(.is-text):not(.is-link){--el-button-text-color: var(--button-text);--el-button-bg-color: var(--button-bg);--el-button-border-color: var(--button-border);--el-button-hover-text-color: var(--button-text-hover);--el-button-hover-bg-color: var(--button-bg-hover);--el-button-hover-border-color: var(--button-border-hover);--el-button-active-text-color: var(--button-text-active);--el-button-active-bg-color: var(--button-bg-active);--el-button-active-border-color: var(--button-border-active);color:var(--button-text);background-color:var(--button-bg);border-color:var(--button-border)}.el-button:not(.is-text):not(.is-link):hover{background-color:var(--button-bg-hover);color:var(--button-text-hover);border-color:var(--button-border-hover);box-shadow:var(--button-shadow-hover)}.el-button:not(.is-text):not(.is-link):active{background-color:var(--button-bg-active);color:var(--button-text-active);border-color:var(--button-border-active);box-shadow:none}.el-button.app-button-secondary{--button-bg: var(--button-secondary-bg, var(--nano-button-secondary-bg));--button-text: var(--button-secondary-text, var(--nano-button-secondary-text));--button-border: var(--button-secondary-border, var(--nano-button-secondary-border));--button-bg-hover: var(--button-secondary-hover-bg, var(--nano-button-secondary-hover-bg));--button-text-hover: var(--button-secondary-hover-text, var(--nano-button-secondary-hover-text));--button-border-hover: var(--button-secondary-hover-border, var(--nano-button-secondary-hover-border));--button-bg-active: var(--button-secondary-active-bg, var(--nano-button-secondary-active-bg));--button-text-active: var(--button-secondary-active-text, var(--nano-button-secondary-active-text));--button-border-active: var(--button-secondary-active-border, var(--nano-button-secondary-active-border))}.el-button.app-button-import{--button-bg: var(--button-import-bg, var(--nano-button-import-bg));--button-text: var(--button-import-text, var(--nano-button-import-text));--button-border: var(--button-import-border, var(--nano-button-import-border));--button-bg-hover: var(--button-import-hover-bg, var(--nano-button-import-hover-bg));--button-text-hover: var(--button-import-hover-text, var(--nano-button-import-hover-text));--button-border-hover: var(--button-import-hover-border, var(--nano-button-import-hover-border));--button-bg-active: var(--button-import-active-bg, var(--nano-button-import-active-bg));--button-text-active: var(--button-import-active-text, var(--nano-button-import-active-text));--button-border-active: var(--button-import-active-border, var(--nano-button-import-active-border))}.el-button.app-button-export{--button-bg: var(--button-export-bg, var(--nano-button-export-bg));--button-text: var(--button-export-text, var(--nano-button-export-text));--button-border: var(--button-export-border, var(--nano-button-export-border));--button-bg-hover: var(--button-export-hover-bg, var(--nano-button-export-hover-bg));--button-text-hover: var(--button-export-hover-text, var(--nano-button-export-hover-text));--button-border-hover: var(--button-export-hover-border, var(--nano-button-export-hover-border));--button-bg-active: var(--button-export-active-bg, var(--nano-button-export-active-bg));--button-text-active: var(--button-export-active-text, var(--nano-button-export-active-text));--button-border-active: var(--button-export-active-border, var(--nano-button-export-active-border))}.el-button.el-button--primary,.el-button.el-button--success,.el-button.el-button--warning,.el-button.el-button--danger,.el-button.el-button--info{--button-text: var(--color-text-on-brand, var(--nano-color-text-on-brand));--button-text-hover: var(--color-text-on-brand, var(--nano-color-text-on-brand));--button-text-active: var(--color-text-on-brand, var(--nano-color-text-on-brand));--button-shadow-hover: var(--button-hover-shadow, var(--nano-button-hover-shadow));box-shadow:none}.el-button.el-button--primary{--button-bg: var(--color-brand-primary, var(--nano-color-brand-primary));--button-border: var(--color-brand-primary, var(--nano-color-brand-primary));--button-bg-hover: var(--color-brand-primary-hover, var(--nano-color-brand-primary-hover));--button-border-hover: var(--color-brand-primary-hover, var(--nano-color-brand-primary-hover));--button-bg-active: var(--color-brand-primary-active, var(--nano-color-brand-primary-active));--button-border-active: var(--color-brand-primary-active, var(--nano-color-brand-primary-active))}.el-button.el-button--success{--button-bg: var(--color-success, var(--nano-color-success));--button-border: var(--color-success, var(--nano-color-success));--button-bg-hover: var(--color-success-hover, var(--nano-color-success-hover));--button-border-hover: var(--color-success-hover, var(--nano-color-success-hover));--button-bg-active: var(--color-success-active, var(--nano-color-success-active));--button-border-active: var(--color-success-active, var(--nano-color-success-active))}.el-button.el-button--warning{--button-bg: var(--color-warning, var(--nano-color-warning));--button-border: var(--color-warning, var(--nano-color-warning));--button-bg-hover: var(--color-warning-hover, var(--nano-color-warning-hover));--button-border-hover: var(--color-warning-hover, var(--nano-color-warning-hover));--button-bg-active: var(--color-warning-active, var(--nano-color-warning-active));--button-border-active: var(--color-warning-active, var(--nano-color-warning-active))}.el-button.el-button--danger{--button-bg: var(--color-danger, var(--nano-color-danger));--button-border: var(--color-danger, var(--nano-color-danger));--button-bg-hover: var(--color-danger-hover, var(--nano-color-danger-hover));--button-border-hover: var(--color-danger-hover, var(--nano-color-danger-hover));--button-bg-active: var(--color-danger-active, var(--nano-color-danger-active));--button-border-active: var(--color-danger-active, var(--nano-color-danger-active));--button-shadow-hover: var(--button-danger-hover-shadow, var(--nano-button-danger-hover-shadow))}.el-button.el-button--info{--button-bg: var(--color-info, var(--nano-color-info));--button-border: var(--color-info, var(--nano-color-info));--button-bg-hover: var(--color-info-hover, var(--nano-color-info-hover));--button-border-hover: var(--color-info-hover, var(--nano-color-info-hover));--button-bg-active: var(--color-info-active, var(--nano-color-info-active));--button-border-active: var(--color-info-active, var(--nano-color-info-active))}.el-button.is-text,.el-button.is-link{background-color:transparent;color:var(--button-text-default, var(--nano-button-text-default));border-color:transparent;box-shadow:none}.el-button.is-text:hover{background-color:var(--button-text-hover-bg, var(--nano-button-text-hover-bg));color:var(--button-text-hover, var(--nano-button-text-hover))}.el-button.is-link:hover,.el-button.is-text:active,.el-button.is-link:active{color:var(--button-text-active, var(--nano-button-text-active))}.app-backtop.el-backtop{width:auto;height:auto;background-color:transparent;box-shadow:none}.app-backtop.el-backtop:hover{background-color:transparent}.app-backtop-button.el-button{--button-bg: var(--color-brand-primary, var(--nano-color-brand-primary));--button-text: var(--color-text-on-brand, var(--nano-color-text-on-brand));--button-border: var(--color-brand-primary, var(--nano-color-brand-primary));--button-bg-hover: var(--color-brand-primary-hover, var(--nano-color-brand-primary-hover));--button-text-hover: var(--color-text-on-brand, var(--nano-color-text-on-brand));--button-border-hover: var(--color-brand-primary-hover, var(--nano-color-brand-primary-hover));--button-bg-active: var(--color-brand-primary-active, var(--nano-color-brand-primary-active));--button-text-active: var(--color-text-on-brand, var(--nano-color-text-on-brand));--button-border-active: var(--color-brand-primary-active, var(--nano-color-brand-primary-active));width:42px;height:42px;padding:0;border-radius:12px;border-width:1px;box-shadow:0 10px 22px #243c9642,inset 0 1px #ffffff2e;transform:translateY(0);transition:transform .18s ease,background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease,opacity .22s ease}.app-backtop-button.el-button>span,.app-backtop-icon{display:inline-flex;align-items:center;justify-content:center}.app-backtop-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.app-backtop-button.el-button:not(.is-text):not(.is-link):hover{transform:translateY(-2px);box-shadow:0 14px 26px #243c964d,inset 0 1px #ffffff38}.app-backtop-button.el-button:not(.is-text):not(.is-link):active{transform:translateY(0);box-shadow:0 6px 14px #243c9638,inset 0 1px 2px #1b2f7847}.cst-pagination[data-v-b5348694]{--el-color-primary: var(--color-brand-primary, var(--nano-color-brand-primary));--el-pagination-hover-color: var(--color-brand-primary, var(--nano-color-brand-primary));display:flex;width:100%}.cst-pagination--start[data-v-b5348694]{justify-content:flex-start}.cst-pagination--center[data-v-b5348694]{justify-content:center}.cst-pagination--end[data-v-b5348694]{justify-content:flex-end}.cst-table-wrapper[data-v-69aa088d]{display:flex;width:100%;min-height:0;flex-direction:column}.cst-table[data-v-69aa088d]{width:100%;overflow:hidden;border-radius:var(--el-border-radius-base);box-shadow:var(--el-box-shadow-light)}.cst-table-pagination[data-v-69aa088d]{margin-top:var(--cst-table-pagination-gap, 16px)}
@@ -1,4 +1,5 @@
1
1
  type PaginationAlign = 'start' | 'center' | 'end';
2
+ type TableRow = Record<PropertyKey, any>;
2
3
  declare function __VLS_template(): {
3
4
  slots: {
4
5
  default?(_: {}): any;
@@ -8,7 +9,7 @@ declare function __VLS_template(): {
8
9
  };
9
10
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
11
  declare const __VLS_component: import("vue").DefineComponent<{
11
- data?: unknown[];
12
+ data?: TableRow[];
12
13
  pagination?: boolean;
13
14
  defaultPageSize?: number;
14
15
  pageSizes?: number[];
@@ -19,7 +20,7 @@ declare const __VLS_component: import("vue").DefineComponent<{
19
20
  currentPageChange: (value: number) => any;
20
21
  pageSizeChange: (value: number) => any;
21
22
  }, string, import("vue").PublicProps, Readonly<{
22
- data?: unknown[];
23
+ data?: TableRow[];
23
24
  pagination?: boolean;
24
25
  defaultPageSize?: number;
25
26
  pageSizes?: number[];
@@ -30,7 +31,7 @@ declare const __VLS_component: import("vue").DefineComponent<{
30
31
  onCurrentPageChange?: ((value: number) => any) | undefined;
31
32
  onPageSizeChange?: ((value: number) => any) | undefined;
32
33
  }>, {
33
- data: unknown[];
34
+ data: TableRow[];
34
35
  pageSizes: number[];
35
36
  defaultPageSize: number;
36
37
  pagination: boolean;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),b=e.defineComponent({name:"CstPagination",inheritAttrs:!1,__name:"CstPagination",props:{currentPage:{default:1},pageSize:{default:10},total:{default:void 0},pageCount:{default:void 0},pageSizes:{default:()=>[10,20,50,100]},layout:{default:"total, sizes, prev, pager, next, jumper"},background:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},hideOnSinglePage:{type:Boolean,default:!1},align:{default:"end"}},emits:["update:currentPage","update:pageSize","currentChange","sizeChange","prevClick","nextClick"],setup(t,{emit:i}){const o=i;return(u,n)=>{const s=e.resolveComponent("el-pagination");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["cst-pagination",`cst-pagination--${t.align}`])},[e.createVNode(s,e.mergeProps(u.$attrs,{"current-page":t.currentPage,"page-size":t.pageSize,"page-sizes":t.pageSizes,layout:t.layout,background:t.background,disabled:t.disabled,"hide-on-single-page":t.hideOnSinglePage,total:t.pageCount===void 0?t.total??0:void 0,"page-count":t.pageCount,"onUpdate:currentPage":n[0]||(n[0]=a=>o("update:currentPage",a)),"onUpdate:pageSize":n[1]||(n[1]=a=>o("update:pageSize",a)),onCurrentChange:n[2]||(n[2]=a=>o("currentChange",a)),onSizeChange:n[3]||(n[3]=a=>o("sizeChange",a)),onPrevClick:n[4]||(n[4]=a=>o("prevClick",a)),onNextClick:n[5]||(n[5]=a=>o("nextClick",a))}),{default:e.withCtx(()=>[e.renderSlot(u.$slots,"default",{},void 0,!0)]),_:3},16,["current-page","page-size","page-sizes","layout","background","disabled","hide-on-single-page","total","page-count"])],2)}}}),c=(t,i)=>{const o=t.__vccOpts||t;for(const[u,n]of i)o[u]=n;return o},g=c(b,[["__scopeId","data-v-57970e36"]]),P={class:"cst-table-wrapper"},S={key:0,class:"cst-table-pagination"},k=e.defineComponent({name:"CstTable",inheritAttrs:!1,__name:"CstTable",props:{data:{default:()=>[]},pagination:{type:Boolean,default:!0},defaultPageSize:{default:20},pageSizes:{default:()=>[10,20,50,100]},paginationLayout:{default:"total, sizes, prev, pager, next, jumper"},paginationBackground:{type:Boolean,default:!0},paginationAlign:{default:"end"}},emits:["currentPageChange","pageSizeChange"],setup(t,{emit:i}){const o=t,u=i,n=e.useAttrs(),s=e.ref(1),a=e.ref(o.defaultPageSize),C=e.computed(()=>{if(!o.pagination)return o.data;const l=(s.value-1)*a.value;return o.data.slice(l,l+a.value)}),m=e.computed(()=>({border:!0,stripe:!0,fit:!0,tableLayout:"auto",...n})),d=l=>{s.value=l,u("currentPageChange",l)},v=l=>{a.value=l,s.value=1,u("pageSizeChange",l),u("currentPageChange",1)};return e.watch(()=>o.data.length,l=>{const r=Math.max(1,Math.ceil(l/a.value));s.value>r&&d(r)}),(l,r)=>{const z=e.resolveComponent("el-table");return e.openBlock(),e.createElementBlock("div",P,[e.createVNode(z,e.mergeProps(m.value,{data:C.value,class:"cst-table"}),{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default",{},void 0,!0)]),_:3},16,["data"]),t.pagination?(e.openBlock(),e.createElementBlock("div",S,[e.createVNode(g,{"current-page":s.value,"page-size":a.value,total:t.data.length,"page-sizes":t.pageSizes,layout:t.paginationLayout,background:t.paginationBackground,align:t.paginationAlign,"onUpdate:currentPage":d,"onUpdate:pageSize":v},null,8,["current-page","page-size","total","page-sizes","layout","background","align"])])):e.createCommentVNode("",!0)])}}}),p=c(k,[["__scopeId","data-v-18cdd107"]]),y=[p,g],f=t=>{y.forEach(i=>{t.component(i.name||"AnonymousComponent",i)})},h={install:f};exports.CstPagination=g;exports.CstTable=p;exports.default=h;exports.install=f;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),b=e.defineComponent({name:"CstPagination",inheritAttrs:!1,__name:"CstPagination",props:{currentPage:{default:1},pageSize:{default:10},total:{default:void 0},pageCount:{default:void 0},pageSizes:{default:()=>[10,20,50,100]},layout:{default:"total, sizes, prev, pager, next, jumper"},background:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},hideOnSinglePage:{type:Boolean,default:!1},align:{default:"end"}},emits:["update:currentPage","update:pageSize","currentChange","sizeChange","prevClick","nextClick"],setup(t,{emit:i}){const o=i;return(u,n)=>{const s=e.resolveComponent("el-pagination");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["cst-pagination",`cst-pagination--${t.align}`])},[e.createVNode(s,e.mergeProps(u.$attrs,{"current-page":t.currentPage,"page-size":t.pageSize,"page-sizes":t.pageSizes,layout:t.layout,background:t.background,disabled:t.disabled,"hide-on-single-page":t.hideOnSinglePage,total:t.pageCount===void 0?t.total??0:void 0,"page-count":t.pageCount,"onUpdate:currentPage":n[0]||(n[0]=a=>o("update:currentPage",a)),"onUpdate:pageSize":n[1]||(n[1]=a=>o("update:pageSize",a)),onCurrentChange:n[2]||(n[2]=a=>o("currentChange",a)),onSizeChange:n[3]||(n[3]=a=>o("sizeChange",a)),onPrevClick:n[4]||(n[4]=a=>o("prevClick",a)),onNextClick:n[5]||(n[5]=a=>o("nextClick",a))}),{default:e.withCtx(()=>[e.renderSlot(u.$slots,"default",{},void 0,!0)]),_:3},16,["current-page","page-size","page-sizes","layout","background","disabled","hide-on-single-page","total","page-count"])],2)}}}),c=(t,i)=>{const o=t.__vccOpts||t;for(const[u,n]of i)o[u]=n;return o},g=c(b,[["__scopeId","data-v-b5348694"]]),P={class:"cst-table-wrapper"},S={key:0,class:"cst-table-pagination"},k=e.defineComponent({name:"CstTable",inheritAttrs:!1,__name:"CstTable",props:{data:{default:()=>[]},pagination:{type:Boolean,default:!0},defaultPageSize:{default:20},pageSizes:{default:()=>[10,20,50,100]},paginationLayout:{default:"total, sizes, prev, pager, next, jumper"},paginationBackground:{type:Boolean,default:!0},paginationAlign:{default:"end"}},emits:["currentPageChange","pageSizeChange"],setup(t,{emit:i}){const o=t,u=i,n=e.useAttrs(),s=e.ref(1),a=e.ref(o.defaultPageSize),C=e.computed(()=>{if(!o.pagination)return o.data;const l=(s.value-1)*a.value;return o.data.slice(l,l+a.value)}),m=e.computed(()=>({border:!0,stripe:!0,fit:!0,tableLayout:"auto",...n})),d=l=>{s.value=l,u("currentPageChange",l)},v=l=>{a.value=l,s.value=1,u("pageSizeChange",l),u("currentPageChange",1)};return e.watch(()=>o.data.length,l=>{const r=Math.max(1,Math.ceil(l/a.value));s.value>r&&d(r)}),(l,r)=>{const z=e.resolveComponent("el-table");return e.openBlock(),e.createElementBlock("div",P,[e.createVNode(z,e.mergeProps(m.value,{data:C.value,class:"cst-table"}),{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default",{},void 0,!0)]),_:3},16,["data"]),t.pagination?(e.openBlock(),e.createElementBlock("div",S,[e.createVNode(g,{"current-page":s.value,"page-size":a.value,total:t.data.length,"page-sizes":t.pageSizes,layout:t.paginationLayout,background:t.paginationBackground,align:t.paginationAlign,"onUpdate:currentPage":d,"onUpdate:pageSize":v},null,8,["current-page","page-size","total","page-sizes","layout","background","align"])])):e.createCommentVNode("",!0)])}}}),p=c(k,[["__scopeId","data-v-69aa088d"]]),y=[p,g],f=t=>{y.forEach(i=>{t.component(i.name||"AnonymousComponent",i)})},h={install:f};exports.CstPagination=g;exports.CstTable=p;exports.default=h;exports.install=f;
@@ -53,7 +53,7 @@ const U = /* @__PURE__ */ C({
53
53
  for (const [l, a] of i)
54
54
  n[l] = a;
55
55
  return n;
56
- }, S = /* @__PURE__ */ P(U, [["__scopeId", "data-v-57970e36"]]), w = { class: "cst-table-wrapper" }, L = {
56
+ }, S = /* @__PURE__ */ P(U, [["__scopeId", "data-v-b5348694"]]), w = { class: "cst-table-wrapper" }, L = {
57
57
  key: 0,
58
58
  class: "cst-table-pagination"
59
59
  }, N = /* @__PURE__ */ C({
@@ -121,7 +121,7 @@ const U = /* @__PURE__ */ C({
121
121
  ]);
122
122
  };
123
123
  }
124
- }), O = /* @__PURE__ */ P(N, [["__scopeId", "data-v-18cdd107"]]), j = [O, S], E = (e) => {
124
+ }), O = /* @__PURE__ */ P(N, [["__scopeId", "data-v-69aa088d"]]), j = [O, S], E = (e) => {
125
125
  j.forEach((i) => {
126
126
  e.component(i.name || "AnonymousComponent", i);
127
127
  });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cst-ui/nano-buttons",
3
- "version": "0.3.2",
4
- "description": "Nano themed Vue 3 button, table, pagination, and dialog tab components based on Element Plus.",
3
+ "version": "0.4.0",
4
+ "description": "Nano themed Vue 3 button, table, pagination, and dialog tab components based on Element Plus.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
7
7
  "main": "./dist/index.cjs",
@@ -1,219 +0,0 @@
1
- import { defineComponent as p, openBlock as s, createBlock as a, mergeProps as n, withCtx as r, renderSlot as u, createTextVNode as $, createElementVNode as f, normalizeProps as d, guardReactiveProps as m } from "vue";
2
- import { buttonProps as l } from "element-plus";
3
- import { _ as o } from "./NanoButton.vue_vue_type_script_setup_true_lang-DgnSKBXL.js";
4
- const y = /* @__PURE__ */ p({
5
- name: "NanoAddButton",
6
- inheritAttrs: !1,
7
- __name: "NanoAddButton",
8
- props: l,
9
- setup(i) {
10
- return (t, e) => (s(), a(o, n({ ...t.$props, ...t.$attrs }, {
11
- type: "primary",
12
- icon: "Plus"
13
- }), {
14
- default: r(() => [
15
- u(t.$slots, "default", {}, () => [
16
- e[0] || (e[0] = $("新增", -1))
17
- ])
18
- ]),
19
- _: 3
20
- }, 16));
21
- }
22
- }), k = /* @__PURE__ */ p({
23
- name: "NanoBackTopButton",
24
- inheritAttrs: !1,
25
- __name: "NanoBackTopButton",
26
- props: l,
27
- setup(i) {
28
- return (t, e) => t.$slots.default ? (s(), a(o, n({ key: 0 }, { ...t.$props, ...t.$attrs }, {
29
- secondary: "",
30
- class: "app-backtop-button"
31
- }), {
32
- default: r(() => [
33
- u(t.$slots, "default")
34
- ]),
35
- _: 3
36
- }, 16)) : (s(), a(o, n({ key: 1 }, { ...t.$props, ...t.$attrs }, {
37
- secondary: "",
38
- class: "app-backtop-button"
39
- }), {
40
- default: r(() => [...e[0] || (e[0] = [
41
- f("svg", {
42
- class: "app-backtop-icon",
43
- viewBox: "0 0 24 24",
44
- "aria-hidden": "true",
45
- focusable: "false"
46
- }, [
47
- f("path", { d: "M6 5h12" }),
48
- f("path", { d: "M12 19V9" }),
49
- f("path", { d: "m8 13 4-4 4 4" })
50
- ], -1)
51
- ])]),
52
- _: 1
53
- }, 16));
54
- }
55
- }), c = /* @__PURE__ */ p({
56
- name: "NanoCancelButton",
57
- inheritAttrs: !1,
58
- __name: "NanoCancelButton",
59
- props: l,
60
- setup(i) {
61
- return (t, e) => (s(), a(o, d(m({ ...t.$props, ...t.$attrs })), {
62
- default: r(() => [
63
- u(t.$slots, "default", {}, () => [
64
- e[0] || (e[0] = $("取消", -1))
65
- ])
66
- ]),
67
- _: 3
68
- }, 16));
69
- }
70
- }), h = /* @__PURE__ */ p({
71
- name: "NanoDeleteButton",
72
- inheritAttrs: !1,
73
- __name: "NanoDeleteButton",
74
- props: l,
75
- setup(i) {
76
- return (t, e) => t.$slots.default ? (s(), a(o, n({ key: 0 }, { ...t.$props, ...t.$attrs }, {
77
- type: "danger",
78
- icon: "Delete"
79
- }), {
80
- default: r(() => [
81
- u(t.$slots, "default")
82
- ]),
83
- _: 3
84
- }, 16)) : (s(), a(o, n({ key: 1 }, { ...t.$props, ...t.$attrs }, {
85
- type: "danger",
86
- icon: "Delete"
87
- }), null, 16));
88
- }
89
- }), A = /* @__PURE__ */ p({
90
- name: "NanoEditButton",
91
- inheritAttrs: !1,
92
- __name: "NanoEditButton",
93
- props: l,
94
- setup(i) {
95
- return (t, e) => t.$slots.default ? (s(), a(o, n({ key: 0 }, { ...t.$props, ...t.$attrs }, { icon: "Edit" }), {
96
- default: r(() => [
97
- u(t.$slots, "default")
98
- ]),
99
- _: 3
100
- }, 16)) : (s(), a(o, n({ key: 1 }, { ...t.$props, ...t.$attrs }, { icon: "Edit" }), null, 16));
101
- }
102
- }), b = /* @__PURE__ */ p({
103
- name: "NanoExportButton",
104
- inheritAttrs: !1,
105
- __name: "NanoExportButton",
106
- props: l,
107
- setup(i) {
108
- return (t, e) => (s(), a(o, n({ ...t.$props, ...t.$attrs }, {
109
- class: "app-button-export",
110
- icon: "Download"
111
- }), {
112
- default: r(() => [
113
- u(t.$slots, "default", {}, () => [
114
- e[0] || (e[0] = $("导出", -1))
115
- ])
116
- ]),
117
- _: 3
118
- }, 16));
119
- }
120
- }), g = /* @__PURE__ */ p({
121
- name: "NanoImportButton",
122
- inheritAttrs: !1,
123
- __name: "NanoImportButton",
124
- props: l,
125
- setup(i) {
126
- return (t, e) => (s(), a(o, n({ ...t.$props, ...t.$attrs }, {
127
- class: "app-button-import",
128
- icon: "Upload"
129
- }), {
130
- default: r(() => [
131
- u(t.$slots, "default", {}, () => [
132
- e[0] || (e[0] = $("导入", -1))
133
- ])
134
- ]),
135
- _: 3
136
- }, 16));
137
- }
138
- }), E = /* @__PURE__ */ p({
139
- name: "NanoManageButton",
140
- inheritAttrs: !1,
141
- __name: "NanoManageButton",
142
- props: l,
143
- setup(i) {
144
- return (t, e) => t.$slots.default ? (s(), a(o, n({ key: 0 }, { ...t.$props, ...t.$attrs }, {
145
- type: "primary",
146
- icon: "Setting"
147
- }), {
148
- default: r(() => [
149
- u(t.$slots, "default")
150
- ]),
151
- _: 3
152
- }, 16)) : (s(), a(o, n({ key: 1 }, { ...t.$props, ...t.$attrs }, {
153
- type: "primary",
154
- icon: "Setting"
155
- }), null, 16));
156
- }
157
- }), P = /* @__PURE__ */ p({
158
- name: "NanoMoveButton",
159
- inheritAttrs: !1,
160
- __name: "NanoMoveButton",
161
- props: l,
162
- setup(i) {
163
- return (t, e) => (s(), a(o, n({ ...t.$props, ...t.$attrs }, { icon: "Rank" }), {
164
- default: r(() => [
165
- u(t.$slots, "default", {}, () => [
166
- e[0] || (e[0] = $("移动", -1))
167
- ])
168
- ]),
169
- _: 3
170
- }, 16));
171
- }
172
- }), M = /* @__PURE__ */ p({
173
- name: "NanoSubmitButton",
174
- inheritAttrs: !1,
175
- __name: "NanoSubmitButton",
176
- props: l,
177
- setup(i) {
178
- return (t, e) => (s(), a(o, n({ ...t.$props, ...t.$attrs }, { type: "primary" }), {
179
- default: r(() => [
180
- u(t.$slots, "default", {}, () => [
181
- e[0] || (e[0] = $("保存", -1))
182
- ])
183
- ]),
184
- _: 3
185
- }, 16));
186
- }
187
- }), v = /* @__PURE__ */ p({
188
- name: "NanoTextAddButton",
189
- inheritAttrs: !1,
190
- __name: "NanoTextAddButton",
191
- props: l,
192
- setup(i) {
193
- return (t, e) => t.$slots.default ? (s(), a(o, n({ key: 0 }, { ...t.$props, ...t.$attrs }, {
194
- text: "",
195
- icon: "Plus"
196
- }), {
197
- default: r(() => [
198
- u(t.$slots, "default")
199
- ]),
200
- _: 3
201
- }, 16)) : (s(), a(o, n({ key: 1 }, { ...t.$props, ...t.$attrs }, {
202
- text: "",
203
- icon: "Plus"
204
- }), null, 16));
205
- }
206
- });
207
- export {
208
- y as _,
209
- v as a,
210
- P as b,
211
- g as c,
212
- b as d,
213
- A as e,
214
- E as f,
215
- h as g,
216
- M as h,
217
- c as i,
218
- k as j
219
- };
@@ -1 +0,0 @@
1
- "use strict";const e=require("vue"),r=require("element-plus"),n=require("./NanoButton.vue_vue_type_script_setup_true_lang-D1yLWi2K.cjs"),a=e.defineComponent({name:"NanoAddButton",inheritAttrs:!1,__name:"NanoAddButton",props:r.buttonProps,setup(s){return(t,o)=>(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({...t.$props,...t.$attrs},{type:"primary",icon:"Plus"}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{},()=>[o[0]||(o[0]=e.createTextVNode("新增",-1))])]),_:3},16))}}),p=e.defineComponent({name:"NanoBackTopButton",inheritAttrs:!1,__name:"NanoBackTopButton",props:r.buttonProps,setup(s){return(t,o)=>t.$slots.default?(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:0},{...t.$props,...t.$attrs},{secondary:"",class:"app-backtop-button"}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},16)):(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:1},{...t.$props,...t.$attrs},{secondary:"",class:"app-backtop-button"}),{default:e.withCtx(()=>[...o[0]||(o[0]=[e.createElementVNode("svg",{class:"app-backtop-icon",viewBox:"0 0 24 24","aria-hidden":"true",focusable:"false"},[e.createElementVNode("path",{d:"M6 5h12"}),e.createElementVNode("path",{d:"M12 19V9"}),e.createElementVNode("path",{d:"m8 13 4-4 4 4"})],-1)])]),_:1},16))}}),l=e.defineComponent({name:"NanoCancelButton",inheritAttrs:!1,__name:"NanoCancelButton",props:r.buttonProps,setup(s){return(t,o)=>(e.openBlock(),e.createBlock(n._sfc_main,e.normalizeProps(e.guardReactiveProps({...t.$props,...t.$attrs})),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{},()=>[o[0]||(o[0]=e.createTextVNode("取消",-1))])]),_:3},16))}}),u=e.defineComponent({name:"NanoDeleteButton",inheritAttrs:!1,__name:"NanoDeleteButton",props:r.buttonProps,setup(s){return(t,o)=>t.$slots.default?(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:0},{...t.$props,...t.$attrs},{type:"danger",icon:"Delete"}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},16)):(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:1},{...t.$props,...t.$attrs},{type:"danger",icon:"Delete"}),null,16))}}),i=e.defineComponent({name:"NanoEditButton",inheritAttrs:!1,__name:"NanoEditButton",props:r.buttonProps,setup(s){return(t,o)=>t.$slots.default?(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:0},{...t.$props,...t.$attrs},{icon:"Edit"}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},16)):(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:1},{...t.$props,...t.$attrs},{icon:"Edit"}),null,16))}}),m=e.defineComponent({name:"NanoExportButton",inheritAttrs:!1,__name:"NanoExportButton",props:r.buttonProps,setup(s){return(t,o)=>(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({...t.$props,...t.$attrs},{class:"app-button-export",icon:"Download"}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{},()=>[o[0]||(o[0]=e.createTextVNode("导出",-1))])]),_:3},16))}}),_=e.defineComponent({name:"NanoImportButton",inheritAttrs:!1,__name:"NanoImportButton",props:r.buttonProps,setup(s){return(t,o)=>(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({...t.$props,...t.$attrs},{class:"app-button-import",icon:"Upload"}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{},()=>[o[0]||(o[0]=e.createTextVNode("导入",-1))])]),_:3},16))}}),c=e.defineComponent({name:"NanoManageButton",inheritAttrs:!1,__name:"NanoManageButton",props:r.buttonProps,setup(s){return(t,o)=>t.$slots.default?(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:0},{...t.$props,...t.$attrs},{type:"primary",icon:"Setting"}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},16)):(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:1},{...t.$props,...t.$attrs},{type:"primary",icon:"Setting"}),null,16))}}),f=e.defineComponent({name:"NanoMoveButton",inheritAttrs:!1,__name:"NanoMoveButton",props:r.buttonProps,setup(s){return(t,o)=>(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({...t.$props,...t.$attrs},{icon:"Rank"}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{},()=>[o[0]||(o[0]=e.createTextVNode("移动",-1))])]),_:3},16))}}),d=e.defineComponent({name:"NanoSubmitButton",inheritAttrs:!1,__name:"NanoSubmitButton",props:r.buttonProps,setup(s){return(t,o)=>(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({...t.$props,...t.$attrs},{type:"primary"}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{},()=>[o[0]||(o[0]=e.createTextVNode("保存",-1))])]),_:3},16))}}),$=e.defineComponent({name:"NanoTextAddButton",inheritAttrs:!1,__name:"NanoTextAddButton",props:r.buttonProps,setup(s){return(t,o)=>t.$slots.default?(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:0},{...t.$props,...t.$attrs},{text:"",icon:"Plus"}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},16)):(e.openBlock(),e.createBlock(n._sfc_main,e.mergeProps({key:1},{...t.$props,...t.$attrs},{text:"",icon:"Plus"}),null,16))}});exports._sfc_main=a;exports._sfc_main$1=$;exports._sfc_main$10=p;exports._sfc_main$2=f;exports._sfc_main$3=_;exports._sfc_main$4=m;exports._sfc_main$5=i;exports._sfc_main$6=c;exports._sfc_main$7=u;exports._sfc_main$8=d;exports._sfc_main$9=l;