@morghulis/core 1.0.26 → 1.0.28

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 (176) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/morghulis-core.es.js +15530 -15908
  3. package/dist/morghulis-core.es.js.map +1 -1
  4. package/dist/tsconfig.build.tsbuildinfo +1 -1
  5. package/dist/types/app/admin/components/dialogs/AccountDialog.vue.d.ts +1 -1
  6. package/dist/types/app/admin/components/dialogs/forms/AccountForm.vue.d.ts +1 -1
  7. package/dist/types/app/admin/contents/hooks.d.ts +1 -1
  8. package/dist/types/app/admin/contents/menu/AdminMenu.vue.d.ts +1 -1
  9. package/dist/types/app/admin/contents/menu/MenuTreeNode.vue.d.ts +1 -1
  10. package/dist/types/app/admin/contents/navigate/AdminNavigate.vue.d.ts +1 -1
  11. package/dist/types/app/admin/contents/system/feedbacks/AccountRoleDialog.vue.d.ts +1 -1
  12. package/dist/types/app/admin/contents/system/feedbacks/MenuAddDialog.vue.d.ts +1 -1
  13. package/dist/types/app/admin/contents/system/feedbacks/MenuPathPopover.vue.d.ts +1 -1
  14. package/dist/types/app/admin/contents/system/feedbacks/MenuRoleDialog.vue.d.ts +1 -1
  15. package/dist/types/app/admin/contents/system/feedbacks/RoleAccountDialog.vue.d.ts +1 -1
  16. package/dist/types/app/admin/contents/system/feedbacks/RoleMenuDialog.vue.d.ts +1 -1
  17. package/dist/types/app/admin/contents/system/feedbacks/hooks.d.ts +3 -3
  18. package/dist/types/app/admin/contents/system/widgets/MenuRolePlugin.vue.d.ts +1 -1
  19. package/dist/types/app/admin/hooks.d.ts +2 -2
  20. package/dist/types/components.d.ts +1 -0
  21. package/dist/types/data/cell/FieldTransfer.vue.d.ts +1 -1
  22. package/dist/types/data/cell/MCell.vue.d.ts +1 -1
  23. package/dist/types/data/cell/instances/hooks.d.ts +6 -6
  24. package/dist/types/data/cell/types.d.ts +1 -1
  25. package/dist/types/data/form/MForm.vue.d.ts +1 -1
  26. package/dist/types/data/form/hooks.d.ts +7 -7
  27. package/dist/types/data/form/types.d.ts +1 -1
  28. package/dist/types/data/form/widgets/MFormLabel.vue.d.ts +1 -1
  29. package/dist/types/data/plugin/MPluginButtons.vue.d.ts +1 -1
  30. package/dist/types/data/plugin/MPluginColumn.vue.d.ts +1 -1
  31. package/dist/types/data/plugin/types.d.ts +1 -1
  32. package/dist/types/data/table/MTable.vue.d.ts +1 -1
  33. package/dist/types/data/table/components/columns/ButtonsColumn.vue.d.ts +1 -1
  34. package/dist/types/data/table/components/columns/CustomColumn.vue.d.ts +1 -1
  35. package/dist/types/data/table/components/columns/FieldColumn.vue.d.ts +3 -3
  36. package/dist/types/data/table/components/columns/IndexColumn.vue.d.ts +1 -1
  37. package/dist/types/data/table/components/columns/cells/MTableCell.vue.d.ts +1 -1
  38. package/dist/types/data/table/components/columns/cells/MTableHeaderCell.vue.d.ts +1 -1
  39. package/dist/types/data/table/components/columns/cells/MTableIndexCell.vue.d.ts +1 -1
  40. package/dist/types/data/table/components/control/MTableControl.vue.d.ts +1 -1
  41. package/dist/types/data/table/components/control/MTableControlButtons.vue.d.ts +1 -1
  42. package/dist/types/data/table/components/feedback/CellDialog.vue.d.ts +1 -1
  43. package/dist/types/data/table/components/feedback/CellPopover.vue.d.ts +1 -1
  44. package/dist/types/data/table/components/feedback/IndexPopover.vue.d.ts +1 -1
  45. package/dist/types/data/table/components/feedback/LookupPopover.vue.d.ts +1 -1
  46. package/dist/types/data/table/components/feedback/UploadDialog.vue.d.ts +1 -1
  47. package/dist/types/data/table/components/finder/MTableFinder.vue.d.ts +2 -2
  48. package/dist/types/data/table/components/tools/MTableSelection.vue.d.ts +1 -1
  49. package/dist/types/data/table/hooks/selection.d.ts +2 -2
  50. package/dist/types/data/table/hooks/sortable.d.ts +1 -1
  51. package/dist/types/data/table/types.d.ts +1 -1
  52. package/dist/types/data/tree/MTree.vue.d.ts +1 -1
  53. package/dist/types/data/tree/components/control/MTreeControl.vue.d.ts +3 -3
  54. package/dist/types/data/tree/components/feedback/BatchDialog.vue.d.ts +1 -1
  55. package/dist/types/data/tree/components/feedback/NodePopover.vue.d.ts +3 -3
  56. package/dist/types/data/tree/components/feedback/TableDialog.vue.d.ts +1 -1
  57. package/dist/types/data/tree/components/feedback/widgets/BatchForm.vue.d.ts +1 -1
  58. package/dist/types/data/tree/components/feedback/widgets/NodeButtons.vue.d.ts +3 -3
  59. package/dist/types/data/tree/components/node/MTreeNode.vue.d.ts +1 -1
  60. package/dist/types/data/tree/components/node/MTreePlugin.vue.d.ts +1 -1
  61. package/dist/types/data/tree/components/tools/ToggleNodeTool.vue.d.ts +1 -1
  62. package/dist/types/data/tree/hooks/disclosure.d.ts +1 -1
  63. package/dist/types/data/tree/hooks/selection.d.ts +2 -2
  64. package/dist/types/data/tree/types.d.ts +1 -1
  65. package/dist/types/data/types.d.ts +1 -1
  66. package/dist/types/data/upload/components/impoter/UploadImporter.vue.d.ts +1 -1
  67. package/dist/types/data/upload/components/impoter/components/ImporterTemplate.vue.d.ts +1 -1
  68. package/dist/types/data/upload/components/table/UploadTable.vue.d.ts +1 -1
  69. package/dist/types/data/upload/components/table/components/cells/UploadTableCell.vue.d.ts +1 -1
  70. package/dist/types/data/upload/components/table/components/valid/UploadTableValidation.vue.d.ts +1 -1
  71. package/dist/types/data/upload/hooks.d.ts +13 -13
  72. package/dist/types/data/upload/types.d.ts +1 -1
  73. package/dist/types/index.d.ts +0 -1
  74. package/dist/types/lib/core/channel/hooks.d.ts +11 -0
  75. package/dist/types/lib/core/channel/index.d.ts +8 -0
  76. package/dist/types/lib/core/channel/types.d.ts +52 -0
  77. package/dist/types/lib/core/channel/utils/container.d.ts +7 -0
  78. package/dist/types/lib/core/channel/utils/hub.d.ts +7 -0
  79. package/dist/types/lib/core/index.d.ts +2 -0
  80. package/dist/types/lib/core/network/hooks.d.ts +4 -0
  81. package/dist/types/lib/core/network/index.d.ts +9 -0
  82. package/dist/types/lib/core/network/types.d.ts +3 -0
  83. package/dist/types/lib/core/network/utils/http.d.ts +5 -0
  84. package/dist/types/lib/core/network/utils/socket.d.ts +6 -0
  85. package/dist/types/lib/data/dao/cogs/Model.d.ts +9 -0
  86. package/dist/types/lib/data/dao/cogs/Search.d.ts +12 -0
  87. package/dist/types/lib/data/dao/hooks.d.ts +8 -0
  88. package/dist/types/lib/data/dao/index.d.ts +14 -0
  89. package/dist/types/lib/data/dao/types.d.ts +39 -0
  90. package/dist/types/lib/data/hooks.d.ts +245 -0
  91. package/dist/types/lib/data/index.d.ts +6 -0
  92. package/dist/types/lib/data/meta/cogs/MetaField.d.ts +47 -0
  93. package/dist/types/lib/data/meta/cogs/MetaFormat.d.ts +26 -0
  94. package/dist/types/lib/data/meta/cogs/MetaRefer.d.ts +17 -0
  95. package/dist/types/lib/data/meta/cogs/MetaView.d.ts +36 -0
  96. package/dist/types/lib/data/meta/hooks.d.ts +23 -0
  97. package/dist/types/lib/data/meta/index.d.ts +16 -0
  98. package/dist/types/lib/data/meta/parser.d.ts +25 -0
  99. package/dist/types/lib/data/meta/types.d.ts +150 -0
  100. package/dist/types/lib/data/model/hooks.d.ts +44 -0
  101. package/dist/types/lib/data/model/index.d.ts +2 -0
  102. package/dist/types/lib/data/model/types.d.ts +7 -0
  103. package/dist/types/lib/data/query/cogs/Condition.d.ts +6 -0
  104. package/dist/types/lib/data/query/cogs/Lookup.d.ts +20 -0
  105. package/dist/types/lib/data/query/hooks.d.ts +63 -0
  106. package/dist/types/lib/data/query/index.d.ts +5 -0
  107. package/dist/types/lib/data/query/parser.d.ts +3 -0
  108. package/dist/types/lib/data/query/types.d.ts +18 -0
  109. package/dist/types/lib/data/types.d.ts +55 -0
  110. package/dist/types/lib/index.d.ts +8 -0
  111. package/dist/types/lib/install.d.ts +5 -0
  112. package/dist/types/lib/utils/aoa/hooks.d.ts +10 -0
  113. package/dist/types/lib/utils/aoa/index.d.ts +2 -0
  114. package/dist/types/lib/utils/aoa/types.d.ts +5 -0
  115. package/dist/types/lib/utils/functions.d.ts +1 -0
  116. package/dist/types/lib/utils/index.d.ts +5 -0
  117. package/dist/types/lib/utils/pagination/index.d.ts +6 -0
  118. package/dist/types/lib/utils/paster/hooks.d.ts +5 -0
  119. package/dist/types/lib/utils/paster/index.d.ts +1 -0
  120. package/dist/types/lib/utils/xlsx/hooks.d.ts +14 -0
  121. package/dist/types/lib/utils/xlsx/index.d.ts +2 -0
  122. package/dist/types/lib/utils/xlsx/types.d.ts +31 -0
  123. package/dist/types/meta/MetaPopover.vue.d.ts +1 -1
  124. package/dist/types/meta/feedbacks/FieldDialog.vue.d.ts +1 -1
  125. package/dist/types/meta/feedbacks/ListDialog.vue.d.ts +1 -1
  126. package/dist/types/meta/feedbacks/MetaDialog.vue.d.ts +1 -1
  127. package/dist/types/meta/feedbacks/ViewDialog.vue.d.ts +1 -1
  128. package/dist/types/meta/feedbacks/list/AddFieldDialog.vue.d.ts +1 -1
  129. package/dist/types/meta/feedbacks/list/CustomFieldDialog.vue.d.ts +1 -1
  130. package/dist/types/meta/feedbacks/list/FormatDialog.vue.d.ts +1 -1
  131. package/dist/types/meta/feedbacks/list/ReferDialog.vue.d.ts +1 -1
  132. package/dist/types/meta/forms/CustomForm.vue.d.ts +2 -2
  133. package/dist/types/meta/forms/FieldForm.vue.d.ts +2 -2
  134. package/dist/types/meta/forms/FormatForm.vue.d.ts +4 -4
  135. package/dist/types/meta/forms/ReferForm.vue.d.ts +3 -3
  136. package/dist/types/meta/forms/ViewForm.vue.d.ts +2 -2
  137. package/dist/types/meta/forms/field/FieldFormBtn.vue.d.ts +1 -1
  138. package/dist/types/meta/forms/formats/DateFormats.vue.d.ts +1 -1
  139. package/dist/types/meta/forms/formats/FileFormats.vue.d.ts +1 -1
  140. package/dist/types/meta/forms/formats/NumberFormats.vue.d.ts +1 -1
  141. package/dist/types/meta/forms/formats/SetFormats.vue.d.ts +1 -1
  142. package/dist/types/meta/forms/formats/TextFormats.vue.d.ts +1 -1
  143. package/dist/types/meta/labels/FieldLabel.vue.d.ts +1 -1
  144. package/dist/types/meta/labels/ViewLabel.vue.d.ts +1 -1
  145. package/dist/types/meta/panels/ListPanel.vue.d.ts +1 -1
  146. package/dist/types/meta/panels/ViewPanel.vue.d.ts +1 -1
  147. package/dist/types/meta/panels/list-custom/FieldWidgets.d.ts +1 -1
  148. package/dist/types/meta/tools/TreeRootSelection.vue.d.ts +1 -1
  149. package/dist/types/meta/tools/types.d.ts +1 -1
  150. package/dist/types/usages/form-codes/CodesForm.vue.d.ts +13 -13
  151. package/dist/types/usages/form-codes/hooks.d.ts +26 -26
  152. package/dist/types/usages/form-codes/types.d.ts +1 -1
  153. package/dist/types/usages/table-codes/CodesTable.vue.d.ts +1 -1
  154. package/dist/types/usages/table-codes/types.d.ts +1 -1
  155. package/dist/types/usages/table-data/DTable.vue.d.ts +1 -1
  156. package/dist/types/usages/table-data/hooks.d.ts +33 -33
  157. package/dist/types/usages/table-data/types.d.ts +1 -1
  158. package/dist/types/usages/table-plain/@hooks/data.d.ts +23 -23
  159. package/dist/types/usages/table-plain/@hooks/view.d.ts +19 -19
  160. package/dist/types/usages/table-plain/PTable.vue.d.ts +1 -1
  161. package/dist/types/usages/table-plain/hooks.d.ts +23 -23
  162. package/dist/types/usages/table-plain/types.d.ts +1 -1
  163. package/dist/types/usages/tree-data/DTree.vue.d.ts +4 -4
  164. package/dist/types/usages/tree-data/hooks.d.ts +26 -26
  165. package/dist/types/usages/tree-data/tree-table/DTreeTable.vue.d.ts +1 -1
  166. package/dist/types/usages/tree-data/types.d.ts +1 -1
  167. package/dist/types/widgets/depands/MCharts.vue.d.ts +1 -1
  168. package/dist/types/widgets/extensions/CtrlButton.vue.d.ts +1 -1
  169. package/dist/types/widgets/extensions/MOption.vue.d.ts +1 -1
  170. package/dist/types/widgets/feedbacks/dialog/MDialog.vue.d.ts +1 -1
  171. package/dist/types/widgets/feedbacks/functions.d.ts +1 -1
  172. package/dist/types/widgets/file/MFileView.vue.d.ts +1 -1
  173. package/dist/types/widgets/icon/types.d.ts +1 -1
  174. package/dist/types/widgets/wrap/MShrink.vue.d.ts +2 -2
  175. package/package.json +5 -3
  176. package/dist/types/data/upload/components/form/UploadForm.vue.d.ts +0 -8
@@ -0,0 +1,17 @@
1
+ import type { Database, DataItemId } from "../../types";
2
+ import type { IMetaRefer } from "../types";
3
+ export default class MetaRefer {
4
+ db: Database;
5
+ entity: string | null;
6
+ value: string;
7
+ label: string;
8
+ display: string;
9
+ multiple: boolean;
10
+ strict: boolean;
11
+ remote: boolean;
12
+ includes: object;
13
+ excludes: object;
14
+ root: DataItemId;
15
+ isTree: boolean;
16
+ constructor(refer?: IMetaRefer);
17
+ }
@@ -0,0 +1,36 @@
1
+ import MetaField from "./MetaField";
2
+ import type { Database, DataItemId } from "../../types";
3
+ import type { IMetaView, MetaModes, MetaValidator } from "../types";
4
+ export default class MetaView {
5
+ $$validator?: MetaValidator;
6
+ $db?: Database;
7
+ $entity?: string;
8
+ $code?: string;
9
+ $modes: MetaModes;
10
+ $isTree?: boolean;
11
+ $meta_name?: string;
12
+ $fields: {
13
+ [key: string]: MetaField;
14
+ };
15
+ $source?: IMetaView;
16
+ lock?: boolean;
17
+ id?: DataItemId;
18
+ name?: string;
19
+ form_width?: number;
20
+ form_height?: number;
21
+ table_width?: number;
22
+ table_height?: number;
23
+ enable: boolean;
24
+ show_header: boolean;
25
+ allow_search: boolean;
26
+ allow_order: boolean;
27
+ allow_insert: boolean;
28
+ allow_edit: boolean;
29
+ allow_edit_on_form: boolean;
30
+ allow_edit_on_cell: boolean;
31
+ allow_edit_on_sort: boolean;
32
+ allow_remove: boolean;
33
+ allow_download: boolean;
34
+ allow_upload: boolean;
35
+ constructor(view?: IMetaView, admin?: boolean);
36
+ }
@@ -0,0 +1,23 @@
1
+ import { type Ref } from "vue";
2
+ import MetaView from "./cogs/MetaView";
3
+ import type { MetaCell, MetaMode, MetaRow, MetaRowFrame } from "./types";
4
+ import type { DataItem } from "../types";
5
+ import MetaField from "./cogs/MetaField";
6
+ import Condition from "../query/cogs/Condition";
7
+ import type MetaRefer from "./cogs/MetaRefer";
8
+ export declare function useMetaView($config?: MetaView | Ref<MetaView>): {
9
+ setEnable: (enable: boolean) => void;
10
+ toBean: (item: DataItem) => Pick<DataItem, string>;
11
+ toAoa: (items: DataItem[]) => any[][];
12
+ parse: (array: DataItem[]) => MetaRowFrame;
13
+ fromMode: (mode: MetaMode) => MetaField;
14
+ parseRow: (row: DataItem, index: number) => MetaRow;
15
+ };
16
+ export declare function useMetaField($config: MetaField | Ref<MetaField>): {
17
+ getCondition: () => Condition;
18
+ parseCell: (row: DataItem) => MetaCell;
19
+ };
20
+ export declare function useMetaRefer($config: MetaRefer | Ref<MetaRefer>): {
21
+ getCondition: () => Condition;
22
+ condition: import("vue").ComputedRef<Condition>;
23
+ };
@@ -0,0 +1,16 @@
1
+ import MetaField from "./cogs/MetaField";
2
+ import MetaView from "./cogs/MetaView";
3
+ import MetaRefer from "./cogs/MetaRefer";
4
+ import MetaFormat from "./cogs/MetaFormat";
5
+ /**
6
+ * cogs
7
+ */
8
+ export { MetaField, MetaView, MetaRefer, MetaFormat, };
9
+ /**
10
+ * hooks
11
+ */
12
+ export { useMetaView, useMetaField, useMetaRefer } from "./hooks";
13
+ /**
14
+ * types
15
+ */
16
+ export * from './types';
@@ -0,0 +1,25 @@
1
+ import MetaField from "./cogs/MetaField";
2
+ import type { DataItem } from "../types";
3
+ import type { MetaCell } from "./types";
4
+ export default class MetaCellParser {
5
+ field: MetaField;
6
+ constructor(field: MetaField);
7
+ parse(row: DataItem): MetaCell;
8
+ private parseNull;
9
+ private parseLinkage;
10
+ private parseMultiple;
11
+ private parseBoolean;
12
+ private parseNumber;
13
+ private parseDateAndTime;
14
+ private parseDateTime;
15
+ private parseDate;
16
+ private parseTime;
17
+ private parseRange;
18
+ private parseTimeRange;
19
+ private parseDateRange;
20
+ private parseDates;
21
+ private parseSet;
22
+ private parseFile;
23
+ private parseColor;
24
+ private parseDefault;
25
+ }
@@ -0,0 +1,150 @@
1
+ import type { Database, DataItem, DataItemId } from "../types";
2
+ export type ValarMeta = 'valar.Valar' | 'valar.Role' | 'valar.Account' | 'valar.Menu' | 'valar.MetaFieldTool' | 'valar.MetaFieldDomain' | 'valar.IndicatorSet' | 'valar.Indicator' | 'valar.Location' | 'valar.Meta' | 'valar.MetaView' | 'valar.MetaField' | 'valar.MetaViewDefault' | 'valar.Vmo' | 'valar.Voo' | 'valar.Vmm';
3
+ export type IMeta = {
4
+ db?: Database;
5
+ entity: string | ValarMeta;
6
+ code?: string;
7
+ };
8
+ export type Meta = {
9
+ db: Database;
10
+ entity: string | ValarMeta;
11
+ code: string;
12
+ };
13
+ export type MetaMode = {
14
+ prop: string;
15
+ domain: MetaFieldDomain;
16
+ label?: string;
17
+ set?: IMetaFormatSet;
18
+ multiple?: boolean;
19
+ not_null?: boolean;
20
+ };
21
+ export type MetaModes = {
22
+ [prop: string]: MetaMode;
23
+ };
24
+ export type IMetaView = {
25
+ $db?: Database;
26
+ $entity?: string;
27
+ $code?: string;
28
+ $isTree?: boolean;
29
+ $fields?: {
30
+ [key: string]: IMetaField;
31
+ };
32
+ $meta_name?: string;
33
+ $modes?: MetaModes;
34
+ $$validator?: MetaValidator;
35
+ id?: DataItemId;
36
+ name?: string;
37
+ lock?: boolean;
38
+ form_width?: number;
39
+ form_height?: number;
40
+ table_width?: number;
41
+ table_height?: number;
42
+ enable?: boolean;
43
+ show_header?: boolean;
44
+ allow_search?: boolean;
45
+ allow_order?: boolean;
46
+ allow_insert?: boolean;
47
+ allow_edit?: boolean;
48
+ allow_edit_on_form?: boolean;
49
+ allow_edit_on_cell?: boolean;
50
+ allow_edit_on_sort?: boolean;
51
+ allow_remove?: boolean;
52
+ allow_download?: boolean;
53
+ allow_upload?: boolean;
54
+ };
55
+ export type MetaValidator = (row: any) => MetaValidatMessage;
56
+ export type MetaValidatMessage = {
57
+ valid: boolean;
58
+ message?: string | null;
59
+ };
60
+ export type MetaRowFrame = {
61
+ [id: DataItemId]: MetaRow;
62
+ };
63
+ export type MetaRow = {
64
+ $index: number;
65
+ key: DataItemId;
66
+ cells: Record<string, MetaCell>;
67
+ item: DataItem;
68
+ payload?: any;
69
+ } & MetaValidatMessage;
70
+ export type MetaCell = {
71
+ value: any;
72
+ content: any;
73
+ valid: boolean;
74
+ message: string;
75
+ } & MetaValidatMessage;
76
+ export type IMetaField = {
77
+ $db?: Database;
78
+ $entity?: string;
79
+ $code?: string;
80
+ id?: string | number;
81
+ prop?: string;
82
+ label?: string;
83
+ name?: string;
84
+ domain?: MetaFieldDomain;
85
+ tool?: MetaFieldTool;
86
+ refer?: IMetaRefer;
87
+ format?: IMetaFormat;
88
+ disable?: boolean;
89
+ not_null?: boolean;
90
+ allow_edit?: boolean;
91
+ allow_order?: boolean;
92
+ allow_search?: boolean;
93
+ allow_download?: boolean;
94
+ allow_upload?: boolean;
95
+ allow_update?: boolean;
96
+ unit?: string | null;
97
+ column_width?: number;
98
+ align?: 'left' | 'center' | 'right';
99
+ fixed?: '' | 'left' | 'right';
100
+ header_color?: string | null;
101
+ cell_color?: string | null;
102
+ edit_on_table?: boolean;
103
+ hide_on_table?: boolean;
104
+ span?: number;
105
+ hide_on_form?: boolean;
106
+ hide_on_form_edit?: boolean;
107
+ hide_on_form_insert?: boolean;
108
+ hide_on_form_branch?: boolean;
109
+ hide_on_form_leaf?: boolean;
110
+ };
111
+ export type IMetaRefer = {
112
+ db?: Database;
113
+ entity?: string;
114
+ value?: string;
115
+ label?: string;
116
+ display?: string;
117
+ multiple?: boolean;
118
+ strict?: boolean;
119
+ remote?: boolean;
120
+ includes?: object;
121
+ excludes?: object;
122
+ root?: DataItemId;
123
+ isTree?: boolean;
124
+ };
125
+ export type IMetaFormatSet = {
126
+ [label: string]: string;
127
+ };
128
+ export type IMetaFormat = {
129
+ $maxlength?: number;
130
+ maxlength?: number;
131
+ type?: MetaFormatType;
132
+ min?: number | null;
133
+ max?: number | null;
134
+ step?: number | null;
135
+ precision?: number | null;
136
+ step_strictly?: boolean;
137
+ frequency?: MetaFormatFrequency;
138
+ maximum?: number;
139
+ accept?: string[];
140
+ width?: number | null;
141
+ height?: number | null;
142
+ file_name_field?: string | null;
143
+ locked?: boolean;
144
+ set?: IMetaFormatSet;
145
+ multiple?: boolean;
146
+ };
147
+ export type MetaFormatType = 'text' | 'textarea';
148
+ export type MetaFormatFrequency = 'year' | 'month' | 'week' | 'date' | 'datetime' | 'yearrange' | 'monthrange' | 'daterange' | 'datetimerange' | 'years' | 'months' | 'dates' | null;
149
+ export type MetaFieldDomain = 'ManyToManyField' | 'ManyToManyRel' | 'ManyToOneRel' | 'OneToOneField' | 'OneToOneRel' | 'ForeignKey' | 'CharField' | 'TextField' | 'BooleanField' | 'IntegerField' | 'FloatField' | 'BigIntegerField' | 'DecimalField' | 'SmallIntegerField' | 'DateField' | 'DateTimeField' | 'TimeField' | 'JSONField' | 'FileField' | 'UUIDField' | 'BigAutoField' | 'Custom';
150
+ export type MetaFieldTool = 'text' | 'textarea' | 'number' | 'switch' | 'boolean' | 'date' | 'timerange' | 'time' | 'daterange' | 'dates' | 'image' | 'file' | 'rich' | 'transfer' | 'auto' | 'select' | 'tree' | 'cascade' | 'set' | 'meta' | 'color' | 'icon' | 'none' | 'object';
@@ -0,0 +1,44 @@
1
+ import { Model, type Orders } from "../dao";
2
+ import { type Ref } from "vue";
3
+ import type { DataItem, DataItemId, TreeItem } from "../types";
4
+ import type { TableMapping, TreeMapping } from "./types";
5
+ export declare function useReadonlyTreeModel($config: Model | Ref<Model>): {
6
+ mapping: Ref<TreeMapping, TreeMapping>;
7
+ root: import("vue").ComputedRef<number>;
8
+ length: number;
9
+ options: import("vue").ComputedRef<TreeItem[]>;
10
+ };
11
+ export declare function useReadonlyTableModel($config: Model | Ref<Model>): {
12
+ mapping: Ref<TableMapping, TableMapping>;
13
+ total: import("vue").ComputedRef<number>;
14
+ length: import("vue").ComputedRef<number>;
15
+ options: Ref<{
16
+ [x: string]: any;
17
+ id?: DataItemId | undefined;
18
+ sort?: DataItemId | undefined;
19
+ saved?: boolean | undefined;
20
+ name?: string | undefined;
21
+ disabled?: boolean | undefined;
22
+ }[], DataItem[] | {
23
+ [x: string]: any;
24
+ id?: DataItemId | undefined;
25
+ sort?: DataItemId | undefined;
26
+ saved?: boolean | undefined;
27
+ name?: string | undefined;
28
+ disabled?: boolean | undefined;
29
+ }[]>;
30
+ };
31
+ export declare function useEditableTableModel($config: Model | Ref<Model>): {
32
+ mapping: Ref<TableMapping, TableMapping>;
33
+ total: import("vue").ComputedRef<number>;
34
+ length: import("vue").ComputedRef<number>;
35
+ options: import("vue").ComputedRef<DataItem[]>;
36
+ orders: Ref<Orders, Orders>;
37
+ manager: {
38
+ find_one: (key: DataItemId) => DataItem;
39
+ find_many: (keys: DataItemId[]) => DataItem[];
40
+ insert_one: (item: DataItem) => DataItem;
41
+ save_many: (items: DataItem[]) => number[];
42
+ delete_many: (keys?: DataItemId[]) => void;
43
+ };
44
+ };
@@ -0,0 +1,2 @@
1
+ export { useReadonlyTableModel, useEditableTableModel, useReadonlyTreeModel, } from "./hooks";
2
+ export type { TreeMapping, TableMapping } from './types';
@@ -0,0 +1,7 @@
1
+ import type { DataItem, DataItemId, TreeItem } from "../types";
2
+ export type TreeMapping = {
3
+ [id: DataItemId]: TreeItem;
4
+ };
5
+ export type TableMapping = {
6
+ [id: DataItemId]: DataItem;
7
+ };
@@ -0,0 +1,6 @@
1
+ import type { DataItem } from "../../types";
2
+ export default class Condition {
3
+ includes: DataItem;
4
+ excludes: DataItem;
5
+ constructor(includes?: DataItem, excludes?: DataItem);
6
+ }
@@ -0,0 +1,20 @@
1
+ import type { ConditionType, LookupType } from "../types";
2
+ export default class Lookup {
3
+ type: ConditionType;
4
+ prop: string;
5
+ lookup: LookupType;
6
+ value: any;
7
+ affix: boolean;
8
+ constructor(type: ConditionType, prop: string, value: any, lookup?: LookupType, affix?: boolean);
9
+ static MAPPING: {
10
+ contains: string;
11
+ exact: string;
12
+ startswith: string;
13
+ endswith: string;
14
+ gt: string;
15
+ lt: string;
16
+ isnull: string;
17
+ in: string;
18
+ range: string;
19
+ };
20
+ }
@@ -0,0 +1,63 @@
1
+ import { type Ref } from "vue";
2
+ import type { ICondition, IFinder } from "./types";
3
+ import type { DataItem } from "../types";
4
+ import Condition from "./cogs/Condition";
5
+ import Lookup from "./cogs/Lookup";
6
+ export declare function useCondition($config?: ICondition | Ref<ICondition>): {
7
+ config: Ref<ICondition, ICondition>;
8
+ core: import("vue").ComputedRef<DataItem>;
9
+ finder: Ref<{
10
+ includes: {
11
+ [prop: string]: Lookup;
12
+ };
13
+ excludes: {
14
+ [prop: string]: Lookup;
15
+ };
16
+ }, IFinder | {
17
+ includes: {
18
+ [prop: string]: Lookup;
19
+ };
20
+ excludes: {
21
+ [prop: string]: Lookup;
22
+ };
23
+ }>;
24
+ finders: Ref<{
25
+ includes: {
26
+ [prop: string]: Lookup;
27
+ };
28
+ excludes: {
29
+ [prop: string]: Lookup;
30
+ };
31
+ }[], IFinder[] | {
32
+ includes: {
33
+ [prop: string]: Lookup;
34
+ };
35
+ excludes: {
36
+ [prop: string]: Lookup;
37
+ };
38
+ }[]>;
39
+ conditions: import("vue").ComputedRef<Condition[]>;
40
+ };
41
+ export declare function useFinder($config?: ICondition | Ref<ICondition>): {
42
+ core: import("vue").ComputedRef<DataItem>;
43
+ finder: Ref<{
44
+ includes: {
45
+ [prop: string]: Lookup;
46
+ };
47
+ excludes: {
48
+ [prop: string]: Lookup;
49
+ };
50
+ }, IFinder | {
51
+ includes: {
52
+ [prop: string]: Lookup;
53
+ };
54
+ excludes: {
55
+ [prop: string]: Lookup;
56
+ };
57
+ }>;
58
+ filterRow: (row: DataItem) => boolean;
59
+ };
60
+ /**
61
+ * django orm 未集成的lookups
62
+ * 日期:'date', 'year', 'iso_year', 'month', 'day', 'week', 'week_day', 'iso_week_day', 'quarter', 'time', 'hour', 'minute', 'second',
63
+ */
@@ -0,0 +1,5 @@
1
+ import Condition from "./cogs/Condition";
2
+ import Lookup from "./cogs/Lookup";
3
+ export { Condition, Lookup };
4
+ export { useFinder, useCondition } from './hooks';
5
+ export type { ICondition, IFinder, LookupType } from './types';
@@ -0,0 +1,3 @@
1
+ import type { DataItem } from "../types";
2
+ import type Lookup from "./cogs/Lookup";
3
+ export declare function parseLookup(lk: Lookup, row: DataItem): boolean;
@@ -0,0 +1,18 @@
1
+ import type { DataItem } from "../types";
2
+ import type { MetaModes } from "../meta";
3
+ import type Lookup from "./cogs/Lookup";
4
+ export type ConditionType = 'includes' | 'excludes';
5
+ export type ICondition = {
6
+ includes?: DataItem;
7
+ excludes?: DataItem;
8
+ modes?: MetaModes;
9
+ };
10
+ export type LookupType = 'contains' | 'exact' | 'startswith' | 'endswith' | 'gt' | 'lt' | 'isnull' | 'in' | 'range';
11
+ export type IFinder = {
12
+ includes: {
13
+ [prop: string]: Lookup;
14
+ };
15
+ excludes: {
16
+ [prop: string]: Lookup;
17
+ };
18
+ };
@@ -0,0 +1,55 @@
1
+ import { type IMeta, type MetaValidator, MetaView } from "./meta";
2
+ import type { ChannelScope } from "../core";
3
+ import { Model } from "./dao";
4
+ export type Database = 'orm' | 'mon' | 'plain';
5
+ export type DataItemId = string | number;
6
+ export type DataItem = {
7
+ id?: DataItemId;
8
+ sort?: DataItemId;
9
+ saved?: boolean;
10
+ name?: string;
11
+ disabled?: boolean;
12
+ [prop: string]: any;
13
+ };
14
+ export type TreeItem = {
15
+ pid: number | string;
16
+ isLeaf: boolean;
17
+ icon?: IconNames;
18
+ children: TreeItem[];
19
+ } & DataItem;
20
+ export type PropItem = {
21
+ value: string;
22
+ label: string;
23
+ display?: string;
24
+ convert?: (item: any) => void;
25
+ disabled?: boolean;
26
+ };
27
+ export type TreeNode = {
28
+ canFocus: boolean;
29
+ checked: boolean;
30
+ childNodes: TreeNode[];
31
+ data: TreeItem;
32
+ expanded: boolean;
33
+ id: string | number;
34
+ indeterminate: boolean;
35
+ isCurrent: boolean;
36
+ isLeaf: boolean;
37
+ level: number;
38
+ parent: TreeNode;
39
+ visible: boolean;
40
+ };
41
+ export type IData = IMeta & ChannelScope & IDataConfig;
42
+ export type IDataConfig = {
43
+ admin?: boolean;
44
+ validator?: MetaValidator;
45
+ convertor?: (item: any) => void;
46
+ includes?: DataItem;
47
+ excludes?: DataItem;
48
+ beforeInit?: BeforeInitFunction;
49
+ beforeLoad?: BeforeLoadFunction;
50
+ disabled?: boolean;
51
+ };
52
+ type BeforeInitFunction = (view: MetaView) => void;
53
+ type BeforeLoadFunction = (model: Model, view: MetaView) => Promise<boolean>;
54
+ export type IconNames = undefined | null | '' | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "a" | "ad" | "add" | "address-book" | "address-card" | "adjust" | "air-freshener" | "align-center" | "align-justify" | "align-left" | "align-right" | "allergies" | "ambulance" | "american-sign-language-interpreting" | "anchor" | "anchor-circle-check" | "anchor-circle-exclamation" | "anchor-circle-xmark" | "anchor-lock" | "angle-double-down" | "angle-double-left" | "angle-double-right" | "angle-double-up" | "angle-down" | "angle-left" | "angle-right" | "angle-up" | "angles-down" | "angles-left" | "angles-right" | "angles-up" | "angry" | "ankh" | "apple-alt" | "apple-whole" | "archive" | "archway" | "area-chart" | "arrow-alt-circle-down" | "arrow-alt-circle-left" | "arrow-alt-circle-right" | "arrow-alt-circle-up" | "arrow-circle-down" | "arrow-circle-left" | "arrow-circle-right" | "arrow-circle-up" | "arrow-down" | "arrow-down-1-9" | "arrow-down-9-1" | "arrow-down-a-z" | "arrow-down-long" | "arrow-down-short-wide" | "arrow-down-up-across-line" | "arrow-down-up-lock" | "arrow-down-wide-short" | "arrow-down-z-a" | "arrow-left" | "arrow-left-long" | "arrow-left-rotate" | "arrow-pointer" | "arrow-right" | "arrow-right-arrow-left" | "arrow-right-from-bracket" | "arrow-right-from-file" | "arrow-right-long" | "arrow-right-rotate" | "arrow-right-to-bracket" | "arrow-right-to-city" | "arrow-right-to-file" | "arrow-rotate-back" | "arrow-rotate-backward" | "arrow-rotate-forward" | "arrow-rotate-left" | "arrow-rotate-right" | "arrow-trend-down" | "arrow-trend-up" | "arrow-turn-down" | "arrow-turn-up" | "arrow-up" | "arrow-up-1-9" | "arrow-up-9-1" | "arrow-up-a-z" | "arrow-up-from-bracket" | "arrow-up-from-ground-water" | "arrow-up-from-water-pump" | "arrow-up-long" | "arrow-up-right-dots" | "arrow-up-right-from-square" | "arrow-up-short-wide" | "arrow-up-wide-short" | "arrow-up-z-a" | "arrows" | "arrows-alt" | "arrows-alt-h" | "arrows-alt-v" | "arrows-down-to-line" | "arrows-down-to-people" | "arrows-h" | "arrows-left-right" | "arrows-left-right-to-line" | "arrows-rotate" | "arrows-spin" | "arrows-split-up-and-left" | "arrows-to-circle" | "arrows-to-dot" | "arrows-to-eye" | "arrows-turn-right" | "arrows-turn-to-dots" | "arrows-up-down" | "arrows-up-down-left-right" | "arrows-up-to-line" | "arrows-v" | "asl-interpreting" | "assistive-listening-systems" | "asterisk" | "at" | "atlas" | "atom" | "audio-description" | "austral-sign" | "automobile" | "award" | "b" | "baby" | "baby-carriage" | "backspace" | "backward" | "backward-fast" | "backward-step" | "bacon" | "bacteria" | "bacterium" | "bag-shopping" | "bahai" | "baht-sign" | "balance-scale" | "balance-scale-left" | "balance-scale-right" | "ban" | "ban-smoking" | "band-aid" | "bandage" | "bangladeshi-taka-sign" | "bank" | "bar-chart" | "barcode" | "bars" | "bars-progress" | "bars-staggered" | "baseball" | "baseball-ball" | "baseball-bat-ball" | "basket-shopping" | "basketball" | "basketball-ball" | "bath" | "bathtub" | "battery" | "battery-0" | "battery-2" | "battery-3" | "battery-4" | "battery-5" | "battery-car" | "battery-empty" | "battery-full" | "battery-half" | "battery-quarter" | "battery-three-quarters" | "bed" | "bed-pulse" | "beer" | "beer-mug-empty" | "bell" | "bell-concierge" | "bell-slash" | "bezier-curve" | "bible" | "bicycle" | "biking" | "binoculars" | "biohazard" | "birthday-cake" | "bitcoin-sign" | "blackboard" | "blender" | "blender-phone" | "blind" | "blog" | "bold" | "bolt" | "bolt-lightning" | "bomb" | "bone" | "bong" | "book" | "book-atlas" | "book-bible" | "book-bookmark" | "book-dead" | "book-journal-whills" | "book-medical" | "book-open" | "book-open-reader" | "book-quran" | "book-reader" | "book-skull" | "book-tanakh" | "bookmark" | "border-all" | "border-none" | "border-style" | "border-top-left" | "bore-hole" | "bottle-droplet" | "bottle-water" | "bowl-food" | "bowl-rice" | "bowling-ball" | "box" | "box-archive" | "box-open" | "box-tissue" | "boxes" | "boxes-alt" | "boxes-packing" | "boxes-stacked" | "braille" | "brain" | "brazilian-real-sign" | "bread-slice" | "bridge" | "bridge-circle-check" | "bridge-circle-exclamation" | "bridge-circle-xmark" | "bridge-lock" | "bridge-water" | "briefcase" | "briefcase-clock" | "briefcase-medical" | "broadcast-tower" | "broom" | "broom-ball" | "brush" | "bucket" | "bug" | "bug-slash" | "bugs" | "building" | "building-circle-arrow-right" | "building-circle-check" | "building-circle-exclamation" | "building-circle-xmark" | "building-columns" | "building-flag" | "building-lock" | "building-ngo" | "building-shield" | "building-un" | "building-user" | "building-wheat" | "bullhorn" | "bullseye" | "burger" | "burn" | "burst" | "bus" | "bus-alt" | "bus-simple" | "business-time" | "c" | "cab" | "cable-car" | "cake" | "cake-candles" | "calculator" | "calendar" | "calendar-alt" | "calendar-check" | "calendar-day" | "calendar-days" | "calendar-minus" | "calendar-plus" | "calendar-times" | "calendar-week" | "calendar-xmark" | "camera" | "camera-alt" | "camera-retro" | "camera-rotate" | "campground" | "cancel" | "candy-cane" | "cannabis" | "capsules" | "car" | "car-alt" | "car-battery" | "car-burst" | "car-crash" | "car-on" | "car-rear" | "car-side" | "car-tunnel" | "caravan" | "caret-down" | "caret-left" | "caret-right" | "caret-square-down" | "caret-square-left" | "caret-square-right" | "caret-square-up" | "caret-up" | "carriage-baby" | "carrot" | "cart-arrow-down" | "cart-flatbed" | "cart-flatbed-suitcase" | "cart-plus" | "cart-shopping" | "cash-register" | "cat" | "cedi-sign" | "cent-sign" | "certificate" | "chain" | "chain-broken" | "chain-slash" | "chair" | "chalkboard" | "chalkboard-teacher" | "chalkboard-user" | "champagne-glasses" | "charging-station" | "chart-area" | "chart-bar" | "chart-column" | "chart-diagram" | "chart-gantt" | "chart-line" | "chart-pie" | "chart-simple" | "check" | "check-circle" | "check-double" | "check-square" | "check-to-slot" | "cheese" | "chess" | "chess-bishop" | "chess-board" | "chess-king" | "chess-knight" | "chess-pawn" | "chess-queen" | "chess-rook" | "chevron-circle-down" | "chevron-circle-left" | "chevron-circle-right" | "chevron-circle-up" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "child" | "child-combatant" | "child-dress" | "child-reaching" | "child-rifle" | "children" | "church" | "circle" | "circle-arrow-down" | "circle-arrow-left" | "circle-arrow-right" | "circle-arrow-up" | "circle-check" | "circle-chevron-down" | "circle-chevron-left" | "circle-chevron-right" | "circle-chevron-up" | "circle-dollar-to-slot" | "circle-dot" | "circle-down" | "circle-exclamation" | "circle-h" | "circle-half-stroke" | "circle-info" | "circle-left" | "circle-minus" | "circle-nodes" | "circle-notch" | "circle-pause" | "circle-play" | "circle-plus" | "circle-question" | "circle-radiation" | "circle-right" | "circle-stop" | "circle-up" | "circle-user" | "circle-xmark" | "city" | "clapperboard" | "clinic-medical" | "clipboard" | "clipboard-check" | "clipboard-list" | "clipboard-question" | "clipboard-user" | "clock" | "clock-four" | "clock-rotate-left" | "clone" | "close" | "closed-captioning" | "cloud" | "cloud-arrow-down" | "cloud-arrow-up" | "cloud-bolt" | "cloud-download" | "cloud-download-alt" | "cloud-meatball" | "cloud-moon" | "cloud-moon-rain" | "cloud-rain" | "cloud-showers-heavy" | "cloud-showers-water" | "cloud-sun" | "cloud-sun-rain" | "cloud-upload" | "cloud-upload-alt" | "clover" | "cny" | "cocktail" | "code" | "code-branch" | "code-commit" | "code-compare" | "code-fork" | "code-merge" | "code-pull-request" | "coffee" | "cog" | "cogs" | "coins" | "colon-sign" | "columns" | "comment" | "comment-alt" | "comment-dollar" | "comment-dots" | "comment-medical" | "comment-nodes" | "comment-slash" | "comment-sms" | "commenting" | "comments" | "comments-dollar" | "compact-disc" | "compass" | "compass-drafting" | "compress" | "compress-alt" | "compress-arrows-alt" | "computer" | "computer-mouse" | "concierge-bell" | "contact-book" | "contact-card" | "cookie" | "cookie-bite" | "copy" | "copyright" | "couch" | "cow" | "credit-card" | "credit-card-alt" | "crop" | "crop-alt" | "crop-simple" | "cross" | "crosshairs" | "crow" | "crown" | "crutch" | "cruzeiro-sign" | "cube" | "cubes" | "cubes-stacked" | "cut" | "cutlery" | "d" | "dashboard" | "database" | "deaf" | "deafness" | "dedent" | "delete-left" | "democrat" | "desktop" | "desktop-alt" | "dharmachakra" | "diagnoses" | "diagram-next" | "diagram-predecessor" | "diagram-project" | "diagram-successor" | "diamond" | "diamond-turn-right" | "dice" | "dice-d20" | "dice-d6" | "dice-five" | "dice-four" | "dice-one" | "dice-six" | "dice-three" | "dice-two" | "digging" | "digital-tachograph" | "directions" | "disease" | "display" | "divide" | "dizzy" | "dna" | "dog" | "dollar" | "dollar-sign" | "dolly" | "dolly-box" | "dolly-flatbed" | "donate" | "dong-sign" | "door-closed" | "door-open" | "dot-circle" | "dove" | "down-left-and-up-right-to-center" | "down-long" | "download" | "drafting-compass" | "dragon" | "draw-polygon" | "drivers-license" | "droplet" | "droplet-slash" | "drum" | "drum-steelpan" | "drumstick-bite" | "dumbbell" | "dumpster" | "dumpster-fire" | "dungeon" | "e" | "ear-deaf" | "ear-listen" | "earth" | "earth-africa" | "earth-america" | "earth-americas" | "earth-asia" | "earth-europe" | "earth-oceania" | "edit" | "egg" | "eject" | "elevator" | "ellipsis" | "ellipsis-h" | "ellipsis-v" | "ellipsis-vertical" | "envelope" | "envelope-circle-check" | "envelope-open" | "envelope-open-text" | "envelope-square" | "envelopes-bulk" | "equals" | "eraser" | "ethernet" | "eur" | "euro" | "euro-sign" | "exchange" | "exchange-alt" | "exclamation" | "exclamation-circle" | "exclamation-triangle" | "expand" | "expand-alt" | "expand-arrows-alt" | "explosion" | "external-link" | "external-link-alt" | "external-link-square" | "external-link-square-alt" | "eye" | "eye-dropper" | "eye-dropper-empty" | "eye-low-vision" | "eye-slash" | "eyedropper" | "f" | "face-angry" | "face-dizzy" | "face-flushed" | "face-frown" | "face-frown-open" | "face-grimace" | "face-grin" | "face-grin-beam" | "face-grin-beam-sweat" | "face-grin-hearts" | "face-grin-squint" | "face-grin-squint-tears" | "face-grin-stars" | "face-grin-tears" | "face-grin-tongue" | "face-grin-tongue-squint" | "face-grin-tongue-wink" | "face-grin-wide" | "face-grin-wink" | "face-kiss" | "face-kiss-beam" | "face-kiss-wink-heart" | "face-laugh" | "face-laugh-beam" | "face-laugh-squint" | "face-laugh-wink" | "face-meh" | "face-meh-blank" | "face-rolling-eyes" | "face-sad-cry" | "face-sad-tear" | "face-smile" | "face-smile-beam" | "face-smile-wink" | "face-surprise" | "face-tired" | "fan" | "faucet" | "faucet-drip" | "fax" | "feather" | "feather-alt" | "feather-pointed" | "feed" | "female" | "ferry" | "fighter-jet" | "file" | "file-alt" | "file-archive" | "file-arrow-down" | "file-arrow-up" | "file-audio" | "file-circle-check" | "file-circle-exclamation" | "file-circle-minus" | "file-circle-plus" | "file-circle-question" | "file-circle-xmark" | "file-clipboard" | "file-code" | "file-contract" | "file-csv" | "file-download" | "file-edit" | "file-excel" | "file-export" | "file-fragment" | "file-half-dashed" | "file-image" | "file-import" | "file-invoice" | "file-invoice-dollar" | "file-lines" | "file-medical" | "file-medical-alt" | "file-pdf" | "file-pen" | "file-powerpoint" | "file-prescription" | "file-shield" | "file-signature" | "file-text" | "file-upload" | "file-video" | "file-waveform" | "file-word" | "file-zipper" | "fill" | "fill-drip" | "film" | "filter" | "filter-circle-dollar" | "filter-circle-xmark" | "fingerprint" | "fire" | "fire-alt" | "fire-burner" | "fire-extinguisher" | "fire-flame-curved" | "fire-flame-simple" | "first-aid" | "fish" | "fish-fins" | "fist-raised" | "flag" | "flag-checkered" | "flag-usa" | "flask" | "flask-vial" | "floppy-disk" | "florin-sign" | "flushed" | "folder" | "folder-blank" | "folder-closed" | "folder-minus" | "folder-open" | "folder-plus" | "folder-tree" | "font" | "font-awesome" | "font-awesome-flag" | "font-awesome-logo-full" | "football" | "football-ball" | "forward" | "forward-fast" | "forward-step" | "franc-sign" | "frog" | "frown" | "frown-open" | "funnel-dollar" | "futbol" | "futbol-ball" | "g" | "gamepad" | "gas-pump" | "gauge" | "gauge-high" | "gauge-med" | "gauge-simple" | "gauge-simple-high" | "gauge-simple-med" | "gavel" | "gbp" | "gear" | "gears" | "gem" | "genderless" | "ghost" | "gift" | "gifts" | "glass-cheers" | "glass-martini" | "glass-martini-alt" | "glass-water" | "glass-water-droplet" | "glass-whiskey" | "glasses" | "globe" | "globe-africa" | "globe-americas" | "globe-asia" | "globe-europe" | "globe-oceania" | "golf-ball" | "golf-ball-tee" | "gopuram" | "graduation-cap" | "greater-than" | "greater-than-equal" | "grimace" | "grin" | "grin-alt" | "grin-beam" | "grin-beam-sweat" | "grin-hearts" | "grin-squint" | "grin-squint-tears" | "grin-stars" | "grin-tears" | "grin-tongue" | "grin-tongue-squint" | "grin-tongue-wink" | "grin-wink" | "grip" | "grip-horizontal" | "grip-lines" | "grip-lines-vertical" | "grip-vertical" | "group-arrows-rotate" | "guarani-sign" | "guitar" | "gun" | "h" | "h-square" | "hamburger" | "hammer" | "hamsa" | "hand" | "hand-back-fist" | "hand-dots" | "hand-fist" | "hand-holding" | "hand-holding-dollar" | "hand-holding-droplet" | "hand-holding-hand" | "hand-holding-heart" | "hand-holding-medical" | "hand-holding-usd" | "hand-holding-water" | "hand-lizard" | "hand-middle-finger" | "hand-paper" | "hand-peace" | "hand-point-down" | "hand-point-left" | "hand-point-right" | "hand-point-up" | "hand-pointer" | "hand-rock" | "hand-scissors" | "hand-sparkles" | "hand-spock" | "handcuffs" | "hands" | "hands-american-sign-language-interpreting" | "hands-asl-interpreting" | "hands-bound" | "hands-bubbles" | "hands-clapping" | "hands-helping" | "hands-holding" | "hands-holding-child" | "hands-holding-circle" | "hands-praying" | "hands-wash" | "handshake" | "handshake-alt" | "handshake-alt-slash" | "handshake-angle" | "handshake-simple" | "handshake-simple-slash" | "handshake-slash" | "hanukiah" | "hard-drive" | "hard-hat" | "hard-of-hearing" | "hashtag" | "hat-cowboy" | "hat-cowboy-side" | "hat-hard" | "hat-wizard" | "haykal" | "hdd" | "head-side-cough" | "head-side-cough-slash" | "head-side-mask" | "head-side-virus" | "header" | "heading" | "headphones" | "headphones-alt" | "headphones-simple" | "headset" | "heart" | "heart-broken" | "heart-circle-bolt" | "heart-circle-check" | "heart-circle-exclamation" | "heart-circle-minus" | "heart-circle-plus" | "heart-circle-xmark" | "heart-crack" | "heart-music-camera-bolt" | "heart-pulse" | "heartbeat" | "helicopter" | "helicopter-symbol" | "helmet-safety" | "helmet-un" | "hexagon-nodes" | "hexagon-nodes-bolt" | "highlighter" | "hiking" | "hill-avalanche" | "hill-rockslide" | "hippo" | "history" | "hockey-puck" | "holly-berry" | "home" | "home-alt" | "home-lg" | "home-lg-alt" | "home-user" | "horse" | "horse-head" | "hospital" | "hospital-alt" | "hospital-symbol" | "hospital-user" | "hospital-wide" | "hot-tub" | "hot-tub-person" | "hotdog" | "hotel" | "hourglass" | "hourglass-1" | "hourglass-2" | "hourglass-3" | "hourglass-empty" | "hourglass-end" | "hourglass-half" | "hourglass-start" | "house" | "house-chimney" | "house-chimney-crack" | "house-chimney-medical" | "house-chimney-user" | "house-chimney-window" | "house-circle-check" | "house-circle-exclamation" | "house-circle-xmark" | "house-crack" | "house-damage" | "house-fire" | "house-flag" | "house-flood-water" | "house-flood-water-circle-arrow-right" | "house-laptop" | "house-lock" | "house-medical" | "house-medical-circle-check" | "house-medical-circle-exclamation" | "house-medical-circle-xmark" | "house-medical-flag" | "house-signal" | "house-tsunami" | "house-user" | "hryvnia" | "hryvnia-sign" | "hurricane" | "i" | "i-cursor" | "ice-cream" | "icicles" | "icons" | "id-badge" | "id-card" | "id-card-alt" | "id-card-clip" | "igloo" | "ils" | "image" | "image-portrait" | "images" | "inbox" | "indent" | "indian-rupee" | "indian-rupee-sign" | "industry" | "infinity" | "info" | "info-circle" | "inr" | "institution" | "italic" | "j" | "jar" | "jar-wheat" | "jedi" | "jet-fighter" | "jet-fighter-up" | "joint" | "journal-whills" | "jpy" | "jug-detergent" | "k" | "kaaba" | "key" | "keyboard" | "khanda" | "kip-sign" | "kiss" | "kiss-beam" | "kiss-wink-heart" | "kit-medical" | "kitchen-set" | "kiwi-bird" | "krw" | "l" | "ladder-water" | "land-mine-on" | "landmark" | "landmark-alt" | "landmark-dome" | "landmark-flag" | "language" | "laptop" | "laptop-code" | "laptop-file" | "laptop-house" | "laptop-medical" | "lari-sign" | "laugh" | "laugh-beam" | "laugh-squint" | "laugh-wink" | "layer-group" | "leaf" | "left-long" | "left-right" | "legal" | "lemon" | "less-than" | "less-than-equal" | "level-down" | "level-down-alt" | "level-up" | "level-up-alt" | "life-ring" | "lightbulb" | "line-chart" | "lines-leaning" | "link" | "link-slash" | "lira-sign" | "list" | "list-1-2" | "list-alt" | "list-check" | "list-dots" | "list-numeric" | "list-ol" | "list-squares" | "list-ul" | "litecoin-sign" | "location" | "location-arrow" | "location-crosshairs" | "location-dot" | "location-pin" | "location-pin-lock" | "lock" | "lock-open" | "locust" | "long-arrow-alt-down" | "long-arrow-alt-left" | "long-arrow-alt-right" | "long-arrow-alt-up" | "long-arrow-down" | "long-arrow-left" | "long-arrow-right" | "long-arrow-up" | "low-vision" | "luggage-cart" | "lungs" | "lungs-virus" | "m" | "magic" | "magic-wand-sparkles" | "magnet" | "magnifying-glass" | "magnifying-glass-arrow-right" | "magnifying-glass-chart" | "magnifying-glass-dollar" | "magnifying-glass-location" | "magnifying-glass-minus" | "magnifying-glass-plus" | "mail-bulk" | "mail-forward" | "mail-reply" | "mail-reply-all" | "male" | "manat-sign" | "map" | "map-location" | "map-location-dot" | "map-marked" | "map-marked-alt" | "map-marker" | "map-marker-alt" | "map-pin" | "map-signs" | "marker" | "mars" | "mars-and-venus" | "mars-and-venus-burst" | "mars-double" | "mars-stroke" | "mars-stroke-h" | "mars-stroke-right" | "mars-stroke-up" | "mars-stroke-v" | "martini-glass" | "martini-glass-citrus" | "martini-glass-empty" | "mask" | "mask-face" | "mask-ventilator" | "masks-theater" | "mattress-pillow" | "maximize" | "medal" | "medkit" | "meh" | "meh-blank" | "meh-rolling-eyes" | "memory" | "menorah" | "mercury" | "message" | "meteor" | "microchip" | "microphone" | "microphone-alt" | "microphone-alt-slash" | "microphone-lines" | "microphone-lines-slash" | "microphone-slash" | "microscope" | "mill-sign" | "minimize" | "minus" | "minus-circle" | "minus-square" | "mitten" | "mobile" | "mobile-alt" | "mobile-android" | "mobile-android-alt" | "mobile-button" | "mobile-phone" | "mobile-retro" | "mobile-screen" | "mobile-screen-button" | "money-bill" | "money-bill-1" | "money-bill-1-wave" | "money-bill-alt" | "money-bill-transfer" | "money-bill-trend-up" | "money-bill-wave" | "money-bill-wave-alt" | "money-bill-wheat" | "money-bills" | "money-check" | "money-check-alt" | "money-check-dollar" | "monument" | "moon" | "mortar-board" | "mortar-pestle" | "mosque" | "mosquito" | "mosquito-net" | "motorcycle" | "mound" | "mountain" | "mountain-city" | "mountain-sun" | "mouse" | "mouse-pointer" | "mug-hot" | "mug-saucer" | "multiply" | "museum" | "music" | "n" | "naira-sign" | "navicon" | "network-wired" | "neuter" | "newspaper" | "not-equal" | "notdef" | "note-sticky" | "notes-medical" | "o" | "object-group" | "object-ungroup" | "oil-can" | "oil-well" | "om" | "otter" | "outdent" | "p" | "pager" | "paint-brush" | "paint-roller" | "paintbrush" | "palette" | "pallet" | "panorama" | "paper-plane" | "paperclip" | "parachute-box" | "paragraph" | "parking" | "passport" | "pastafarianism" | "paste" | "pause" | "pause-circle" | "paw" | "peace" | "pen" | "pen-alt" | "pen-clip" | "pen-fancy" | "pen-nib" | "pen-ruler" | "pen-square" | "pen-to-square" | "pencil" | "pencil-alt" | "pencil-ruler" | "pencil-square" | "people-arrows" | "people-arrows-left-right" | "people-carry" | "people-carry-box" | "people-group" | "people-line" | "people-pulling" | "people-robbery" | "people-roof" | "pepper-hot" | "percent" | "percentage" | "person" | "person-arrow-down-to-line" | "person-arrow-up-from-line" | "person-biking" | "person-booth" | "person-breastfeeding" | "person-burst" | "person-cane" | "person-chalkboard" | "person-circle-check" | "person-circle-exclamation" | "person-circle-minus" | "person-circle-plus" | "person-circle-question" | "person-circle-xmark" | "person-digging" | "person-dots-from-line" | "person-dress" | "person-dress-burst" | "person-drowning" | "person-falling" | "person-falling-burst" | "person-half-dress" | "person-harassing" | "person-hiking" | "person-military-pointing" | "person-military-rifle" | "person-military-to-person" | "person-praying" | "person-pregnant" | "person-rays" | "person-rifle" | "person-running" | "person-shelter" | "person-skating" | "person-skiing" | "person-skiing-nordic" | "person-snowboarding" | "person-swimming" | "person-through-window" | "person-walking" | "person-walking-arrow-loop-left" | "person-walking-arrow-right" | "person-walking-dashed-line-arrow-right" | "person-walking-luggage" | "person-walking-with-cane" | "peseta-sign" | "peso-sign" | "phone" | "phone-alt" | "phone-flip" | "phone-slash" | "phone-square" | "phone-square-alt" | "phone-volume" | "photo-film" | "photo-video" | "pie-chart" | "piggy-bank" | "pills" | "ping-pong-paddle-ball" | "pizza-slice" | "place-of-worship" | "plane" | "plane-arrival" | "plane-circle-check" | "plane-circle-exclamation" | "plane-circle-xmark" | "plane-departure" | "plane-lock" | "plane-slash" | "plane-up" | "plant-wilt" | "plate-wheat" | "play" | "play-circle" | "plug" | "plug-circle-bolt" | "plug-circle-check" | "plug-circle-exclamation" | "plug-circle-minus" | "plug-circle-plus" | "plug-circle-xmark" | "plus" | "plus-circle" | "plus-minus" | "plus-square" | "podcast" | "poll" | "poll-h" | "poo" | "poo-bolt" | "poo-storm" | "poop" | "portrait" | "pound-sign" | "power-off" | "pray" | "praying-hands" | "prescription" | "prescription-bottle" | "prescription-bottle-alt" | "prescription-bottle-medical" | "print" | "procedures" | "project-diagram" | "pump-medical" | "pump-soap" | "puzzle-piece" | "q" | "qrcode" | "question" | "question-circle" | "quidditch" | "quidditch-broom-ball" | "quote-left" | "quote-left-alt" | "quote-right" | "quote-right-alt" | "quran" | "r" | "radiation" | "radiation-alt" | "radio" | "rainbow" | "random" | "ranking-star" | "receipt" | "record-vinyl" | "rectangle-ad" | "rectangle-list" | "rectangle-times" | "rectangle-xmark" | "recycle" | "redo" | "redo-alt" | "refresh" | "registered" | "remove" | "remove-format" | "reorder" | "repeat" | "reply" | "reply-all" | "republican" | "restroom" | "retweet" | "ribbon" | "right-from-bracket" | "right-left" | "right-long" | "right-to-bracket" | "ring" | "rmb" | "road" | "road-barrier" | "road-bridge" | "road-circle-check" | "road-circle-exclamation" | "road-circle-xmark" | "road-lock" | "road-spikes" | "robot" | "rocket" | "rod-asclepius" | "rod-snake" | "rotate" | "rotate-back" | "rotate-backward" | "rotate-forward" | "rotate-left" | "rotate-right" | "rouble" | "route" | "rss" | "rss-square" | "rub" | "ruble" | "ruble-sign" | "rug" | "ruler" | "ruler-combined" | "ruler-horizontal" | "ruler-vertical" | "running" | "rupee" | "rupee-sign" | "rupiah-sign" | "s" | "sack-dollar" | "sack-xmark" | "sad-cry" | "sad-tear" | "sailboat" | "satellite" | "satellite-dish" | "save" | "scale-balanced" | "scale-unbalanced" | "scale-unbalanced-flip" | "school" | "school-circle-check" | "school-circle-exclamation" | "school-circle-xmark" | "school-flag" | "school-lock" | "scissors" | "screwdriver" | "screwdriver-wrench" | "scroll" | "scroll-torah" | "sd-card" | "search" | "search-dollar" | "search-location" | "search-minus" | "search-plus" | "section" | "seedling" | "server" | "shapes" | "share" | "share-alt" | "share-alt-square" | "share-from-square" | "share-nodes" | "share-square" | "sheet-plastic" | "shekel" | "shekel-sign" | "sheqel" | "sheqel-sign" | "shield" | "shield-alt" | "shield-blank" | "shield-cat" | "shield-dog" | "shield-halved" | "shield-heart" | "shield-virus" | "ship" | "shipping-fast" | "shirt" | "shoe-prints" | "shop" | "shop-lock" | "shop-slash" | "shopping-bag" | "shopping-basket" | "shopping-cart" | "shower" | "shrimp" | "shuffle" | "shuttle-space" | "shuttle-van" | "sign" | "sign-hanging" | "sign-in" | "sign-in-alt" | "sign-language" | "sign-out" | "sign-out-alt" | "signal" | "signal-5" | "signal-perfect" | "signature" | "signing" | "signs-post" | "sim-card" | "sink" | "sitemap" | "skating" | "skiing" | "skiing-nordic" | "skull" | "skull-crossbones" | "slash" | "sleigh" | "sliders" | "sliders-h" | "smile" | "smile-beam" | "smile-wink" | "smog" | "smoking" | "smoking-ban" | "sms" | "snowboarding" | "snowflake" | "snowman" | "snowplow" | "soap" | "soccer-ball" | "socks" | "solar-panel" | "sort" | "sort-alpha-asc" | "sort-alpha-desc" | "sort-alpha-down" | "sort-alpha-down-alt" | "sort-alpha-up" | "sort-alpha-up-alt" | "sort-amount-asc" | "sort-amount-desc" | "sort-amount-down" | "sort-amount-down-alt" | "sort-amount-up" | "sort-amount-up-alt" | "sort-asc" | "sort-desc" | "sort-down" | "sort-numeric-asc" | "sort-numeric-desc" | "sort-numeric-down" | "sort-numeric-down-alt" | "sort-numeric-up" | "sort-numeric-up-alt" | "sort-up" | "spa" | "space-shuttle" | "spaghetti-monster-flying" | "spell-check" | "spider" | "spinner" | "splotch" | "spoon" | "spray-can" | "spray-can-sparkles" | "sprout" | "square" | "square-arrow-up-right" | "square-binary" | "square-caret-down" | "square-caret-left" | "square-caret-right" | "square-caret-up" | "square-check" | "square-envelope" | "square-full" | "square-h" | "square-minus" | "square-nfi" | "square-parking" | "square-pen" | "square-person-confined" | "square-phone" | "square-phone-flip" | "square-plus" | "square-poll-horizontal" | "square-poll-vertical" | "square-root-alt" | "square-root-variable" | "square-rss" | "square-share-nodes" | "square-up-right" | "square-virus" | "square-xmark" | "staff-aesculapius" | "staff-snake" | "stairs" | "stamp" | "stapler" | "star" | "star-and-crescent" | "star-half" | "star-half-alt" | "star-half-stroke" | "star-of-david" | "star-of-life" | "step-backward" | "step-forward" | "sterling-sign" | "stethoscope" | "sticky-note" | "stop" | "stop-circle" | "stopwatch" | "stopwatch-20" | "store" | "store-alt" | "store-alt-slash" | "store-slash" | "stream" | "street-view" | "strikethrough" | "stroopwafel" | "subscript" | "subtract" | "subway" | "suitcase" | "suitcase-medical" | "suitcase-rolling" | "sun" | "sun-plant-wilt" | "superscript" | "surprise" | "swatchbook" | "swimmer" | "swimming-pool" | "synagogue" | "sync" | "sync-alt" | "syringe" | "t" | "t-shirt" | "table" | "table-cells" | "table-cells-column-lock" | "table-cells-large" | "table-cells-row-lock" | "table-cells-row-unlock" | "table-columns" | "table-list" | "table-tennis" | "table-tennis-paddle-ball" | "tablet" | "tablet-alt" | "tablet-android" | "tablet-button" | "tablet-screen-button" | "tablets" | "tachograph-digital" | "tachometer" | "tachometer-alt" | "tachometer-alt-average" | "tachometer-alt-fast" | "tachometer-average" | "tachometer-fast" | "tag" | "tags" | "tanakh" | "tape" | "tarp" | "tarp-droplet" | "tasks" | "tasks-alt" | "taxi" | "teeth" | "teeth-open" | "teletype" | "television" | "temperature-0" | "temperature-1" | "temperature-2" | "temperature-3" | "temperature-4" | "temperature-arrow-down" | "temperature-arrow-up" | "temperature-down" | "temperature-empty" | "temperature-full" | "temperature-half" | "temperature-high" | "temperature-low" | "temperature-quarter" | "temperature-three-quarters" | "temperature-up" | "tenge" | "tenge-sign" | "tent" | "tent-arrow-down-to-line" | "tent-arrow-left-right" | "tent-arrow-turn-left" | "tent-arrows-down" | "tents" | "terminal" | "text-height" | "text-slash" | "text-width" | "th" | "th-large" | "th-list" | "theater-masks" | "thermometer" | "thermometer-0" | "thermometer-1" | "thermometer-2" | "thermometer-3" | "thermometer-4" | "thermometer-empty" | "thermometer-full" | "thermometer-half" | "thermometer-quarter" | "thermometer-three-quarters" | "thumb-tack" | "thumb-tack-slash" | "thumbs-down" | "thumbs-up" | "thumbtack" | "thumbtack-slash" | "thunderstorm" | "ticket" | "ticket-alt" | "ticket-simple" | "timeline" | "times" | "times-circle" | "times-rectangle" | "times-square" | "tint" | "tint-slash" | "tired" | "toggle-off" | "toggle-on" | "toilet" | "toilet-paper" | "toilet-paper-slash" | "toilet-portable" | "toilets-portable" | "toolbox" | "tools" | "tooth" | "torah" | "torii-gate" | "tornado" | "tower-broadcast" | "tower-cell" | "tower-observation" | "tractor" | "trademark" | "traffic-light" | "trailer" | "train" | "train-subway" | "train-tram" | "tram" | "transgender" | "transgender-alt" | "trash" | "trash-alt" | "trash-arrow-up" | "trash-can" | "trash-can-arrow-up" | "trash-restore" | "trash-restore-alt" | "tree" | "tree-city" | "triangle-circle-square" | "triangle-exclamation" | "trophy" | "trowel" | "trowel-bricks" | "truck" | "truck-arrow-right" | "truck-droplet" | "truck-fast" | "truck-field" | "truck-field-un" | "truck-front" | "truck-loading" | "truck-medical" | "truck-monster" | "truck-moving" | "truck-pickup" | "truck-plane" | "truck-ramp-box" | "try" | "tshirt" | "tty" | "turkish-lira" | "turkish-lira-sign" | "turn-down" | "turn-up" | "tv" | "tv-alt" | "u" | "umbrella" | "umbrella-beach" | "underline" | "undo" | "undo-alt" | "universal-access" | "university" | "unlink" | "unlock" | "unlock-alt" | "unlock-keyhole" | "unsorted" | "up-down" | "up-down-left-right" | "up-long" | "up-right-and-down-left-from-center" | "up-right-from-square" | "upload" | "usd" | "user" | "user-alt" | "user-alt-slash" | "user-astronaut" | "user-check" | "user-circle" | "user-clock" | "user-cog" | "user-doctor" | "user-edit" | "user-friends" | "user-gear" | "user-graduate" | "user-group" | "user-injured" | "user-large" | "user-large-slash" | "user-lock" | "user-md" | "user-minus" | "user-ninja" | "user-nurse" | "user-pen" | "user-plus" | "user-secret" | "user-shield" | "user-slash" | "user-tag" | "user-tie" | "user-times" | "user-xmark" | "users" | "users-between-lines" | "users-cog" | "users-gear" | "users-line" | "users-rays" | "users-rectangle" | "users-slash" | "users-viewfinder" | "utensil-spoon" | "utensils" | "v" | "van-shuttle" | "vault" | "vcard" | "vector-square" | "venus" | "venus-double" | "venus-mars" | "vest" | "vest-patches" | "vial" | "vial-circle-check" | "vial-virus" | "vials" | "video" | "video-camera" | "video-slash" | "vihara" | "virus" | "virus-covid" | "virus-covid-slash" | "virus-slash" | "viruses" | "voicemail" | "volcano" | "volleyball" | "volleyball-ball" | "volume-control-phone" | "volume-down" | "volume-high" | "volume-low" | "volume-mute" | "volume-off" | "volume-times" | "volume-up" | "volume-xmark" | "vote-yea" | "vr-cardboard" | "w" | "walkie-talkie" | "walking" | "wallet" | "wand-magic" | "wand-magic-sparkles" | "wand-sparkles" | "warehouse" | "warning" | "water" | "water-ladder" | "wave-square" | "web-awesome" | "weight" | "weight-hanging" | "weight-scale" | "wheat-alt" | "wheat-awn" | "wheat-awn-circle-exclamation" | "wheelchair" | "wheelchair-alt" | "wheelchair-move" | "whiskey-glass" | "wifi" | "wifi-3" | "wifi-strong" | "wind" | "window-close" | "window-maximize" | "window-minimize" | "window-restore" | "wine-bottle" | "wine-glass" | "wine-glass-alt" | "wine-glass-empty" | "won" | "won-sign" | "worm" | "wrench" | "x" | "x-ray" | "xmark" | "xmark-circle" | "xmark-square" | "xmarks-lines" | "y" | "yen" | "yen-sign" | "yin-yang" | "z" | "zap";
55
+ export {};
@@ -0,0 +1,8 @@
1
+ import { type App } from 'vue';
2
+ declare const createMorghulisLib: (baseURL?: string) => {
3
+ install(Vue: App): void;
4
+ };
5
+ export { createMorghulisLib };
6
+ export * from './core';
7
+ export * from './data';
8
+ export * from './utils';
@@ -0,0 +1,5 @@
1
+ import type { ChannelConnection, ChannelHub } from "./core/channel/types";
2
+ export declare function installLib(baseURL: string): {
3
+ hub: ChannelHub;
4
+ connection: ChannelConnection;
5
+ };
@@ -0,0 +1,10 @@
1
+ import type { Aoa, Separator } from "./types";
2
+ import type { DataItem } from "../../data";
3
+ export declare function useAoa(separator?: Separator): {
4
+ fromText: (text: string) => Aoa;
5
+ toText: (aoa: Aoa) => string;
6
+ toPlain: (aoa: Aoa, withHeader?: boolean) => {
7
+ columns: any;
8
+ data: DataItem[];
9
+ };
10
+ };
@@ -0,0 +1,2 @@
1
+ export { useAoa } from './hooks';
2
+ export type { Aoa } from './types';