orion-design 0.1.1 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. package/dist/components/Flex/Col.d.ts +25 -0
  2. package/dist/components/Flex/Item.d.ts +25 -0
  3. package/dist/components/Flex/Row.d.ts +25 -0
  4. package/dist/components/Flex/index.d.ts +10 -0
  5. package/dist/components/Flex/index.js +151 -0
  6. package/dist/components/Modal/index.d.ts +15 -0
  7. package/dist/components/Modal/useModal.d.ts +3 -0
  8. package/dist/components/Modal/useModal.js +8 -0
  9. package/dist/components/Space/index.d.ts +76 -0
  10. package/dist/components/_util/classNames.d.ts +2 -0
  11. package/dist/components/_util/classNames.js +31 -0
  12. package/dist/components/_util/isValid.d.ts +2 -0
  13. package/dist/components/_util/isValid.js +5 -0
  14. package/dist/components/_util/props-util/index.d.ts +6 -0
  15. package/dist/components/_util/props-util/index.js +53 -0
  16. package/dist/components/_util/props-util/initDefaultProps.d.ts +6 -0
  17. package/dist/components/_util/props-util/initDefaultProps.js +25 -0
  18. package/dist/components/_util/type.d.ts +62 -0
  19. package/dist/components/_util/type.js +66 -0
  20. package/dist/components/_util/util.d.ts +18 -0
  21. package/dist/components/_util/util.js +83 -0
  22. package/dist/components/_util/vue-types/index.d.ts +12 -0
  23. package/dist/components/_util/vue-types/index.js +473 -0
  24. package/dist/components/components.d.ts +6 -0
  25. package/dist/components/components.js +12 -0
  26. package/dist/components/index.d.ts +3 -0
  27. package/dist/components/index.js +25 -0
  28. package/dist/components-DhjIbmR3.js +128 -0
  29. package/dist/error/OrionError.js +9 -7
  30. package/dist/index.css +44 -0
  31. package/dist/index.d.ts +3 -0
  32. package/dist/index.js +13 -0
  33. package/dist/print/LodopFuncs.js +109 -140
  34. package/dist/print/index.js +204 -199
  35. package/dist/request/ErrorHandlerChain.js +13 -13
  36. package/dist/request/RequestFilterChain.js +13 -13
  37. package/dist/request/ResponseParserChain.js +13 -13
  38. package/dist/request/disivion/DateSerializer.js +43 -51
  39. package/dist/request/disivion/DivisionErrorHandler.js +42 -42
  40. package/dist/request/disivion/DivisionResponseParser.js +22 -18
  41. package/dist/request/disivion/index.d.ts +21 -1
  42. package/dist/request/disivion/index.js +174 -153
  43. package/dist/request/error/BizExceptionResponseError.js +10 -10
  44. package/dist/request/error/ExceptionResponseError.js +10 -10
  45. package/dist/request/error/ResponseError.js +11 -9
  46. package/dist/request/error/SessionExceptionResponseError.js +10 -10
  47. package/dist/request/index.d.ts +3 -0
  48. package/dist/request/index.js +3 -2
  49. package/dist/style/index.d.ts +3 -0
  50. package/dist/style/index.js +1 -0
  51. package/dist/utils/DateUtil.js +46 -50
  52. package/dist/utils/NumberUtil.js +5 -5
  53. package/dist/utils/cloneDeep.js +1 -2255
  54. package/dist/utils/delay.js +1 -1
  55. package/dist/utils/index.js +2 -2
  56. package/dist/utils/md5.js +215 -271
  57. package/dist/version/index.d.ts +2 -0
  58. package/dist/version/index.js +6 -0
  59. package/dist/version/version.d.ts +2 -0
  60. package/dist/version/version.js +3 -0
  61. package/global.d.ts +10 -0
  62. package/package.json +25 -9
  63. package/dist/bignumber-upqAL281.js +0 -2907
  64. package/dist/request/disivion/request.d.ts +0 -21
  65. package/dist/request/disivion/request.js +0 -476
  66. package/dist/request/postByOpenNewWindow.d.ts +0 -1
  67. package/dist/request/postByOpenNewWindow.js +0 -41
@@ -0,0 +1,25 @@
1
+ import type { PropType, ExtractPropTypes } from 'vue';
2
+ export declare const colProps: () => {
3
+ gutter: {
4
+ default: string | boolean;
5
+ type: PropType<string | boolean>;
6
+ };
7
+ height: StringConstructor;
8
+ };
9
+ export type ColProps = Partial<ExtractPropTypes<ReturnType<typeof colProps>>>;
10
+ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
11
+ gutter: {
12
+ default: string | boolean;
13
+ type: PropType<string | boolean>;
14
+ };
15
+ height: StringConstructor;
16
+ }>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ExtractPropTypes<{
17
+ gutter: {
18
+ default: string | boolean;
19
+ type: PropType<string | boolean>;
20
+ };
21
+ height: StringConstructor;
22
+ }>> & Readonly<{}>, {
23
+ gutter: string | boolean;
24
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
25
+ export default _default;
@@ -0,0 +1,25 @@
1
+ import type { ExtractPropTypes } from 'vue';
2
+ export declare const itemProps: () => {
3
+ flexBasic: StringConstructor;
4
+ hidden: {
5
+ type: BooleanConstructor;
6
+ default: boolean;
7
+ };
8
+ };
9
+ export type ItemProps = Partial<ExtractPropTypes<ReturnType<typeof itemProps>>>;
10
+ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
11
+ flexBasic: StringConstructor;
12
+ hidden: {
13
+ type: BooleanConstructor;
14
+ default: boolean;
15
+ };
16
+ }>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ExtractPropTypes<{
17
+ flexBasic: StringConstructor;
18
+ hidden: {
19
+ type: BooleanConstructor;
20
+ default: boolean;
21
+ };
22
+ }>> & Readonly<{}>, {
23
+ hidden: boolean;
24
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
25
+ export default _default;
@@ -0,0 +1,25 @@
1
+ import type { PropType, ExtractPropTypes } from 'vue';
2
+ export declare const rowProps: () => {
3
+ gutter: {
4
+ default: string | boolean;
5
+ type: PropType<string | boolean>;
6
+ };
7
+ height: StringConstructor;
8
+ };
9
+ export type RowProps = Partial<ExtractPropTypes<ReturnType<typeof rowProps>>>;
10
+ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
11
+ gutter: {
12
+ default: string | boolean;
13
+ type: PropType<string | boolean>;
14
+ };
15
+ height: StringConstructor;
16
+ }>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ExtractPropTypes<{
17
+ gutter: {
18
+ default: string | boolean;
19
+ type: PropType<string | boolean>;
20
+ };
21
+ height: StringConstructor;
22
+ }>> & Readonly<{}>, {
23
+ gutter: string | boolean;
24
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
25
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import type { Plugin } from 'vue';
2
+ import Row from './Row';
3
+ import Col from './Col';
4
+ import Item from './Item';
5
+ export declare const Rowflex: typeof Row & Plugin;
6
+ export declare const Colflex: typeof Col & Plugin;
7
+ export declare const Flexitem: typeof Item & Plugin;
8
+ export type { RowProps as RowflexProps } from './Row';
9
+ export type { ColProps as ColflexProps } from './Col';
10
+ export type { ItemProps as FlexitemProps } from './Item';
@@ -0,0 +1,151 @@
1
+ import { defineComponent, computed, createVNode } from 'vue';
2
+ import classNames from '../_util/classNames.js';
3
+ import OrionError from '../../error/OrionError.js';
4
+ import { anyType, booleanType } from '../_util/type.js';
5
+ import '../_util/util.js';
6
+
7
+ const rowProps = () => ({
8
+ gutter: anyType(),
9
+ height: String
10
+ });
11
+ var Row = defineComponent({
12
+ name: 'ORowflex',
13
+ inheritAttrs: false,
14
+ props: rowProps(),
15
+ setup(props, {
16
+ slots,
17
+ attrs,
18
+ emit,
19
+ expose
20
+ }) {
21
+ const style = computed(() => {
22
+ const rowStyle = {};
23
+ rowStyle.gap = props.gutter === true || props.gutter === '' ? `var(--orion-flex-gutter)` : props.gutter ? props.gutter : undefined;
24
+ if (props.height) {
25
+ if (props.height == 'fill') {
26
+ throw new OrionError(`ORowflex的height无法配置为['fill'],可以设置的值如['need', '100%', '200px'],请检查!`);
27
+ } else if (props.height == 'need') ; else {
28
+ rowStyle.height = props.height;
29
+ }
30
+ } else {
31
+ rowStyle.height = '100%';
32
+ }
33
+ return rowStyle;
34
+ });
35
+ return () => {
36
+ const children = slots.default?.();
37
+ const cn = classNames('orion-flex', 'orion-flex-row', 'orion-flex-justify-start');
38
+ return createVNode("div", {
39
+ "class": [cn, attrs.class],
40
+ "style": [style.value, attrs.style]
41
+ }, [children]);
42
+ };
43
+ }
44
+ });
45
+
46
+ const colProps = () => ({
47
+ gutter: anyType(),
48
+ height: String
49
+ });
50
+ var Col = defineComponent({
51
+ name: 'OColflex',
52
+ inheritAttrs: false,
53
+ props: colProps(),
54
+ setup(props, {
55
+ slots,
56
+ attrs,
57
+ emit,
58
+ expose
59
+ }) {
60
+ const style = computed(() => {
61
+ const rowStyle = {};
62
+ rowStyle.gap = props.gutter === true || props.gutter === '' ? `var(--orion-flex-gutter)` : props.gutter ? props.gutter : undefined;
63
+ if (props.height) {
64
+ if (props.height == 'fill') {
65
+ throw new OrionError(`OColflex的height无法配置为['fill'],可以设置的值如['need', '100%', '200px'],请检查!`);
66
+ } else if (props.height == 'need') ; else {
67
+ rowStyle.height = props.height;
68
+ }
69
+ } else {
70
+ rowStyle.height = '100%';
71
+ }
72
+ return rowStyle;
73
+ });
74
+ return () => {
75
+ const children = slots.default?.();
76
+ const cn = classNames('orion-flex', 'orion-flex-column');
77
+ return createVNode("div", {
78
+ "class": [cn, attrs.class],
79
+ "style": [style.value, attrs.style]
80
+ }, [children]);
81
+ };
82
+ }
83
+ });
84
+
85
+ const itemProps = () => ({
86
+ flexBasic: String,
87
+ hidden: booleanType(false)
88
+ });
89
+ var Item = defineComponent({
90
+ name: 'OFlexitem',
91
+ inheritAttrs: false,
92
+ props: itemProps(),
93
+ setup(props, {
94
+ slots,
95
+ attrs,
96
+ emit,
97
+ expose
98
+ }) {
99
+ const style = computed(() => {
100
+ const itemStyle = {};
101
+ if (props.flexBasic !== 'need' && props.flexBasic !== 'fill') {
102
+ itemStyle['flex'] = `0 0 ${props.flexBasic}`;
103
+ }
104
+ return itemStyle;
105
+ });
106
+ const classes = computed(() => {
107
+ const {
108
+ hidden
109
+ } = props;
110
+ let flexClass = 'orion-flexitem-fill';
111
+ if (props.flexBasic) {
112
+ if (props.flexBasic == 'need') {
113
+ flexClass = 'orion-flexitem-auto';
114
+ } else if (props.flexBasic !== 'need' && props.flexBasic !== 'fill') {
115
+ flexClass = 'orion-flexitem-fixed';
116
+ }
117
+ }
118
+ return ['orion-flexitem', flexClass, {
119
+ [`orion-hidden`]: hidden
120
+ }];
121
+ });
122
+ return () => {
123
+ const children = slots.default?.();
124
+ return createVNode("div", {
125
+ "class": [classes.value, attrs.class],
126
+ "style": [style.value, attrs.style]
127
+ }, [children]);
128
+ };
129
+ }
130
+ });
131
+
132
+ Row.install = function (app) {
133
+ // @ts-ignore
134
+ app.component(Row.name, Row);
135
+ return app;
136
+ };
137
+ Col.install = function (app) {
138
+ // @ts-ignore
139
+ app.component(Col.name, Col);
140
+ return app;
141
+ };
142
+ Item.install = function (app) {
143
+ // @ts-ignore
144
+ app.component(Item.name, Item);
145
+ return app;
146
+ };
147
+ const Rowflex = Row;
148
+ const Colflex = Col;
149
+ const Flexitem = Item;
150
+
151
+ export { Colflex, Flexitem, Rowflex };
@@ -0,0 +1,15 @@
1
+ import type { Plugin } from 'vue';
2
+ declare const _default: {
3
+ new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<{}> & Readonly<{}>, {}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
4
+ P: {};
5
+ B: {};
6
+ D: {};
7
+ C: {};
8
+ M: {};
9
+ Defaults: {};
10
+ }, Readonly<{}> & Readonly<{}>, () => any, {}, {}, {}, {}>;
11
+ __isFragment?: never;
12
+ __isTeleport?: never;
13
+ __isSuspense?: never;
14
+ } & import("vue").ComponentOptionsBase<Readonly<{}> & Readonly<{}>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Plugin;
15
+ export default _default;
@@ -0,0 +1,3 @@
1
+ export default function useModal(): {
2
+ close: (params: Record<string, any>) => void;
3
+ };
@@ -0,0 +1,8 @@
1
+ import { inject } from 'vue';
2
+
3
+ function useModal() {
4
+ const $$Modal = inject('$$Modal');
5
+ return $$Modal;
6
+ }
7
+
8
+ export { useModal as default };
@@ -0,0 +1,76 @@
1
+ import type { PropType, ExtractPropTypes, Plugin } from 'vue';
2
+ import type { CustomSlotsType } from '../_util/type';
3
+ export declare const spaceProps: () => {
4
+ gutter: {
5
+ default: string | boolean;
6
+ type: PropType<string | boolean>;
7
+ };
8
+ vertical: {
9
+ default: string | boolean;
10
+ type: PropType<string | boolean>;
11
+ };
12
+ };
13
+ export type SpaceProps = Partial<ExtractPropTypes<ReturnType<typeof spaceProps>>>;
14
+ declare const _default: {
15
+ new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<ExtractPropTypes<{
16
+ gutter: {
17
+ default: string | boolean;
18
+ type: PropType<string | boolean>;
19
+ };
20
+ vertical: {
21
+ default: string | boolean;
22
+ type: PropType<string | boolean>;
23
+ };
24
+ }>> & Readonly<{}>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<ExtractPropTypes<{
25
+ gutter: {
26
+ default: string | boolean;
27
+ type: PropType<string | boolean>;
28
+ };
29
+ vertical: {
30
+ default: string | boolean;
31
+ type: PropType<string | boolean>;
32
+ };
33
+ }>> & Readonly<{}>, {
34
+ gutter: string | boolean;
35
+ vertical: string | boolean;
36
+ }, true, {}, CustomSlotsType<{
37
+ default?: any;
38
+ }>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
39
+ P: {};
40
+ B: {};
41
+ D: {};
42
+ C: {};
43
+ M: {};
44
+ Defaults: {};
45
+ }, Readonly<ExtractPropTypes<{
46
+ gutter: {
47
+ default: string | boolean;
48
+ type: PropType<string | boolean>;
49
+ };
50
+ vertical: {
51
+ default: string | boolean;
52
+ type: PropType<string | boolean>;
53
+ };
54
+ }>> & Readonly<{}>, () => any, {}, {}, {}, {
55
+ gutter: string | boolean;
56
+ vertical: string | boolean;
57
+ }>;
58
+ __isFragment?: never;
59
+ __isTeleport?: never;
60
+ __isSuspense?: never;
61
+ } & import("vue").ComponentOptionsBase<Readonly<ExtractPropTypes<{
62
+ gutter: {
63
+ default: string | boolean;
64
+ type: PropType<string | boolean>;
65
+ };
66
+ vertical: {
67
+ default: string | boolean;
68
+ type: PropType<string | boolean>;
69
+ };
70
+ }>> & Readonly<{}>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
71
+ gutter: string | boolean;
72
+ vertical: string | boolean;
73
+ }, {}, string, CustomSlotsType<{
74
+ default?: any;
75
+ }>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Plugin;
76
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare function classNames(...args: any[]): string;
2
+ export default classNames;
@@ -0,0 +1,31 @@
1
+ import { isString, isArray, isObject } from './util.js';
2
+
3
+ function classNames(...args) {
4
+ const classes = [];
5
+ for (let i = 0; i < args.length; i++) {
6
+ const value = args[i];
7
+ if (!value) continue;
8
+ if (isString(value)) {
9
+ // @ts-ignore
10
+ classes.push(value);
11
+ } else if (isArray(value)) {
12
+ for (let i = 0; i < value.length; i++) {
13
+ const inner = classNames(value[i]);
14
+ if (inner) {
15
+ // @ts-ignore
16
+ classes.push(inner);
17
+ }
18
+ }
19
+ } else if (isObject(value)) {
20
+ for (const name in value) {
21
+ if (value[name]) {
22
+ // @ts-ignore
23
+ classes.push(name);
24
+ }
25
+ }
26
+ }
27
+ }
28
+ return classes.join(' ');
29
+ }
30
+
31
+ export { classNames as default };
@@ -0,0 +1,2 @@
1
+ declare const isValid: (value: any) => boolean;
2
+ export default isValid;
@@ -0,0 +1,5 @@
1
+ const isValid = value => {
2
+ return value !== undefined && value !== null && value !== '';
3
+ };
4
+
5
+ export { isValid as default };
@@ -0,0 +1,6 @@
1
+ import initDefaultProps from './initDefaultProps';
2
+ export declare const skipFlattenKey: unique symbol;
3
+ export declare const flattenChildren: (children?: any[], filterEmpty?: boolean) => any[];
4
+ export declare function filterEmpty(children?: any[]): any[];
5
+ export declare function isEmptyElement(c: any): boolean;
6
+ export { initDefaultProps };
@@ -0,0 +1,53 @@
1
+ import { Fragment, isVNode, Comment, Text } from 'vue';
2
+ import isValid from '../isValid.js';
3
+ export { default as initDefaultProps } from './initDefaultProps.js';
4
+
5
+ const skipFlattenKey = Symbol('skipFlatten');
6
+ const flattenChildren = (children = [], filterEmpty = true) => {
7
+ const temp = Array.isArray(children) ? children : [children];
8
+ const res = [];
9
+ temp.forEach(child => {
10
+ if (Array.isArray(child)) {
11
+ res.push(...flattenChildren(child, filterEmpty));
12
+ // @ts-ignore
13
+ } else if (child && child.type === Fragment) {
14
+ // @ts-ignore
15
+ if (child.key === skipFlattenKey) {
16
+ res.push(child);
17
+ } else {
18
+ // @ts-ignore
19
+ res.push(...flattenChildren(child.children, filterEmpty));
20
+ }
21
+ } else if (child && isVNode(child)) {
22
+ if (filterEmpty && !isEmptyElement(child)) {
23
+ res.push(child);
24
+ } else if (!filterEmpty) {
25
+ res.push(child);
26
+ }
27
+ } else if (isValid(child)) {
28
+ res.push(child);
29
+ }
30
+ });
31
+ return res;
32
+ };
33
+ function filterEmpty(children = []) {
34
+ const res = [];
35
+ children.forEach(child => {
36
+ if (Array.isArray(child)) {
37
+ // @ts-ignore
38
+ res.push(...child);
39
+ // @ts-ignore
40
+ } else if (child?.type === Fragment) {
41
+ // @ts-ignore
42
+ res.push(...filterEmpty(child.children));
43
+ } else {
44
+ res.push(child);
45
+ }
46
+ });
47
+ return res.filter(c => !isEmptyElement(c));
48
+ }
49
+ function isEmptyElement(c) {
50
+ return c && (c.type === Comment || c.type === Fragment && c.children.length === 0 || c.type === Text && c.children.trim() === '');
51
+ }
52
+
53
+ export { filterEmpty, flattenChildren, isEmptyElement, skipFlattenKey };
@@ -0,0 +1,6 @@
1
+ import type { PropType } from 'vue';
2
+ import type { VueTypeValidableDef, VueTypeDef } from 'vue-types';
3
+ declare const initDefaultProps: <T>(types: T, defaultProps: { [K in keyof T]?: T[K] extends VueTypeValidableDef<infer U> ? U : T[K] extends VueTypeDef<infer U> ? U : T[K] extends {
4
+ type: PropType<infer U>;
5
+ } ? U : any; }) => T;
6
+ export default initDefaultProps;
@@ -0,0 +1,25 @@
1
+ const initDefaultProps = (types, defaultProps) => {
2
+ const propTypes = {
3
+ ...types
4
+ };
5
+ Object.keys(defaultProps).forEach(k => {
6
+ const prop = propTypes[k];
7
+ if (prop) {
8
+ if (prop.type || prop.default) {
9
+ prop.default = defaultProps[k];
10
+ } else if (prop.def) {
11
+ prop.def(defaultProps[k]);
12
+ } else {
13
+ propTypes[k] = {
14
+ type: prop,
15
+ default: defaultProps[k]
16
+ };
17
+ }
18
+ } else {
19
+ throw new Error(`not have ${k} prop`);
20
+ }
21
+ });
22
+ return propTypes;
23
+ };
24
+
25
+ export { initDefaultProps as default };
@@ -0,0 +1,62 @@
1
+ import type { PropType, Plugin, Ref, VNode, SlotsType } from 'vue';
2
+ export declare const tuple: <T extends string[]>(...args: T) => T;
3
+ export declare const tupleNum: <T extends number[]>(...args: T) => T;
4
+ /**
5
+ * https://stackoverflow.com/a/59187769
6
+ * Extract the type of an element of an array/tuple without performing indexing
7
+ */
8
+ export type ElementOf<T> = T extends (infer E)[] ? E : T extends readonly (infer F)[] ? F : never;
9
+ /**
10
+ * https://github.com/Microsoft/TypeScript/issues/29729
11
+ */
12
+ export type LiteralUnion<T extends string> = T | (string & {});
13
+ export type Data = Record<string, unknown>;
14
+ export type Key = string | number;
15
+ type DefaultFactory<T> = (props: Data) => T | null | undefined;
16
+ export interface PropOptions<T = any, D = T> {
17
+ type?: PropType<T> | true | null;
18
+ required?: boolean;
19
+ default?: D | DefaultFactory<D> | null | undefined | object;
20
+ validator?(value: unknown): boolean;
21
+ }
22
+ declare type VNodeChildAtom = VNode | string | number | boolean | null | undefined | void;
23
+ export type VueNode = VNodeChildAtom | VNodeChildAtom[] | VNode;
24
+ export declare const withInstall: <T>(comp: T) => T & Plugin;
25
+ export type MaybeRef<T> = T | Ref<T>;
26
+ export declare function eventType<T>(): {
27
+ type: PropType<T | T[]>;
28
+ };
29
+ export declare function objectType<T = {}>(defaultVal?: T): {
30
+ type: PropType<T>;
31
+ default: T;
32
+ };
33
+ export declare function booleanType(defaultVal?: boolean): {
34
+ type: BooleanConstructor;
35
+ default: boolean;
36
+ };
37
+ export declare function functionType<T = () => {}>(defaultVal?: T): {
38
+ type: PropType<T>;
39
+ default: T;
40
+ };
41
+ export declare function anyType<T = any>(defaultVal?: T, required?: boolean): {
42
+ default: T;
43
+ type: PropType<T>;
44
+ };
45
+ export declare function vNodeType<T = VueNode>(): {
46
+ type: PropType<T>;
47
+ };
48
+ export declare function arrayType<T extends any[]>(defaultVal?: T): {
49
+ type: PropType<T>;
50
+ default: T;
51
+ };
52
+ export declare function stringType<T extends string = string>(defaultVal?: T): {
53
+ type: PropType<T>;
54
+ default: T;
55
+ };
56
+ export declare function someType<T>(types?: any[], defaultVal?: T): {
57
+ type: PropType<T>;
58
+ default: T;
59
+ };
60
+ export type CustomSlotsType<T> = SlotsType<T>;
61
+ export type AnyObject = Record<PropertyKey, any>;
62
+ export {};
@@ -0,0 +1,66 @@
1
+ // https://stackoverflow.com/questions/46176165/ways-to-get-string-literal-type-of-array-values-without-enum-overhead
2
+ const tuple = (...args) => args;
3
+ const tupleNum = (...args) => args;
4
+ const withInstall = comp => {
5
+ const c = comp;
6
+ c.install = function (app) {
7
+ // @ts-ignore
8
+ app.component(c.displayName || c.name, comp);
9
+ };
10
+ return comp;
11
+ };
12
+ function eventType() {
13
+ return {
14
+ type: [Function, Array]
15
+ };
16
+ }
17
+ function objectType(defaultVal) {
18
+ return {
19
+ type: Object,
20
+ default: defaultVal
21
+ };
22
+ }
23
+ function booleanType(defaultVal) {
24
+ return {
25
+ type: Boolean,
26
+ default: defaultVal
27
+ };
28
+ }
29
+ function functionType(defaultVal) {
30
+ return {
31
+ type: Function,
32
+ default: defaultVal
33
+ };
34
+ }
35
+ function anyType(defaultVal, required) {
36
+ const type = {
37
+ validator: () => true,
38
+ default: defaultVal
39
+ };
40
+ return required ? type : type;
41
+ }
42
+ function vNodeType() {
43
+ return {
44
+ validator: () => true
45
+ };
46
+ }
47
+ function arrayType(defaultVal) {
48
+ return {
49
+ type: Array,
50
+ default: defaultVal
51
+ };
52
+ }
53
+ function stringType(defaultVal) {
54
+ return {
55
+ type: String,
56
+ default: defaultVal
57
+ };
58
+ }
59
+ function someType(types, defaultVal) {
60
+ return types ? {
61
+ type: types,
62
+ default: defaultVal
63
+ } : anyType(defaultVal);
64
+ }
65
+
66
+ export { anyType, arrayType, booleanType, eventType, functionType, objectType, someType, stringType, tuple, tupleNum, vNodeType, withInstall };
@@ -0,0 +1,18 @@
1
+ import type { VueNode } from './type';
2
+ export declare const isFunction: (val: any) => boolean;
3
+ export declare const controlDefaultValue: any;
4
+ export declare const isArray: (arg: any) => arg is any[];
5
+ export declare const isString: (val: any) => val is string;
6
+ export declare const isSymbol: (val: any) => val is symbol;
7
+ export declare const isObject: (val: any) => boolean;
8
+ declare const isOn: (key: any) => boolean;
9
+ declare const cacheStringFunction: (fn: any) => (str: any) => any;
10
+ declare const camelize: (str: any) => any;
11
+ declare const hyphenate: (str: any) => any;
12
+ declare const capitalize: (str: any) => any;
13
+ declare function resolvePropValue(options: any, props: any, key: any, value: any): any;
14
+ export declare function getDataAndAriaProps(props: any): {};
15
+ export declare function toPx(val: any): any;
16
+ export declare function renderHelper<T = Record<string, any>>(v: VueNode | ((arg0: T) => VueNode), props?: T, defaultV?: any): any;
17
+ export declare function wrapPromiseFn(openFn: (resolve: VoidFunction) => VoidFunction): any;
18
+ export { isOn, cacheStringFunction, camelize, hyphenate, capitalize, resolvePropValue };