openyida 2026.9.2-beta.0 → 2026.9.2

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 (75) hide show
  1. package/README.md +4 -5
  2. package/bin/yida.js +1 -7
  3. package/lib/app/canvas-compile.js +7 -0
  4. package/lib/app/create-app.js +142 -9
  5. package/lib/app/create-form.js +6 -22
  6. package/lib/app/custom-theme.js +300 -0
  7. package/lib/app/display-page-readback.js +5 -63
  8. package/lib/app/get-schema.js +5 -158
  9. package/lib/app/publish.js +6 -138
  10. package/lib/app/services/canvas-page-schema-builder.js +226 -21
  11. package/lib/app/services/form-compiler.js +6 -18
  12. package/lib/app/services/native-page-schema-builder.js +5 -5
  13. package/lib/app/theme-presets.js +1 -1
  14. package/lib/app/update-app.js +225 -9
  15. package/lib/core/command-manifest.js +3 -13
  16. package/lib/core/locales/en.js +11 -22
  17. package/lib/core/locales/zh.js +11 -23
  18. package/lib/core/sample.js +4 -0
  19. package/lib/core/utils.js +0 -409
  20. package/lib/samples/openyida-scaffold/canvas-form-drawer.canvas.jsx +411 -0
  21. package/lib/samples/openyida-scaffold/form-fields.json +74 -0
  22. package/lib/samples/yida-canvas-table-form/table-form-batch-submit.canvas.jsx +16 -12
  23. package/lib/samples/yida-density/density-switch-page.js +1 -1
  24. package/lib/samples/yida-rechart/trend-combo.canvas.jsx +3 -3
  25. package/package.json +1 -1
  26. package/scripts/postinstall.js +76 -1
  27. package/yida-skills/SKILL.md +14 -12
  28. package/yida-skills/references/official-example-schema-patterns.md +2 -0
  29. package/yida-skills/references/task-retrospective.md +5 -5
  30. package/yida-skills/references/yida-api.md +10 -10
  31. package/yida-skills/skills/yida-app/SKILL.md +5 -3
  32. package/yida-skills/skills/yida-app/workflow/step-2-design.md +1 -3
  33. package/yida-skills/skills/yida-app/workflow/step-3-create-or-reuse-app.md +5 -4
  34. package/yida-skills/skills/yida-app/workflow/step-4-forms-processes.md +5 -6
  35. package/yida-skills/skills/yida-app/workflow/step-7-page-code.md +8 -3
  36. package/yida-skills/skills/yida-app/workflow/step-9-output-finish.md +3 -3
  37. package/yida-skills/skills/yida-canvas-custom-page/SKILL.md +10 -9
  38. package/yida-skills/skills/yida-canvas-custom-page/references/canvas-authoring-examples.md +1 -1
  39. package/yida-skills/skills/yida-canvas-custom-page/references/canvas-style-implementation-guide.md +28 -71
  40. package/yida-skills/skills/yida-canvas-custom-page/references/data-bridge-guide.md +7 -6
  41. package/yida-skills/skills/yida-canvas-custom-page/references/navigation-and-entry-guide.md +28 -13
  42. package/yida-skills/skills/yida-canvas-custom-page/references/page-generation-guide.md +8 -24
  43. package/yida-skills/skills/yida-canvas-data-binding/SKILL.md +6 -6
  44. package/yida-skills/skills/yida-canvas-table-form/SKILL.md +8 -5
  45. package/yida-skills/skills/yida-connector/examples/operations-search-formdata-v2.json +3 -3
  46. package/yida-skills/skills/yida-connector/examples/operations-search-formdata.json +2 -2
  47. package/yida-skills/skills/yida-create-app/SKILL.md +21 -12
  48. package/yida-skills/skills/yida-create-form-page/SKILL.md +8 -8
  49. package/yida-skills/skills/yida-create-form-page/references/form-field-properties.md +2 -3
  50. package/yida-skills/skills/yida-custom-page/SKILL.md +2 -4
  51. package/yida-skills/skills/yida-custom-page/references/coding-guide.md +6 -6
  52. package/yida-skills/skills/yida-dashboard/SKILL.md +1 -1
  53. package/yida-skills/skills/yida-dashboard/references/interaction-patterns.md +1 -1
  54. package/yida-skills/skills/yida-data-management/SKILL.md +1 -1
  55. package/yida-skills/skills/yida-data-management/references/data-format-guide.md +1 -1
  56. package/yida-skills/skills/yida-design/SKILL.md +5 -4
  57. package/yida-skills/skills/yida-design/references/page-quality-gates.md +3 -3
  58. package/yida-skills/skills/yida-design/references/style-design-selection.md +5 -5
  59. package/yida-skills/skills/yida-design/references/theme/app-custom-theme-template.css +672 -0
  60. package/yida-skills/skills/yida-design/references/theme/theme-token-presets.md +3 -3
  61. package/yida-skills/skills/yida-design/references/visual-decision-engine.md +1 -1
  62. package/yida-skills/skills/yida-design/sub_skill/page-design/SKILL.md +14 -14
  63. package/yida-skills/skills/yida-design/workflow/output-design.md +31 -44
  64. package/yida-skills/skills/yida-design/workflow/output-prd.md +9 -9
  65. package/yida-skills/skills/yida-design/workflow/step-2-theme-system.md +21 -21
  66. package/yida-skills/skills/yida-design/workflow/step-5-visual-states.md +1 -1
  67. package/yida-skills/skills/yida-design/workflow/step-6-handoff.md +3 -3
  68. package/yida-skills/skills/yida-form-detail/SKILL.md +26 -69
  69. package/yida-skills/skills/yida-publish-page/SKILL.md +4 -3
  70. package/yida-skills/skills-index.json +18 -15
  71. package/lib/app/form-detail-style.js +0 -441
  72. package/lib/app/form-theme-action.js +0 -439
  73. package/yida-skills/skills/yida-canvas-custom-page/references/theme-runtime-helpers.md +0 -177
  74. package/yida-skills/skills/yida-form-detail/references/form-detail-css.md +0 -194
  75. package/yida-skills/skills/yida-form-detail/references/injection-guide.md +0 -94
package/README.md CHANGED
@@ -167,11 +167,13 @@ For a user-facing list of supported features and matching CLI commands, see [Ope
167
167
 
168
168
  ```bash
169
169
  openyida create-app "CRM"
170
- openyida create-app --name "CRM" --desc "Customer management" --theme deepBlue
170
+ openyida create-app --name "CRM" --desc "Customer management" --theme-file ./app-theme.css --nav-theme light --logo-source appIcon --layout l_shape
171
171
  openyida app-list --size 20
172
172
  openyida corp-efficiency
173
173
  openyida create-form create APP_XXX "Customer" .cache/openyida/forms/customer-fields.json
174
174
  openyida create-form update APP_XXX FORM_XXX .cache/openyida/forms/customer-changes.json
175
+ openyida sample openyida-scaffold form-fields --output .cache/openyida/forms/customer-fields.json
176
+ openyida sample openyida-scaffold canvas-form-drawer --output project/pages/src/customer-entry.canvas.jsx --var APP_TYPE=APP_XXX --var FORM_UUID=FORM_XXX
175
177
  openyida get-schema APP_XXX FORM_XXX
176
178
  openyida get-schema APP_XXX FORM_XXX --compact --resolve-fields "Customer Name,Status"
177
179
  openyida get-schema APP_XXX --all --output-dir .cache/schemas
@@ -388,7 +390,7 @@ Run `openyida --help` or `openyida <command> --help` for detailed usage.
388
390
  | `openyida app-list [--size N]` | List my Yida apps |
389
391
  | `openyida corp-efficiency [overview\|details\|detail\|groups\|notify] [options] [--open\|--no-open]` | Query enterprise efficiency overview and detail reports |
390
392
  | `openyida create-app "<name>"\|--name <name> [options] [--locale zh_CN\|en_US\|ja_JP] [--open\|--no-open]` | Create a Yida app |
391
- | `openyida update-app <appType> [--name "..."] [--layout slide\|ver] [--theme deepBlue] [--hide-app-nav\|--show-app-nav]` | Update app info |
393
+ | `openyida update-app <appType> [--name "..."] [--theme-file <css>] [--nav-theme light\|dark\|white\|gray] [--logo-source appIcon\|customImage] [--layout side\|top\|l_shape] [--hide-app-nav\|--show-app-nav]` | Update app info |
392
394
  | `openyida app-online <appType> [--to-ding-app-center] [--show-app-center]` | Enable a Yida app |
393
395
  | `openyida app-offline <appType> [--to-ding-app-center] [--show-app-center]` | Disable a Yida app |
394
396
  | `openyida nav-group <list\|create\|rename\|delete\|move\|order\|auto-order\|hide\|show> <appType> ...` | Manage app sidebar navigation groups |
@@ -422,9 +424,6 @@ Run `openyida --help` or `openyida <command> --help` for detailed usage.
422
424
  | `openyida publish <src> <appType> <formUuid> [--health-check] [--force] [--canvas] [--auto-nav-order] [--open\|--no-open]` | Compile and publish custom page |
423
425
  | `openyida update-form-config <appType> ...` | Update form configuration |
424
426
  | `openyida get-form-config <appType> <formUuid> [--json]` | Query form configuration |
425
- | `openyida form-detail-style apply <appType> <formUuid> [--css file\|--preset clean-card] [--json]` | Manage form detail page style |
426
- | `openyida form-detail-style remove <appType> <formUuid> [--json]` | Manage form detail page style |
427
- | `openyida form-detail-style check <appType> <formUuid> [--json]` | Manage form detail page style |
428
427
 
429
428
  ### Data & Permissions
430
429
 
package/bin/yida.js CHANGED
@@ -882,14 +882,8 @@ async function main() {
882
882
  break;
883
883
  }
884
884
 
885
- case 'form-detail-style': {
886
- const { run: runFormDetailStyle } = require('../lib/app/form-detail-style');
887
- await runFormDetailStyle(args);
888
- break;
889
- }
890
-
891
885
  case 'update-app': {
892
- if (args.length < 2) {
886
+ if (args.length < 2 && !hasHelpFlag(args)) {
893
887
  throwCliUsage(t('cli.update_app_usage'), t('cli.update_app_example'));
894
888
  }
895
889
  const { run: runUpdateApp } = require('../lib/app/update-app');
@@ -139,6 +139,13 @@ const BARE_DEPENDENCY_GLOBALS = Object.freeze({
139
139
  const CANVAS_RUNTIME_GLOBAL_IDENTIFIERS = new Set([
140
140
  ...Object.keys(globals.builtin),
141
141
  ...Object.keys(globals.browser),
142
+ // globals follows its package release cadence; keep modern standards that
143
+ // are already available in supported browsers explicit until that list catches up.
144
+ 'URLPattern',
145
+ 'navigation',
146
+ 'cookieStore',
147
+ 'scheduler',
148
+ 'Temporal',
142
149
  'iframeWindow',
143
150
  'parentWindow',
144
151
  ]);
@@ -2,6 +2,7 @@
2
2
  * create-app.js - 宜搭应用创建命令
3
3
  *
4
4
  * 用法:openyida create-app "<appName>" [description] [icon] [iconColor] [colour] [navTheme] [layoutDirection]
5
+ * openyida create-app --name "<appName>" --theme-file ./app-theme.css [--nav-theme light] [--logo-source appIcon] [--layout l_shape]
5
6
  */
6
7
 
7
8
  'use strict';
@@ -20,13 +21,65 @@ const { parseOpenOption, withBrowserHandoff } = require('../core/browser-handoff
20
21
  const { throwCommandError } = require('../core/command-errors');
21
22
  const { assertPresetThemeKey } = require('./theme-presets');
22
23
  const { resolveBuilderAiSource } = require('./builder-ai-source');
24
+ const { normalizeCssColorToHex, readThemeCssFile } = require('./custom-theme');
25
+ const {
26
+ applyCustomThemeUpdate,
27
+ assertLogoSource,
28
+ assertNavTheme,
29
+ normalizeLayoutDirection,
30
+ } = require('./update-app');
23
31
 
24
32
  const DEFAULT_APP_OPTIONS = {
25
- icon: 'xian-yingyong',
26
33
  iconColor: '#0089FF',
27
34
  colour: 'podBlue',
28
35
  };
29
36
 
37
+ // 与 yida-next/src/components/IconSelect/Icon.js 保持一致。
38
+ const APP_ICON_NAMES = Object.freeze([
39
+ 'xian-xinwen',
40
+ 'xian-diqiu',
41
+ 'xian-zhengfu',
42
+ 'xian-qiche',
43
+ 'xian-yingyong',
44
+ 'xian-feiji',
45
+ 'xian-xueshimao',
46
+ 'xian-diannao',
47
+ 'xian-qiye',
48
+ 'xian-gongzuozheng',
49
+ 'xian-danju',
50
+ 'xian-gouwuche',
51
+ 'xian-shichang',
52
+ 'xian-xinyongka',
53
+ 'xian-jingli',
54
+ 'xian-huodong',
55
+ 'xian-falv',
56
+ 'xian-jiangbei',
57
+ 'xian-baogao',
58
+ 'xian-liucheng',
59
+ 'huoche',
60
+ 'chaxun',
61
+ 'shenbao',
62
+ 'daka',
63
+ ]);
64
+ const DEFAULT_CREATE_LAYOUT_DIRECTION = 'l_shape';
65
+
66
+ function selectRandomAppIcon(random = Math.random) {
67
+ const index = Math.min(APP_ICON_NAMES.length - 1, Math.floor(random() * APP_ICON_NAMES.length));
68
+ return APP_ICON_NAMES[Math.max(0, index)];
69
+ }
70
+
71
+ function applyThemeFileCreateDefaults(params, themeFileInfo) {
72
+ if (!params || !params.themeFile || !themeFileInfo) {return params;}
73
+ const iconColor = normalizeCssColorToHex(themeFileInfo.themeColor);
74
+ if (!iconColor) {
75
+ throw new Error(`--color-brand1-6 无法转换为应用图标色: ${themeFileInfo.themeColor}`);
76
+ }
77
+ return {
78
+ ...params,
79
+ iconColor,
80
+ };
81
+ }
82
+
30
83
  const INDUSTRY_APP_DEFAULTS = [
31
84
  {
32
85
  name: 'legal',
@@ -147,7 +200,7 @@ function readOptionValue(args, index, optionName) {
147
200
  return value;
148
201
  }
149
202
 
150
- function parseCreateAppArgs(args) {
203
+ function parseCreateAppArgs(args, random = Math.random) {
151
204
  const params = {
152
205
  appName: null,
153
206
  description: null,
@@ -155,7 +208,9 @@ function parseCreateAppArgs(args) {
155
208
  iconColor: null,
156
209
  colour: null,
157
210
  navTheme: null,
211
+ logoSource: null,
158
212
  layoutDirection: null,
213
+ themeFile: null,
159
214
  locale: null,
160
215
  };
161
216
  const positional = [];
@@ -194,6 +249,16 @@ function parseCreateAppArgs(args) {
194
249
  params.navTheme = readOptionValue(args, index, arg);
195
250
  index++;
196
251
  break;
252
+ case '--logo-source':
253
+ case '--logoSource':
254
+ params.logoSource = readOptionValue(args, index, arg);
255
+ index++;
256
+ break;
257
+ case '--theme-file':
258
+ case '--custom-theme-file':
259
+ params.themeFile = readOptionValue(args, index, arg);
260
+ index++;
261
+ break;
197
262
  case '--layout':
198
263
  case '--layout-direction':
199
264
  case '--layoutDirection':
@@ -224,13 +289,33 @@ function parseCreateAppArgs(args) {
224
289
  params.appName = params.appName || positional[0] || null;
225
290
  params.description = params.description || positional[1] || params.appName;
226
291
 
292
+ const explicitIcon = params.icon || positional[2] || null;
293
+ params.iconWasExplicit = !!explicitIcon;
227
294
  const inferredDefaults = inferAppDefaults(params.appName, params.description);
228
- params.icon = params.icon || positional[2] || inferredDefaults.icon;
295
+ params.icon = explicitIcon || (
296
+ inferredDefaults.industry === 'default'
297
+ ? selectRandomAppIcon(random)
298
+ : inferredDefaults.icon
299
+ );
229
300
  params.iconColor = params.iconColor || positional[3] || inferredDefaults.iconColor;
230
301
  params.colour = params.colour || positional[4] || inferredDefaults.colour;
231
302
  assertPresetThemeKey(params.colour);
232
303
  params.navTheme = params.navTheme || positional[5] || null;
233
- params.layoutDirection = params.layoutDirection || positional[6] || null;
304
+ params.layoutDirection = normalizeLayoutDirection(
305
+ params.layoutDirection || positional[6] || DEFAULT_CREATE_LAYOUT_DIRECTION
306
+ );
307
+ assertNavTheme(params.navTheme);
308
+ assertLogoSource(params.logoSource);
309
+ if (params.logoSource && !params.themeFile) {
310
+ throw new Error('--logo-source must be used with --theme-file so the navigation theme is saved atomically');
311
+ }
312
+ if (params.themeFile) {
313
+ params.navTheme = params.navTheme || 'light';
314
+ params.logoSource = params.logoSource || 'appIcon';
315
+ if (params.logoSource !== 'appIcon') {
316
+ throw new Error('create-app only supports --logo-source appIcon because a new app has no homepageLogo image yet');
317
+ }
318
+ }
234
319
  params.industry = inferredDefaults.industry;
235
320
 
236
321
  return params;
@@ -269,10 +354,10 @@ function buildCreateAppPayload(params, auth, contentLocale, openExclusive, openP
269
354
  openPhysicColumn,
270
355
  openIsolationDatabase: 'n',
271
356
  openExclusiveUnit: 'n',
272
- createWithModernTheme: 'y',
273
357
  group: 'ALL',
274
358
  fromBuilderAi: 'y',
275
359
  builderAiSource: resolveBuilderAiSource(),
360
+ createWithModernTheme: 'y',
276
361
  };
277
362
  if (navTheme) {
278
363
  payload.navTheme = navTheme;
@@ -305,7 +390,13 @@ async function run(args) {
305
390
  chalkError(t('create_app.usage'), { hint: t('create_app.example') });
306
391
  }
307
392
 
308
- const { appName, description, icon, iconColor, colour, navTheme, layoutDirection } = params;
393
+ // 在远端创建应用前先完成本地主题校验,避免 CSS 缺失或 token 非法时留下半成品应用。
394
+ if (params.themeFile) {
395
+ const themeFileInfo = readThemeCssFile(params.themeFile);
396
+ Object.assign(params, applyThemeFileCreateDefaults(params, themeFileInfo));
397
+ }
398
+
399
+ const { appName, description, icon, iconColor, colour, navTheme, logoSource, layoutDirection, themeFile } = params;
309
400
 
310
401
  const { c, banner, step, label, success: chalkSuccess, result: chalkResult } = require('../core/chalk');
311
402
 
@@ -313,7 +404,7 @@ async function run(args) {
313
404
  label('Name', appName);
314
405
  label('Desc', description);
315
406
  label('Icon', `${icon} ${c.dim}(${iconColor})${c.reset}`);
316
- label('Theme', `${colour} / ${navTheme || 'default'} / ${layoutDirection || 'default'}`);
407
+ label('Theme', `${themeFile || colour} / ${navTheme || 'default'} / ${logoSource || 'default'} / ${layoutDirection || 'default'}`);
317
408
 
318
409
  // Step 1: 读取登录态
319
410
  step(1, t('common.step_login', 1));
@@ -356,6 +447,29 @@ async function run(args) {
356
447
  const appUrl = `${authRef.baseUrl}/${appType}/workbench`;
357
448
  const corpId = authRef.corpId || (authRef.authData && authRef.authData.corp_id) || '';
358
449
 
450
+ if (themeFile) {
451
+ step(3, t('update_app.step_update'));
452
+ const themeResponse = await applyCustomThemeUpdate(appType, {
453
+ themeFile,
454
+ navTheme,
455
+ logoSource,
456
+ layoutDirection,
457
+ }, authRef);
458
+ if (!themeResponse || !themeResponse.success) {
459
+ const errorMsg = themeResponse
460
+ ? themeResponse.errorMsg || t('common.unknown_error')
461
+ : t('common.request_failed');
462
+ console.log(JSON.stringify({
463
+ success: false,
464
+ appCreated: true,
465
+ appType,
466
+ themeApplied: false,
467
+ error: errorMsg,
468
+ }));
469
+ throwCommandError(t('create_app.failed', errorMsg));
470
+ }
471
+ }
472
+
359
473
  chalkResult(true, t('create_app.success'), [
360
474
  ['appType', appType],
361
475
  ['Corp ID', corpId || t('common.unknown_error')],
@@ -366,7 +480,17 @@ async function run(args) {
366
480
  if (prdFile) {updatePrdCorpId(prdFile, corpId, appType, authRef.baseUrl);}
367
481
 
368
482
  console.log(JSON.stringify(withBrowserHandoff(
369
- { success: true, appType, appName, corpId, url: appUrl },
483
+ {
484
+ success: true,
485
+ appType,
486
+ appName,
487
+ corpId,
488
+ url: appUrl,
489
+ themeFile: themeFile || undefined,
490
+ navTheme: themeFile ? navTheme : undefined,
491
+ logoSource: themeFile ? logoSource : undefined,
492
+ layoutDirection,
493
+ },
370
494
  appUrl,
371
495
  { stage: 'create_app_success', title: appName },
372
496
  openOption.mode
@@ -379,4 +503,13 @@ async function run(args) {
379
503
  }
380
504
  }
381
505
 
382
- module.exports = { run, parseCreateAppArgs, inferAppDefaults, buildCreateAppPayload };
506
+ module.exports = {
507
+ APP_ICON_NAMES,
508
+ DEFAULT_CREATE_LAYOUT_DIRECTION,
509
+ run,
510
+ parseCreateAppArgs,
511
+ inferAppDefaults,
512
+ selectRandomAppIcon,
513
+ applyThemeFileCreateDefaults,
514
+ buildCreateAppPayload,
515
+ };
@@ -83,7 +83,6 @@ const { createDefinitionReaders } = require('./create-form/definition-reader');
83
83
  const { dispatchCreateFormCommand } = require('./create-form/commands');
84
84
  const { buildApiPath } = require('./create-form/api-path');
85
85
  const { deepMerge, splitJsonPointer } = require('./create-form/schema-patch');
86
- const { ensureYidaGlobalThemeAction } = require('./form-theme-action');
87
86
  const {
88
87
  actionRefName,
89
88
  buildDesignerEventBinding,
@@ -94,10 +93,6 @@ const {
94
93
  const { FORM_RULES_BLOCK_END, FORM_RULES_BLOCK_START } = require('./create-form/rule-builder');
95
94
  const { SMART_VALIDATION_BLOCK_END, SMART_VALIDATION_BLOCK_START } = require('./create-form/validation-builder');
96
95
  const { createFieldNormalizers } = require('./create-form/field-normalizers');
97
- const {
98
- readCss: readFormDetailCss,
99
- upsertFormDetailCss,
100
- } = require('./form-detail-style');
101
96
  const {
102
97
  validateFormFieldDefinitions: collectFormFieldValidationDiagnostics,
103
98
  } = require('./form-field-validator');
@@ -110,7 +105,6 @@ function parseOpenOption(inputArgs) {
110
105
  // ── 选项类字段类型 ───────────────────────────────────
111
106
  const OPTION_FIELD_TYPES = ['RadioField', 'SelectField', 'CheckboxField', 'MultiSelectField'];
112
107
  const FIELD_RESOLUTION_CANDIDATE_LIMIT = 8;
113
- const DEFAULT_FORM_DETAIL_STYLE_PRESET = 'clean-card';
114
108
 
115
109
  function throwCreateFormError(message, code, details) {
116
110
  throw createCreateFormError(message, code, details);
@@ -1323,16 +1317,11 @@ function buildComponentsMap(componentNames) {
1323
1317
  return componentNames.map(function (name) {
1324
1318
  return {
1325
1319
  package: '@ali/vc-deep-yida',
1326
- version: '1.5.169',
1327
1320
  componentName: name,
1328
1321
  };
1329
1322
  });
1330
1323
  }
1331
1324
 
1332
- function applyDefaultFormDetailStyle(schema) {
1333
- return upsertFormDetailCss(schema, readFormDetailCss({ preset: DEFAULT_FORM_DETAIL_STYLE_PRESET }));
1334
- }
1335
-
1336
1325
  function buildComponentAliasItems(components) {
1337
1326
  const items = [];
1338
1327
  const usedAliases = Object.create(null);
@@ -1888,7 +1877,6 @@ function buildFormSchema(formTitle, fields, formUuid, corpId, appType, layout, t
1888
1877
  connectComponent: [],
1889
1878
  },
1890
1879
  };
1891
- applyDefaultFormDetailStyle(schema);
1892
1880
  return schema;
1893
1881
  }
1894
1882
 
@@ -2007,12 +1995,12 @@ function buildEmptyFormSchema() {
2007
1995
  },
2008
1996
  ],
2009
1997
  componentsMap: [
2010
- { package: '@ali/vc-deep-yida', version: '1.5.169', componentName: 'RootHeader' },
2011
- { package: '@ali/vc-deep-yida', version: '1.5.169', componentName: 'FormContainer' },
2012
- { package: '@ali/vc-deep-yida', version: '1.5.169', componentName: 'RootContent' },
2013
- { package: '@ali/vc-deep-yida', version: '1.5.169', componentName: 'FooterYida' },
2014
- { package: '@ali/vc-deep-yida', version: '1.5.169', componentName: 'RootFooter' },
2015
- { package: '@ali/vc-deep-yida', version: '1.5.169', componentName: 'Page' },
1998
+ { package: '@ali/vc-deep-yida', componentName: 'RootHeader' },
1999
+ { package: '@ali/vc-deep-yida', componentName: 'FormContainer' },
2000
+ { package: '@ali/vc-deep-yida', componentName: 'RootContent' },
2001
+ { package: '@ali/vc-deep-yida', componentName: 'FooterYida' },
2002
+ { package: '@ali/vc-deep-yida', componentName: 'RootFooter' },
2003
+ { package: '@ali/vc-deep-yida', componentName: 'Page' },
2016
2004
  ],
2017
2005
  },
2018
2006
  ],
@@ -4468,7 +4456,6 @@ function ensureComponentsMap(schema, componentName) {
4468
4456
  if (existingNames.indexOf(componentName) === -1) {
4469
4457
  pageSchema.componentsMap.push({
4470
4458
  package: '@ali/vc-deep-yida',
4471
- version: '1.5.169',
4472
4459
  componentName: componentName,
4473
4460
  });
4474
4461
  }
@@ -4797,7 +4784,6 @@ async function saveFormSchema(authRef, appType, formUuid, schema, version, stepO
4797
4784
  if (fixedRefs > 0) {
4798
4785
  info(t('create_form.formula_prefix_fixed', fixedRefs));
4799
4786
  }
4800
- applyDefaultFormDetailStyle(schema);
4801
4787
  assertNoEmojiInValue(schema, {
4802
4788
  artifact: 'Yida form schema ' + formUuid,
4803
4789
  code: 'OPENYIDA_FORM_SCHEMA_EMOJI_FORBIDDEN',
@@ -6072,8 +6058,6 @@ module.exports = {
6072
6058
  normalizeFormDefinitionType,
6073
6059
  validateFormFieldDefinitions,
6074
6060
  collectFormFieldValidationDiagnostics,
6075
- ensureYidaGlobalThemeAction,
6076
- applyDefaultFormDetailStyle,
6077
6061
  applyChangesToSchema,
6078
6062
  applyFormRules,
6079
6063
  applySchemaPatchOperations,