@voplus/morpho-csp 11.2.6 → 11.2.7

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 (95) hide show
  1. package/es/modules/self-registration/clda-form/components/BVICompanyInfo/index.css +3 -3
  2. package/es/modules/self-registration/clda-form/components/BVICompanyInfo/index.js +32 -34
  3. package/es/modules/self-registration/clda-form/components/BVICompanyInfo/index.js.map +1 -1
  4. package/es/modules/self-registration/clda-form/components/CLDAContactList/index.css +298 -61
  5. package/es/modules/self-registration/clda-form/components/CLDAContactList/index.d.ts +8 -2
  6. package/es/modules/self-registration/clda-form/components/CLDAContactList/index.js +84 -89
  7. package/es/modules/self-registration/clda-form/components/CLDAContactList/index.js.map +1 -1
  8. package/es/modules/self-registration/clda-form/components/ChiefExecutiveOfficerList/index.js +8 -3
  9. package/es/modules/self-registration/clda-form/components/ChiefExecutiveOfficerList/index.js.map +1 -1
  10. package/es/modules/self-registration/clda-form/components/CompanyInfo/index.css +190 -11
  11. package/es/modules/self-registration/clda-form/components/CompanyInfo/index.js +29 -27
  12. package/es/modules/self-registration/clda-form/components/CompanyInfo/index.js.map +1 -1
  13. package/es/modules/self-registration/clda-form/components/ContactFields/index.d.ts +107 -0
  14. package/es/modules/self-registration/clda-form/components/ContactFields/index.js +80 -0
  15. package/es/modules/self-registration/clda-form/components/ContactFields/index.js.map +1 -0
  16. package/es/modules/self-registration/clda-form/components/DataProtectionOfficer/index.js +14 -4
  17. package/es/modules/self-registration/clda-form/components/DataProtectionOfficer/index.js.map +1 -1
  18. package/es/modules/self-registration/clda-form/components/InternalUse/index.js +7 -9
  19. package/es/modules/self-registration/clda-form/components/InternalUse/index.js.map +1 -1
  20. package/es/modules/self-registration/clda-form/components/MemberInfo/index.d.ts +13 -5
  21. package/es/modules/self-registration/clda-form/components/MemberInfo/index.js +10 -147
  22. package/es/modules/self-registration/clda-form/components/MemberInfo/index.js.map +1 -1
  23. package/es/modules/self-registration/clda-form/components/OfficerList/index.d.ts +3 -0
  24. package/es/modules/self-registration/clda-form/components/OfficerList/index.js +38 -18
  25. package/es/modules/self-registration/clda-form/components/OfficerList/index.js.map +1 -1
  26. package/es/modules/self-registration/clda-form/components/SecretaryList/index.js +5 -2
  27. package/es/modules/self-registration/clda-form/components/SecretaryList/index.js.map +1 -1
  28. package/es/modules/self-registration/clda-form/components/ShareCapital/index.css +123 -9
  29. package/es/modules/self-registration/clda-form/components/ShareCapital/index.js +70 -72
  30. package/es/modules/self-registration/clda-form/components/ShareCapital/index.js.map +1 -1
  31. package/es/modules/self-registration/clda-form/components/ShareholderList/index.d.ts +3 -0
  32. package/es/modules/self-registration/clda-form/components/ShareholderList/index.js +43 -28
  33. package/es/modules/self-registration/clda-form/components/ShareholderList/index.js.map +1 -1
  34. package/es/modules/self-registration/clda-form/incorporation/agm/index.css +26 -39
  35. package/es/modules/self-registration/clda-form/incorporation/agm/index.js +7 -7
  36. package/es/modules/self-registration/clda-form/incorporation/agm/index.js.map +1 -1
  37. package/es/modules/self-registration/clda-form/incorporation/appoint-representative/components/NewOfficerDetailItem/index.js +31 -44
  38. package/es/modules/self-registration/clda-form/incorporation/appoint-representative/components/NewOfficerDetailItem/index.js.map +1 -1
  39. package/es/modules/self-registration/clda-form/incorporation/appoint-representative/index.css +3 -165
  40. package/es/modules/self-registration/clda-form/incorporation/appoint-representative/index.js +1 -1
  41. package/es/modules/self-registration/clda-form/incorporation/appoint-representative/index.js.map +1 -1
  42. package/es/modules/self-registration/clda-form/incorporation/bvi/index.css +0 -41
  43. package/es/modules/self-registration/clda-form/incorporation/bvi/index.js +3 -3
  44. package/es/modules/self-registration/clda-form/incorporation/bvi/index.js.map +1 -1
  45. package/es/modules/self-registration/clda-form/incorporation/company-general/CompanyGeneralForm.js +8 -8
  46. package/es/modules/self-registration/clda-form/incorporation/company-general/CompanyGeneralForm.js.map +1 -1
  47. package/es/modules/self-registration/clda-form/incorporation/company-general/components/AllotmentItem/index.css +2 -37
  48. package/es/modules/self-registration/clda-form/incorporation/company-general/components/AllotmentItem/index.js +3 -3
  49. package/es/modules/self-registration/clda-form/incorporation/company-general/components/AllotmentItem/index.js.map +1 -1
  50. package/es/modules/self-registration/clda-form/incorporation/company-general/components/BankOpeningContactItem/index.css +0 -31
  51. package/es/modules/self-registration/clda-form/incorporation/company-general/components/BankOpeningContactItem/index.js +5 -7
  52. package/es/modules/self-registration/clda-form/incorporation/company-general/components/BankOpeningContactItem/index.js.map +1 -1
  53. package/es/modules/self-registration/clda-form/incorporation/company-general/components/BankOpeningItem/index.css +1 -28
  54. package/es/modules/self-registration/clda-form/incorporation/company-general/components/BankOpeningItem/index.js +4 -4
  55. package/es/modules/self-registration/clda-form/incorporation/company-general/components/BankOpeningItem/index.js.map +1 -1
  56. package/es/modules/self-registration/clda-form/incorporation/company-general/components/BankOpeningList/index.css +5 -0
  57. package/es/modules/self-registration/clda-form/incorporation/company-general/components/ChangeAddress/index.js +19 -21
  58. package/es/modules/self-registration/clda-form/incorporation/company-general/components/ChangeAddress/index.js.map +1 -1
  59. package/es/modules/self-registration/clda-form/incorporation/company-general/components/ChangeIndexAddress/index.js +19 -21
  60. package/es/modules/self-registration/clda-form/incorporation/company-general/components/ChangeIndexAddress/index.js.map +1 -1
  61. package/es/modules/self-registration/clda-form/incorporation/company-general/components/DivideColumnItem/index.css +1 -28
  62. package/es/modules/self-registration/clda-form/incorporation/company-general/components/DivideColumnItem/index.js +4 -4
  63. package/es/modules/self-registration/clda-form/incorporation/company-general/components/DivideColumnItem/index.js.map +1 -1
  64. package/es/modules/self-registration/clda-form/incorporation/company-general/components/OfficerDetailItem/index.css +1 -24
  65. package/es/modules/self-registration/clda-form/incorporation/company-general/components/OfficerDetailItem/index.js +3 -3
  66. package/es/modules/self-registration/clda-form/incorporation/company-general/components/OfficerDetailItem/index.js.map +1 -1
  67. package/es/modules/self-registration/clda-form/incorporation/company-general/components/RedonminationItem/index.css +1 -28
  68. package/es/modules/self-registration/clda-form/incorporation/company-general/components/RedonminationItem/index.js +4 -4
  69. package/es/modules/self-registration/clda-form/incorporation/company-general/components/RedonminationItem/index.js.map +1 -1
  70. package/es/modules/self-registration/clda-form/incorporation/company-general/components/RedonminationList/index.d.ts +0 -1
  71. package/es/modules/self-registration/clda-form/incorporation/company-general/components/RedonminationList/index.js +0 -1
  72. package/es/modules/self-registration/clda-form/incorporation/company-general/components/RedonminationList/index.js.map +1 -1
  73. package/es/modules/self-registration/clda-form/incorporation/company-general/components/TransferItem/index.css +2 -37
  74. package/es/modules/self-registration/clda-form/incorporation/company-general/components/TransferItem/index.js +3 -3
  75. package/es/modules/self-registration/clda-form/incorporation/company-general/components/TransferItem/index.js.map +1 -1
  76. package/es/modules/self-registration/clda-form/incorporation/company-general/index.css +36 -165
  77. package/es/modules/self-registration/clda-form/incorporation/components/FormContactEditor/index.css +32 -66
  78. package/es/modules/self-registration/clda-form/incorporation/components/FormContactEditor/index.d.ts +11 -0
  79. package/es/modules/self-registration/clda-form/incorporation/components/FormContactEditor/index.js +44 -92
  80. package/es/modules/self-registration/clda-form/incorporation/components/FormContactEditor/index.js.map +1 -1
  81. package/es/modules/self-registration/clda-form/incorporation/sgp/index.css +31 -40
  82. package/es/modules/self-registration/clda-form/incorporation/sgp/index.js +8 -13
  83. package/es/modules/self-registration/clda-form/incorporation/sgp/index.js.map +1 -1
  84. package/es/modules/self-registration/controls/BusinessNameInput/index.js +41 -7
  85. package/es/modules/self-registration/controls/BusinessNameInput/index.js.map +1 -1
  86. package/es/modules/self-registration/controls/Section/index.css +26 -4
  87. package/es/modules/self-registration/controls/Tips/Tip.css +24 -0
  88. package/es/modules/self-registration/controls/Tips/Tip.d.ts +12 -0
  89. package/es/modules/self-registration/controls/Tips/Tip.js +14 -2
  90. package/es/modules/self-registration/controls/Tips/Tip.js.map +1 -1
  91. package/es/style/clda-form-theme.css +1068 -0
  92. package/es/style/common.css +2 -53
  93. package/package.json +1 -1
  94. package/es/modules/self-registration/clda-form/components/MemberInfo/index.css +0 -181
  95. package/es/modules/self-registration/clda-form/incorporation/company-general/components/RedonminationList/index.css +0 -9
@@ -0,0 +1,1068 @@
1
+ /**
2
+ * CLDA 表单共享样式层(SGP / BVI / AGM / Company General / Appoint Representative 五套表单复用)。
3
+ *
4
+ * 约定:
5
+ * 1. 所有规则都收在 `.incorporation-form-common-style` 作用域内,只影响这五套表单,
6
+ * 不会外溢到其它模块;
7
+ * 2. 只放「跨表单一致」的版式(卡片、标题、引言、校验提示、内部使用区、行内编辑图标),
8
+ * 表单独有的结构样式仍留在各自的 index.css;
9
+ * 3. 只使用 CSS 变量(来自 @voplus/morpho-theme 令牌)与纯 CSS,不依赖 Tailwind 的 @apply
10
+ * —— 本包构建产物是 `tsc + copyfiles`,CSS 原样发布,未经 PostCSS 编译,@apply 会失效。
11
+ */
12
+
13
+ .incorporation-form-common-style {
14
+ /* ============ 表单容器 ============ */
15
+ &.incorporation-sgp-form,
16
+ &.incorporation-bvi-form,
17
+ &.incorporation-agm-form,
18
+ &.company-general-from-review,
19
+ &.appoint-representative-from-review {
20
+ max-width: 1000px;
21
+ margin: 0 auto;
22
+ }
23
+
24
+ /* ============ 卡片:内边距 18px(antd 默认 24px) ============ */
25
+ .self-registration-section > .ant-card-body {
26
+ padding: 18px;
27
+ }
28
+
29
+ /* ============ 分区标题:下划线 + 图标 14px ============ */
30
+ .self-registration-section {
31
+ .section-title {
32
+ display: flex;
33
+ align-items: center;
34
+ flex-wrap: wrap;
35
+ gap: 8px;
36
+ padding-bottom: 13px;
37
+ border-bottom: 1px solid var(--border-color);
38
+ color: var(--purple-primary-color);
39
+ font-size: 15px;
40
+ font-weight: 700;
41
+ line-height: 22px;
42
+
43
+ > svg {
44
+ font-size: 14px;
45
+ margin-right: 0;
46
+ }
47
+ }
48
+ }
49
+
50
+ /* 标题右侧带 info 图标 / 计数的容器:图标紧跟标题,计数靠右 */
51
+ .clda-interpretation-card-title {
52
+ flex: 1;
53
+ display: flex;
54
+ align-items: center;
55
+ flex-wrap: wrap;
56
+ justify-content: flex-start;
57
+ gap: 8px;
58
+
59
+ > div:first-child {
60
+ display: inline-flex;
61
+ align-items: center;
62
+ gap: 8px;
63
+
64
+ > svg {
65
+ font-size: 14px;
66
+ margin-right: 0;
67
+ }
68
+ }
69
+
70
+ > svg {
71
+ margin-right: 0;
72
+ }
73
+
74
+ .title-actions {
75
+ margin-left: auto;
76
+ display: inline-flex;
77
+ align-items: center;
78
+ gap: 8px;
79
+ }
80
+ }
81
+
82
+ /* 标题右侧的计数(股东数 / 董事数) */
83
+ .clda-count {
84
+ color: #8a90a0;
85
+ font-size: 11.5px;
86
+ font-weight: 600;
87
+ white-space: nowrap;
88
+ }
89
+
90
+ /* ---------- 分组 ---------- */
91
+ .grp {
92
+ display: grid;
93
+ grid-template-columns: 100px minmax(0, 1fr);
94
+ gap: 6px 12px;
95
+ margin-top: 10px;
96
+ }
97
+
98
+ .grp > .gk {
99
+ font-size: 11.5px;
100
+ font-weight: 700;
101
+ letter-spacing: 0.04em;
102
+ text-transform: uppercase;
103
+ color: #3d4352;
104
+ padding-top: 2px;
105
+ }
106
+
107
+ .grp > .gv {
108
+ font-size: 13.5px;
109
+ font-weight: 500;
110
+ color: #3d4352;
111
+ line-height: 21px;
112
+ overflow-wrap: anywhere;
113
+ }
114
+
115
+ /* 无组标题变体:取消「标题列」占位,值直接占满整行
116
+ (用双类名,确保压过 .new-officer-info-item 等同类单类名规则) */
117
+ .grp.grp--no-title {
118
+ grid-template-columns: minmax(0, 1fr);
119
+ }
120
+
121
+ .blk.blk--no-title {
122
+ margin-top: 0;
123
+ padding-top: 0;
124
+ border-top: 0;
125
+ }
126
+
127
+ .gv-inline {
128
+ display: flex;
129
+ flex-wrap: wrap;
130
+ gap: 5px 22px;
131
+ }
132
+
133
+ .gv-grid2 {
134
+ display: grid;
135
+ grid-template-columns: repeat(2, minmax(0, 1fr));
136
+ gap: 5px 22px;
137
+ }
138
+
139
+ .f .k {
140
+ font-size: 11px;
141
+ font-weight: 500;
142
+ letter-spacing: 0.03em;
143
+ text-transform: uppercase;
144
+ /* 提高对比度:#5f6b7d 在白底仅 3.76:1,改为 5.4:1 */
145
+ color: #5f6b7d;
146
+ margin-right: 7px;
147
+ }
148
+
149
+ .f .v {
150
+ font-size: 13.5px;
151
+ font-weight: 500;
152
+ color: #3d4352;
153
+
154
+ &.dim {
155
+ color: #b6bcc8;
156
+ }
157
+ }
158
+
159
+ .v-line {
160
+ display: block;
161
+ }
162
+
163
+ /* Internal Use Only 分组:暖色小标题 + 虚线分隔,与普通字段区分 */
164
+ .grp.internal {
165
+ margin-top: 12px;
166
+ padding-top: 12px;
167
+ border-top: 1px dashed #e2e6ee;
168
+
169
+ > .gk {
170
+ color: #8a6a1f;
171
+ }
172
+ }
173
+
174
+ .internal-form {
175
+ grid-column: 1 / -1;
176
+ display: grid;
177
+ grid-template-columns: repeat(2, minmax(0, 1fr));
178
+ gap: 10px 18px;
179
+ }
180
+
181
+ /* ============ 编辑态的块 / 字段网格(ContactFields 等组件复用) ============ */
182
+ .blk + .blk {
183
+ margin-top: 14px;
184
+ padding-top: 14px;
185
+ border-top: 1px dashed #e2e6ee;
186
+ }
187
+
188
+ .blk-k {
189
+ display: flex;
190
+ align-items: center;
191
+ gap: 7px;
192
+ margin-bottom: 9px;
193
+ color: #3d4352;
194
+ font-weight: 700;
195
+ font-size: 11.5px;
196
+ letter-spacing: 0.04em;
197
+ text-transform: uppercase;
198
+ }
199
+
200
+ .blk.internal .blk-k {
201
+ color: #8a6a1f;
202
+ }
203
+
204
+ .fgrid {
205
+ display: grid;
206
+ gap: 11px 14px;
207
+
208
+ &.c1 {
209
+ grid-template-columns: minmax(0, 1fr);
210
+ }
211
+
212
+ &.c2 {
213
+ grid-template-columns: repeat(2, minmax(0, 1fr));
214
+ }
215
+
216
+ &.c3 {
217
+ grid-template-columns: repeat(3, minmax(0, 1fr));
218
+ }
219
+ }
220
+
221
+ .field {
222
+ min-width: 0;
223
+
224
+ label {
225
+ display: block;
226
+ margin-bottom: 5px;
227
+ color: #5f6b7d;
228
+ font-weight: 500;
229
+ font-size: 11px;
230
+ letter-spacing: 0.03em;
231
+ text-transform: uppercase;
232
+ }
233
+ }
234
+
235
+ /* 块内复用的 antd 控件(Address / IdentityChange)统一为同一套字段样式 */
236
+ .blk {
237
+ .ant-form-item {
238
+ margin-bottom: 11px;
239
+ }
240
+
241
+ .ant-form-item-label {
242
+ padding-bottom: 5px;
243
+ }
244
+
245
+ .ant-form-item-label > label {
246
+ height: auto;
247
+ color: #5f6b7d;
248
+ font-weight: 500;
249
+ font-size: 11px;
250
+ letter-spacing: 0.03em;
251
+ text-transform: uppercase;
252
+ }
253
+
254
+ .ant-form-item-control-input {
255
+ min-height: auto;
256
+ }
257
+
258
+ .ant-row {
259
+ row-gap: 0;
260
+ }
261
+
262
+ .ant-input,
263
+ .ant-input-number,
264
+ .ant-select-single,
265
+ .ant-picker {
266
+ height: 32px;
267
+ border-radius: var(--border-radius, 5px);
268
+ font-size: 13px;
269
+ }
270
+
271
+ .ant-select-selector {
272
+ border-radius: var(--border-radius, 5px) !important;
273
+ }
274
+ }
275
+
276
+ /* 底部动作栏:与内容用分隔线隔开,按钮右对齐 */
277
+ .edit-bar {
278
+ display: flex;
279
+ justify-content: flex-end;
280
+ gap: 9px;
281
+ margin-top: 14px;
282
+ padding-top: 12px;
283
+ border-top: 1px solid var(--border-color-split, #f0f0f0);
284
+ }
285
+
286
+ /* ============ 行内动作图标(编辑 / 删除)= 人员行样式,全表单统一 ============
287
+ 所有明细行(人员行、银行开户、配股、转让、更名、拆股、高管详情)共用同一套
288
+ 尺寸与配色:26×26 命中区、13px 图标、默认 #c3c8d2,悬停分别为主题蓝 / 删除红。 */
289
+ .action-button {
290
+ display: flex;
291
+ align-items: center;
292
+ flex: none;
293
+ gap: 2px;
294
+ white-space: nowrap;
295
+
296
+ > span {
297
+ display: grid;
298
+ place-items: center;
299
+ width: 26px;
300
+ height: 26px;
301
+ color: #c3c8d2;
302
+ font-size: 13px;
303
+ border-radius: var(--border-radius, 5px);
304
+ cursor: pointer;
305
+ transition: color 0.14s ease, background 0.14s ease;
306
+ }
307
+
308
+ .edit-icon:hover {
309
+ color: var(--purple-primary-color, #1a4fb3);
310
+ background: #f0f7ff;
311
+ }
312
+
313
+ .delete-icon:hover {
314
+ color: var(--delete-color, #ee6868);
315
+ background: #fff1f1;
316
+ }
317
+ }
318
+
319
+ /* ============ 必填标识 ============ */
320
+ .required-fields {
321
+ color: #ff0000;
322
+ vertical-align: text-top;
323
+ font-weight: bold;
324
+ font-size: 14px;
325
+ line-height: 19px;
326
+ }
327
+
328
+ /* ============ 引言(各表单顶部说明块) ============ */
329
+ .incorporation-form-interpretation {
330
+ &::before {
331
+ content: "";
332
+ display: block;
333
+ width: 100%;
334
+ height: 13px;
335
+ background: var(--purple-primary-color);
336
+ border-radius: 5px 5px 0 0;
337
+ }
338
+
339
+ .introduction-information {
340
+ color: #3d4352;
341
+ font-weight: 600;
342
+ font-size: 13px;
343
+ line-height: 1.85;
344
+
345
+ p {
346
+ margin: 0;
347
+ }
348
+
349
+ > br {
350
+ display: none;
351
+ }
352
+
353
+ ul {
354
+ margin: 10px 0 0;
355
+ padding-left: 20px;
356
+ list-style: disc;
357
+
358
+ li {
359
+ margin-bottom: 7px;
360
+ list-style: disc;
361
+
362
+ &::marker {
363
+ color: #b6bcc8;
364
+ }
365
+ }
366
+ }
367
+
368
+ .tip-icon {
369
+ margin: 0 4px;
370
+ font-size: 12px;
371
+ }
372
+ }
373
+ }
374
+
375
+ /* ============ 校验提示 ============ */
376
+ .non-empty-check-prompt {
377
+ margin-top: 12px;
378
+ padding-top: 10px;
379
+ border-top: 1px solid var(--border-color-split);
380
+ color: #a84141;
381
+ font-weight: 600;
382
+ font-size: 13px;
383
+ line-height: 19px;
384
+
385
+ > span {
386
+ vertical-align: text-top;
387
+ }
388
+
389
+ .warning {
390
+ display: inline-block;
391
+ margin-top: 10px;
392
+ color: #a84141;
393
+ font-size: 12.5px;
394
+ font-weight: 600;
395
+ }
396
+ }
397
+
398
+ /* ============ 子标题(Internal Use / DPO / 内部块) ============ */
399
+ .sub-title {
400
+ margin-bottom: 8px;
401
+ color: #3d4352;
402
+ font-weight: 700;
403
+ font-size: 12.5px;
404
+ line-height: 18px;
405
+ }
406
+
407
+ /* ============ 内部使用区:虚线分隔 + 标签胶囊 ============ */
408
+ .internal-use-section {
409
+ margin-top: 14px;
410
+ padding-top: 14px;
411
+ border-top: 1px dashed #e2e6ee;
412
+
413
+ &.secretary-list {
414
+ margin-top: 0;
415
+ padding-top: 0;
416
+ border-top: 0;
417
+ }
418
+
419
+ .ant-divider {
420
+ display: none;
421
+ }
422
+
423
+ .mention-list,
424
+ .ant-select-selection-overflow {
425
+ display: flex;
426
+ flex-wrap: wrap;
427
+ gap: 8px;
428
+ }
429
+
430
+ .unit-reference-node,
431
+ .ant-select-selection-item {
432
+ display: inline-flex;
433
+ align-items: center;
434
+ gap: 6px;
435
+ padding: 4px 12px;
436
+ border: 1px solid #dbe7f7;
437
+ border-radius: 999px;
438
+ background: #f0f7ff;
439
+ color: var(--purple-primary-color);
440
+ font-size: 12.5px;
441
+ font-weight: 600;
442
+ }
443
+
444
+ .ant-checkbox-wrapper {
445
+ color: #3d4352;
446
+ font-size: 13.5px;
447
+ }
448
+
449
+ .halvingline {
450
+ margin: 16px 0;
451
+ }
452
+ }
453
+
454
+ /* ============ 列表区块容器 ============ */
455
+ .officer-list {
456
+ margin-bottom: 16px;
457
+
458
+ .ant-card {
459
+ margin-bottom: 0;
460
+ }
461
+ }
462
+
463
+ /* ============ InlineEdit:与人员行动作图标统一 ============ */
464
+ .morpho-inline-edit {
465
+ > .content-container > .content.clickable {
466
+ cursor: pointer;
467
+ }
468
+
469
+ .edit-icon,
470
+ .delete-icon,
471
+ .buttons {
472
+ display: inline-flex;
473
+ align-items: center;
474
+ justify-content: center;
475
+ width: 26px;
476
+ height: 26px;
477
+ padding: 0;
478
+ border-radius: var(--border-radius);
479
+ color: #c3c8d2;
480
+ font-size: 13px;
481
+ transition: color 0.14s ease, background 0.14s ease;
482
+
483
+ svg {
484
+ margin: 0;
485
+ filter: none;
486
+ }
487
+ }
488
+
489
+ .edit-icon:hover,
490
+ .buttons:hover {
491
+ color: var(--purple-primary-color);
492
+ background: #f0f7ff;
493
+ }
494
+
495
+ .delete-icon:hover {
496
+ color: var(--delete-color);
497
+ background: #fff1f1;
498
+ }
499
+ }
500
+
501
+ /* ============ 提交区 ============ */
502
+ .incorporation-form-submit {
503
+ margin-bottom: 16px;
504
+ }
505
+
506
+ .incorporation-form-submitted {
507
+ padding: 0 18px;
508
+ text-align: right;
509
+ color: #6b7280;
510
+ font-size: 13px;
511
+ }
512
+
513
+ /* ============ 新增/移除高管详情(Company General 与 Appoint Representative 共用) ============ */
514
+ .new-officer-select {
515
+ margin-bottom: 15px;
516
+ }
517
+
518
+ .new-officer-details-list {
519
+ margin-bottom: 20px;
520
+
521
+ .new-officer-details-item {
522
+ .halvingline {
523
+ margin-bottom: 40px;
524
+ }
525
+
526
+ .new-officer-title {
527
+ display: flex;
528
+ align-items: center;
529
+
530
+ .new-officer-title-info {
531
+ flex: 1;
532
+
533
+ .ant-input-affix-wrapper {
534
+ border-radius: var(--border-radius);
535
+ }
536
+ }
537
+
538
+ .new-officer-name {
539
+ font-size: 12.5px;
540
+ line-height: 18px;
541
+ font-weight: 700;
542
+ }
543
+
544
+ /* 图标样式见共享类 .action-button */
545
+ }
546
+
547
+ .basic-info {
548
+ display: flex;
549
+ line-height: 0;
550
+ margin-top: 10px;
551
+
552
+ .shares-input {
553
+ flex: 1;
554
+ display: flex;
555
+ align-items: center;
556
+ margin-right: 3em;
557
+
558
+ .ant-input-number {
559
+ width: 100%;
560
+ }
561
+
562
+ .ant-input-number-disabled {
563
+ color: #3d4352;
564
+ background-color: transparent;
565
+ cursor: auto;
566
+ }
567
+
568
+ .ant-input-number-prefix {
569
+ color: #000;
570
+ }
571
+
572
+ .ant-input-number-affix-wrapper {
573
+ width: 100%;
574
+ border-radius: var(--border-radius);
575
+ }
576
+
577
+ .ant-input-number-affix-wrapper-disabled {
578
+ padding: 0;
579
+ }
580
+ }
581
+
582
+ .ant-input-affix-wrapper {
583
+ flex: 1;
584
+ border-radius: var(--border-radius);
585
+ margin-right: 3em;
586
+ }
587
+
588
+ .ant-input-affix-wrapper-disabled {
589
+ color: #3d4352;
590
+ cursor: auto;
591
+ padding: 4px 0 !important;
592
+
593
+ .ant-input[disabled] {
594
+ color: #3d4352;
595
+ cursor: auto;
596
+ }
597
+ }
598
+ }
599
+
600
+ .new-officer-info-content {
601
+ display: flex;
602
+ flex-direction: column;
603
+
604
+ > div:nth-child(2) {
605
+ margin-bottom: 10px;
606
+ }
607
+
608
+ .new-officer-info-item {
609
+ flex: 1;
610
+ position: relative;
611
+ padding-right: 3em;
612
+
613
+ .buttons {
614
+ position: absolute;
615
+ right: 30px;
616
+ top: 0;
617
+ }
618
+
619
+ .new-officer-item-name {
620
+ padding-bottom: 16px;
621
+ font-size: 12.5px;
622
+ font-weight: bold;
623
+
624
+ svg {
625
+ margin-right: 5px;
626
+ }
627
+ }
628
+
629
+ .new-officer-info-address {
630
+ padding-bottom: 16px;
631
+ }
632
+
633
+ .morpho-inline-edit {
634
+ width: 80%;
635
+ }
636
+ }
637
+ }
638
+ }
639
+ }
640
+
641
+ /* ============ 表单 label 对比度(antd Form.Item) ============ */
642
+ .ant-form-item-label {
643
+ padding-bottom: 5px;
644
+
645
+ > label {
646
+ color: #3d4352;
647
+ font-size: 12.5px;
648
+ font-weight: 600;
649
+ }
650
+ }
651
+
652
+ /* ============ 高管详情行(New Representative / New Officer Detail) ============ */
653
+ .new-officer-details-item {
654
+ padding: 16px 0 17px;
655
+ border-bottom: 1px solid var(--border-color-split);
656
+
657
+ &:last-child {
658
+ border-bottom: 0;
659
+ }
660
+
661
+ .new-officer-title {
662
+ display: flex;
663
+ align-items: center;
664
+ flex-wrap: wrap;
665
+ gap: 6px 10px;
666
+
667
+ .new-officer-title-info {
668
+ flex: 1;
669
+ min-width: 0;
670
+ }
671
+
672
+ .new-officer-name {
673
+ color: #1f2330;
674
+ font-size: 15px;
675
+ font-weight: 700;
676
+ letter-spacing: -0.005em;
677
+ /* 长姓名(如 Siti Nurhaliza Binte Osman)换行而不是撑破行 */
678
+ overflow-wrap: anywhere;
679
+ }
680
+
681
+ /* 图标样式见共享类 .action-button */
682
+ }
683
+
684
+ .new-officer-position {
685
+ margin-top: 12px;
686
+
687
+ .ant-form-item {
688
+ margin-bottom: 10px;
689
+ }
690
+
691
+ .ant-select-multiple {
692
+ width: 100%;
693
+ }
694
+ }
695
+
696
+ .basic-info {
697
+ display: flex;
698
+ gap: 12px;
699
+ margin-top: 4px;
700
+
701
+ .ant-input,
702
+ .ant-input-affix-wrapper {
703
+ height: 32px;
704
+ border-radius: var(--border-radius);
705
+ }
706
+ }
707
+
708
+ .new-officer-info-content {
709
+ display: flex;
710
+ flex-direction: column;
711
+ gap: 10px;
712
+ margin-top: 12px;
713
+ }
714
+
715
+ /* Address / Identify Info:复用共享的 .grp / .gk / .gv 骨架,
716
+ 这里只保留行内的紧凑间距 */
717
+ .new-officer-info-item {
718
+ margin-top: 6px;
719
+ }
720
+
721
+ /* 底部 Cancel / Save 动作栏(行级,横跨整行) */
722
+ .new-officer-edit-bar {
723
+ display: flex;
724
+ justify-content: flex-end;
725
+ gap: 9px;
726
+ margin-top: 12px;
727
+ padding-top: 10px;
728
+ border-top: 1px solid var(--border-color-split);
729
+ }
730
+
731
+ /* 行分隔线取代 Divider */
732
+ .halvingline {
733
+ display: none;
734
+ }
735
+ }
736
+
737
+ /* ============ Section 标题栏(标题 + Add Item) ============ */
738
+ .section-header {
739
+ /* 填满标题行的可用宽度,才能让标题与按钮真正两端对齐
740
+ (.section-title 是 flex 容器,flex 项默认按内容宽度收缩) */
741
+ flex: 1 1 100%;
742
+ min-width: 0;
743
+ display: flex;
744
+ align-items: center;
745
+ justify-content: space-between;
746
+ gap: 10px;
747
+
748
+ > div:first-child {
749
+ flex: 1;
750
+ min-width: 0;
751
+ color: var(--purple-primary-color);
752
+ font-size: 15px;
753
+ font-weight: 700;
754
+ line-height: 22px;
755
+ }
756
+ }
757
+
758
+ /* 虚线 Add 按钮的样式见下方「Add 按钮」共享分组(.clda-add-btn) */
759
+
760
+ /* ============ 地址区块(BVI Trading/Record Address、Company General Registered/Index Address、
761
+ SGP Registered Address、New Officer Detail Address 共用) ============ */
762
+ .address-display {
763
+ color: #3d4352;
764
+ font-size: 13.5px;
765
+ font-weight: 500;
766
+ line-height: 21px;
767
+
768
+ .ant-row {
769
+ display: block;
770
+ }
771
+
772
+ .ant-col {
773
+ display: block;
774
+ width: 100%;
775
+ }
776
+
777
+ .value-line {
778
+ display: block;
779
+ }
780
+ }
781
+
782
+ .address-editor {
783
+ .address-editor-fields {
784
+ .ant-form-item {
785
+ margin-bottom: 11px;
786
+ }
787
+
788
+ .ant-form-item-label {
789
+ padding-bottom: 5px;
790
+ }
791
+
792
+ .ant-form-item-label > label {
793
+ width: auto;
794
+ max-width: 100%;
795
+ white-space: nowrap;
796
+ height: auto;
797
+ color: #5f6b7d;
798
+ font-size: 11px;
799
+ font-weight: 500;
800
+ letter-spacing: 0.03em;
801
+ text-transform: uppercase;
802
+ }
803
+
804
+ .ant-input,
805
+ .ant-select-single,
806
+ .ant-picker {
807
+ height: 32px;
808
+ border-radius: var(--border-radius);
809
+ font-size: 13px;
810
+ }
811
+
812
+ .ant-select-selector {
813
+ border-radius: var(--border-radius) !important;
814
+ }
815
+ }
816
+
817
+ .edit-bar {
818
+ display: flex;
819
+ justify-content: flex-end;
820
+ gap: 9px;
821
+ margin-top: 12px;
822
+ padding-top: 10px;
823
+ border-top: 1px solid var(--border-color-split);
824
+ }
825
+ }
826
+
827
+ /* Identity 类的横向表单(IdentityChange):改成两列字段块 */
828
+ .identity-fields {
829
+ .ant-form {
830
+ display: grid;
831
+ grid-template-columns: repeat(2, minmax(0, 1fr));
832
+ gap: 11px 14px;
833
+ }
834
+
835
+ .ant-form-item {
836
+ margin-bottom: 0;
837
+ }
838
+
839
+ .ant-form-item-row {
840
+ display: block;
841
+ }
842
+
843
+ .ant-form-item-label {
844
+ width: auto;
845
+ padding-bottom: 5px;
846
+ text-align: left;
847
+
848
+ > label {
849
+ width: auto;
850
+ white-space: nowrap;
851
+ color: #5f6b7d;
852
+ font-size: 11px;
853
+ font-weight: 500;
854
+ letter-spacing: 0.03em;
855
+ text-transform: uppercase;
856
+ }
857
+ }
858
+
859
+ .ant-form-item-control {
860
+ width: 100%;
861
+ }
862
+
863
+ .ant-input,
864
+ .ant-select-single,
865
+ .ant-picker {
866
+ height: 32px;
867
+ border-radius: var(--border-radius);
868
+ font-size: 13px;
869
+ }
870
+ }
871
+
872
+ /* ============ 明细列表(Bank Opening / Transfer / Issue Shares / Officer 等) ============ */
873
+ .bank-opening-contact-item,
874
+ .company-general-allotment-info,
875
+ .company-general-transfer-info,
876
+ .divide-column-item,
877
+ .company-general-officer-info {
878
+ padding: 16px 0 17px;
879
+ border-bottom: 1px solid var(--border-color-split);
880
+
881
+ &:last-child {
882
+ border-bottom: 0;
883
+ }
884
+ }
885
+
886
+ .bank-opening-column-list,
887
+ .company-general-allotment-list,
888
+ .company-general-transfer-list,
889
+ .divide-column-list,
890
+ .new-officer-details-list {
891
+ > :last-child {
892
+ border-bottom: 0;
893
+ }
894
+ }
895
+
896
+ .bank-opening-column-item-header,
897
+ .Redonmination-column-item-header,
898
+ .company-general-allotment-header,
899
+ .company-general-transfer-header,
900
+ .divide-column-item-header {
901
+ display: flex;
902
+ align-items: center;
903
+ gap: 10px;
904
+ margin-bottom: 10px;
905
+
906
+ > div:first-child:not(.action-button) {
907
+ flex: 1;
908
+ min-width: 0;
909
+ }
910
+
911
+ /* 图标样式见共享类 .action-button,这里只负责推到行尾 */
912
+ .action-button {
913
+ margin-left: auto;
914
+ }
915
+ }
916
+
917
+ /* 明细标题:与人员行组标题/姓名同层级
918
+ (.bank-opening-contact-title 只用于 Bank Opening 的「New Authorised Signatory」,
919
+ 样式由 BankOpeningList/index.css 自己维护) */
920
+ .company-general-allotment-title,
921
+ .company-general-transfer-title,
922
+ .divide-column-item-header .divide-column-item-title,
923
+ .company-general-transferee-name,
924
+ .company-general-officer-header .officer-name {
925
+ color: #1f2330;
926
+ font-size: 14.5px;
927
+ font-weight: 700;
928
+ letter-spacing: -0.005em;
929
+ }
930
+
931
+ /* 明细内的字段标签/值(antd Row/Col 结构) */
932
+ .bank-opening-column-list,
933
+ .company-general-allotment-content,
934
+ .company-general-transferor-content,
935
+ .company-general-transferee,
936
+ .divide-column-item-content {
937
+ color: #3d4352;
938
+ font-size: 13.5px;
939
+ font-weight: 500;
940
+ line-height: 21px;
941
+
942
+ .ant-col {
943
+ color: #3d4352;
944
+ }
945
+ }
946
+
947
+ /* ============ Company General 明细行:统一的上下留白 + 行分隔线 ============
948
+ 银行开户 / 拆合股 / 转让 / 配股 / 更名 / 高管等明细行共用同一套行距:
949
+ 行内上下留白 14/16px,行间用 1px 分隔线(最后一行不画),
950
+ 因此各组件里不再需要 margin-bottom / Divider 等临时补丁。 */
951
+ .bank-opening-column-item,
952
+ .bank-opening-contact-item,
953
+ .divide-column-item,
954
+ .Redonmination-column-item,
955
+ .company-general-allotment-info,
956
+ .company-general-transfer-info,
957
+ .company-general-officer-info {
958
+ margin-bottom: 0;
959
+ padding: 14px 0 16px;
960
+ border-bottom: 1px solid var(--border-color-split);
961
+
962
+ &:last-child {
963
+ border-bottom: 0;
964
+ }
965
+
966
+ /* 编辑态:字段行与 Save/Cancel 之间的呼吸空间(.edit-bar 自身的间距见上) */
967
+ .edit-bar {
968
+ margin-top: 12px;
969
+ }
970
+ }
971
+
972
+ /* 明细行内的 Divider 由行分隔线取代 */
973
+ .halvingline {
974
+ display: none;
975
+ }
976
+
977
+ /* ============ 按钮与列表锚点(原 style/common.css 迁入) ============ */
978
+ .ant-btn {
979
+ height: 30px;
980
+ padding: 2px 15px;
981
+ }
982
+
983
+ /* Add 按钮(列表底部 / Section 标题栏共用):虚线按钮,样式只在这里维护 */
984
+ .add-shareholder-btn,
985
+ .add-director-btn,
986
+ .add-director-fee-btn,
987
+ .add-ceo-btn,
988
+ .add-secretary-btn,
989
+ .clda-add-btn {
990
+ height: 32px;
991
+ padding: 0 14px;
992
+ border: 1px dashed #b9cbe4;
993
+ border-radius: var(--border-radius);
994
+ background: #fff;
995
+ color: var(--purple-primary-color);
996
+ font-weight: 600;
997
+ font-size: 13px;
998
+ line-height: 30px;
999
+
1000
+ &:hover {
1001
+ border-color: var(--purple-primary-color) !important;
1002
+ background: #f0f7ff !important;
1003
+ color: var(--purple-primary-color) !important;
1004
+ }
1005
+ }
1006
+
1007
+ /* 列表底部的 Add 按钮与上方列表留出间距(标题栏里的 .clda-add-btn 不需要) */
1008
+ .add-shareholder-btn,
1009
+ .add-director-btn,
1010
+ .add-director-fee-btn,
1011
+ .add-ceo-btn,
1012
+ .add-secretary-btn {
1013
+ margin-top: 14px;
1014
+ }
1015
+
1016
+ /* 列表包裹层:容器查询锚点(宽度取实际可用宽度,兼容 DefaultView / PropertiesView 侧栏),
1017
+ 同时负责最后一行不画分隔线 */
1018
+ .clda-list {
1019
+ container-type: inline-size;
1020
+ container-name: cldacontact;
1021
+
1022
+ > .clda-contact-list:last-child {
1023
+ border-bottom: 0;
1024
+ }
1025
+ }
1026
+
1027
+ /*
1028
+ * info 图标:统一 --default-color(设计稿)。
1029
+ * 这里只覆盖直接用 `<span className="tip-icon">` 写在前言等处的图标;
1030
+ * `<Tip>` 组件自带等价样式(controls/Tips/Tip.css 的 .sr-tip-icon),
1031
+ * 因为它还要在 CLDA 作用域之外(Shopping Cart)渲染,改值请两处同步。
1032
+ */
1033
+ .tip-icon {
1034
+ display: inline-flex;
1035
+ align-items: center;
1036
+ color: var(--default-color);
1037
+ font-size: 13px;
1038
+ line-height: 1;
1039
+ cursor: help;
1040
+
1041
+ &:hover {
1042
+ color: var(--primary-color);
1043
+ }
1044
+ }
1045
+ }
1046
+
1047
+ /* 窄容器:高管详情行的动作栏按钮等宽、字段网格单列 */
1048
+ @container cldasection (max-width: 420px) {
1049
+ /* 注意:这里必须带 .new-officer-details-item 才能压过基础规则(同源、3 个类名) */
1050
+ .incorporation-form-common-style .new-officer-details-item {
1051
+ .new-officer-edit-bar {
1052
+ justify-content: stretch;
1053
+
1054
+ .ant-btn {
1055
+ flex: 1;
1056
+ }
1057
+ }
1058
+
1059
+ .grp {
1060
+ grid-template-columns: minmax(0, 1fr);
1061
+ }
1062
+
1063
+ .identity-fields .ant-form,
1064
+ .fgrid.c2 {
1065
+ grid-template-columns: minmax(0, 1fr);
1066
+ }
1067
+ }
1068
+ }