@maketribe/ms-app 3.0.6 → 3.0.8

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 (1422) hide show
  1. package/dist/cjs/components/column-components/column-json/column-json-options.d.ts +23 -0
  2. package/dist/cjs/components/column-components/column-json/column-json-options.js +15 -0
  3. package/dist/cjs/components/column-components/column-json/column-json-options.js.map +1 -0
  4. package/dist/cjs/components/column-components/column-json/column-json.d.ts +44 -0
  5. package/dist/cjs/components/column-components/column-json/column-json.js +50 -0
  6. package/dist/cjs/components/column-components/column-json/column-json.js.map +1 -0
  7. package/dist/cjs/components/column-components/column-json/index.d.ts +45 -0
  8. package/dist/cjs/components/column-components/column-json/index.js +14 -0
  9. package/dist/cjs/components/column-components/column-json/index.js.map +1 -0
  10. package/dist/cjs/components/column-components/column-text/column-text.js +3 -1
  11. package/dist/cjs/components/column-components/column-text/column-text.js.map +1 -1
  12. package/dist/cjs/components/column-components/index.d.ts +1 -0
  13. package/dist/cjs/components/column-components/index.js +4 -0
  14. package/dist/cjs/components/column-components/index.js.map +1 -1
  15. package/dist/cjs/components/data-model/data-form/data-form.js +1 -1
  16. package/dist/cjs/components/data-model/data-form/data-form.js.map +1 -1
  17. package/dist/cjs/components/data-model/data-form/views/form/form.js +35 -12
  18. package/dist/cjs/components/data-model/data-form/views/form/form.js.map +1 -1
  19. package/dist/cjs/components/data-model/data-form/views/form-view/form-view.js +1 -2
  20. package/dist/cjs/components/data-model/data-form/views/form-view/form-view.js.map +1 -1
  21. package/dist/cjs/components/data-model/data-table/data-table-column/data-table-column.js.map +1 -1
  22. package/dist/cjs/components/data-model/data-table/data-table.js +1 -1
  23. package/dist/cjs/components/data-model/data-table/data-table.js.map +1 -1
  24. package/dist/cjs/components/data-model/data-table/index.js +21 -24
  25. package/dist/cjs/components/data-model/data-table/index.js.map +1 -1
  26. package/dist/cjs/components/data-model/data-table/views/index.d.ts +4 -0
  27. package/dist/cjs/components/data-model/data-table/views/index.js +21 -24
  28. package/dist/cjs/components/data-model/data-table/views/index.js.map +1 -1
  29. package/dist/cjs/components/data-model/data-table/views/table/index.d.ts +3 -4
  30. package/dist/cjs/components/data-model/data-table/views/table/index.js +6 -27
  31. package/dist/cjs/components/data-model/data-table/views/table/index.js.map +1 -1
  32. package/dist/cjs/components/data-model/data-table/views/table/table-options.d.ts +11 -0
  33. package/dist/cjs/components/data-model/data-table/views/table/table-options.js +14 -0
  34. package/dist/cjs/components/data-model/data-table/views/table/table-options.js.map +1 -0
  35. package/dist/cjs/components/data-model/data-table/views/table/table.js +63 -0
  36. package/dist/cjs/components/data-model/data-table/views/table/table.js.map +1 -0
  37. package/dist/cjs/components/data-model/data-table/views/table-tree/index.d.ts +17 -0
  38. package/dist/cjs/components/data-model/data-table/views/table-tree/index.js +14 -0
  39. package/dist/cjs/components/data-model/data-table/views/table-tree/index.js.map +1 -0
  40. package/dist/cjs/components/data-model/data-table/views/table-tree/table-tree-options.d.ts +11 -0
  41. package/dist/cjs/components/data-model/data-table/views/table-tree/table-tree-options.js +14 -0
  42. package/dist/cjs/components/data-model/data-table/views/table-tree/table-tree-options.js.map +1 -0
  43. package/dist/cjs/components/data-model/data-table/views/table-tree/table-tree.d.ts +16 -0
  44. package/dist/cjs/components/data-model/data-table/views/table-tree/table-tree.js +81 -0
  45. package/dist/cjs/components/data-model/data-table/views/table-tree/table-tree.js.map +1 -0
  46. package/dist/cjs/components/data-model/data-table/views/table-view/classify-search/classify-search-item/classify-search-item-options.js.map +1 -0
  47. package/dist/cjs/components/data-model/data-table/views/table-view/classify-search/classify-search-item/classify-search-item.js.map +1 -0
  48. package/dist/cjs/components/data-model/data-table/views/table-view/classify-search/classify-search-item/index.js.map +1 -0
  49. package/dist/cjs/components/data-model/data-table/views/table-view/classify-search/classify-search.js.map +1 -0
  50. package/dist/cjs/components/data-model/data-table/views/table-view/classify-search/index.js.map +1 -0
  51. package/dist/cjs/components/data-model/data-table/views/table-view/index.d.ts +17 -0
  52. package/dist/cjs/components/data-model/data-table/views/table-view/index.js +16 -0
  53. package/dist/cjs/components/data-model/data-table/views/table-view/index.js.map +1 -0
  54. package/dist/cjs/components/data-model/data-table/views/table-view/table-view-options.js.map +1 -0
  55. package/dist/cjs/components/data-model/data-table/views/table-view/table-view.js +85 -0
  56. package/dist/cjs/components/data-model/data-table/views/table-view/table-view.js.map +1 -0
  57. package/dist/cjs/components/data-model/data-table/views/tree/index.d.ts +45 -0
  58. package/dist/cjs/components/data-model/data-table/views/tree/index.js +14 -0
  59. package/dist/cjs/components/data-model/data-table/views/tree/index.js.map +1 -0
  60. package/dist/cjs/components/data-model/data-table/views/tree/tree-options.d.ts +18 -0
  61. package/dist/cjs/components/data-model/data-table/views/tree/tree-options.js +16 -0
  62. package/dist/cjs/components/data-model/data-table/views/tree/tree-options.js.map +1 -0
  63. package/dist/cjs/components/data-model/data-table/views/tree/tree.d.ts +47 -0
  64. package/dist/cjs/components/data-model/data-table/views/tree/tree.js +116 -0
  65. package/dist/cjs/components/data-model/data-table/views/tree/tree.js.map +1 -0
  66. package/dist/cjs/components/data-model/data-table/views/tree-view/index.d.ts +33 -0
  67. package/dist/cjs/components/data-model/data-table/views/tree-view/index.js +14 -0
  68. package/dist/cjs/components/data-model/data-table/views/tree-view/index.js.map +1 -0
  69. package/dist/cjs/components/data-model/data-table/views/tree-view/tree-view-options.d.ts +18 -0
  70. package/dist/cjs/components/data-model/data-table/views/tree-view/tree-view-options.js +18 -0
  71. package/dist/cjs/components/data-model/data-table/views/tree-view/tree-view-options.js.map +1 -0
  72. package/dist/cjs/components/data-model/data-table/views/tree-view/tree-view.d.ts +32 -0
  73. package/dist/cjs/components/data-model/data-table/views/tree-view/tree-view.js +74 -0
  74. package/dist/cjs/components/data-model/data-table/views/tree-view/tree-view.js.map +1 -0
  75. package/dist/cjs/components/data-model/data-table-page/data-table-page-options.d.ts +2 -0
  76. package/dist/cjs/components/data-model/data-table-page/data-table-page-options.js +2 -0
  77. package/dist/cjs/components/data-model/data-table-page/data-table-page-options.js.map +1 -1
  78. package/dist/cjs/components/data-model/data-table-page/data-table-page.d.ts +8 -1
  79. package/dist/cjs/components/data-model/data-table-page/data-table-page.js +2 -2
  80. package/dist/cjs/components/data-model/data-table-page/data-table-page.js.map +1 -1
  81. package/dist/cjs/components/data-model/data-table-page/index.d.ts +8 -1
  82. package/dist/cjs/components/data-model/index.d.ts +0 -2
  83. package/dist/cjs/components/data-model/index.js +25 -34
  84. package/dist/cjs/components/data-model/index.js.map +1 -1
  85. package/dist/cjs/components/data-table-select-dialog/data-table-select-dialog.d.ts +1 -1
  86. package/dist/cjs/components/data-table-select-dialog/data-table-select-dialog.js +0 -2
  87. package/dist/cjs/components/data-table-select-dialog/data-table-select-dialog.js.map +1 -1
  88. package/dist/cjs/components/data-table-select-dialog/index.d.ts +1 -1
  89. package/dist/cjs/components/form-components/form-detail/form-detail.js +0 -2
  90. package/dist/cjs/components/form-components/form-detail/form-detail.js.map +1 -1
  91. package/dist/cjs/components/image-select/image-select.js +1 -3
  92. package/dist/cjs/components/image-select/image-select.js.map +1 -1
  93. package/dist/cjs/components/index.d.ts +1 -2
  94. package/dist/cjs/components/index.js +107 -114
  95. package/dist/cjs/components/index.js.map +1 -1
  96. package/dist/cjs/components/json-editor/index.d.ts +24 -0
  97. package/dist/cjs/components/json-editor/index.js +12 -0
  98. package/dist/cjs/components/json-editor/index.js.map +1 -0
  99. package/dist/cjs/components/json-editor/json-editor-options.d.ts +15 -0
  100. package/dist/cjs/components/json-editor/json-editor-options.js +21 -0
  101. package/dist/cjs/components/json-editor/json-editor-options.js.map +1 -0
  102. package/dist/cjs/components/json-editor/json-editor.d.ts +24 -0
  103. package/dist/cjs/components/json-editor/json-editor.js +31 -0
  104. package/dist/cjs/components/json-editor/json-editor.js.map +1 -0
  105. package/dist/cjs/components/markdown-editor/markdown-editor.js +1 -5
  106. package/dist/cjs/components/markdown-editor/markdown-editor.js.map +1 -1
  107. package/dist/cjs/components/material-list/material-group-form-popover.vue2.js +1 -1
  108. package/dist/cjs/components/material-list/material-group-form-popover.vue2.js.map +1 -1
  109. package/dist/cjs/components/material-list/material-group.vue2.js +111 -92
  110. package/dist/cjs/components/material-list/material-group.vue2.js.map +1 -1
  111. package/dist/cjs/components/material-list/material-item.vue2.js +13 -1
  112. package/dist/cjs/components/material-list/material-item.vue2.js.map +1 -1
  113. package/dist/cjs/components/material-list/material-list-options.js +13 -1
  114. package/dist/cjs/components/material-list/material-list-options.js.map +1 -1
  115. package/dist/cjs/components/material-select/material-select-api.js +2 -0
  116. package/dist/cjs/components/material-select/material-select-api.js.map +1 -1
  117. package/dist/cjs/components/material-select/material-select-options.js +13 -1
  118. package/dist/cjs/components/material-select/material-select-options.js.map +1 -1
  119. package/dist/cjs/components/material-select/material-select.js +12 -0
  120. package/dist/cjs/components/material-select/material-select.js.map +1 -1
  121. package/dist/cjs/components/rich-text-editor/rich-text-editor.js +1 -3
  122. package/dist/cjs/components/rich-text-editor/rich-text-editor.js.map +1 -1
  123. package/dist/cjs/components/role-permission-config/role-permission-config-options.js +13 -1
  124. package/dist/cjs/components/role-permission-config/role-permission-config-options.js.map +1 -1
  125. package/dist/cjs/components/role-permission-config/role-permission-config.js.map +1 -1
  126. package/dist/cjs/components/verify-dialog/index.d.ts +2 -2
  127. package/dist/cjs/components/verify-dialog/verify-dialog-option.d.ts +1 -1
  128. package/dist/cjs/components/verify-dialog/verify-dialog-option.js +1 -1
  129. package/dist/cjs/components/verify-dialog/verify-dialog-option.js.map +1 -1
  130. package/dist/cjs/components/verify-dialog/verify-dialog.d.ts +2 -2
  131. package/dist/cjs/components/verify-dialog/verify-dialog.js +68 -26
  132. package/dist/cjs/components/verify-dialog/verify-dialog.js.map +1 -1
  133. package/dist/cjs/constants/index.d.ts +3 -0
  134. package/dist/cjs/constants/index.js +7 -0
  135. package/dist/cjs/constants/index.js.map +1 -1
  136. package/dist/cjs/constants/log.d.ts +5 -0
  137. package/dist/cjs/constants/log.js +11 -0
  138. package/dist/cjs/constants/log.js.map +1 -0
  139. package/dist/cjs/constants/menu.d.ts +3 -2
  140. package/dist/cjs/constants/menu.js +3 -2
  141. package/dist/cjs/constants/menu.js.map +1 -1
  142. package/dist/cjs/constants/pattern.d.ts +2 -0
  143. package/dist/cjs/constants/pattern.js +8 -0
  144. package/dist/cjs/constants/pattern.js.map +1 -0
  145. package/dist/cjs/constants/region.d.ts +6 -0
  146. package/dist/cjs/constants/region.js +12 -0
  147. package/dist/cjs/constants/region.js.map +1 -0
  148. package/dist/cjs/core/DataModelDefines.d.ts +7 -1
  149. package/dist/cjs/core/DataModelDefines.js +9 -0
  150. package/dist/cjs/core/DataModelDefines.js.map +1 -1
  151. package/dist/cjs/core/MSAppClient.d.ts +1 -0
  152. package/dist/cjs/core/MSAppClient.js +3 -0
  153. package/dist/cjs/core/MSAppClient.js.map +1 -1
  154. package/dist/cjs/core/PageManager.js +19 -9
  155. package/dist/cjs/core/PageManager.js.map +1 -1
  156. package/dist/cjs/core/Router.js +52 -13
  157. package/dist/cjs/core/Router.js.map +1 -1
  158. package/dist/cjs/core/UserInfo.d.ts +1 -1
  159. package/dist/cjs/core/UserInfo.js +2 -2
  160. package/dist/cjs/core/UserInfo.js.map +1 -1
  161. package/dist/cjs/core/component/ConfigComponents.js +6 -3
  162. package/dist/cjs/core/component/ConfigComponents.js.map +1 -1
  163. package/dist/cjs/core/component/DataTableComponents.js +7 -0
  164. package/dist/cjs/core/component/DataTableComponents.js.map +1 -1
  165. package/dist/cjs/dataview/config/ConfigForm.d.ts +2 -2
  166. package/dist/cjs/dataview/config/ConfigForm.js +12 -3
  167. package/dist/cjs/dataview/config/ConfigForm.js.map +1 -1
  168. package/dist/cjs/dataview/config/ConfigTable.js +2 -0
  169. package/dist/cjs/dataview/config/ConfigTable.js.map +1 -1
  170. package/dist/cjs/dataview/deny-ip-access-list/DenyIPAccessListForm.d.ts +9 -0
  171. package/dist/cjs/dataview/deny-ip-access-list/DenyIPAccessListForm.js +27 -0
  172. package/dist/cjs/dataview/deny-ip-access-list/DenyIPAccessListForm.js.map +1 -0
  173. package/dist/cjs/dataview/deny-ip-access-list/DenyIPAccessListTable.d.ts +6 -0
  174. package/dist/cjs/dataview/deny-ip-access-list/DenyIPAccessListTable.js +68 -0
  175. package/dist/cjs/dataview/deny-ip-access-list/DenyIPAccessListTable.js.map +1 -0
  176. package/dist/cjs/dataview/deny-ip-access-list/index.d.ts +2 -0
  177. package/dist/cjs/dataview/deny-ip-access-list/index.js +10 -0
  178. package/dist/cjs/dataview/department/DepartmentForm.js +1 -0
  179. package/dist/cjs/dataview/department/DepartmentForm.js.map +1 -1
  180. package/dist/cjs/dataview/department/DepartmentTable.d.ts +0 -3
  181. package/dist/cjs/dataview/department/DepartmentTable.js +1 -0
  182. package/dist/cjs/dataview/department/DepartmentTable.js.map +1 -1
  183. package/dist/cjs/dataview/department/DepartmentTree.d.ts +11 -0
  184. package/dist/cjs/dataview/department/DepartmentTree.js +37 -0
  185. package/dist/cjs/dataview/department/DepartmentTree.js.map +1 -0
  186. package/dist/cjs/dataview/department/index.d.ts +1 -0
  187. package/dist/cjs/dataview/department/index.js +2 -0
  188. package/dist/cjs/dataview/department/index.js.map +1 -1
  189. package/dist/cjs/dataview/index.d.ts +4 -0
  190. package/dist/cjs/dataview/index.js +24 -2
  191. package/dist/cjs/dataview/index.js.map +1 -1
  192. package/dist/cjs/dataview/ip-white-list/IPWhitelistForm.d.ts +9 -0
  193. package/dist/cjs/dataview/ip-white-list/IPWhitelistForm.js +27 -0
  194. package/dist/cjs/dataview/ip-white-list/IPWhitelistForm.js.map +1 -0
  195. package/dist/cjs/dataview/ip-white-list/IPWhitelistTable.d.ts +6 -0
  196. package/dist/cjs/dataview/ip-white-list/IPWhitelistTable.js +68 -0
  197. package/dist/cjs/dataview/ip-white-list/IPWhitelistTable.js.map +1 -0
  198. package/dist/cjs/dataview/ip-white-list/index.d.ts +2 -0
  199. package/dist/cjs/dataview/ip-white-list/index.js +10 -0
  200. package/dist/cjs/dataview/ip-white-list/index.js.map +1 -0
  201. package/dist/cjs/dataview/log/index.d.ts +4 -0
  202. package/dist/cjs/dataview/log/index.js +14 -0
  203. package/dist/cjs/dataview/log/index.js.map +1 -0
  204. package/dist/cjs/dataview/log/local-log/LocalLogTree.d.ts +13 -0
  205. package/dist/cjs/dataview/log/local-log/LocalLogTree.js +58 -0
  206. package/dist/cjs/dataview/log/local-log/LocalLogTree.js.map +1 -0
  207. package/dist/cjs/dataview/log/local-log/index.d.ts +1 -0
  208. package/dist/cjs/dataview/log/local-log/index.js +8 -0
  209. package/dist/cjs/dataview/log/local-log/index.js.map +1 -0
  210. package/dist/cjs/dataview/log/login-log/LoginLogTable.d.ts +17 -0
  211. package/dist/cjs/dataview/log/login-log/LoginLogTable.js +41 -0
  212. package/dist/cjs/dataview/log/login-log/LoginLogTable.js.map +1 -0
  213. package/dist/cjs/dataview/log/login-log/index.d.ts +1 -0
  214. package/dist/cjs/dataview/log/login-log/index.js +8 -0
  215. package/dist/cjs/dataview/log/login-log/index.js.map +1 -0
  216. package/dist/cjs/dataview/log/operate-log/OperateLogTable.d.ts +5 -0
  217. package/dist/cjs/dataview/log/operate-log/OperateLogTable.js +22 -0
  218. package/dist/cjs/dataview/log/operate-log/OperateLogTable.js.map +1 -0
  219. package/dist/cjs/dataview/log/operate-log/index.d.ts +1 -0
  220. package/dist/cjs/dataview/log/operate-log/index.js +8 -0
  221. package/dist/cjs/dataview/log/operate-log/index.js.map +1 -0
  222. package/dist/cjs/dataview/log/request-log/RequestLogTable.d.ts +20 -0
  223. package/dist/cjs/dataview/log/request-log/RequestLogTable.js +64 -0
  224. package/dist/cjs/dataview/log/request-log/RequestLogTable.js.map +1 -0
  225. package/dist/cjs/dataview/log/request-log/index.d.ts +1 -0
  226. package/dist/cjs/dataview/log/request-log/index.js +8 -0
  227. package/dist/cjs/dataview/log/request-log/index.js.map +1 -0
  228. package/dist/cjs/dataview/material/MaterialForm.js +1 -0
  229. package/dist/cjs/dataview/material/MaterialForm.js.map +1 -1
  230. package/dist/cjs/dataview/material/MaterialMan.d.ts +4 -4
  231. package/dist/cjs/dataview/material/MaterialMan.js +13 -21
  232. package/dist/cjs/dataview/material/MaterialMan.js.map +1 -1
  233. package/dist/cjs/dataview/material/MaterialTable.js +2 -1
  234. package/dist/cjs/dataview/material/MaterialTable.js.map +1 -1
  235. package/dist/cjs/dataview/material/index.js +2 -2
  236. package/dist/cjs/dataview/material/material-group/MaterialGroupForm.js +1 -0
  237. package/dist/cjs/dataview/material/material-group/MaterialGroupForm.js.map +1 -1
  238. package/dist/cjs/dataview/material/material-group/MaterialGroupTable.js +1 -0
  239. package/dist/cjs/dataview/material/material-group/MaterialGroupTable.js.map +1 -1
  240. package/dist/cjs/dataview/material/material-group/MaterialGroupTree.d.ts +14 -0
  241. package/dist/cjs/dataview/material/material-group/MaterialGroupTree.js +48 -0
  242. package/dist/cjs/dataview/material/material-group/MaterialGroupTree.js.map +1 -0
  243. package/dist/cjs/dataview/material/material-group/index.d.ts +1 -1
  244. package/dist/cjs/dataview/material/material-group/index.js +2 -2
  245. package/dist/cjs/dataview/member/MemberForm.js +10 -1
  246. package/dist/cjs/dataview/member/MemberForm.js.map +1 -1
  247. package/dist/cjs/dataview/member/MemberTable.js +8 -5
  248. package/dist/cjs/dataview/member/MemberTable.js.map +1 -1
  249. package/dist/cjs/dataview/member/member-role/MemberRoleTable.js +1 -0
  250. package/dist/cjs/dataview/member/member-role/MemberRoleTable.js.map +1 -1
  251. package/dist/cjs/dataview/menu/MenuForm.js +41 -26
  252. package/dist/cjs/dataview/menu/MenuForm.js.map +1 -1
  253. package/dist/cjs/dataview/menu/MenuTable.js +1 -0
  254. package/dist/cjs/dataview/menu/MenuTable.js.map +1 -1
  255. package/dist/cjs/dataview/menu/MenuTree.d.ts +10 -15
  256. package/dist/cjs/dataview/menu/MenuTree.js +63 -86
  257. package/dist/cjs/dataview/menu/MenuTree.js.map +1 -1
  258. package/dist/cjs/dataview/menu/permission-point/PermissionPointDefineForm.js +1 -0
  259. package/dist/cjs/dataview/menu/permission-point/PermissionPointDefineForm.js.map +1 -1
  260. package/dist/cjs/dataview/menu/permission-point/PermissionPointDefineTable.js +1 -0
  261. package/dist/cjs/dataview/menu/permission-point/PermissionPointDefineTable.js.map +1 -1
  262. package/dist/cjs/dataview/region/RegionForm.d.ts +15 -0
  263. package/dist/cjs/dataview/region/RegionForm.js +43 -0
  264. package/dist/cjs/dataview/region/RegionForm.js.map +1 -0
  265. package/dist/cjs/dataview/region/RegionTable.d.ts +6 -0
  266. package/dist/cjs/dataview/region/RegionTable.js +57 -0
  267. package/dist/cjs/dataview/region/RegionTable.js.map +1 -0
  268. package/dist/cjs/dataview/region/index.d.ts +2 -0
  269. package/dist/cjs/dataview/region/index.js +10 -0
  270. package/dist/cjs/dataview/region/index.js.map +1 -0
  271. package/dist/cjs/dataview/role/RoleForm.js +1 -0
  272. package/dist/cjs/dataview/role/RoleForm.js.map +1 -1
  273. package/dist/cjs/dataview/role/RolePermissionConfigTable.d.ts +1 -1
  274. package/dist/cjs/dataview/role/RolePermissionConfigTable.js +6 -4
  275. package/dist/cjs/dataview/role/RolePermissionConfigTable.js.map +1 -1
  276. package/dist/cjs/dataview/role/RoleTable.js +1 -0
  277. package/dist/cjs/dataview/role/RoleTable.js.map +1 -1
  278. package/dist/cjs/dataview/role/role-permission-point/RolePermissionPointTable.js +1 -0
  279. package/dist/cjs/dataview/role/role-permission-point/RolePermissionPointTable.js.map +1 -1
  280. package/dist/cjs/dataview/role/role-route/RoleRouteTable.js +1 -0
  281. package/dist/cjs/dataview/role/role-route/RoleRouteTable.js.map +1 -1
  282. package/dist/cjs/dataview/route/RouteForm.js +1 -1
  283. package/dist/cjs/dataview/route/RouteForm.js.map +1 -1
  284. package/dist/cjs/dataview/route/RouteTable.js +1 -0
  285. package/dist/cjs/dataview/route/RouteTable.js.map +1 -1
  286. package/dist/cjs/define-data-tree.d.ts +2 -0
  287. package/dist/cjs/define-data-tree.js +21 -0
  288. package/dist/cjs/define-data-tree.js.map +1 -0
  289. package/dist/cjs/index.d.ts +1 -0
  290. package/dist/cjs/index.js +123 -101
  291. package/dist/cjs/index.js.map +1 -1
  292. package/dist/cjs/installer.js +32 -36
  293. package/dist/cjs/installer.js.map +1 -1
  294. package/dist/cjs/layouts/components/bar/index.d.ts +10 -0
  295. package/dist/cjs/layouts/components/bar/index.js +130 -0
  296. package/dist/cjs/layouts/components/bar/index.js.map +1 -0
  297. package/dist/cjs/layouts/components/header/index.d.ts +1 -0
  298. package/dist/cjs/layouts/components/header/index.js +22 -0
  299. package/dist/cjs/layouts/components/header/index.js.map +1 -0
  300. package/dist/cjs/layouts/components/header/tools.d.ts +1 -0
  301. package/dist/cjs/layouts/components/header/tools.js +99 -0
  302. package/dist/cjs/layouts/components/header/tools.js.map +1 -0
  303. package/dist/cjs/layouts/components/index.js.map +1 -0
  304. package/dist/cjs/layouts/components/lock/index.js.map +1 -0
  305. package/dist/cjs/layouts/components/lock/lock.js +144 -0
  306. package/dist/cjs/layouts/components/lock/lock.js.map +1 -0
  307. package/dist/cjs/layouts/components/menu/index.d.ts +20 -0
  308. package/dist/cjs/layouts/components/menu/index.js +68 -0
  309. package/dist/cjs/layouts/components/menu/index.js.map +1 -0
  310. package/dist/cjs/layouts/components/menu/menu-item.d.ts +13 -0
  311. package/dist/cjs/layouts/components/menu/menu-item.js +105 -0
  312. package/dist/cjs/layouts/components/menu/menu-item.js.map +1 -0
  313. package/dist/cjs/layouts/container/default.js +134 -0
  314. package/dist/cjs/layouts/container/default.js.map +1 -0
  315. package/dist/cjs/layouts/index.d.ts +2 -2
  316. package/dist/cjs/layouts/index.js +6 -4
  317. package/dist/cjs/layouts/index.js.map +1 -1
  318. package/dist/cjs/layouts/layout.js +16 -0
  319. package/dist/cjs/layouts/layout.js.map +1 -0
  320. package/dist/cjs/node_modules/.pnpm/@codemirror_autocomplete@6.11.1_@codemirror_language@6.9.3_@codemirror_state@6.3.2_@codemirro_dop6xooh6ucho44vivbvrw3b2e/node_modules/@codemirror/autocomplete/dist/index.js +1563 -0
  321. package/dist/cjs/node_modules/.pnpm/@codemirror_autocomplete@6.11.1_@codemirror_language@6.9.3_@codemirror_state@6.3.2_@codemirro_dop6xooh6ucho44vivbvrw3b2e/node_modules/@codemirror/autocomplete/dist/index.js.map +1 -0
  322. package/dist/cjs/node_modules/.pnpm/@codemirror_commands@6.3.2/node_modules/@codemirror/commands/dist/index.js +1492 -0
  323. package/dist/cjs/node_modules/.pnpm/@codemirror_commands@6.3.2/node_modules/@codemirror/commands/dist/index.js.map +1 -0
  324. package/dist/cjs/node_modules/.pnpm/@codemirror_lang-json@6.0.1/node_modules/@codemirror/lang-json/dist/index.js +36 -0
  325. package/dist/cjs/node_modules/.pnpm/@codemirror_lang-json@6.0.1/node_modules/@codemirror/lang-json/dist/index.js.map +1 -0
  326. package/dist/cjs/node_modules/.pnpm/@codemirror_language@6.9.3/node_modules/@codemirror/language/dist/index.js +1839 -0
  327. package/dist/cjs/node_modules/.pnpm/@codemirror_language@6.9.3/node_modules/@codemirror/language/dist/index.js.map +1 -0
  328. package/dist/cjs/node_modules/.pnpm/@codemirror_lint@6.4.2/node_modules/@codemirror/lint/dist/index.js +525 -0
  329. package/dist/cjs/node_modules/.pnpm/@codemirror_lint@6.4.2/node_modules/@codemirror/lint/dist/index.js.map +1 -0
  330. package/dist/cjs/node_modules/.pnpm/@codemirror_search@6.5.5/node_modules/@codemirror/search/dist/index.js +1214 -0
  331. package/dist/cjs/node_modules/.pnpm/@codemirror_search@6.5.5/node_modules/@codemirror/search/dist/index.js.map +1 -0
  332. package/dist/cjs/node_modules/.pnpm/@codemirror_state@6.3.2/node_modules/@codemirror/state/dist/index.js +3928 -0
  333. package/dist/cjs/node_modules/.pnpm/@codemirror_state@6.3.2/node_modules/@codemirror/state/dist/index.js.map +1 -0
  334. package/dist/cjs/node_modules/.pnpm/@codemirror_view@6.22.1/node_modules/@codemirror/view/dist/index.js +10386 -0
  335. package/dist/cjs/node_modules/.pnpm/@codemirror_view@6.22.1/node_modules/@codemirror/view/dist/index.js.map +1 -0
  336. package/dist/cjs/node_modules/.pnpm/@lezer_common@1.1.1/node_modules/@lezer/common/dist/index.js +1697 -0
  337. package/dist/cjs/node_modules/.pnpm/@lezer_common@1.1.1/node_modules/@lezer/common/dist/index.js.map +1 -0
  338. package/dist/cjs/node_modules/.pnpm/@lezer_highlight@1.2.0/node_modules/@lezer/highlight/dist/index.js +869 -0
  339. package/dist/cjs/node_modules/.pnpm/@lezer_highlight@1.2.0/node_modules/@lezer/highlight/dist/index.js.map +1 -0
  340. package/dist/cjs/node_modules/.pnpm/@lezer_json@1.0.1/node_modules/@lezer/json/dist/index.js +39 -0
  341. package/dist/cjs/node_modules/.pnpm/@lezer_json@1.0.1/node_modules/@lezer/json/dist/index.js.map +1 -0
  342. package/dist/cjs/node_modules/.pnpm/@lezer_lr@1.3.14/node_modules/@lezer/lr/dist/index.js +1790 -0
  343. package/dist/cjs/node_modules/.pnpm/@lezer_lr@1.3.14/node_modules/@lezer/lr/dist/index.js.map +1 -0
  344. package/dist/cjs/node_modules/.pnpm/codemirror@6.0.1_@lezer_common@1.1.1/node_modules/codemirror/dist/index.js +81 -0
  345. package/dist/cjs/node_modules/.pnpm/codemirror@6.0.1_@lezer_common@1.1.1/node_modules/codemirror/dist/index.js.map +1 -0
  346. package/dist/cjs/node_modules/.pnpm/crelt@1.0.6/node_modules/crelt/index.js +32 -0
  347. package/dist/cjs/node_modules/.pnpm/crelt@1.0.6/node_modules/crelt/index.js.map +1 -0
  348. package/dist/cjs/node_modules/.pnpm/style-mod@4.1.0/node_modules/style-mod/src/style-mod.js +177 -0
  349. package/dist/cjs/node_modules/.pnpm/style-mod@4.1.0/node_modules/style-mod/src/style-mod.js.map +1 -0
  350. package/dist/cjs/node_modules/.pnpm/vue-codemirror@6.1.1_codemirror@6.0.1_vue@3.3.4/node_modules/vue-codemirror/dist/vue-codemirror.esm.js +20 -0
  351. package/dist/cjs/node_modules/.pnpm/vue-codemirror@6.1.1_codemirror@6.0.1_vue@3.3.4/node_modules/vue-codemirror/dist/vue-codemirror.esm.js.map +1 -0
  352. package/dist/cjs/node_modules/.pnpm/w3c-keyname@2.2.8/node_modules/w3c-keyname/index.js +126 -0
  353. package/dist/cjs/node_modules/.pnpm/w3c-keyname@2.2.8/node_modules/w3c-keyname/index.js.map +1 -0
  354. package/dist/cjs/page/index/dv/default/add.vue2.js +1 -1
  355. package/dist/cjs/page/index/dv/default/add.vue2.js.map +1 -1
  356. package/dist/cjs/page/index/dv/default/edit.vue2.js +1 -1
  357. package/dist/cjs/page/index/dv/default/edit.vue2.js.map +1 -1
  358. package/dist/cjs/page/index/dv/default/single/list/dialog.vue.js +9 -0
  359. package/dist/cjs/page/index/dv/default/single/list/dialog.vue.js.map +1 -0
  360. package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js +245 -0
  361. package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js.map +1 -0
  362. package/dist/cjs/page/index/dv/default/single/list/normal.vue.js +9 -0
  363. package/dist/cjs/page/index/dv/default/single/list/normal.vue.js.map +1 -0
  364. package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js +193 -0
  365. package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js.map +1 -0
  366. package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue.js +9 -0
  367. package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue.js.map +1 -0
  368. package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue2.js +110 -0
  369. package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue2.js.map +1 -0
  370. package/dist/cjs/page/index/dv/default/single/tree/dialog.vue.js +9 -0
  371. package/dist/cjs/page/index/dv/default/single/tree/dialog.vue.js.map +1 -0
  372. package/dist/cjs/page/index/dv/default/single/tree/dialog.vue2.js +247 -0
  373. package/dist/cjs/page/index/dv/default/single/tree/dialog.vue2.js.map +1 -0
  374. package/dist/cjs/page/index/dv/default/table.vue.js +9 -0
  375. package/dist/cjs/page/index/dv/default/table.vue.js.map +1 -0
  376. package/dist/cjs/page/index/dv/default/table.vue2.js +109 -0
  377. package/dist/cjs/page/index/dv/default/table.vue2.js.map +1 -0
  378. package/dist/cjs/page/index/dv/local-log/index.vue.js +9 -0
  379. package/dist/cjs/page/index/dv/local-log/index.vue2.js +175 -0
  380. package/dist/cjs/page/index/dv/local-log/index.vue2.js.map +1 -0
  381. package/dist/cjs/page/index/dv/ms-member/index.vue2.js +2 -2
  382. package/dist/cjs/page/index/dv/ms-member/index.vue2.js.map +1 -1
  383. package/dist/cjs/page/index/dv/ms-role/index.vue2.js +29 -14
  384. package/dist/cjs/page/index/dv/ms-role/index.vue2.js.map +1 -1
  385. package/dist/cjs/page/index/material/index.vue2.js +15 -5
  386. package/dist/cjs/page/index/material/index.vue2.js.map +1 -1
  387. package/dist/cjs/page/index.vue2.js +2 -10
  388. package/dist/cjs/page/index.vue2.js.map +1 -1
  389. package/dist/cjs/page/login/index.vue2.js +6 -5
  390. package/dist/cjs/page/login/index.vue2.js.map +1 -1
  391. package/dist/cjs/page/signup/index.vue2.js +2 -4
  392. package/dist/cjs/page/signup/index.vue2.js.map +1 -1
  393. package/dist/esm/components/column-components/column-json/column-json-options.d.ts +23 -0
  394. package/dist/esm/components/column-components/column-json/column-json-options.js +13 -0
  395. package/dist/esm/components/column-components/column-json/column-json-options.js.map +1 -0
  396. package/dist/esm/components/column-components/column-json/column-json.d.ts +44 -0
  397. package/dist/esm/components/column-components/column-json/column-json.js +48 -0
  398. package/dist/esm/components/column-components/column-json/column-json.js.map +1 -0
  399. package/dist/esm/components/column-components/column-json/index.d.ts +45 -0
  400. package/dist/esm/components/column-components/column-json/index.js +8 -0
  401. package/dist/esm/components/column-components/column-json/index.js.map +1 -0
  402. package/dist/esm/components/column-components/column-text/column-text.js +3 -1
  403. package/dist/esm/components/column-components/column-text/column-text.js.map +1 -1
  404. package/dist/esm/components/column-components/index.d.ts +1 -0
  405. package/dist/esm/components/column-components/index.js +2 -0
  406. package/dist/esm/components/column-components/index.js.map +1 -1
  407. package/dist/esm/components/data-model/data-form/data-form.js +1 -1
  408. package/dist/esm/components/data-model/data-form/data-form.js.map +1 -1
  409. package/dist/esm/components/data-model/data-form/views/form/form.js +36 -13
  410. package/dist/esm/components/data-model/data-form/views/form/form.js.map +1 -1
  411. package/dist/esm/components/data-model/data-form/views/form-view/form-view.js +2 -3
  412. package/dist/esm/components/data-model/data-form/views/form-view/form-view.js.map +1 -1
  413. package/dist/esm/components/data-model/data-table/data-table-column/data-table-column.js.map +1 -1
  414. package/dist/esm/components/data-model/data-table/data-table.js +1 -1
  415. package/dist/esm/components/data-model/data-table/data-table.js.map +1 -1
  416. package/dist/esm/components/data-model/data-table/index.js +11 -7
  417. package/dist/esm/components/data-model/data-table/index.js.map +1 -1
  418. package/dist/esm/components/data-model/data-table/views/index.d.ts +4 -0
  419. package/dist/esm/components/data-model/data-table/views/index.js +11 -7
  420. package/dist/esm/components/data-model/data-table/views/index.js.map +1 -1
  421. package/dist/esm/components/data-model/data-table/views/table/index.d.ts +3 -4
  422. package/dist/esm/components/data-model/data-table/views/table/index.js +4 -9
  423. package/dist/esm/components/data-model/data-table/views/table/index.js.map +1 -1
  424. package/dist/esm/components/data-model/data-table/views/table/table-options.d.ts +11 -0
  425. package/dist/esm/components/data-model/data-table/views/table/table-options.js +12 -0
  426. package/dist/esm/components/data-model/data-table/views/table/table-options.js.map +1 -0
  427. package/dist/esm/components/data-model/data-table/views/table/table.d.ts +16 -0
  428. package/dist/esm/components/data-model/data-table/views/table/table.js +61 -0
  429. package/dist/esm/components/data-model/data-table/views/table/table.js.map +1 -0
  430. package/dist/esm/components/data-model/data-table/views/table-tree/index.d.ts +17 -0
  431. package/dist/esm/components/data-model/data-table/views/table-tree/index.js +8 -0
  432. package/dist/esm/components/data-model/data-table/views/table-tree/index.js.map +1 -0
  433. package/dist/esm/components/data-model/data-table/views/table-tree/table-tree-options.d.ts +11 -0
  434. package/dist/esm/components/data-model/data-table/views/table-tree/table-tree-options.js +12 -0
  435. package/dist/esm/components/data-model/data-table/views/table-tree/table-tree-options.js.map +1 -0
  436. package/dist/esm/components/data-model/data-table/views/table-tree/table-tree.d.ts +16 -0
  437. package/dist/esm/components/data-model/data-table/views/table-tree/table-tree.js +79 -0
  438. package/dist/esm/components/data-model/data-table/views/table-tree/table-tree.js.map +1 -0
  439. package/dist/esm/components/data-model/data-table/views/table-view/classify-search/classify-search-item/classify-search-item-options.js.map +1 -0
  440. package/dist/esm/components/data-model/data-table/views/table-view/classify-search/classify-search-item/classify-search-item.js.map +1 -0
  441. package/dist/esm/components/data-model/data-table/views/table-view/classify-search/classify-search-item/index.js.map +1 -0
  442. package/dist/esm/components/data-model/data-table/views/table-view/classify-search/classify-search.js.map +1 -0
  443. package/dist/esm/components/data-model/data-table/views/table-view/classify-search/index.js.map +1 -0
  444. package/dist/esm/components/data-model/data-table/views/table-view/index.d.ts +17 -0
  445. package/dist/esm/components/data-model/data-table/views/table-view/index.js +9 -0
  446. package/dist/esm/components/data-model/data-table/views/table-view/index.js.map +1 -0
  447. package/dist/esm/components/data-model/data-table/views/table-view/table-view-options.js.map +1 -0
  448. package/dist/esm/components/data-model/data-table/views/table-view/table-view.d.ts +16 -0
  449. package/dist/esm/components/data-model/data-table/views/table-view/table-view.js +83 -0
  450. package/dist/esm/components/data-model/data-table/views/table-view/table-view.js.map +1 -0
  451. package/dist/esm/components/data-model/data-table/views/tree/index.d.ts +45 -0
  452. package/dist/esm/components/data-model/data-table/views/tree/index.js +8 -0
  453. package/dist/esm/components/data-model/data-table/views/tree/index.js.map +1 -0
  454. package/dist/esm/components/data-model/data-table/views/tree/tree-options.d.ts +18 -0
  455. package/dist/esm/components/data-model/data-table/views/tree/tree-options.js +14 -0
  456. package/dist/esm/components/data-model/data-table/views/tree/tree-options.js.map +1 -0
  457. package/dist/esm/components/data-model/data-table/views/tree/tree.d.ts +47 -0
  458. package/dist/esm/components/data-model/data-table/views/tree/tree.js +114 -0
  459. package/dist/esm/components/data-model/data-table/views/tree/tree.js.map +1 -0
  460. package/dist/esm/components/data-model/data-table/views/tree-view/index.d.ts +33 -0
  461. package/dist/esm/components/data-model/data-table/views/tree-view/index.js +8 -0
  462. package/dist/esm/components/data-model/data-table/views/tree-view/index.js.map +1 -0
  463. package/dist/esm/components/data-model/data-table/views/tree-view/tree-view-options.d.ts +18 -0
  464. package/dist/esm/components/data-model/data-table/views/tree-view/tree-view-options.js +16 -0
  465. package/dist/esm/components/data-model/data-table/views/tree-view/tree-view-options.js.map +1 -0
  466. package/dist/esm/components/data-model/data-table/views/tree-view/tree-view.d.ts +32 -0
  467. package/dist/esm/components/data-model/data-table/views/tree-view/tree-view.js +72 -0
  468. package/dist/esm/components/data-model/data-table/views/tree-view/tree-view.js.map +1 -0
  469. package/dist/esm/components/data-model/data-table-page/data-table-page-options.d.ts +2 -0
  470. package/dist/esm/components/data-model/data-table-page/data-table-page-options.js +2 -0
  471. package/dist/esm/components/data-model/data-table-page/data-table-page-options.js.map +1 -1
  472. package/dist/esm/components/data-model/data-table-page/data-table-page.d.ts +8 -1
  473. package/dist/esm/components/data-model/data-table-page/data-table-page.js +3 -3
  474. package/dist/esm/components/data-model/data-table-page/data-table-page.js.map +1 -1
  475. package/dist/esm/components/data-model/data-table-page/index.d.ts +8 -1
  476. package/dist/esm/components/data-model/index.d.ts +0 -2
  477. package/dist/esm/components/data-model/index.js +11 -10
  478. package/dist/esm/components/data-model/index.js.map +1 -1
  479. package/dist/esm/components/data-table-select-dialog/data-table-select-dialog.d.ts +1 -1
  480. package/dist/esm/components/data-table-select-dialog/data-table-select-dialog.js +0 -2
  481. package/dist/esm/components/data-table-select-dialog/data-table-select-dialog.js.map +1 -1
  482. package/dist/esm/components/data-table-select-dialog/index.d.ts +1 -1
  483. package/dist/esm/components/form-components/form-detail/form-detail.js +0 -2
  484. package/dist/esm/components/form-components/form-detail/form-detail.js.map +1 -1
  485. package/dist/esm/components/image-select/image-select.js +1 -3
  486. package/dist/esm/components/image-select/image-select.js.map +1 -1
  487. package/dist/esm/components/index.d.ts +1 -2
  488. package/dist/esm/components/index.js +14 -12
  489. package/dist/esm/components/index.js.map +1 -1
  490. package/dist/esm/components/json-editor/index.d.ts +24 -0
  491. package/dist/esm/components/json-editor/index.js +7 -0
  492. package/dist/esm/components/json-editor/index.js.map +1 -0
  493. package/dist/esm/components/json-editor/json-editor-options.d.ts +15 -0
  494. package/dist/esm/components/json-editor/json-editor-options.js +18 -0
  495. package/dist/esm/components/json-editor/json-editor-options.js.map +1 -0
  496. package/dist/esm/components/json-editor/json-editor.d.ts +24 -0
  497. package/dist/esm/components/json-editor/json-editor.js +29 -0
  498. package/dist/esm/components/json-editor/json-editor.js.map +1 -0
  499. package/dist/esm/components/markdown-editor/markdown-editor.js +1 -5
  500. package/dist/esm/components/markdown-editor/markdown-editor.js.map +1 -1
  501. package/dist/esm/components/material-list/material-group-form-popover.vue2.js +1 -1
  502. package/dist/esm/components/material-list/material-group-form-popover.vue2.js.map +1 -1
  503. package/dist/esm/components/material-list/material-group.vue2.js +111 -92
  504. package/dist/esm/components/material-list/material-group.vue2.js.map +1 -1
  505. package/dist/esm/components/material-list/material-item.vue2.js +13 -1
  506. package/dist/esm/components/material-list/material-item.vue2.js.map +1 -1
  507. package/dist/esm/components/material-list/material-list-options.js +13 -1
  508. package/dist/esm/components/material-list/material-list-options.js.map +1 -1
  509. package/dist/esm/components/material-select/material-select-api.js +2 -0
  510. package/dist/esm/components/material-select/material-select-api.js.map +1 -1
  511. package/dist/esm/components/material-select/material-select-options.js +13 -1
  512. package/dist/esm/components/material-select/material-select-options.js.map +1 -1
  513. package/dist/esm/components/material-select/material-select.js +12 -0
  514. package/dist/esm/components/material-select/material-select.js.map +1 -1
  515. package/dist/esm/components/rich-text-editor/rich-text-editor.js +1 -3
  516. package/dist/esm/components/rich-text-editor/rich-text-editor.js.map +1 -1
  517. package/dist/esm/components/role-permission-config/role-permission-config-options.js +13 -1
  518. package/dist/esm/components/role-permission-config/role-permission-config-options.js.map +1 -1
  519. package/dist/esm/components/role-permission-config/role-permission-config.js.map +1 -1
  520. package/dist/esm/components/verify-dialog/index.d.ts +2 -2
  521. package/dist/esm/components/verify-dialog/verify-dialog-option.d.ts +1 -1
  522. package/dist/esm/components/verify-dialog/verify-dialog-option.js +1 -1
  523. package/dist/esm/components/verify-dialog/verify-dialog-option.js.map +1 -1
  524. package/dist/esm/components/verify-dialog/verify-dialog.d.ts +2 -2
  525. package/dist/esm/components/verify-dialog/verify-dialog.js +69 -27
  526. package/dist/esm/components/verify-dialog/verify-dialog.js.map +1 -1
  527. package/dist/esm/constants/index.d.ts +3 -0
  528. package/dist/esm/constants/index.js +3 -0
  529. package/dist/esm/constants/index.js.map +1 -1
  530. package/dist/esm/constants/log.d.ts +5 -0
  531. package/dist/esm/constants/log.js +9 -0
  532. package/dist/esm/constants/log.js.map +1 -0
  533. package/dist/esm/constants/menu.d.ts +3 -2
  534. package/dist/esm/constants/menu.js +3 -2
  535. package/dist/esm/constants/menu.js.map +1 -1
  536. package/dist/esm/constants/pattern.d.ts +2 -0
  537. package/dist/esm/constants/pattern.js +5 -0
  538. package/dist/esm/constants/pattern.js.map +1 -0
  539. package/dist/esm/constants/region.d.ts +6 -0
  540. package/dist/esm/constants/region.js +10 -0
  541. package/dist/esm/constants/region.js.map +1 -0
  542. package/dist/esm/core/DataModelDefines.d.ts +7 -1
  543. package/dist/esm/core/DataModelDefines.js +9 -0
  544. package/dist/esm/core/DataModelDefines.js.map +1 -1
  545. package/dist/esm/core/MSAppClient.d.ts +1 -0
  546. package/dist/esm/core/MSAppClient.js +3 -0
  547. package/dist/esm/core/MSAppClient.js.map +1 -1
  548. package/dist/esm/core/PageManager.js +19 -9
  549. package/dist/esm/core/PageManager.js.map +1 -1
  550. package/dist/esm/core/Router.js +52 -13
  551. package/dist/esm/core/Router.js.map +1 -1
  552. package/dist/esm/core/UserInfo.d.ts +1 -1
  553. package/dist/esm/core/UserInfo.js +2 -2
  554. package/dist/esm/core/UserInfo.js.map +1 -1
  555. package/dist/esm/core/component/ConfigComponents.js +6 -3
  556. package/dist/esm/core/component/ConfigComponents.js.map +1 -1
  557. package/dist/esm/core/component/DataTableComponents.js +7 -0
  558. package/dist/esm/core/component/DataTableComponents.js.map +1 -1
  559. package/dist/esm/dataview/config/ConfigForm.d.ts +2 -2
  560. package/dist/esm/dataview/config/ConfigForm.js +13 -4
  561. package/dist/esm/dataview/config/ConfigForm.js.map +1 -1
  562. package/dist/esm/dataview/config/ConfigTable.js +2 -0
  563. package/dist/esm/dataview/config/ConfigTable.js.map +1 -1
  564. package/dist/esm/dataview/deny-ip-access-list/DenyIPAccessListForm.d.ts +9 -0
  565. package/dist/esm/dataview/deny-ip-access-list/DenyIPAccessListForm.js +25 -0
  566. package/dist/esm/dataview/deny-ip-access-list/DenyIPAccessListForm.js.map +1 -0
  567. package/dist/esm/dataview/deny-ip-access-list/DenyIPAccessListTable.d.ts +6 -0
  568. package/dist/esm/dataview/deny-ip-access-list/DenyIPAccessListTable.js +66 -0
  569. package/dist/esm/dataview/deny-ip-access-list/DenyIPAccessListTable.js.map +1 -0
  570. package/dist/esm/dataview/deny-ip-access-list/index.d.ts +2 -0
  571. package/dist/esm/dataview/deny-ip-access-list/index.js +3 -0
  572. package/dist/esm/dataview/department/DepartmentForm.js +1 -0
  573. package/dist/esm/dataview/department/DepartmentForm.js.map +1 -1
  574. package/dist/esm/dataview/department/DepartmentTable.d.ts +0 -3
  575. package/dist/esm/dataview/department/DepartmentTable.js +1 -0
  576. package/dist/esm/dataview/department/DepartmentTable.js.map +1 -1
  577. package/dist/esm/dataview/department/DepartmentTree.d.ts +11 -0
  578. package/dist/esm/dataview/department/DepartmentTree.js +35 -0
  579. package/dist/esm/dataview/department/DepartmentTree.js.map +1 -0
  580. package/dist/esm/dataview/department/index.d.ts +1 -0
  581. package/dist/esm/dataview/department/index.js +1 -0
  582. package/dist/esm/dataview/department/index.js.map +1 -1
  583. package/dist/esm/dataview/index.d.ts +4 -0
  584. package/dist/esm/dataview/index.js +12 -1
  585. package/dist/esm/dataview/index.js.map +1 -1
  586. package/dist/esm/dataview/ip-white-list/IPWhitelistForm.d.ts +9 -0
  587. package/dist/esm/dataview/ip-white-list/IPWhitelistForm.js +25 -0
  588. package/dist/esm/dataview/ip-white-list/IPWhitelistForm.js.map +1 -0
  589. package/dist/esm/dataview/ip-white-list/IPWhitelistTable.d.ts +6 -0
  590. package/dist/esm/dataview/ip-white-list/IPWhitelistTable.js +66 -0
  591. package/dist/esm/dataview/ip-white-list/IPWhitelistTable.js.map +1 -0
  592. package/dist/esm/dataview/ip-white-list/index.d.ts +2 -0
  593. package/dist/esm/dataview/ip-white-list/index.js +3 -0
  594. package/dist/esm/dataview/ip-white-list/index.js.map +1 -0
  595. package/dist/esm/dataview/log/index.d.ts +4 -0
  596. package/dist/esm/dataview/log/index.js +5 -0
  597. package/dist/esm/dataview/log/index.js.map +1 -0
  598. package/dist/esm/dataview/log/local-log/LocalLogTree.d.ts +13 -0
  599. package/dist/esm/dataview/log/local-log/LocalLogTree.js +56 -0
  600. package/dist/esm/dataview/log/local-log/LocalLogTree.js.map +1 -0
  601. package/dist/esm/dataview/log/local-log/index.d.ts +1 -0
  602. package/dist/esm/dataview/log/local-log/index.js +2 -0
  603. package/dist/esm/dataview/log/login-log/LoginLogTable.d.ts +17 -0
  604. package/dist/esm/dataview/log/login-log/LoginLogTable.js +39 -0
  605. package/dist/esm/dataview/log/login-log/LoginLogTable.js.map +1 -0
  606. package/dist/esm/dataview/log/login-log/index.d.ts +1 -0
  607. package/dist/esm/dataview/log/login-log/index.js +2 -0
  608. package/dist/esm/dataview/log/login-log/index.js.map +1 -0
  609. package/dist/esm/dataview/log/operate-log/OperateLogTable.d.ts +5 -0
  610. package/dist/esm/dataview/log/operate-log/OperateLogTable.js +20 -0
  611. package/dist/esm/dataview/log/operate-log/OperateLogTable.js.map +1 -0
  612. package/dist/esm/dataview/log/operate-log/index.d.ts +1 -0
  613. package/dist/esm/dataview/log/operate-log/index.js +2 -0
  614. package/dist/esm/dataview/log/operate-log/index.js.map +1 -0
  615. package/dist/esm/dataview/log/request-log/RequestLogTable.d.ts +20 -0
  616. package/dist/esm/dataview/log/request-log/RequestLogTable.js +62 -0
  617. package/dist/esm/dataview/log/request-log/RequestLogTable.js.map +1 -0
  618. package/dist/esm/dataview/log/request-log/index.d.ts +1 -0
  619. package/dist/esm/dataview/log/request-log/index.js +2 -0
  620. package/dist/esm/dataview/log/request-log/index.js.map +1 -0
  621. package/dist/esm/dataview/material/MaterialForm.js +1 -0
  622. package/dist/esm/dataview/material/MaterialForm.js.map +1 -1
  623. package/dist/esm/dataview/material/MaterialMan.d.ts +4 -4
  624. package/dist/esm/dataview/material/MaterialMan.js +13 -21
  625. package/dist/esm/dataview/material/MaterialMan.js.map +1 -1
  626. package/dist/esm/dataview/material/MaterialTable.js +2 -1
  627. package/dist/esm/dataview/material/MaterialTable.js.map +1 -1
  628. package/dist/esm/dataview/material/index.js +1 -1
  629. package/dist/esm/dataview/material/material-group/MaterialGroupForm.js +1 -0
  630. package/dist/esm/dataview/material/material-group/MaterialGroupForm.js.map +1 -1
  631. package/dist/esm/dataview/material/material-group/MaterialGroupTable.js +1 -0
  632. package/dist/esm/dataview/material/material-group/MaterialGroupTable.js.map +1 -1
  633. package/dist/esm/dataview/material/material-group/MaterialGroupTree.d.ts +14 -0
  634. package/dist/esm/dataview/material/material-group/MaterialGroupTree.js +46 -0
  635. package/dist/esm/dataview/material/material-group/MaterialGroupTree.js.map +1 -0
  636. package/dist/esm/dataview/material/material-group/index.d.ts +1 -1
  637. package/dist/esm/dataview/material/material-group/index.js +1 -1
  638. package/dist/esm/dataview/member/MemberForm.js +10 -1
  639. package/dist/esm/dataview/member/MemberForm.js.map +1 -1
  640. package/dist/esm/dataview/member/MemberTable.js +8 -5
  641. package/dist/esm/dataview/member/MemberTable.js.map +1 -1
  642. package/dist/esm/dataview/member/member-role/MemberRoleTable.js +1 -0
  643. package/dist/esm/dataview/member/member-role/MemberRoleTable.js.map +1 -1
  644. package/dist/esm/dataview/menu/MenuForm.js +41 -26
  645. package/dist/esm/dataview/menu/MenuForm.js.map +1 -1
  646. package/dist/esm/dataview/menu/MenuTable.js +1 -0
  647. package/dist/esm/dataview/menu/MenuTable.js.map +1 -1
  648. package/dist/esm/dataview/menu/MenuTree.d.ts +10 -15
  649. package/dist/esm/dataview/menu/MenuTree.js +64 -87
  650. package/dist/esm/dataview/menu/MenuTree.js.map +1 -1
  651. package/dist/esm/dataview/menu/permission-point/PermissionPointDefineForm.js +1 -0
  652. package/dist/esm/dataview/menu/permission-point/PermissionPointDefineForm.js.map +1 -1
  653. package/dist/esm/dataview/menu/permission-point/PermissionPointDefineTable.js +1 -0
  654. package/dist/esm/dataview/menu/permission-point/PermissionPointDefineTable.js.map +1 -1
  655. package/dist/esm/dataview/region/RegionForm.d.ts +15 -0
  656. package/dist/esm/dataview/region/RegionForm.js +41 -0
  657. package/dist/esm/dataview/region/RegionForm.js.map +1 -0
  658. package/dist/esm/dataview/region/RegionTable.d.ts +6 -0
  659. package/dist/esm/dataview/region/RegionTable.js +55 -0
  660. package/dist/esm/dataview/region/RegionTable.js.map +1 -0
  661. package/dist/esm/dataview/region/index.d.ts +2 -0
  662. package/dist/esm/dataview/region/index.js +3 -0
  663. package/dist/esm/dataview/region/index.js.map +1 -0
  664. package/dist/esm/dataview/role/RoleForm.js +1 -0
  665. package/dist/esm/dataview/role/RoleForm.js.map +1 -1
  666. package/dist/esm/dataview/role/RolePermissionConfigTable.d.ts +1 -1
  667. package/dist/esm/dataview/role/RolePermissionConfigTable.js +6 -4
  668. package/dist/esm/dataview/role/RolePermissionConfigTable.js.map +1 -1
  669. package/dist/esm/dataview/role/RoleTable.js +1 -0
  670. package/dist/esm/dataview/role/RoleTable.js.map +1 -1
  671. package/dist/esm/dataview/role/role-permission-point/RolePermissionPointTable.js +1 -0
  672. package/dist/esm/dataview/role/role-permission-point/RolePermissionPointTable.js.map +1 -1
  673. package/dist/esm/dataview/role/role-route/RoleRouteTable.js +1 -0
  674. package/dist/esm/dataview/role/role-route/RoleRouteTable.js.map +1 -1
  675. package/dist/esm/dataview/route/RouteForm.js +1 -1
  676. package/dist/esm/dataview/route/RouteForm.js.map +1 -1
  677. package/dist/esm/dataview/route/RouteTable.js +1 -0
  678. package/dist/esm/dataview/route/RouteTable.js.map +1 -1
  679. package/dist/esm/define-data-tree.d.ts +2 -0
  680. package/dist/esm/define-data-tree.js +19 -0
  681. package/dist/esm/define-data-tree.js.map +1 -0
  682. package/dist/esm/index.d.ts +1 -0
  683. package/dist/esm/index.js +31 -15
  684. package/dist/esm/index.js.map +1 -1
  685. package/dist/esm/installer.js +2 -6
  686. package/dist/esm/installer.js.map +1 -1
  687. package/dist/esm/layouts/components/bar/index.d.ts +10 -0
  688. package/dist/esm/layouts/components/bar/index.js +128 -0
  689. package/dist/esm/layouts/components/bar/index.js.map +1 -0
  690. package/dist/esm/layouts/components/header/index.d.ts +1 -0
  691. package/dist/esm/layouts/components/header/index.js +20 -0
  692. package/dist/esm/layouts/components/header/index.js.map +1 -0
  693. package/dist/esm/layouts/components/header/tools.d.ts +1 -0
  694. package/dist/esm/layouts/components/header/tools.js +97 -0
  695. package/dist/esm/layouts/components/header/tools.js.map +1 -0
  696. package/dist/esm/layouts/components/index.js.map +1 -0
  697. package/dist/esm/layouts/components/lock/index.js.map +1 -0
  698. package/dist/esm/layouts/components/lock/lock.js +142 -0
  699. package/dist/esm/layouts/components/lock/lock.js.map +1 -0
  700. package/dist/esm/layouts/components/menu/index.d.ts +20 -0
  701. package/dist/esm/layouts/components/menu/index.js +66 -0
  702. package/dist/esm/layouts/components/menu/index.js.map +1 -0
  703. package/dist/esm/layouts/components/menu/menu-item.d.ts +13 -0
  704. package/dist/esm/layouts/components/menu/menu-item.js +103 -0
  705. package/dist/esm/layouts/components/menu/menu-item.js.map +1 -0
  706. package/dist/esm/layouts/container/default.js +132 -0
  707. package/dist/esm/layouts/container/default.js.map +1 -0
  708. package/dist/esm/layouts/index.d.ts +2 -2
  709. package/dist/esm/layouts/index.js +6 -2
  710. package/dist/esm/layouts/index.js.map +1 -1
  711. package/dist/esm/layouts/layout.js +14 -0
  712. package/dist/esm/layouts/layout.js.map +1 -0
  713. package/dist/esm/node_modules/.pnpm/@codemirror_autocomplete@6.11.1_@codemirror_language@6.9.3_@codemirror_state@6.3.2_@codemirro_dop6xooh6ucho44vivbvrw3b2e/node_modules/@codemirror/autocomplete/dist/index.js +1548 -0
  714. package/dist/esm/node_modules/.pnpm/@codemirror_autocomplete@6.11.1_@codemirror_language@6.9.3_@codemirror_state@6.3.2_@codemirro_dop6xooh6ucho44vivbvrw3b2e/node_modules/@codemirror/autocomplete/dist/index.js.map +1 -0
  715. package/dist/esm/node_modules/.pnpm/@codemirror_commands@6.3.2/node_modules/@codemirror/commands/dist/index.js +1415 -0
  716. package/dist/esm/node_modules/.pnpm/@codemirror_commands@6.3.2/node_modules/@codemirror/commands/dist/index.js.map +1 -0
  717. package/dist/esm/node_modules/.pnpm/@codemirror_lang-json@6.0.1/node_modules/@codemirror/lang-json/dist/index.js +33 -0
  718. package/dist/esm/node_modules/.pnpm/@codemirror_lang-json@6.0.1/node_modules/@codemirror/lang-json/dist/index.js.map +1 -0
  719. package/dist/esm/node_modules/.pnpm/@codemirror_language@6.9.3/node_modules/@codemirror/language/dist/index.js +1798 -0
  720. package/dist/esm/node_modules/.pnpm/@codemirror_language@6.9.3/node_modules/@codemirror/language/dist/index.js.map +1 -0
  721. package/dist/esm/node_modules/.pnpm/@codemirror_lint@6.4.2/node_modules/@codemirror/lint/dist/index.js +519 -0
  722. package/dist/esm/node_modules/.pnpm/@codemirror_lint@6.4.2/node_modules/@codemirror/lint/dist/index.js.map +1 -0
  723. package/dist/esm/node_modules/.pnpm/@codemirror_search@6.5.5/node_modules/@codemirror/search/dist/index.js +1197 -0
  724. package/dist/esm/node_modules/.pnpm/@codemirror_search@6.5.5/node_modules/@codemirror/search/dist/index.js.map +1 -0
  725. package/dist/esm/node_modules/.pnpm/@codemirror_state@6.3.2/node_modules/@codemirror/state/dist/index.js +3900 -0
  726. package/dist/esm/node_modules/.pnpm/@codemirror_state@6.3.2/node_modules/@codemirror/state/dist/index.js.map +1 -0
  727. package/dist/esm/node_modules/.pnpm/@codemirror_view@6.22.1/node_modules/@codemirror/view/dist/index.js +10353 -0
  728. package/dist/esm/node_modules/.pnpm/@codemirror_view@6.22.1/node_modules/@codemirror/view/dist/index.js.map +1 -0
  729. package/dist/esm/node_modules/.pnpm/@lezer_common@1.1.1/node_modules/@lezer/common/dist/index.js +1686 -0
  730. package/dist/esm/node_modules/.pnpm/@lezer_common@1.1.1/node_modules/@lezer/common/dist/index.js.map +1 -0
  731. package/dist/esm/node_modules/.pnpm/@lezer_highlight@1.2.0/node_modules/@lezer/highlight/dist/index.js +862 -0
  732. package/dist/esm/node_modules/.pnpm/@lezer_highlight@1.2.0/node_modules/@lezer/highlight/dist/index.js.map +1 -0
  733. package/dist/esm/node_modules/.pnpm/@lezer_json@1.0.1/node_modules/@lezer/json/dist/index.js +37 -0
  734. package/dist/esm/node_modules/.pnpm/@lezer_json@1.0.1/node_modules/@lezer/json/dist/index.js.map +1 -0
  735. package/dist/esm/node_modules/.pnpm/@lezer_lr@1.3.14/node_modules/@lezer/lr/dist/index.js +1786 -0
  736. package/dist/esm/node_modules/.pnpm/@lezer_lr@1.3.14/node_modules/@lezer/lr/dist/index.js.map +1 -0
  737. package/dist/esm/node_modules/.pnpm/codemirror@6.0.1_@lezer_common@1.1.1/node_modules/codemirror/dist/index.js +79 -0
  738. package/dist/esm/node_modules/.pnpm/codemirror@6.0.1_@lezer_common@1.1.1/node_modules/codemirror/dist/index.js.map +1 -0
  739. package/dist/esm/node_modules/.pnpm/crelt@1.0.6/node_modules/crelt/index.js +30 -0
  740. package/dist/esm/node_modules/.pnpm/crelt@1.0.6/node_modules/crelt/index.js.map +1 -0
  741. package/dist/esm/node_modules/.pnpm/style-mod@4.1.0/node_modules/style-mod/src/style-mod.js +175 -0
  742. package/dist/esm/node_modules/.pnpm/style-mod@4.1.0/node_modules/style-mod/src/style-mod.js.map +1 -0
  743. package/dist/esm/node_modules/.pnpm/vue-codemirror@6.1.1_codemirror@6.0.1_vue@3.3.4/node_modules/vue-codemirror/dist/vue-codemirror.esm.js +17 -0
  744. package/dist/esm/node_modules/.pnpm/vue-codemirror@6.1.1_codemirror@6.0.1_vue@3.3.4/node_modules/vue-codemirror/dist/vue-codemirror.esm.js.map +1 -0
  745. package/dist/esm/node_modules/.pnpm/w3c-keyname@2.2.8/node_modules/w3c-keyname/index.js +122 -0
  746. package/dist/esm/node_modules/.pnpm/w3c-keyname@2.2.8/node_modules/w3c-keyname/index.js.map +1 -0
  747. package/dist/esm/page/index/dv/default/add.vue2.js +1 -1
  748. package/dist/esm/page/index/dv/default/add.vue2.js.map +1 -1
  749. package/dist/esm/page/index/dv/default/edit.vue2.js +1 -1
  750. package/dist/esm/page/index/dv/default/edit.vue2.js.map +1 -1
  751. package/dist/esm/page/index/dv/default/single/list/dialog.vue.js +7 -0
  752. package/dist/esm/page/index/dv/default/single/list/dialog.vue.js.map +1 -0
  753. package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js +243 -0
  754. package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js.map +1 -0
  755. package/dist/esm/page/index/dv/default/single/list/normal.vue.js +7 -0
  756. package/dist/esm/page/index/dv/default/single/list/normal.vue.js.map +1 -0
  757. package/dist/esm/page/index/dv/default/single/list/normal.vue2.js +191 -0
  758. package/dist/esm/page/index/dv/default/single/list/normal.vue2.js.map +1 -0
  759. package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue.js +7 -0
  760. package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue.js.map +1 -0
  761. package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue2.js +108 -0
  762. package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue2.js.map +1 -0
  763. package/dist/esm/page/index/dv/default/single/tree/dialog.vue.js +7 -0
  764. package/dist/esm/page/index/dv/default/single/tree/dialog.vue.js.map +1 -0
  765. package/dist/esm/page/index/dv/default/single/tree/dialog.vue2.js +245 -0
  766. package/dist/esm/page/index/dv/default/single/tree/dialog.vue2.js.map +1 -0
  767. package/dist/esm/page/index/dv/default/table.vue.js +7 -0
  768. package/dist/esm/page/index/dv/default/table.vue.js.map +1 -0
  769. package/dist/esm/page/index/dv/default/table.vue2.js +107 -0
  770. package/dist/esm/page/index/dv/default/table.vue2.js.map +1 -0
  771. package/dist/esm/page/index/dv/local-log/index.vue.js +7 -0
  772. package/dist/esm/page/index/dv/local-log/index.vue2.js +173 -0
  773. package/dist/esm/page/index/dv/local-log/index.vue2.js.map +1 -0
  774. package/dist/esm/page/index/dv/ms-member/index.vue2.js +2 -2
  775. package/dist/esm/page/index/dv/ms-member/index.vue2.js.map +1 -1
  776. package/dist/esm/page/index/dv/ms-role/index.vue2.js +28 -13
  777. package/dist/esm/page/index/dv/ms-role/index.vue2.js.map +1 -1
  778. package/dist/esm/page/index/material/index.vue2.js +15 -5
  779. package/dist/esm/page/index/material/index.vue2.js.map +1 -1
  780. package/dist/esm/page/index.vue2.js +2 -10
  781. package/dist/esm/page/index.vue2.js.map +1 -1
  782. package/dist/esm/page/login/index.vue2.js +6 -5
  783. package/dist/esm/page/login/index.vue2.js.map +1 -1
  784. package/dist/esm/page/signup/index.vue2.js +2 -4
  785. package/dist/esm/page/signup/index.vue2.js.map +1 -1
  786. package/dist/style/components/code-mirror.css +0 -0
  787. package/dist/style/components/data-form-page.css +1 -1
  788. package/dist/style/components/data-table-page.css +1 -1
  789. package/dist/style/components/form/form-detail.css +1 -1
  790. package/dist/style/components/form/index.css +1 -1
  791. package/dist/style/components/index.css +1 -1
  792. package/dist/style/components/table/column-json.css +1 -0
  793. package/dist/style/components/table/column-text.css +1 -0
  794. package/dist/style/components/table/index.css +1 -1
  795. package/dist/style/components/verify-dialog.css +1 -1
  796. package/dist/style/index.css +2 -2
  797. package/dist/style/layouts/default/bar.css +1 -1
  798. package/dist/style/layouts/default/header.css +1 -0
  799. package/dist/style/layouts/default/index.css +1 -1
  800. package/dist/style/layouts/index.css +1 -1
  801. package/dist/style/page/dv/index.css +1 -0
  802. package/dist/style/page/dv/local-log.css +1 -0
  803. package/dist/style/page/index.css +1 -0
  804. package/dist/style/src/components/code-mirror.scss +0 -0
  805. package/dist/style/src/components/data-form-page.scss +1 -0
  806. package/dist/style/src/components/data-table-page.scss +2 -4
  807. package/dist/style/src/components/data-table.scss +1 -2
  808. package/dist/style/src/components/form/form-detail.scss +4 -0
  809. package/dist/style/src/components/index.scss +1 -1
  810. package/dist/style/src/components/table/column-json.scss +7 -0
  811. package/dist/style/src/components/table/column-text.scss +3 -0
  812. package/dist/style/src/components/table/index.scss +2 -0
  813. package/dist/style/src/components/verify-dialog.scss +58 -3
  814. package/dist/style/src/index.scss +1 -1
  815. package/dist/style/src/layouts/default/bar.scss +0 -3
  816. package/dist/style/src/layouts/default/header.scss +42 -0
  817. package/dist/style/src/layouts/default/index.scss +2 -0
  818. package/dist/style/src/layouts/index.scss +0 -1
  819. package/dist/style/src/page/dv/index.scss +1 -0
  820. package/dist/style/src/page/dv/local-log.scss +13 -0
  821. package/dist/style/src/page/index.scss +2 -0
  822. package/dist/style/src/theme/theme.scss +25 -3
  823. package/dist/style/theme/theme.css +1 -1
  824. package/package.json +10 -8
  825. package/src/components/column-components/column-json/column-json-options.ts +13 -0
  826. package/src/components/column-components/column-json/column-json.tsx +41 -0
  827. package/src/components/column-components/column-json/index.ts +8 -0
  828. package/src/components/column-components/column-text/column-text.tsx +1 -1
  829. package/src/components/column-components/index.ts +1 -0
  830. package/src/components/data-model/data-form/data-form.tsx +1 -1
  831. package/src/components/data-model/data-form/views/form/form.tsx +55 -18
  832. package/src/components/data-model/data-form/views/form-view/form-view.tsx +1 -3
  833. package/src/components/data-model/data-table/data-table-column/data-table-column.tsx +1 -1
  834. package/src/components/data-model/data-table/data-table.tsx +1 -1
  835. package/src/components/data-model/data-table/views/index.ts +4 -0
  836. package/src/components/data-model/data-table/views/table/index.ts +4 -5
  837. package/src/components/data-model/data-table/views/table/table-options.ts +12 -0
  838. package/src/components/data-model/data-table/views/table/table.tsx +81 -0
  839. package/src/components/data-model/data-table/views/table-tree/index.ts +8 -0
  840. package/src/components/data-model/data-table/views/table-tree/table-tree-options.ts +12 -0
  841. package/src/components/data-model/data-table/views/table-tree/table-tree.tsx +104 -0
  842. package/src/components/data-model/data-table/views/table-view/index.ts +8 -0
  843. package/src/components/data-model/data-table/views/table-view/table-view.tsx +104 -0
  844. package/src/components/data-model/data-table/views/tree/index.ts +8 -0
  845. package/src/components/data-model/data-table/views/tree/tree-options.ts +14 -0
  846. package/src/components/data-model/data-table/views/tree/tree.tsx +133 -0
  847. package/src/components/data-model/data-table/views/tree-view/index.ts +8 -0
  848. package/src/components/data-model/data-table/views/tree-view/tree-view-options.ts +16 -0
  849. package/src/components/data-model/data-table/views/tree-view/tree-view.tsx +81 -0
  850. package/src/components/data-model/data-table-page/data-table-page-options.ts +2 -0
  851. package/src/components/data-model/data-table-page/data-table-page.tsx +2 -1
  852. package/src/components/data-model/index.ts +0 -2
  853. package/src/components/image-select/image-select.tsx +1 -3
  854. package/src/components/index.ts +1 -2
  855. package/src/components/json-editor/index.ts +6 -0
  856. package/src/components/json-editor/json-editor-options.ts +21 -0
  857. package/src/components/json-editor/json-editor.tsx +27 -0
  858. package/src/components/markdown-editor/markdown-editor.tsx +1 -7
  859. package/src/components/material-list/material-group-form-popover.vue +1 -1
  860. package/src/components/material-list/material-group.vue +42 -41
  861. package/src/components/material-select/material-select-api.ts +2 -0
  862. package/src/components/rich-text-editor/rich-text-editor.tsx +1 -3
  863. package/src/components/role-permission-config/role-permission-config.tsx +0 -1
  864. package/src/components/verify-dialog/verify-dialog-option.ts +2 -1
  865. package/src/components/verify-dialog/verify-dialog.tsx +94 -28
  866. package/src/constants/index.ts +3 -0
  867. package/src/constants/log.ts +5 -0
  868. package/src/constants/menu.ts +3 -2
  869. package/src/constants/pattern.ts +4 -0
  870. package/src/constants/region.ts +6 -0
  871. package/src/core/DataModelDefines.ts +20 -1
  872. package/src/core/MSAppClient.ts +4 -0
  873. package/src/core/PageManager.ts +17 -6
  874. package/src/core/Router.ts +67 -13
  875. package/src/core/UserInfo.ts +4 -4
  876. package/src/core/component/ConfigComponents.ts +5 -2
  877. package/src/core/component/DataTableComponents.ts +8 -0
  878. package/src/dataview/config/ConfigForm.ts +6 -5
  879. package/src/dataview/config/ConfigTable.ts +4 -0
  880. package/src/dataview/deny-ip-access-list/DenyIPAccessListForm.ts +33 -0
  881. package/src/dataview/deny-ip-access-list/DenyIPAccessListTable.ts +84 -0
  882. package/src/dataview/deny-ip-access-list/index.ts +2 -0
  883. package/src/dataview/department/DepartmentForm.ts +2 -0
  884. package/src/dataview/department/DepartmentTable.ts +3 -2
  885. package/src/dataview/department/DepartmentTree.ts +47 -0
  886. package/src/dataview/department/index.ts +1 -0
  887. package/src/dataview/index.ts +4 -0
  888. package/src/dataview/ip-white-list/IPWhitelistForm.ts +30 -0
  889. package/src/dataview/ip-white-list/IPWhitelistTable.ts +81 -0
  890. package/src/dataview/ip-white-list/index.ts +2 -0
  891. package/src/dataview/log/index.ts +4 -0
  892. package/src/dataview/log/local-log/LocalLogTree.ts +77 -0
  893. package/src/dataview/log/local-log/index.ts +1 -0
  894. package/src/dataview/log/login-log/LoginLogTable.ts +55 -0
  895. package/src/dataview/log/login-log/index.ts +1 -0
  896. package/src/dataview/log/operate-log/OperateLogTable.ts +20 -0
  897. package/src/dataview/log/operate-log/index.ts +1 -0
  898. package/src/dataview/log/request-log/RequestLogTable.ts +82 -0
  899. package/src/dataview/log/request-log/index.ts +1 -0
  900. package/src/dataview/material/MaterialForm.ts +2 -0
  901. package/src/dataview/material/MaterialMan.ts +34 -24
  902. package/src/dataview/material/MaterialTable.ts +3 -1
  903. package/src/dataview/material/material-group/MaterialGroupForm.ts +2 -0
  904. package/src/dataview/material/material-group/MaterialGroupTable.ts +2 -0
  905. package/src/dataview/material/material-group/MaterialGroupTree.ts +67 -0
  906. package/src/dataview/material/material-group/index.ts +2 -1
  907. package/src/dataview/member/MemberForm.ts +9 -4
  908. package/src/dataview/member/MemberTable.tsx +14 -7
  909. package/src/dataview/member/member-role/MemberRoleTable.ts +2 -0
  910. package/src/dataview/menu/MenuForm.ts +56 -28
  911. package/src/dataview/menu/MenuTable.ts +2 -0
  912. package/src/dataview/menu/MenuTree.ts +86 -117
  913. package/src/dataview/menu/permission-point/PermissionPointDefineForm.ts +2 -0
  914. package/src/dataview/menu/permission-point/PermissionPointDefineTable.ts +2 -0
  915. package/src/dataview/region/RegionForm.ts +52 -0
  916. package/src/dataview/region/RegionTable.ts +64 -0
  917. package/src/dataview/region/index.ts +2 -0
  918. package/src/dataview/role/RoleForm.ts +2 -0
  919. package/src/dataview/role/RolePermissionConfigTable.ts +6 -4
  920. package/src/dataview/role/RoleTable.ts +2 -0
  921. package/src/dataview/role/role-permission-point/RolePermissionPointTable.ts +2 -0
  922. package/src/dataview/role/role-route/RoleRouteTable.ts +2 -0
  923. package/src/dataview/route/RouteForm.ts +2 -1
  924. package/src/dataview/route/RouteTable.ts +2 -0
  925. package/src/define-data-tree.ts +12 -0
  926. package/src/index.ts +1 -0
  927. package/src/installer.ts +0 -4
  928. package/src/layouts/components/bar/index.tsx +97 -0
  929. package/src/layouts/components/header/index.tsx +18 -0
  930. package/src/layouts/components/header/tools.tsx +55 -0
  931. package/src/layouts/components/lock/lock.tsx +92 -0
  932. package/src/layouts/components/menu/index.tsx +60 -0
  933. package/src/layouts/components/menu/menu-item.tsx +63 -0
  934. package/src/layouts/container/default.tsx +84 -0
  935. package/src/layouts/index.ts +6 -2
  936. package/src/layouts/layout.tsx +11 -0
  937. package/src/page/index/dv/default/add.vue +1 -1
  938. package/src/page/index/dv/default/edit.vue +1 -1
  939. package/src/page/index/dv/default/single/list/dialog.vue +177 -0
  940. package/src/page/index/dv/default/single/list/normal.vue +151 -0
  941. package/src/page/index/dv/default/single/table-tree/dialog.vue +60 -0
  942. package/src/page/index/dv/default/single/tree/dialog.vue +174 -0
  943. package/src/page/index/dv/default/table.vue +52 -0
  944. package/src/page/index/dv/local-log/index.vue +98 -0
  945. package/src/page/index/dv/ms-member/index.vue +2 -2
  946. package/src/page/index/dv/ms-role/index.vue +7 -3
  947. package/src/page/index.vue +3 -11
  948. package/src/page/login/index.vue +4 -1
  949. package/dist/cjs/components/data-model/data-table/views/table/classify-search/classify-search-item/classify-search-item-options.js.map +0 -1
  950. package/dist/cjs/components/data-model/data-table/views/table/classify-search/classify-search-item/classify-search-item.js.map +0 -1
  951. package/dist/cjs/components/data-model/data-table/views/table/classify-search/classify-search-item/index.js.map +0 -1
  952. package/dist/cjs/components/data-model/data-table/views/table/classify-search/classify-search.js.map +0 -1
  953. package/dist/cjs/components/data-model/data-table/views/table/classify-search/index.js.map +0 -1
  954. package/dist/cjs/components/data-model/data-table/views/table/search/composables/index.d.ts +0 -1
  955. package/dist/cjs/components/data-model/data-table/views/table/search/composables/index.js +0 -9
  956. package/dist/cjs/components/data-model/data-table/views/table/search/composables/index.js.map +0 -1
  957. package/dist/cjs/components/data-model/data-table/views/table/search/composables/use-condition.d.ts +0 -16
  958. package/dist/cjs/components/data-model/data-table/views/table/search/composables/use-condition.js +0 -53
  959. package/dist/cjs/components/data-model/data-table/views/table/search/composables/use-condition.js.map +0 -1
  960. package/dist/cjs/components/data-model/data-table/views/table/search/index.d.ts +0 -23
  961. package/dist/cjs/components/data-model/data-table/views/table/search/index.js +0 -28
  962. package/dist/cjs/components/data-model/data-table/views/table/search/index.js.map +0 -1
  963. package/dist/cjs/components/data-model/data-table/views/table/search/operator-options.d.ts +0 -16
  964. package/dist/cjs/components/data-model/data-table/views/table/search/operator-options.js +0 -72
  965. package/dist/cjs/components/data-model/data-table/views/table/search/operator-options.js.map +0 -1
  966. package/dist/cjs/components/data-model/data-table/views/table/search/search-drawer/index.d.ts +0 -26
  967. package/dist/cjs/components/data-model/data-table/views/table/search/search-drawer/index.js +0 -11
  968. package/dist/cjs/components/data-model/data-table/views/table/search/search-drawer/index.js.map +0 -1
  969. package/dist/cjs/components/data-model/data-table/views/table/search/search-drawer/search-drawer-options.d.ts +0 -17
  970. package/dist/cjs/components/data-model/data-table/views/table/search/search-drawer/search-drawer-options.js +0 -17
  971. package/dist/cjs/components/data-model/data-table/views/table/search/search-drawer/search-drawer-options.js.map +0 -1
  972. package/dist/cjs/components/data-model/data-table/views/table/search/search-drawer/search-drawer.d.ts +0 -26
  973. package/dist/cjs/components/data-model/data-table/views/table/search/search-drawer/search-drawer.js +0 -105
  974. package/dist/cjs/components/data-model/data-table/views/table/search/search-drawer/search-drawer.js.map +0 -1
  975. package/dist/cjs/components/data-model/data-table/views/table/search/search-item/index.d.ts +0 -34
  976. package/dist/cjs/components/data-model/data-table/views/table/search/search-item/index.js +0 -11
  977. package/dist/cjs/components/data-model/data-table/views/table/search/search-item/index.js.map +0 -1
  978. package/dist/cjs/components/data-model/data-table/views/table/search/search-item/search-item-options.d.ts +0 -21
  979. package/dist/cjs/components/data-model/data-table/views/table/search/search-item/search-item-options.js +0 -16
  980. package/dist/cjs/components/data-model/data-table/views/table/search/search-item/search-item-options.js.map +0 -1
  981. package/dist/cjs/components/data-model/data-table/views/table/search/search-item/search-item.d.ts +0 -38
  982. package/dist/cjs/components/data-model/data-table/views/table/search/search-item/search-item.js +0 -118
  983. package/dist/cjs/components/data-model/data-table/views/table/search/search-item/search-item.js.map +0 -1
  984. package/dist/cjs/components/data-model/data-table/views/table/search/search-options.d.ts +0 -15
  985. package/dist/cjs/components/data-model/data-table/views/table/search/search-options.js +0 -18
  986. package/dist/cjs/components/data-model/data-table/views/table/search/search-options.js.map +0 -1
  987. package/dist/cjs/components/data-model/data-table/views/table/search/search.d.ts +0 -20
  988. package/dist/cjs/components/data-model/data-table/views/table/search/search.js +0 -255
  989. package/dist/cjs/components/data-model/data-table/views/table/search/search.js.map +0 -1
  990. package/dist/cjs/components/data-model/data-table/views/table/search/token.d.ts +0 -21
  991. package/dist/cjs/components/data-model/data-table/views/table/search/token.js +0 -8
  992. package/dist/cjs/components/data-model/data-table/views/table/search/token.js.map +0 -1
  993. package/dist/cjs/components/data-model/data-table/views/table/table-view-options.js.map +0 -1
  994. package/dist/cjs/components/data-model/data-table/views/table/table-view.js +0 -120
  995. package/dist/cjs/components/data-model/data-table/views/table/table-view.js.map +0 -1
  996. package/dist/cjs/components/data-model/data-tree/data-tree-options.d.ts +0 -23
  997. package/dist/cjs/components/data-model/data-tree/data-tree-options.js +0 -21
  998. package/dist/cjs/components/data-model/data-tree/data-tree-options.js.map +0 -1
  999. package/dist/cjs/components/data-model/data-tree/data-tree.d.ts +0 -45
  1000. package/dist/cjs/components/data-model/data-tree/data-tree.js +0 -127
  1001. package/dist/cjs/components/data-model/data-tree/data-tree.js.map +0 -1
  1002. package/dist/cjs/components/data-model/data-tree/index.d.ts +0 -45
  1003. package/dist/cjs/components/data-model/data-tree/index.js +0 -14
  1004. package/dist/cjs/components/data-model/data-tree/index.js.map +0 -1
  1005. package/dist/cjs/components/data-model/data-tree-page/data-tree-page-options.d.ts +0 -29
  1006. package/dist/cjs/components/data-model/data-tree-page/data-tree-page-options.js +0 -22
  1007. package/dist/cjs/components/data-model/data-tree-page/data-tree-page-options.js.map +0 -1
  1008. package/dist/cjs/components/data-model/data-tree-page/data-tree-page.d.ts +0 -56
  1009. package/dist/cjs/components/data-model/data-tree-page/data-tree-page.js +0 -175
  1010. package/dist/cjs/components/data-model/data-tree-page/data-tree-page.js.map +0 -1
  1011. package/dist/cjs/components/data-model/data-tree-page/index.d.ts +0 -56
  1012. package/dist/cjs/components/data-model/data-tree-page/index.js +0 -12
  1013. package/dist/cjs/components/data-model/data-tree-page/index.js.map +0 -1
  1014. package/dist/cjs/components/member-table/index.d.ts +0 -5
  1015. package/dist/cjs/components/member-table/index.js +0 -12
  1016. package/dist/cjs/components/member-table/index.js.map +0 -1
  1017. package/dist/cjs/components/member-table/member-table.vue.d.ts +0 -5
  1018. package/dist/cjs/components/member-table/member-table.vue.js +0 -9
  1019. package/dist/cjs/components/member-table/member-table.vue.js.map +0 -1
  1020. package/dist/cjs/components/member-table/member-table.vue2.js +0 -309
  1021. package/dist/cjs/components/member-table/member-table.vue2.js.map +0 -1
  1022. package/dist/cjs/components/menu-permission-table/index.d.ts +0 -2
  1023. package/dist/cjs/components/menu-permission-table/index.js +0 -12
  1024. package/dist/cjs/components/menu-permission-table/index.js.map +0 -1
  1025. package/dist/cjs/components/menu-permission-table/menu-permission-table.vue.js +0 -9
  1026. package/dist/cjs/components/menu-permission-table/menu-permission-table.vue.js.map +0 -1
  1027. package/dist/cjs/components/menu-permission-table/menu-permission-table.vue2.js +0 -221
  1028. package/dist/cjs/components/menu-permission-table/menu-permission-table.vue2.js.map +0 -1
  1029. package/dist/cjs/layouts/common/lock/index.js.map +0 -1
  1030. package/dist/cjs/layouts/common/lock/lock.js +0 -146
  1031. package/dist/cjs/layouts/common/lock/lock.js.map +0 -1
  1032. package/dist/cjs/layouts/default/components/bar/index.d.ts +0 -10
  1033. package/dist/cjs/layouts/default/components/bar/index.js +0 -125
  1034. package/dist/cjs/layouts/default/components/bar/index.js.map +0 -1
  1035. package/dist/cjs/layouts/default/components/bar/settings.d.ts +0 -39
  1036. package/dist/cjs/layouts/default/components/bar/settings.js +0 -113
  1037. package/dist/cjs/layouts/default/components/bar/settings.js.map +0 -1
  1038. package/dist/cjs/layouts/default/components/menu/index.d.ts +0 -10
  1039. package/dist/cjs/layouts/default/components/menu/index.js +0 -64
  1040. package/dist/cjs/layouts/default/components/menu/index.js.map +0 -1
  1041. package/dist/cjs/layouts/default/components/menu/menu-item.d.ts +0 -13
  1042. package/dist/cjs/layouts/default/components/menu/menu-item.js +0 -107
  1043. package/dist/cjs/layouts/default/components/menu/menu-item.js.map +0 -1
  1044. package/dist/cjs/layouts/default/index.js +0 -127
  1045. package/dist/cjs/layouts/default/index.js.map +0 -1
  1046. package/dist/cjs/layouts/manager-system/components/aside/aside.js +0 -44
  1047. package/dist/cjs/layouts/manager-system/components/aside/aside.js.map +0 -1
  1048. package/dist/cjs/layouts/manager-system/components/aside/bar/bar.d.ts +0 -11
  1049. package/dist/cjs/layouts/manager-system/components/aside/bar/bar.js +0 -126
  1050. package/dist/cjs/layouts/manager-system/components/aside/bar/bar.js.map +0 -1
  1051. package/dist/cjs/layouts/manager-system/components/aside/bar/index.d.ts +0 -10
  1052. package/dist/cjs/layouts/manager-system/components/aside/bar/index.js +0 -11
  1053. package/dist/cjs/layouts/manager-system/components/aside/bar/index.js.map +0 -1
  1054. package/dist/cjs/layouts/manager-system/components/aside/index.d.ts +0 -2
  1055. package/dist/cjs/layouts/manager-system/components/aside/index.js +0 -11
  1056. package/dist/cjs/layouts/manager-system/components/aside/index.js.map +0 -1
  1057. package/dist/cjs/layouts/manager-system/components/aside/menu/index.d.ts +0 -38
  1058. package/dist/cjs/layouts/manager-system/components/aside/menu/index.js +0 -11
  1059. package/dist/cjs/layouts/manager-system/components/aside/menu/index.js.map +0 -1
  1060. package/dist/cjs/layouts/manager-system/components/aside/menu/menu-item.d.ts +0 -13
  1061. package/dist/cjs/layouts/manager-system/components/aside/menu/menu-item.js +0 -107
  1062. package/dist/cjs/layouts/manager-system/components/aside/menu/menu-item.js.map +0 -1
  1063. package/dist/cjs/layouts/manager-system/components/aside/menu/menu.d.ts +0 -39
  1064. package/dist/cjs/layouts/manager-system/components/aside/menu/menu.js +0 -58
  1065. package/dist/cjs/layouts/manager-system/components/aside/menu/menu.js.map +0 -1
  1066. package/dist/cjs/layouts/manager-system/components/aside/panel/index.d.ts +0 -20
  1067. package/dist/cjs/layouts/manager-system/components/aside/panel/index.js +0 -11
  1068. package/dist/cjs/layouts/manager-system/components/aside/panel/index.js.map +0 -1
  1069. package/dist/cjs/layouts/manager-system/components/aside/panel/panel.d.ts +0 -21
  1070. package/dist/cjs/layouts/manager-system/components/aside/panel/panel.js +0 -64
  1071. package/dist/cjs/layouts/manager-system/components/aside/panel/panel.js.map +0 -1
  1072. package/dist/cjs/layouts/manager-system/components/header/breadcrumb/breadcrumb.js +0 -104
  1073. package/dist/cjs/layouts/manager-system/components/header/breadcrumb/breadcrumb.js.map +0 -1
  1074. package/dist/cjs/layouts/manager-system/components/header/breadcrumb/index.d.ts +0 -3
  1075. package/dist/cjs/layouts/manager-system/components/header/breadcrumb/index.js +0 -11
  1076. package/dist/cjs/layouts/manager-system/components/header/breadcrumb/index.js.map +0 -1
  1077. package/dist/cjs/layouts/manager-system/components/header/header.d.ts +0 -2
  1078. package/dist/cjs/layouts/manager-system/components/header/header.js +0 -19
  1079. package/dist/cjs/layouts/manager-system/components/header/header.js.map +0 -1
  1080. package/dist/cjs/layouts/manager-system/components/header/index.d.ts +0 -2
  1081. package/dist/cjs/layouts/manager-system/components/header/index.js +0 -11
  1082. package/dist/cjs/layouts/manager-system/components/header/index.js.map +0 -1
  1083. package/dist/cjs/layouts/manager-system/components/header/nav/index.d.ts +0 -2
  1084. package/dist/cjs/layouts/manager-system/components/header/nav/index.js +0 -11
  1085. package/dist/cjs/layouts/manager-system/components/header/nav/index.js.map +0 -1
  1086. package/dist/cjs/layouts/manager-system/components/header/nav/nav.d.ts +0 -2
  1087. package/dist/cjs/layouts/manager-system/components/header/nav/nav.js +0 -136
  1088. package/dist/cjs/layouts/manager-system/components/header/nav/nav.js.map +0 -1
  1089. package/dist/cjs/layouts/manager-system/components/header/tabs/index.d.ts +0 -2
  1090. package/dist/cjs/layouts/manager-system/components/header/tabs/index.js +0 -11
  1091. package/dist/cjs/layouts/manager-system/components/header/tabs/index.js.map +0 -1
  1092. package/dist/cjs/layouts/manager-system/components/header/tabs/tabs.d.ts +0 -2
  1093. package/dist/cjs/layouts/manager-system/components/header/tabs/tabs.js +0 -119
  1094. package/dist/cjs/layouts/manager-system/components/header/tabs/tabs.js.map +0 -1
  1095. package/dist/cjs/layouts/manager-system/components/header/tools/index.d.ts +0 -2
  1096. package/dist/cjs/layouts/manager-system/components/header/tools/index.js +0 -11
  1097. package/dist/cjs/layouts/manager-system/components/header/tools/index.js.map +0 -1
  1098. package/dist/cjs/layouts/manager-system/components/header/tools/tools.d.ts +0 -2
  1099. package/dist/cjs/layouts/manager-system/components/header/tools/tools.js +0 -17
  1100. package/dist/cjs/layouts/manager-system/components/header/tools/tools.js.map +0 -1
  1101. package/dist/cjs/layouts/manager-system/components/menu/index.d.ts +0 -2
  1102. package/dist/cjs/layouts/manager-system/components/menu/index.js +0 -11
  1103. package/dist/cjs/layouts/manager-system/components/menu/index.js.map +0 -1
  1104. package/dist/cjs/layouts/manager-system/components/menu/logo.d.ts +0 -2
  1105. package/dist/cjs/layouts/manager-system/components/menu/logo.js +0 -34
  1106. package/dist/cjs/layouts/manager-system/components/menu/logo.js.map +0 -1
  1107. package/dist/cjs/layouts/manager-system/components/menu/menu.d.ts +0 -2
  1108. package/dist/cjs/layouts/manager-system/components/menu/menu.js +0 -160
  1109. package/dist/cjs/layouts/manager-system/components/menu/menu.js.map +0 -1
  1110. package/dist/cjs/layouts/manager-system/index.d.ts +0 -2
  1111. package/dist/cjs/layouts/manager-system/index.js +0 -12
  1112. package/dist/cjs/layouts/manager-system/index.js.map +0 -1
  1113. package/dist/cjs/layouts/manager-system/manager-system.d.ts +0 -2
  1114. package/dist/cjs/layouts/manager-system/manager-system.js +0 -136
  1115. package/dist/cjs/layouts/manager-system/manager-system.js.map +0 -1
  1116. package/dist/cjs/page/index/dv/default/index.vue.js +0 -9
  1117. package/dist/cjs/page/index/dv/default/index.vue2.js +0 -60
  1118. package/dist/cjs/page/index/dv/default/index.vue2.js.map +0 -1
  1119. package/dist/cjs/page/index/dv/default/tree.vue.js +0 -9
  1120. package/dist/cjs/page/index/dv/default/tree.vue.js.map +0 -1
  1121. package/dist/cjs/page/index/dv/default/tree.vue2.js +0 -40
  1122. package/dist/cjs/page/index/dv/default/tree.vue2.js.map +0 -1
  1123. package/dist/esm/components/data-model/data-table/views/table/classify-search/classify-search-item/classify-search-item-options.js.map +0 -1
  1124. package/dist/esm/components/data-model/data-table/views/table/classify-search/classify-search-item/classify-search-item.js.map +0 -1
  1125. package/dist/esm/components/data-model/data-table/views/table/classify-search/classify-search-item/index.js.map +0 -1
  1126. package/dist/esm/components/data-model/data-table/views/table/classify-search/classify-search.js.map +0 -1
  1127. package/dist/esm/components/data-model/data-table/views/table/classify-search/index.js.map +0 -1
  1128. package/dist/esm/components/data-model/data-table/views/table/search/composables/index.d.ts +0 -1
  1129. package/dist/esm/components/data-model/data-table/views/table/search/composables/index.js +0 -2
  1130. package/dist/esm/components/data-model/data-table/views/table/search/composables/use-condition.d.ts +0 -16
  1131. package/dist/esm/components/data-model/data-table/views/table/search/composables/use-condition.js +0 -50
  1132. package/dist/esm/components/data-model/data-table/views/table/search/composables/use-condition.js.map +0 -1
  1133. package/dist/esm/components/data-model/data-table/views/table/search/index.d.ts +0 -23
  1134. package/dist/esm/components/data-model/data-table/views/table/search/index.js +0 -9
  1135. package/dist/esm/components/data-model/data-table/views/table/search/index.js.map +0 -1
  1136. package/dist/esm/components/data-model/data-table/views/table/search/operator-options.d.ts +0 -16
  1137. package/dist/esm/components/data-model/data-table/views/table/search/operator-options.js +0 -61
  1138. package/dist/esm/components/data-model/data-table/views/table/search/operator-options.js.map +0 -1
  1139. package/dist/esm/components/data-model/data-table/views/table/search/search-drawer/index.d.ts +0 -26
  1140. package/dist/esm/components/data-model/data-table/views/table/search/search-drawer/index.js +0 -6
  1141. package/dist/esm/components/data-model/data-table/views/table/search/search-drawer/index.js.map +0 -1
  1142. package/dist/esm/components/data-model/data-table/views/table/search/search-drawer/search-drawer-options.d.ts +0 -17
  1143. package/dist/esm/components/data-model/data-table/views/table/search/search-drawer/search-drawer-options.js +0 -14
  1144. package/dist/esm/components/data-model/data-table/views/table/search/search-drawer/search-drawer-options.js.map +0 -1
  1145. package/dist/esm/components/data-model/data-table/views/table/search/search-drawer/search-drawer.d.ts +0 -26
  1146. package/dist/esm/components/data-model/data-table/views/table/search/search-drawer/search-drawer.js +0 -103
  1147. package/dist/esm/components/data-model/data-table/views/table/search/search-drawer/search-drawer.js.map +0 -1
  1148. package/dist/esm/components/data-model/data-table/views/table/search/search-item/index.d.ts +0 -34
  1149. package/dist/esm/components/data-model/data-table/views/table/search/search-item/index.js +0 -6
  1150. package/dist/esm/components/data-model/data-table/views/table/search/search-item/index.js.map +0 -1
  1151. package/dist/esm/components/data-model/data-table/views/table/search/search-item/search-item-options.d.ts +0 -21
  1152. package/dist/esm/components/data-model/data-table/views/table/search/search-item/search-item-options.js +0 -13
  1153. package/dist/esm/components/data-model/data-table/views/table/search/search-item/search-item-options.js.map +0 -1
  1154. package/dist/esm/components/data-model/data-table/views/table/search/search-item/search-item.d.ts +0 -38
  1155. package/dist/esm/components/data-model/data-table/views/table/search/search-item/search-item.js +0 -116
  1156. package/dist/esm/components/data-model/data-table/views/table/search/search-item/search-item.js.map +0 -1
  1157. package/dist/esm/components/data-model/data-table/views/table/search/search-options.d.ts +0 -15
  1158. package/dist/esm/components/data-model/data-table/views/table/search/search-options.js +0 -15
  1159. package/dist/esm/components/data-model/data-table/views/table/search/search-options.js.map +0 -1
  1160. package/dist/esm/components/data-model/data-table/views/table/search/search.d.ts +0 -20
  1161. package/dist/esm/components/data-model/data-table/views/table/search/search.js +0 -253
  1162. package/dist/esm/components/data-model/data-table/views/table/search/search.js.map +0 -1
  1163. package/dist/esm/components/data-model/data-table/views/table/search/token.d.ts +0 -21
  1164. package/dist/esm/components/data-model/data-table/views/table/search/token.js +0 -5
  1165. package/dist/esm/components/data-model/data-table/views/table/search/token.js.map +0 -1
  1166. package/dist/esm/components/data-model/data-table/views/table/table-view-options.js.map +0 -1
  1167. package/dist/esm/components/data-model/data-table/views/table/table-view.js +0 -118
  1168. package/dist/esm/components/data-model/data-table/views/table/table-view.js.map +0 -1
  1169. package/dist/esm/components/data-model/data-tree/data-tree-options.d.ts +0 -23
  1170. package/dist/esm/components/data-model/data-tree/data-tree-options.js +0 -19
  1171. package/dist/esm/components/data-model/data-tree/data-tree-options.js.map +0 -1
  1172. package/dist/esm/components/data-model/data-tree/data-tree.d.ts +0 -45
  1173. package/dist/esm/components/data-model/data-tree/data-tree.js +0 -125
  1174. package/dist/esm/components/data-model/data-tree/data-tree.js.map +0 -1
  1175. package/dist/esm/components/data-model/data-tree/index.d.ts +0 -45
  1176. package/dist/esm/components/data-model/data-tree/index.js +0 -8
  1177. package/dist/esm/components/data-model/data-tree/index.js.map +0 -1
  1178. package/dist/esm/components/data-model/data-tree-page/data-tree-page-options.d.ts +0 -29
  1179. package/dist/esm/components/data-model/data-tree-page/data-tree-page-options.js +0 -20
  1180. package/dist/esm/components/data-model/data-tree-page/data-tree-page-options.js.map +0 -1
  1181. package/dist/esm/components/data-model/data-tree-page/data-tree-page.d.ts +0 -56
  1182. package/dist/esm/components/data-model/data-tree-page/data-tree-page.js +0 -173
  1183. package/dist/esm/components/data-model/data-tree-page/data-tree-page.js.map +0 -1
  1184. package/dist/esm/components/data-model/data-tree-page/index.d.ts +0 -56
  1185. package/dist/esm/components/data-model/data-tree-page/index.js +0 -7
  1186. package/dist/esm/components/data-model/data-tree-page/index.js.map +0 -1
  1187. package/dist/esm/components/member-table/index.d.ts +0 -5
  1188. package/dist/esm/components/member-table/index.js +0 -7
  1189. package/dist/esm/components/member-table/index.js.map +0 -1
  1190. package/dist/esm/components/member-table/member-table.vue.d.ts +0 -5
  1191. package/dist/esm/components/member-table/member-table.vue.js +0 -7
  1192. package/dist/esm/components/member-table/member-table.vue.js.map +0 -1
  1193. package/dist/esm/components/member-table/member-table.vue2.js +0 -307
  1194. package/dist/esm/components/member-table/member-table.vue2.js.map +0 -1
  1195. package/dist/esm/components/menu-permission-table/index.d.ts +0 -2
  1196. package/dist/esm/components/menu-permission-table/index.js +0 -7
  1197. package/dist/esm/components/menu-permission-table/index.js.map +0 -1
  1198. package/dist/esm/components/menu-permission-table/menu-permission-table.vue.js +0 -7
  1199. package/dist/esm/components/menu-permission-table/menu-permission-table.vue.js.map +0 -1
  1200. package/dist/esm/components/menu-permission-table/menu-permission-table.vue2.js +0 -219
  1201. package/dist/esm/components/menu-permission-table/menu-permission-table.vue2.js.map +0 -1
  1202. package/dist/esm/layouts/common/lock/index.js.map +0 -1
  1203. package/dist/esm/layouts/common/lock/lock.js +0 -144
  1204. package/dist/esm/layouts/common/lock/lock.js.map +0 -1
  1205. package/dist/esm/layouts/default/components/bar/index.d.ts +0 -10
  1206. package/dist/esm/layouts/default/components/bar/index.js +0 -123
  1207. package/dist/esm/layouts/default/components/bar/index.js.map +0 -1
  1208. package/dist/esm/layouts/default/components/bar/settings.d.ts +0 -39
  1209. package/dist/esm/layouts/default/components/bar/settings.js +0 -111
  1210. package/dist/esm/layouts/default/components/bar/settings.js.map +0 -1
  1211. package/dist/esm/layouts/default/components/menu/index.d.ts +0 -10
  1212. package/dist/esm/layouts/default/components/menu/index.js +0 -62
  1213. package/dist/esm/layouts/default/components/menu/index.js.map +0 -1
  1214. package/dist/esm/layouts/default/components/menu/menu-item.d.ts +0 -13
  1215. package/dist/esm/layouts/default/components/menu/menu-item.js +0 -105
  1216. package/dist/esm/layouts/default/components/menu/menu-item.js.map +0 -1
  1217. package/dist/esm/layouts/default/index.js +0 -125
  1218. package/dist/esm/layouts/default/index.js.map +0 -1
  1219. package/dist/esm/layouts/manager-system/components/aside/aside.d.ts +0 -2
  1220. package/dist/esm/layouts/manager-system/components/aside/aside.js +0 -42
  1221. package/dist/esm/layouts/manager-system/components/aside/aside.js.map +0 -1
  1222. package/dist/esm/layouts/manager-system/components/aside/bar/bar.d.ts +0 -11
  1223. package/dist/esm/layouts/manager-system/components/aside/bar/bar.js +0 -124
  1224. package/dist/esm/layouts/manager-system/components/aside/bar/bar.js.map +0 -1
  1225. package/dist/esm/layouts/manager-system/components/aside/bar/index.d.ts +0 -10
  1226. package/dist/esm/layouts/manager-system/components/aside/bar/index.js +0 -6
  1227. package/dist/esm/layouts/manager-system/components/aside/bar/index.js.map +0 -1
  1228. package/dist/esm/layouts/manager-system/components/aside/index.d.ts +0 -2
  1229. package/dist/esm/layouts/manager-system/components/aside/index.js +0 -6
  1230. package/dist/esm/layouts/manager-system/components/aside/index.js.map +0 -1
  1231. package/dist/esm/layouts/manager-system/components/aside/menu/index.d.ts +0 -38
  1232. package/dist/esm/layouts/manager-system/components/aside/menu/index.js +0 -6
  1233. package/dist/esm/layouts/manager-system/components/aside/menu/index.js.map +0 -1
  1234. package/dist/esm/layouts/manager-system/components/aside/menu/menu-item.d.ts +0 -13
  1235. package/dist/esm/layouts/manager-system/components/aside/menu/menu-item.js +0 -105
  1236. package/dist/esm/layouts/manager-system/components/aside/menu/menu-item.js.map +0 -1
  1237. package/dist/esm/layouts/manager-system/components/aside/menu/menu.d.ts +0 -39
  1238. package/dist/esm/layouts/manager-system/components/aside/menu/menu.js +0 -56
  1239. package/dist/esm/layouts/manager-system/components/aside/menu/menu.js.map +0 -1
  1240. package/dist/esm/layouts/manager-system/components/aside/panel/index.d.ts +0 -20
  1241. package/dist/esm/layouts/manager-system/components/aside/panel/index.js +0 -6
  1242. package/dist/esm/layouts/manager-system/components/aside/panel/index.js.map +0 -1
  1243. package/dist/esm/layouts/manager-system/components/aside/panel/panel.d.ts +0 -21
  1244. package/dist/esm/layouts/manager-system/components/aside/panel/panel.js +0 -62
  1245. package/dist/esm/layouts/manager-system/components/aside/panel/panel.js.map +0 -1
  1246. package/dist/esm/layouts/manager-system/components/header/breadcrumb/breadcrumb.d.ts +0 -2
  1247. package/dist/esm/layouts/manager-system/components/header/breadcrumb/breadcrumb.js +0 -102
  1248. package/dist/esm/layouts/manager-system/components/header/breadcrumb/breadcrumb.js.map +0 -1
  1249. package/dist/esm/layouts/manager-system/components/header/breadcrumb/index.d.ts +0 -3
  1250. package/dist/esm/layouts/manager-system/components/header/breadcrumb/index.js +0 -6
  1251. package/dist/esm/layouts/manager-system/components/header/breadcrumb/index.js.map +0 -1
  1252. package/dist/esm/layouts/manager-system/components/header/header.d.ts +0 -2
  1253. package/dist/esm/layouts/manager-system/components/header/header.js +0 -17
  1254. package/dist/esm/layouts/manager-system/components/header/header.js.map +0 -1
  1255. package/dist/esm/layouts/manager-system/components/header/index.d.ts +0 -2
  1256. package/dist/esm/layouts/manager-system/components/header/index.js +0 -6
  1257. package/dist/esm/layouts/manager-system/components/header/index.js.map +0 -1
  1258. package/dist/esm/layouts/manager-system/components/header/nav/index.d.ts +0 -2
  1259. package/dist/esm/layouts/manager-system/components/header/nav/index.js +0 -6
  1260. package/dist/esm/layouts/manager-system/components/header/nav/index.js.map +0 -1
  1261. package/dist/esm/layouts/manager-system/components/header/nav/nav.d.ts +0 -2
  1262. package/dist/esm/layouts/manager-system/components/header/nav/nav.js +0 -134
  1263. package/dist/esm/layouts/manager-system/components/header/nav/nav.js.map +0 -1
  1264. package/dist/esm/layouts/manager-system/components/header/tabs/index.d.ts +0 -2
  1265. package/dist/esm/layouts/manager-system/components/header/tabs/index.js +0 -6
  1266. package/dist/esm/layouts/manager-system/components/header/tabs/index.js.map +0 -1
  1267. package/dist/esm/layouts/manager-system/components/header/tabs/tabs.d.ts +0 -2
  1268. package/dist/esm/layouts/manager-system/components/header/tabs/tabs.js +0 -117
  1269. package/dist/esm/layouts/manager-system/components/header/tabs/tabs.js.map +0 -1
  1270. package/dist/esm/layouts/manager-system/components/header/tools/index.d.ts +0 -2
  1271. package/dist/esm/layouts/manager-system/components/header/tools/index.js +0 -6
  1272. package/dist/esm/layouts/manager-system/components/header/tools/index.js.map +0 -1
  1273. package/dist/esm/layouts/manager-system/components/header/tools/tools.d.ts +0 -2
  1274. package/dist/esm/layouts/manager-system/components/header/tools/tools.js +0 -15
  1275. package/dist/esm/layouts/manager-system/components/header/tools/tools.js.map +0 -1
  1276. package/dist/esm/layouts/manager-system/components/menu/index.d.ts +0 -2
  1277. package/dist/esm/layouts/manager-system/components/menu/index.js +0 -6
  1278. package/dist/esm/layouts/manager-system/components/menu/index.js.map +0 -1
  1279. package/dist/esm/layouts/manager-system/components/menu/logo.d.ts +0 -2
  1280. package/dist/esm/layouts/manager-system/components/menu/logo.js +0 -32
  1281. package/dist/esm/layouts/manager-system/components/menu/logo.js.map +0 -1
  1282. package/dist/esm/layouts/manager-system/components/menu/menu.d.ts +0 -2
  1283. package/dist/esm/layouts/manager-system/components/menu/menu.js +0 -158
  1284. package/dist/esm/layouts/manager-system/components/menu/menu.js.map +0 -1
  1285. package/dist/esm/layouts/manager-system/index.d.ts +0 -2
  1286. package/dist/esm/layouts/manager-system/index.js +0 -7
  1287. package/dist/esm/layouts/manager-system/index.js.map +0 -1
  1288. package/dist/esm/layouts/manager-system/manager-system.d.ts +0 -2
  1289. package/dist/esm/layouts/manager-system/manager-system.js +0 -134
  1290. package/dist/esm/layouts/manager-system/manager-system.js.map +0 -1
  1291. package/dist/esm/page/index/dv/default/index.vue.js +0 -7
  1292. package/dist/esm/page/index/dv/default/index.vue2.js +0 -58
  1293. package/dist/esm/page/index/dv/default/index.vue2.js.map +0 -1
  1294. package/dist/esm/page/index/dv/default/tree.vue.js +0 -7
  1295. package/dist/esm/page/index/dv/default/tree.vue.js.map +0 -1
  1296. package/dist/esm/page/index/dv/default/tree.vue2.js +0 -38
  1297. package/dist/esm/page/index/dv/default/tree.vue2.js.map +0 -1
  1298. package/dist/style/layouts/manager-system/aside.css +0 -1
  1299. package/dist/style/layouts/manager-system/header.css +0 -1
  1300. package/dist/style/layouts/manager-system/index.css +0 -1
  1301. package/dist/style/layouts/manager-system/logo.css +0 -1
  1302. package/dist/style/layouts/manager-system/manager-system.css +0 -1
  1303. package/dist/style/layouts/manager-system/menu.css +0 -1
  1304. package/dist/style/src/layouts/manager-system/aside.scss +0 -164
  1305. package/dist/style/src/layouts/manager-system/header.scss +0 -135
  1306. package/dist/style/src/layouts/manager-system/index.scss +0 -5
  1307. package/dist/style/src/layouts/manager-system/logo.scss +0 -26
  1308. package/dist/style/src/layouts/manager-system/manager-system.scss +0 -70
  1309. package/dist/style/src/layouts/manager-system/menu.scss +0 -229
  1310. package/src/components/data-model/data-table/views/table/search/composables/index.ts +0 -1
  1311. package/src/components/data-model/data-table/views/table/search/composables/use-condition.ts +0 -65
  1312. package/src/components/data-model/data-table/views/table/search/index.ts +0 -9
  1313. package/src/components/data-model/data-table/views/table/search/operator-options.ts +0 -69
  1314. package/src/components/data-model/data-table/views/table/search/search-drawer/index.ts +0 -5
  1315. package/src/components/data-model/data-table/views/table/search/search-drawer/search-drawer-options.ts +0 -17
  1316. package/src/components/data-model/data-table/views/table/search/search-drawer/search-drawer.tsx +0 -130
  1317. package/src/components/data-model/data-table/views/table/search/search-item/index.ts +0 -5
  1318. package/src/components/data-model/data-table/views/table/search/search-item/search-item-options.ts +0 -16
  1319. package/src/components/data-model/data-table/views/table/search/search-item/search-item.tsx +0 -160
  1320. package/src/components/data-model/data-table/views/table/search/search-options.ts +0 -18
  1321. package/src/components/data-model/data-table/views/table/search/search.tsx +0 -338
  1322. package/src/components/data-model/data-table/views/table/search/token.ts +0 -28
  1323. package/src/components/data-model/data-table/views/table/table-view.tsx +0 -166
  1324. package/src/components/data-model/data-tree/data-tree-options.ts +0 -19
  1325. package/src/components/data-model/data-tree/data-tree.tsx +0 -176
  1326. package/src/components/data-model/data-tree/index.ts +0 -7
  1327. package/src/components/data-model/data-tree-page/data-tree-page-options.ts +0 -20
  1328. package/src/components/data-model/data-tree-page/data-tree-page.tsx +0 -205
  1329. package/src/components/data-model/data-tree-page/index.ts +0 -5
  1330. package/src/components/member-table/index.ts +0 -6
  1331. package/src/components/member-table/member-table.vue +0 -220
  1332. package/src/components/menu-permission-table/index.ts +0 -6
  1333. package/src/components/menu-permission-table/menu-permission-table.vue +0 -147
  1334. package/src/layouts/common/lock/lock.tsx +0 -92
  1335. package/src/layouts/default/components/bar/index.tsx +0 -82
  1336. package/src/layouts/default/components/bar/settings.tsx +0 -63
  1337. package/src/layouts/default/components/menu/index.tsx +0 -56
  1338. package/src/layouts/default/components/menu/menu-item.tsx +0 -63
  1339. package/src/layouts/default/index.tsx +0 -74
  1340. package/src/layouts/manager-system/components/aside/aside.tsx +0 -44
  1341. package/src/layouts/manager-system/components/aside/bar/bar.tsx +0 -78
  1342. package/src/layouts/manager-system/components/aside/bar/index.ts +0 -5
  1343. package/src/layouts/manager-system/components/aside/index.ts +0 -5
  1344. package/src/layouts/manager-system/components/aside/menu/index.ts +0 -5
  1345. package/src/layouts/manager-system/components/aside/menu/menu-item.tsx +0 -63
  1346. package/src/layouts/manager-system/components/aside/menu/menu.tsx +0 -50
  1347. package/src/layouts/manager-system/components/aside/panel/index.ts +0 -5
  1348. package/src/layouts/manager-system/components/aside/panel/panel.tsx +0 -56
  1349. package/src/layouts/manager-system/components/header/breadcrumb/breadcrumb.tsx +0 -46
  1350. package/src/layouts/manager-system/components/header/breadcrumb/index.ts +0 -5
  1351. package/src/layouts/manager-system/components/header/header.tsx +0 -17
  1352. package/src/layouts/manager-system/components/header/index.ts +0 -5
  1353. package/src/layouts/manager-system/components/header/nav/index.ts +0 -5
  1354. package/src/layouts/manager-system/components/header/nav/nav.tsx +0 -91
  1355. package/src/layouts/manager-system/components/header/tabs/index.ts +0 -5
  1356. package/src/layouts/manager-system/components/header/tabs/tabs.tsx +0 -71
  1357. package/src/layouts/manager-system/components/header/tools/index.ts +0 -5
  1358. package/src/layouts/manager-system/components/header/tools/tools.tsx +0 -15
  1359. package/src/layouts/manager-system/components/menu/index.ts +0 -5
  1360. package/src/layouts/manager-system/components/menu/logo.tsx +0 -29
  1361. package/src/layouts/manager-system/components/menu/menu.tsx +0 -111
  1362. package/src/layouts/manager-system/index.ts +0 -6
  1363. package/src/layouts/manager-system/manager-system.tsx +0 -101
  1364. package/src/page/index/dv/default/index.vue +0 -61
  1365. package/src/page/index/dv/default/tree.vue +0 -32
  1366. /package/dist/{esm/components/data-model/data-table/views/table/table-view.d.ts → cjs/components/data-model/data-table/views/table/table.d.ts} +0 -0
  1367. /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/classify-search-item-options.d.ts +0 -0
  1368. /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/classify-search-item-options.js +0 -0
  1369. /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/classify-search-item.d.ts +0 -0
  1370. /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/classify-search-item.js +0 -0
  1371. /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/index.d.ts +0 -0
  1372. /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/index.js +0 -0
  1373. /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search.d.ts +0 -0
  1374. /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search.js +0 -0
  1375. /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/classify-search/index.d.ts +0 -0
  1376. /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/classify-search/index.js +0 -0
  1377. /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/table-view-options.d.ts +0 -0
  1378. /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/table-view-options.js +0 -0
  1379. /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/table-view.d.ts +0 -0
  1380. /package/dist/cjs/{layouts/default/components → dataview/deny-ip-access-list}/index.js.map +0 -0
  1381. /package/dist/cjs/layouts/{default/components → components}/index.d.ts +0 -0
  1382. /package/dist/cjs/layouts/{default/components → components}/index.js +0 -0
  1383. /package/dist/cjs/layouts/{common → components}/lock/index.d.ts +0 -0
  1384. /package/dist/cjs/layouts/{common → components}/lock/index.js +0 -0
  1385. /package/dist/cjs/layouts/{common → components}/lock/lock.d.ts +0 -0
  1386. /package/dist/cjs/layouts/{default/index.d.ts → container/default.d.ts} +0 -0
  1387. /package/dist/cjs/layouts/{manager-system/components/aside/aside.d.ts → layout.d.ts} +0 -0
  1388. /package/dist/cjs/{components/menu-permission-table/menu-permission-table.vue.d.ts → page/index/dv/default/single/tree/dialog.vue.d.ts} +0 -0
  1389. /package/dist/cjs/page/index/dv/{default/tree.vue.d.ts → local-log/index.vue.d.ts} +0 -0
  1390. /package/dist/cjs/page/index/dv/{default → local-log}/index.vue.js.map +0 -0
  1391. /package/dist/esm/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/classify-search-item-options.d.ts +0 -0
  1392. /package/dist/esm/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/classify-search-item-options.js +0 -0
  1393. /package/dist/esm/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/classify-search-item.d.ts +0 -0
  1394. /package/dist/esm/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/classify-search-item.js +0 -0
  1395. /package/dist/esm/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/index.d.ts +0 -0
  1396. /package/dist/esm/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/index.js +0 -0
  1397. /package/dist/esm/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search.d.ts +0 -0
  1398. /package/dist/esm/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search.js +0 -0
  1399. /package/dist/esm/components/data-model/data-table/views/{table → table-view}/classify-search/index.d.ts +0 -0
  1400. /package/dist/esm/components/data-model/data-table/views/{table → table-view}/classify-search/index.js +0 -0
  1401. /package/dist/esm/components/data-model/data-table/views/{table → table-view}/table-view-options.d.ts +0 -0
  1402. /package/dist/esm/components/data-model/data-table/views/{table → table-view}/table-view-options.js +0 -0
  1403. /package/dist/esm/{layouts/default/components → dataview/deny-ip-access-list}/index.js.map +0 -0
  1404. /package/dist/esm/{components/data-model/data-table/views/table/search/composables → dataview/log/local-log}/index.js.map +0 -0
  1405. /package/dist/esm/layouts/{default/components → components}/index.d.ts +0 -0
  1406. /package/dist/esm/layouts/{default/components → components}/index.js +0 -0
  1407. /package/dist/esm/layouts/{common → components}/lock/index.d.ts +0 -0
  1408. /package/dist/esm/layouts/{common → components}/lock/index.js +0 -0
  1409. /package/dist/esm/layouts/{common → components}/lock/lock.d.ts +0 -0
  1410. /package/dist/esm/layouts/{default/index.d.ts → container/default.d.ts} +0 -0
  1411. /package/dist/{cjs/layouts/manager-system/components/header/breadcrumb/breadcrumb.d.ts → esm/layouts/layout.d.ts} +0 -0
  1412. /package/dist/esm/{components/menu-permission-table/menu-permission-table.vue.d.ts → page/index/dv/default/single/tree/dialog.vue.d.ts} +0 -0
  1413. /package/dist/esm/page/index/dv/{default/tree.vue.d.ts → local-log/index.vue.d.ts} +0 -0
  1414. /package/dist/esm/page/index/dv/{default → local-log}/index.vue.js.map +0 -0
  1415. /package/src/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/classify-search-item-options.ts +0 -0
  1416. /package/src/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/classify-search-item.tsx +0 -0
  1417. /package/src/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/index.ts +0 -0
  1418. /package/src/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search.tsx +0 -0
  1419. /package/src/components/data-model/data-table/views/{table → table-view}/classify-search/index.ts +0 -0
  1420. /package/src/components/data-model/data-table/views/{table → table-view}/table-view-options.ts +0 -0
  1421. /package/src/layouts/{default/components → components}/index.ts +0 -0
  1422. /package/src/layouts/{common → components}/lock/index.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../../../../../node_modules/.pnpm/@codemirror+state@6.3.2/node_modules/@codemirror/state/dist/index.js"],"sourcesContent":["/**\nThe data structure for documents. @nonabstract\n*/\nclass Text {\n /**\n Get the line description around the given position.\n */\n lineAt(pos) {\n if (pos < 0 || pos > this.length)\n throw new RangeError(`Invalid position ${pos} in document of length ${this.length}`);\n return this.lineInner(pos, false, 1, 0);\n }\n /**\n Get the description for the given (1-based) line number.\n */\n line(n) {\n if (n < 1 || n > this.lines)\n throw new RangeError(`Invalid line number ${n} in ${this.lines}-line document`);\n return this.lineInner(n, true, 1, 0);\n }\n /**\n Replace a range of the text with the given content.\n */\n replace(from, to, text) {\n let parts = [];\n this.decompose(0, from, parts, 2 /* Open.To */);\n if (text.length)\n text.decompose(0, text.length, parts, 1 /* Open.From */ | 2 /* Open.To */);\n this.decompose(to, this.length, parts, 1 /* Open.From */);\n return TextNode.from(parts, this.length - (to - from) + text.length);\n }\n /**\n Append another document to this one.\n */\n append(other) {\n return this.replace(this.length, this.length, other);\n }\n /**\n Retrieve the text between the given points.\n */\n slice(from, to = this.length) {\n let parts = [];\n this.decompose(from, to, parts, 0);\n return TextNode.from(parts, to - from);\n }\n /**\n Test whether this text is equal to another instance.\n */\n eq(other) {\n if (other == this)\n return true;\n if (other.length != this.length || other.lines != this.lines)\n return false;\n let start = this.scanIdentical(other, 1), end = this.length - this.scanIdentical(other, -1);\n let a = new RawTextCursor(this), b = new RawTextCursor(other);\n for (let skip = start, pos = start;;) {\n a.next(skip);\n b.next(skip);\n skip = 0;\n if (a.lineBreak != b.lineBreak || a.done != b.done || a.value != b.value)\n return false;\n pos += a.value.length;\n if (a.done || pos >= end)\n return true;\n }\n }\n /**\n Iterate over the text. When `dir` is `-1`, iteration happens\n from end to start. This will return lines and the breaks between\n them as separate strings.\n */\n iter(dir = 1) { return new RawTextCursor(this, dir); }\n /**\n Iterate over a range of the text. When `from` > `to`, the\n iterator will run in reverse.\n */\n iterRange(from, to = this.length) { return new PartialTextCursor(this, from, to); }\n /**\n Return a cursor that iterates over the given range of lines,\n _without_ returning the line breaks between, and yielding empty\n strings for empty lines.\n \n When `from` and `to` are given, they should be 1-based line numbers.\n */\n iterLines(from, to) {\n let inner;\n if (from == null) {\n inner = this.iter();\n }\n else {\n if (to == null)\n to = this.lines + 1;\n let start = this.line(from).from;\n inner = this.iterRange(start, Math.max(start, to == this.lines + 1 ? this.length : to <= 1 ? 0 : this.line(to - 1).to));\n }\n return new LineCursor(inner);\n }\n /**\n Return the document as a string, using newline characters to\n separate lines.\n */\n toString() { return this.sliceString(0); }\n /**\n Convert the document to an array of lines (which can be\n deserialized again via [`Text.of`](https://codemirror.net/6/docs/ref/#state.Text^of)).\n */\n toJSON() {\n let lines = [];\n this.flatten(lines);\n return lines;\n }\n /**\n @internal\n */\n constructor() { }\n /**\n Create a `Text` instance for the given array of lines.\n */\n static of(text) {\n if (text.length == 0)\n throw new RangeError(\"A document must have at least one line\");\n if (text.length == 1 && !text[0])\n return Text.empty;\n return text.length <= 32 /* Tree.Branch */ ? new TextLeaf(text) : TextNode.from(TextLeaf.split(text, []));\n }\n}\n// Leaves store an array of line strings. There are always line breaks\n// between these strings. Leaves are limited in size and have to be\n// contained in TextNode instances for bigger documents.\nclass TextLeaf extends Text {\n constructor(text, length = textLength(text)) {\n super();\n this.text = text;\n this.length = length;\n }\n get lines() { return this.text.length; }\n get children() { return null; }\n lineInner(target, isLine, line, offset) {\n for (let i = 0;; i++) {\n let string = this.text[i], end = offset + string.length;\n if ((isLine ? line : end) >= target)\n return new Line(offset, end, line, string);\n offset = end + 1;\n line++;\n }\n }\n decompose(from, to, target, open) {\n let text = from <= 0 && to >= this.length ? this\n : new TextLeaf(sliceText(this.text, from, to), Math.min(to, this.length) - Math.max(0, from));\n if (open & 1 /* Open.From */) {\n let prev = target.pop();\n let joined = appendText(text.text, prev.text.slice(), 0, text.length);\n if (joined.length <= 32 /* Tree.Branch */) {\n target.push(new TextLeaf(joined, prev.length + text.length));\n }\n else {\n let mid = joined.length >> 1;\n target.push(new TextLeaf(joined.slice(0, mid)), new TextLeaf(joined.slice(mid)));\n }\n }\n else {\n target.push(text);\n }\n }\n replace(from, to, text) {\n if (!(text instanceof TextLeaf))\n return super.replace(from, to, text);\n let lines = appendText(this.text, appendText(text.text, sliceText(this.text, 0, from)), to);\n let newLen = this.length + text.length - (to - from);\n if (lines.length <= 32 /* Tree.Branch */)\n return new TextLeaf(lines, newLen);\n return TextNode.from(TextLeaf.split(lines, []), newLen);\n }\n sliceString(from, to = this.length, lineSep = \"\\n\") {\n let result = \"\";\n for (let pos = 0, i = 0; pos <= to && i < this.text.length; i++) {\n let line = this.text[i], end = pos + line.length;\n if (pos > from && i)\n result += lineSep;\n if (from < end && to > pos)\n result += line.slice(Math.max(0, from - pos), to - pos);\n pos = end + 1;\n }\n return result;\n }\n flatten(target) {\n for (let line of this.text)\n target.push(line);\n }\n scanIdentical() { return 0; }\n static split(text, target) {\n let part = [], len = -1;\n for (let line of text) {\n part.push(line);\n len += line.length + 1;\n if (part.length == 32 /* Tree.Branch */) {\n target.push(new TextLeaf(part, len));\n part = [];\n len = -1;\n }\n }\n if (len > -1)\n target.push(new TextLeaf(part, len));\n return target;\n }\n}\n// Nodes provide the tree structure of the `Text` type. They store a\n// number of other nodes or leaves, taking care to balance themselves\n// on changes. There are implied line breaks _between_ the children of\n// a node (but not before the first or after the last child).\nclass TextNode extends Text {\n constructor(children, length) {\n super();\n this.children = children;\n this.length = length;\n this.lines = 0;\n for (let child of children)\n this.lines += child.lines;\n }\n lineInner(target, isLine, line, offset) {\n for (let i = 0;; i++) {\n let child = this.children[i], end = offset + child.length, endLine = line + child.lines - 1;\n if ((isLine ? endLine : end) >= target)\n return child.lineInner(target, isLine, line, offset);\n offset = end + 1;\n line = endLine + 1;\n }\n }\n decompose(from, to, target, open) {\n for (let i = 0, pos = 0; pos <= to && i < this.children.length; i++) {\n let child = this.children[i], end = pos + child.length;\n if (from <= end && to >= pos) {\n let childOpen = open & ((pos <= from ? 1 /* Open.From */ : 0) | (end >= to ? 2 /* Open.To */ : 0));\n if (pos >= from && end <= to && !childOpen)\n target.push(child);\n else\n child.decompose(from - pos, to - pos, target, childOpen);\n }\n pos = end + 1;\n }\n }\n replace(from, to, text) {\n if (text.lines < this.lines)\n for (let i = 0, pos = 0; i < this.children.length; i++) {\n let child = this.children[i], end = pos + child.length;\n // Fast path: if the change only affects one child and the\n // child's size remains in the acceptable range, only update\n // that child\n if (from >= pos && to <= end) {\n let updated = child.replace(from - pos, to - pos, text);\n let totalLines = this.lines - child.lines + updated.lines;\n if (updated.lines < (totalLines >> (5 /* Tree.BranchShift */ - 1)) &&\n updated.lines > (totalLines >> (5 /* Tree.BranchShift */ + 1))) {\n let copy = this.children.slice();\n copy[i] = updated;\n return new TextNode(copy, this.length - (to - from) + text.length);\n }\n return super.replace(pos, end, updated);\n }\n pos = end + 1;\n }\n return super.replace(from, to, text);\n }\n sliceString(from, to = this.length, lineSep = \"\\n\") {\n let result = \"\";\n for (let i = 0, pos = 0; i < this.children.length && pos <= to; i++) {\n let child = this.children[i], end = pos + child.length;\n if (pos > from && i)\n result += lineSep;\n if (from < end && to > pos)\n result += child.sliceString(from - pos, to - pos, lineSep);\n pos = end + 1;\n }\n return result;\n }\n flatten(target) {\n for (let child of this.children)\n child.flatten(target);\n }\n scanIdentical(other, dir) {\n if (!(other instanceof TextNode))\n return 0;\n let length = 0;\n let [iA, iB, eA, eB] = dir > 0 ? [0, 0, this.children.length, other.children.length]\n : [this.children.length - 1, other.children.length - 1, -1, -1];\n for (;; iA += dir, iB += dir) {\n if (iA == eA || iB == eB)\n return length;\n let chA = this.children[iA], chB = other.children[iB];\n if (chA != chB)\n return length + chA.scanIdentical(chB, dir);\n length += chA.length + 1;\n }\n }\n static from(children, length = children.reduce((l, ch) => l + ch.length + 1, -1)) {\n let lines = 0;\n for (let ch of children)\n lines += ch.lines;\n if (lines < 32 /* Tree.Branch */) {\n let flat = [];\n for (let ch of children)\n ch.flatten(flat);\n return new TextLeaf(flat, length);\n }\n let chunk = Math.max(32 /* Tree.Branch */, lines >> 5 /* Tree.BranchShift */), maxChunk = chunk << 1, minChunk = chunk >> 1;\n let chunked = [], currentLines = 0, currentLen = -1, currentChunk = [];\n function add(child) {\n let last;\n if (child.lines > maxChunk && child instanceof TextNode) {\n for (let node of child.children)\n add(node);\n }\n else if (child.lines > minChunk && (currentLines > minChunk || !currentLines)) {\n flush();\n chunked.push(child);\n }\n else if (child instanceof TextLeaf && currentLines &&\n (last = currentChunk[currentChunk.length - 1]) instanceof TextLeaf &&\n child.lines + last.lines <= 32 /* Tree.Branch */) {\n currentLines += child.lines;\n currentLen += child.length + 1;\n currentChunk[currentChunk.length - 1] = new TextLeaf(last.text.concat(child.text), last.length + 1 + child.length);\n }\n else {\n if (currentLines + child.lines > chunk)\n flush();\n currentLines += child.lines;\n currentLen += child.length + 1;\n currentChunk.push(child);\n }\n }\n function flush() {\n if (currentLines == 0)\n return;\n chunked.push(currentChunk.length == 1 ? currentChunk[0] : TextNode.from(currentChunk, currentLen));\n currentLen = -1;\n currentLines = currentChunk.length = 0;\n }\n for (let child of children)\n add(child);\n flush();\n return chunked.length == 1 ? chunked[0] : new TextNode(chunked, length);\n }\n}\nText.empty = /*@__PURE__*/new TextLeaf([\"\"], 0);\nfunction textLength(text) {\n let length = -1;\n for (let line of text)\n length += line.length + 1;\n return length;\n}\nfunction appendText(text, target, from = 0, to = 1e9) {\n for (let pos = 0, i = 0, first = true; i < text.length && pos <= to; i++) {\n let line = text[i], end = pos + line.length;\n if (end >= from) {\n if (end > to)\n line = line.slice(0, to - pos);\n if (pos < from)\n line = line.slice(from - pos);\n if (first) {\n target[target.length - 1] += line;\n first = false;\n }\n else\n target.push(line);\n }\n pos = end + 1;\n }\n return target;\n}\nfunction sliceText(text, from, to) {\n return appendText(text, [\"\"], from, to);\n}\nclass RawTextCursor {\n constructor(text, dir = 1) {\n this.dir = dir;\n this.done = false;\n this.lineBreak = false;\n this.value = \"\";\n this.nodes = [text];\n this.offsets = [dir > 0 ? 1 : (text instanceof TextLeaf ? text.text.length : text.children.length) << 1];\n }\n nextInner(skip, dir) {\n this.done = this.lineBreak = false;\n for (;;) {\n let last = this.nodes.length - 1;\n let top = this.nodes[last], offsetValue = this.offsets[last], offset = offsetValue >> 1;\n let size = top instanceof TextLeaf ? top.text.length : top.children.length;\n if (offset == (dir > 0 ? size : 0)) {\n if (last == 0) {\n this.done = true;\n this.value = \"\";\n return this;\n }\n if (dir > 0)\n this.offsets[last - 1]++;\n this.nodes.pop();\n this.offsets.pop();\n }\n else if ((offsetValue & 1) == (dir > 0 ? 0 : 1)) {\n this.offsets[last] += dir;\n if (skip == 0) {\n this.lineBreak = true;\n this.value = \"\\n\";\n return this;\n }\n skip--;\n }\n else if (top instanceof TextLeaf) {\n // Move to the next string\n let next = top.text[offset + (dir < 0 ? -1 : 0)];\n this.offsets[last] += dir;\n if (next.length > Math.max(0, skip)) {\n this.value = skip == 0 ? next : dir > 0 ? next.slice(skip) : next.slice(0, next.length - skip);\n return this;\n }\n skip -= next.length;\n }\n else {\n let next = top.children[offset + (dir < 0 ? -1 : 0)];\n if (skip > next.length) {\n skip -= next.length;\n this.offsets[last] += dir;\n }\n else {\n if (dir < 0)\n this.offsets[last]--;\n this.nodes.push(next);\n this.offsets.push(dir > 0 ? 1 : (next instanceof TextLeaf ? next.text.length : next.children.length) << 1);\n }\n }\n }\n }\n next(skip = 0) {\n if (skip < 0) {\n this.nextInner(-skip, (-this.dir));\n skip = this.value.length;\n }\n return this.nextInner(skip, this.dir);\n }\n}\nclass PartialTextCursor {\n constructor(text, start, end) {\n this.value = \"\";\n this.done = false;\n this.cursor = new RawTextCursor(text, start > end ? -1 : 1);\n this.pos = start > end ? text.length : 0;\n this.from = Math.min(start, end);\n this.to = Math.max(start, end);\n }\n nextInner(skip, dir) {\n if (dir < 0 ? this.pos <= this.from : this.pos >= this.to) {\n this.value = \"\";\n this.done = true;\n return this;\n }\n skip += Math.max(0, dir < 0 ? this.pos - this.to : this.from - this.pos);\n let limit = dir < 0 ? this.pos - this.from : this.to - this.pos;\n if (skip > limit)\n skip = limit;\n limit -= skip;\n let { value } = this.cursor.next(skip);\n this.pos += (value.length + skip) * dir;\n this.value = value.length <= limit ? value : dir < 0 ? value.slice(value.length - limit) : value.slice(0, limit);\n this.done = !this.value;\n return this;\n }\n next(skip = 0) {\n if (skip < 0)\n skip = Math.max(skip, this.from - this.pos);\n else if (skip > 0)\n skip = Math.min(skip, this.to - this.pos);\n return this.nextInner(skip, this.cursor.dir);\n }\n get lineBreak() { return this.cursor.lineBreak && this.value != \"\"; }\n}\nclass LineCursor {\n constructor(inner) {\n this.inner = inner;\n this.afterBreak = true;\n this.value = \"\";\n this.done = false;\n }\n next(skip = 0) {\n let { done, lineBreak, value } = this.inner.next(skip);\n if (done && this.afterBreak) {\n this.value = \"\";\n this.afterBreak = false;\n }\n else if (done) {\n this.done = true;\n this.value = \"\";\n }\n else if (lineBreak) {\n if (this.afterBreak) {\n this.value = \"\";\n }\n else {\n this.afterBreak = true;\n this.next();\n }\n }\n else {\n this.value = value;\n this.afterBreak = false;\n }\n return this;\n }\n get lineBreak() { return false; }\n}\nif (typeof Symbol != \"undefined\") {\n Text.prototype[Symbol.iterator] = function () { return this.iter(); };\n RawTextCursor.prototype[Symbol.iterator] = PartialTextCursor.prototype[Symbol.iterator] =\n LineCursor.prototype[Symbol.iterator] = function () { return this; };\n}\n/**\nThis type describes a line in the document. It is created\non-demand when lines are [queried](https://codemirror.net/6/docs/ref/#state.Text.lineAt).\n*/\nclass Line {\n /**\n @internal\n */\n constructor(\n /**\n The position of the start of the line.\n */\n from, \n /**\n The position at the end of the line (_before_ the line break,\n or at the end of document for the last line).\n */\n to, \n /**\n This line's line number (1-based).\n */\n number, \n /**\n The line's content.\n */\n text) {\n this.from = from;\n this.to = to;\n this.number = number;\n this.text = text;\n }\n /**\n The length of the line (not including any line break after it).\n */\n get length() { return this.to - this.from; }\n}\n\n// Compressed representation of the Grapheme_Cluster_Break=Extend\n// information from\n// http://www.unicode.org/Public/13.0.0/ucd/auxiliary/GraphemeBreakProperty.txt.\n// Each pair of elements represents a range, as an offet from the\n// previous range and a length. Numbers are in base-36, with the empty\n// string being a shorthand for 1.\nlet extend = /*@__PURE__*/\"lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o\".split(\",\").map(s => s ? parseInt(s, 36) : 1);\n// Convert offsets into absolute values\nfor (let i = 1; i < extend.length; i++)\n extend[i] += extend[i - 1];\nfunction isExtendingChar(code) {\n for (let i = 1; i < extend.length; i += 2)\n if (extend[i] > code)\n return extend[i - 1] <= code;\n return false;\n}\nfunction isRegionalIndicator(code) {\n return code >= 0x1F1E6 && code <= 0x1F1FF;\n}\nconst ZWJ = 0x200d;\n/**\nReturns a next grapheme cluster break _after_ (not equal to)\n`pos`, if `forward` is true, or before otherwise. Returns `pos`\nitself if no further cluster break is available in the string.\nMoves across surrogate pairs, extending characters (when\n`includeExtending` is true), characters joined with zero-width\njoiners, and flag emoji.\n*/\nfunction findClusterBreak(str, pos, forward = true, includeExtending = true) {\n return (forward ? nextClusterBreak : prevClusterBreak)(str, pos, includeExtending);\n}\nfunction nextClusterBreak(str, pos, includeExtending) {\n if (pos == str.length)\n return pos;\n // If pos is in the middle of a surrogate pair, move to its start\n if (pos && surrogateLow(str.charCodeAt(pos)) && surrogateHigh(str.charCodeAt(pos - 1)))\n pos--;\n let prev = codePointAt(str, pos);\n pos += codePointSize(prev);\n while (pos < str.length) {\n let next = codePointAt(str, pos);\n if (prev == ZWJ || next == ZWJ || includeExtending && isExtendingChar(next)) {\n pos += codePointSize(next);\n prev = next;\n }\n else if (isRegionalIndicator(next)) {\n let countBefore = 0, i = pos - 2;\n while (i >= 0 && isRegionalIndicator(codePointAt(str, i))) {\n countBefore++;\n i -= 2;\n }\n if (countBefore % 2 == 0)\n break;\n else\n pos += 2;\n }\n else {\n break;\n }\n }\n return pos;\n}\nfunction prevClusterBreak(str, pos, includeExtending) {\n while (pos > 0) {\n let found = nextClusterBreak(str, pos - 2, includeExtending);\n if (found < pos)\n return found;\n pos--;\n }\n return 0;\n}\nfunction surrogateLow(ch) { return ch >= 0xDC00 && ch < 0xE000; }\nfunction surrogateHigh(ch) { return ch >= 0xD800 && ch < 0xDC00; }\n/**\nFind the code point at the given position in a string (like the\n[`codePointAt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/codePointAt)\nstring method).\n*/\nfunction codePointAt(str, pos) {\n let code0 = str.charCodeAt(pos);\n if (!surrogateHigh(code0) || pos + 1 == str.length)\n return code0;\n let code1 = str.charCodeAt(pos + 1);\n if (!surrogateLow(code1))\n return code0;\n return ((code0 - 0xd800) << 10) + (code1 - 0xdc00) + 0x10000;\n}\n/**\nGiven a Unicode codepoint, return the JavaScript string that\nrespresents it (like\n[`String.fromCodePoint`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCodePoint)).\n*/\nfunction fromCodePoint(code) {\n if (code <= 0xffff)\n return String.fromCharCode(code);\n code -= 0x10000;\n return String.fromCharCode((code >> 10) + 0xd800, (code & 1023) + 0xdc00);\n}\n/**\nThe amount of positions a character takes up a JavaScript string.\n*/\nfunction codePointSize(code) { return code < 0x10000 ? 1 : 2; }\n\nconst DefaultSplit = /\\r\\n?|\\n/;\n/**\nDistinguishes different ways in which positions can be mapped.\n*/\nvar MapMode = /*@__PURE__*/(function (MapMode) {\n /**\n Map a position to a valid new position, even when its context\n was deleted.\n */\n MapMode[MapMode[\"Simple\"] = 0] = \"Simple\";\n /**\n Return null if deletion happens across the position.\n */\n MapMode[MapMode[\"TrackDel\"] = 1] = \"TrackDel\";\n /**\n Return null if the character _before_ the position is deleted.\n */\n MapMode[MapMode[\"TrackBefore\"] = 2] = \"TrackBefore\";\n /**\n Return null if the character _after_ the position is deleted.\n */\n MapMode[MapMode[\"TrackAfter\"] = 3] = \"TrackAfter\";\nreturn MapMode})(MapMode || (MapMode = {}));\n/**\nA change description is a variant of [change set](https://codemirror.net/6/docs/ref/#state.ChangeSet)\nthat doesn't store the inserted text. As such, it can't be\napplied, but is cheaper to store and manipulate.\n*/\nclass ChangeDesc {\n // Sections are encoded as pairs of integers. The first is the\n // length in the current document, and the second is -1 for\n // unaffected sections, and the length of the replacement content\n // otherwise. So an insertion would be (0, n>0), a deletion (n>0,\n // 0), and a replacement two positive numbers.\n /**\n @internal\n */\n constructor(\n /**\n @internal\n */\n sections) {\n this.sections = sections;\n }\n /**\n The length of the document before the change.\n */\n get length() {\n let result = 0;\n for (let i = 0; i < this.sections.length; i += 2)\n result += this.sections[i];\n return result;\n }\n /**\n The length of the document after the change.\n */\n get newLength() {\n let result = 0;\n for (let i = 0; i < this.sections.length; i += 2) {\n let ins = this.sections[i + 1];\n result += ins < 0 ? this.sections[i] : ins;\n }\n return result;\n }\n /**\n False when there are actual changes in this set.\n */\n get empty() { return this.sections.length == 0 || this.sections.length == 2 && this.sections[1] < 0; }\n /**\n Iterate over the unchanged parts left by these changes. `posA`\n provides the position of the range in the old document, `posB`\n the new position in the changed document.\n */\n iterGaps(f) {\n for (let i = 0, posA = 0, posB = 0; i < this.sections.length;) {\n let len = this.sections[i++], ins = this.sections[i++];\n if (ins < 0) {\n f(posA, posB, len);\n posB += len;\n }\n else {\n posB += ins;\n }\n posA += len;\n }\n }\n /**\n Iterate over the ranges changed by these changes. (See\n [`ChangeSet.iterChanges`](https://codemirror.net/6/docs/ref/#state.ChangeSet.iterChanges) for a\n variant that also provides you with the inserted text.)\n `fromA`/`toA` provides the extent of the change in the starting\n document, `fromB`/`toB` the extent of the replacement in the\n changed document.\n \n When `individual` is true, adjacent changes (which are kept\n separate for [position mapping](https://codemirror.net/6/docs/ref/#state.ChangeDesc.mapPos)) are\n reported separately.\n */\n iterChangedRanges(f, individual = false) {\n iterChanges(this, f, individual);\n }\n /**\n Get a description of the inverted form of these changes.\n */\n get invertedDesc() {\n let sections = [];\n for (let i = 0; i < this.sections.length;) {\n let len = this.sections[i++], ins = this.sections[i++];\n if (ins < 0)\n sections.push(len, ins);\n else\n sections.push(ins, len);\n }\n return new ChangeDesc(sections);\n }\n /**\n Compute the combined effect of applying another set of changes\n after this one. The length of the document after this set should\n match the length before `other`.\n */\n composeDesc(other) { return this.empty ? other : other.empty ? this : composeSets(this, other); }\n /**\n Map this description, which should start with the same document\n as `other`, over another set of changes, so that it can be\n applied after it. When `before` is true, map as if the changes\n in `other` happened before the ones in `this`.\n */\n mapDesc(other, before = false) { return other.empty ? this : mapSet(this, other, before); }\n mapPos(pos, assoc = -1, mode = MapMode.Simple) {\n let posA = 0, posB = 0;\n for (let i = 0; i < this.sections.length;) {\n let len = this.sections[i++], ins = this.sections[i++], endA = posA + len;\n if (ins < 0) {\n if (endA > pos)\n return posB + (pos - posA);\n posB += len;\n }\n else {\n if (mode != MapMode.Simple && endA >= pos &&\n (mode == MapMode.TrackDel && posA < pos && endA > pos ||\n mode == MapMode.TrackBefore && posA < pos ||\n mode == MapMode.TrackAfter && endA > pos))\n return null;\n if (endA > pos || endA == pos && assoc < 0 && !len)\n return pos == posA || assoc < 0 ? posB : posB + ins;\n posB += ins;\n }\n posA = endA;\n }\n if (pos > posA)\n throw new RangeError(`Position ${pos} is out of range for changeset of length ${posA}`);\n return posB;\n }\n /**\n Check whether these changes touch a given range. When one of the\n changes entirely covers the range, the string `\"cover\"` is\n returned.\n */\n touchesRange(from, to = from) {\n for (let i = 0, pos = 0; i < this.sections.length && pos <= to;) {\n let len = this.sections[i++], ins = this.sections[i++], end = pos + len;\n if (ins >= 0 && pos <= to && end >= from)\n return pos < from && end > to ? \"cover\" : true;\n pos = end;\n }\n return false;\n }\n /**\n @internal\n */\n toString() {\n let result = \"\";\n for (let i = 0; i < this.sections.length;) {\n let len = this.sections[i++], ins = this.sections[i++];\n result += (result ? \" \" : \"\") + len + (ins >= 0 ? \":\" + ins : \"\");\n }\n return result;\n }\n /**\n Serialize this change desc to a JSON-representable value.\n */\n toJSON() { return this.sections; }\n /**\n Create a change desc from its JSON representation (as produced\n by [`toJSON`](https://codemirror.net/6/docs/ref/#state.ChangeDesc.toJSON).\n */\n static fromJSON(json) {\n if (!Array.isArray(json) || json.length % 2 || json.some(a => typeof a != \"number\"))\n throw new RangeError(\"Invalid JSON representation of ChangeDesc\");\n return new ChangeDesc(json);\n }\n /**\n @internal\n */\n static create(sections) { return new ChangeDesc(sections); }\n}\n/**\nA change set represents a group of modifications to a document. It\nstores the document length, and can only be applied to documents\nwith exactly that length.\n*/\nclass ChangeSet extends ChangeDesc {\n constructor(sections, \n /**\n @internal\n */\n inserted) {\n super(sections);\n this.inserted = inserted;\n }\n /**\n Apply the changes to a document, returning the modified\n document.\n */\n apply(doc) {\n if (this.length != doc.length)\n throw new RangeError(\"Applying change set to a document with the wrong length\");\n iterChanges(this, (fromA, toA, fromB, _toB, text) => doc = doc.replace(fromB, fromB + (toA - fromA), text), false);\n return doc;\n }\n mapDesc(other, before = false) { return mapSet(this, other, before, true); }\n /**\n Given the document as it existed _before_ the changes, return a\n change set that represents the inverse of this set, which could\n be used to go from the document created by the changes back to\n the document as it existed before the changes.\n */\n invert(doc) {\n let sections = this.sections.slice(), inserted = [];\n for (let i = 0, pos = 0; i < sections.length; i += 2) {\n let len = sections[i], ins = sections[i + 1];\n if (ins >= 0) {\n sections[i] = ins;\n sections[i + 1] = len;\n let index = i >> 1;\n while (inserted.length < index)\n inserted.push(Text.empty);\n inserted.push(len ? doc.slice(pos, pos + len) : Text.empty);\n }\n pos += len;\n }\n return new ChangeSet(sections, inserted);\n }\n /**\n Combine two subsequent change sets into a single set. `other`\n must start in the document produced by `this`. If `this` goes\n `docA` → `docB` and `other` represents `docB` → `docC`, the\n returned value will represent the change `docA` → `docC`.\n */\n compose(other) { return this.empty ? other : other.empty ? this : composeSets(this, other, true); }\n /**\n Given another change set starting in the same document, maps this\n change set over the other, producing a new change set that can be\n applied to the document produced by applying `other`. When\n `before` is `true`, order changes as if `this` comes before\n `other`, otherwise (the default) treat `other` as coming first.\n \n Given two changes `A` and `B`, `A.compose(B.map(A))` and\n `B.compose(A.map(B, true))` will produce the same document. This\n provides a basic form of [operational\n transformation](https://en.wikipedia.org/wiki/Operational_transformation),\n and can be used for collaborative editing.\n */\n map(other, before = false) { return other.empty ? this : mapSet(this, other, before, true); }\n /**\n Iterate over the changed ranges in the document, calling `f` for\n each, with the range in the original document (`fromA`-`toA`)\n and the range that replaces it in the new document\n (`fromB`-`toB`).\n \n When `individual` is true, adjacent changes are reported\n separately.\n */\n iterChanges(f, individual = false) {\n iterChanges(this, f, individual);\n }\n /**\n Get a [change description](https://codemirror.net/6/docs/ref/#state.ChangeDesc) for this change\n set.\n */\n get desc() { return ChangeDesc.create(this.sections); }\n /**\n @internal\n */\n filter(ranges) {\n let resultSections = [], resultInserted = [], filteredSections = [];\n let iter = new SectionIter(this);\n done: for (let i = 0, pos = 0;;) {\n let next = i == ranges.length ? 1e9 : ranges[i++];\n while (pos < next || pos == next && iter.len == 0) {\n if (iter.done)\n break done;\n let len = Math.min(iter.len, next - pos);\n addSection(filteredSections, len, -1);\n let ins = iter.ins == -1 ? -1 : iter.off == 0 ? iter.ins : 0;\n addSection(resultSections, len, ins);\n if (ins > 0)\n addInsert(resultInserted, resultSections, iter.text);\n iter.forward(len);\n pos += len;\n }\n let end = ranges[i++];\n while (pos < end) {\n if (iter.done)\n break done;\n let len = Math.min(iter.len, end - pos);\n addSection(resultSections, len, -1);\n addSection(filteredSections, len, iter.ins == -1 ? -1 : iter.off == 0 ? iter.ins : 0);\n iter.forward(len);\n pos += len;\n }\n }\n return { changes: new ChangeSet(resultSections, resultInserted),\n filtered: ChangeDesc.create(filteredSections) };\n }\n /**\n Serialize this change set to a JSON-representable value.\n */\n toJSON() {\n let parts = [];\n for (let i = 0; i < this.sections.length; i += 2) {\n let len = this.sections[i], ins = this.sections[i + 1];\n if (ins < 0)\n parts.push(len);\n else if (ins == 0)\n parts.push([len]);\n else\n parts.push([len].concat(this.inserted[i >> 1].toJSON()));\n }\n return parts;\n }\n /**\n Create a change set for the given changes, for a document of the\n given length, using `lineSep` as line separator.\n */\n static of(changes, length, lineSep) {\n let sections = [], inserted = [], pos = 0;\n let total = null;\n function flush(force = false) {\n if (!force && !sections.length)\n return;\n if (pos < length)\n addSection(sections, length - pos, -1);\n let set = new ChangeSet(sections, inserted);\n total = total ? total.compose(set.map(total)) : set;\n sections = [];\n inserted = [];\n pos = 0;\n }\n function process(spec) {\n if (Array.isArray(spec)) {\n for (let sub of spec)\n process(sub);\n }\n else if (spec instanceof ChangeSet) {\n if (spec.length != length)\n throw new RangeError(`Mismatched change set length (got ${spec.length}, expected ${length})`);\n flush();\n total = total ? total.compose(spec.map(total)) : spec;\n }\n else {\n let { from, to = from, insert } = spec;\n if (from > to || from < 0 || to > length)\n throw new RangeError(`Invalid change range ${from} to ${to} (in doc of length ${length})`);\n let insText = !insert ? Text.empty : typeof insert == \"string\" ? Text.of(insert.split(lineSep || DefaultSplit)) : insert;\n let insLen = insText.length;\n if (from == to && insLen == 0)\n return;\n if (from < pos)\n flush();\n if (from > pos)\n addSection(sections, from - pos, -1);\n addSection(sections, to - from, insLen);\n addInsert(inserted, sections, insText);\n pos = to;\n }\n }\n process(changes);\n flush(!total);\n return total;\n }\n /**\n Create an empty changeset of the given length.\n */\n static empty(length) {\n return new ChangeSet(length ? [length, -1] : [], []);\n }\n /**\n Create a changeset from its JSON representation (as produced by\n [`toJSON`](https://codemirror.net/6/docs/ref/#state.ChangeSet.toJSON).\n */\n static fromJSON(json) {\n if (!Array.isArray(json))\n throw new RangeError(\"Invalid JSON representation of ChangeSet\");\n let sections = [], inserted = [];\n for (let i = 0; i < json.length; i++) {\n let part = json[i];\n if (typeof part == \"number\") {\n sections.push(part, -1);\n }\n else if (!Array.isArray(part) || typeof part[0] != \"number\" || part.some((e, i) => i && typeof e != \"string\")) {\n throw new RangeError(\"Invalid JSON representation of ChangeSet\");\n }\n else if (part.length == 1) {\n sections.push(part[0], 0);\n }\n else {\n while (inserted.length < i)\n inserted.push(Text.empty);\n inserted[i] = Text.of(part.slice(1));\n sections.push(part[0], inserted[i].length);\n }\n }\n return new ChangeSet(sections, inserted);\n }\n /**\n @internal\n */\n static createSet(sections, inserted) {\n return new ChangeSet(sections, inserted);\n }\n}\nfunction addSection(sections, len, ins, forceJoin = false) {\n if (len == 0 && ins <= 0)\n return;\n let last = sections.length - 2;\n if (last >= 0 && ins <= 0 && ins == sections[last + 1])\n sections[last] += len;\n else if (len == 0 && sections[last] == 0)\n sections[last + 1] += ins;\n else if (forceJoin) {\n sections[last] += len;\n sections[last + 1] += ins;\n }\n else\n sections.push(len, ins);\n}\nfunction addInsert(values, sections, value) {\n if (value.length == 0)\n return;\n let index = (sections.length - 2) >> 1;\n if (index < values.length) {\n values[values.length - 1] = values[values.length - 1].append(value);\n }\n else {\n while (values.length < index)\n values.push(Text.empty);\n values.push(value);\n }\n}\nfunction iterChanges(desc, f, individual) {\n let inserted = desc.inserted;\n for (let posA = 0, posB = 0, i = 0; i < desc.sections.length;) {\n let len = desc.sections[i++], ins = desc.sections[i++];\n if (ins < 0) {\n posA += len;\n posB += len;\n }\n else {\n let endA = posA, endB = posB, text = Text.empty;\n for (;;) {\n endA += len;\n endB += ins;\n if (ins && inserted)\n text = text.append(inserted[(i - 2) >> 1]);\n if (individual || i == desc.sections.length || desc.sections[i + 1] < 0)\n break;\n len = desc.sections[i++];\n ins = desc.sections[i++];\n }\n f(posA, endA, posB, endB, text);\n posA = endA;\n posB = endB;\n }\n }\n}\nfunction mapSet(setA, setB, before, mkSet = false) {\n // Produce a copy of setA that applies to the document after setB\n // has been applied (assuming both start at the same document).\n let sections = [], insert = mkSet ? [] : null;\n let a = new SectionIter(setA), b = new SectionIter(setB);\n // Iterate over both sets in parallel. inserted tracks, for changes\n // in A that have to be processed piece-by-piece, whether their\n // content has been inserted already, and refers to the section\n // index.\n for (let inserted = -1;;) {\n if (a.ins == -1 && b.ins == -1) {\n // Move across ranges skipped by both sets.\n let len = Math.min(a.len, b.len);\n addSection(sections, len, -1);\n a.forward(len);\n b.forward(len);\n }\n else if (b.ins >= 0 && (a.ins < 0 || inserted == a.i || a.off == 0 && (b.len < a.len || b.len == a.len && !before))) {\n // If there's a change in B that comes before the next change in\n // A (ordered by start pos, then len, then before flag), skip\n // that (and process any changes in A it covers).\n let len = b.len;\n addSection(sections, b.ins, -1);\n while (len) {\n let piece = Math.min(a.len, len);\n if (a.ins >= 0 && inserted < a.i && a.len <= piece) {\n addSection(sections, 0, a.ins);\n if (insert)\n addInsert(insert, sections, a.text);\n inserted = a.i;\n }\n a.forward(piece);\n len -= piece;\n }\n b.next();\n }\n else if (a.ins >= 0) {\n // Process the part of a change in A up to the start of the next\n // non-deletion change in B (if overlapping).\n let len = 0, left = a.len;\n while (left) {\n if (b.ins == -1) {\n let piece = Math.min(left, b.len);\n len += piece;\n left -= piece;\n b.forward(piece);\n }\n else if (b.ins == 0 && b.len < left) {\n left -= b.len;\n b.next();\n }\n else {\n break;\n }\n }\n addSection(sections, len, inserted < a.i ? a.ins : 0);\n if (insert && inserted < a.i)\n addInsert(insert, sections, a.text);\n inserted = a.i;\n a.forward(a.len - left);\n }\n else if (a.done && b.done) {\n return insert ? ChangeSet.createSet(sections, insert) : ChangeDesc.create(sections);\n }\n else {\n throw new Error(\"Mismatched change set lengths\");\n }\n }\n}\nfunction composeSets(setA, setB, mkSet = false) {\n let sections = [];\n let insert = mkSet ? [] : null;\n let a = new SectionIter(setA), b = new SectionIter(setB);\n for (let open = false;;) {\n if (a.done && b.done) {\n return insert ? ChangeSet.createSet(sections, insert) : ChangeDesc.create(sections);\n }\n else if (a.ins == 0) { // Deletion in A\n addSection(sections, a.len, 0, open);\n a.next();\n }\n else if (b.len == 0 && !b.done) { // Insertion in B\n addSection(sections, 0, b.ins, open);\n if (insert)\n addInsert(insert, sections, b.text);\n b.next();\n }\n else if (a.done || b.done) {\n throw new Error(\"Mismatched change set lengths\");\n }\n else {\n let len = Math.min(a.len2, b.len), sectionLen = sections.length;\n if (a.ins == -1) {\n let insB = b.ins == -1 ? -1 : b.off ? 0 : b.ins;\n addSection(sections, len, insB, open);\n if (insert && insB)\n addInsert(insert, sections, b.text);\n }\n else if (b.ins == -1) {\n addSection(sections, a.off ? 0 : a.len, len, open);\n if (insert)\n addInsert(insert, sections, a.textBit(len));\n }\n else {\n addSection(sections, a.off ? 0 : a.len, b.off ? 0 : b.ins, open);\n if (insert && !b.off)\n addInsert(insert, sections, b.text);\n }\n open = (a.ins > len || b.ins >= 0 && b.len > len) && (open || sections.length > sectionLen);\n a.forward2(len);\n b.forward(len);\n }\n }\n}\nclass SectionIter {\n constructor(set) {\n this.set = set;\n this.i = 0;\n this.next();\n }\n next() {\n let { sections } = this.set;\n if (this.i < sections.length) {\n this.len = sections[this.i++];\n this.ins = sections[this.i++];\n }\n else {\n this.len = 0;\n this.ins = -2;\n }\n this.off = 0;\n }\n get done() { return this.ins == -2; }\n get len2() { return this.ins < 0 ? this.len : this.ins; }\n get text() {\n let { inserted } = this.set, index = (this.i - 2) >> 1;\n return index >= inserted.length ? Text.empty : inserted[index];\n }\n textBit(len) {\n let { inserted } = this.set, index = (this.i - 2) >> 1;\n return index >= inserted.length && !len ? Text.empty\n : inserted[index].slice(this.off, len == null ? undefined : this.off + len);\n }\n forward(len) {\n if (len == this.len)\n this.next();\n else {\n this.len -= len;\n this.off += len;\n }\n }\n forward2(len) {\n if (this.ins == -1)\n this.forward(len);\n else if (len == this.ins)\n this.next();\n else {\n this.ins -= len;\n this.off += len;\n }\n }\n}\n\n/**\nA single selection range. When\n[`allowMultipleSelections`](https://codemirror.net/6/docs/ref/#state.EditorState^allowMultipleSelections)\nis enabled, a [selection](https://codemirror.net/6/docs/ref/#state.EditorSelection) may hold\nmultiple ranges. By default, selections hold exactly one range.\n*/\nclass SelectionRange {\n constructor(\n /**\n The lower boundary of the range.\n */\n from, \n /**\n The upper boundary of the range.\n */\n to, flags) {\n this.from = from;\n this.to = to;\n this.flags = flags;\n }\n /**\n The anchor of the range—the side that doesn't move when you\n extend it.\n */\n get anchor() { return this.flags & 32 /* RangeFlag.Inverted */ ? this.to : this.from; }\n /**\n The head of the range, which is moved when the range is\n [extended](https://codemirror.net/6/docs/ref/#state.SelectionRange.extend).\n */\n get head() { return this.flags & 32 /* RangeFlag.Inverted */ ? this.from : this.to; }\n /**\n True when `anchor` and `head` are at the same position.\n */\n get empty() { return this.from == this.to; }\n /**\n If this is a cursor that is explicitly associated with the\n character on one of its sides, this returns the side. -1 means\n the character before its position, 1 the character after, and 0\n means no association.\n */\n get assoc() { return this.flags & 8 /* RangeFlag.AssocBefore */ ? -1 : this.flags & 16 /* RangeFlag.AssocAfter */ ? 1 : 0; }\n /**\n The bidirectional text level associated with this cursor, if\n any.\n */\n get bidiLevel() {\n let level = this.flags & 7 /* RangeFlag.BidiLevelMask */;\n return level == 7 ? null : level;\n }\n /**\n The goal column (stored vertical offset) associated with a\n cursor. This is used to preserve the vertical position when\n [moving](https://codemirror.net/6/docs/ref/#view.EditorView.moveVertically) across\n lines of different length.\n */\n get goalColumn() {\n let value = this.flags >> 6 /* RangeFlag.GoalColumnOffset */;\n return value == 16777215 /* RangeFlag.NoGoalColumn */ ? undefined : value;\n }\n /**\n Map this range through a change, producing a valid range in the\n updated document.\n */\n map(change, assoc = -1) {\n let from, to;\n if (this.empty) {\n from = to = change.mapPos(this.from, assoc);\n }\n else {\n from = change.mapPos(this.from, 1);\n to = change.mapPos(this.to, -1);\n }\n return from == this.from && to == this.to ? this : new SelectionRange(from, to, this.flags);\n }\n /**\n Extend this range to cover at least `from` to `to`.\n */\n extend(from, to = from) {\n if (from <= this.anchor && to >= this.anchor)\n return EditorSelection.range(from, to);\n let head = Math.abs(from - this.anchor) > Math.abs(to - this.anchor) ? from : to;\n return EditorSelection.range(this.anchor, head);\n }\n /**\n Compare this range to another range.\n */\n eq(other) {\n return this.anchor == other.anchor && this.head == other.head;\n }\n /**\n Return a JSON-serializable object representing the range.\n */\n toJSON() { return { anchor: this.anchor, head: this.head }; }\n /**\n Convert a JSON representation of a range to a `SelectionRange`\n instance.\n */\n static fromJSON(json) {\n if (!json || typeof json.anchor != \"number\" || typeof json.head != \"number\")\n throw new RangeError(\"Invalid JSON representation for SelectionRange\");\n return EditorSelection.range(json.anchor, json.head);\n }\n /**\n @internal\n */\n static create(from, to, flags) {\n return new SelectionRange(from, to, flags);\n }\n}\n/**\nAn editor selection holds one or more selection ranges.\n*/\nclass EditorSelection {\n constructor(\n /**\n The ranges in the selection, sorted by position. Ranges cannot\n overlap (but they may touch, if they aren't empty).\n */\n ranges, \n /**\n The index of the _main_ range in the selection (which is\n usually the range that was added last).\n */\n mainIndex) {\n this.ranges = ranges;\n this.mainIndex = mainIndex;\n }\n /**\n Map a selection through a change. Used to adjust the selection\n position for changes.\n */\n map(change, assoc = -1) {\n if (change.empty)\n return this;\n return EditorSelection.create(this.ranges.map(r => r.map(change, assoc)), this.mainIndex);\n }\n /**\n Compare this selection to another selection.\n */\n eq(other) {\n if (this.ranges.length != other.ranges.length ||\n this.mainIndex != other.mainIndex)\n return false;\n for (let i = 0; i < this.ranges.length; i++)\n if (!this.ranges[i].eq(other.ranges[i]))\n return false;\n return true;\n }\n /**\n Get the primary selection range. Usually, you should make sure\n your code applies to _all_ ranges, by using methods like\n [`changeByRange`](https://codemirror.net/6/docs/ref/#state.EditorState.changeByRange).\n */\n get main() { return this.ranges[this.mainIndex]; }\n /**\n Make sure the selection only has one range. Returns a selection\n holding only the main range from this selection.\n */\n asSingle() {\n return this.ranges.length == 1 ? this : new EditorSelection([this.main], 0);\n }\n /**\n Extend this selection with an extra range.\n */\n addRange(range, main = true) {\n return EditorSelection.create([range].concat(this.ranges), main ? 0 : this.mainIndex + 1);\n }\n /**\n Replace a given range with another range, and then normalize the\n selection to merge and sort ranges if necessary.\n */\n replaceRange(range, which = this.mainIndex) {\n let ranges = this.ranges.slice();\n ranges[which] = range;\n return EditorSelection.create(ranges, this.mainIndex);\n }\n /**\n Convert this selection to an object that can be serialized to\n JSON.\n */\n toJSON() {\n return { ranges: this.ranges.map(r => r.toJSON()), main: this.mainIndex };\n }\n /**\n Create a selection from a JSON representation.\n */\n static fromJSON(json) {\n if (!json || !Array.isArray(json.ranges) || typeof json.main != \"number\" || json.main >= json.ranges.length)\n throw new RangeError(\"Invalid JSON representation for EditorSelection\");\n return new EditorSelection(json.ranges.map((r) => SelectionRange.fromJSON(r)), json.main);\n }\n /**\n Create a selection holding a single range.\n */\n static single(anchor, head = anchor) {\n return new EditorSelection([EditorSelection.range(anchor, head)], 0);\n }\n /**\n Sort and merge the given set of ranges, creating a valid\n selection.\n */\n static create(ranges, mainIndex = 0) {\n if (ranges.length == 0)\n throw new RangeError(\"A selection needs at least one range\");\n for (let pos = 0, i = 0; i < ranges.length; i++) {\n let range = ranges[i];\n if (range.empty ? range.from <= pos : range.from < pos)\n return EditorSelection.normalized(ranges.slice(), mainIndex);\n pos = range.to;\n }\n return new EditorSelection(ranges, mainIndex);\n }\n /**\n Create a cursor selection range at the given position. You can\n safely ignore the optional arguments in most situations.\n */\n static cursor(pos, assoc = 0, bidiLevel, goalColumn) {\n return SelectionRange.create(pos, pos, (assoc == 0 ? 0 : assoc < 0 ? 8 /* RangeFlag.AssocBefore */ : 16 /* RangeFlag.AssocAfter */) |\n (bidiLevel == null ? 7 : Math.min(6, bidiLevel)) |\n ((goalColumn !== null && goalColumn !== void 0 ? goalColumn : 16777215 /* RangeFlag.NoGoalColumn */) << 6 /* RangeFlag.GoalColumnOffset */));\n }\n /**\n Create a selection range.\n */\n static range(anchor, head, goalColumn, bidiLevel) {\n let flags = ((goalColumn !== null && goalColumn !== void 0 ? goalColumn : 16777215 /* RangeFlag.NoGoalColumn */) << 6 /* RangeFlag.GoalColumnOffset */) |\n (bidiLevel == null ? 7 : Math.min(6, bidiLevel));\n return head < anchor ? SelectionRange.create(head, anchor, 32 /* RangeFlag.Inverted */ | 16 /* RangeFlag.AssocAfter */ | flags)\n : SelectionRange.create(anchor, head, (head > anchor ? 8 /* RangeFlag.AssocBefore */ : 0) | flags);\n }\n /**\n @internal\n */\n static normalized(ranges, mainIndex = 0) {\n let main = ranges[mainIndex];\n ranges.sort((a, b) => a.from - b.from);\n mainIndex = ranges.indexOf(main);\n for (let i = 1; i < ranges.length; i++) {\n let range = ranges[i], prev = ranges[i - 1];\n if (range.empty ? range.from <= prev.to : range.from < prev.to) {\n let from = prev.from, to = Math.max(range.to, prev.to);\n if (i <= mainIndex)\n mainIndex--;\n ranges.splice(--i, 2, range.anchor > range.head ? EditorSelection.range(to, from) : EditorSelection.range(from, to));\n }\n }\n return new EditorSelection(ranges, mainIndex);\n }\n}\nfunction checkSelection(selection, docLength) {\n for (let range of selection.ranges)\n if (range.to > docLength)\n throw new RangeError(\"Selection points outside of document\");\n}\n\nlet nextID = 0;\n/**\nA facet is a labeled value that is associated with an editor\nstate. It takes inputs from any number of extensions, and combines\nthose into a single output value.\n\nExamples of uses of facets are the [tab\nsize](https://codemirror.net/6/docs/ref/#state.EditorState^tabSize), [editor\nattributes](https://codemirror.net/6/docs/ref/#view.EditorView^editorAttributes), and [update\nlisteners](https://codemirror.net/6/docs/ref/#view.EditorView^updateListener).\n\nNote that `Facet` instances can be used anywhere where\n[`FacetReader`](https://codemirror.net/6/docs/ref/#state.FacetReader) is expected.\n*/\nclass Facet {\n constructor(\n /**\n @internal\n */\n combine, \n /**\n @internal\n */\n compareInput, \n /**\n @internal\n */\n compare, isStatic, enables) {\n this.combine = combine;\n this.compareInput = compareInput;\n this.compare = compare;\n this.isStatic = isStatic;\n /**\n @internal\n */\n this.id = nextID++;\n this.default = combine([]);\n this.extensions = typeof enables == \"function\" ? enables(this) : enables;\n }\n /**\n Returns a facet reader for this facet, which can be used to\n [read](https://codemirror.net/6/docs/ref/#state.EditorState.facet) it but not to define values for it.\n */\n get reader() { return this; }\n /**\n Define a new facet.\n */\n static define(config = {}) {\n return new Facet(config.combine || ((a) => a), config.compareInput || ((a, b) => a === b), config.compare || (!config.combine ? sameArray : (a, b) => a === b), !!config.static, config.enables);\n }\n /**\n Returns an extension that adds the given value to this facet.\n */\n of(value) {\n return new FacetProvider([], this, 0 /* Provider.Static */, value);\n }\n /**\n Create an extension that computes a value for the facet from a\n state. You must take care to declare the parts of the state that\n this value depends on, since your function is only called again\n for a new state when one of those parts changed.\n \n In cases where your value depends only on a single field, you'll\n want to use the [`from`](https://codemirror.net/6/docs/ref/#state.Facet.from) method instead.\n */\n compute(deps, get) {\n if (this.isStatic)\n throw new Error(\"Can't compute a static facet\");\n return new FacetProvider(deps, this, 1 /* Provider.Single */, get);\n }\n /**\n Create an extension that computes zero or more values for this\n facet from a state.\n */\n computeN(deps, get) {\n if (this.isStatic)\n throw new Error(\"Can't compute a static facet\");\n return new FacetProvider(deps, this, 2 /* Provider.Multi */, get);\n }\n from(field, get) {\n if (!get)\n get = x => x;\n return this.compute([field], state => get(state.field(field)));\n }\n}\nfunction sameArray(a, b) {\n return a == b || a.length == b.length && a.every((e, i) => e === b[i]);\n}\nclass FacetProvider {\n constructor(dependencies, facet, type, value) {\n this.dependencies = dependencies;\n this.facet = facet;\n this.type = type;\n this.value = value;\n this.id = nextID++;\n }\n dynamicSlot(addresses) {\n var _a;\n let getter = this.value;\n let compare = this.facet.compareInput;\n let id = this.id, idx = addresses[id] >> 1, multi = this.type == 2 /* Provider.Multi */;\n let depDoc = false, depSel = false, depAddrs = [];\n for (let dep of this.dependencies) {\n if (dep == \"doc\")\n depDoc = true;\n else if (dep == \"selection\")\n depSel = true;\n else if ((((_a = addresses[dep.id]) !== null && _a !== void 0 ? _a : 1) & 1) == 0)\n depAddrs.push(addresses[dep.id]);\n }\n return {\n create(state) {\n state.values[idx] = getter(state);\n return 1 /* SlotStatus.Changed */;\n },\n update(state, tr) {\n if ((depDoc && tr.docChanged) || (depSel && (tr.docChanged || tr.selection)) || ensureAll(state, depAddrs)) {\n let newVal = getter(state);\n if (multi ? !compareArray(newVal, state.values[idx], compare) : !compare(newVal, state.values[idx])) {\n state.values[idx] = newVal;\n return 1 /* SlotStatus.Changed */;\n }\n }\n return 0;\n },\n reconfigure: (state, oldState) => {\n let newVal, oldAddr = oldState.config.address[id];\n if (oldAddr != null) {\n let oldVal = getAddr(oldState, oldAddr);\n if (this.dependencies.every(dep => {\n return dep instanceof Facet ? oldState.facet(dep) === state.facet(dep) :\n dep instanceof StateField ? oldState.field(dep, false) == state.field(dep, false) : true;\n }) || (multi ? compareArray(newVal = getter(state), oldVal, compare) : compare(newVal = getter(state), oldVal))) {\n state.values[idx] = oldVal;\n return 0;\n }\n }\n else {\n newVal = getter(state);\n }\n state.values[idx] = newVal;\n return 1 /* SlotStatus.Changed */;\n }\n };\n }\n}\nfunction compareArray(a, b, compare) {\n if (a.length != b.length)\n return false;\n for (let i = 0; i < a.length; i++)\n if (!compare(a[i], b[i]))\n return false;\n return true;\n}\nfunction ensureAll(state, addrs) {\n let changed = false;\n for (let addr of addrs)\n if (ensureAddr(state, addr) & 1 /* SlotStatus.Changed */)\n changed = true;\n return changed;\n}\nfunction dynamicFacetSlot(addresses, facet, providers) {\n let providerAddrs = providers.map(p => addresses[p.id]);\n let providerTypes = providers.map(p => p.type);\n let dynamic = providerAddrs.filter(p => !(p & 1));\n let idx = addresses[facet.id] >> 1;\n function get(state) {\n let values = [];\n for (let i = 0; i < providerAddrs.length; i++) {\n let value = getAddr(state, providerAddrs[i]);\n if (providerTypes[i] == 2 /* Provider.Multi */)\n for (let val of value)\n values.push(val);\n else\n values.push(value);\n }\n return facet.combine(values);\n }\n return {\n create(state) {\n for (let addr of providerAddrs)\n ensureAddr(state, addr);\n state.values[idx] = get(state);\n return 1 /* SlotStatus.Changed */;\n },\n update(state, tr) {\n if (!ensureAll(state, dynamic))\n return 0;\n let value = get(state);\n if (facet.compare(value, state.values[idx]))\n return 0;\n state.values[idx] = value;\n return 1 /* SlotStatus.Changed */;\n },\n reconfigure(state, oldState) {\n let depChanged = ensureAll(state, providerAddrs);\n let oldProviders = oldState.config.facets[facet.id], oldValue = oldState.facet(facet);\n if (oldProviders && !depChanged && sameArray(providers, oldProviders)) {\n state.values[idx] = oldValue;\n return 0;\n }\n let value = get(state);\n if (facet.compare(value, oldValue)) {\n state.values[idx] = oldValue;\n return 0;\n }\n state.values[idx] = value;\n return 1 /* SlotStatus.Changed */;\n }\n };\n}\nconst initField = /*@__PURE__*/Facet.define({ static: true });\n/**\nFields can store additional information in an editor state, and\nkeep it in sync with the rest of the state.\n*/\nclass StateField {\n constructor(\n /**\n @internal\n */\n id, createF, updateF, compareF, \n /**\n @internal\n */\n spec) {\n this.id = id;\n this.createF = createF;\n this.updateF = updateF;\n this.compareF = compareF;\n this.spec = spec;\n /**\n @internal\n */\n this.provides = undefined;\n }\n /**\n Define a state field.\n */\n static define(config) {\n let field = new StateField(nextID++, config.create, config.update, config.compare || ((a, b) => a === b), config);\n if (config.provide)\n field.provides = config.provide(field);\n return field;\n }\n create(state) {\n let init = state.facet(initField).find(i => i.field == this);\n return ((init === null || init === void 0 ? void 0 : init.create) || this.createF)(state);\n }\n /**\n @internal\n */\n slot(addresses) {\n let idx = addresses[this.id] >> 1;\n return {\n create: (state) => {\n state.values[idx] = this.create(state);\n return 1 /* SlotStatus.Changed */;\n },\n update: (state, tr) => {\n let oldVal = state.values[idx];\n let value = this.updateF(oldVal, tr);\n if (this.compareF(oldVal, value))\n return 0;\n state.values[idx] = value;\n return 1 /* SlotStatus.Changed */;\n },\n reconfigure: (state, oldState) => {\n if (oldState.config.address[this.id] != null) {\n state.values[idx] = oldState.field(this);\n return 0;\n }\n state.values[idx] = this.create(state);\n return 1 /* SlotStatus.Changed */;\n }\n };\n }\n /**\n Returns an extension that enables this field and overrides the\n way it is initialized. Can be useful when you need to provide a\n non-default starting value for the field.\n */\n init(create) {\n return [this, initField.of({ field: this, create })];\n }\n /**\n State field instances can be used as\n [`Extension`](https://codemirror.net/6/docs/ref/#state.Extension) values to enable the field in a\n given state.\n */\n get extension() { return this; }\n}\nconst Prec_ = { lowest: 4, low: 3, default: 2, high: 1, highest: 0 };\nfunction prec(value) {\n return (ext) => new PrecExtension(ext, value);\n}\n/**\nBy default extensions are registered in the order they are found\nin the flattened form of nested array that was provided.\nIndividual extension values can be assigned a precedence to\noverride this. Extensions that do not have a precedence set get\nthe precedence of the nearest parent with a precedence, or\n[`default`](https://codemirror.net/6/docs/ref/#state.Prec.default) if there is no such parent. The\nfinal ordering of extensions is determined by first sorting by\nprecedence and then by order within each precedence.\n*/\nconst Prec = {\n /**\n The highest precedence level, for extensions that should end up\n near the start of the precedence ordering.\n */\n highest: /*@__PURE__*/prec(Prec_.highest),\n /**\n A higher-than-default precedence, for extensions that should\n come before those with default precedence.\n */\n high: /*@__PURE__*/prec(Prec_.high),\n /**\n The default precedence, which is also used for extensions\n without an explicit precedence.\n */\n default: /*@__PURE__*/prec(Prec_.default),\n /**\n A lower-than-default precedence.\n */\n low: /*@__PURE__*/prec(Prec_.low),\n /**\n The lowest precedence level. Meant for things that should end up\n near the end of the extension order.\n */\n lowest: /*@__PURE__*/prec(Prec_.lowest)\n};\nclass PrecExtension {\n constructor(inner, prec) {\n this.inner = inner;\n this.prec = prec;\n }\n}\n/**\nExtension compartments can be used to make a configuration\ndynamic. By [wrapping](https://codemirror.net/6/docs/ref/#state.Compartment.of) part of your\nconfiguration in a compartment, you can later\n[replace](https://codemirror.net/6/docs/ref/#state.Compartment.reconfigure) that part through a\ntransaction.\n*/\nclass Compartment {\n /**\n Create an instance of this compartment to add to your [state\n configuration](https://codemirror.net/6/docs/ref/#state.EditorStateConfig.extensions).\n */\n of(ext) { return new CompartmentInstance(this, ext); }\n /**\n Create an [effect](https://codemirror.net/6/docs/ref/#state.TransactionSpec.effects) that\n reconfigures this compartment.\n */\n reconfigure(content) {\n return Compartment.reconfigure.of({ compartment: this, extension: content });\n }\n /**\n Get the current content of the compartment in the state, or\n `undefined` if it isn't present.\n */\n get(state) {\n return state.config.compartments.get(this);\n }\n}\nclass CompartmentInstance {\n constructor(compartment, inner) {\n this.compartment = compartment;\n this.inner = inner;\n }\n}\nclass Configuration {\n constructor(base, compartments, dynamicSlots, address, staticValues, facets) {\n this.base = base;\n this.compartments = compartments;\n this.dynamicSlots = dynamicSlots;\n this.address = address;\n this.staticValues = staticValues;\n this.facets = facets;\n this.statusTemplate = [];\n while (this.statusTemplate.length < dynamicSlots.length)\n this.statusTemplate.push(0 /* SlotStatus.Unresolved */);\n }\n staticFacet(facet) {\n let addr = this.address[facet.id];\n return addr == null ? facet.default : this.staticValues[addr >> 1];\n }\n static resolve(base, compartments, oldState) {\n let fields = [];\n let facets = Object.create(null);\n let newCompartments = new Map();\n for (let ext of flatten(base, compartments, newCompartments)) {\n if (ext instanceof StateField)\n fields.push(ext);\n else\n (facets[ext.facet.id] || (facets[ext.facet.id] = [])).push(ext);\n }\n let address = Object.create(null);\n let staticValues = [];\n let dynamicSlots = [];\n for (let field of fields) {\n address[field.id] = dynamicSlots.length << 1;\n dynamicSlots.push(a => field.slot(a));\n }\n let oldFacets = oldState === null || oldState === void 0 ? void 0 : oldState.config.facets;\n for (let id in facets) {\n let providers = facets[id], facet = providers[0].facet;\n let oldProviders = oldFacets && oldFacets[id] || [];\n if (providers.every(p => p.type == 0 /* Provider.Static */)) {\n address[facet.id] = (staticValues.length << 1) | 1;\n if (sameArray(oldProviders, providers)) {\n staticValues.push(oldState.facet(facet));\n }\n else {\n let value = facet.combine(providers.map(p => p.value));\n staticValues.push(oldState && facet.compare(value, oldState.facet(facet)) ? oldState.facet(facet) : value);\n }\n }\n else {\n for (let p of providers) {\n if (p.type == 0 /* Provider.Static */) {\n address[p.id] = (staticValues.length << 1) | 1;\n staticValues.push(p.value);\n }\n else {\n address[p.id] = dynamicSlots.length << 1;\n dynamicSlots.push(a => p.dynamicSlot(a));\n }\n }\n address[facet.id] = dynamicSlots.length << 1;\n dynamicSlots.push(a => dynamicFacetSlot(a, facet, providers));\n }\n }\n let dynamic = dynamicSlots.map(f => f(address));\n return new Configuration(base, newCompartments, dynamic, address, staticValues, facets);\n }\n}\nfunction flatten(extension, compartments, newCompartments) {\n let result = [[], [], [], [], []];\n let seen = new Map();\n function inner(ext, prec) {\n let known = seen.get(ext);\n if (known != null) {\n if (known <= prec)\n return;\n let found = result[known].indexOf(ext);\n if (found > -1)\n result[known].splice(found, 1);\n if (ext instanceof CompartmentInstance)\n newCompartments.delete(ext.compartment);\n }\n seen.set(ext, prec);\n if (Array.isArray(ext)) {\n for (let e of ext)\n inner(e, prec);\n }\n else if (ext instanceof CompartmentInstance) {\n if (newCompartments.has(ext.compartment))\n throw new RangeError(`Duplicate use of compartment in extensions`);\n let content = compartments.get(ext.compartment) || ext.inner;\n newCompartments.set(ext.compartment, content);\n inner(content, prec);\n }\n else if (ext instanceof PrecExtension) {\n inner(ext.inner, ext.prec);\n }\n else if (ext instanceof StateField) {\n result[prec].push(ext);\n if (ext.provides)\n inner(ext.provides, prec);\n }\n else if (ext instanceof FacetProvider) {\n result[prec].push(ext);\n if (ext.facet.extensions)\n inner(ext.facet.extensions, Prec_.default);\n }\n else {\n let content = ext.extension;\n if (!content)\n throw new Error(`Unrecognized extension value in extension set (${ext}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);\n inner(content, prec);\n }\n }\n inner(extension, Prec_.default);\n return result.reduce((a, b) => a.concat(b));\n}\nfunction ensureAddr(state, addr) {\n if (addr & 1)\n return 2 /* SlotStatus.Computed */;\n let idx = addr >> 1;\n let status = state.status[idx];\n if (status == 4 /* SlotStatus.Computing */)\n throw new Error(\"Cyclic dependency between fields and/or facets\");\n if (status & 2 /* SlotStatus.Computed */)\n return status;\n state.status[idx] = 4 /* SlotStatus.Computing */;\n let changed = state.computeSlot(state, state.config.dynamicSlots[idx]);\n return state.status[idx] = 2 /* SlotStatus.Computed */ | changed;\n}\nfunction getAddr(state, addr) {\n return addr & 1 ? state.config.staticValues[addr >> 1] : state.values[addr >> 1];\n}\n\nconst languageData = /*@__PURE__*/Facet.define();\nconst allowMultipleSelections = /*@__PURE__*/Facet.define({\n combine: values => values.some(v => v),\n static: true\n});\nconst lineSeparator = /*@__PURE__*/Facet.define({\n combine: values => values.length ? values[0] : undefined,\n static: true\n});\nconst changeFilter = /*@__PURE__*/Facet.define();\nconst transactionFilter = /*@__PURE__*/Facet.define();\nconst transactionExtender = /*@__PURE__*/Facet.define();\nconst readOnly = /*@__PURE__*/Facet.define({\n combine: values => values.length ? values[0] : false\n});\n\n/**\nAnnotations are tagged values that are used to add metadata to\ntransactions in an extensible way. They should be used to model\nthings that effect the entire transaction (such as its [time\nstamp](https://codemirror.net/6/docs/ref/#state.Transaction^time) or information about its\n[origin](https://codemirror.net/6/docs/ref/#state.Transaction^userEvent)). For effects that happen\n_alongside_ the other changes made by the transaction, [state\neffects](https://codemirror.net/6/docs/ref/#state.StateEffect) are more appropriate.\n*/\nclass Annotation {\n /**\n @internal\n */\n constructor(\n /**\n The annotation type.\n */\n type, \n /**\n The value of this annotation.\n */\n value) {\n this.type = type;\n this.value = value;\n }\n /**\n Define a new type of annotation.\n */\n static define() { return new AnnotationType(); }\n}\n/**\nMarker that identifies a type of [annotation](https://codemirror.net/6/docs/ref/#state.Annotation).\n*/\nclass AnnotationType {\n /**\n Create an instance of this annotation.\n */\n of(value) { return new Annotation(this, value); }\n}\n/**\nRepresentation of a type of state effect. Defined with\n[`StateEffect.define`](https://codemirror.net/6/docs/ref/#state.StateEffect^define).\n*/\nclass StateEffectType {\n /**\n @internal\n */\n constructor(\n // The `any` types in these function types are there to work\n // around TypeScript issue #37631, where the type guard on\n // `StateEffect.is` mysteriously stops working when these properly\n // have type `Value`.\n /**\n @internal\n */\n map) {\n this.map = map;\n }\n /**\n Create a [state effect](https://codemirror.net/6/docs/ref/#state.StateEffect) instance of this\n type.\n */\n of(value) { return new StateEffect(this, value); }\n}\n/**\nState effects can be used to represent additional effects\nassociated with a [transaction](https://codemirror.net/6/docs/ref/#state.Transaction.effects). They\nare often useful to model changes to custom [state\nfields](https://codemirror.net/6/docs/ref/#state.StateField), when those changes aren't implicit in\ndocument or selection changes.\n*/\nclass StateEffect {\n /**\n @internal\n */\n constructor(\n /**\n @internal\n */\n type, \n /**\n The value of this effect.\n */\n value) {\n this.type = type;\n this.value = value;\n }\n /**\n Map this effect through a position mapping. Will return\n `undefined` when that ends up deleting the effect.\n */\n map(mapping) {\n let mapped = this.type.map(this.value, mapping);\n return mapped === undefined ? undefined : mapped == this.value ? this : new StateEffect(this.type, mapped);\n }\n /**\n Tells you whether this effect object is of a given\n [type](https://codemirror.net/6/docs/ref/#state.StateEffectType).\n */\n is(type) { return this.type == type; }\n /**\n Define a new effect type. The type parameter indicates the type\n of values that his effect holds. It should be a type that\n doesn't include `undefined`, since that is used in\n [mapping](https://codemirror.net/6/docs/ref/#state.StateEffect.map) to indicate that an effect is\n removed.\n */\n static define(spec = {}) {\n return new StateEffectType(spec.map || (v => v));\n }\n /**\n Map an array of effects through a change set.\n */\n static mapEffects(effects, mapping) {\n if (!effects.length)\n return effects;\n let result = [];\n for (let effect of effects) {\n let mapped = effect.map(mapping);\n if (mapped)\n result.push(mapped);\n }\n return result;\n }\n}\n/**\nThis effect can be used to reconfigure the root extensions of\nthe editor. Doing this will discard any extensions\n[appended](https://codemirror.net/6/docs/ref/#state.StateEffect^appendConfig), but does not reset\nthe content of [reconfigured](https://codemirror.net/6/docs/ref/#state.Compartment.reconfigure)\ncompartments.\n*/\nStateEffect.reconfigure = /*@__PURE__*/StateEffect.define();\n/**\nAppend extensions to the top-level configuration of the editor.\n*/\nStateEffect.appendConfig = /*@__PURE__*/StateEffect.define();\n/**\nChanges to the editor state are grouped into transactions.\nTypically, a user action creates a single transaction, which may\ncontain any number of document changes, may change the selection,\nor have other effects. Create a transaction by calling\n[`EditorState.update`](https://codemirror.net/6/docs/ref/#state.EditorState.update), or immediately\ndispatch one by calling\n[`EditorView.dispatch`](https://codemirror.net/6/docs/ref/#view.EditorView.dispatch).\n*/\nclass Transaction {\n constructor(\n /**\n The state from which the transaction starts.\n */\n startState, \n /**\n The document changes made by this transaction.\n */\n changes, \n /**\n The selection set by this transaction, or undefined if it\n doesn't explicitly set a selection.\n */\n selection, \n /**\n The effects added to the transaction.\n */\n effects, \n /**\n @internal\n */\n annotations, \n /**\n Whether the selection should be scrolled into view after this\n transaction is dispatched.\n */\n scrollIntoView) {\n this.startState = startState;\n this.changes = changes;\n this.selection = selection;\n this.effects = effects;\n this.annotations = annotations;\n this.scrollIntoView = scrollIntoView;\n /**\n @internal\n */\n this._doc = null;\n /**\n @internal\n */\n this._state = null;\n if (selection)\n checkSelection(selection, changes.newLength);\n if (!annotations.some((a) => a.type == Transaction.time))\n this.annotations = annotations.concat(Transaction.time.of(Date.now()));\n }\n /**\n @internal\n */\n static create(startState, changes, selection, effects, annotations, scrollIntoView) {\n return new Transaction(startState, changes, selection, effects, annotations, scrollIntoView);\n }\n /**\n The new document produced by the transaction. Contrary to\n [`.state`](https://codemirror.net/6/docs/ref/#state.Transaction.state)`.doc`, accessing this won't\n force the entire new state to be computed right away, so it is\n recommended that [transaction\n filters](https://codemirror.net/6/docs/ref/#state.EditorState^transactionFilter) use this getter\n when they need to look at the new document.\n */\n get newDoc() {\n return this._doc || (this._doc = this.changes.apply(this.startState.doc));\n }\n /**\n The new selection produced by the transaction. If\n [`this.selection`](https://codemirror.net/6/docs/ref/#state.Transaction.selection) is undefined,\n this will [map](https://codemirror.net/6/docs/ref/#state.EditorSelection.map) the start state's\n current selection through the changes made by the transaction.\n */\n get newSelection() {\n return this.selection || this.startState.selection.map(this.changes);\n }\n /**\n The new state created by the transaction. Computed on demand\n (but retained for subsequent access), so it is recommended not to\n access it in [transaction\n filters](https://codemirror.net/6/docs/ref/#state.EditorState^transactionFilter) when possible.\n */\n get state() {\n if (!this._state)\n this.startState.applyTransaction(this);\n return this._state;\n }\n /**\n Get the value of the given annotation type, if any.\n */\n annotation(type) {\n for (let ann of this.annotations)\n if (ann.type == type)\n return ann.value;\n return undefined;\n }\n /**\n Indicates whether the transaction changed the document.\n */\n get docChanged() { return !this.changes.empty; }\n /**\n Indicates whether this transaction reconfigures the state\n (through a [configuration compartment](https://codemirror.net/6/docs/ref/#state.Compartment) or\n with a top-level configuration\n [effect](https://codemirror.net/6/docs/ref/#state.StateEffect^reconfigure).\n */\n get reconfigured() { return this.startState.config != this.state.config; }\n /**\n Returns true if the transaction has a [user\n event](https://codemirror.net/6/docs/ref/#state.Transaction^userEvent) annotation that is equal to\n or more specific than `event`. For example, if the transaction\n has `\"select.pointer\"` as user event, `\"select\"` and\n `\"select.pointer\"` will match it.\n */\n isUserEvent(event) {\n let e = this.annotation(Transaction.userEvent);\n return !!(e && (e == event || e.length > event.length && e.slice(0, event.length) == event && e[event.length] == \".\"));\n }\n}\n/**\nAnnotation used to store transaction timestamps. Automatically\nadded to every transaction, holding `Date.now()`.\n*/\nTransaction.time = /*@__PURE__*/Annotation.define();\n/**\nAnnotation used to associate a transaction with a user interface\nevent. Holds a string identifying the event, using a\ndot-separated format to support attaching more specific\ninformation. The events used by the core libraries are:\n\n - `\"input\"` when content is entered\n - `\"input.type\"` for typed input\n - `\"input.type.compose\"` for composition\n - `\"input.paste\"` for pasted input\n - `\"input.drop\"` when adding content with drag-and-drop\n - `\"input.complete\"` when autocompleting\n - `\"delete\"` when the user deletes content\n - `\"delete.selection\"` when deleting the selection\n - `\"delete.forward\"` when deleting forward from the selection\n - `\"delete.backward\"` when deleting backward from the selection\n - `\"delete.cut\"` when cutting to the clipboard\n - `\"move\"` when content is moved\n - `\"move.drop\"` when content is moved within the editor through drag-and-drop\n - `\"select\"` when explicitly changing the selection\n - `\"select.pointer\"` when selecting with a mouse or other pointing device\n - `\"undo\"` and `\"redo\"` for history actions\n\nUse [`isUserEvent`](https://codemirror.net/6/docs/ref/#state.Transaction.isUserEvent) to check\nwhether the annotation matches a given event.\n*/\nTransaction.userEvent = /*@__PURE__*/Annotation.define();\n/**\nAnnotation indicating whether a transaction should be added to\nthe undo history or not.\n*/\nTransaction.addToHistory = /*@__PURE__*/Annotation.define();\n/**\nAnnotation indicating (when present and true) that a transaction\nrepresents a change made by some other actor, not the user. This\nis used, for example, to tag other people's changes in\ncollaborative editing.\n*/\nTransaction.remote = /*@__PURE__*/Annotation.define();\nfunction joinRanges(a, b) {\n let result = [];\n for (let iA = 0, iB = 0;;) {\n let from, to;\n if (iA < a.length && (iB == b.length || b[iB] >= a[iA])) {\n from = a[iA++];\n to = a[iA++];\n }\n else if (iB < b.length) {\n from = b[iB++];\n to = b[iB++];\n }\n else\n return result;\n if (!result.length || result[result.length - 1] < from)\n result.push(from, to);\n else if (result[result.length - 1] < to)\n result[result.length - 1] = to;\n }\n}\nfunction mergeTransaction(a, b, sequential) {\n var _a;\n let mapForA, mapForB, changes;\n if (sequential) {\n mapForA = b.changes;\n mapForB = ChangeSet.empty(b.changes.length);\n changes = a.changes.compose(b.changes);\n }\n else {\n mapForA = b.changes.map(a.changes);\n mapForB = a.changes.mapDesc(b.changes, true);\n changes = a.changes.compose(mapForA);\n }\n return {\n changes,\n selection: b.selection ? b.selection.map(mapForB) : (_a = a.selection) === null || _a === void 0 ? void 0 : _a.map(mapForA),\n effects: StateEffect.mapEffects(a.effects, mapForA).concat(StateEffect.mapEffects(b.effects, mapForB)),\n annotations: a.annotations.length ? a.annotations.concat(b.annotations) : b.annotations,\n scrollIntoView: a.scrollIntoView || b.scrollIntoView\n };\n}\nfunction resolveTransactionInner(state, spec, docSize) {\n let sel = spec.selection, annotations = asArray(spec.annotations);\n if (spec.userEvent)\n annotations = annotations.concat(Transaction.userEvent.of(spec.userEvent));\n return {\n changes: spec.changes instanceof ChangeSet ? spec.changes\n : ChangeSet.of(spec.changes || [], docSize, state.facet(lineSeparator)),\n selection: sel && (sel instanceof EditorSelection ? sel : EditorSelection.single(sel.anchor, sel.head)),\n effects: asArray(spec.effects),\n annotations,\n scrollIntoView: !!spec.scrollIntoView\n };\n}\nfunction resolveTransaction(state, specs, filter) {\n let s = resolveTransactionInner(state, specs.length ? specs[0] : {}, state.doc.length);\n if (specs.length && specs[0].filter === false)\n filter = false;\n for (let i = 1; i < specs.length; i++) {\n if (specs[i].filter === false)\n filter = false;\n let seq = !!specs[i].sequential;\n s = mergeTransaction(s, resolveTransactionInner(state, specs[i], seq ? s.changes.newLength : state.doc.length), seq);\n }\n let tr = Transaction.create(state, s.changes, s.selection, s.effects, s.annotations, s.scrollIntoView);\n return extendTransaction(filter ? filterTransaction(tr) : tr);\n}\n// Finish a transaction by applying filters if necessary.\nfunction filterTransaction(tr) {\n let state = tr.startState;\n // Change filters\n let result = true;\n for (let filter of state.facet(changeFilter)) {\n let value = filter(tr);\n if (value === false) {\n result = false;\n break;\n }\n if (Array.isArray(value))\n result = result === true ? value : joinRanges(result, value);\n }\n if (result !== true) {\n let changes, back;\n if (result === false) {\n back = tr.changes.invertedDesc;\n changes = ChangeSet.empty(state.doc.length);\n }\n else {\n let filtered = tr.changes.filter(result);\n changes = filtered.changes;\n back = filtered.filtered.mapDesc(filtered.changes).invertedDesc;\n }\n tr = Transaction.create(state, changes, tr.selection && tr.selection.map(back), StateEffect.mapEffects(tr.effects, back), tr.annotations, tr.scrollIntoView);\n }\n // Transaction filters\n let filters = state.facet(transactionFilter);\n for (let i = filters.length - 1; i >= 0; i--) {\n let filtered = filters[i](tr);\n if (filtered instanceof Transaction)\n tr = filtered;\n else if (Array.isArray(filtered) && filtered.length == 1 && filtered[0] instanceof Transaction)\n tr = filtered[0];\n else\n tr = resolveTransaction(state, asArray(filtered), false);\n }\n return tr;\n}\nfunction extendTransaction(tr) {\n let state = tr.startState, extenders = state.facet(transactionExtender), spec = tr;\n for (let i = extenders.length - 1; i >= 0; i--) {\n let extension = extenders[i](tr);\n if (extension && Object.keys(extension).length)\n spec = mergeTransaction(spec, resolveTransactionInner(state, extension, tr.changes.newLength), true);\n }\n return spec == tr ? tr : Transaction.create(state, tr.changes, tr.selection, spec.effects, spec.annotations, spec.scrollIntoView);\n}\nconst none = [];\nfunction asArray(value) {\n return value == null ? none : Array.isArray(value) ? value : [value];\n}\n\n/**\nThe categories produced by a [character\ncategorizer](https://codemirror.net/6/docs/ref/#state.EditorState.charCategorizer). These are used\ndo things like selecting by word.\n*/\nvar CharCategory = /*@__PURE__*/(function (CharCategory) {\n /**\n Word characters.\n */\n CharCategory[CharCategory[\"Word\"] = 0] = \"Word\";\n /**\n Whitespace.\n */\n CharCategory[CharCategory[\"Space\"] = 1] = \"Space\";\n /**\n Anything else.\n */\n CharCategory[CharCategory[\"Other\"] = 2] = \"Other\";\nreturn CharCategory})(CharCategory || (CharCategory = {}));\nconst nonASCIISingleCaseWordChar = /[\\u00df\\u0587\\u0590-\\u05f4\\u0600-\\u06ff\\u3040-\\u309f\\u30a0-\\u30ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\uac00-\\ud7af]/;\nlet wordChar;\ntry {\n wordChar = /*@__PURE__*/new RegExp(\"[\\\\p{Alphabetic}\\\\p{Number}_]\", \"u\");\n}\ncatch (_) { }\nfunction hasWordChar(str) {\n if (wordChar)\n return wordChar.test(str);\n for (let i = 0; i < str.length; i++) {\n let ch = str[i];\n if (/\\w/.test(ch) || ch > \"\\x80\" && (ch.toUpperCase() != ch.toLowerCase() || nonASCIISingleCaseWordChar.test(ch)))\n return true;\n }\n return false;\n}\nfunction makeCategorizer(wordChars) {\n return (char) => {\n if (!/\\S/.test(char))\n return CharCategory.Space;\n if (hasWordChar(char))\n return CharCategory.Word;\n for (let i = 0; i < wordChars.length; i++)\n if (char.indexOf(wordChars[i]) > -1)\n return CharCategory.Word;\n return CharCategory.Other;\n };\n}\n\n/**\nThe editor state class is a persistent (immutable) data structure.\nTo update a state, you [create](https://codemirror.net/6/docs/ref/#state.EditorState.update) a\n[transaction](https://codemirror.net/6/docs/ref/#state.Transaction), which produces a _new_ state\ninstance, without modifying the original object.\n\nAs such, _never_ mutate properties of a state directly. That'll\njust break things.\n*/\nclass EditorState {\n constructor(\n /**\n @internal\n */\n config, \n /**\n The current document.\n */\n doc, \n /**\n The current selection.\n */\n selection, \n /**\n @internal\n */\n values, computeSlot, tr) {\n this.config = config;\n this.doc = doc;\n this.selection = selection;\n this.values = values;\n this.status = config.statusTemplate.slice();\n this.computeSlot = computeSlot;\n // Fill in the computed state immediately, so that further queries\n // for it made during the update return this state\n if (tr)\n tr._state = this;\n for (let i = 0; i < this.config.dynamicSlots.length; i++)\n ensureAddr(this, i << 1);\n this.computeSlot = null;\n }\n field(field, require = true) {\n let addr = this.config.address[field.id];\n if (addr == null) {\n if (require)\n throw new RangeError(\"Field is not present in this state\");\n return undefined;\n }\n ensureAddr(this, addr);\n return getAddr(this, addr);\n }\n /**\n Create a [transaction](https://codemirror.net/6/docs/ref/#state.Transaction) that updates this\n state. Any number of [transaction specs](https://codemirror.net/6/docs/ref/#state.TransactionSpec)\n can be passed. Unless\n [`sequential`](https://codemirror.net/6/docs/ref/#state.TransactionSpec.sequential) is set, the\n [changes](https://codemirror.net/6/docs/ref/#state.TransactionSpec.changes) (if any) of each spec\n are assumed to start in the _current_ document (not the document\n produced by previous specs), and its\n [selection](https://codemirror.net/6/docs/ref/#state.TransactionSpec.selection) and\n [effects](https://codemirror.net/6/docs/ref/#state.TransactionSpec.effects) are assumed to refer\n to the document created by its _own_ changes. The resulting\n transaction contains the combined effect of all the different\n specs. For [selection](https://codemirror.net/6/docs/ref/#state.TransactionSpec.selection), later\n specs take precedence over earlier ones.\n */\n update(...specs) {\n return resolveTransaction(this, specs, true);\n }\n /**\n @internal\n */\n applyTransaction(tr) {\n let conf = this.config, { base, compartments } = conf;\n for (let effect of tr.effects) {\n if (effect.is(Compartment.reconfigure)) {\n if (conf) {\n compartments = new Map;\n conf.compartments.forEach((val, key) => compartments.set(key, val));\n conf = null;\n }\n compartments.set(effect.value.compartment, effect.value.extension);\n }\n else if (effect.is(StateEffect.reconfigure)) {\n conf = null;\n base = effect.value;\n }\n else if (effect.is(StateEffect.appendConfig)) {\n conf = null;\n base = asArray(base).concat(effect.value);\n }\n }\n let startValues;\n if (!conf) {\n conf = Configuration.resolve(base, compartments, this);\n let intermediateState = new EditorState(conf, this.doc, this.selection, conf.dynamicSlots.map(() => null), (state, slot) => slot.reconfigure(state, this), null);\n startValues = intermediateState.values;\n }\n else {\n startValues = tr.startState.values.slice();\n }\n let selection = tr.startState.facet(allowMultipleSelections) ? tr.newSelection : tr.newSelection.asSingle();\n new EditorState(conf, tr.newDoc, selection, startValues, (state, slot) => slot.update(state, tr), tr);\n }\n /**\n Create a [transaction spec](https://codemirror.net/6/docs/ref/#state.TransactionSpec) that\n replaces every selection range with the given content.\n */\n replaceSelection(text) {\n if (typeof text == \"string\")\n text = this.toText(text);\n return this.changeByRange(range => ({ changes: { from: range.from, to: range.to, insert: text },\n range: EditorSelection.cursor(range.from + text.length) }));\n }\n /**\n Create a set of changes and a new selection by running the given\n function for each range in the active selection. The function\n can return an optional set of changes (in the coordinate space\n of the start document), plus an updated range (in the coordinate\n space of the document produced by the call's own changes). This\n method will merge all the changes and ranges into a single\n changeset and selection, and return it as a [transaction\n spec](https://codemirror.net/6/docs/ref/#state.TransactionSpec), which can be passed to\n [`update`](https://codemirror.net/6/docs/ref/#state.EditorState.update).\n */\n changeByRange(f) {\n let sel = this.selection;\n let result1 = f(sel.ranges[0]);\n let changes = this.changes(result1.changes), ranges = [result1.range];\n let effects = asArray(result1.effects);\n for (let i = 1; i < sel.ranges.length; i++) {\n let result = f(sel.ranges[i]);\n let newChanges = this.changes(result.changes), newMapped = newChanges.map(changes);\n for (let j = 0; j < i; j++)\n ranges[j] = ranges[j].map(newMapped);\n let mapBy = changes.mapDesc(newChanges, true);\n ranges.push(result.range.map(mapBy));\n changes = changes.compose(newMapped);\n effects = StateEffect.mapEffects(effects, newMapped).concat(StateEffect.mapEffects(asArray(result.effects), mapBy));\n }\n return {\n changes,\n selection: EditorSelection.create(ranges, sel.mainIndex),\n effects\n };\n }\n /**\n Create a [change set](https://codemirror.net/6/docs/ref/#state.ChangeSet) from the given change\n description, taking the state's document length and line\n separator into account.\n */\n changes(spec = []) {\n if (spec instanceof ChangeSet)\n return spec;\n return ChangeSet.of(spec, this.doc.length, this.facet(EditorState.lineSeparator));\n }\n /**\n Using the state's [line\n separator](https://codemirror.net/6/docs/ref/#state.EditorState^lineSeparator), create a\n [`Text`](https://codemirror.net/6/docs/ref/#state.Text) instance from the given string.\n */\n toText(string) {\n return Text.of(string.split(this.facet(EditorState.lineSeparator) || DefaultSplit));\n }\n /**\n Return the given range of the document as a string.\n */\n sliceDoc(from = 0, to = this.doc.length) {\n return this.doc.sliceString(from, to, this.lineBreak);\n }\n /**\n Get the value of a state [facet](https://codemirror.net/6/docs/ref/#state.Facet).\n */\n facet(facet) {\n let addr = this.config.address[facet.id];\n if (addr == null)\n return facet.default;\n ensureAddr(this, addr);\n return getAddr(this, addr);\n }\n /**\n Convert this state to a JSON-serializable object. When custom\n fields should be serialized, you can pass them in as an object\n mapping property names (in the resulting object, which should\n not use `doc` or `selection`) to fields.\n */\n toJSON(fields) {\n let result = {\n doc: this.sliceDoc(),\n selection: this.selection.toJSON()\n };\n if (fields)\n for (let prop in fields) {\n let value = fields[prop];\n if (value instanceof StateField && this.config.address[value.id] != null)\n result[prop] = value.spec.toJSON(this.field(fields[prop]), this);\n }\n return result;\n }\n /**\n Deserialize a state from its JSON representation. When custom\n fields should be deserialized, pass the same object you passed\n to [`toJSON`](https://codemirror.net/6/docs/ref/#state.EditorState.toJSON) when serializing as\n third argument.\n */\n static fromJSON(json, config = {}, fields) {\n if (!json || typeof json.doc != \"string\")\n throw new RangeError(\"Invalid JSON representation for EditorState\");\n let fieldInit = [];\n if (fields)\n for (let prop in fields) {\n if (Object.prototype.hasOwnProperty.call(json, prop)) {\n let field = fields[prop], value = json[prop];\n fieldInit.push(field.init(state => field.spec.fromJSON(value, state)));\n }\n }\n return EditorState.create({\n doc: json.doc,\n selection: EditorSelection.fromJSON(json.selection),\n extensions: config.extensions ? fieldInit.concat([config.extensions]) : fieldInit\n });\n }\n /**\n Create a new state. You'll usually only need this when\n initializing an editor—updated states are created by applying\n transactions.\n */\n static create(config = {}) {\n let configuration = Configuration.resolve(config.extensions || [], new Map);\n let doc = config.doc instanceof Text ? config.doc\n : Text.of((config.doc || \"\").split(configuration.staticFacet(EditorState.lineSeparator) || DefaultSplit));\n let selection = !config.selection ? EditorSelection.single(0)\n : config.selection instanceof EditorSelection ? config.selection\n : EditorSelection.single(config.selection.anchor, config.selection.head);\n checkSelection(selection, doc.length);\n if (!configuration.staticFacet(allowMultipleSelections))\n selection = selection.asSingle();\n return new EditorState(configuration, doc, selection, configuration.dynamicSlots.map(() => null), (state, slot) => slot.create(state), null);\n }\n /**\n The size (in columns) of a tab in the document, determined by\n the [`tabSize`](https://codemirror.net/6/docs/ref/#state.EditorState^tabSize) facet.\n */\n get tabSize() { return this.facet(EditorState.tabSize); }\n /**\n Get the proper [line-break](https://codemirror.net/6/docs/ref/#state.EditorState^lineSeparator)\n string for this state.\n */\n get lineBreak() { return this.facet(EditorState.lineSeparator) || \"\\n\"; }\n /**\n Returns true when the editor is\n [configured](https://codemirror.net/6/docs/ref/#state.EditorState^readOnly) to be read-only.\n */\n get readOnly() { return this.facet(readOnly); }\n /**\n Look up a translation for the given phrase (via the\n [`phrases`](https://codemirror.net/6/docs/ref/#state.EditorState^phrases) facet), or return the\n original string if no translation is found.\n \n If additional arguments are passed, they will be inserted in\n place of markers like `$1` (for the first value) and `$2`, etc.\n A single `$` is equivalent to `$1`, and `$$` will produce a\n literal dollar sign.\n */\n phrase(phrase, ...insert) {\n for (let map of this.facet(EditorState.phrases))\n if (Object.prototype.hasOwnProperty.call(map, phrase)) {\n phrase = map[phrase];\n break;\n }\n if (insert.length)\n phrase = phrase.replace(/\\$(\\$|\\d*)/g, (m, i) => {\n if (i == \"$\")\n return \"$\";\n let n = +(i || 1);\n return !n || n > insert.length ? m : insert[n - 1];\n });\n return phrase;\n }\n /**\n Find the values for a given language data field, provided by the\n the [`languageData`](https://codemirror.net/6/docs/ref/#state.EditorState^languageData) facet.\n \n Examples of language data fields are...\n \n - [`\"commentTokens\"`](https://codemirror.net/6/docs/ref/#commands.CommentTokens) for specifying\n comment syntax.\n - [`\"autocomplete\"`](https://codemirror.net/6/docs/ref/#autocomplete.autocompletion^config.override)\n for providing language-specific completion sources.\n - [`\"wordChars\"`](https://codemirror.net/6/docs/ref/#state.EditorState.charCategorizer) for adding\n characters that should be considered part of words in this\n language.\n - [`\"closeBrackets\"`](https://codemirror.net/6/docs/ref/#autocomplete.CloseBracketConfig) controls\n bracket closing behavior.\n */\n languageDataAt(name, pos, side = -1) {\n let values = [];\n for (let provider of this.facet(languageData)) {\n for (let result of provider(this, pos, side)) {\n if (Object.prototype.hasOwnProperty.call(result, name))\n values.push(result[name]);\n }\n }\n return values;\n }\n /**\n Return a function that can categorize strings (expected to\n represent a single [grapheme cluster](https://codemirror.net/6/docs/ref/#state.findClusterBreak))\n into one of:\n \n - Word (contains an alphanumeric character or a character\n explicitly listed in the local language's `\"wordChars\"`\n language data, which should be a string)\n - Space (contains only whitespace)\n - Other (anything else)\n */\n charCategorizer(at) {\n return makeCategorizer(this.languageDataAt(\"wordChars\", at).join(\"\"));\n }\n /**\n Find the word at the given position, meaning the range\n containing all [word](https://codemirror.net/6/docs/ref/#state.CharCategory.Word) characters\n around it. If no word characters are adjacent to the position,\n this returns null.\n */\n wordAt(pos) {\n let { text, from, length } = this.doc.lineAt(pos);\n let cat = this.charCategorizer(pos);\n let start = pos - from, end = pos - from;\n while (start > 0) {\n let prev = findClusterBreak(text, start, false);\n if (cat(text.slice(prev, start)) != CharCategory.Word)\n break;\n start = prev;\n }\n while (end < length) {\n let next = findClusterBreak(text, end);\n if (cat(text.slice(end, next)) != CharCategory.Word)\n break;\n end = next;\n }\n return start == end ? null : EditorSelection.range(start + from, end + from);\n }\n}\n/**\nA facet that, when enabled, causes the editor to allow multiple\nranges to be selected. Be careful though, because by default the\neditor relies on the native DOM selection, which cannot handle\nmultiple selections. An extension like\n[`drawSelection`](https://codemirror.net/6/docs/ref/#view.drawSelection) can be used to make\nsecondary selections visible to the user.\n*/\nEditorState.allowMultipleSelections = allowMultipleSelections;\n/**\nConfigures the tab size to use in this state. The first\n(highest-precedence) value of the facet is used. If no value is\ngiven, this defaults to 4.\n*/\nEditorState.tabSize = /*@__PURE__*/Facet.define({\n combine: values => values.length ? values[0] : 4\n});\n/**\nThe line separator to use. By default, any of `\"\\n\"`, `\"\\r\\n\"`\nand `\"\\r\"` is treated as a separator when splitting lines, and\nlines are joined with `\"\\n\"`.\n\nWhen you configure a value here, only that precise separator\nwill be used, allowing you to round-trip documents through the\neditor without normalizing line separators.\n*/\nEditorState.lineSeparator = lineSeparator;\n/**\nThis facet controls the value of the\n[`readOnly`](https://codemirror.net/6/docs/ref/#state.EditorState.readOnly) getter, which is\nconsulted by commands and extensions that implement editing\nfunctionality to determine whether they should apply. It\ndefaults to false, but when its highest-precedence value is\n`true`, such functionality disables itself.\n\nNot to be confused with\n[`EditorView.editable`](https://codemirror.net/6/docs/ref/#view.EditorView^editable), which\ncontrols whether the editor's DOM is set to be editable (and\nthus focusable).\n*/\nEditorState.readOnly = readOnly;\n/**\nRegisters translation phrases. The\n[`phrase`](https://codemirror.net/6/docs/ref/#state.EditorState.phrase) method will look through\nall objects registered with this facet to find translations for\nits argument.\n*/\nEditorState.phrases = /*@__PURE__*/Facet.define({\n compare(a, b) {\n let kA = Object.keys(a), kB = Object.keys(b);\n return kA.length == kB.length && kA.every(k => a[k] == b[k]);\n }\n});\n/**\nA facet used to register [language\ndata](https://codemirror.net/6/docs/ref/#state.EditorState.languageDataAt) providers.\n*/\nEditorState.languageData = languageData;\n/**\nFacet used to register change filters, which are called for each\ntransaction (unless explicitly\n[disabled](https://codemirror.net/6/docs/ref/#state.TransactionSpec.filter)), and can suppress\npart of the transaction's changes.\n\nSuch a function can return `true` to indicate that it doesn't\nwant to do anything, `false` to completely stop the changes in\nthe transaction, or a set of ranges in which changes should be\nsuppressed. Such ranges are represented as an array of numbers,\nwith each pair of two numbers indicating the start and end of a\nrange. So for example `[10, 20, 100, 110]` suppresses changes\nbetween 10 and 20, and between 100 and 110.\n*/\nEditorState.changeFilter = changeFilter;\n/**\nFacet used to register a hook that gets a chance to update or\nreplace transaction specs before they are applied. This will\nonly be applied for transactions that don't have\n[`filter`](https://codemirror.net/6/docs/ref/#state.TransactionSpec.filter) set to `false`. You\ncan either return a single transaction spec (possibly the input\ntransaction), or an array of specs (which will be combined in\nthe same way as the arguments to\n[`EditorState.update`](https://codemirror.net/6/docs/ref/#state.EditorState.update)).\n\nWhen possible, it is recommended to avoid accessing\n[`Transaction.state`](https://codemirror.net/6/docs/ref/#state.Transaction.state) in a filter,\nsince it will force creation of a state that will then be\ndiscarded again, if the transaction is actually filtered.\n\n(This functionality should be used with care. Indiscriminately\nmodifying transaction is likely to break something or degrade\nthe user experience.)\n*/\nEditorState.transactionFilter = transactionFilter;\n/**\nThis is a more limited form of\n[`transactionFilter`](https://codemirror.net/6/docs/ref/#state.EditorState^transactionFilter),\nwhich can only add\n[annotations](https://codemirror.net/6/docs/ref/#state.TransactionSpec.annotations) and\n[effects](https://codemirror.net/6/docs/ref/#state.TransactionSpec.effects). _But_, this type\nof filter runs even if the transaction has disabled regular\n[filtering](https://codemirror.net/6/docs/ref/#state.TransactionSpec.filter), making it suitable\nfor effects that don't need to touch the changes or selection,\nbut do want to process every transaction.\n\nExtenders run _after_ filters, when both are present.\n*/\nEditorState.transactionExtender = transactionExtender;\nCompartment.reconfigure = /*@__PURE__*/StateEffect.define();\n\n/**\nUtility function for combining behaviors to fill in a config\nobject from an array of provided configs. `defaults` should hold\ndefault values for all optional fields in `Config`.\n\nThe function will, by default, error\nwhen a field gets two values that aren't `===`-equal, but you can\nprovide combine functions per field to do something else.\n*/\nfunction combineConfig(configs, defaults, // Should hold only the optional properties of Config, but I haven't managed to express that\ncombine = {}) {\n let result = {};\n for (let config of configs)\n for (let key of Object.keys(config)) {\n let value = config[key], current = result[key];\n if (current === undefined)\n result[key] = value;\n else if (current === value || value === undefined) ; // No conflict\n else if (Object.hasOwnProperty.call(combine, key))\n result[key] = combine[key](current, value);\n else\n throw new Error(\"Config merge conflict for field \" + key);\n }\n for (let key in defaults)\n if (result[key] === undefined)\n result[key] = defaults[key];\n return result;\n}\n\n/**\nEach range is associated with a value, which must inherit from\nthis class.\n*/\nclass RangeValue {\n /**\n Compare this value with another value. Used when comparing\n rangesets. The default implementation compares by identity.\n Unless you are only creating a fixed number of unique instances\n of your value type, it is a good idea to implement this\n properly.\n */\n eq(other) { return this == other; }\n /**\n Create a [range](https://codemirror.net/6/docs/ref/#state.Range) with this value.\n */\n range(from, to = from) { return Range.create(from, to, this); }\n}\nRangeValue.prototype.startSide = RangeValue.prototype.endSide = 0;\nRangeValue.prototype.point = false;\nRangeValue.prototype.mapMode = MapMode.TrackDel;\n/**\nA range associates a value with a range of positions.\n*/\nclass Range {\n constructor(\n /**\n The range's start position.\n */\n from, \n /**\n Its end position.\n */\n to, \n /**\n The value associated with this range.\n */\n value) {\n this.from = from;\n this.to = to;\n this.value = value;\n }\n /**\n @internal\n */\n static create(from, to, value) {\n return new Range(from, to, value);\n }\n}\nfunction cmpRange(a, b) {\n return a.from - b.from || a.value.startSide - b.value.startSide;\n}\nclass Chunk {\n constructor(from, to, value, \n // Chunks are marked with the largest point that occurs\n // in them (or -1 for no points), so that scans that are\n // only interested in points (such as the\n // heightmap-related logic) can skip range-only chunks.\n maxPoint) {\n this.from = from;\n this.to = to;\n this.value = value;\n this.maxPoint = maxPoint;\n }\n get length() { return this.to[this.to.length - 1]; }\n // Find the index of the given position and side. Use the ranges'\n // `from` pos when `end == false`, `to` when `end == true`.\n findIndex(pos, side, end, startAt = 0) {\n let arr = end ? this.to : this.from;\n for (let lo = startAt, hi = arr.length;;) {\n if (lo == hi)\n return lo;\n let mid = (lo + hi) >> 1;\n let diff = arr[mid] - pos || (end ? this.value[mid].endSide : this.value[mid].startSide) - side;\n if (mid == lo)\n return diff >= 0 ? lo : hi;\n if (diff >= 0)\n hi = mid;\n else\n lo = mid + 1;\n }\n }\n between(offset, from, to, f) {\n for (let i = this.findIndex(from, -1000000000 /* C.Far */, true), e = this.findIndex(to, 1000000000 /* C.Far */, false, i); i < e; i++)\n if (f(this.from[i] + offset, this.to[i] + offset, this.value[i]) === false)\n return false;\n }\n map(offset, changes) {\n let value = [], from = [], to = [], newPos = -1, maxPoint = -1;\n for (let i = 0; i < this.value.length; i++) {\n let val = this.value[i], curFrom = this.from[i] + offset, curTo = this.to[i] + offset, newFrom, newTo;\n if (curFrom == curTo) {\n let mapped = changes.mapPos(curFrom, val.startSide, val.mapMode);\n if (mapped == null)\n continue;\n newFrom = newTo = mapped;\n if (val.startSide != val.endSide) {\n newTo = changes.mapPos(curFrom, val.endSide);\n if (newTo < newFrom)\n continue;\n }\n }\n else {\n newFrom = changes.mapPos(curFrom, val.startSide);\n newTo = changes.mapPos(curTo, val.endSide);\n if (newFrom > newTo || newFrom == newTo && val.startSide > 0 && val.endSide <= 0)\n continue;\n }\n if ((newTo - newFrom || val.endSide - val.startSide) < 0)\n continue;\n if (newPos < 0)\n newPos = newFrom;\n if (val.point)\n maxPoint = Math.max(maxPoint, newTo - newFrom);\n value.push(val);\n from.push(newFrom - newPos);\n to.push(newTo - newPos);\n }\n return { mapped: value.length ? new Chunk(from, to, value, maxPoint) : null, pos: newPos };\n }\n}\n/**\nA range set stores a collection of [ranges](https://codemirror.net/6/docs/ref/#state.Range) in a\nway that makes them efficient to [map](https://codemirror.net/6/docs/ref/#state.RangeSet.map) and\n[update](https://codemirror.net/6/docs/ref/#state.RangeSet.update). This is an immutable data\nstructure.\n*/\nclass RangeSet {\n constructor(\n /**\n @internal\n */\n chunkPos, \n /**\n @internal\n */\n chunk, \n /**\n @internal\n */\n nextLayer, \n /**\n @internal\n */\n maxPoint) {\n this.chunkPos = chunkPos;\n this.chunk = chunk;\n this.nextLayer = nextLayer;\n this.maxPoint = maxPoint;\n }\n /**\n @internal\n */\n static create(chunkPos, chunk, nextLayer, maxPoint) {\n return new RangeSet(chunkPos, chunk, nextLayer, maxPoint);\n }\n /**\n @internal\n */\n get length() {\n let last = this.chunk.length - 1;\n return last < 0 ? 0 : Math.max(this.chunkEnd(last), this.nextLayer.length);\n }\n /**\n The number of ranges in the set.\n */\n get size() {\n if (this.isEmpty)\n return 0;\n let size = this.nextLayer.size;\n for (let chunk of this.chunk)\n size += chunk.value.length;\n return size;\n }\n /**\n @internal\n */\n chunkEnd(index) {\n return this.chunkPos[index] + this.chunk[index].length;\n }\n /**\n Update the range set, optionally adding new ranges or filtering\n out existing ones.\n \n (Note: The type parameter is just there as a kludge to work\n around TypeScript variance issues that prevented `RangeSet<X>`\n from being a subtype of `RangeSet<Y>` when `X` is a subtype of\n `Y`.)\n */\n update(updateSpec) {\n let { add = [], sort = false, filterFrom = 0, filterTo = this.length } = updateSpec;\n let filter = updateSpec.filter;\n if (add.length == 0 && !filter)\n return this;\n if (sort)\n add = add.slice().sort(cmpRange);\n if (this.isEmpty)\n return add.length ? RangeSet.of(add) : this;\n let cur = new LayerCursor(this, null, -1).goto(0), i = 0, spill = [];\n let builder = new RangeSetBuilder();\n while (cur.value || i < add.length) {\n if (i < add.length && (cur.from - add[i].from || cur.startSide - add[i].value.startSide) >= 0) {\n let range = add[i++];\n if (!builder.addInner(range.from, range.to, range.value))\n spill.push(range);\n }\n else if (cur.rangeIndex == 1 && cur.chunkIndex < this.chunk.length &&\n (i == add.length || this.chunkEnd(cur.chunkIndex) < add[i].from) &&\n (!filter || filterFrom > this.chunkEnd(cur.chunkIndex) || filterTo < this.chunkPos[cur.chunkIndex]) &&\n builder.addChunk(this.chunkPos[cur.chunkIndex], this.chunk[cur.chunkIndex])) {\n cur.nextChunk();\n }\n else {\n if (!filter || filterFrom > cur.to || filterTo < cur.from || filter(cur.from, cur.to, cur.value)) {\n if (!builder.addInner(cur.from, cur.to, cur.value))\n spill.push(Range.create(cur.from, cur.to, cur.value));\n }\n cur.next();\n }\n }\n return builder.finishInner(this.nextLayer.isEmpty && !spill.length ? RangeSet.empty\n : this.nextLayer.update({ add: spill, filter, filterFrom, filterTo }));\n }\n /**\n Map this range set through a set of changes, return the new set.\n */\n map(changes) {\n if (changes.empty || this.isEmpty)\n return this;\n let chunks = [], chunkPos = [], maxPoint = -1;\n for (let i = 0; i < this.chunk.length; i++) {\n let start = this.chunkPos[i], chunk = this.chunk[i];\n let touch = changes.touchesRange(start, start + chunk.length);\n if (touch === false) {\n maxPoint = Math.max(maxPoint, chunk.maxPoint);\n chunks.push(chunk);\n chunkPos.push(changes.mapPos(start));\n }\n else if (touch === true) {\n let { mapped, pos } = chunk.map(start, changes);\n if (mapped) {\n maxPoint = Math.max(maxPoint, mapped.maxPoint);\n chunks.push(mapped);\n chunkPos.push(pos);\n }\n }\n }\n let next = this.nextLayer.map(changes);\n return chunks.length == 0 ? next : new RangeSet(chunkPos, chunks, next || RangeSet.empty, maxPoint);\n }\n /**\n Iterate over the ranges that touch the region `from` to `to`,\n calling `f` for each. There is no guarantee that the ranges will\n be reported in any specific order. When the callback returns\n `false`, iteration stops.\n */\n between(from, to, f) {\n if (this.isEmpty)\n return;\n for (let i = 0; i < this.chunk.length; i++) {\n let start = this.chunkPos[i], chunk = this.chunk[i];\n if (to >= start && from <= start + chunk.length &&\n chunk.between(start, from - start, to - start, f) === false)\n return;\n }\n this.nextLayer.between(from, to, f);\n }\n /**\n Iterate over the ranges in this set, in order, including all\n ranges that end at or after `from`.\n */\n iter(from = 0) {\n return HeapCursor.from([this]).goto(from);\n }\n /**\n @internal\n */\n get isEmpty() { return this.nextLayer == this; }\n /**\n Iterate over the ranges in a collection of sets, in order,\n starting from `from`.\n */\n static iter(sets, from = 0) {\n return HeapCursor.from(sets).goto(from);\n }\n /**\n Iterate over two groups of sets, calling methods on `comparator`\n to notify it of possible differences.\n */\n static compare(oldSets, newSets, \n /**\n This indicates how the underlying data changed between these\n ranges, and is needed to synchronize the iteration.\n */\n textDiff, comparator, \n /**\n Can be used to ignore all non-point ranges, and points below\n the given size. When -1, all ranges are compared.\n */\n minPointSize = -1) {\n let a = oldSets.filter(set => set.maxPoint > 0 || !set.isEmpty && set.maxPoint >= minPointSize);\n let b = newSets.filter(set => set.maxPoint > 0 || !set.isEmpty && set.maxPoint >= minPointSize);\n let sharedChunks = findSharedChunks(a, b, textDiff);\n let sideA = new SpanCursor(a, sharedChunks, minPointSize);\n let sideB = new SpanCursor(b, sharedChunks, minPointSize);\n textDiff.iterGaps((fromA, fromB, length) => compare(sideA, fromA, sideB, fromB, length, comparator));\n if (textDiff.empty && textDiff.length == 0)\n compare(sideA, 0, sideB, 0, 0, comparator);\n }\n /**\n Compare the contents of two groups of range sets, returning true\n if they are equivalent in the given range.\n */\n static eq(oldSets, newSets, from = 0, to) {\n if (to == null)\n to = 1000000000 /* C.Far */ - 1;\n let a = oldSets.filter(set => !set.isEmpty && newSets.indexOf(set) < 0);\n let b = newSets.filter(set => !set.isEmpty && oldSets.indexOf(set) < 0);\n if (a.length != b.length)\n return false;\n if (!a.length)\n return true;\n let sharedChunks = findSharedChunks(a, b);\n let sideA = new SpanCursor(a, sharedChunks, 0).goto(from), sideB = new SpanCursor(b, sharedChunks, 0).goto(from);\n for (;;) {\n if (sideA.to != sideB.to ||\n !sameValues(sideA.active, sideB.active) ||\n sideA.point && (!sideB.point || !sideA.point.eq(sideB.point)))\n return false;\n if (sideA.to > to)\n return true;\n sideA.next();\n sideB.next();\n }\n }\n /**\n Iterate over a group of range sets at the same time, notifying\n the iterator about the ranges covering every given piece of\n content. Returns the open count (see\n [`SpanIterator.span`](https://codemirror.net/6/docs/ref/#state.SpanIterator.span)) at the end\n of the iteration.\n */\n static spans(sets, from, to, iterator, \n /**\n When given and greater than -1, only points of at least this\n size are taken into account.\n */\n minPointSize = -1) {\n let cursor = new SpanCursor(sets, null, minPointSize).goto(from), pos = from;\n let openRanges = cursor.openStart;\n for (;;) {\n let curTo = Math.min(cursor.to, to);\n if (cursor.point) {\n let active = cursor.activeForPoint(cursor.to);\n let openCount = cursor.pointFrom < from ? active.length + 1 : Math.min(active.length, openRanges);\n iterator.point(pos, curTo, cursor.point, active, openCount, cursor.pointRank);\n openRanges = Math.min(cursor.openEnd(curTo), active.length);\n }\n else if (curTo > pos) {\n iterator.span(pos, curTo, cursor.active, openRanges);\n openRanges = cursor.openEnd(curTo);\n }\n if (cursor.to > to)\n return openRanges + (cursor.point && cursor.to > to ? 1 : 0);\n pos = cursor.to;\n cursor.next();\n }\n }\n /**\n Create a range set for the given range or array of ranges. By\n default, this expects the ranges to be _sorted_ (by start\n position and, if two start at the same position,\n `value.startSide`). You can pass `true` as second argument to\n cause the method to sort them.\n */\n static of(ranges, sort = false) {\n let build = new RangeSetBuilder();\n for (let range of ranges instanceof Range ? [ranges] : sort ? lazySort(ranges) : ranges)\n build.add(range.from, range.to, range.value);\n return build.finish();\n }\n}\n/**\nThe empty set of ranges.\n*/\nRangeSet.empty = /*@__PURE__*/new RangeSet([], [], null, -1);\nfunction lazySort(ranges) {\n if (ranges.length > 1)\n for (let prev = ranges[0], i = 1; i < ranges.length; i++) {\n let cur = ranges[i];\n if (cmpRange(prev, cur) > 0)\n return ranges.slice().sort(cmpRange);\n prev = cur;\n }\n return ranges;\n}\nRangeSet.empty.nextLayer = RangeSet.empty;\n/**\nA range set builder is a data structure that helps build up a\n[range set](https://codemirror.net/6/docs/ref/#state.RangeSet) directly, without first allocating\nan array of [`Range`](https://codemirror.net/6/docs/ref/#state.Range) objects.\n*/\nclass RangeSetBuilder {\n finishChunk(newArrays) {\n this.chunks.push(new Chunk(this.from, this.to, this.value, this.maxPoint));\n this.chunkPos.push(this.chunkStart);\n this.chunkStart = -1;\n this.setMaxPoint = Math.max(this.setMaxPoint, this.maxPoint);\n this.maxPoint = -1;\n if (newArrays) {\n this.from = [];\n this.to = [];\n this.value = [];\n }\n }\n /**\n Create an empty builder.\n */\n constructor() {\n this.chunks = [];\n this.chunkPos = [];\n this.chunkStart = -1;\n this.last = null;\n this.lastFrom = -1000000000 /* C.Far */;\n this.lastTo = -1000000000 /* C.Far */;\n this.from = [];\n this.to = [];\n this.value = [];\n this.maxPoint = -1;\n this.setMaxPoint = -1;\n this.nextLayer = null;\n }\n /**\n Add a range. Ranges should be added in sorted (by `from` and\n `value.startSide`) order.\n */\n add(from, to, value) {\n if (!this.addInner(from, to, value))\n (this.nextLayer || (this.nextLayer = new RangeSetBuilder)).add(from, to, value);\n }\n /**\n @internal\n */\n addInner(from, to, value) {\n let diff = from - this.lastTo || value.startSide - this.last.endSide;\n if (diff <= 0 && (from - this.lastFrom || value.startSide - this.last.startSide) < 0)\n throw new Error(\"Ranges must be added sorted by `from` position and `startSide`\");\n if (diff < 0)\n return false;\n if (this.from.length == 250 /* C.ChunkSize */)\n this.finishChunk(true);\n if (this.chunkStart < 0)\n this.chunkStart = from;\n this.from.push(from - this.chunkStart);\n this.to.push(to - this.chunkStart);\n this.last = value;\n this.lastFrom = from;\n this.lastTo = to;\n this.value.push(value);\n if (value.point)\n this.maxPoint = Math.max(this.maxPoint, to - from);\n return true;\n }\n /**\n @internal\n */\n addChunk(from, chunk) {\n if ((from - this.lastTo || chunk.value[0].startSide - this.last.endSide) < 0)\n return false;\n if (this.from.length)\n this.finishChunk(true);\n this.setMaxPoint = Math.max(this.setMaxPoint, chunk.maxPoint);\n this.chunks.push(chunk);\n this.chunkPos.push(from);\n let last = chunk.value.length - 1;\n this.last = chunk.value[last];\n this.lastFrom = chunk.from[last] + from;\n this.lastTo = chunk.to[last] + from;\n return true;\n }\n /**\n Finish the range set. Returns the new set. The builder can't be\n used anymore after this has been called.\n */\n finish() { return this.finishInner(RangeSet.empty); }\n /**\n @internal\n */\n finishInner(next) {\n if (this.from.length)\n this.finishChunk(false);\n if (this.chunks.length == 0)\n return next;\n let result = RangeSet.create(this.chunkPos, this.chunks, this.nextLayer ? this.nextLayer.finishInner(next) : next, this.setMaxPoint);\n this.from = null; // Make sure further `add` calls produce errors\n return result;\n }\n}\nfunction findSharedChunks(a, b, textDiff) {\n let inA = new Map();\n for (let set of a)\n for (let i = 0; i < set.chunk.length; i++)\n if (set.chunk[i].maxPoint <= 0)\n inA.set(set.chunk[i], set.chunkPos[i]);\n let shared = new Set();\n for (let set of b)\n for (let i = 0; i < set.chunk.length; i++) {\n let known = inA.get(set.chunk[i]);\n if (known != null && (textDiff ? textDiff.mapPos(known) : known) == set.chunkPos[i] &&\n !(textDiff === null || textDiff === void 0 ? void 0 : textDiff.touchesRange(known, known + set.chunk[i].length)))\n shared.add(set.chunk[i]);\n }\n return shared;\n}\nclass LayerCursor {\n constructor(layer, skip, minPoint, rank = 0) {\n this.layer = layer;\n this.skip = skip;\n this.minPoint = minPoint;\n this.rank = rank;\n }\n get startSide() { return this.value ? this.value.startSide : 0; }\n get endSide() { return this.value ? this.value.endSide : 0; }\n goto(pos, side = -1000000000 /* C.Far */) {\n this.chunkIndex = this.rangeIndex = 0;\n this.gotoInner(pos, side, false);\n return this;\n }\n gotoInner(pos, side, forward) {\n while (this.chunkIndex < this.layer.chunk.length) {\n let next = this.layer.chunk[this.chunkIndex];\n if (!(this.skip && this.skip.has(next) ||\n this.layer.chunkEnd(this.chunkIndex) < pos ||\n next.maxPoint < this.minPoint))\n break;\n this.chunkIndex++;\n forward = false;\n }\n if (this.chunkIndex < this.layer.chunk.length) {\n let rangeIndex = this.layer.chunk[this.chunkIndex].findIndex(pos - this.layer.chunkPos[this.chunkIndex], side, true);\n if (!forward || this.rangeIndex < rangeIndex)\n this.setRangeIndex(rangeIndex);\n }\n this.next();\n }\n forward(pos, side) {\n if ((this.to - pos || this.endSide - side) < 0)\n this.gotoInner(pos, side, true);\n }\n next() {\n for (;;) {\n if (this.chunkIndex == this.layer.chunk.length) {\n this.from = this.to = 1000000000 /* C.Far */;\n this.value = null;\n break;\n }\n else {\n let chunkPos = this.layer.chunkPos[this.chunkIndex], chunk = this.layer.chunk[this.chunkIndex];\n let from = chunkPos + chunk.from[this.rangeIndex];\n this.from = from;\n this.to = chunkPos + chunk.to[this.rangeIndex];\n this.value = chunk.value[this.rangeIndex];\n this.setRangeIndex(this.rangeIndex + 1);\n if (this.minPoint < 0 || this.value.point && this.to - this.from >= this.minPoint)\n break;\n }\n }\n }\n setRangeIndex(index) {\n if (index == this.layer.chunk[this.chunkIndex].value.length) {\n this.chunkIndex++;\n if (this.skip) {\n while (this.chunkIndex < this.layer.chunk.length && this.skip.has(this.layer.chunk[this.chunkIndex]))\n this.chunkIndex++;\n }\n this.rangeIndex = 0;\n }\n else {\n this.rangeIndex = index;\n }\n }\n nextChunk() {\n this.chunkIndex++;\n this.rangeIndex = 0;\n this.next();\n }\n compare(other) {\n return this.from - other.from || this.startSide - other.startSide || this.rank - other.rank ||\n this.to - other.to || this.endSide - other.endSide;\n }\n}\nclass HeapCursor {\n constructor(heap) {\n this.heap = heap;\n }\n static from(sets, skip = null, minPoint = -1) {\n let heap = [];\n for (let i = 0; i < sets.length; i++) {\n for (let cur = sets[i]; !cur.isEmpty; cur = cur.nextLayer) {\n if (cur.maxPoint >= minPoint)\n heap.push(new LayerCursor(cur, skip, minPoint, i));\n }\n }\n return heap.length == 1 ? heap[0] : new HeapCursor(heap);\n }\n get startSide() { return this.value ? this.value.startSide : 0; }\n goto(pos, side = -1000000000 /* C.Far */) {\n for (let cur of this.heap)\n cur.goto(pos, side);\n for (let i = this.heap.length >> 1; i >= 0; i--)\n heapBubble(this.heap, i);\n this.next();\n return this;\n }\n forward(pos, side) {\n for (let cur of this.heap)\n cur.forward(pos, side);\n for (let i = this.heap.length >> 1; i >= 0; i--)\n heapBubble(this.heap, i);\n if ((this.to - pos || this.value.endSide - side) < 0)\n this.next();\n }\n next() {\n if (this.heap.length == 0) {\n this.from = this.to = 1000000000 /* C.Far */;\n this.value = null;\n this.rank = -1;\n }\n else {\n let top = this.heap[0];\n this.from = top.from;\n this.to = top.to;\n this.value = top.value;\n this.rank = top.rank;\n if (top.value)\n top.next();\n heapBubble(this.heap, 0);\n }\n }\n}\nfunction heapBubble(heap, index) {\n for (let cur = heap[index];;) {\n let childIndex = (index << 1) + 1;\n if (childIndex >= heap.length)\n break;\n let child = heap[childIndex];\n if (childIndex + 1 < heap.length && child.compare(heap[childIndex + 1]) >= 0) {\n child = heap[childIndex + 1];\n childIndex++;\n }\n if (cur.compare(child) < 0)\n break;\n heap[childIndex] = cur;\n heap[index] = child;\n index = childIndex;\n }\n}\nclass SpanCursor {\n constructor(sets, skip, minPoint) {\n this.minPoint = minPoint;\n this.active = [];\n this.activeTo = [];\n this.activeRank = [];\n this.minActive = -1;\n // A currently active point range, if any\n this.point = null;\n this.pointFrom = 0;\n this.pointRank = 0;\n this.to = -1000000000 /* C.Far */;\n this.endSide = 0;\n // The amount of open active ranges at the start of the iterator.\n // Not including points.\n this.openStart = -1;\n this.cursor = HeapCursor.from(sets, skip, minPoint);\n }\n goto(pos, side = -1000000000 /* C.Far */) {\n this.cursor.goto(pos, side);\n this.active.length = this.activeTo.length = this.activeRank.length = 0;\n this.minActive = -1;\n this.to = pos;\n this.endSide = side;\n this.openStart = -1;\n this.next();\n return this;\n }\n forward(pos, side) {\n while (this.minActive > -1 && (this.activeTo[this.minActive] - pos || this.active[this.minActive].endSide - side) < 0)\n this.removeActive(this.minActive);\n this.cursor.forward(pos, side);\n }\n removeActive(index) {\n remove(this.active, index);\n remove(this.activeTo, index);\n remove(this.activeRank, index);\n this.minActive = findMinIndex(this.active, this.activeTo);\n }\n addActive(trackOpen) {\n let i = 0, { value, to, rank } = this.cursor;\n while (i < this.activeRank.length && this.activeRank[i] <= rank)\n i++;\n insert(this.active, i, value);\n insert(this.activeTo, i, to);\n insert(this.activeRank, i, rank);\n if (trackOpen)\n insert(trackOpen, i, this.cursor.from);\n this.minActive = findMinIndex(this.active, this.activeTo);\n }\n // After calling this, if `this.point` != null, the next range is a\n // point. Otherwise, it's a regular range, covered by `this.active`.\n next() {\n let from = this.to, wasPoint = this.point;\n this.point = null;\n let trackOpen = this.openStart < 0 ? [] : null;\n for (;;) {\n let a = this.minActive;\n if (a > -1 && (this.activeTo[a] - this.cursor.from || this.active[a].endSide - this.cursor.startSide) < 0) {\n if (this.activeTo[a] > from) {\n this.to = this.activeTo[a];\n this.endSide = this.active[a].endSide;\n break;\n }\n this.removeActive(a);\n if (trackOpen)\n remove(trackOpen, a);\n }\n else if (!this.cursor.value) {\n this.to = this.endSide = 1000000000 /* C.Far */;\n break;\n }\n else if (this.cursor.from > from) {\n this.to = this.cursor.from;\n this.endSide = this.cursor.startSide;\n break;\n }\n else {\n let nextVal = this.cursor.value;\n if (!nextVal.point) { // Opening a range\n this.addActive(trackOpen);\n this.cursor.next();\n }\n else if (wasPoint && this.cursor.to == this.to && this.cursor.from < this.cursor.to) {\n // Ignore any non-empty points that end precisely at the end of the prev point\n this.cursor.next();\n }\n else { // New point\n this.point = nextVal;\n this.pointFrom = this.cursor.from;\n this.pointRank = this.cursor.rank;\n this.to = this.cursor.to;\n this.endSide = nextVal.endSide;\n this.cursor.next();\n this.forward(this.to, this.endSide);\n break;\n }\n }\n }\n if (trackOpen) {\n this.openStart = 0;\n for (let i = trackOpen.length - 1; i >= 0 && trackOpen[i] < from; i--)\n this.openStart++;\n }\n }\n activeForPoint(to) {\n if (!this.active.length)\n return this.active;\n let active = [];\n for (let i = this.active.length - 1; i >= 0; i--) {\n if (this.activeRank[i] < this.pointRank)\n break;\n if (this.activeTo[i] > to || this.activeTo[i] == to && this.active[i].endSide >= this.point.endSide)\n active.push(this.active[i]);\n }\n return active.reverse();\n }\n openEnd(to) {\n let open = 0;\n for (let i = this.activeTo.length - 1; i >= 0 && this.activeTo[i] > to; i--)\n open++;\n return open;\n }\n}\nfunction compare(a, startA, b, startB, length, comparator) {\n a.goto(startA);\n b.goto(startB);\n let endB = startB + length;\n let pos = startB, dPos = startB - startA;\n for (;;) {\n let diff = (a.to + dPos) - b.to || a.endSide - b.endSide;\n let end = diff < 0 ? a.to + dPos : b.to, clipEnd = Math.min(end, endB);\n if (a.point || b.point) {\n if (!(a.point && b.point && (a.point == b.point || a.point.eq(b.point)) &&\n sameValues(a.activeForPoint(a.to), b.activeForPoint(b.to))))\n comparator.comparePoint(pos, clipEnd, a.point, b.point);\n }\n else {\n if (clipEnd > pos && !sameValues(a.active, b.active))\n comparator.compareRange(pos, clipEnd, a.active, b.active);\n }\n if (end > endB)\n break;\n pos = end;\n if (diff <= 0)\n a.next();\n if (diff >= 0)\n b.next();\n }\n}\nfunction sameValues(a, b) {\n if (a.length != b.length)\n return false;\n for (let i = 0; i < a.length; i++)\n if (a[i] != b[i] && !a[i].eq(b[i]))\n return false;\n return true;\n}\nfunction remove(array, index) {\n for (let i = index, e = array.length - 1; i < e; i++)\n array[i] = array[i + 1];\n array.pop();\n}\nfunction insert(array, index, value) {\n for (let i = array.length - 1; i >= index; i--)\n array[i + 1] = array[i];\n array[index] = value;\n}\nfunction findMinIndex(value, array) {\n let found = -1, foundPos = 1000000000 /* C.Far */;\n for (let i = 0; i < array.length; i++)\n if ((array[i] - foundPos || value[i].endSide - value[found].endSide) < 0) {\n found = i;\n foundPos = array[i];\n }\n return found;\n}\n\n/**\nCount the column position at the given offset into the string,\ntaking extending characters and tab size into account.\n*/\nfunction countColumn(string, tabSize, to = string.length) {\n let n = 0;\n for (let i = 0; i < to;) {\n if (string.charCodeAt(i) == 9) {\n n += tabSize - (n % tabSize);\n i++;\n }\n else {\n n++;\n i = findClusterBreak(string, i);\n }\n }\n return n;\n}\n/**\nFind the offset that corresponds to the given column position in a\nstring, taking extending characters and tab size into account. By\ndefault, the string length is returned when it is too short to\nreach the column. Pass `strict` true to make it return -1 in that\nsituation.\n*/\nfunction findColumn(string, col, tabSize, strict) {\n for (let i = 0, n = 0;;) {\n if (n >= col)\n return i;\n if (i == string.length)\n break;\n n += string.charCodeAt(i) == 9 ? tabSize - (n % tabSize) : 1;\n i = findClusterBreak(string, i);\n }\n return strict === true ? -1 : string.length;\n}\n\nexport { Annotation, AnnotationType, ChangeDesc, ChangeSet, CharCategory, Compartment, EditorSelection, EditorState, Facet, Line, MapMode, Prec, Range, RangeSet, RangeSetBuilder, RangeValue, SelectionRange, StateEffect, StateEffectType, StateField, Text, Transaction, codePointAt, codePointSize, combineConfig, countColumn, findClusterBreak, findColumn, fromCodePoint };\n"],"names":["MapMode","CharCategory"],"mappings":"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","x_google_ignoreList":[0]}