amis-core 6.0.0 → 6.2.0

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 (307) hide show
  1. package/esm/Root.js +2 -2
  2. package/esm/RootRenderer.js +4 -3
  3. package/esm/SchemaRenderer.js +5 -2
  4. package/esm/Scoped.d.ts +6 -0
  5. package/esm/Scoped.js +47 -8
  6. package/esm/StatusScoped.js +2 -2
  7. package/esm/WithRootStore.js +2 -2
  8. package/esm/WithStore.js +4 -6
  9. package/esm/actions/Action.js +2 -2
  10. package/esm/actions/AjaxAction.js +2 -2
  11. package/esm/actions/BreakAction.js +2 -2
  12. package/esm/actions/BroadcastAction.js +2 -2
  13. package/esm/actions/CmptAction.js +2 -2
  14. package/esm/actions/ContinueAction.js +2 -2
  15. package/esm/actions/CopyAction.js +2 -2
  16. package/esm/actions/CustomAction.js +3 -3
  17. package/esm/actions/DialogAction.js +2 -2
  18. package/esm/actions/DrawerAction.js +2 -2
  19. package/esm/actions/EmailAction.js +2 -2
  20. package/esm/actions/LinkAction.js +10 -5
  21. package/esm/actions/LoopAction.js +2 -2
  22. package/esm/actions/PageAction.js +2 -2
  23. package/esm/actions/ParallelAction.js +2 -2
  24. package/esm/actions/PrintAction.d.ts +19 -0
  25. package/esm/actions/PrintAction.js +49 -0
  26. package/esm/actions/StatusAction.js +2 -2
  27. package/esm/actions/SwitchAction.js +2 -2
  28. package/esm/actions/ToastAction.js +2 -2
  29. package/esm/actions/index.d.ts +1 -0
  30. package/esm/components/CustomStyle.d.ts +1 -2
  31. package/esm/components/CustomStyle.js +20 -7
  32. package/esm/components/ErrorBoundary.js +2 -2
  33. package/esm/components/LazyComponent.js +2 -2
  34. package/esm/components/Overlay.js +11 -9
  35. package/esm/components/PopOver.js +7 -5
  36. package/esm/env.d.ts +4 -0
  37. package/esm/env.js +2 -2
  38. package/esm/envOverwrite.js +2 -2
  39. package/esm/factory.js +15 -2
  40. package/esm/index.d.ts +3 -2
  41. package/esm/index.js +16 -9
  42. package/esm/locale.js +2 -2
  43. package/esm/polyfills.js +2 -2
  44. package/esm/renderers/Form.d.ts +4 -3
  45. package/esm/renderers/Form.js +97 -45
  46. package/esm/renderers/Item.d.ts +1 -0
  47. package/esm/renderers/Item.js +15 -16
  48. package/esm/renderers/Options.d.ts +5 -0
  49. package/esm/renderers/Options.js +27 -10
  50. package/esm/renderers/Placeholder.js +2 -2
  51. package/esm/renderers/builtin.js +2 -2
  52. package/esm/renderers/register.js +2 -2
  53. package/esm/renderers/wrapControl.js +37 -29
  54. package/esm/store/app.js +3 -3
  55. package/esm/store/combo.d.ts +48 -24
  56. package/esm/store/combo.js +2 -2
  57. package/esm/store/crud.js +2 -2
  58. package/esm/store/form.d.ts +20 -10
  59. package/esm/store/form.js +2 -2
  60. package/esm/store/formItem.d.ts +2 -1
  61. package/esm/store/formItem.js +4 -3
  62. package/esm/store/iRenderer.js +5 -3
  63. package/esm/store/index.js +2 -2
  64. package/esm/store/list.d.ts +11 -0
  65. package/esm/store/list.js +9 -2
  66. package/esm/store/manager.js +2 -2
  67. package/esm/store/modal.js +2 -2
  68. package/esm/store/node.js +2 -2
  69. package/esm/store/pagination.js +2 -2
  70. package/esm/store/root.js +3 -3
  71. package/esm/store/service.js +6 -3
  72. package/esm/store/status.js +2 -2
  73. package/esm/store/table.d.ts +70 -47
  74. package/esm/store/table.js +40 -24
  75. package/esm/store/table2.js +2 -2
  76. package/esm/theme.js +2 -2
  77. package/esm/utils/Animation.js +2 -2
  78. package/esm/utils/ColorScale.js +2 -2
  79. package/esm/utils/DataSchema.js +2 -2
  80. package/esm/utils/DataScope.js +2 -2
  81. package/esm/utils/RootClose.js +2 -2
  82. package/esm/utils/SimpleMap.js +2 -2
  83. package/esm/utils/api.js +4 -3
  84. package/esm/utils/arraySlice.js +2 -2
  85. package/esm/utils/attachmentAdpator.js +4 -3
  86. package/esm/utils/autobind.js +2 -2
  87. package/esm/utils/browser.d.ts +1 -0
  88. package/esm/utils/browser.js +8 -3
  89. package/esm/utils/columnsSplit.js +2 -2
  90. package/esm/utils/concatData.js +2 -2
  91. package/esm/utils/dataMapping.js +2 -2
  92. package/esm/utils/date.js +2 -2
  93. package/esm/utils/debug.js +2 -2
  94. package/esm/utils/decodeEntity.js +2 -2
  95. package/esm/utils/dom.js +8 -3
  96. package/esm/utils/errors.js +2 -2
  97. package/esm/utils/escapeHtml.js +2 -2
  98. package/esm/utils/filter-schema.js +2 -2
  99. package/esm/utils/filter.js +2 -2
  100. package/esm/utils/formatDuration.js +2 -2
  101. package/esm/utils/formula.js +2 -2
  102. package/esm/utils/getVariable.js +2 -2
  103. package/esm/utils/grammar.js +2 -2
  104. package/esm/utils/handleAction.js +2 -2
  105. package/esm/utils/helper.d.ts +8 -1
  106. package/esm/utils/helper.js +28 -10
  107. package/esm/utils/highlight.js +4 -3
  108. package/esm/utils/icon.js +2 -2
  109. package/esm/utils/image.js +2 -2
  110. package/esm/utils/index.d.ts +1 -0
  111. package/esm/utils/isPureVariable.js +2 -2
  112. package/esm/utils/json-schema-2-amis-schema.js +2 -2
  113. package/esm/utils/keyToPath.js +2 -2
  114. package/esm/utils/labelToString.d.ts +1 -0
  115. package/esm/utils/labelToString.js +38 -0
  116. package/esm/utils/makeSorter.js +2 -2
  117. package/esm/utils/math.js +2 -2
  118. package/esm/utils/memoryParse.js +2 -2
  119. package/esm/utils/normalizeLink.js +2 -2
  120. package/esm/utils/normalizeOptions.js +2 -2
  121. package/esm/utils/object.js +2 -2
  122. package/esm/utils/offset.js +2 -2
  123. package/esm/utils/offsetParent.js +2 -2
  124. package/esm/utils/optionValueCompare.js +2 -2
  125. package/esm/utils/position.js +2 -2
  126. package/esm/utils/prettyBytes.js +2 -2
  127. package/esm/utils/printElement.d.ts +6 -0
  128. package/esm/utils/printElement.js +71 -0
  129. package/esm/utils/renderer-event.js +2 -2
  130. package/esm/utils/replaceText.js +10 -12
  131. package/esm/utils/resize-sensor.js +2 -2
  132. package/esm/utils/resolveCondition.js +2 -2
  133. package/esm/utils/resolveVariable.js +2 -2
  134. package/esm/utils/resolveVariableAndFilter.js +2 -2
  135. package/esm/utils/resolveVariableAndFilterForAsync.js +2 -2
  136. package/esm/utils/scrollPosition.js +2 -2
  137. package/esm/utils/string2regExp.d.ts +1 -1
  138. package/esm/utils/string2regExp.js +5 -4
  139. package/esm/utils/stripNumber.js +2 -2
  140. package/esm/utils/style-helper.d.ts +24 -5
  141. package/esm/utils/style-helper.js +47 -17
  142. package/esm/utils/style.js +2 -2
  143. package/esm/utils/toNumber.js +2 -2
  144. package/esm/utils/tokenize.d.ts +1 -0
  145. package/esm/utils/tokenize.js +11 -4
  146. package/esm/utils/tpl-builtin.js +2 -2
  147. package/esm/utils/tpl-lodash.js +2 -2
  148. package/esm/utils/tpl.js +7 -9
  149. package/esm/utils/uncontrollable.js +2 -2
  150. package/esm/utils/validateId.d.ts +16 -0
  151. package/esm/utils/validateId.js +154 -0
  152. package/esm/utils/validations.js +17 -9
  153. package/lib/Root.js +2 -2
  154. package/lib/RootRenderer.d.ts +1 -1
  155. package/lib/RootRenderer.js +4 -3
  156. package/lib/SchemaRenderer.js +5 -2
  157. package/lib/Scoped.d.ts +6 -0
  158. package/lib/Scoped.js +47 -7
  159. package/lib/StatusScoped.js +2 -2
  160. package/lib/WithRootStore.js +2 -2
  161. package/lib/WithStore.js +4 -6
  162. package/lib/actions/Action.js +2 -2
  163. package/lib/actions/AjaxAction.js +2 -2
  164. package/lib/actions/BreakAction.js +2 -2
  165. package/lib/actions/BroadcastAction.js +2 -2
  166. package/lib/actions/CmptAction.js +2 -2
  167. package/lib/actions/ContinueAction.js +2 -2
  168. package/lib/actions/CopyAction.js +2 -2
  169. package/lib/actions/CustomAction.js +3 -3
  170. package/lib/actions/DialogAction.js +2 -2
  171. package/lib/actions/DrawerAction.js +2 -2
  172. package/lib/actions/EmailAction.js +2 -2
  173. package/lib/actions/LinkAction.js +10 -5
  174. package/lib/actions/LoopAction.js +2 -2
  175. package/lib/actions/PageAction.js +2 -2
  176. package/lib/actions/ParallelAction.js +2 -2
  177. package/lib/actions/PrintAction.d.ts +19 -0
  178. package/lib/actions/PrintAction.js +53 -0
  179. package/lib/actions/StatusAction.js +2 -2
  180. package/lib/actions/SwitchAction.js +2 -2
  181. package/lib/actions/ToastAction.js +2 -2
  182. package/lib/actions/index.d.ts +1 -0
  183. package/lib/components/CustomStyle.d.ts +1 -2
  184. package/lib/components/CustomStyle.js +20 -7
  185. package/lib/components/ErrorBoundary.js +2 -2
  186. package/lib/components/LazyComponent.js +2 -2
  187. package/lib/components/Overlay.js +10 -8
  188. package/lib/components/PopOver.js +7 -5
  189. package/lib/env.d.ts +4 -0
  190. package/lib/env.js +2 -2
  191. package/lib/envOverwrite.js +2 -2
  192. package/lib/factory.js +15 -2
  193. package/lib/index.d.ts +3 -2
  194. package/lib/index.js +19 -5
  195. package/lib/locale.js +2 -2
  196. package/lib/polyfills.js +2 -2
  197. package/lib/renderers/Form.d.ts +4 -3
  198. package/lib/renderers/Form.js +96 -44
  199. package/lib/renderers/Item.d.ts +1 -0
  200. package/lib/renderers/Item.js +15 -16
  201. package/lib/renderers/Options.d.ts +5 -0
  202. package/lib/renderers/Options.js +27 -10
  203. package/lib/renderers/Placeholder.js +2 -2
  204. package/lib/renderers/builtin.js +2 -2
  205. package/lib/renderers/register.js +2 -2
  206. package/lib/renderers/wrapControl.js +36 -28
  207. package/lib/store/app.js +3 -3
  208. package/lib/store/combo.d.ts +72 -48
  209. package/lib/store/combo.js +2 -2
  210. package/lib/store/crud.js +2 -2
  211. package/lib/store/form.d.ts +30 -20
  212. package/lib/store/form.js +2 -2
  213. package/lib/store/formItem.d.ts +2 -1
  214. package/lib/store/formItem.js +4 -3
  215. package/lib/store/iRenderer.js +5 -3
  216. package/lib/store/index.js +2 -2
  217. package/lib/store/list.d.ts +11 -0
  218. package/lib/store/list.js +9 -2
  219. package/lib/store/manager.js +2 -2
  220. package/lib/store/modal.js +2 -2
  221. package/lib/store/node.js +2 -2
  222. package/lib/store/pagination.js +2 -2
  223. package/lib/store/root.js +3 -3
  224. package/lib/store/service.js +6 -3
  225. package/lib/store/status.js +2 -2
  226. package/lib/store/table.d.ts +90 -68
  227. package/lib/store/table.js +40 -24
  228. package/lib/store/table2.js +2 -2
  229. package/lib/theme.js +2 -2
  230. package/lib/utils/Animation.js +2 -2
  231. package/lib/utils/ColorScale.js +2 -2
  232. package/lib/utils/DataSchema.js +2 -2
  233. package/lib/utils/DataScope.js +2 -2
  234. package/lib/utils/RootClose.js +2 -2
  235. package/lib/utils/SimpleMap.js +2 -2
  236. package/lib/utils/api.js +4 -3
  237. package/lib/utils/arraySlice.js +2 -2
  238. package/lib/utils/attachmentAdpator.js +4 -3
  239. package/lib/utils/autobind.js +2 -2
  240. package/lib/utils/browser.d.ts +1 -0
  241. package/lib/utils/browser.js +8 -2
  242. package/lib/utils/columnsSplit.js +2 -2
  243. package/lib/utils/concatData.js +2 -2
  244. package/lib/utils/dataMapping.js +2 -2
  245. package/lib/utils/date.js +2 -2
  246. package/lib/utils/debug.js +2 -2
  247. package/lib/utils/decodeEntity.js +2 -2
  248. package/lib/utils/dom.js +8 -3
  249. package/lib/utils/errors.js +2 -2
  250. package/lib/utils/escapeHtml.js +2 -2
  251. package/lib/utils/filter-schema.js +2 -2
  252. package/lib/utils/filter.js +2 -2
  253. package/lib/utils/formatDuration.js +2 -2
  254. package/lib/utils/formula.js +2 -2
  255. package/lib/utils/getVariable.js +2 -2
  256. package/lib/utils/grammar.js +2 -2
  257. package/lib/utils/handleAction.js +2 -2
  258. package/lib/utils/helper.d.ts +8 -1
  259. package/lib/utils/helper.js +29 -8
  260. package/lib/utils/highlight.js +4 -3
  261. package/lib/utils/icon.js +2 -2
  262. package/lib/utils/image.js +2 -2
  263. package/lib/utils/index.d.ts +1 -0
  264. package/lib/utils/isPureVariable.js +2 -2
  265. package/lib/utils/json-schema-2-amis-schema.js +2 -2
  266. package/lib/utils/keyToPath.js +2 -2
  267. package/lib/utils/labelToString.d.ts +1 -0
  268. package/lib/utils/labelToString.js +46 -0
  269. package/lib/utils/makeSorter.js +2 -2
  270. package/lib/utils/math.js +2 -2
  271. package/lib/utils/memoryParse.js +2 -2
  272. package/lib/utils/normalizeLink.js +2 -2
  273. package/lib/utils/normalizeOptions.js +2 -2
  274. package/lib/utils/object.js +2 -2
  275. package/lib/utils/offset.js +2 -2
  276. package/lib/utils/offsetParent.js +2 -2
  277. package/lib/utils/optionValueCompare.js +2 -2
  278. package/lib/utils/position.js +2 -2
  279. package/lib/utils/prettyBytes.js +2 -2
  280. package/lib/utils/printElement.d.ts +6 -0
  281. package/lib/utils/printElement.js +75 -0
  282. package/lib/utils/renderer-event.js +2 -2
  283. package/lib/utils/replaceText.js +9 -15
  284. package/lib/utils/resize-sensor.js +2 -2
  285. package/lib/utils/resolveCondition.js +2 -2
  286. package/lib/utils/resolveVariable.js +2 -2
  287. package/lib/utils/resolveVariableAndFilter.js +2 -2
  288. package/lib/utils/resolveVariableAndFilterForAsync.js +2 -2
  289. package/lib/utils/scrollPosition.js +2 -2
  290. package/lib/utils/string2regExp.d.ts +1 -1
  291. package/lib/utils/string2regExp.js +5 -4
  292. package/lib/utils/stripNumber.js +2 -2
  293. package/lib/utils/style-helper.d.ts +24 -5
  294. package/lib/utils/style-helper.js +47 -17
  295. package/lib/utils/style.js +2 -2
  296. package/lib/utils/toNumber.js +2 -2
  297. package/lib/utils/tokenize.d.ts +1 -0
  298. package/lib/utils/tokenize.js +11 -3
  299. package/lib/utils/tpl-builtin.js +2 -2
  300. package/lib/utils/tpl-lodash.js +2 -2
  301. package/lib/utils/tpl.js +6 -8
  302. package/lib/utils/uncontrollable.js +2 -2
  303. package/lib/utils/validateId.d.ts +16 -0
  304. package/lib/utils/validateId.js +160 -0
  305. package/lib/utils/validations.js +17 -9
  306. package/package.json +4 -9
  307. package/LICENSE +0 -201
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { __extends, __assign, __spreadArray, __read, __awaiter, __generator } from 'tslib';
@@ -15,7 +15,7 @@ import isNumber from 'lodash/isNumber';
15
15
  import isString from 'lodash/isString';
16
16
  import qs from 'qs';
17
17
  import { compile } from 'path-to-regexp';
18
- import { evalExpression } from './tpl.js';
18
+ import { evalExpression, filter } from './tpl.js';
19
19
  import { autobindMethod } from './autobind.js';
20
20
  import 'amis-formula';
21
21
  import 'moment';
@@ -164,10 +164,11 @@ function rmUndefined(obj) {
164
164
  });
165
165
  return newObj;
166
166
  }
167
- function isObjectShallowModified(prev, next, strictModeOrFunc, ignoreUndefined, stack) {
167
+ function isObjectShallowModified(prev, next, strictModeOrFunc, ignoreUndefined, stack, maxDepth) {
168
168
  if (strictModeOrFunc === void 0) { strictModeOrFunc = true; }
169
169
  if (ignoreUndefined === void 0) { ignoreUndefined = false; }
170
170
  if (stack === void 0) { stack = []; }
171
+ if (maxDepth === void 0) { maxDepth = -1; }
171
172
  if (Array.isArray(prev) && Array.isArray(next)) {
172
173
  return prev.length !== next.length
173
174
  ? true
@@ -206,6 +207,9 @@ function isObjectShallowModified(prev, next, strictModeOrFunc, ignoreUndefined,
206
207
  return false;
207
208
  }
208
209
  stack.push(prev);
210
+ if (maxDepth > 0 && stack.length > maxDepth) {
211
+ return true;
212
+ }
209
213
  for (var i = keys.length - 1; i >= 0; i--) {
210
214
  var key = keys[i];
211
215
  if (isObjectShallowModified(prev[key], next[key], strictModeOrFunc, ignoreUndefined, stack)) {
@@ -223,10 +227,8 @@ function isArrayChildrenModified(prev, next, strictMode) {
223
227
  return true;
224
228
  }
225
229
  for (var i = prev.length - 1; i >= 0; i--) {
226
- if (strictMode
227
- ? prev[i] !== next[i]
228
- : prev[i] != next[i] ||
229
- isArrayChildrenModified(prev[i].children, next[i].children, strictMode)) {
230
+ if ((strictMode ? prev[i] !== next[i] : prev[i] != next[i]) ||
231
+ isArrayChildrenModified(prev[i].children, next[i].children, strictMode)) {
230
232
  return true;
231
233
  }
232
234
  }
@@ -1325,7 +1327,7 @@ function isClickOnInput(e) {
1325
1327
  var formItem;
1326
1328
  return !!(!e.currentTarget.contains(target) ||
1327
1329
  ~['INPUT', 'TEXTAREA'].indexOf(target.tagName) ||
1328
- ((formItem = target.closest("button, a, [data-role=\"form-item\"], label[data-role=\"checkbox\"]")) &&
1330
+ ((formItem = target.closest("button, a, [data-role=\"form-item\"], label[data-role=\"checkbox\"], label[data-role=\"switch\"]")) &&
1329
1331
  e.currentTarget.contains(formItem)));
1330
1332
  }
1331
1333
  // 计算字符串 hash
@@ -1610,5 +1612,21 @@ function replaceUrlParams(path, params) {
1610
1612
  }
1611
1613
  return path;
1612
1614
  }
1615
+ var TEST_ID_KEY = 'data-testid';
1616
+ function buildTestId(testid, data) {
1617
+ var _a;
1618
+ if (!testid) {
1619
+ return {};
1620
+ }
1621
+ return _a = {},
1622
+ _a[TEST_ID_KEY] = filter(testid, data),
1623
+ _a;
1624
+ }
1625
+ function getTestId(testid, data) {
1626
+ if (!testid) {
1627
+ return undefined;
1628
+ }
1629
+ return buildTestId(testid, data)[TEST_ID_KEY];
1630
+ }
1613
1631
 
1614
- export { JSONTraverse, JSONValueMap, SkipOperation, ValidateError, __uri, anyChanged, autobind, buildTrackExpression, bulkBindFunctions, camel, chainEvents, chainFunctions, changedEffect, convertArrayValueToMoment, countTree, detectPropValueChanged, difference, differenceFromAll, eachTree, evalTrackExpression, everyTree, filterTree, findIndex, findObjectsWithKey, findTree, findTreeAll, findTreeIndex, flattenTree, flattenTreeWithLeafNodes, getLevelFromClassName, getPropValue, getRange, getScrollParent, getScrollbarWidth, getTree, getTreeAncestors, getTreeDepth, getTreeParent, getWidthRate, guid, hasAbility, hasFile, hasOwnPropertyInPath, hasVisibleExpression, hashCode, immutableExtends, importLazyComponent, injectPropsToObject, isArrayChildrenModified, isBreakpoint, isClickOnInput, isDisabled, isEmpty, isMobile, isNumeric, isObjectShallowModified, isSuperDataModified, isUnfolded, isVisible, lcFirst, loadScript, loadStyle, makeColumnClassBuild, makeHorizontalDeeper, mapObject, mapTree, noop, normalizeNodePath, object2formData, omitControls, padArr, parsePrimitiveQueryString, parseQuery, pickEventsProps, preventDefault, promisify, qsparse, qsstringify, range, removeHTMLTag, repeatCount, replaceUrlParams, rmUndefined, someTree, sortArray, spliceTree, syncDataFromSuper, ucFirst, until, uuid, uuidv4, visibilityFilter };
1632
+ export { JSONTraverse, JSONValueMap, SkipOperation, TEST_ID_KEY, ValidateError, __uri, anyChanged, autobind, buildTestId, buildTrackExpression, bulkBindFunctions, camel, chainEvents, chainFunctions, changedEffect, convertArrayValueToMoment, countTree, detectPropValueChanged, difference, differenceFromAll, eachTree, evalTrackExpression, everyTree, filterTree, findIndex, findObjectsWithKey, findTree, findTreeAll, findTreeIndex, flattenTree, flattenTreeWithLeafNodes, getLevelFromClassName, getPropValue, getRange, getScrollParent, getScrollbarWidth, getTestId, getTree, getTreeAncestors, getTreeDepth, getTreeParent, getWidthRate, guid, hasAbility, hasFile, hasOwnPropertyInPath, hasVisibleExpression, hashCode, immutableExtends, importLazyComponent, injectPropsToObject, isArrayChildrenModified, isBreakpoint, isClickOnInput, isDisabled, isEmpty, isMobile, isNumeric, isObjectShallowModified, isSuperDataModified, isUnfolded, isVisible, lcFirst, loadScript, loadStyle, makeColumnClassBuild, makeHorizontalDeeper, mapObject, mapTree, noop, normalizeNodePath, object2formData, omitControls, padArr, parsePrimitiveQueryString, parseQuery, pickEventsProps, preventDefault, promisify, qsparse, qsstringify, range, removeHTMLTag, repeatCount, replaceUrlParams, rmUndefined, someTree, sortArray, spliceTree, syncDataFromSuper, ucFirst, until, uuid, uuidv4, visibilityFilter };
@@ -1,9 +1,10 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import React from 'react';
7
+ import { string2regExp } from './string2regExp.js';
7
8
 
8
9
  function highlight(text, input, hlClassName) {
9
10
  if (hlClassName === void 0) { hlClassName = 'is-matched'; }
@@ -11,7 +12,7 @@ function highlight(text, input, hlClassName) {
11
12
  return text;
12
13
  }
13
14
  text = String(text);
14
- var reg = new RegExp(input.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&'), 'ig');
15
+ var reg = string2regExp(input, false, true);
15
16
  if (!reg.test(text)) {
16
17
  return text;
17
18
  }
package/esm/utils/icon.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import React from 'react';
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import memoize from 'lodash/memoize';
@@ -27,6 +27,7 @@ export * from './image';
27
27
  export * from './isPureVariable';
28
28
  export * from './json-schema-2-amis-schema';
29
29
  export * from './keyToPath';
30
+ export * from './labelToString';
30
31
  export * from './makeSorter';
31
32
  export * from './normalizeLink';
32
33
  export * from './normalizeOptions';
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { memoryParse } from './memoryParse.js';
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { __assign } from 'tslib';
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  /**
@@ -0,0 +1 @@
1
+ export declare function labelToString(label: any): string;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
+ */
5
+
6
+ import { __values } from 'tslib';
7
+ import isPlainObject from 'lodash/isPlainObject';
8
+
9
+ function labelToString(label) {
10
+ var e_1, _a;
11
+ var type = typeof label;
12
+ if (type === 'string') {
13
+ return label;
14
+ }
15
+ else if (type === 'number') {
16
+ return "".concat(label);
17
+ }
18
+ if (isPlainObject(label)) {
19
+ try {
20
+ for (var _b = __values(['__title', 'label', Object.keys(label)[0]]), _c = _b.next(); !_c.done; _c = _b.next()) {
21
+ var key = _c.value;
22
+ if (typeof label[key] === 'string') {
23
+ return label[key];
24
+ }
25
+ }
26
+ }
27
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
28
+ finally {
29
+ try {
30
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
31
+ }
32
+ finally { if (e_1) throw e_1.error; }
33
+ }
34
+ }
35
+ return 'invalid label';
36
+ }
37
+
38
+ export { labelToString };
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { resolveVariable } from './resolveVariable.js';
package/esm/utils/math.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  function safeAdd(arg1, arg2) {
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { parse } from 'amis-formula';
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  var normalizeLink = function (to, location) {
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { __assign } from 'tslib';
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { __assign } from 'tslib';
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  /**
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  /**
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import './helper.js';
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { __assign } from 'tslib';
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  var UNITS = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 打印元素,参考 https://github.com/szepeshazi/print-elements 里的实现
3
+ * 原理就是遍历节点加上打印样式,然后打印完了再清理掉
4
+ * 对代码做了改造和优化
5
+ */
6
+ export declare function printElements(elements: Element[]): void;
@@ -0,0 +1,71 @@
1
+ /**
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
+ */
5
+
6
+ /**
7
+ * 打印元素,参考 https://github.com/szepeshazi/print-elements 里的实现
8
+ * 原理就是遍历节点加上打印样式,然后打印完了再清理掉
9
+ * 对代码做了改造和优化
10
+ */
11
+ var hideFromPrintClass = 'pe-no-print';
12
+ var preservePrintClass = 'pe-preserve-print';
13
+ var preserveAncestorClass = 'pe-preserve-ancestor';
14
+ var bodyElementName = 'BODY';
15
+ function hide(element) {
16
+ if (!element.classList.contains(preservePrintClass)) {
17
+ element.classList.add(hideFromPrintClass);
18
+ }
19
+ }
20
+ function preserve(element, isStartingElement) {
21
+ element.classList.remove(hideFromPrintClass);
22
+ element.classList.add(preservePrintClass);
23
+ if (!isStartingElement) {
24
+ element.classList.add(preserveAncestorClass);
25
+ }
26
+ }
27
+ function clean(element) {
28
+ element.classList.remove(hideFromPrintClass);
29
+ element.classList.remove(preservePrintClass);
30
+ element.classList.remove(preserveAncestorClass);
31
+ }
32
+ function walkSiblings(element, callback) {
33
+ var sibling = element.previousElementSibling;
34
+ while (sibling) {
35
+ callback(sibling);
36
+ sibling = sibling.previousElementSibling;
37
+ }
38
+ sibling = element.nextElementSibling;
39
+ while (sibling) {
40
+ callback(sibling);
41
+ sibling = sibling.nextElementSibling;
42
+ }
43
+ }
44
+ function attachPrintClasses(element, isStartingElement) {
45
+ preserve(element, isStartingElement);
46
+ walkSiblings(element, hide);
47
+ }
48
+ function cleanup(element, isStartingElement) {
49
+ clean(element);
50
+ walkSiblings(element, clean);
51
+ }
52
+ function walkTree(element, callback) {
53
+ var currentElement = element;
54
+ callback(currentElement, true);
55
+ currentElement = currentElement.parentElement;
56
+ while (currentElement && currentElement.nodeName !== bodyElementName) {
57
+ callback(currentElement, false);
58
+ currentElement = currentElement.parentElement;
59
+ }
60
+ }
61
+ function printElements(elements) {
62
+ for (var i = 0; i < elements.length; i++) {
63
+ walkTree(elements[i], attachPrintClasses);
64
+ }
65
+ window.print();
66
+ for (var i = 0; i < elements.length; i++) {
67
+ walkTree(elements[i], cleanup);
68
+ }
69
+ }
70
+
71
+ export { printElements };
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { __values, __awaiter, __generator, __assign } from 'tslib';
@@ -1,18 +1,19 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { __values } from 'tslib';
7
- import cloneDeep from 'lodash/cloneDeep';
8
- import { JSONTraverse } from './helper.js';
7
+ import { JSONValueMap } from './helper.js';
9
8
  import { isObject } from './object.js';
10
9
 
11
10
  function replaceText(schema, replaceText, replaceTextIgnoreKeys) {
12
11
  // 进行文本替换
13
12
  if (replaceText && isObject(replaceText)) {
14
- var replicaSchema = cloneDeep(schema);
15
13
  var replaceKeys_1 = Object.keys(replaceText);
14
+ if (!replaceKeys_1.length) {
15
+ return schema;
16
+ }
16
17
  replaceKeys_1.sort(function (a, b) { return b.length - a.length; }); // 避免用户将短的放前面
17
18
  var IgnoreKeys_1 = new Set(Array.isArray(replaceTextIgnoreKeys) ? replaceTextIgnoreKeys : []);
18
19
  var ignore_1 = typeof replaceTextIgnoreKeys === 'function'
@@ -20,17 +21,14 @@ function replaceText(schema, replaceText, replaceTextIgnoreKeys) {
20
21
  : function (key) {
21
22
  return IgnoreKeys_1.has(key);
22
23
  };
23
- JSONTraverse(replicaSchema, function (value, key, object) {
24
+ return JSONValueMap(schema, function (value, key, object) {
24
25
  var e_1, _a;
25
- var descriptor = Object.getOwnPropertyDescriptor(object, key);
26
- if (typeof value === 'string' &&
27
- (descriptor === null || descriptor === void 0 ? void 0 : descriptor.writable) &&
28
- !ignore_1(key, value, object)) {
26
+ if (typeof value === 'string' && !ignore_1(key, value, object)) {
29
27
  try {
30
28
  for (var replaceKeys_2 = __values(replaceKeys_1), replaceKeys_2_1 = replaceKeys_2.next(); !replaceKeys_2_1.done; replaceKeys_2_1 = replaceKeys_2.next()) {
31
29
  var replaceKey = replaceKeys_2_1.value;
32
30
  if (~value.indexOf(replaceKey)) {
33
- value = object[key] = value.replaceAll(replaceKey, replaceText[replaceKey]);
31
+ return value.replaceAll(replaceKey, replaceText[replaceKey]);
34
32
  }
35
33
  }
36
34
  }
@@ -42,8 +40,8 @@ function replaceText(schema, replaceText, replaceTextIgnoreKeys) {
42
40
  finally { if (e_1) throw e_1.error; }
43
41
  }
44
42
  }
43
+ return value;
45
44
  });
46
- return replicaSchema;
47
45
  }
48
46
  return schema;
49
47
  }
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  /**
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { __awaiter, __generator, __read } from 'tslib';
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { Evaluator } from 'amis-formula';
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { parse, Evaluator } from 'amis-formula';
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { __awaiter, __generator } from 'tslib';
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { position } from './position.js';
@@ -1 +1 @@
1
- export declare function string2regExp(value: string, caseSensitive?: boolean): RegExp;
1
+ export declare function string2regExp(value: string, caseSensitive?: boolean, globalSearch?: boolean): RegExp;
@@ -1,14 +1,15 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
- function string2regExp(value, caseSensitive) {
6
+ function string2regExp(value, caseSensitive, globalSearch) {
7
7
  if (caseSensitive === void 0) { caseSensitive = false; }
8
+ if (globalSearch === void 0) { globalSearch = false; }
8
9
  if (typeof value !== 'string') {
9
10
  throw new TypeError('Expected a string');
10
11
  }
11
- return new RegExp(value.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&').replace(/-/g, '\\x2d'), !caseSensitive ? 'i' : '');
12
+ return new RegExp(value.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&').replace(/-/g, '\\x2d'), "".concat(!caseSensitive ? 'i' : '').concat(globalSearch ? 'g' : ''));
12
13
  }
13
14
 
14
15
  export { string2regExp };
@@ -1,6 +1,6 @@
1
1
  /**
2
- * amis-core v6.0.0
3
- * Copyright 2018-2023 fex
2
+ * amis-core v6.2.0
3
+ * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  // 主要用于解决 0.1+0.2 结果的精度问题导致太长
@@ -10,7 +10,7 @@ interface extra {
10
10
  export declare function findOrCreateStyle(id: string, doc?: Document): HTMLElement;
11
11
  export declare function insertStyle(style: string, id: string, doc?: Document): void;
12
12
  export declare function addStyle(style: string, id: string): void;
13
- export declare function formatStyle(themeCss: any, classNames?: CustomStyleClassName[], id?: string, defaultData?: any): {
13
+ export declare function formatStyle(themeCss: any, classNames?: CustomStyleClassName[], id?: string, defaultData?: any, data?: any): {
14
14
  value: string;
15
15
  origin: {
16
16
  className: string;
@@ -26,7 +26,15 @@ export interface CustomStyleClassName {
26
26
  disabled?: extra;
27
27
  };
28
28
  }
29
- export declare function insertCustomStyle(themeCss: any, classNames: CustomStyleClassName[], id: string, defaultData?: any, customStyleClassPrefix?: string, doc?: Document): void;
29
+ export declare function insertCustomStyle(prams: {
30
+ themeCss: any;
31
+ classNames: CustomStyleClassName[];
32
+ id: string;
33
+ defaultData?: any;
34
+ customStyleClassPrefix?: string;
35
+ doc?: Document;
36
+ [propName: string]: any;
37
+ }): void;
30
38
  /**
31
39
  * 根据路径获取默认值
32
40
  */
@@ -34,7 +42,12 @@ export declare function getValueByPath(path: string, data: any): any;
34
42
  /**
35
43
  * 设置源码编辑自定义样式
36
44
  */
37
- export declare function insertEditCustomStyle(customStyle: any, id?: string, doc?: Document): void;
45
+ export declare function insertEditCustomStyle(params: {
46
+ customStyle: any;
47
+ id?: string;
48
+ doc?: Document;
49
+ [propName: string]: any;
50
+ }): void;
38
51
  export interface InsertCustomStyle {
39
52
  themeCss: any;
40
53
  classNames: CustomStyleClassName[];
@@ -46,7 +59,13 @@ export interface InsertCustomStyle {
46
59
  /**
47
60
  * 移除自定义样式
48
61
  */
49
- export declare function removeCustomStyle(type: string, id: string, doc?: Document): void;
62
+ export declare function removeCustomStyle(type: string, id: string, doc?: Document, data?: any): void;
50
63
  export declare function formatInputThemeCss(themeCss: any): any;
51
- export declare function setThemeClassName(name: string, id?: string, themeCss?: any, extra?: string): string;
64
+ export declare function setThemeClassName(params: {
65
+ name: string;
66
+ id?: string;
67
+ themeCss: any;
68
+ extra?: string;
69
+ [propName: string]: any;
70
+ }): string;
52
71
  export {};