keli-ui 0.2.18 → 0.3.1

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 (260) hide show
  1. package/dist/ApprovalRecord-4ohFAtSZ.js +111 -0
  2. package/dist/ApprovalRecord-4ohFAtSZ.js.map +1 -0
  3. package/dist/api-Gtg77a-p.js +4507 -0
  4. package/dist/api-Gtg77a-p.js.map +1 -0
  5. package/dist/components/AppComponent/AppFormRender.vue.d.ts +74 -0
  6. package/dist/components/AppComponent/AppTableRender.vue.d.ts +16 -0
  7. package/dist/components/AppComponent/components/ApprovalRecord.vue.d.ts +20 -0
  8. package/dist/components/AppComponent/components/DialogForm.vue.d.ts +22 -0
  9. package/dist/components/AppComponent/components/DrawerForm.vue.d.ts +22 -0
  10. package/dist/components/AppComponent/components/FileIsland.vue.d.ts +21 -0
  11. package/dist/components/AppComponent/components/FlowUserDialog.vue.d.ts +13 -0
  12. package/dist/components/AppComponent/components/chartList/ChartRender.vue.d.ts +17 -0
  13. package/dist/components/AppComponent/components/chartList/index.d.ts +1 -0
  14. package/dist/components/AppComponent/components/chartList/index.vue.d.ts +4 -0
  15. package/dist/components/AppComponent/components/embedded/EmbeddedDialogForm.vue.d.ts +46 -0
  16. package/dist/components/AppComponent/components/embedded/EmbeddedTable.vue.d.ts +16 -0
  17. package/dist/components/AppComponent/hooks/useAutoForm.hook.d.ts +9 -0
  18. package/dist/components/AppComponent/hooks/useSplitApiButton.d.ts +13 -0
  19. package/dist/components/AppComponent/hooks/useTable.hook.d.ts +134 -0
  20. package/dist/components/AppComponent/index.d.ts +4 -0
  21. package/dist/components/ElPlusComponent/ElButtonPlus/ElButtonPlus.vue.d.ts +32 -0
  22. package/dist/components/ElPlusComponent/ElButtonPlus/index.d.ts +3 -0
  23. package/dist/components/ElPlusComponent/ElColPlus/ElColPlus.vue.d.ts +49 -0
  24. package/dist/components/ElPlusComponent/ElColPlus/index.d.ts +3 -0
  25. package/dist/components/ElPlusComponent/ElRowPlus/ElRowPlus.vue.d.ts +53 -0
  26. package/dist/components/ElPlusComponent/ElRowPlus/index.d.ts +3 -0
  27. package/dist/components/ElPlusComponent/index.d.ts +3 -0
  28. package/dist/components/FormComponent/DynamicMapTable/DynamicMapTable.vue.d.ts +21 -0
  29. package/dist/components/FormComponent/DynamicMapTable/index.d.ts +3 -0
  30. package/dist/components/FormComponent/FormCascaderAsync/FormCascaderAsync.vue.d.ts +34 -0
  31. package/dist/components/FormComponent/FormCascaderAsync/index.d.ts +3 -0
  32. package/dist/components/FormComponent/FormCheckBox/FormCheckBox.vue.d.ts +37 -0
  33. package/dist/components/FormComponent/FormCheckBox/index.d.ts +3 -0
  34. package/dist/components/FormComponent/FormCheckBoxAsync/FormCheckBoxAsync.vue.d.ts +37 -0
  35. package/dist/components/FormComponent/FormCheckBoxAsync/index.d.ts +3 -0
  36. package/dist/components/FormComponent/FormCodeEditor/FormCodeEditor.vue.d.ts +35 -0
  37. package/dist/components/FormComponent/FormCodeEditor/index.d.ts +3 -0
  38. package/dist/components/FormComponent/FormCodeEditor/language/java.d.ts +72 -0
  39. package/dist/components/FormComponent/FormCodeEditor/language/mysql.d.ts +80 -0
  40. package/dist/components/FormComponent/FormCodeEditor/language/postgresql.d.ts +6 -0
  41. package/dist/components/FormComponent/FormCodeEditor/volar/setup.d.ts +2 -0
  42. package/dist/components/FormComponent/FormDatePicker/FormDatePicker.vue.d.ts +32 -0
  43. package/dist/components/FormComponent/FormDatePicker/index.d.ts +3 -0
  44. package/dist/components/FormComponent/FormDateTimePicker/FormDateTimePicker.vue.d.ts +36 -0
  45. package/dist/components/FormComponent/FormDateTimePicker/index.d.ts +3 -0
  46. package/dist/components/FormComponent/FormDictSelector/FormDictSelector.vue.d.ts +32 -0
  47. package/dist/components/FormComponent/FormDictSelector/index.d.ts +3 -0
  48. package/dist/components/FormComponent/FormDivider/FormDivider.vue.d.ts +35 -0
  49. package/dist/components/FormComponent/FormDivider/index.d.ts +3 -0
  50. package/dist/components/FormComponent/FormDynamicTable/FormDynamicTable.vue.d.ts +26 -0
  51. package/dist/components/FormComponent/FormDynamicTable/index.d.ts +3 -0
  52. package/dist/components/FormComponent/FormFieldset/FormFieldset.vue.d.ts +75 -0
  53. package/dist/components/FormComponent/FormFieldset/index.d.ts +3 -0
  54. package/dist/components/FormComponent/FormIconPicker/FormIconPicker.vue.d.ts +16 -0
  55. package/dist/components/FormComponent/FormIconPicker/index.d.ts +3 -0
  56. package/dist/components/FormComponent/FormInput/FormInput.vue.d.ts +36 -0
  57. package/dist/components/FormComponent/FormInput/index.d.ts +3 -0
  58. package/dist/components/FormComponent/FormInputNumber/FormInputNumber.vue.d.ts +26 -0
  59. package/dist/components/FormComponent/FormInputNumber/index.d.ts +3 -0
  60. package/dist/components/FormComponent/FormRadio/FormRadio.vue.d.ts +32 -0
  61. package/dist/components/FormComponent/FormRadio/index.d.ts +3 -0
  62. package/dist/components/FormComponent/FormRender/FormRender.vue.d.ts +81 -0
  63. package/dist/components/FormComponent/FormRender/components/FormAreaRender.vue.d.ts +67 -0
  64. package/dist/{types/packages/FormComponents → components/FormComponent}/FormRender/hooks/formRender.hook.d.ts +14 -21
  65. package/dist/components/FormComponent/FormRender/index.d.ts +3 -0
  66. package/dist/components/FormComponent/FormSelect/FormSelect.vue.d.ts +34 -0
  67. package/dist/components/FormComponent/FormSelect/index.d.ts +3 -0
  68. package/dist/components/FormComponent/FormSelectAsync/FormSelectAsync.vue.d.ts +44 -0
  69. package/dist/components/FormComponent/FormSelectAsync/index.d.ts +3 -0
  70. package/dist/components/FormComponent/FormSelectRemote/FormSelectRemote.vue.d.ts +44 -0
  71. package/dist/components/FormComponent/FormSelectRemote/index.d.ts +3 -0
  72. package/dist/components/FormComponent/FormSwitch/FormSwitch.vue.d.ts +34 -0
  73. package/dist/components/FormComponent/FormSwitch/index.d.ts +3 -0
  74. package/dist/components/FormComponent/FormTableSelect/FormTableSelect.vue.d.ts +32 -0
  75. package/dist/components/FormComponent/FormTableSelect/index.d.ts +3 -0
  76. package/dist/components/FormComponent/FormTableSelectAsync/FormTableSelectAsync.vue.d.ts +44 -0
  77. package/dist/components/FormComponent/FormTableSelectAsync/index.d.ts +3 -0
  78. package/dist/components/FormComponent/FormText/FormText.vue.d.ts +26 -0
  79. package/dist/components/FormComponent/FormText/index.d.ts +3 -0
  80. package/dist/components/FormComponent/FormTextArea/FormTextArea.vue.d.ts +34 -0
  81. package/dist/components/FormComponent/FormTextArea/index.d.ts +3 -0
  82. package/dist/components/FormComponent/hooks/selectAsync.hook.d.ts +30 -0
  83. package/dist/{types/packages/TableComponents/utils/dataFormatter.d.ts → components/FormComponent/hooks/useColumnRender.hook.d.ts} +8 -2
  84. package/dist/components/FormComponent/index.d.ts +24 -0
  85. package/dist/components/QueryComponent/QueryBar/QueryBar.vue.d.ts +51 -0
  86. package/dist/components/QueryComponent/QueryBar/index.d.ts +3 -0
  87. package/dist/components/QueryComponent/QueryDateTime/QueryDateTime.vue.d.ts +12 -0
  88. package/dist/components/QueryComponent/QueryDateTime/index.d.ts +3 -0
  89. package/dist/components/QueryComponent/QueryInput/QueryInput.vue.d.ts +12 -0
  90. package/dist/components/QueryComponent/QueryInput/index.d.ts +3 -0
  91. package/dist/components/QueryComponent/QueryInputLike/QueryInputLike.vue.d.ts +12 -0
  92. package/dist/components/QueryComponent/QueryInputLike/index.d.ts +3 -0
  93. package/dist/components/QueryComponent/QuerySelect/QuerySelect.vue.d.ts +22 -0
  94. package/dist/components/QueryComponent/QuerySelect/index.d.ts +3 -0
  95. package/dist/components/QueryComponent/QueryTreeFilter/QueryTreeFilter.d.ts +14 -0
  96. package/dist/components/QueryComponent/QueryTreeFilter/QueryTreeFilter.vue.d.ts +22 -0
  97. package/dist/components/QueryComponent/QueryTreeFilter/index.d.ts +3 -0
  98. package/dist/components/QueryComponent/index.d.ts +6 -0
  99. package/dist/components/TableComponent/TableCardRender/TableCardRender.vue.d.ts +99 -0
  100. package/dist/components/TableComponent/TableCardRender/index.d.ts +3 -0
  101. package/dist/components/TableComponent/TableCheckBoxAsync/TableCheckBoxAsync.vue.d.ts +53 -0
  102. package/dist/components/TableComponent/TableCheckBoxAsync/index.d.ts +3 -0
  103. package/dist/components/TableComponent/TableCheckBoxAsync/type.d.ts +5 -0
  104. package/dist/components/TableComponent/TableInput/TableInput.vue.d.ts +30 -0
  105. package/dist/components/TableComponent/TableInput/index.d.ts +3 -0
  106. package/dist/components/TableComponent/TableInputNumber/TableInputNumber.vue.d.ts +39 -0
  107. package/dist/components/TableComponent/TableInputNumber/index.d.ts +3 -0
  108. package/dist/components/TableComponent/TableListSelect/TableListSelect.vue.d.ts +32 -0
  109. package/dist/components/TableComponent/TableListSelect/index.d.ts +3 -0
  110. package/dist/components/TableComponent/TableRender/TableRender.vue.d.ts +103 -0
  111. package/dist/components/TableComponent/TableRender/hooks/useVxeGrid.hook.d.ts +29 -0
  112. package/dist/components/TableComponent/TableRender/index.d.ts +3 -0
  113. package/dist/components/TableComponent/TableRender/plugin/vxe-table-clipboard.d.ts +73 -0
  114. package/dist/components/TableComponent/TableSelect/TableSelect.vue.d.ts +41 -0
  115. package/dist/components/TableComponent/TableSelect/index.d.ts +3 -0
  116. package/dist/components/TableComponent/TableSelectAsync/TableSelectAsync.vue.d.ts +32 -0
  117. package/dist/components/TableComponent/TableSelectAsync/index.d.ts +3 -0
  118. package/dist/components/TableComponent/TableSwitch/TableSwitch.vue.d.ts +32 -0
  119. package/dist/components/TableComponent/TableSwitch/index.d.ts +3 -0
  120. package/dist/components/TableComponent/index.d.ts +9 -0
  121. package/dist/components/ToolBar/ToolBar.vue.d.ts +24 -0
  122. package/dist/components/ToolBar/index.d.ts +3 -0
  123. package/dist/components/index.d.ts +6 -0
  124. package/dist/config/appRouter.config.d.ts +6 -0
  125. package/dist/config/index.d.ts +170 -0
  126. package/dist/config/moduleCache.d.ts +14 -0
  127. package/dist/config/pageTableConfig.d.ts +8 -0
  128. package/dist/hooks/index.d.ts +1 -0
  129. package/dist/hooks/useButtonExec.hook.d.ts +9 -0
  130. package/dist/hooks/useRemoteComponentManager.hook.d.ts +23 -0
  131. package/dist/hooks/useTableFormats.hook.d.ts +4 -0
  132. package/dist/index.d.ts +16 -0
  133. package/dist/java-BrZSNBDG.js +2603 -0
  134. package/dist/java-BrZSNBDG.js.map +1 -0
  135. package/dist/keli-ui.css +2 -1
  136. package/dist/keli-ui.js +68027 -7366
  137. package/dist/keli-ui.js.map +1 -0
  138. package/dist/keli-ui.umd.cjs +2577 -1
  139. package/dist/keli-ui.umd.cjs.map +1 -0
  140. package/dist/mysql-BJR6iO89.js +923 -0
  141. package/dist/mysql-BJR6iO89.js.map +1 -0
  142. package/dist/postgresql-CLVUxiA0.js +2375 -0
  143. package/dist/postgresql-CLVUxiA0.js.map +1 -0
  144. package/dist/types/api/app.req.d.ts +23 -0
  145. package/dist/types/api/app.res.d.ts +79 -0
  146. package/dist/types/api/appTable.api.res.d.ts +22 -0
  147. package/dist/types/api/index.d.ts +34 -0
  148. package/dist/types/app.d.ts +5 -0
  149. package/dist/types/assets.d.ts +4 -0
  150. package/dist/types/button.d.ts +43 -0
  151. package/dist/types/cacheValue.d.ts +32 -0
  152. package/dist/types/chart.d.ts +31 -0
  153. package/dist/types/common.d.ts +5 -0
  154. package/dist/types/componentFrame.d.ts +24 -0
  155. package/dist/types/flowButton.d.ts +7 -0
  156. package/dist/types/formFrame.d.ts +299 -0
  157. package/dist/types/global-components.d.ts +61 -0
  158. package/dist/types/index.d.ts +12 -0
  159. package/dist/types/queryFrame.d.ts +36 -0
  160. package/dist/types/tableFrame.d.ts +196 -0
  161. package/dist/types/{packages/types/translate.d.ts → translate.d.ts} +19 -19
  162. package/dist/types/vue3-sfc-loader.d.ts +19 -0
  163. package/dist/{types/utils → utils}/arrayUtils.d.ts +13 -0
  164. package/dist/utils/baseFunction.d.ts +10 -0
  165. package/dist/{types/utils → utils}/dataFormatter.d.ts +23 -3
  166. package/dist/utils/emitter.d.ts +7 -0
  167. package/dist/utils/formValidates.d.ts +28 -0
  168. package/dist/utils/index.d.ts +9 -0
  169. package/dist/{types/utils → utils}/msgTips.d.ts +2 -7
  170. package/dist/utils/validate.d.ts +5 -0
  171. package/package.json +80 -63
  172. package/LICENSE +0 -201
  173. package/README.md +0 -5
  174. package/dist/types/lib/index.d.ts +0 -1
  175. package/dist/types/lib/useButtonExec.d.ts +0 -8
  176. package/dist/types/packages/FormComponents/FormCascaderAsync/FormCascaderAsync.vue.d.ts +0 -2
  177. package/dist/types/packages/FormComponents/FormCascaderAsync/index.d.ts +0 -2
  178. package/dist/types/packages/FormComponents/FormCheckBox/FormCheckBox.vue.d.ts +0 -2
  179. package/dist/types/packages/FormComponents/FormCheckBox/index.d.ts +0 -2
  180. package/dist/types/packages/FormComponents/FormCheckBoxAsync/FormCheckBoxAsync.vue.d.ts +0 -2
  181. package/dist/types/packages/FormComponents/FormCheckBoxAsync/index.d.ts +0 -2
  182. package/dist/types/packages/FormComponents/FormDatePicker/FormDatePickerClient.vue.d.ts +0 -2
  183. package/dist/types/packages/FormComponents/FormDatePicker/FormDatePickerMobile.vue.d.ts +0 -2
  184. package/dist/types/packages/FormComponents/FormDatePicker/index.d.ts +0 -3
  185. package/dist/types/packages/FormComponents/FormDateTimePicker/FormDateTimePickerClient.vue.d.ts +0 -2
  186. package/dist/types/packages/FormComponents/FormDateTimePicker/FormDateTimePickerMobile.vue.d.ts +0 -2
  187. package/dist/types/packages/FormComponents/FormDateTimePicker/index.d.ts +0 -3
  188. package/dist/types/packages/FormComponents/FormDivider/FormDivider.vue.d.ts +0 -2
  189. package/dist/types/packages/FormComponents/FormDivider/index.d.ts +0 -2
  190. package/dist/types/packages/FormComponents/FormDynamicTable/FormDynamicTable.vue.d.ts +0 -2
  191. package/dist/types/packages/FormComponents/FormDynamicTable/index.d.ts +0 -2
  192. package/dist/types/packages/FormComponents/FormInput/FormInput.vue.d.ts +0 -2
  193. package/dist/types/packages/FormComponents/FormInput/index.d.ts +0 -2
  194. package/dist/types/packages/FormComponents/FormInputNumber/FormInputNumber.vue.d.ts +0 -2
  195. package/dist/types/packages/FormComponents/FormInputNumber/index.d.ts +0 -2
  196. package/dist/types/packages/FormComponents/FormRadio/FormRadio.vue.d.ts +0 -2
  197. package/dist/types/packages/FormComponents/FormRadio/index.d.ts +0 -2
  198. package/dist/types/packages/FormComponents/FormRender/FormRenderClient.vue.d.ts +0 -2
  199. package/dist/types/packages/FormComponents/FormRender/FormRenderMobile.vue.d.ts +0 -2
  200. package/dist/types/packages/FormComponents/FormRender/index.d.ts +0 -3
  201. package/dist/types/packages/FormComponents/FormSelect/FormSelectClient.vue.d.ts +0 -2
  202. package/dist/types/packages/FormComponents/FormSelect/index.d.ts +0 -2
  203. package/dist/types/packages/FormComponents/FormSelectAsync/FormSelectAsyncClient.vue.d.ts +0 -2
  204. package/dist/types/packages/FormComponents/FormSelectAsync/index.d.ts +0 -2
  205. package/dist/types/packages/FormComponents/FormSelectRemote/FormSelectRemote.vue.d.ts +0 -2
  206. package/dist/types/packages/FormComponents/FormSelectRemote/index.d.ts +0 -2
  207. package/dist/types/packages/FormComponents/FormSwitch/FormSwitch.vue.d.ts +0 -2
  208. package/dist/types/packages/FormComponents/FormSwitch/index.d.ts +0 -2
  209. package/dist/types/packages/FormComponents/FormTableSelect/FormTableSelect.vue.d.ts +0 -2
  210. package/dist/types/packages/FormComponents/FormTableSelect/index.d.ts +0 -2
  211. package/dist/types/packages/FormComponents/FormTableSelectAsync/FormTableSelectAsync.vue.d.ts +0 -2
  212. package/dist/types/packages/FormComponents/FormTableSelectAsync/index.d.ts +0 -2
  213. package/dist/types/packages/FormComponents/FormText/FormText.vue.d.ts +0 -2
  214. package/dist/types/packages/FormComponents/FormText/index.d.ts +0 -2
  215. package/dist/types/packages/FormComponents/FormTextArea/FormTextArea.vue.d.ts +0 -2
  216. package/dist/types/packages/FormComponents/FormTextArea/index.d.ts +0 -2
  217. package/dist/types/packages/FormComponents/hook/selectAsync.hook.d.ts +0 -19
  218. package/dist/types/packages/QueryComponents/QueryBar/QueryBarClient.vue.d.ts +0 -2
  219. package/dist/types/packages/QueryComponents/QueryBar/index.d.ts +0 -2
  220. package/dist/types/packages/QueryComponents/QueryDateTime/QueryDateTimeClient.vue.d.ts +0 -2
  221. package/dist/types/packages/QueryComponents/QueryDateTime/index.d.ts +0 -2
  222. package/dist/types/packages/QueryComponents/QueryInput/QueryInput.vue.d.ts +0 -2
  223. package/dist/types/packages/QueryComponents/QueryInput/index.d.ts +0 -2
  224. package/dist/types/packages/QueryComponents/QueryInputLike/QueryInputLike.vue.d.ts +0 -2
  225. package/dist/types/packages/QueryComponents/QueryInputLike/index.d.ts +0 -2
  226. package/dist/types/packages/QueryComponents/QuerySelect/QuerySelectClient.vue.d.ts +0 -2
  227. package/dist/types/packages/QueryComponents/QuerySelect/index.d.ts +0 -2
  228. package/dist/types/packages/TableComponents/TableCardRender/TableCardRenderClient.vue.d.ts +0 -2
  229. package/dist/types/packages/TableComponents/TableCardRender/index.d.ts +0 -2
  230. package/dist/types/packages/TableComponents/TableCheckBoxAsync/TableCheckBoxAsync.vue.d.ts +0 -2
  231. package/dist/types/packages/TableComponents/TableCheckBoxAsync/index.d.ts +0 -2
  232. package/dist/types/packages/TableComponents/TableInput/TableInput.vue.d.ts +0 -2
  233. package/dist/types/packages/TableComponents/TableInput/index.d.ts +0 -2
  234. package/dist/types/packages/TableComponents/TableInputNumber/TableInputNumber.vue.d.ts +0 -2
  235. package/dist/types/packages/TableComponents/TableInputNumber/index.d.ts +0 -2
  236. package/dist/types/packages/TableComponents/TableSelect/TableSelect.vue.d.ts +0 -2
  237. package/dist/types/packages/TableComponents/TableSelect/index.d.ts +0 -2
  238. package/dist/types/packages/TableComponents/TableSelectAsync/TableSelectAsync.vue.d.ts +0 -2
  239. package/dist/types/packages/TableComponents/TableSelectAsync/index.d.ts +0 -2
  240. package/dist/types/packages/TableComponents/TableSwitch/TableSwitch.vue.d.ts +0 -2
  241. package/dist/types/packages/TableComponents/TableSwitch/index.d.ts +0 -2
  242. package/dist/types/packages/TableComponents/TableTreeRender/TableTreeRender.vue.d.ts +0 -12
  243. package/dist/types/packages/TableComponents/TableTreeRender/index.d.ts +0 -2
  244. package/dist/types/packages/ToolBar/ToolBarClient.vue.d.ts +0 -12
  245. package/dist/types/packages/ToolBar/index.d.ts +0 -2
  246. package/dist/types/packages/index.d.ts +0 -77
  247. package/dist/types/packages/types/button.d.ts +0 -26
  248. package/dist/types/packages/types/componentFrame.d.ts +0 -25
  249. package/dist/types/packages/types/formFrame.d.ts +0 -150
  250. package/dist/types/packages/types/index.d.ts +0 -7
  251. package/dist/types/packages/types/queryFrame.d.ts +0 -24
  252. package/dist/types/packages/types/tableFrame.d.ts +0 -120
  253. package/dist/types/utils/base.d.ts +0 -2
  254. package/dist/types/utils/index.d.ts +0 -7
  255. package/dist/types/utils/mitt.d.ts +0 -6
  256. package/dist/vite.svg +0 -1
  257. /package/dist/{types/packages/FormComponents/hook → components/FormComponent/hooks}/useMitt.hook.d.ts +0 -0
  258. /package/dist/{types/packages/QueryComponents → components/QueryComponent}/QueryBar/hooks/index.d.ts +0 -0
  259. /package/dist/{types/utils → utils}/dateTime.d.ts +0 -0
  260. /package/dist/{types/utils → utils}/sleep.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgresql-CLVUxiA0.js","names":[],"sources":["../src/components/FormComponent/FormCodeEditor/language/postgresql.ts"],"sourcesContent":["/* !-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/pgsql/pgsql.ts\nimport * as monaco from 'monaco-editor';\n\nconst conf: monaco.languages.LanguageConfiguration = {\n comments: {\n lineComment: '--',\n blockComment: ['/*', '*/'],\n },\n brackets: [\n ['{', '}'],\n ['[', ']'],\n ['(', ')'],\n ],\n autoClosingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"' },\n { open: \"'\", close: \"'\" },\n ],\n surroundingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"' },\n { open: \"'\", close: \"'\" },\n ],\n};\nconst language: monaco.languages.IMonarchLanguage = {\n defaultToken: '',\n tokenPostfix: '.sql',\n ignoreCase: true,\n brackets: [\n { open: '[', close: ']', token: 'delimiter.square' },\n { open: '(', close: ')', token: 'delimiter.parenthesis' },\n ],\n keywords: [\n // This list is generated using `keywords.js`\n 'ALL',\n 'ANALYSE',\n 'ANALYZE',\n 'AND',\n 'ANY',\n 'ARRAY',\n 'AS',\n 'ASC',\n 'ASYMMETRIC',\n 'AUTHORIZATION',\n 'BINARY',\n 'BOTH',\n 'CASE',\n 'CAST',\n 'CHECK',\n 'COLLATE',\n 'COLLATION',\n 'COLUMN',\n 'CONCURRENTLY',\n 'CONSTRAINT',\n 'CREATE',\n 'CROSS',\n 'CURRENT_CATALOG',\n 'CURRENT_DATE',\n 'CURRENT_ROLE',\n 'CURRENT_SCHEMA',\n 'CURRENT_TIME',\n 'CURRENT_TIMESTAMP',\n 'CURRENT_USER',\n 'DEFAULT',\n 'DEFERRABLE',\n 'DESC',\n 'DISTINCT',\n 'DO',\n 'ELSE',\n 'END',\n 'EXCEPT',\n 'FALSE',\n 'FETCH',\n 'FOR',\n 'FOREIGN',\n 'FREEZE',\n 'FROM',\n 'FULL',\n 'GRANT',\n 'GROUP',\n 'HAVING',\n 'ILIKE',\n 'IN',\n 'INITIALLY',\n 'INNER',\n 'INTERSECT',\n 'INTO',\n 'IS',\n 'ISNULL',\n 'JOIN',\n 'LATERAL',\n 'LEADING',\n 'LEFT',\n 'LIKE',\n 'LIMIT',\n 'LOCALTIME',\n 'LOCALTIMESTAMP',\n 'NATURAL',\n 'NOT',\n 'NOTNULL',\n 'NULL',\n 'OFFSET',\n 'ON',\n 'ONLY',\n 'OR',\n 'ORDER',\n 'OUTER',\n 'OVERLAPS',\n 'PLACING',\n 'PRIMARY',\n 'REFERENCES',\n 'RETURNING',\n 'RIGHT',\n 'SELECT',\n 'SESSION_USER',\n 'SIMILAR',\n 'SOME',\n 'SYMMETRIC',\n 'TABLE',\n 'TABLESAMPLE',\n 'THEN',\n 'TO',\n 'TRAILING',\n 'TRUE',\n 'UNION',\n 'UNIQUE',\n 'USER',\n 'USING',\n 'VARIADIC',\n 'VERBOSE',\n 'WHEN',\n 'WHERE',\n 'WINDOW',\n 'WITH',\n ],\n operators: [\n 'AND',\n 'BETWEEN',\n 'IN',\n 'LIKE',\n 'NOT',\n 'OR',\n 'IS',\n 'NULL',\n 'INTERSECT',\n 'UNION',\n 'INNER',\n 'JOIN',\n 'LEFT',\n 'OUTER',\n 'RIGHT',\n ],\n builtinFunctions: [\n 'abbrev',\n 'abs',\n 'acldefault',\n 'aclexplode',\n 'acos',\n 'acosd',\n 'acosh',\n 'age',\n 'any',\n 'area',\n 'array_agg',\n 'array_append',\n 'array_cat',\n 'array_dims',\n 'array_fill',\n 'array_length',\n 'array_lower',\n 'array_ndims',\n 'array_position',\n 'array_positions',\n 'array_prepend',\n 'array_remove',\n 'array_replace',\n 'array_to_json',\n 'array_to_string',\n 'array_to_tsvector',\n 'array_upper',\n 'ascii',\n 'asin',\n 'asind',\n 'asinh',\n 'atan',\n 'atan2',\n 'atan2d',\n 'atand',\n 'atanh',\n 'avg',\n 'bit',\n 'bit_and',\n 'bit_count',\n 'bit_length',\n 'bit_or',\n 'bit_xor',\n 'bool_and',\n 'bool_or',\n 'bound_box',\n 'box',\n 'brin_desummarize_range',\n 'brin_summarize_new_values',\n 'brin_summarize_range',\n 'broadcast',\n 'btrim',\n 'cardinality',\n 'cbrt',\n 'ceil',\n 'ceiling',\n 'center',\n 'char_length',\n 'character_length',\n 'chr',\n 'circle',\n 'clock_timestamp',\n 'coalesce',\n 'col_description',\n 'concat',\n 'concat_ws',\n 'convert',\n 'convert_from',\n 'convert_to',\n 'corr',\n 'cos',\n 'cosd',\n 'cosh',\n 'cot',\n 'cotd',\n 'count',\n 'covar_pop',\n 'covar_samp',\n 'cume_dist',\n 'current_catalog',\n 'current_database',\n 'current_date',\n 'current_query',\n 'current_role',\n 'current_schema',\n 'current_schemas',\n 'current_setting',\n 'current_time',\n 'current_timestamp',\n 'current_user',\n 'currval',\n 'cursor_to_xml',\n 'cursor_to_xmlschema',\n 'date_bin',\n 'date_part',\n 'date_trunc',\n 'database_to_xml',\n 'database_to_xml_and_xmlschema',\n 'database_to_xmlschema',\n 'decode',\n 'degrees',\n 'dense_rank',\n 'diagonal',\n 'diameter',\n 'div',\n 'encode',\n 'enum_first',\n 'enum_last',\n 'enum_range',\n 'every',\n 'exp',\n 'extract',\n 'factorial',\n 'family',\n 'first_value',\n 'floor',\n 'format',\n 'format_type',\n 'gcd',\n 'gen_random_uuid',\n 'generate_series',\n 'generate_subscripts',\n 'get_bit',\n 'get_byte',\n 'get_current_ts_config',\n 'gin_clean_pending_list',\n 'greatest',\n 'grouping',\n 'has_any_column_privilege',\n 'has_column_privilege',\n 'has_database_privilege',\n 'has_foreign_data_wrapper_privilege',\n 'has_function_privilege',\n 'has_language_privilege',\n 'has_schema_privilege',\n 'has_sequence_privilege',\n 'has_server_privilege',\n 'has_table_privilege',\n 'has_tablespace_privilege',\n 'has_type_privilege',\n 'height',\n 'host',\n 'hostmask',\n 'inet_client_addr',\n 'inet_client_port',\n 'inet_merge',\n 'inet_same_family',\n 'inet_server_addr',\n 'inet_server_port',\n 'initcap',\n 'isclosed',\n 'isempty',\n 'isfinite',\n 'isopen',\n 'json_agg',\n 'json_array_elements',\n 'json_array_elements_text',\n 'json_array_length',\n 'json_build_array',\n 'json_build_object',\n 'json_each',\n 'json_each_text',\n 'json_extract_path',\n 'json_extract_path_text',\n 'json_object',\n 'json_object_agg',\n 'json_object_keys',\n 'json_populate_record',\n 'json_populate_recordset',\n 'json_strip_nulls',\n 'json_to_record',\n 'json_to_recordset',\n 'json_to_tsvector',\n 'json_typeof',\n 'jsonb_agg',\n 'jsonb_array_elements',\n 'jsonb_array_elements_text',\n 'jsonb_array_length',\n 'jsonb_build_array',\n 'jsonb_build_object',\n 'jsonb_each',\n 'jsonb_each_text',\n 'jsonb_extract_path',\n 'jsonb_extract_path_text',\n 'jsonb_insert',\n 'jsonb_object',\n 'jsonb_object_agg',\n 'jsonb_object_keys',\n 'jsonb_path_exists',\n 'jsonb_path_match',\n 'jsonb_path_query',\n 'jsonb_path_query_array',\n 'jsonb_path_exists_tz',\n 'jsonb_path_query_first',\n 'jsonb_path_query_array_tz',\n 'jsonb_path_query_first_tz',\n 'jsonb_path_query_tz',\n 'jsonb_path_match_tz',\n 'jsonb_populate_record',\n 'jsonb_populate_recordset',\n 'jsonb_pretty',\n 'jsonb_set',\n 'jsonb_set_lax',\n 'jsonb_strip_nulls',\n 'jsonb_to_record',\n 'jsonb_to_recordset',\n 'jsonb_to_tsvector',\n 'jsonb_typeof',\n 'justify_days',\n 'justify_hours',\n 'justify_interval',\n 'lag',\n 'last_value',\n 'lastval',\n 'lcm',\n 'lead',\n 'least',\n 'left',\n 'length',\n 'line',\n 'ln',\n 'localtime',\n 'localtimestamp',\n 'log',\n 'log10',\n 'lower',\n 'lower_inc',\n 'lower_inf',\n 'lpad',\n 'lseg',\n 'ltrim',\n 'macaddr8_set7bit',\n 'make_date',\n 'make_interval',\n 'make_time',\n 'make_timestamp',\n 'make_timestamptz',\n 'makeaclitem',\n 'masklen',\n 'max',\n 'md5',\n 'min',\n 'min_scale',\n 'mod',\n 'mode',\n 'multirange',\n 'netmask',\n 'network',\n 'nextval',\n 'normalize',\n 'now',\n 'npoints',\n 'nth_value',\n 'ntile',\n 'nullif',\n 'num_nonnulls',\n 'num_nulls',\n 'numnode',\n 'obj_description',\n 'octet_length',\n 'overlay',\n 'parse_ident',\n 'path',\n 'pclose',\n 'percent_rank',\n 'percentile_cont',\n 'percentile_disc',\n 'pg_advisory_lock',\n 'pg_advisory_lock_shared',\n 'pg_advisory_unlock',\n 'pg_advisory_unlock_all',\n 'pg_advisory_unlock_shared',\n 'pg_advisory_xact_lock',\n 'pg_advisory_xact_lock_shared',\n 'pg_backend_pid',\n 'pg_backup_start_time',\n 'pg_blocking_pids',\n 'pg_cancel_backend',\n 'pg_client_encoding',\n 'pg_collation_actual_version',\n 'pg_collation_is_visible',\n 'pg_column_compression',\n 'pg_column_size',\n 'pg_conf_load_time',\n 'pg_control_checkpoint',\n 'pg_control_init',\n 'pg_control_recovery',\n 'pg_control_system',\n 'pg_conversion_is_visible',\n 'pg_copy_logical_replication_slot',\n 'pg_copy_physical_replication_slot',\n 'pg_create_logical_replication_slot',\n 'pg_create_physical_replication_slot',\n 'pg_create_restore_point',\n 'pg_current_logfile',\n 'pg_current_snapshot',\n 'pg_current_wal_flush_lsn',\n 'pg_current_wal_insert_lsn',\n 'pg_current_wal_lsn',\n 'pg_current_xact_id',\n 'pg_current_xact_id_if_assigned',\n 'pg_current_xlog_flush_location',\n 'pg_current_xlog_insert_location',\n 'pg_current_xlog_location',\n 'pg_database_size',\n 'pg_describe_object',\n 'pg_drop_replication_slot',\n 'pg_event_trigger_ddl_commands',\n 'pg_event_trigger_dropped_objects',\n 'pg_event_trigger_table_rewrite_oid',\n 'pg_event_trigger_table_rewrite_reason',\n 'pg_export_snapshot',\n 'pg_filenode_relation',\n 'pg_function_is_visible',\n 'pg_get_catalog_foreign_keys',\n 'pg_get_constraintdef',\n 'pg_get_expr',\n 'pg_get_function_arguments',\n 'pg_get_function_identity_arguments',\n 'pg_get_function_result',\n 'pg_get_functiondef',\n 'pg_get_indexdef',\n 'pg_get_keywords',\n 'pg_get_object_address',\n 'pg_get_owned_sequence',\n 'pg_get_ruledef',\n 'pg_get_serial_sequence',\n 'pg_get_statisticsobjdef',\n 'pg_get_triggerdef',\n 'pg_get_userbyid',\n 'pg_get_viewdef',\n 'pg_get_wal_replay_pause_state',\n 'pg_has_role',\n 'pg_identify_object',\n 'pg_identify_object_as_address',\n 'pg_import_system_collations',\n 'pg_index_column_has_property',\n 'pg_index_has_property',\n 'pg_indexam_has_property',\n 'pg_indexes_size',\n 'pg_is_in_backup',\n 'pg_is_in_recovery',\n 'pg_is_other_temp_schema',\n 'pg_is_wal_replay_paused',\n 'pg_is_xlog_replay_paused',\n 'pg_jit_available',\n 'pg_last_committed_xact',\n 'pg_last_wal_receive_lsn',\n 'pg_last_wal_replay_lsn',\n 'pg_last_xact_replay_timestamp',\n 'pg_last_xlog_receive_location',\n 'pg_last_xlog_replay_location',\n 'pg_listening_channels',\n 'pg_log_backend_memory_contexts',\n 'pg_logical_emit_message',\n 'pg_logical_slot_get_binary_changes',\n 'pg_logical_slot_get_changes',\n 'pg_logical_slot_peek_binary_changes',\n 'pg_logical_slot_peek_changes',\n 'pg_ls_archive_statusdir',\n 'pg_ls_dir',\n 'pg_ls_logdir',\n 'pg_ls_tmpdir',\n 'pg_ls_waldir',\n 'pg_mcv_list_items',\n 'pg_my_temp_schema',\n 'pg_notification_queue_usage',\n 'pg_opclass_is_visible',\n 'pg_operator_is_visible',\n 'pg_opfamily_is_visible',\n 'pg_options_to_table',\n 'pg_partition_ancestors',\n 'pg_partition_root',\n 'pg_partition_tree',\n 'pg_postmaster_start_time',\n 'pg_promote',\n 'pg_read_binary_file',\n 'pg_read_file',\n 'pg_relation_filenode',\n 'pg_relation_filepath',\n 'pg_relation_size',\n 'pg_reload_conf',\n 'pg_replication_origin_advance',\n 'pg_replication_origin_create',\n 'pg_replication_origin_drop',\n 'pg_replication_origin_oid',\n 'pg_replication_origin_progress',\n 'pg_replication_origin_session_is_setup',\n 'pg_replication_origin_session_progress',\n 'pg_replication_origin_session_reset',\n 'pg_replication_origin_session_setup',\n 'pg_replication_origin_xact_reset',\n 'pg_replication_origin_xact_setup',\n 'pg_replication_slot_advance',\n 'pg_rotate_logfile',\n 'pg_safe_snapshot_blocking_pids',\n 'pg_size_bytes',\n 'pg_size_pretty',\n 'pg_sleep',\n 'pg_sleep_for',\n 'pg_sleep_until',\n 'pg_snapshot_xip',\n 'pg_snapshot_xmax',\n 'pg_snapshot_xmin',\n 'pg_start_backup',\n 'pg_stat_file',\n 'pg_statistics_obj_is_visible',\n 'pg_stop_backup',\n 'pg_switch_wal',\n 'pg_switch_xlog',\n 'pg_table_is_visible',\n 'pg_table_size',\n 'pg_tablespace_databases',\n 'pg_tablespace_location',\n 'pg_tablespace_size',\n 'pg_terminate_backend',\n 'pg_total_relation_size',\n 'pg_trigger_depth',\n 'pg_try_advisory_lock',\n 'pg_try_advisory_lock_shared',\n 'pg_try_advisory_xact_lock',\n 'pg_try_advisory_xact_lock_shared',\n 'pg_ts_config_is_visible',\n 'pg_ts_dict_is_visible',\n 'pg_ts_parser_is_visible',\n 'pg_ts_template_is_visible',\n 'pg_type_is_visible',\n 'pg_typeof',\n 'pg_visible_in_snapshot',\n 'pg_wal_lsn_diff',\n 'pg_wal_replay_pause',\n 'pg_wal_replay_resume',\n 'pg_walfile_name',\n 'pg_walfile_name_offset',\n 'pg_xact_commit_timestamp',\n 'pg_xact_commit_timestamp_origin',\n 'pg_xact_status',\n 'pg_xlog_location_diff',\n 'pg_xlog_replay_pause',\n 'pg_xlog_replay_resume',\n 'pg_xlogfile_name',\n 'pg_xlogfile_name_offset',\n 'phraseto_tsquery',\n 'pi',\n 'plainto_tsquery',\n 'point',\n 'polygon',\n 'popen',\n 'position',\n 'power',\n 'pqserverversion',\n 'query_to_xml',\n 'query_to_xml_and_xmlschema',\n 'query_to_xmlschema',\n 'querytree',\n 'quote_ident',\n 'quote_literal',\n 'quote_nullable',\n 'radians',\n 'radius',\n 'random',\n 'range_agg',\n 'range_intersect_agg',\n 'range_merge',\n 'rank',\n 'regexp_count',\n 'regexp_instr',\n 'regexp_like',\n 'regexp_match',\n 'regexp_matches',\n 'regexp_replace',\n 'regexp_split_to_array',\n 'regexp_split_to_table',\n 'regexp_substr',\n 'regr_avgx',\n 'regr_avgy',\n 'regr_count',\n 'regr_intercept',\n 'regr_r2',\n 'regr_slope',\n 'regr_sxx',\n 'regr_sxy',\n 'regr_syy',\n 'repeat',\n 'replace',\n 'reverse',\n 'right',\n 'round',\n 'row_number',\n 'row_security_active',\n 'row_to_json',\n 'rpad',\n 'rtrim',\n 'scale',\n 'schema_to_xml',\n 'schema_to_xml_and_xmlschema',\n 'schema_to_xmlschema',\n 'session_user',\n 'set_bit',\n 'set_byte',\n 'set_config',\n 'set_masklen',\n 'setseed',\n 'setval',\n 'setweight',\n 'sha224',\n 'sha256',\n 'sha384',\n 'sha512',\n 'shobj_description',\n 'sign',\n 'sin',\n 'sind',\n 'sinh',\n 'slope',\n 'split_part',\n 'sprintf',\n 'sqrt',\n 'starts_with',\n 'statement_timestamp',\n 'stddev',\n 'stddev_pop',\n 'stddev_samp',\n 'string_agg',\n 'string_to_array',\n 'string_to_table',\n 'strip',\n 'strpos',\n 'substr',\n 'substring',\n 'sum',\n 'suppress_redundant_updates_trigger',\n 'table_to_xml',\n 'table_to_xml_and_xmlschema',\n 'table_to_xmlschema',\n 'tan',\n 'tand',\n 'tanh',\n 'text',\n 'timeofday',\n 'timezone',\n 'to_ascii',\n 'to_char',\n 'to_date',\n 'to_hex',\n 'to_json',\n 'to_number',\n 'to_regclass',\n 'to_regcollation',\n 'to_regnamespace',\n 'to_regoper',\n 'to_regoperator',\n 'to_regproc',\n 'to_regprocedure',\n 'to_regrole',\n 'to_regtype',\n 'to_timestamp',\n 'to_tsquery',\n 'to_tsvector',\n 'transaction_timestamp',\n 'translate',\n 'trim',\n 'trim_array',\n 'trim_scale',\n 'trunc',\n 'ts_debug',\n 'ts_delete',\n 'ts_filter',\n 'ts_headline',\n 'ts_lexize',\n 'ts_parse',\n 'ts_rank',\n 'ts_rank_cd',\n 'ts_rewrite',\n 'ts_stat',\n 'ts_token_type',\n 'tsquery_phrase',\n 'tsvector_to_array',\n 'tsvector_update_trigger',\n 'tsvector_update_trigger_column',\n 'txid_current',\n 'txid_current_if_assigned',\n 'txid_current_snapshot',\n 'txid_snapshot_xip',\n 'txid_snapshot_xmax',\n 'txid_snapshot_xmin',\n 'txid_status',\n 'txid_visible_in_snapshot',\n 'unistr',\n 'unnest',\n 'upper',\n 'upper_inc',\n 'upper_inf',\n 'user',\n 'var_pop',\n 'var_samp',\n 'variance',\n 'version',\n 'websearch_to_tsquery',\n 'width',\n 'width_bucket',\n 'xml_is_well_formed',\n 'xml_is_well_formed_content',\n 'xml_is_well_formed_document',\n 'xmlagg',\n 'xmlcomment',\n 'xmlconcat',\n 'xmlelement',\n 'xmlexists',\n 'xmlforest',\n 'xmlparse',\n 'xmlpi',\n 'xmlroot',\n 'xmlserialize',\n 'xpath',\n 'xpath_exists',\n ],\n builtinVariables: [\n // NOT SUPPORTED\n ],\n pseudoColumns: [\n // NOT SUPPORTED\n ],\n tokenizer: {\n root: [\n { include: '@comments' },\n { include: '@whitespace' },\n { include: '@pseudoColumns' },\n { include: '@numbers' },\n { include: '@strings' },\n { include: '@complexIdentifiers' },\n { include: '@scopes' },\n [/[;,.]/, 'delimiter'],\n [/[()]/, '@brackets'],\n [\n /[\\w@#$]+/,\n {\n cases: {\n '@operators': 'operator',\n '@builtinVariables': 'predefined',\n '@builtinFunctions': 'predefined',\n '@keywords': 'keyword',\n '@default': 'identifier',\n },\n },\n ],\n [/[<>=!%&+\\-*/|~^]/, 'operator'],\n ],\n whitespace: [[/\\s+/, 'white']],\n comments: [\n [/-{2}.*/, 'comment'],\n [/\\/\\*/, { token: 'comment.quote', next: '@comment' }],\n ],\n comment: [\n [/[^*/]+/, 'comment'],\n // Not supporting nested comments, as nested comments seem to not be standard?\n // i.e. http://stackoverflow.com/questions/728172/are-there-multiline-comment-delimiters-in-sql-that-are-vendor-agnostic\n // [/\\/\\*/, { token: 'comment.quote', next: '@push' }], // nested comment not allowed :-(\n [/\\*\\//, { token: 'comment.quote', next: '@pop' }],\n [/./, 'comment'],\n ],\n pseudoColumns: [\n [\n /\\$[A-Z_][\\w@#$]*/i,\n {\n cases: {\n '@pseudoColumns': 'predefined',\n '@default': 'identifier',\n },\n },\n ],\n ],\n numbers: [\n [/0x[0-9a-f]*/i, 'number'],\n [/\\$[+-]*\\d*(\\.\\d*)?/, 'number'],\n [/((\\d+(\\.\\d*)?)|(\\.\\d+))(e[\\-+]?\\d+)?/i, 'number'],\n ],\n strings: [[/'/, { token: 'string', next: '@string' }]],\n string: [\n [/[^']+/, 'string'],\n [/''/, 'string'],\n [/'/, { token: 'string', next: '@pop' }],\n ],\n complexIdentifiers: [\n [/\"/, { token: 'identifier.quote', next: '@quotedIdentifier' }],\n ],\n quotedIdentifier: [\n [/[^\"]+/, 'identifier'],\n [/\"\"/, 'identifier'],\n [/\"/, { token: 'identifier.quote', next: '@pop' }],\n ],\n scopes: [\n // NOT SUPPORTED\n ],\n },\n};\nexport { conf, language, registerPgsqlCompletion, definePgsqlThemes };\n\nlet pgsqlCompletionRegistered = false;\nlet pgsqlThemesDefined = false;\n\nfunction definePgsqlThemes() {\n if (pgsqlThemesDefined) return;\n pgsqlThemesDefined = true;\n\n // PostgreSQL 暗色主题\n monaco.editor.defineTheme('pgsql-dark', {\n base: 'vs-dark',\n inherit: true,\n rules: [\n { token: 'keyword', foreground: '569CD6', fontStyle: 'bold' },\n { token: 'operator', foreground: 'D4D4D4' },\n { token: 'predefined', foreground: 'DCDCAA' }, // 函数 - 黄色\n { token: 'string', foreground: 'CE9178' },\n { token: 'number', foreground: 'B5CEA8' },\n { token: 'comment', foreground: '6A9955' },\n { token: 'identifier', foreground: '9CDCFE' },\n { token: 'identifier.quote', foreground: '9CDCFE' },\n { token: 'delimiter', foreground: 'D4D4D4' },\n { token: 'type', foreground: '4EC9B0' },\n ],\n colors: {},\n });\n\n // PostgreSQL 亮色主题\n monaco.editor.defineTheme('pgsql-light', {\n base: 'vs',\n inherit: true,\n rules: [\n { token: 'keyword', foreground: '0000FF', fontStyle: 'bold' },\n { token: 'operator', foreground: '000000' },\n { token: 'predefined', foreground: '795E26' }, // 函数 - 棕黄\n { token: 'string', foreground: 'A31515' },\n { token: 'number', foreground: '098658' },\n { token: 'comment', foreground: '008000' },\n { token: 'identifier', foreground: '001080' },\n { token: 'identifier.quote', foreground: '001080' },\n { token: 'delimiter', foreground: '000000' },\n { token: 'type', foreground: '267F99' },\n ],\n colors: {},\n });\n}\n\nfunction registerPgsqlCompletion() {\n if (pgsqlCompletionRegistered) return;\n pgsqlCompletionRegistered = true;\n\n monaco.languages.registerCompletionItemProvider('pgsql', {\n triggerCharacters: [' ', '.', '('],\n provideCompletionItems: (model, position) => {\n const word = model.getWordUntilPosition(position);\n const range = {\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: word.startColumn,\n endColumn: word.endColumn,\n };\n const currentWord = word.word.toLowerCase();\n const suggestions: monaco.languages.CompletionItem[] = [];\n\n // SQL 关键字\n if (currentWord.length >= 1) {\n const keywords: [string, string, string][] = [\n // DML\n ['SELECT', '查询', 'SELECT $1 FROM $2'],\n ['SELECT *', '查询所有列', 'SELECT * FROM $1'],\n ['SELECT DISTINCT', '去重查询', 'SELECT DISTINCT $1 FROM $2'],\n ['INSERT INTO', '插入数据', 'INSERT INTO $1 ($2) VALUES ($3)'],\n ['UPDATE', '更新数据', 'UPDATE $1 SET $2 = $3 WHERE $4'],\n ['DELETE FROM', '删除数据', 'DELETE FROM $1 WHERE $2'],\n ['TRUNCATE TABLE', '清空表', 'TRUNCATE TABLE $1'],\n \n // 子句\n ['FROM', '来源表', 'FROM $1'],\n ['WHERE', '条件', 'WHERE $1'],\n ['AND', '与', 'AND $1'],\n ['OR', '或', 'OR $1'],\n ['NOT', '非', 'NOT $1'],\n ['IN', '在...中', 'IN ($1)'],\n ['NOT IN', '不在...中', 'NOT IN ($1)'],\n ['BETWEEN', '在...之间', 'BETWEEN $1 AND $2'],\n ['LIKE', '模糊匹配', \"LIKE '%$1%'\"],\n ['ILIKE', '不区分大小写匹配', \"ILIKE '%$1%'\"],\n ['IS NULL', '为空', 'IS NULL'],\n ['IS NOT NULL', '不为空', 'IS NOT NULL'],\n ['EXISTS', '存在', 'EXISTS ($1)'],\n ['NOT EXISTS', '不存在', 'NOT EXISTS ($1)'],\n \n // 排序分组\n ['ORDER BY', '排序', 'ORDER BY $1'],\n ['ORDER BY DESC', '降序排序', 'ORDER BY $1 DESC'],\n ['GROUP BY', '分组', 'GROUP BY $1'],\n ['HAVING', '分组条件', 'HAVING $1'],\n ['LIMIT', '限制行数', 'LIMIT $1'],\n ['OFFSET', '偏移', 'OFFSET $1'],\n \n // 连接\n ['JOIN', '连接', 'JOIN $1 ON $2'],\n ['INNER JOIN', '内连接', 'INNER JOIN $1 ON $2'],\n ['LEFT JOIN', '左连接', 'LEFT JOIN $1 ON $2'],\n ['LEFT OUTER JOIN', '左外连接', 'LEFT OUTER JOIN $1 ON $2'],\n ['RIGHT JOIN', '右连接', 'RIGHT JOIN $1 ON $2'],\n ['RIGHT OUTER JOIN', '右外连接', 'RIGHT OUTER JOIN $1 ON $2'],\n ['FULL JOIN', '全连接', 'FULL JOIN $1 ON $2'],\n ['FULL OUTER JOIN', '全外连接', 'FULL OUTER JOIN $1 ON $2'],\n ['CROSS JOIN', '交叉连接', 'CROSS JOIN $1'],\n ['NATURAL JOIN', '自然连接', 'NATURAL JOIN $1'],\n ['ON', '连接条件', 'ON $1 = $2'],\n ['USING', '使用列连接', 'USING ($1)'],\n \n // 集合操作\n ['UNION', '并集', 'UNION\\nSELECT $1'],\n ['UNION ALL', '并集(含重复)', 'UNION ALL\\nSELECT $1'],\n ['INTERSECT', '交集', 'INTERSECT\\nSELECT $1'],\n ['EXCEPT', '差集', 'EXCEPT\\nSELECT $1'],\n \n // 子查询\n ['AS', '别名', 'AS $1'],\n ['WITH', 'CTE公共表表达式', 'WITH $1 AS (\\n $2\\n)\\nSELECT * FROM $1'],\n ['RECURSIVE', '递归CTE', 'WITH RECURSIVE $1 AS (\\n $2\\n UNION ALL\\n $3\\n)\\nSELECT * FROM $1'],\n \n // DDL\n ['CREATE TABLE', '创建表', 'CREATE TABLE $1 (\\n $2\\n)'],\n ['CREATE TABLE IF NOT EXISTS', '创建表(如不存在)', 'CREATE TABLE IF NOT EXISTS $1 (\\n $2\\n)'],\n ['CREATE INDEX', '创建索引', 'CREATE INDEX $1 ON $2 ($3)'],\n ['CREATE UNIQUE INDEX', '创建唯一索引', 'CREATE UNIQUE INDEX $1 ON $2 ($3)'],\n ['CREATE VIEW', '创建视图', 'CREATE VIEW $1 AS\\nSELECT $2'],\n ['CREATE OR REPLACE VIEW', '创建或替换视图', 'CREATE OR REPLACE VIEW $1 AS\\nSELECT $2'],\n ['CREATE FUNCTION', '创建函数', 'CREATE OR REPLACE FUNCTION $1($2)\\nRETURNS $3 AS $$\\nBEGIN\\n $4\\nEND;\\n$$ LANGUAGE plpgsql'],\n ['CREATE PROCEDURE', '创建存储过程', 'CREATE OR REPLACE PROCEDURE $1($2)\\nLANGUAGE plpgsql AS $$\\nBEGIN\\n $3\\nEND;\\n$$'],\n ['CREATE TRIGGER', '创建触发器', 'CREATE TRIGGER $1\\n$2 ON $3\\nFOR EACH ROW\\nEXECUTE FUNCTION $4()'],\n ['CREATE SCHEMA', '创建模式', 'CREATE SCHEMA $1'],\n ['CREATE SEQUENCE', '创建序列', 'CREATE SEQUENCE $1'],\n ['CREATE TYPE', '创建类型', 'CREATE TYPE $1 AS ($2)'],\n ['CREATE EXTENSION', '创建扩展', \"CREATE EXTENSION IF NOT EXISTS $1\"],\n \n // ALTER\n ['ALTER TABLE', '修改表', 'ALTER TABLE $1'],\n ['ADD COLUMN', '添加列', 'ADD COLUMN $1 $2'],\n ['DROP COLUMN', '删除列', 'DROP COLUMN $1'],\n ['ALTER COLUMN', '修改列', 'ALTER COLUMN $1'],\n ['RENAME TO', '重命名', 'RENAME TO $1'],\n ['RENAME COLUMN', '重命名列', 'RENAME COLUMN $1 TO $2'],\n ['SET DEFAULT', '设置默认值', 'SET DEFAULT $1'],\n ['DROP DEFAULT', '删除默认值', 'DROP DEFAULT'],\n ['SET NOT NULL', '设置非空', 'SET NOT NULL'],\n ['DROP NOT NULL', '删除非空', 'DROP NOT NULL'],\n ['ADD CONSTRAINT', '添加约束', 'ADD CONSTRAINT $1 $2'],\n ['DROP CONSTRAINT', '删除约束', 'DROP CONSTRAINT $1'],\n \n // DROP\n ['DROP TABLE', '删除表', 'DROP TABLE $1'],\n ['DROP TABLE IF EXISTS', '删除表(如存在)', 'DROP TABLE IF EXISTS $1'],\n ['DROP INDEX', '删除索引', 'DROP INDEX $1'],\n ['DROP VIEW', '删除视图', 'DROP VIEW $1'],\n ['DROP FUNCTION', '删除函数', 'DROP FUNCTION $1'],\n ['DROP SCHEMA', '删除模式', 'DROP SCHEMA $1'],\n ['DROP SEQUENCE', '删除序列', 'DROP SEQUENCE $1'],\n ['CASCADE', '级联删除', 'CASCADE'],\n ['RESTRICT', '限制删除', 'RESTRICT'],\n \n // 约束\n ['PRIMARY KEY', '主键', 'PRIMARY KEY'],\n ['FOREIGN KEY', '外键', 'FOREIGN KEY ($1) REFERENCES $2 ($3)'],\n ['REFERENCES', '引用', 'REFERENCES $1 ($2)'],\n ['UNIQUE', '唯一', 'UNIQUE'],\n ['CHECK', '检查约束', 'CHECK ($1)'],\n ['DEFAULT', '默认值', 'DEFAULT $1'],\n ['NOT NULL', '非空', 'NOT NULL'],\n ['NULL', '可空', 'NULL'],\n \n // 数据类型\n ['INTEGER', '整数', 'INTEGER'],\n ['INT', '整数', 'INT'],\n ['BIGINT', '大整数', 'BIGINT'],\n ['SMALLINT', '小整数', 'SMALLINT'],\n ['SERIAL', '自增整数', 'SERIAL'],\n ['BIGSERIAL', '大自增整数', 'BIGSERIAL'],\n ['NUMERIC', '精确数值', 'NUMERIC($1, $2)'],\n ['DECIMAL', '精确数值', 'DECIMAL($1, $2)'],\n ['REAL', '单精度浮点', 'REAL'],\n ['DOUBLE PRECISION', '双精度浮点', 'DOUBLE PRECISION'],\n ['FLOAT', '浮点数', 'FLOAT'],\n ['VARCHAR', '可变字符串', 'VARCHAR($1)'],\n ['CHAR', '定长字符串', 'CHAR($1)'],\n ['TEXT', '文本', 'TEXT'],\n ['BOOLEAN', '布尔', 'BOOLEAN'],\n ['BOOL', '布尔', 'BOOL'],\n ['DATE', '日期', 'DATE'],\n ['TIME', '时间', 'TIME'],\n ['TIMESTAMP', '时间戳', 'TIMESTAMP'],\n ['TIMESTAMPTZ', '带时区时间戳', 'TIMESTAMPTZ'],\n ['INTERVAL', '时间间隔', 'INTERVAL'],\n ['UUID', 'UUID', 'UUID'],\n ['JSON', 'JSON', 'JSON'],\n ['JSONB', 'JSONB', 'JSONB'],\n ['ARRAY', '数组', 'ARRAY'],\n ['BYTEA', '二进制', 'BYTEA'],\n ['INET', 'IP地址', 'INET'],\n ['CIDR', 'CIDR地址', 'CIDR'],\n ['MACADDR', 'MAC地址', 'MACADDR'],\n \n // 事务\n ['BEGIN', '开始事务', 'BEGIN'],\n ['COMMIT', '提交事务', 'COMMIT'],\n ['ROLLBACK', '回滚事务', 'ROLLBACK'],\n ['SAVEPOINT', '保存点', 'SAVEPOINT $1'],\n ['ROLLBACK TO', '回滚到保存点', 'ROLLBACK TO $1'],\n \n // 其他\n ['CASE', 'CASE表达式', 'CASE\\n WHEN $1 THEN $2\\n ELSE $3\\nEND'],\n ['WHEN', 'WHEN子句', 'WHEN $1 THEN $2'],\n ['THEN', 'THEN子句', 'THEN $1'],\n ['ELSE', 'ELSE子句', 'ELSE $1'],\n ['END', '结束', 'END'],\n ['COALESCE', '空值替换', 'COALESCE($1, $2)'],\n ['NULLIF', '空值比较', 'NULLIF($1, $2)'],\n ['CAST', '类型转换', 'CAST($1 AS $2)'],\n ['RETURNING', '返回', 'RETURNING $1'],\n ['ON CONFLICT', '冲突处理', 'ON CONFLICT ($1) DO $2'],\n ['DO NOTHING', '不做任何操作', 'DO NOTHING'],\n ['DO UPDATE SET', '更新', 'DO UPDATE SET $1 = $2'],\n ['EXPLAIN', '执行计划', 'EXPLAIN $1'],\n ['EXPLAIN ANALYZE', '执行计划(实际执行)', 'EXPLAIN ANALYZE $1'],\n ['VACUUM', '清理', 'VACUUM $1'],\n ['ANALYZE', '分析', 'ANALYZE $1'],\n ['GRANT', '授权', 'GRANT $1 ON $2 TO $3'],\n ['REVOKE', '撤销权限', 'REVOKE $1 ON $2 FROM $3'],\n ['COMMENT ON', '添加注释', \"COMMENT ON $1 $2 IS '$3'\"],\n ];\n keywords.filter(([label]) => label.toLowerCase().startsWith(currentWord)).forEach(([label, detail, text]) => {\n suggestions.push({\n label,\n detail,\n insertText: text,\n range,\n kind: monaco.languages.CompletionItemKind.Keyword,\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n sortText: '0' + label,\n });\n });\n }\n\n // 常用函数\n if (currentWord.length >= 1) {\n const functions: [string, string, string][] = [\n // 聚合函数\n ['COUNT', '计数', 'COUNT($1)'],\n ['COUNT(*)', '计数所有', 'COUNT(*)'],\n ['COUNT(DISTINCT)', '去重计数', 'COUNT(DISTINCT $1)'],\n ['SUM', '求和', 'SUM($1)'],\n ['AVG', '平均值', 'AVG($1)'],\n ['MAX', '最大值', 'MAX($1)'],\n ['MIN', '最小值', 'MIN($1)'],\n ['ARRAY_AGG', '数组聚合', 'ARRAY_AGG($1)'],\n ['STRING_AGG', '字符串聚合', \"STRING_AGG($1, '$2')\"],\n ['JSON_AGG', 'JSON聚合', 'JSON_AGG($1)'],\n ['JSONB_AGG', 'JSONB聚合', 'JSONB_AGG($1)'],\n \n // 字符串函数\n ['CONCAT', '连接字符串', \"CONCAT($1, $2)\"],\n ['CONCAT_WS', '带分隔符连接', \"CONCAT_WS('$1', $2, $3)\"],\n ['LENGTH', '字符串长度', 'LENGTH($1)'],\n ['CHAR_LENGTH', '字符长度', 'CHAR_LENGTH($1)'],\n ['UPPER', '转大写', 'UPPER($1)'],\n ['LOWER', '转小写', 'LOWER($1)'],\n ['INITCAP', '首字母大写', 'INITCAP($1)'],\n ['TRIM', '去除空格', 'TRIM($1)'],\n ['LTRIM', '去除左空格', 'LTRIM($1)'],\n ['RTRIM', '去除右空格', 'RTRIM($1)'],\n ['SUBSTRING', '截取子串', 'SUBSTRING($1 FROM $2 FOR $3)'],\n ['SUBSTR', '截取子串', 'SUBSTR($1, $2, $3)'],\n ['LEFT', '左截取', 'LEFT($1, $2)'],\n ['RIGHT', '右截取', 'RIGHT($1, $2)'],\n ['REPLACE', '替换', \"REPLACE($1, '$2', '$3')\"],\n ['REGEXP_REPLACE', '正则替换', \"REGEXP_REPLACE($1, '$2', '$3')\"],\n ['SPLIT_PART', '分割取部分', \"SPLIT_PART($1, '$2', $3)\"],\n ['POSITION', '查找位置', \"POSITION('$1' IN $2)\"],\n ['STRPOS', '查找位置', \"STRPOS($1, '$2')\"],\n ['LPAD', '左填充', \"LPAD($1, $2, '$3')\"],\n ['RPAD', '右填充', \"RPAD($1, $2, '$3')\"],\n ['REPEAT', '重复', 'REPEAT($1, $2)'],\n ['REVERSE', '反转', 'REVERSE($1)'],\n ['FORMAT', '格式化', \"FORMAT('$1', $2)\"],\n \n // 数值函数\n ['ABS', '绝对值', 'ABS($1)'],\n ['CEIL', '向上取整', 'CEIL($1)'],\n ['CEILING', '向上取整', 'CEILING($1)'],\n ['FLOOR', '向下取整', 'FLOOR($1)'],\n ['ROUND', '四舍五入', 'ROUND($1, $2)'],\n ['TRUNC', '截断', 'TRUNC($1, $2)'],\n ['MOD', '取模', 'MOD($1, $2)'],\n ['POWER', '幂', 'POWER($1, $2)'],\n ['SQRT', '平方根', 'SQRT($1)'],\n ['RANDOM', '随机数', 'RANDOM()'],\n ['GREATEST', '最大值', 'GREATEST($1, $2)'],\n ['LEAST', '最小值', 'LEAST($1, $2)'],\n \n // 日期时间函数\n ['NOW', '当前时间', 'NOW()'],\n ['CURRENT_DATE', '当前日期', 'CURRENT_DATE'],\n ['CURRENT_TIME', '当前时间', 'CURRENT_TIME'],\n ['CURRENT_TIMESTAMP', '当前时间戳', 'CURRENT_TIMESTAMP'],\n ['LOCALTIMESTAMP', '本地时间戳', 'LOCALTIMESTAMP'],\n ['DATE_TRUNC', '截断日期', \"DATE_TRUNC('$1', $2)\"],\n ['DATE_PART', '提取日期部分', \"DATE_PART('$1', $2)\"],\n ['EXTRACT', '提取', \"EXTRACT($1 FROM $2)\"],\n ['AGE', '年龄/间隔', 'AGE($1, $2)'],\n ['TO_CHAR', '转字符串', \"TO_CHAR($1, '$2')\"],\n ['TO_DATE', '转日期', \"TO_DATE('$1', '$2')\"],\n ['TO_TIMESTAMP', '转时间戳', \"TO_TIMESTAMP('$1', '$2')\"],\n ['TO_NUMBER', '转数字', \"TO_NUMBER('$1', '$2')\"],\n ['MAKE_DATE', '创建日期', 'MAKE_DATE($1, $2, $3)'],\n ['MAKE_TIME', '创建时间', 'MAKE_TIME($1, $2, $3)'],\n ['MAKE_TIMESTAMP', '创建时间戳', 'MAKE_TIMESTAMP($1, $2, $3, $4, $5, $6)'],\n \n // 条件函数\n ['COALESCE', '空值替换', 'COALESCE($1, $2)'],\n ['NULLIF', '空值比较', 'NULLIF($1, $2)'],\n ['GREATEST', '最大值', 'GREATEST($1, $2, $3)'],\n ['LEAST', '最小值', 'LEAST($1, $2, $3)'],\n \n // JSON函数\n ['JSON_BUILD_OBJECT', '构建JSON对象', \"JSON_BUILD_OBJECT('$1', $2)\"],\n ['JSONB_BUILD_OBJECT', '构建JSONB对象', \"JSONB_BUILD_OBJECT('$1', $2)\"],\n ['JSON_BUILD_ARRAY', '构建JSON数组', 'JSON_BUILD_ARRAY($1)'],\n ['JSONB_BUILD_ARRAY', '构建JSONB数组', 'JSONB_BUILD_ARRAY($1)'],\n ['JSON_EXTRACT_PATH', '提取JSON路径', \"JSON_EXTRACT_PATH($1, '$2')\"],\n ['JSONB_EXTRACT_PATH', '提取JSONB路径', \"JSONB_EXTRACT_PATH($1, '$2')\"],\n ['JSON_EXTRACT_PATH_TEXT', '提取JSON路径文本', \"JSON_EXTRACT_PATH_TEXT($1, '$2')\"],\n ['JSONB_EXTRACT_PATH_TEXT', '提取JSONB路径文本', \"JSONB_EXTRACT_PATH_TEXT($1, '$2')\"],\n ['JSON_ARRAY_LENGTH', 'JSON数组长度', 'JSON_ARRAY_LENGTH($1)'],\n ['JSONB_ARRAY_LENGTH', 'JSONB数组长度', 'JSONB_ARRAY_LENGTH($1)'],\n ['JSONB_SET', '设置JSONB值', \"JSONB_SET($1, '{$2}', '$3')\"],\n ['JSONB_INSERT', '插入JSONB值', \"JSONB_INSERT($1, '{$2}', '$3')\"],\n ['JSONB_PRETTY', '格式化JSONB', 'JSONB_PRETTY($1)'],\n ['ROW_TO_JSON', '行转JSON', 'ROW_TO_JSON($1)'],\n ['TO_JSON', '转JSON', 'TO_JSON($1)'],\n ['TO_JSONB', '转JSONB', 'TO_JSONB($1)'],\n \n // 数组函数\n ['ARRAY_LENGTH', '数组长度', 'ARRAY_LENGTH($1, $2)'],\n ['ARRAY_APPEND', '数组追加', 'ARRAY_APPEND($1, $2)'],\n ['ARRAY_PREPEND', '数组前置', 'ARRAY_PREPEND($1, $2)'],\n ['ARRAY_CAT', '数组连接', 'ARRAY_CAT($1, $2)'],\n ['ARRAY_REMOVE', '数组移除', 'ARRAY_REMOVE($1, $2)'],\n ['ARRAY_REPLACE', '数组替换', 'ARRAY_REPLACE($1, $2, $3)'],\n ['ARRAY_POSITION', '数组位置', 'ARRAY_POSITION($1, $2)'],\n ['ARRAY_TO_STRING', '数组转字符串', \"ARRAY_TO_STRING($1, '$2')\"],\n ['STRING_TO_ARRAY', '字符串转数组', \"STRING_TO_ARRAY($1, '$2')\"],\n ['UNNEST', '展开数组', 'UNNEST($1)'],\n \n // 窗口函数\n ['ROW_NUMBER', '行号', 'ROW_NUMBER() OVER ($1)'],\n ['RANK', '排名', 'RANK() OVER ($1)'],\n ['DENSE_RANK', '密集排名', 'DENSE_RANK() OVER ($1)'],\n ['NTILE', '分组', 'NTILE($1) OVER ($2)'],\n ['LAG', '前一行', 'LAG($1, $2) OVER ($3)'],\n ['LEAD', '后一行', 'LEAD($1, $2) OVER ($3)'],\n ['FIRST_VALUE', '第一个值', 'FIRST_VALUE($1) OVER ($2)'],\n ['LAST_VALUE', '最后一个值', 'LAST_VALUE($1) OVER ($2)'],\n ['NTH_VALUE', '第N个值', 'NTH_VALUE($1, $2) OVER ($3)'],\n ['OVER', '窗口', 'OVER (PARTITION BY $1 ORDER BY $2)'],\n ['PARTITION BY', '分区', 'PARTITION BY $1'],\n \n // 类型转换\n ['CAST', '类型转换', 'CAST($1 AS $2)'],\n ['::INTEGER', '转整数', '::INTEGER'],\n ['::BIGINT', '转大整数', '::BIGINT'],\n ['::TEXT', '转文本', '::TEXT'],\n ['::VARCHAR', '转可变字符', '::VARCHAR'],\n ['::NUMERIC', '转数值', '::NUMERIC'],\n ['::DATE', '转日期', '::DATE'],\n ['::TIMESTAMP', '转时间戳', '::TIMESTAMP'],\n ['::BOOLEAN', '转布尔', '::BOOLEAN'],\n ['::JSON', '转JSON', '::JSON'],\n ['::JSONB', '转JSONB', '::JSONB'],\n \n // 其他\n ['GEN_RANDOM_UUID', '生成UUID', 'GEN_RANDOM_UUID()'],\n ['UUID_GENERATE_V4', '生成UUID v4', 'UUID_GENERATE_V4()'],\n ['MD5', 'MD5哈希', 'MD5($1)'],\n ['ENCODE', '编码', \"ENCODE($1, '$2')\"],\n ['DECODE', '解码', \"DECODE($1, '$2')\"],\n ['PG_TYPEOF', '获取类型', 'PG_TYPEOF($1)'],\n ['GENERATE_SERIES', '生成序列', 'GENERATE_SERIES($1, $2)'],\n ['GENERATE_SERIES date', '生成日期序列', \"GENERATE_SERIES('$1'::DATE, '$2'::DATE, '$3')\"],\n ];\n functions.filter(([label]) => label.toLowerCase().startsWith(currentWord)).forEach(([label, detail, text]) => {\n suggestions.push({\n label,\n detail,\n insertText: text,\n range,\n kind: monaco.languages.CompletionItemKind.Function,\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n sortText: '1' + label,\n });\n });\n }\n\n return { suggestions };\n },\n });\n}\n"],"mappings":";AAUA,IAAM,IAA+C;AAAA,EACnD,UAAU;AAAA,IACR,aAAa;AAAA,IACb,cAAc,CAAC,MAAM,IAAA;AAAA;EAEvB,UAAU;AAAA,IACR,CAAC,KAAK,GAAA;AAAA,IACN,CAAC,KAAK,GAAA;AAAA,IACN,CAAC,KAAK,GAAA;AAAA;EAER,kBAAkB;AAAA,IAChB;AAAA,MAAE,MAAM;AAAA,MAAK,OAAO;AAAA;IACpB;AAAA,MAAE,MAAM;AAAA,MAAK,OAAO;AAAA;IACpB;AAAA,MAAE,MAAM;AAAA,MAAK,OAAO;AAAA;IACpB;AAAA,MAAE,MAAM;AAAA,MAAK,OAAO;AAAA;IACpB;AAAA,MAAE,MAAM;AAAA,MAAK,OAAO;AAAA;;EAEtB,kBAAkB;AAAA,IAChB;AAAA,MAAE,MAAM;AAAA,MAAK,OAAO;AAAA;IACpB;AAAA,MAAE,MAAM;AAAA,MAAK,OAAO;AAAA;IACpB;AAAA,MAAE,MAAM;AAAA,MAAK,OAAO;AAAA;IACpB;AAAA,MAAE,MAAM;AAAA,MAAK,OAAO;AAAA;IACpB;AAAA,MAAE,MAAM;AAAA,MAAK,OAAO;AAAA;;GAGlB,IAA8C;AAAA,EAClD,cAAc;AAAA,EACd,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,UAAU,CACR;AAAA,IAAE,MAAM;AAAA,IAAK,OAAO;AAAA,IAAK,OAAO;AAAA,KAChC;AAAA,IAAE,MAAM;AAAA,IAAK,OAAO;AAAA,IAAK,OAAO;AAAA,GAAyB;AAAA,EAE3D,UAAU;AAAA,IAER;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;EAEF,WAAW;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;EAEF,kBAAkB;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;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"}
@@ -0,0 +1,23 @@
1
+ /** 提交流程参数 */
2
+ export interface PageSubmitInterface {
3
+ /** 页面id */
4
+ pageId: number;
5
+ /** 数据ID */
6
+ dataId: string | number;
7
+ /** 当前节点id */
8
+ nodeId: string;
9
+ /** 提交到的id */
10
+ toNodeId: string;
11
+ /** 提交给的用户id列表 */
12
+ userId: string[];
13
+ /** 批阅建议 */
14
+ suggestion: string;
15
+ /** 表单内容 */
16
+ formData: any;
17
+ }
18
+
19
+ export interface SubmitConfig {
20
+ dataId: string | number;
21
+ headers: any;
22
+ pageId: number
23
+ }
@@ -0,0 +1,79 @@
1
+ // 节点可处理环节、人
2
+ export interface SubmitBeforeCheckApiInterface {
3
+ editId: string;
4
+ nodeFlowProcessors: NodeFlowProcessor[];
5
+ }
6
+
7
+ export interface NodeFlowProcessor {
8
+ nodeId: number;
9
+ nodeName: string;
10
+ users: NodeUser[];
11
+ notTodo?: boolean;
12
+ }
13
+
14
+ interface NodeUser {
15
+ userId: number;
16
+ realName: string;
17
+ }
18
+
19
+ interface FormConfig {
20
+ rowKey: string;
21
+ labelWidth: number;
22
+ span: null;
23
+ }
24
+
25
+ interface Option {
26
+ value: string;
27
+ label: string;
28
+ disabled?: boolean;
29
+ }
30
+
31
+ interface FormFrameItem {
32
+ field: string;
33
+ title: string;
34
+ disabled: boolean;
35
+ formEditor: string;
36
+ size: string;
37
+ placeholder: null | string;
38
+ componentParams: Record<string, any>;
39
+ formSpan: null | number;
40
+ noticeField: any[];
41
+ defaultValue: any;
42
+ multiple?: boolean;
43
+ options?: Option[];
44
+ }
45
+
46
+ interface FormData {
47
+ transaction_content: string;
48
+ trade_description: string;
49
+ remark: string;
50
+ kind: string;
51
+ tags: string[];
52
+ amount: number;
53
+ seller: string;
54
+ payment_method: string;
55
+ transaction_type: string;
56
+ status: string;
57
+ transaction_time: string;
58
+ id: string;
59
+ dataTitle: string;
60
+ }
61
+
62
+ interface EditConfig {
63
+ editDataId: string;
64
+ edit: boolean;
65
+ nodeId: number;
66
+ nodeName: string;
67
+ }
68
+
69
+ interface FormStructure {
70
+ formConfig: FormConfig;
71
+ formFrame: FormFrameItem[];
72
+ formData: FormData;
73
+ formButtons: any[];
74
+ flowButton: any;
75
+ fileUploadList: any[];
76
+ embeddedTableList: any[];
77
+ formValidate: any;
78
+ editConfig: EditConfig;
79
+ }
@@ -0,0 +1,22 @@
1
+ import { ApiInterface } from '../../api';
2
+ import { QueryTreeFilterConfig } from '../index.ts';
3
+
4
+
5
+ export interface QueryTreeFilterDataApiResponse extends ApiInterface {
6
+ data: QueryTreeFilterConfig;
7
+ }
8
+
9
+ /**
10
+ * 自动排序
11
+ */
12
+ export interface AutoSortTableDTO {
13
+ pageId: number;
14
+ /**
15
+ * 要上移的数据
16
+ */
17
+ upData: string;
18
+ /**
19
+ * 要下移动的数据
20
+ */
21
+ bottomData: string;
22
+ }
@@ -0,0 +1,34 @@
1
+ import { HttpRCode } from '../../api';
2
+
3
+
4
+ export interface ApiInterface<T = any> {
5
+ code: HttpRCode;
6
+ data: T;
7
+ msg: string;
8
+ editId?: string;
9
+ }
10
+
11
+ export interface QueryInterface {
12
+ fieldName: string;
13
+ value: string;
14
+ }
15
+
16
+ type Order = 'ASC' | 'DESC';
17
+
18
+ export interface PageInterface {
19
+ pageNumber: number;
20
+ pageSize: number;
21
+ fieldName: string;
22
+ orderBy: Order;
23
+ }
24
+
25
+ /** table数据 */
26
+ export interface TableData {
27
+ tableData: any[];
28
+ total: number;
29
+ pageSize: number;
30
+ }
31
+
32
+ export * from './app.req';
33
+ export * from './app.res';
34
+ export * from './appTable.api.res';
@@ -0,0 +1,5 @@
1
+ export interface PagePath {
2
+ pageId: number;
3
+ dataId: any;
4
+ formData: any;
5
+ }
@@ -0,0 +1,4 @@
1
+ declare module '*.svg' {
2
+ const src: string
3
+ export default src
4
+ }
@@ -0,0 +1,43 @@
1
+ import { Ref } from 'vue';
2
+
3
+
4
+ type ButtonType = 'danger' | 'primary' | 'success' | 'warning' | null;
5
+
6
+ export interface KeButton {
7
+ /** 按钮ID */
8
+ id: string;
9
+ /** 按钮名称 */
10
+ label?: string;
11
+ /**
12
+ * 按钮图标
13
+ */
14
+ icon?: string;
15
+ /** 按钮提示语 */
16
+ clickTips?: string;
17
+ /** 是否前端触发 */
18
+ webTrigger: boolean;
19
+ /** 前端方法 */
20
+ webFunction: Function;
21
+ /** 是否table列按钮 */
22
+ tableRow?: boolean;
23
+ /** 按钮type 对应element-plus按钮的type */
24
+ type: ButtonType;
25
+ /** 设置指定样式,优先级大于class */
26
+ buttonStyle?: any;
27
+ /** 引用预设的class */
28
+ buttonClass?: string;
29
+ /** 设置指定样式,优先级大于class */
30
+ fontStyle?: any;
31
+ /** 引用预设的class */
32
+ fontClass?: string;
33
+ /**
34
+ * 调用方法的第二个入参
35
+ */
36
+ params: ServerButtonProps;
37
+ }
38
+
39
+ export type ServerButtonProps = {
40
+ [key: string]: any;
41
+ dataId?: any;
42
+ pageId: number | Ref;
43
+ };
@@ -0,0 +1,32 @@
1
+ import { VxeGridProps } from 'vxe-table';
2
+ import { FormButton } from '#/component/FormComponent/types/formButton';
3
+
4
+
5
+ export interface CacheValue {
6
+ gridOptions: VxeGridProps;
7
+ /**
8
+ * 工具栏按钮
9
+ */
10
+ tableToolButtons: FormButton[];
11
+ /**
12
+ * 数据行按钮
13
+ */
14
+ tableRowButtons: FormButton[];
15
+ /**
16
+ * 分页内容
17
+ */
18
+ pagination: {
19
+ /**
20
+ * 当前页
21
+ */
22
+ currentPage: number;
23
+ /**
24
+ * 分页大小
25
+ */
26
+ pageSize: number;
27
+ /**
28
+ * 总数
29
+ */
30
+ total: number;
31
+ };
32
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * 接口
3
+ */
4
+ export interface ChartDTO {
5
+ id: number;
6
+ /**
7
+ * 图表名称
8
+ */
9
+ chartName: string;
10
+ /**
11
+ * 图表类型
12
+ */
13
+ chartType: string;
14
+ }
15
+
16
+ /**
17
+ * 接口请求数据
18
+ */
19
+ export interface ChartDataInterfaceDTO {
20
+ /** 原始数据 */
21
+ data: any[];
22
+ /** js格式化数据方法 */
23
+ formatterFunc: string;
24
+ /** 翻译数据 */
25
+ translationData: {
26
+ [key: string]: {
27
+ label: string;
28
+ value: string;
29
+ }[];
30
+ };
31
+ }
@@ -0,0 +1,5 @@
1
+ export type BtnFunction = {
2
+ [key: string]: (...args: unknown[]) => unknown;
3
+ };
4
+
5
+ export type AnyFunction = (...args: any[]) => any;
@@ -0,0 +1,24 @@
1
+ type Slots = 'renderAsyncCell' | 'renderCell';
2
+
3
+ interface ComponentFrame {
4
+ /** 字段名 */
5
+ field: string;
6
+ /** 字段标题 */
7
+ title: string;
8
+ /** 是否禁止编辑 */
9
+ disabled?: boolean;
10
+ /** 占位文本 */
11
+ placeholder?: string;
12
+ }
13
+
14
+ /** 下拉框、级联选择器类型数据 */
15
+ export interface OptionInterface {
16
+ value: number | string;
17
+ label: string;
18
+ disabled?: boolean;
19
+ children?: OptionInterface[];
20
+ }
21
+
22
+ export type HttpMethod = 'delete' | 'get' | 'head' | 'patch' | 'post' | 'put';
23
+
24
+ export type Size = 'default' | 'large' | 'small';
@@ -0,0 +1,7 @@
1
+ export interface FlowButton {
2
+ id: string;
3
+ submitLabel: string;
4
+ submitTips: string;
5
+ backLabel: string;
6
+ backTips: string;
7
+ }