@ticatec/uniface-element 0.2.3 → 0.3.0

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 (178) hide show
  1. package/dist/accordion/README.md +169 -0
  2. package/dist/accordion/README_CN.md +176 -0
  3. package/dist/action-bar/README.md +275 -0
  4. package/dist/action-bar/README_CN.md +285 -0
  5. package/dist/app-layout/README.md +374 -0
  6. package/dist/app-layout/README_CN.md +381 -0
  7. package/dist/app-top-bar/README.md +357 -0
  8. package/dist/app-top-bar/README_CN.md +365 -0
  9. package/dist/attachment-files/AttachmentFilesField.svelte +67 -1
  10. package/dist/attachment-files/AttachmentFilesField.svelte.d.ts +8 -1
  11. package/dist/base-calendar/CalendarBase.svelte +0 -3
  12. package/dist/box/README.md +385 -0
  13. package/dist/box/README_CN.md +393 -0
  14. package/dist/breadcrumbs/README.md +442 -0
  15. package/dist/breadcrumbs/README_CN.md +442 -0
  16. package/dist/button/Button.svelte +27 -7
  17. package/dist/button/Button.svelte.d.ts +3 -1
  18. package/dist/button/IconButton.svelte +26 -6
  19. package/dist/button/IconButton.svelte.d.ts +3 -1
  20. package/dist/button/IconButton_README.md +513 -0
  21. package/dist/button/IconButton_README_CN.md +513 -0
  22. package/dist/button/README.md +428 -0
  23. package/dist/button/README_CN.md +428 -0
  24. package/dist/button/TextButton.svelte +26 -6
  25. package/dist/button/TextButton.svelte.d.ts +3 -1
  26. package/dist/button/TextButton_README.md +571 -0
  27. package/dist/button/TextButton_README_CN.md +571 -0
  28. package/dist/card/README.md +666 -0
  29. package/dist/card/README_CN.md +666 -0
  30. package/dist/cascade-options-select/CascadeOptionSelect.svelte +43 -7
  31. package/dist/cascade-options-select/CascadeOptionSelect.svelte.d.ts +3 -4
  32. package/dist/cascade-options-select/README.md +663 -2
  33. package/dist/cascade-options-select/README_CN.md +664 -0
  34. package/dist/checkbox/CheckBox.svelte +20 -6
  35. package/dist/checkbox/CheckBox.svelte.d.ts +4 -2
  36. package/dist/checkbox/README.md +562 -0
  37. package/dist/checkbox/README_CN.md +727 -0
  38. package/dist/common-editor/NumberInput.svelte +39 -26
  39. package/dist/common-editor/NumberInput.svelte.d.ts +5 -1
  40. package/dist/concise-data-table/ConciseListTable.svelte +133 -36
  41. package/dist/concise-data-table/ConciseListTable.svelte.d.ts +8 -1
  42. package/dist/concise-data-table/DataCell.svelte +5 -6
  43. package/dist/concise-data-table/DataRow.svelte +22 -2
  44. package/dist/concise-data-table/DataRow.svelte.d.ts +1 -0
  45. package/dist/concise-data-table/README.md +606 -0
  46. package/dist/concise-data-table/README_CN.md +611 -0
  47. package/dist/context-menu/ContextMenu.svelte +138 -21
  48. package/dist/context-menu/ContextMenu.svelte.d.ts +5 -0
  49. package/dist/context-menu/ContextMenuItem.d.ts +20 -4
  50. package/dist/context-menu/README.md +551 -0
  51. package/dist/context-menu/README_CN.md +551 -0
  52. package/dist/criteria-field/CriteriaField.svelte +3 -5
  53. package/dist/criteria-field/README.md +532 -0
  54. package/dist/criteria-field/README_CN.md +532 -0
  55. package/dist/data-table/README.md +712 -0
  56. package/dist/data-table/README_CN.md +712 -0
  57. package/dist/date-picker/DatePicker.svelte +44 -7
  58. package/dist/date-picker/DatePicker.svelte.d.ts +3 -4
  59. package/dist/date-picker/DateTimePicker.svelte +32 -8
  60. package/dist/date-picker/DateTimePicker.svelte.d.ts +3 -4
  61. package/dist/date-picker/README.md +326 -0
  62. package/dist/date-picker/README_CN.md +316 -0
  63. package/dist/date-picker/ScrollBar.svelte +18 -8
  64. package/dist/date-picker/ScrollBar.svelte.d.ts +1 -1
  65. package/dist/date-picker/TimePanel.svelte +5 -5
  66. package/dist/date-picker/TimePanel.svelte.d.ts +1 -1
  67. package/dist/date-range/README.md +374 -0
  68. package/dist/date-range/README_CN.md +374 -0
  69. package/dist/dialog/DialogBoard.svelte +1 -1
  70. package/dist/dialog/README.md +596 -0
  71. package/dist/dialog/README_CN.md +596 -0
  72. package/dist/drawer/README.md +679 -1
  73. package/dist/drawer/README_CN.md +679 -0
  74. package/dist/group-box/group-check-box/GroupCheckBox.svelte +62 -5
  75. package/dist/group-box/group-check-box/GroupCheckBox.svelte.d.ts +7 -2
  76. package/dist/group-box/group-check-box/README.md +749 -0
  77. package/dist/group-box/group-check-box/README_CN.md +750 -0
  78. package/dist/group-box/group-radio-box/GroupRadioBox.svelte +69 -4
  79. package/dist/group-box/group-radio-box/GroupRadioBox.svelte.d.ts +8 -2
  80. package/dist/group-box/group-radio-box/README.md +920 -0
  81. package/dist/group-box/group-radio-box/README_CN.md +920 -0
  82. package/dist/image-files/README.md +1346 -0
  83. package/dist/image-files/README_CN.md +1346 -0
  84. package/dist/input-options-select/InputOptionsSelect.svelte +161 -65
  85. package/dist/input-options-select/InputOptionsSelect.svelte.d.ts +4 -1
  86. package/dist/lib/forwardAllEvents.d.ts +3 -0
  87. package/dist/lib/forwardAllEvents.js +24 -0
  88. package/dist/list-box/README.md +579 -0
  89. package/dist/list-box/README_CN.md +682 -0
  90. package/dist/lookup-editor/LookupEditor.svelte +15 -3
  91. package/dist/lookup-editor/LookupEditor.svelte.d.ts +3 -4
  92. package/dist/lookup-editor/README.md +684 -0
  93. package/dist/lookup-editor/README_CN.md +684 -0
  94. package/dist/memo-editor/MemoEditor.svelte +77 -27
  95. package/dist/memo-editor/MemoEditor.svelte.d.ts +6 -3
  96. package/dist/memo-editor/README.md +819 -0
  97. package/dist/memo-editor/README_CN.md +819 -0
  98. package/dist/message-box/README.md +398 -0
  99. package/dist/message-box/README_CN.md +398 -0
  100. package/dist/number-editor/NumberEditor.svelte +2 -2
  101. package/dist/number-editor/NumberEditor.svelte.d.ts +1 -1
  102. package/dist/number-editor/README.md +353 -22
  103. package/dist/number-editor/README_CN.md +357 -0
  104. package/dist/number-range/README.md +443 -0
  105. package/dist/number-range/README_CN.md +443 -0
  106. package/dist/options-multi-select/OptionsMultiSelect.svelte +87 -12
  107. package/dist/options-multi-select/OptionsMultiSelect.svelte.d.ts +3 -1
  108. package/dist/options-multi-select/README.md +480 -0
  109. package/dist/options-multi-select/README_CN.md +480 -0
  110. package/dist/options-select/OptionsSelect.svelte +36 -5
  111. package/dist/options-select/OptionsSelect.svelte.d.ts +3 -4
  112. package/dist/options-select/README.md +632 -0
  113. package/dist/options-select/README_CN.md +632 -0
  114. package/dist/page/README.md +605 -0
  115. package/dist/page/README_CN.md +605 -0
  116. package/dist/pagination/README.md +946 -0
  117. package/dist/pagination/README_CN.md +946 -0
  118. package/dist/pagination-panel/README.md +1075 -0
  119. package/dist/pagination-panel/README_CN.md +1075 -0
  120. package/dist/popup-hint/README.md +841 -0
  121. package/dist/popup-hint/README_CN.md +840 -0
  122. package/dist/progress-bar/README.md +242 -0
  123. package/dist/progress-bar/README_CN.md +242 -0
  124. package/dist/progress-step-bar/README.md +316 -0
  125. package/dist/progress-step-bar/README_CN.md +316 -0
  126. package/dist/prompts-text-editor/PromptsTextEditor.svelte +6 -3
  127. package/dist/prompts-text-editor/PromptsTextEditor.svelte.d.ts +3 -1
  128. package/dist/prompts-text-editor/README.md +329 -0
  129. package/dist/prompts-text-editor/README_CN.md +329 -0
  130. package/dist/property-editor/README.md +969 -0
  131. package/dist/property-editor/README_CN.md +969 -0
  132. package/dist/radio-button/README.md +372 -0
  133. package/dist/radio-button/README_CN.md +372 -0
  134. package/dist/radio-button/RadioButton.svelte +32 -3
  135. package/dist/radio-button/RadioButton.svelte.d.ts +12 -1
  136. package/dist/search-box/README.md +425 -0
  137. package/dist/search-box/README_CN.md +424 -0
  138. package/dist/search-box/SearchBox.svelte +22 -6
  139. package/dist/search-box/SearchBox.svelte.d.ts +4 -1
  140. package/dist/tabs/README.md +919 -0
  141. package/dist/tabs/README_CN.md +920 -0
  142. package/dist/tag/README.md +922 -0
  143. package/dist/tag/README_CN.md +922 -0
  144. package/dist/text-editor/PasswordEditor.svelte +17 -2
  145. package/dist/text-editor/PasswordEditor.svelte.d.ts +3 -3
  146. package/dist/text-editor/PasswordEditor_README.md +551 -0
  147. package/dist/text-editor/PasswordEditor_README_CN.md +551 -0
  148. package/dist/text-editor/README.md +466 -0
  149. package/dist/text-editor/README_CN.md +466 -0
  150. package/dist/text-editor/TextEditor.svelte +51 -19
  151. package/dist/text-editor/TextEditor.svelte.d.ts +0 -1
  152. package/dist/ticatec-uniface-web.css +1 -0
  153. package/dist/time-editor/README.md +498 -24
  154. package/dist/time-editor/README_CN.md +498 -0
  155. package/dist/time-editor/TimeEditor.svelte +7 -3
  156. package/dist/time-editor/TimeEditor.svelte.d.ts +3 -1
  157. package/dist/toast/README.md +667 -0
  158. package/dist/toast/README_CN.md +667 -0
  159. package/dist/transfer/README.md +795 -0
  160. package/dist/transfer/Transfer.svelte +6 -4
  161. package/dist/transfer/Transfer.svelte.d.ts +3 -1
  162. package/dist/tree-view/README.md +761 -0
  163. package/dist/tree-view/README_CN.md +761 -0
  164. package/dist/tree-view/TreeView.svelte +5 -3
  165. package/dist/tree-view/TreeView.svelte.d.ts +3 -1
  166. package/dist/unit-number-editor/README.md +546 -20
  167. package/dist/unit-number-editor/README_CN.md +525 -0
  168. package/dist/unit-number-editor/UnitNumberEditor.svelte +62 -8
  169. package/dist/unit-number-editor/UnitNumberEditor.svelte.d.ts +5 -1
  170. package/docs/form-field/cn/README_CN.md +364 -0
  171. package/docs/form-field/en/README.md +364 -0
  172. package/docs/form-panel/flex-form/cn/README_CN.md +586 -0
  173. package/docs/form-panel/flex-form/en/README.md +586 -0
  174. package/docs/form-panel/flex-row-form/cn/README_CN.md +787 -0
  175. package/docs/form-panel/flex-row-form/en/README.md +787 -0
  176. package/docs/form-panel/grid-form/en/README.md +744 -0
  177. package/package.json +1 -1
  178. package/dist/drawer/README-CN.md +0 -1
@@ -0,0 +1,393 @@
1
+ # Box 组件
2
+
3
+ 一个灵活的容器组件,带有可选的标题栏和底部区域,非常适合创建卡片、面板和内容区域。
4
+
5
+ ## 功能特性
6
+
7
+ - **结构化布局**: 标题栏、内容和底部区域
8
+ - **灵活样式**: 每个区域的独立样式定制
9
+ - **可选元素**: 标题栏和底部区域仅在需要时渲染
10
+ - **圆角设计**: 可选的圆角样式
11
+ - **标题支持**: 内置标题显示或自定义标题栏内容
12
+ - **响应式**: 适应容器尺寸
13
+
14
+ ## 基本用法
15
+
16
+ ```svelte
17
+ <script>
18
+ import Box from '@ticatec/uniface-element/Box';
19
+ </script>
20
+
21
+ <Box title="我的盒子">
22
+ <p>内容放在这里</p>
23
+ </Box>
24
+ ```
25
+
26
+ ## 属性参数
27
+
28
+ | 属性 | 类型 | 默认值 | 描述 |
29
+ |------|------|---------|-------------|
30
+ | `title` | `string` | `null` | 标题栏的标题文本 |
31
+ | `style` | `string \| null` | `null` | 主容器的自定义CSS样式 |
32
+ | `round` | `boolean` | `false` | 启用圆角 |
33
+ | `content$style` | `string \| null` | `null` | 内容区域的自定义CSS样式 |
34
+ | `header$style` | `string \| null` | `null` | 标题栏区域的自定义CSS样式 |
35
+ | `footer$style` | `string \| null` | `null` | 底部区域的自定义CSS样式 |
36
+ | `class` | `string` | `null` | 额外的CSS类名 |
37
+
38
+ ## 插槽
39
+
40
+ | 插槽 | 描述 |
41
+ |------|-------------|
42
+ | `header` | 自定义标题栏内容(覆盖title属性) |
43
+ | `default` | 主内容区域 |
44
+ | `footer` | 底部内容 |
45
+
46
+ ## 使用示例
47
+
48
+ ### 带标题的基础盒子
49
+
50
+ ```svelte
51
+ <Box title="信息">
52
+ <p>这是一些需要在盒子中显示的重要信息。</p>
53
+ </Box>
54
+ ```
55
+
56
+ ### 自定义标题栏内容
57
+
58
+ ```svelte
59
+ <Box>
60
+ <div slot="header" style="display: flex; justify-content: space-between; align-items: center;">
61
+ <h3>自定义标题栏</h3>
62
+ <button>操作</button>
63
+ </div>
64
+
65
+ <p>带有自定义标题栏的内容</p>
66
+ </Box>
67
+ ```
68
+
69
+ ### 完整的带底部区域的盒子
70
+
71
+ ```svelte
72
+ <Box title="用户资料">
73
+ <div class="profile-content">
74
+ <img src="/avatar.jpg" alt="用户头像" />
75
+ <h4>张三</h4>
76
+ <p>软件开发工程师</p>
77
+ </div>
78
+
79
+ <div slot="footer">
80
+ <button>编辑资料</button>
81
+ <button>查看详情</button>
82
+ </div>
83
+ </Box>
84
+ ```
85
+
86
+ ### 圆角盒子
87
+
88
+ ```svelte
89
+ <Box title="圆角卡片" round={true}>
90
+ <p>这个盒子有圆角,外观更柔和。</p>
91
+ </Box>
92
+ ```
93
+
94
+ ### 样式化区域
95
+
96
+ ```svelte
97
+ <Box
98
+ title="样式化盒子"
99
+ style="border: 2px solid #007acc; box-shadow: 0 4px 8px rgba(0,0,0,0.1);"
100
+ header$style="background: #007acc; color: white; padding: 16px;"
101
+ content$style="padding: 20px; background: #f9f9f9;"
102
+ footer$style="background: #e9e9e9; padding: 12px; text-align: right;"
103
+ >
104
+ <p>每个区域都有自定义样式的内容。</p>
105
+
106
+ <div slot="footer">
107
+ <button>取消</button>
108
+ <button>保存</button>
109
+ </div>
110
+ </Box>
111
+ ```
112
+
113
+ ### 仪表板小部件
114
+
115
+ ```svelte
116
+ <Box
117
+ title="销售概览"
118
+ round={true}
119
+ style="margin: 16px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);"
120
+ >
121
+ <div slot="header" style="display: flex; justify-content: space-between; align-items: center;">
122
+ <h3>销售概览</h3>
123
+ <select>
124
+ <option>本月</option>
125
+ <option>上月</option>
126
+ <option>今年</option>
127
+ </select>
128
+ </div>
129
+
130
+ <div class="metrics">
131
+ <div class="metric">
132
+ <span class="value">¥12,345</span>
133
+ <span class="label">收入</span>
134
+ </div>
135
+ <div class="metric">
136
+ <span class="value">89</span>
137
+ <span class="label">订单</span>
138
+ </div>
139
+ </div>
140
+
141
+ <div slot="footer">
142
+ <a href="/reports/sales">查看详细报告 →</a>
143
+ </div>
144
+ </Box>
145
+ ```
146
+
147
+ ### 设置面板
148
+
149
+ ```svelte
150
+ <Box title="账户设置">
151
+ <div class="settings-form">
152
+ <div class="form-group">
153
+ <label>邮件通知</label>
154
+ <input type="checkbox" checked />
155
+ </div>
156
+ <div class="form-group">
157
+ <label>语言</label>
158
+ <select>
159
+ <option>中文</option>
160
+ <option>English</option>
161
+ <option>日本語</option>
162
+ </select>
163
+ </div>
164
+ </div>
165
+
166
+ <div slot="footer" style="text-align: right; gap: 8px;">
167
+ <button type="button">重置</button>
168
+ <button type="submit">保存更改</button>
169
+ </div>
170
+ </Box>
171
+ ```
172
+
173
+ ### 文章卡片
174
+
175
+ ```svelte
176
+ <Box round={true} class="article-card">
177
+ <div slot="header">
178
+ <img src="/article-thumb.jpg" alt="文章" class="article-image" />
179
+ <div class="article-meta">
180
+ <h3>理解Svelte组件</h3>
181
+ <p class="byline">作者:李雷 • 2024年3月15日</p>
182
+ </div>
183
+ </div>
184
+
185
+ <p>学习在Svelte中构建可重用组件的基础知识...</p>
186
+
187
+ <div slot="footer" style="display: flex; justify-content: space-between; align-items: center;">
188
+ <div class="tags">
189
+ <span class="tag">Svelte</span>
190
+ <span class="tag">教程</span>
191
+ </div>
192
+ <button>阅读更多</button>
193
+ </div>
194
+ </Box>
195
+ ```
196
+
197
+ ### 纯内容盒子
198
+
199
+ ```svelte
200
+ <!-- 没有标题栏或底部区域的盒子,只是样式化的内容 -->
201
+ <Box
202
+ style="border: 1px solid #ddd; border-radius: 8px; padding: 0;"
203
+ content$style="padding: 24px;"
204
+ >
205
+ <div class="notification">
206
+ <i class="icon-info"></i>
207
+ <p>这是一条重要的通知消息。</p>
208
+ </div>
209
+ </Box>
210
+ ```
211
+
212
+ ## 布局结构
213
+
214
+ Box组件由三个主要区域组成:
215
+
216
+ 1. **标题栏**(可选): 显示标题或自定义内容
217
+ 2. **内容**(必需): 通过默认插槽的主内容区域
218
+ 3. **底部**(可选): 操作按钮或附加信息
219
+
220
+ ## 样式定制
221
+
222
+ 组件使用以下CSS类:
223
+
224
+ - `.uniface-box` - 主容器
225
+ - `.box-header` - 标题栏区域容器
226
+ - `.box-content` - 内容区域容器
227
+ - `.box-footer` - 底部区域容器
228
+ - `.title` - 标题文本包装器
229
+ - `.round` - 当round属性为true时应用
230
+
231
+ ### CSS示例
232
+
233
+ ```css
234
+ .uniface-box {
235
+ border: 1px solid #e0e0e0;
236
+ background: #ffffff;
237
+ overflow: hidden;
238
+ }
239
+
240
+ .uniface-box.round {
241
+ border-radius: 8px;
242
+ }
243
+
244
+ .box-header {
245
+ background: #f8f9fa;
246
+ border-bottom: 1px solid #e0e0e0;
247
+ padding: 16px;
248
+ }
249
+
250
+ .box-content {
251
+ padding: 16px;
252
+ }
253
+
254
+ .box-footer {
255
+ background: #f8f9fa;
256
+ border-top: 1px solid #e0e0e0;
257
+ padding: 12px 16px;
258
+ }
259
+
260
+ .title {
261
+ font-weight: 600;
262
+ color: #333;
263
+ }
264
+ ```
265
+
266
+ ## 常见模式
267
+
268
+ ### 信息面板
269
+
270
+ ```svelte
271
+ <Box title="系统信息" round={true}>
272
+ <div class="info-grid">
273
+ <div class="info-item">
274
+ <strong>版本:</strong> 2.1.0
275
+ </div>
276
+ <div class="info-item">
277
+ <strong>最后更新:</strong> 2024年3月15日
278
+ </div>
279
+ <div class="info-item">
280
+ <strong>状态:</strong> 活动
281
+ </div>
282
+ </div>
283
+ </Box>
284
+ ```
285
+
286
+ ### 操作卡片
287
+
288
+ ```svelte
289
+ <Box>
290
+ <div slot="header" style="text-align: center;">
291
+ <i class="large-icon icon-upload"></i>
292
+ <h3>上传文件</h3>
293
+ </div>
294
+
295
+ <p style="text-align: center; color: #666;">
296
+ 将文件拖拽到这里或点击浏览
297
+ </p>
298
+
299
+ <div slot="footer" style="text-align: center;">
300
+ <button>选择文件</button>
301
+ </div>
302
+ </Box>
303
+ ```
304
+
305
+ ### 统计小部件
306
+
307
+ ```svelte
308
+ <Box title="网站分析" round={true}>
309
+ <div class="stats-grid">
310
+ <div class="stat">
311
+ <div class="stat-value">1,234</div>
312
+ <div class="stat-label">访客</div>
313
+ </div>
314
+ <div class="stat">
315
+ <div class="stat-value">89%</div>
316
+ <div class="stat-label">跳出率</div>
317
+ </div>
318
+ </div>
319
+
320
+ <div slot="footer">
321
+ <button>查看完整报告</button>
322
+ </div>
323
+ </Box>
324
+ ```
325
+
326
+ ## 响应式设计
327
+
328
+ 对于响应式布局,考虑使用CSS Grid或Flexbox:
329
+
330
+ ```css
331
+ .box-grid {
332
+ display: grid;
333
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
334
+ gap: 16px;
335
+ padding: 16px;
336
+ }
337
+
338
+ @media (max-width: 768px) {
339
+ .uniface-box {
340
+ margin: 8px;
341
+ }
342
+
343
+ .box-header,
344
+ .box-content,
345
+ .box-footer {
346
+ padding: 12px;
347
+ }
348
+ }
349
+ ```
350
+
351
+ ## 无障碍访问
352
+
353
+ - 在插槽中使用语义化HTML
354
+ - 确保标题栏中的适当标题层次
355
+ - 提供足够的颜色对比度
356
+ - 使交互元素支持键盘访问
357
+
358
+ ## 最佳实践
359
+
360
+ 1. **一致的间距**: 在所有盒子中使用一致的内边距/外边距
361
+ 2. **视觉层次**: 在标题栏中使用适当的排版
362
+ 3. **操作位置**: 将主要操作放在底部区域
363
+ 4. **内容组织**: 逻辑地分组相关内容
364
+ 5. **响应式设计**: 在不同屏幕尺寸上测试
365
+ 6. **加载状态**: 考虑为动态内容显示加载状态
366
+
367
+ ## 与其他组件集成
368
+
369
+ Box组件与其他组件配合良好:
370
+
371
+ ```svelte
372
+ <Box title="表单示例">
373
+ <FormField label="姓名">
374
+ <TextEditor value={name} />
375
+ </FormField>
376
+
377
+ <FormField label="选项">
378
+ <OptionsSelect options={choices} bind:value={selected} />
379
+ </FormField>
380
+
381
+ <div slot="footer">
382
+ <ActionBar buttons={formActions} />
383
+ </div>
384
+ </Box>
385
+ ```
386
+
387
+ ## 注意事项
388
+
389
+ - 确保标题栏和底部区域的内容不会过于拥挤
390
+ - 在移动设备上考虑减少内边距以节省空间
391
+ - 对于长内容,考虑添加滚动或分页
392
+ - 保持与整体设计系统的一致性
393
+ - 在深色主题中测试颜色对比度