@oiij/naive-ui 0.0.64 → 0.0.66

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.
Files changed (87) hide show
  1. package/dist/_virtual/_/plugin-vue/export-helper.js +9 -0
  2. package/dist/components/_utils/cssr-bem.js +7 -0
  3. package/dist/components/_utils/prismjs.js +16 -0
  4. package/dist/components/bubble/Bubble.js +67 -0
  5. package/dist/components/bubble/Bubble.vue.d.ts +51 -46
  6. package/dist/components/bubble/bubble.cssr.js +23 -0
  7. package/dist/components/bubble/index.d.ts +19 -15
  8. package/dist/components/config-providers/ConfigProviders.js +78 -0
  9. package/dist/components/config-providers/ConfigProviders.vue.d.ts +37 -33
  10. package/dist/components/config-providers/index.d.ts +28 -24
  11. package/dist/components/copy-button/CopyButton.js +50 -0
  12. package/dist/components/copy-button/CopyButton.vue.d.ts +36 -30
  13. package/dist/components/copy-button/index.d.ts +13 -9
  14. package/dist/components/data-table-plus/DataTablePlus.js +374 -0
  15. package/dist/components/data-table-plus/DataTablePlus.vue.d.ts +365 -351
  16. package/dist/components/data-table-plus/index.d.ts +54 -48
  17. package/dist/components/full-loading/FullLoading.js +70 -0
  18. package/dist/components/full-loading/FullLoading.vue.d.ts +36 -32
  19. package/dist/components/full-loading/full-loading.cssr.js +22 -0
  20. package/dist/components/full-loading/index.d.ts +16 -12
  21. package/dist/components/icons/MageArrowUp.js +29 -0
  22. package/dist/components/icons/MageCopyFill.js +21 -0
  23. package/dist/components/icons/MageMultiplyCircleFill.js +21 -0
  24. package/dist/components/icons/MageSearch.js +25 -0
  25. package/dist/components/index.d.ts +31 -15
  26. package/dist/components/preset-form/PresetForm.js +176 -0
  27. package/dist/components/preset-form/PresetForm.vue.d.ts +82 -72
  28. package/dist/components/preset-form/_utils.js +16 -0
  29. package/dist/components/preset-form/index.d.ts +34 -29
  30. package/dist/components/preset-input/PresetInput.js +87 -0
  31. package/dist/components/preset-input/PresetInput.vue.d.ts +20 -15
  32. package/dist/components/preset-input/index.d.ts +147 -145
  33. package/dist/components/preset-picker/PresetPicker.js +213 -0
  34. package/dist/components/preset-picker/PresetPicker.vue.d.ts +62 -49
  35. package/dist/components/preset-picker/index.d.ts +56 -49
  36. package/dist/components/preset-select/PresetSelect.js +274 -0
  37. package/dist/components/preset-select/PresetSelect.vue.d.ts +190 -180
  38. package/dist/components/preset-select/index.d.ts +44 -38
  39. package/dist/components/remote-request/RemoteRequest.js +90 -0
  40. package/dist/components/remote-request/RemoteRequest.vue.d.ts +55 -49
  41. package/dist/components/remote-request/index.d.ts +23 -17
  42. package/dist/components/search-input/SearchInput.js +85 -0
  43. package/dist/components/search-input/SearchInput.vue.d.ts +48 -2332
  44. package/dist/components/search-input/index.d.ts +16 -12
  45. package/dist/components/toggle-input/ToggleInput.js +64 -0
  46. package/dist/components/toggle-input/ToggleInput.vue.d.ts +46 -0
  47. package/dist/components/toggle-input/index.d.ts +1 -0
  48. package/dist/components/tooltip-button/TooltipButton.js +31 -0
  49. package/dist/components/tooltip-button/TooltipButton.vue.d.ts +33 -28
  50. package/dist/components/tooltip-button/index.d.ts +11 -7
  51. package/dist/components/transition/BaseTransition.js +30 -0
  52. package/dist/components/transition/BaseTransition.vue.d.ts +23 -21
  53. package/dist/components/transition/index.d.ts +10 -6
  54. package/dist/components/transition/transition.cssr.js +20 -0
  55. package/dist/components/type-writer/TypeWriter.js +72 -0
  56. package/dist/components/type-writer/TypeWriter.vue.d.ts +34 -29
  57. package/dist/components/type-writer/index.d.ts +12 -8
  58. package/dist/components/type-writer/type-writer.cssr.js +27 -0
  59. package/dist/components.d.ts +33 -1
  60. package/dist/components.js +17 -7893
  61. package/dist/composables/{index.d.mts → index.d.ts} +3 -3
  62. package/dist/composables/{useNaiveForm.d.mts → useNaiveForm.d.ts} +1 -1
  63. package/dist/composables/{useNaiveTheme.d.mts → useNaiveTheme.d.ts} +1 -1
  64. package/dist/composables/{useNaiveTheme.mjs → useNaiveTheme.js} +1 -1
  65. package/dist/{index.d.mts → index.d.ts} +4 -4
  66. package/dist/index.js +5 -0
  67. package/package.json +14 -13
  68. package/dist/components/_utils/cssr-bem.d.ts +0 -1
  69. package/dist/components/_utils/index.d.ts +0 -2
  70. package/dist/components/_utils/prismjs.d.ts +0 -1
  71. package/dist/components/bubble/bubble.cssr.d.ts +0 -2
  72. package/dist/components/full-loading/full-loading.cssr.d.ts +0 -2
  73. package/dist/components/icons/MageArrowUp.vue.d.ts +0 -2
  74. package/dist/components/icons/MageCopyFill.vue.d.ts +0 -2
  75. package/dist/components/icons/MageMultiplyCircleFill.vue.d.ts +0 -2
  76. package/dist/components/icons/MageSearch.vue.d.ts +0 -2
  77. package/dist/components/preset-form/_utils.d.ts +0 -8
  78. package/dist/components/toggle-editor/ToggleEditor.vue.d.ts +0 -1159
  79. package/dist/components/toggle-editor/index.d.ts +0 -1
  80. package/dist/components/transition/transition.cssr.d.ts +0 -13
  81. package/dist/components/type-writer/type-writer.cssr.d.ts +0 -2
  82. package/dist/index.mjs +0 -5
  83. /package/dist/composables/{_helper.d.mts → _helper.d.ts} +0 -0
  84. /package/dist/composables/{_helper.mjs → _helper.js} +0 -0
  85. /package/dist/composables/{useDataRequest.d.mts → useDataRequest.d.ts} +0 -0
  86. /package/dist/composables/{useDataRequest.mjs → useDataRequest.js} +0 -0
  87. /package/dist/composables/{useNaiveForm.mjs → useNaiveForm.js} +0 -0
@@ -1,52 +1,59 @@
1
- import { BadgeProps, ButtonProps, DataTableColumns, ModalProps } from 'naive-ui';
2
- import { TableSelectionColumn } from 'naive-ui/es/data-table/src/interface';
3
- import { Ref } from 'vue';
4
- import { DataObject } from '../../composables/useDataRequest';
5
- import { ClassStyle } from '../data-table-plus/index';
6
- export { default as NPresetPicker } from './PresetPicker.vue';
7
- export type PresetPickerValue = string | number | (string | number)[] | null;
8
- export type PresetPickerExpose<R extends DataObject = DataObject> = {
9
- showModalFlag: Ref<boolean, boolean>;
10
- checkedRowKeys: Ref<(string | number)[], (string | number)[]>;
11
- checkedRows: Ref<R[], R[]>;
12
- columns: DataTableColumns<any>;
13
- showModal: () => void;
14
- updateCheckedRowKeysEffect: (keys: (string | number)[], rows: (R | undefined)[], meta: {
15
- row: R | undefined;
16
- action: 'check' | 'uncheck' | 'checkAll' | 'uncheckAll';
17
- }, currentData: R[]) => void;
18
- clickRowEffect: (row: R) => void;
19
- clearValue: () => void;
20
- setCheckedRowKeys: (keys: (string | number)[]) => void;
21
- setCheckedRows: (rows: R[]) => void;
1
+ import { DataObject } from "../../composables/useDataRequest.js";
2
+ import { ClassStyle } from "../data-table-plus/index.js";
3
+ import { _default } from "./PresetPicker.vue.js";
4
+ import { Ref } from "vue";
5
+ import { BadgeProps, ButtonProps, DataTableColumns, ModalProps } from "naive-ui";
6
+ import { ComponentExposed } from "vue-component-type-helpers";
7
+ import { TableSelectionColumn } from "naive-ui/es/data-table/src/interface";
8
+
9
+ //#region src/components/preset-picker/index.d.ts
10
+ type PresetPickerValue = string | number | (string | number)[] | null;
11
+ type PresetPickerExpose<R extends DataObject = DataObject> = {
12
+ showModalFlag: Ref<boolean, boolean>;
13
+ checkedRowKeys: Ref<(string | number)[], (string | number)[]>;
14
+ checkedRows: Ref<R[], R[]>;
15
+ columns: DataTableColumns<any>;
16
+ showModal: () => void;
17
+ updateCheckedRowKeysEffect: (keys: (string | number)[], rows: (R | undefined)[], meta: {
18
+ row: R | undefined;
19
+ action: 'check' | 'uncheck' | 'checkAll' | 'uncheckAll';
20
+ }, currentData: R[]) => void;
21
+ clickRowEffect: (row: R) => void;
22
+ clearValue: () => void;
23
+ setCheckedRowKeys: (keys: (string | number)[]) => void;
24
+ setCheckedRows: (rows: R[]) => void;
22
25
  };
23
- export type PresetPickerProps<V extends PresetPickerValue, R extends DataObject = DataObject> = {
24
- value?: V;
25
- fallbackLabel?: string | ((val: string | number) => string);
26
- multiple?: boolean;
27
- disabled?: boolean;
28
- clearable?: boolean;
29
- placeholder?: string;
30
- type?: ButtonProps['type'];
31
- columns?: DataTableColumns<R>;
32
- selectionOptions?: TableSelectionColumn;
33
- fields?: {
34
- label?: string;
35
- value?: string;
36
- };
37
- buttonProps?: ButtonProps & ClassStyle;
38
- clearButtonProps?: ButtonProps & ClassStyle;
39
- badgeProps?: BadgeProps & ClassStyle;
40
- modalProps?: ModalProps & ClassStyle;
26
+ type PresetPickerProps<V extends PresetPickerValue, R extends DataObject = DataObject> = {
27
+ value?: V;
28
+ fallbackLabel?: string | ((val: string | number) => string);
29
+ multiple?: boolean;
30
+ disabled?: boolean;
31
+ clearable?: boolean;
32
+ tooltip?: boolean;
33
+ placeholder?: string;
34
+ type?: ButtonProps['type'];
35
+ columns?: DataTableColumns<R>;
36
+ selectionOptions?: TableSelectionColumn;
37
+ fields?: {
38
+ label?: string;
39
+ value?: string;
40
+ };
41
+ buttonProps?: ButtonProps & ClassStyle;
42
+ clearButtonProps?: ButtonProps & ClassStyle;
43
+ badgeProps?: BadgeProps & ClassStyle;
44
+ modalProps?: ModalProps & ClassStyle;
41
45
  };
42
- export type PresetPickerEmits<V extends PresetPickerValue, R extends DataObject = DataObject> = {
43
- (e: 'update:value', val: V | null, raw: R | R[] | null): void;
44
- (e: 'afterEnter'): void;
45
- (e: 'afterLeave'): void;
46
- (e: 'esc'): void;
47
- (e: 'maskClick'): void;
48
- (e: 'update:show', value: boolean): void;
49
- (e: 'close'): void;
50
- (e: 'negativeClick'): void;
51
- (e: 'positiveClick'): void;
46
+ type PresetPickerEmits<V extends PresetPickerValue, R extends DataObject = DataObject> = {
47
+ (e: 'update:value', val: V | null, raw: R | R[] | null): void;
48
+ (e: 'afterEnter'): void;
49
+ (e: 'afterLeave'): void;
50
+ (e: 'esc'): void;
51
+ (e: 'maskClick'): void;
52
+ (e: 'update:show', value: boolean): void;
53
+ (e: 'close'): void;
54
+ (e: 'negativeClick'): void;
55
+ (e: 'positiveClick'): void;
52
56
  };
57
+ type PresetPickerInst = ComponentExposed<typeof _default>;
58
+ //#endregion
59
+ export { PresetPickerEmits, PresetPickerExpose, PresetPickerInst, PresetPickerProps, PresetPickerValue };
@@ -0,0 +1,274 @@
1
+ import { useDataRequest } from "../../composables/useDataRequest.js";
2
+ import { useDebounceFn } from "@vueuse/core";
3
+ import { computed, createBlock, createCommentVNode, createVNode, defineComponent, guardReactiveProps, mergeProps, normalizeProps, openBlock, reactive, ref, renderSlot, toRaw, toValue, unref, useTemplateRef, withCtx } from "vue";
4
+ import { NFlex, NPagination, NSelect } from "naive-ui";
5
+
6
+ //#region src/components/preset-select/PresetSelect.vue
7
+ const _sfc_main = /* @__PURE__ */ defineComponent({
8
+ __name: "PresetSelect",
9
+ props: {
10
+ api: { type: Function },
11
+ defaultParams: {},
12
+ manual: {
13
+ type: Boolean,
14
+ default: true
15
+ },
16
+ fields: {},
17
+ requestOptions: {},
18
+ requestPlugins: {},
19
+ value: {},
20
+ fallbackLabel: { type: [String, Function] },
21
+ multiple: {
22
+ type: Boolean,
23
+ default: false
24
+ },
25
+ disabled: { type: Boolean },
26
+ clearable: { type: Boolean },
27
+ debounce: {
28
+ type: [Boolean, Number],
29
+ default: true
30
+ },
31
+ optionFormat: { type: Function },
32
+ selectProps: {},
33
+ pagination: { type: [Object, Boolean] }
34
+ },
35
+ emits: [
36
+ "before",
37
+ "success",
38
+ "error",
39
+ "finally",
40
+ "blur",
41
+ "clear",
42
+ "create",
43
+ "focus",
44
+ "scroll",
45
+ "search",
46
+ "update:value",
47
+ "update:page",
48
+ "update:pageSize"
49
+ ],
50
+ setup(__props, { expose: __expose, emit: __emit }) {
51
+ const emit = __emit;
52
+ const selectRef = useTemplateRef("select-ref");
53
+ const _fields = {
54
+ page: "page",
55
+ pageSize: "pageSize",
56
+ search: "search",
57
+ list: "list",
58
+ count: "count",
59
+ label: "label",
60
+ value: "value",
61
+ rowKey: "id",
62
+ children: "children",
63
+ ...__props.fields
64
+ };
65
+ const paginationProps = reactive({ ...__props.pagination && typeof __props.pagination === "boolean" ? {} : __props.pagination });
66
+ const _dataCache = [];
67
+ const { loading, data, error, params, list, pagination: paginationRef, run, runAsync, refresh, refreshAsync, cancel, mutate, setParams, runParams, runParamsAsync, onBefore, onSuccess, onError, onFinally } = useDataRequest(__props.api, {
68
+ defaultParams: {
69
+ [_fields.search]: null,
70
+ ...__props.defaultParams
71
+ },
72
+ manual: __props.manual,
73
+ fields: _fields,
74
+ requestOptions: __props.requestOptions,
75
+ requestPlugins: __props.requestPlugins
76
+ });
77
+ onBefore((params$1) => {
78
+ emit("before", params$1);
79
+ });
80
+ onSuccess((data$1, params$1) => {
81
+ emit("success", data$1, params$1);
82
+ data$1?.[_fields.list]?.forEach((f) => {
83
+ if (!_dataCache.some((s) => s?.[_fields.rowKey] === f?.[_fields.rowKey])) _dataCache.push(f);
84
+ });
85
+ });
86
+ onError((err, params$1) => {
87
+ emit("error", err, params$1);
88
+ });
89
+ onFinally((params$1, data$1, err) => {
90
+ emit("finally", params$1, data$1, err);
91
+ });
92
+ const optionsReactive = computed(() => {
93
+ return typeof __props.optionFormat === "function" ? list.value.map((m) => __props.optionFormat(m)).filter((f) => !!f) : list.value.map((m) => {
94
+ return {
95
+ [_fields.label]: m?.[_fields.label],
96
+ [_fields.value]: m?.[_fields.value],
97
+ [_fields.children]: m?.[_fields.children]
98
+ };
99
+ });
100
+ });
101
+ const searchValue = ref("");
102
+ const debounceSearch = useDebounceFn(() => {
103
+ runParams({
104
+ [_fields.page]: 1,
105
+ [_fields.search]: searchValue.value
106
+ });
107
+ }, typeof __props.debounce === "number" ? __props.debounce : 500);
108
+ const vOnSelect = {
109
+ onBlur: (ev) => {
110
+ emit("blur", ev);
111
+ },
112
+ onClear: () => {
113
+ emit("clear");
114
+ },
115
+ onCreate: (label) => {
116
+ return emit("create", label);
117
+ },
118
+ onFocus: (ev) => {
119
+ emit("focus", ev);
120
+ },
121
+ onScroll: (ev) => {
122
+ emit("scroll", ev);
123
+ },
124
+ onUpdateValue: (val, option) => {
125
+ emit("update:value", val, option, toRaw(toValue(Array.isArray(val) ? list.value.filter((f) => val.includes(f?.[_fields.value])) : list.value.find((f) => f?.[_fields.value] === val) ?? null)));
126
+ },
127
+ onSearch: (val) => {
128
+ searchValue.value = val;
129
+ if (loading.value) return;
130
+ __props.debounce ? debounceSearch() : runParams({
131
+ [_fields.page]: 1,
132
+ [_fields.search]: searchValue.value
133
+ });
134
+ },
135
+ onUpdateShow: (show) => {
136
+ if (show) {
137
+ if (!data.value) {
138
+ if (__props.manual) runParams({
139
+ [_fields.page]: 1,
140
+ [_fields.pageSize]: 10,
141
+ [_fields.search]: null,
142
+ ...__props.defaultParams ?? {}
143
+ });
144
+ }
145
+ }
146
+ }
147
+ };
148
+ const vOnPagination = {
149
+ onUpdatePage: (page) => {
150
+ emit("update:page", page);
151
+ if (loading.value) return;
152
+ runParams({ [_fields.page]: page });
153
+ },
154
+ onUpdatePageSize: (pageSize) => {
155
+ emit("update:pageSize", pageSize);
156
+ if (loading.value) return;
157
+ runParams({ [_fields.pageSize]: pageSize });
158
+ }
159
+ };
160
+ function fallbackOption(val) {
161
+ return typeof __props.fallbackLabel === "function" ? __props.fallbackLabel(val) : {
162
+ [_fields.label]: __props.fallbackLabel ?? `${val}`,
163
+ [_fields.value]: val
164
+ };
165
+ }
166
+ const expose = {
167
+ loading,
168
+ data,
169
+ error,
170
+ params,
171
+ list,
172
+ pagination: paginationRef,
173
+ run,
174
+ runAsync,
175
+ refresh,
176
+ refreshAsync,
177
+ cancel,
178
+ mutate,
179
+ setParams,
180
+ runParams,
181
+ runParamsAsync,
182
+ onBefore,
183
+ onSuccess,
184
+ onError,
185
+ onFinally,
186
+ selectRef
187
+ };
188
+ const templateBind = computed(() => {
189
+ return {
190
+ ...expose,
191
+ loading: toValue(loading),
192
+ data: toValue(data),
193
+ error: toValue(error),
194
+ params: toValue(params),
195
+ list: toValue(list),
196
+ pagination: toValue(paginationRef),
197
+ selectRef: toValue(selectRef)
198
+ };
199
+ });
200
+ __expose(expose);
201
+ return (_ctx, _cache) => {
202
+ return openBlock(), createBlock(unref(NSelect), mergeProps({
203
+ ref: "select-ref",
204
+ remote: "",
205
+ filterable: "",
206
+ multiple: __props.multiple,
207
+ disabled: __props.disabled,
208
+ clearable: __props.clearable,
209
+ options: optionsReactive.value,
210
+ "label-field": _fields.label,
211
+ "value-field": _fields.value,
212
+ "children-field": _fields.children,
213
+ value: __props.value,
214
+ "fallback-option": fallbackOption,
215
+ loading: unref(loading)
216
+ }, __props.selectProps, {
217
+ onBlur: vOnSelect.onBlur,
218
+ onClear: vOnSelect.onClear,
219
+ onCreate: vOnSelect.onCreate,
220
+ onFocus: vOnSelect.onFocus,
221
+ onScroll: vOnSelect.onScroll,
222
+ onSearch: vOnSelect.onSearch,
223
+ "onUpdate:show": vOnSelect.onUpdateShow,
224
+ "onUpdate:value": vOnSelect.onUpdateValue
225
+ }), {
226
+ header: withCtx(() => [renderSlot(_ctx.$slots, "header", normalizeProps(guardReactiveProps(templateBind.value)))]),
227
+ action: withCtx(() => [renderSlot(_ctx.$slots, "footer", normalizeProps(guardReactiveProps(templateBind.value)), () => [createVNode(unref(NFlex), null, {
228
+ default: withCtx(() => [renderSlot(_ctx.$slots, "footer-extra", normalizeProps(guardReactiveProps(templateBind.value))), __props.pagination ? (openBlock(), createBlock(unref(NPagination), mergeProps({
229
+ key: 0,
230
+ style: { marginLeft: "auto" },
231
+ simple: "",
232
+ disabled: unref(loading)
233
+ }, {
234
+ ...paginationProps,
235
+ ...unref(paginationRef)
236
+ }, {
237
+ "onUpdate:page": vOnPagination.onUpdatePage,
238
+ "onUpdate:pageSize": vOnPagination.onUpdatePageSize
239
+ }), null, 16, [
240
+ "disabled",
241
+ "onUpdate:page",
242
+ "onUpdate:pageSize"
243
+ ])) : createCommentVNode("v-if", true)]),
244
+ _: 3
245
+ })])]),
246
+ empty: withCtx(() => [renderSlot(_ctx.$slots, "empty", normalizeProps(guardReactiveProps(templateBind.value)))]),
247
+ arrow: withCtx(() => [renderSlot(_ctx.$slots, "arrow", normalizeProps(guardReactiveProps(templateBind.value)))]),
248
+ _: 3
249
+ }, 16, [
250
+ "multiple",
251
+ "disabled",
252
+ "clearable",
253
+ "options",
254
+ "label-field",
255
+ "value-field",
256
+ "children-field",
257
+ "value",
258
+ "loading",
259
+ "onBlur",
260
+ "onClear",
261
+ "onCreate",
262
+ "onFocus",
263
+ "onScroll",
264
+ "onSearch",
265
+ "onUpdate:show",
266
+ "onUpdate:value"
267
+ ]);
268
+ };
269
+ }
270
+ });
271
+ var PresetSelect_default = _sfc_main;
272
+
273
+ //#endregion
274
+ export { PresetSelect_default as default };