@ticatec/uniface-element 0.2.0 → 0.2.1

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 (126) hide show
  1. package/README.md +273 -1
  2. package/README_CN.md +341 -0
  3. package/dist/common/MouseClickHandler.d.ts +1 -1
  4. package/dist/dialog/CommonDialog.svelte +6 -3
  5. package/dist/dialog/CommonDialog.svelte.d.ts +2 -1
  6. package/dist/dialog/Dialog.svelte +36 -10
  7. package/dist/dialog/Dialog.svelte.d.ts +4 -3
  8. package/dist/dialog/DialogBoard.svelte +11 -8
  9. package/dist/dialog/DialogWrapper.svelte +10 -0
  10. package/dist/dialog/DialogWrapper.svelte.d.ts +22 -0
  11. package/dist/dialog/Dialogs.js +1 -1
  12. package/dist/dialog/ModalResult.d.ts +5 -0
  13. package/dist/dialog/ModalResult.js +5 -0
  14. package/docs/buttons/cn/ActionBar.md +459 -0
  15. package/docs/buttons/cn/Button.md +228 -0
  16. package/docs/buttons/cn/IconButton.md +294 -0
  17. package/docs/buttons/cn/README.md +600 -0
  18. package/docs/buttons/cn/TextButton.md +163 -0
  19. package/docs/buttons/en/ActionBar.md +459 -0
  20. package/docs/buttons/en/Button.md +228 -0
  21. package/docs/buttons/en/IconButton.md +294 -0
  22. package/docs/buttons/en/README.md +600 -0
  23. package/docs/buttons/en/TextButton.md +163 -0
  24. package/docs/containers/cn/accordion.md +622 -0
  25. package/docs/containers/cn/box.md +445 -0
  26. package/docs/containers/cn/card.md +404 -0
  27. package/docs/containers/cn/page.md +576 -0
  28. package/docs/containers/cn/tabs.md +686 -0
  29. package/docs/containers/en/accordion.md +622 -0
  30. package/docs/containers/en/box.md +445 -0
  31. package/docs/containers/en/card.md +404 -0
  32. package/docs/containers/en/page.md +576 -0
  33. package/docs/containers/en/tabs.md +686 -0
  34. package/docs/data-display/cn/concise-data-table.md +731 -0
  35. package/docs/data-display/cn/listbox.md +786 -0
  36. package/docs/data-display/cn/treeview.md +863 -0
  37. package/docs/data-display/en/concise-data-table.md +732 -0
  38. package/docs/data-display/en/listbox.md +786 -0
  39. package/docs/data-display/en/treeview.md +863 -0
  40. package/docs/data-table/cn/README.md +596 -0
  41. package/docs/data-table/en/README.md +596 -0
  42. package/docs/dialog/cn/README.md +767 -0
  43. package/docs/dialog/en/README.md +767 -0
  44. package/docs/form/cn/README.md +847 -0
  45. package/docs/form/en/README.md +847 -0
  46. package/docs/form-components/cn/README.md +495 -0
  47. package/docs/form-components/cn/attachmentfilesfield.md +757 -0
  48. package/docs/form-components/cn/cascade-options-select.md +374 -0
  49. package/docs/form-components/cn/checkbox.md +58 -0
  50. package/docs/form-components/cn/date-picker.md +138 -0
  51. package/docs/form-components/cn/datetime-picker.md +228 -0
  52. package/docs/form-components/cn/group-checkbox.md +405 -0
  53. package/docs/form-components/cn/group-radiobox.md +525 -0
  54. package/docs/form-components/cn/imagefilesfield.md +651 -0
  55. package/docs/form-components/cn/input-options-select.md +250 -0
  56. package/docs/form-components/cn/lookup-editor.md +406 -0
  57. package/docs/form-components/cn/memoeditor.md +409 -0
  58. package/docs/form-components/cn/number-editor.md +261 -0
  59. package/docs/form-components/cn/options-multi-select.md +177 -0
  60. package/docs/form-components/cn/options-select.md +83 -0
  61. package/docs/form-components/cn/passwordeditor.md +538 -0
  62. package/docs/form-components/cn/prompts-text-editor.md +241 -0
  63. package/docs/form-components/cn/radiobutton.md +84 -0
  64. package/docs/form-components/cn/switch.md +178 -0
  65. package/docs/form-components/cn/text-editor.md +142 -0
  66. package/docs/form-components/cn/time-editor.md +159 -0
  67. package/docs/form-components/cn/unit-number-editor.md +164 -0
  68. package/docs/form-components/en/README.md +463 -0
  69. package/docs/form-components/en/attachmentfilesfield.md +757 -0
  70. package/docs/form-components/en/cascade-options-select.md +358 -0
  71. package/docs/form-components/en/checkbox.md +59 -0
  72. package/docs/form-components/en/date-picker.md +138 -0
  73. package/docs/form-components/en/datetime-picker.md +228 -0
  74. package/docs/form-components/en/group-checkbox.md +395 -0
  75. package/docs/form-components/en/group-radiobox.md +498 -0
  76. package/docs/form-components/en/imagefilesfield.md +651 -0
  77. package/docs/form-components/en/input-options-select.md +239 -0
  78. package/docs/form-components/en/lookup-editor.md +389 -0
  79. package/docs/form-components/en/memoeditor.md +409 -0
  80. package/docs/form-components/en/number-editor.md +249 -0
  81. package/docs/form-components/en/options-multi-select.md +177 -0
  82. package/docs/form-components/en/options-select.md +83 -0
  83. package/docs/form-components/en/passwordeditor.md +538 -0
  84. package/docs/form-components/en/prompts-text-editor.md +241 -0
  85. package/docs/form-components/en/radiobutton.md +84 -0
  86. package/docs/form-components/en/switch.md +180 -0
  87. package/docs/form-components/en/text-editor.md +142 -0
  88. package/docs/form-components/en/time-editor.md +159 -0
  89. package/docs/form-components/en/unit-number-editor.md +164 -0
  90. package/docs/form-layout/cn/criteria-field.md +652 -0
  91. package/docs/form-layout/cn/flex-form.md +454 -0
  92. package/docs/form-layout/cn/flex-row-form.md +542 -0
  93. package/docs/form-layout/cn/form-field.md +923 -0
  94. package/docs/form-layout/cn/grid-form.md +676 -0
  95. package/docs/form-layout/en/criteria-field.md +652 -0
  96. package/docs/form-layout/en/flex-form.md +454 -0
  97. package/docs/form-layout/en/flex-row-form.md +542 -0
  98. package/docs/form-layout/en/form-field.md +923 -0
  99. package/docs/form-layout/en/grid-form.md +676 -0
  100. package/docs/global/cn/README.md +534 -0
  101. package/docs/global/en/README.md +534 -0
  102. package/docs/layout/cn/classiclayout.md +460 -0
  103. package/docs/layout/cn/headerlayout.md +524 -0
  104. package/docs/layout/cn/sidebarlayout.md +263 -0
  105. package/docs/layout/en/classiclayout.md +951 -0
  106. package/docs/layout/en/headerlayout.md +524 -0
  107. package/docs/layout/en/sidebarlayout.md +262 -0
  108. package/docs/misc/cn/README.md +1217 -0
  109. package/docs/misc/en/README.md +1217 -0
  110. package/docs/navigation/cn/breadcrumb.md +291 -0
  111. package/docs/navigation/cn/navigator.md +322 -0
  112. package/docs/navigation/cn/navigatormenu.md +512 -0
  113. package/docs/navigation/cn/progressbar.md +199 -0
  114. package/docs/navigation/cn/progressstepbar.md +299 -0
  115. package/docs/navigation/en/breadcrumb.md +291 -0
  116. package/docs/navigation/en/navigator.md +322 -0
  117. package/docs/navigation/en/navigatormenu.md +512 -0
  118. package/docs/navigation/en/progressbar.md +199 -0
  119. package/docs/navigation/en/progressstepbar.md +299 -0
  120. package/docs/search-filters/cn/daterange.md +1156 -0
  121. package/docs/search-filters/cn/numberrange.md +688 -0
  122. package/docs/search-filters/cn/searchbox.md +1582 -0
  123. package/docs/search-filters/en/daterange.md +1156 -0
  124. package/docs/search-filters/en/numberrange.md +688 -0
  125. package/docs/search-filters/en/searchbox.md +1582 -0
  126. package/package.json +38 -5
@@ -0,0 +1,524 @@
1
+ # T型布局 HeaderLayout
2
+
3
+ HeaderLayout组件提供了一个灵活的T型布局,顶部是头部,下方是主要内容区域。主要区域可以选择性地包含一个可以动态调整大小的侧边栏,布局会根据提供的属性进行适配。
4
+
5
+ ## 功能特性
6
+
7
+ - **T型布局**:头部横跨顶部全宽,下方是内容区域
8
+ - **可选侧边栏**:主要内容区域可以包含可调整大小的侧边栏
9
+ - **灵活配置**:可配置的头部高度和侧边栏尺寸
10
+ - **分割面板集成**:使用Split组件实现平滑的侧边栏调整大小
11
+ - **响应式设计**:适应不同屏幕尺寸和配置
12
+
13
+ ## 导入
14
+
15
+ ```typescript
16
+ import { HeaderLayout } from '@ticatec/uniface-element/app-layout/HeaderLayout';
17
+ ```
18
+
19
+ ## 属性
20
+
21
+ | 属性 | 类型 | 默认值 | 描述 |
22
+ |------|------|--------|------|
23
+ | `sidebarResize` | `boolean` | `false` | 如果设置为 true,则启用侧边栏调整大小功能 |
24
+ | `headerHeight` | `string` | `"48px"` | 设置头部的高度 |
25
+ | `sidebarWidth` | `string` | `"300px"` | 设置侧边栏的初始宽度 |
26
+ | `sidebarMaxWidth` | `string \| null` | `null` | 设置调整大小时侧边栏的最大宽度 |
27
+ | `sidebarMinWidth` | `string \| null` | `null` | 设置调整大小时侧边栏的最小宽度 |
28
+
29
+ ## 插槽
30
+
31
+ - **header**: 要在头部中显示的内容(横跨全宽)
32
+ - **sidebar**: 要在侧边栏中显示的内容(可选)
33
+ - **Default Slot**: 要在内容区域显示的主要内容
34
+
35
+ ## 基本用法
36
+
37
+ ```svelte
38
+ <script lang="ts">
39
+ import { HeaderLayout } from '@ticatec/uniface-element/app-layout/HeaderLayout';
40
+ </script>
41
+
42
+ <HeaderLayout
43
+ sidebarResize={true}
44
+ headerHeight="60px"
45
+ sidebarWidth="250px"
46
+ sidebarMaxWidth="400px"
47
+ sidebarMinWidth="200px"
48
+ >
49
+ <div slot="header">
50
+ <h1>应用程序头部</h1>
51
+ </div>
52
+
53
+ <div slot="sidebar">
54
+ <p>侧边栏内容</p>
55
+ </div>
56
+
57
+ <div>
58
+ <p>主要内容区域</p>
59
+ </div>
60
+ </HeaderLayout>
61
+ ```
62
+
63
+ ## 高级示例
64
+
65
+ ### 带导航头部的应用程序
66
+
67
+ ```svelte
68
+ <script lang="ts">
69
+ import { HeaderLayout } from '@ticatec/uniface-element/app-layout/HeaderLayout';
70
+ import { NavigatorMenu } from '@ticatec/uniface-element/NavigatorMenu';
71
+ import { Button } from '@ticatec/uniface-element/Button';
72
+ import Breadcrumbs from '@ticatec/uniface-element/Breadcrumbs';
73
+
74
+ let menuItems = [
75
+ { id: 1, text: '仪表板', icon: 'dashboard' },
76
+ { id: 2, text: '项目管理', icon: 'folder' },
77
+ { id: 3, text: '团队管理', icon: 'people' },
78
+ { id: 4, text: '系统设置', icon: 'settings' }
79
+ ];
80
+
81
+ let breadcrumbItems = [
82
+ { text: '首页', href: '#' },
83
+ { text: '项目管理', href: '#' },
84
+ { text: '当前项目' }
85
+ ];
86
+
87
+ let currentUser = { name: '张三', role: '管理员' };
88
+ </script>
89
+
90
+ <HeaderLayout
91
+ sidebarResize={true}
92
+ headerHeight="80px"
93
+ sidebarWidth="280px"
94
+ sidebarMaxWidth="400px"
95
+ sidebarMinWidth="200px"
96
+ >
97
+ <div slot="header" class="app-header">
98
+ <div class="header-brand">
99
+ <img src="/logo.png" alt="Logo" class="logo" />
100
+ <h1>项目管理系统</h1>
101
+ </div>
102
+
103
+ <div class="header-nav">
104
+ <Breadcrumbs items={breadcrumbItems} />
105
+ </div>
106
+
107
+ <div class="header-user">
108
+ <span class="user-info">
109
+ {currentUser.name} ({currentUser.role})
110
+ </span>
111
+ <Button variant="outlined" size="small">个人资料</Button>
112
+ <Button type="primary" size="small">退出登录</Button>
113
+ </div>
114
+ </div>
115
+
116
+ <div slot="sidebar" class="app-sidebar">
117
+ <NavigatorMenu items={menuItems} />
118
+ </div>
119
+
120
+ <main class="app-content">
121
+ <div class="content-header">
122
+ <h2>欢迎使用仪表板</h2>
123
+ <p>从这里管理您的项目和团队</p>
124
+ </div>
125
+
126
+ <div class="content-body">
127
+ <div class="stats-grid">
128
+ <div class="stat-card">
129
+ <h3>活跃项目</h3>
130
+ <div class="stat-value">12</div>
131
+ </div>
132
+ <div class="stat-card">
133
+ <h3>团队成员</h3>
134
+ <div class="stat-value">8</div>
135
+ </div>
136
+ <div class="stat-card">
137
+ <h3>已完成任务</h3>
138
+ <div class="stat-value">145</div>
139
+ </div>
140
+ </div>
141
+ </div>
142
+ </main>
143
+ </HeaderLayout>
144
+
145
+ <style>
146
+ .app-header {
147
+ display: flex;
148
+ justify-content: space-between;
149
+ align-items: center;
150
+ padding: 0 20px;
151
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
152
+ color: white;
153
+ box-shadow: 0 2px 8px rgba(0,0,0,0.1);
154
+ }
155
+
156
+ .header-brand {
157
+ display: flex;
158
+ align-items: center;
159
+ gap: 15px;
160
+ }
161
+
162
+ .logo {
163
+ width: 40px;
164
+ height: 40px;
165
+ }
166
+
167
+ .header-nav {
168
+ flex: 1;
169
+ display: flex;
170
+ justify-content: center;
171
+ }
172
+
173
+ .header-user {
174
+ display: flex;
175
+ align-items: center;
176
+ gap: 15px;
177
+ }
178
+
179
+ .user-info {
180
+ font-size: 0.9em;
181
+ }
182
+
183
+ .app-sidebar {
184
+ background: #f8f9fa;
185
+ border-right: 1px solid #e9ecef;
186
+ padding: 20px 0;
187
+ }
188
+
189
+ .app-content {
190
+ padding: 30px;
191
+ background: #ffffff;
192
+ }
193
+
194
+ .content-header {
195
+ margin-bottom: 30px;
196
+ padding-bottom: 20px;
197
+ border-bottom: 1px solid #e9ecef;
198
+ }
199
+
200
+ .content-header h2 {
201
+ margin: 0 0 5px 0;
202
+ color: #2c3e50;
203
+ }
204
+
205
+ .content-header p {
206
+ margin: 0;
207
+ color: #6c757d;
208
+ }
209
+
210
+ .stats-grid {
211
+ display: grid;
212
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
213
+ gap: 20px;
214
+ }
215
+
216
+ .stat-card {
217
+ background: white;
218
+ padding: 20px;
219
+ border-radius: 8px;
220
+ box-shadow: 0 2px 4px rgba(0,0,0,0.1);
221
+ text-align: center;
222
+ }
223
+
224
+ .stat-card h3 {
225
+ margin: 0 0 10px 0;
226
+ font-size: 0.9em;
227
+ color: #6c757d;
228
+ text-transform: uppercase;
229
+ letter-spacing: 1px;
230
+ }
231
+
232
+ .stat-value {
233
+ font-size: 2.5em;
234
+ font-weight: bold;
235
+ color: #2c3e50;
236
+ }
237
+ </style>
238
+ ```
239
+
240
+ ### 文档编辑器布局
241
+
242
+ ```svelte
243
+ <script lang="ts">
244
+ import { HeaderLayout } from '@ticatec/uniface-element/app-layout/HeaderLayout';
245
+ import { Button } from '@ticatec/uniface-element/Button';
246
+ import { IconButton } from '@ticatec/uniface-element/IconButton';
247
+
248
+ let documentTitle = '无标题文档';
249
+ let lastSaved = new Date().toLocaleTimeString();
250
+ let wordCount = 1247;
251
+ </script>
252
+
253
+ <HeaderLayout
254
+ sidebarResize={true}
255
+ headerHeight="70px"
256
+ sidebarWidth="250px"
257
+ sidebarMaxWidth="350px"
258
+ sidebarMinWidth="200px"
259
+ >
260
+ <div slot="header" class="editor-header">
261
+ <div class="header-left">
262
+ <IconButton icon="menu" title="文件菜单" />
263
+ <div class="document-info">
264
+ <input
265
+ bind:value={documentTitle}
266
+ class="document-title"
267
+ placeholder="无标题文档"
268
+ />
269
+ <small class="last-saved">最后保存: {lastSaved}</small>
270
+ </div>
271
+ </div>
272
+
273
+ <div class="header-center">
274
+ <div class="toolbar">
275
+ <IconButton icon="undo" title="撤销" />
276
+ <IconButton icon="redo" title="重做" />
277
+ <div class="divider"></div>
278
+ <IconButton icon="format_bold" title="加粗" />
279
+ <IconButton icon="format_italic" title="斜体" />
280
+ <IconButton icon="format_underlined" title="下划线" />
281
+ </div>
282
+ </div>
283
+
284
+ <div class="header-right">
285
+ <Button variant="outlined" size="small">分享</Button>
286
+ <Button type="primary" size="small">保存</Button>
287
+ </div>
288
+ </div>
289
+
290
+ <div slot="sidebar" class="document-sidebar">
291
+ <div class="sidebar-section">
292
+ <h3>文档大纲</h3>
293
+ <ul class="outline-list">
294
+ <li><a href="#intro">引言</a></li>
295
+ <li><a href="#chapter1">第一章</a></li>
296
+ <li><a href="#chapter2">第二章</a></li>
297
+ <li><a href="#conclusion">结论</a></li>
298
+ </ul>
299
+ </div>
300
+
301
+ <div class="sidebar-section">
302
+ <h3>统计信息</h3>
303
+ <div class="doc-stats">
304
+ <div class="stat-item">
305
+ <label>字数:</label>
306
+ <span>{wordCount}</span>
307
+ </div>
308
+ <div class="stat-item">
309
+ <label>字符数:</label>
310
+ <span>{wordCount * 5}</span>
311
+ </div>
312
+ <div class="stat-item">
313
+ <label>页数:</label>
314
+ <span>{Math.ceil(wordCount / 250)}</span>
315
+ </div>
316
+ </div>
317
+ </div>
318
+ </div>
319
+
320
+ <div class="editor-content">
321
+ <div class="document-editor">
322
+ <div class="editor-paper">
323
+ <h1>文档标题</h1>
324
+ <p>开始在这里编写您的文档...</p>
325
+ <p>编辑器内容将在这个区域显示。您可以添加任何富文本编辑组件或简单的文本区域。</p>
326
+ </div>
327
+ </div>
328
+ </div>
329
+ </HeaderLayout>
330
+
331
+ <style>
332
+ .editor-header {
333
+ display: flex;
334
+ justify-content: space-between;
335
+ align-items: center;
336
+ padding: 0 15px;
337
+ background: white;
338
+ border-bottom: 1px solid #e0e0e0;
339
+ box-shadow: 0 1px 3px rgba(0,0,0,0.1);
340
+ }
341
+
342
+ .header-left {
343
+ display: flex;
344
+ align-items: center;
345
+ gap: 15px;
346
+ }
347
+
348
+ .document-info {
349
+ display: flex;
350
+ flex-direction: column;
351
+ gap: 2px;
352
+ }
353
+
354
+ .document-title {
355
+ border: none;
356
+ font-size: 1.1em;
357
+ font-weight: 500;
358
+ padding: 2px 4px;
359
+ border-radius: 3px;
360
+ background: transparent;
361
+ }
362
+
363
+ .document-title:focus {
364
+ background: #f5f5f5;
365
+ outline: none;
366
+ }
367
+
368
+ .last-saved {
369
+ color: #666;
370
+ font-size: 0.8em;
371
+ }
372
+
373
+ .header-center {
374
+ flex: 1;
375
+ display: flex;
376
+ justify-content: center;
377
+ }
378
+
379
+ .toolbar {
380
+ display: flex;
381
+ align-items: center;
382
+ gap: 5px;
383
+ background: #f8f9fa;
384
+ padding: 5px 10px;
385
+ border-radius: 6px;
386
+ }
387
+
388
+ .divider {
389
+ width: 1px;
390
+ height: 20px;
391
+ background: #dee2e6;
392
+ margin: 0 5px;
393
+ }
394
+
395
+ .header-right {
396
+ display: flex;
397
+ gap: 10px;
398
+ }
399
+
400
+ .document-sidebar {
401
+ background: #fafafa;
402
+ border-right: 1px solid #e0e0e0;
403
+ padding: 20px 0;
404
+ }
405
+
406
+ .sidebar-section {
407
+ padding: 0 20px;
408
+ margin-bottom: 30px;
409
+ }
410
+
411
+ .sidebar-section h3 {
412
+ margin: 0 0 15px 0;
413
+ font-size: 0.9em;
414
+ color: #495057;
415
+ text-transform: uppercase;
416
+ letter-spacing: 0.5px;
417
+ }
418
+
419
+ .outline-list {
420
+ list-style: none;
421
+ padding: 0;
422
+ margin: 0;
423
+ }
424
+
425
+ .outline-list li {
426
+ margin-bottom: 8px;
427
+ }
428
+
429
+ .outline-list a {
430
+ text-decoration: none;
431
+ color: #6c757d;
432
+ padding: 4px 8px;
433
+ display: block;
434
+ border-radius: 4px;
435
+ transition: all 0.2s;
436
+ }
437
+
438
+ .outline-list a:hover {
439
+ background: #e9ecef;
440
+ color: #495057;
441
+ }
442
+
443
+ .doc-stats {
444
+ display: flex;
445
+ flex-direction: column;
446
+ gap: 8px;
447
+ }
448
+
449
+ .stat-item {
450
+ display: flex;
451
+ justify-content: space-between;
452
+ align-items: center;
453
+ font-size: 0.9em;
454
+ }
455
+
456
+ .stat-item label {
457
+ color: #6c757d;
458
+ }
459
+
460
+ .stat-item span {
461
+ font-weight: 500;
462
+ color: #495057;
463
+ }
464
+
465
+ .editor-content {
466
+ background: #f8f9fa;
467
+ padding: 20px;
468
+ }
469
+
470
+ .document-editor {
471
+ max-width: 800px;
472
+ margin: 0 auto;
473
+ }
474
+
475
+ .editor-paper {
476
+ background: white;
477
+ padding: 40px;
478
+ box-shadow: 0 2px 8px rgba(0,0,0,0.1);
479
+ min-height: 600px;
480
+ }
481
+
482
+ .editor-paper h1 {
483
+ margin-top: 0;
484
+ color: #2c3e50;
485
+ }
486
+
487
+ .editor-paper p {
488
+ line-height: 1.6;
489
+ color: #495057;
490
+ }
491
+ </style>
492
+ ```
493
+
494
+ ## 最佳实践
495
+
496
+ 1. **头部内容**:使用头部进行全局导航、品牌展示和用户操作
497
+ 2. **布局层次**:确保头部、侧边栏和主要内容之间有清晰的视觉层次
498
+ 3. **响应式行为**:考虑布局在不同屏幕尺寸下的表现
499
+ 4. **性能优化**:保持头部内容轻量化以确保一致的性能
500
+ 5. **无障碍访问**:使用语义化HTML和适当的焦点管理
501
+ 6. **内容组织**:使用侧边栏进行上下文导航和工具展示
502
+
503
+ ## 无障碍访问注意事项
504
+
505
+ - 使用正确的标题层次结构(头部使用h1,内容区域使用h2+)
506
+ - 确保键盘导航在所有布局区域都能正常工作
507
+ - 为屏幕阅读器用户提供跳转链接
508
+ - 当区域调整大小时保持适当的焦点管理
509
+ - 在插槽内使用语义化HTML元素(header、nav、main)
510
+
511
+ ## 浏览器支持
512
+
513
+ - 支持CSS Grid和Flexbox的现代浏览器
514
+ - 调整大小功能需要指针事件支持
515
+ - 布局在所有支持CSS Grid的浏览器中工作
516
+
517
+ ## 注意事项
518
+
519
+ - 该组件内部使用Split组件实现侧边栏调整大小功能
520
+ - 头部横跨全宽并保持在顶部固定
521
+ - 侧边栏是可选的 - 布局可以只使用头部和主要内容
522
+ - 你可以指定调整大小时侧边栏的最小和最大宽度
523
+ - 所有尺寸都可以用任何有效的CSS单位指定(px、%、rem等)
524
+ - 布局会自动适配提供的插槽内容