@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
+ # HeaderLayout
2
+
3
+ The HeaderLayout component provides a flexible T-shaped layout with a header at the top and main content area below. The main area can optionally include a sidebar that can be dynamically resized, and the layout adapts based on provided properties.
4
+
5
+ ## Features
6
+
7
+ - **T-Shaped Layout**: Header spans the full width at the top with content below
8
+ - **Optional Sidebar**: Main content area can include a resizable sidebar
9
+ - **Flexible Configuration**: Configurable header height and sidebar dimensions
10
+ - **Split Panel Integration**: Uses Split component for smooth sidebar resizing
11
+ - **Responsive Design**: Adapts to different screen sizes and configurations
12
+
13
+ ## Import
14
+
15
+ ```typescript
16
+ import { HeaderLayout } from '@ticatec/uniface-element/app-layout/HeaderLayout';
17
+ ```
18
+
19
+ ## Properties
20
+
21
+ | Property | Type | Default | Description |
22
+ |----------|------|---------|-------------|
23
+ | `sidebarResize` | `boolean` | `false` | If set to true, enables the sidebar resizing feature |
24
+ | `headerHeight` | `string` | `"48px"` | Sets the height of the header |
25
+ | `sidebarWidth` | `string` | `"300px"` | Sets the initial width of the sidebar |
26
+ | `sidebarMaxWidth` | `string \| null` | `null` | Sets the maximum width for the sidebar when resizing |
27
+ | `sidebarMinWidth` | `string \| null` | `null` | Sets the minimum width for the sidebar when resizing |
28
+
29
+ ## Slots
30
+
31
+ - **header**: The content to be displayed in the header (spans full width)
32
+ - **sidebar**: The content to be displayed in the sidebar (optional)
33
+ - **Default Slot**: The main content to be displayed in the content area
34
+
35
+ ## Basic Usage
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>Application Header</h1>
51
+ </div>
52
+
53
+ <div slot="sidebar">
54
+ <p>Sidebar content</p>
55
+ </div>
56
+
57
+ <div>
58
+ <p>Main content area</p>
59
+ </div>
60
+ </HeaderLayout>
61
+ ```
62
+
63
+ ## Advanced Examples
64
+
65
+ ### Application with Navigation Header
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: 'Dashboard', icon: 'dashboard' },
76
+ { id: 2, text: 'Projects', icon: 'folder' },
77
+ { id: 3, text: 'Team', icon: 'people' },
78
+ { id: 4, text: 'Settings', icon: 'settings' }
79
+ ];
80
+
81
+ let breadcrumbItems = [
82
+ { text: 'Home', href: '#' },
83
+ { text: 'Projects', href: '#' },
84
+ { text: 'Current Project' }
85
+ ];
86
+
87
+ let currentUser = { name: 'John Doe', role: 'Admin' };
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>Project Manager</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">Profile</Button>
112
+ <Button type="primary" size="small">Logout</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>Welcome to Dashboard</h2>
123
+ <p>Manage your projects and team from here</p>
124
+ </div>
125
+
126
+ <div class="content-body">
127
+ <div class="stats-grid">
128
+ <div class="stat-card">
129
+ <h3>Active Projects</h3>
130
+ <div class="stat-value">12</div>
131
+ </div>
132
+ <div class="stat-card">
133
+ <h3>Team Members</h3>
134
+ <div class="stat-value">8</div>
135
+ </div>
136
+ <div class="stat-card">
137
+ <h3>Completed Tasks</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
+ ### Document Editor Layout
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 = 'Untitled Document';
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="File menu" />
263
+ <div class="document-info">
264
+ <input
265
+ bind:value={documentTitle}
266
+ class="document-title"
267
+ placeholder="Untitled Document"
268
+ />
269
+ <small class="last-saved">Last saved: {lastSaved}</small>
270
+ </div>
271
+ </div>
272
+
273
+ <div class="header-center">
274
+ <div class="toolbar">
275
+ <IconButton icon="undo" title="Undo" />
276
+ <IconButton icon="redo" title="Redo" />
277
+ <div class="divider"></div>
278
+ <IconButton icon="format_bold" title="Bold" />
279
+ <IconButton icon="format_italic" title="Italic" />
280
+ <IconButton icon="format_underlined" title="Underline" />
281
+ </div>
282
+ </div>
283
+
284
+ <div class="header-right">
285
+ <Button variant="outlined" size="small">Share</Button>
286
+ <Button type="primary" size="small">Save</Button>
287
+ </div>
288
+ </div>
289
+
290
+ <div slot="sidebar" class="document-sidebar">
291
+ <div class="sidebar-section">
292
+ <h3>Document Outline</h3>
293
+ <ul class="outline-list">
294
+ <li><a href="#intro">Introduction</a></li>
295
+ <li><a href="#chapter1">Chapter 1</a></li>
296
+ <li><a href="#chapter2">Chapter 2</a></li>
297
+ <li><a href="#conclusion">Conclusion</a></li>
298
+ </ul>
299
+ </div>
300
+
301
+ <div class="sidebar-section">
302
+ <h3>Statistics</h3>
303
+ <div class="doc-stats">
304
+ <div class="stat-item">
305
+ <label>Words:</label>
306
+ <span>{wordCount}</span>
307
+ </div>
308
+ <div class="stat-item">
309
+ <label>Characters:</label>
310
+ <span>{wordCount * 5}</span>
311
+ </div>
312
+ <div class="stat-item">
313
+ <label>Pages:</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>Document Title</h1>
324
+ <p>Start writing your document here...</p>
325
+ <p>The editor content would go in this area. You can add any rich text editing component or simple textarea.</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
+ ## Best Practices
495
+
496
+ 1. **Header Content**: Use the header for global navigation, branding, and user actions
497
+ 2. **Layout Hierarchy**: Ensure clear visual hierarchy between header, sidebar, and main content
498
+ 3. **Responsive Behavior**: Consider how the layout behaves on different screen sizes
499
+ 4. **Performance**: Keep header content lightweight for consistent performance
500
+ 5. **Accessibility**: Use semantic HTML and proper focus management
501
+ 6. **Content Organization**: Use the sidebar for contextual navigation and tools
502
+
503
+ ## Accessibility Considerations
504
+
505
+ - Use proper heading hierarchy (h1 in header, h2+ in content areas)
506
+ - Ensure keyboard navigation works across all layout sections
507
+ - Provide skip links for screen reader users
508
+ - Maintain proper focus management when sections are resized
509
+ - Use semantic HTML elements within slots (header, nav, main)
510
+
511
+ ## Browser Support
512
+
513
+ - Modern browsers with CSS Grid and Flexbox support
514
+ - Resize functionality requires pointer events support
515
+ - Layout works in all browsers supporting CSS Grid
516
+
517
+ ## Notes
518
+
519
+ - The component uses the Split component internally for sidebar resize functionality
520
+ - Header spans the full width and remains fixed at the top
521
+ - Sidebar is optional - the layout works with just header and main content
522
+ - You can specify minimum and maximum widths for the sidebar when resizing
523
+ - All dimensions can be specified in any valid CSS unit (px, %, rem, etc.)
524
+ - The layout automatically adapts to the provided slot content