@bit-sun/business-component 4.2.0-alpha.3 → 4.2.0-alpha.30

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 (138) hide show
  1. package/.fatherrc.ts +1 -1
  2. package/.umirc.ts +13 -9
  3. package/dist/components/Business/AddSelectBusiness/index.d.ts +3 -4
  4. package/dist/components/Business/BsLayouts/Components/AllFunc/drawContent.d.ts +1 -2
  5. package/dist/components/Business/BsLayouts/Components/ChooseStore/index.d.ts +1 -2
  6. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.d.ts +1 -1
  7. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.d.ts +1 -1
  8. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.d.ts +2 -2
  9. package/dist/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.d.ts +1 -2
  10. package/dist/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.d.ts +1 -2
  11. package/dist/components/Business/BsLayouts/Components/CustomerMenu/index.d.ts +1 -1
  12. package/dist/components/Business/BsLayouts/Components/GlobalHeader/index.d.ts +1 -2
  13. package/dist/components/Business/BsLayouts/Components/RightContent/LoginModal.d.ts +1 -2
  14. package/dist/components/Business/BsLayouts/index.d.ts +1 -1
  15. package/dist/components/Business/BsSulaQueryTable/SearchItemSetting.d.ts +5 -5
  16. package/dist/components/Business/BsSulaQueryTable/index.d.ts +1 -2
  17. package/dist/components/Business/BsSulaQueryTable/setting.d.ts +6 -6
  18. package/dist/components/Business/BsSulaQueryTable/utils.d.ts +14 -15
  19. package/dist/components/Business/CommodityEntry/index.d.ts +1 -2
  20. package/dist/components/Business/CommonAlert/index.d.ts +1 -2
  21. package/dist/components/Business/CommonGuideWrapper/index.d.ts +3 -3
  22. package/dist/components/Business/DetailPageWrapper/index.d.ts +12 -12
  23. package/dist/components/Business/HomePageWrapper/index.d.ts +1 -2
  24. package/dist/components/Business/ImportExport/ExportButton/ModalTitle.d.ts +11 -0
  25. package/dist/components/Business/ImportExport/ExportButton/TemplatePicker.d.ts +13 -0
  26. package/dist/components/Business/ImportExport/ExportButton/index.d.ts +15 -0
  27. package/dist/components/Business/ImportExport/ImportWizard/Preview.d.ts +11 -0
  28. package/dist/components/Business/ImportExport/ImportWizard/index.d.ts +15 -0
  29. package/dist/components/Business/ImportExport/TaskDrawer/index.d.ts +15 -0
  30. package/dist/components/Business/ImportExport/TaskProgress/index.d.ts +15 -0
  31. package/dist/components/Business/ImportExport/businessFunction.d.ts +15 -0
  32. package/dist/components/Business/ImportExport/index.d.ts +14 -0
  33. package/dist/components/Business/ImportExport/sceneCapability.d.ts +20 -0
  34. package/dist/components/Business/ImportExport/services/importExport.d.ts +22 -0
  35. package/dist/components/Business/ImportExport/services/routing.d.ts +8 -0
  36. package/dist/components/Business/ImportExport/types.d.ts +134 -0
  37. package/dist/components/Business/ItemPropertySelector/index.d.ts +1 -2
  38. package/dist/components/Business/JsonQueryTable/components/FieldsModifyModal.d.ts +1 -2
  39. package/dist/components/Business/JsonQueryTable/components/FieldsSettingsTable.d.ts +1 -2
  40. package/dist/components/Business/JsonQueryTable/components/Formula.d.ts +1 -2
  41. package/dist/components/Business/JsonQueryTable/components/MaintainOptions.d.ts +1 -2
  42. package/dist/components/Business/JsonQueryTable/drawer/index.d.ts +1 -2
  43. package/dist/components/Business/PropertyModal/index.d.ts +1 -2
  44. package/dist/components/Business/PropertyModal/propertyGroup.d.ts +1 -1
  45. package/dist/components/Business/SearchSelect/index.d.ts +1 -1
  46. package/dist/components/Business/StateFlow/index.d.ts +1 -2
  47. package/dist/components/Business/SystemLog/index.d.ts +78 -0
  48. package/dist/components/Business/TreeSearchSelect/index.d.ts +1 -1
  49. package/dist/components/Business/TrialCalculation/index.d.ts +15 -0
  50. package/dist/components/Business/columnSettingTable/columnSetting.d.ts +6 -6
  51. package/dist/components/Business/columnSettingTable/components/TableSumComponent.d.ts +1 -2
  52. package/dist/components/Business/columnSettingTable/index.d.ts +3 -3
  53. package/dist/components/Business/columnSettingTable/sulaSettingTable.d.ts +3 -3
  54. package/dist/components/Business/columnSettingTable/utils.d.ts +1 -2
  55. package/dist/components/Business/moreTreeTable/FixedScrollBar.d.ts +1 -1
  56. package/dist/components/Common/ParagraphCopier/index.d.ts +1 -1
  57. package/dist/components/Common/Section/index.d.ts +1 -1
  58. package/dist/components/Functional/AddSelect/index.d.ts +1 -2
  59. package/dist/components/Functional/AuthButton/index.d.ts +1 -2
  60. package/dist/components/Functional/DataImport/index.d.ts +3 -3
  61. package/dist/components/Functional/DataValidation/index.d.ts +5 -5
  62. package/dist/components/Functional/ExportFunctions/ExportIcon/index.d.ts +1 -2
  63. package/dist/components/Functional/QueryMutipleInput/index.d.ts +1 -2
  64. package/dist/components/Functional/QueryMutipleSelect/index.d.ts +1 -2
  65. package/dist/components/Functional/SearchSelect/index.d.ts +1 -1
  66. package/dist/components/Functional/SearchSelect/pagination.d.ts +22 -0
  67. package/dist/components/Functional/SearchSelect/utils.d.ts +2 -3
  68. package/dist/components/Functional/TreeSearchSelect/index.d.ts +1 -2
  69. package/dist/components/Solution/RuleComponent/CustomPlugin/CustomSelector/CustomSelectorModal.d.ts +1 -1
  70. package/dist/components/Solution/RuleComponent/CustomPlugin/CustomSelector/index.d.ts +1 -2
  71. package/dist/components/Solution/RuleComponent/Formula.d.ts +1 -2
  72. package/dist/components/Solution/RuleComponent/InnerSelect.d.ts +1 -2
  73. package/dist/components/Solution/RuleComponent/RenderCompItem.d.ts +1 -2
  74. package/dist/components/Solution/RuleSetter/RuleInstance.d.ts +1 -2
  75. package/dist/components/Solution/RuleSetter/baseRule.d.ts +1 -1
  76. package/dist/components/Solution/RuleSetter/index.d.ts +1 -1
  77. package/dist/index.d.ts +5 -0
  78. package/dist/index.esm.js +5413 -1215
  79. package/dist/index.js +5433 -1208
  80. package/dist/plugin/TableColumnSetting/index.d.ts +5 -5
  81. package/dist/utils/TableUtils.d.ts +18 -19
  82. package/dist/utils/auth.d.ts +4 -0
  83. package/dist/utils/utils.d.ts +41 -0
  84. package/docs/error-record.md +52 -0
  85. package/docs/flow-control-readme.md +283 -0
  86. package/docs/task-records/2026-07-31-import-export-extraction.md +81 -0
  87. package/package.json +1 -1
  88. package/src/components/Business/AddSelectBusiness/index.tsx +3 -2
  89. package/src/components/Business/BsSulaQueryTable/index.md +57 -4
  90. package/src/components/Business/BsSulaQueryTable/index.tsx +174 -10
  91. package/src/components/Business/BsSulaQueryTable/setting.tsx +6 -0
  92. package/src/components/Business/DetailPageWrapper/index.tsx +81 -1
  93. package/src/components/Business/DetailPageWrapper/readme.md +89 -0
  94. package/src/components/Business/ImportExport/ExportButton/ModalTitle.tsx +27 -0
  95. package/src/components/Business/ImportExport/ExportButton/TemplatePicker.tsx +424 -0
  96. package/src/components/Business/ImportExport/ExportButton/index.module.less +382 -0
  97. package/src/components/Business/ImportExport/ExportButton/index.tsx +273 -0
  98. package/src/components/Business/ImportExport/ImportWizard/Preview.tsx +129 -0
  99. package/src/components/Business/ImportExport/ImportWizard/index.module.less +360 -0
  100. package/src/components/Business/ImportExport/ImportWizard/index.tsx +679 -0
  101. package/src/components/Business/ImportExport/TaskDrawer/index.tsx +285 -0
  102. package/src/components/Business/ImportExport/TaskProgress/index.tsx +267 -0
  103. package/src/components/Business/ImportExport/businessFunction.ts +29 -0
  104. package/src/components/Business/ImportExport/index.md +104 -0
  105. package/src/components/Business/ImportExport/index.tsx +208 -0
  106. package/src/components/Business/ImportExport/sceneCapability.ts +28 -0
  107. package/src/components/Business/ImportExport/services/importExport.ts +208 -0
  108. package/src/components/Business/ImportExport/services/routing.ts +21 -0
  109. package/src/components/Business/ImportExport/types.ts +180 -0
  110. package/src/components/Business/SearchSelect/BusinessUtils.tsx +713 -43
  111. package/src/components/Business/SearchSelect/index.md +2 -2
  112. package/src/components/Business/SystemLog/index.md +37 -0
  113. package/src/components/Business/SystemLog/index.tsx +87 -0
  114. package/src/components/Business/TrialCalculation/PathDisplay.less +93 -0
  115. package/src/components/Business/TrialCalculation/PathDisplay_README.md +77 -0
  116. package/src/components/Business/TrialCalculation/index.tsx +322 -0
  117. package/src/components/Business/columnSettingTable/index.tsx +7 -6
  118. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +23 -22
  119. package/src/components/Functional/AddSelect/index.tsx +95 -1
  120. package/src/components/Functional/DataValidation/index.tsx +31 -9
  121. package/src/components/Functional/QueryMutipleSelect/index.tsx +2 -2
  122. package/src/components/Functional/SearchSelect/index.md +109 -0
  123. package/src/components/Functional/SearchSelect/index.tsx +99 -17
  124. package/src/components/Functional/SearchSelect/pagination.ts +57 -0
  125. package/src/components/Functional/SearchSelect/utils.tsx +28 -18
  126. package/src/components/Functional/TreeSearchSelect/index.tsx +2 -1
  127. package/src/components/Solution/RuleComponent/README.md +187 -0
  128. package/src/components/Solution/RuleComponent/RenderCompItem.tsx +9 -1
  129. package/src/components/Solution/RuleComponent/RenderCompItem_README.md +189 -0
  130. package/src/components/Solution/RuleComponent/RuleField.md +63 -0
  131. package/src/components/Solution/RuleComponent/index.js +237 -8
  132. package/src/components/Solution/RuleComponent/ruleFiled.js +46 -6
  133. package/src/components/Solution/RuleSetter/README.md +97 -0
  134. package/src/index.ts +9 -0
  135. package/src/typings/umi.d.ts +9 -0
  136. package/src/utils/LocalstorageUtils.ts +1 -1
  137. package/src/utils/auth.ts +39 -2
  138. package/src/utils/utils.ts +41 -1
@@ -0,0 +1,129 @@
1
+ import React from 'react';
2
+ import { Alert, Button, Descriptions, Modal, Space, Table } from 'antd';
3
+ import { CheckOutlined } from '@ant-design/icons';
4
+ import styles from './index.module.less';
5
+
6
+ interface PreviewProps {
7
+ preview: any;
8
+ onBack: () => void;
9
+ onExecute: () => void;
10
+ onDownloadErrorFile: () => void;
11
+ executing: boolean;
12
+ downloadingErrorFile: boolean;
13
+ }
14
+
15
+ const Preview: React.FC<PreviewProps> = ({
16
+ preview,
17
+ onBack,
18
+ onExecute,
19
+ onDownloadErrorFile,
20
+ executing,
21
+ downloadingErrorFile,
22
+ }) => {
23
+ const errorTypes = Array.isArray(preview?.errorCategories)
24
+ ? preview.errorCategories
25
+ : [];
26
+ const totalCount = Number(preview?.totalCount ?? 0);
27
+ const failedCount = Number(preview?.failedCount ?? 0);
28
+ const errorTypeCount = Number(preview?.categoryCount ?? errorTypes.length);
29
+ const hasErrors = failedCount > 0;
30
+ const canExecute = preview?.canExecute === true;
31
+ const errorFileAvailable = preview?.errorFileAvailable === true;
32
+
33
+ const handleExecute = () => {
34
+ if (hasErrors && canExecute) {
35
+ Modal.confirm({
36
+ title: '确认导入合格业务单据?',
37
+ content: '异常所属业务单据将整单跳过,仅导入其余合格业务单据。',
38
+ okText: '确认导入',
39
+ cancelText: '取消',
40
+ onOk: onExecute,
41
+ });
42
+ return;
43
+ }
44
+ onExecute();
45
+ };
46
+
47
+ return (
48
+ <div className={styles.preview}>
49
+ <section className={styles.previewCard}>
50
+ <div className={styles.sectionHeader}>
51
+ <span className={styles.sectionIndex}>
52
+ <CheckOutlined />
53
+ </span>
54
+ <span>
55
+ <span className={styles.sectionTitle}>数据校验结果</span>
56
+ <span className={styles.sectionDescription}>
57
+ 请确认校验结果后再执行正式导入
58
+ </span>
59
+ </span>
60
+ </div>
61
+ <Descriptions
62
+ bordered
63
+ size="small"
64
+ column={{ xs: 1, sm: 3 }}
65
+ className={styles.previewSummary}
66
+ >
67
+ <Descriptions.Item label="总明细数">{totalCount}</Descriptions.Item>
68
+ <Descriptions.Item label="异常明细数">
69
+ {failedCount}
70
+ </Descriptions.Item>
71
+ <Descriptions.Item label="错误类型数">
72
+ {errorTypeCount}
73
+ </Descriptions.Item>
74
+ </Descriptions>
75
+ {hasErrors && (
76
+ <Alert
77
+ className={styles.previewAlert}
78
+ type="warning"
79
+ showIcon
80
+ message={`存在 ${failedCount} 条异常明细`}
81
+ description={
82
+ canExecute
83
+ ? '异常所属业务单据将整单阻断,其余合格业务单据可继续导入。'
84
+ : '当前没有可执行的合格业务单据,请下载错误文件并重新上传校验。'
85
+ }
86
+ />
87
+ )}
88
+ {errorTypes.length > 0 && (
89
+ <Table
90
+ className={styles.previewTable}
91
+ rowKey="reason"
92
+ size="small"
93
+ pagination={false}
94
+ dataSource={errorTypes}
95
+ columns={[
96
+ { title: '错误原因', dataIndex: 'reason' },
97
+ { title: '异常明细数', dataIndex: 'count', width: 120 },
98
+ ]}
99
+ />
100
+ )}
101
+ </section>
102
+ <div className={`${styles.formFooter} ${styles.previewFooter}`}>
103
+ <div>
104
+ {errorFileAvailable && (
105
+ <Button
106
+ loading={downloadingErrorFile}
107
+ onClick={onDownloadErrorFile}
108
+ >
109
+ 下载错误文件
110
+ </Button>
111
+ )}
112
+ </div>
113
+ <Space>
114
+ <Button onClick={onBack}>上一步</Button>
115
+ <Button
116
+ type="primary"
117
+ loading={executing}
118
+ disabled={!canExecute}
119
+ onClick={handleExecute}
120
+ >
121
+ 开始导入
122
+ </Button>
123
+ </Space>
124
+ </div>
125
+ </div>
126
+ );
127
+ };
128
+
129
+ export default Preview;
@@ -0,0 +1,360 @@
1
+ .importModal {
2
+ :global {
3
+ .ant-modal {
4
+ top: 32px;
5
+ max-width: calc(100vw - 32px);
6
+ padding-bottom: 24px;
7
+ }
8
+
9
+ .ant-modal-content {
10
+ overflow: hidden;
11
+ border-radius: 8px;
12
+ box-shadow: 0 12px 40px rgba(31, 35, 41, 0.18);
13
+ }
14
+
15
+ .ant-modal-header {
16
+ padding: 18px 24px;
17
+ border-bottom-color: #eef0f3;
18
+ }
19
+
20
+ .ant-modal-body {
21
+ max-height: calc(100vh - 196px);
22
+ padding: 0;
23
+ overflow-y: auto;
24
+ background: #f7f8fa;
25
+ }
26
+
27
+ .ant-modal-footer {
28
+ padding: 14px 24px;
29
+ border-top-color: #eef0f3;
30
+ }
31
+
32
+ .ant-modal-close-x {
33
+ height: 76px;
34
+ line-height: 76px;
35
+ }
36
+ }
37
+ }
38
+
39
+ .modalTitle {
40
+ display: flex;
41
+ align-items: center;
42
+ min-height: 40px;
43
+ }
44
+
45
+ .modalTitleIcon {
46
+ display: inline-flex;
47
+ align-items: center;
48
+ justify-content: center;
49
+ width: 40px;
50
+ height: 40px;
51
+ margin-right: 12px;
52
+ color: #1677ff;
53
+ font-size: 20px;
54
+ background: #eaf3ff;
55
+ border-radius: 8px;
56
+ }
57
+
58
+ .modalTitleText,
59
+ .modalTitleDescription,
60
+ .sectionTitle,
61
+ .sectionDescription {
62
+ display: block;
63
+ }
64
+
65
+ .modalTitleText {
66
+ color: #1f2329;
67
+ font-weight: 600;
68
+ font-size: 16px;
69
+ line-height: 22px;
70
+ }
71
+
72
+ .modalTitleDescription {
73
+ margin-top: 2px;
74
+ color: #8f959e;
75
+ font-weight: 400;
76
+ font-size: 12px;
77
+ line-height: 18px;
78
+ }
79
+
80
+ .stepsPanel {
81
+ padding: 18px 112px;
82
+ background: #fff;
83
+ border-bottom: 1px solid #eef0f3;
84
+ }
85
+
86
+ .form {
87
+ padding: 16px 24px 24px;
88
+ }
89
+
90
+ .section {
91
+ margin-bottom: 16px;
92
+ padding: 18px 20px;
93
+ background: #fff;
94
+ border: 1px solid #e8eaed;
95
+ border-radius: 8px;
96
+ }
97
+
98
+ .sectionHeader {
99
+ display: flex;
100
+ align-items: flex-start;
101
+ margin-bottom: 16px;
102
+ }
103
+
104
+ .sectionIndex {
105
+ display: inline-flex;
106
+ flex: 0 0 auto;
107
+ align-items: center;
108
+ justify-content: center;
109
+ width: 24px;
110
+ height: 24px;
111
+ margin-right: 10px;
112
+ color: #1677ff;
113
+ font-weight: 600;
114
+ font-size: 13px;
115
+ background: #eaf3ff;
116
+ border-radius: 50%;
117
+ }
118
+
119
+ .sectionTitle {
120
+ color: #1f2329;
121
+ font-weight: 600;
122
+ font-size: 15px;
123
+ line-height: 22px;
124
+ }
125
+
126
+ .sectionDescription {
127
+ margin-top: 2px;
128
+ color: #8f959e;
129
+ font-size: 12px;
130
+ line-height: 18px;
131
+ }
132
+
133
+ .templateRow {
134
+ display: flex;
135
+ align-items: flex-end;
136
+ }
137
+
138
+ .templateField {
139
+ flex: 1;
140
+ margin-bottom: 12px;
141
+ }
142
+
143
+ .downloadButton {
144
+ flex: 0 0 auto;
145
+ margin-bottom: 12px;
146
+ margin-left: 12px;
147
+ }
148
+
149
+ .templateSummary {
150
+ :global {
151
+ .ant-descriptions-item-label {
152
+ color: #646a73;
153
+ background: #f7f8fa;
154
+ }
155
+
156
+ .ant-descriptions-item-content {
157
+ color: #1f2329;
158
+ }
159
+ }
160
+ }
161
+
162
+ .settingGrid {
163
+ display: grid;
164
+ grid-template-columns: 1fr 1fr;
165
+ gap: 12px;
166
+ }
167
+
168
+ .settingItem {
169
+ min-width: 0;
170
+ margin-bottom: 0;
171
+ padding: 14px 16px;
172
+ background: #f7f8fa;
173
+ border-radius: 6px;
174
+
175
+ :global {
176
+ .ant-form-item-label {
177
+ padding-bottom: 10px;
178
+ font-weight: 500;
179
+ }
180
+ }
181
+ }
182
+
183
+ .radioGroup {
184
+ display: flex;
185
+ flex-wrap: wrap;
186
+ gap: 10px 16px;
187
+
188
+ :global {
189
+ .ant-radio-wrapper {
190
+ margin-right: 0;
191
+ }
192
+ }
193
+ }
194
+
195
+ .uploadSection {
196
+ margin-bottom: 0;
197
+ }
198
+
199
+ .uploadDragger {
200
+ :global {
201
+ .ant-upload.ant-upload-drag {
202
+ min-height: 156px;
203
+ background: #fbfcfd;
204
+ border-color: #c9cdd4;
205
+ border-radius: 8px;
206
+ }
207
+
208
+ .ant-upload.ant-upload-drag:hover {
209
+ background: #f5f9ff;
210
+ border-color: #1677ff;
211
+ }
212
+
213
+ .ant-upload.ant-upload-drag .ant-upload {
214
+ padding: 24px;
215
+ }
216
+
217
+ .ant-upload-drag-icon {
218
+ margin-bottom: 8px;
219
+ }
220
+
221
+ .ant-upload-drag-icon .anticon {
222
+ color: #1677ff;
223
+ font-size: 42px;
224
+ }
225
+
226
+ .ant-upload-text {
227
+ margin-bottom: 4px;
228
+ color: #1f2329;
229
+ font-weight: 500;
230
+ font-size: 14px;
231
+ }
232
+
233
+ .ant-upload-hint {
234
+ color: #8f959e;
235
+ font-size: 12px;
236
+ }
237
+
238
+ .ant-upload-list-item {
239
+ margin-top: 10px;
240
+ }
241
+ }
242
+ }
243
+
244
+ .uploadAlert {
245
+ margin-top: 12px;
246
+ border-color: #d9e8ff;
247
+ border-radius: 6px;
248
+ }
249
+
250
+ .progressPanel {
251
+ margin-top: 14px;
252
+ padding: 12px 14px 8px;
253
+ background: #f7f8fa;
254
+ border-radius: 6px;
255
+ }
256
+
257
+ .progressTitle {
258
+ margin-bottom: 6px;
259
+ color: #646a73;
260
+ font-size: 13px;
261
+ }
262
+
263
+ .formFooter {
264
+ position: sticky;
265
+ bottom: 0;
266
+ z-index: 1;
267
+ display: flex;
268
+ justify-content: flex-end;
269
+ margin: 16px -24px 0;
270
+ padding: 14px 24px;
271
+ background: #fff;
272
+ border-top: 1px solid #eef0f3;
273
+ gap: 8px;
274
+ }
275
+
276
+ .preview {
277
+ padding: 16px 24px 0;
278
+ }
279
+
280
+ .previewCard {
281
+ min-height: 280px;
282
+ padding: 18px 20px;
283
+ background: #fff;
284
+ border: 1px solid #e8eaed;
285
+ border-radius: 8px;
286
+ }
287
+
288
+ .previewSummary {
289
+ :global {
290
+ .ant-descriptions-item-label {
291
+ color: #646a73;
292
+ background: #f7f8fa;
293
+ }
294
+
295
+ .ant-descriptions-item-content {
296
+ color: #1f2329;
297
+ font-weight: 500;
298
+ }
299
+ }
300
+ }
301
+
302
+ .previewAlert,
303
+ .previewTable {
304
+ margin-top: 12px;
305
+ }
306
+
307
+ .previewFooter {
308
+ justify-content: space-between;
309
+ }
310
+
311
+ @media (max-width: 768px) {
312
+ .stepsPanel {
313
+ padding: 16px 32px;
314
+ }
315
+
316
+ .form {
317
+ padding-right: 16px;
318
+ padding-left: 16px;
319
+ }
320
+
321
+ .preview {
322
+ padding-right: 16px;
323
+ padding-left: 16px;
324
+ }
325
+
326
+ .section {
327
+ padding: 16px;
328
+ }
329
+
330
+ .settingGrid {
331
+ grid-template-columns: 1fr;
332
+ }
333
+
334
+ .formFooter {
335
+ margin-right: -16px;
336
+ margin-left: -16px;
337
+ padding-right: 16px;
338
+ padding-left: 16px;
339
+ }
340
+ }
341
+
342
+ @media (max-width: 576px) {
343
+ .modalTitleDescription {
344
+ display: none;
345
+ }
346
+
347
+ .stepsPanel {
348
+ padding: 14px 20px;
349
+ }
350
+
351
+ .templateRow {
352
+ display: block;
353
+ }
354
+
355
+ .downloadButton {
356
+ margin-top: 0;
357
+ margin-bottom: 12px;
358
+ margin-left: 0;
359
+ }
360
+ }