@ticatec/uniface-element 0.2.0 → 0.2.2

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 (209) hide show
  1. package/README.md +320 -1
  2. package/README_CN.md +392 -0
  3. package/dist/accordion/Accordion.svelte +1 -1
  4. package/dist/action-bar/ActionBar.svelte +7 -1
  5. package/dist/attachment-files/FileRender.svelte +1 -1
  6. package/dist/attachment-files/FileUploadBar.svelte +7 -6
  7. package/dist/attachment-files/FileUploadPanel.svelte +2 -2
  8. package/dist/base-calendar/DateContext.js +5 -4
  9. package/dist/base-calendar/YearPickupPanel.svelte +4 -4
  10. package/dist/card/Card.svelte +1 -1
  11. package/dist/card/Card.svelte.d.ts +1 -1
  12. package/dist/cascade-options-select/CascadeOptionSelect.svelte +2 -3
  13. package/dist/cascade-options-select/CascadeOptionSelect.svelte.d.ts +46 -1
  14. package/dist/cascade-options-select/CascadePanel.svelte +1 -1
  15. package/dist/checkbox/CheckBox.svelte +1 -1
  16. package/dist/color-picker/ColorPicker.svelte +9 -9
  17. package/dist/color-picker/ColorPicker.svelte.d.ts +0 -2
  18. package/dist/color-picker/ColorPickerPanel.svelte +11 -15
  19. package/dist/color-picker/ColorPickerPanel.svelte.d.ts +1 -1
  20. package/dist/common/CommonPicker.svelte +2 -2
  21. package/dist/common/CommonPicker.svelte.d.ts +1 -1
  22. package/dist/common/MouseClickHandler.d.ts +1 -1
  23. package/dist/common/Popover.svelte +28 -6
  24. package/dist/common/Popover.svelte.d.ts +9 -3
  25. package/dist/common/uniface-utils.js +6 -4
  26. package/dist/common-editor/CommonEditor.svelte +1 -1
  27. package/dist/common-editor/CommonEditor.svelte.d.ts +1 -1
  28. package/dist/common-editor/NumberInput.svelte +1 -1
  29. package/dist/common-editor/NumberInput.svelte.d.ts +1 -1
  30. package/dist/concise-data-table/ConciseListTable.svelte +7 -2
  31. package/dist/concise-data-table/ConciseListTable.svelte.d.ts +1 -0
  32. package/dist/concise-data-table/DataRow.svelte +1 -1
  33. package/dist/concise-data-table/TableOptions.d.ts +1 -1
  34. package/dist/data-table/DataTable.svelte +1 -1
  35. package/dist/data-table/parts/ActionsPanel.svelte +4 -3
  36. package/dist/data-table/parts/ActionsRow.svelte +3 -3
  37. package/dist/data-table/parts/ContentPanel.svelte +3 -2
  38. package/dist/data-table/parts/FixedColumnsPanel.svelte +0 -1
  39. package/dist/data-table/parts/FixedColumnsPanel.svelte.d.ts +1 -2
  40. package/dist/data-table/parts/FixedHeaderPanel.svelte +2 -2
  41. package/dist/data-table/parts/FixedRow.svelte +2 -1
  42. package/dist/data-table/parts/FixedRow.svelte.d.ts +1 -1
  43. package/dist/data-table/parts/HrefCell.svelte +23 -2
  44. package/dist/data-table/parts/PopupMenu.svelte +25 -2
  45. package/dist/data-table/parts/PopupMenu.svelte.d.ts +8 -1
  46. package/dist/date-picker/DatePicker.svelte +0 -1
  47. package/dist/date-picker/DateTimePicker.svelte +3 -3
  48. package/dist/date-picker/ScrollBar.svelte +4 -7
  49. package/dist/date-range/DateRangeEditor.svelte +1 -1
  50. package/dist/dialog/CommonDialog.svelte +8 -5
  51. package/dist/dialog/CommonDialog.svelte.d.ts +2 -1
  52. package/dist/dialog/Dialog.svelte +37 -12
  53. package/dist/dialog/Dialog.svelte.d.ts +4 -3
  54. package/dist/dialog/DialogBoard.svelte +11 -8
  55. package/dist/dialog/DialogWrapper.svelte +10 -0
  56. package/dist/{common-editor/DateInput.svelte.d.ts → dialog/DialogWrapper.svelte.d.ts} +6 -13
  57. package/dist/dialog/Dialogs.js +1 -1
  58. package/dist/dialog/ModalResult.d.ts +5 -0
  59. package/dist/dialog/ModalResult.js +5 -0
  60. package/dist/drawer/Drawer.svelte +1 -1
  61. package/dist/form-field/FormField.svelte +2 -1
  62. package/dist/form-field/FormField.svelte.d.ts +1 -0
  63. package/dist/form-panel/flex-row-form/FormContainer.svelte +1 -1
  64. package/dist/form-panel/grid-form/EmptyCell.svelte +8 -7
  65. package/dist/form-panel/grid-form/EmptyCell.svelte.d.ts +2 -2
  66. package/dist/form-panel/grid-form/GridField.svelte +1 -1
  67. package/dist/i18nRes/i18nRes.d.ts +2 -0
  68. package/dist/i18nRes/i18nRes.js +44 -0
  69. package/dist/i18nRes/index.d.ts +2 -0
  70. package/dist/i18nRes/index.js +2 -0
  71. package/dist/image-files/ImageFilesField.svelte +1 -1
  72. package/dist/indicator/IndicatorBoard.svelte +1 -1
  73. package/dist/inline-cell-editor/InvalidEditor.svelte +1 -0
  74. package/dist/input-options-select/InputOptionsSelect.svelte +6 -6
  75. package/dist/input-options-select/InputOptionsSelect.svelte.d.ts +1 -1
  76. package/dist/layout/flex/FlexBlock.svelte +1 -1
  77. package/dist/lookup-editor/LookupEditor.svelte +1 -1
  78. package/dist/memo-editor/MemoEditor.svelte +2 -2
  79. package/dist/message-box/IMessageBox.d.ts +2 -4
  80. package/dist/message-box/IMessageBox.js +4 -6
  81. package/dist/message-box/MessageBoxBoard.svelte +1 -3
  82. package/dist/options-multi-select/OptionsMultiSelect.svelte +1 -1
  83. package/dist/prompts-text-editor/PromptsTextEditor.svelte +2 -2
  84. package/dist/prompts-text-editor/PromptsTextEditor.svelte.d.ts +1 -1
  85. package/dist/property-editor/PropertyEditor.svelte +3 -3
  86. package/dist/text-editor/PasswordEditor.svelte +1 -1
  87. package/dist/transfer/Transfer.svelte +17 -12
  88. package/dist/transfer/Transfer.svelte.d.ts +0 -1
  89. package/dist/unit-number-editor/UnitNumberEditor.svelte +2 -2
  90. package/docs/buttons/cn/ActionBar.md +459 -0
  91. package/docs/buttons/cn/Button.md +228 -0
  92. package/docs/buttons/cn/IconButton.md +294 -0
  93. package/docs/buttons/cn/README.md +600 -0
  94. package/docs/buttons/cn/TextButton.md +163 -0
  95. package/docs/buttons/en/ActionBar.md +459 -0
  96. package/docs/buttons/en/Button.md +228 -0
  97. package/docs/buttons/en/IconButton.md +294 -0
  98. package/docs/buttons/en/README.md +600 -0
  99. package/docs/buttons/en/TextButton.md +163 -0
  100. package/docs/containers/cn/accordion.md +622 -0
  101. package/docs/containers/cn/box.md +445 -0
  102. package/docs/containers/cn/card.md +404 -0
  103. package/docs/containers/cn/page.md +576 -0
  104. package/docs/containers/cn/tabs.md +686 -0
  105. package/docs/containers/en/accordion.md +622 -0
  106. package/docs/containers/en/box.md +445 -0
  107. package/docs/containers/en/card.md +404 -0
  108. package/docs/containers/en/page.md +576 -0
  109. package/docs/containers/en/tabs.md +686 -0
  110. package/docs/data-display/cn/concise-data-table.md +731 -0
  111. package/docs/data-display/cn/listbox.md +786 -0
  112. package/docs/data-display/cn/treeview.md +863 -0
  113. package/docs/data-display/en/concise-data-table.md +732 -0
  114. package/docs/data-display/en/listbox.md +786 -0
  115. package/docs/data-display/en/treeview.md +863 -0
  116. package/docs/data-table/cn/README.md +596 -0
  117. package/docs/data-table/en/README.md +596 -0
  118. package/docs/dialog/cn/README.md +767 -0
  119. package/docs/dialog/en/README.md +767 -0
  120. package/docs/form/cn/README.md +847 -0
  121. package/docs/form/en/README.md +847 -0
  122. package/docs/form-components/cn/README.md +495 -0
  123. package/docs/form-components/cn/attachmentfilesfield.md +757 -0
  124. package/docs/form-components/cn/cascade-options-select.md +374 -0
  125. package/docs/form-components/cn/checkbox.md +58 -0
  126. package/docs/form-components/cn/date-picker.md +138 -0
  127. package/docs/form-components/cn/datetime-picker.md +228 -0
  128. package/docs/form-components/cn/group-checkbox.md +405 -0
  129. package/docs/form-components/cn/group-radiobox.md +525 -0
  130. package/docs/form-components/cn/imagefilesfield.md +651 -0
  131. package/docs/form-components/cn/input-options-select.md +250 -0
  132. package/docs/form-components/cn/lookup-editor.md +406 -0
  133. package/docs/form-components/cn/memoeditor.md +409 -0
  134. package/docs/form-components/cn/number-editor.md +261 -0
  135. package/docs/form-components/cn/options-multi-select.md +177 -0
  136. package/docs/form-components/cn/options-select.md +83 -0
  137. package/docs/form-components/cn/passwordeditor.md +538 -0
  138. package/docs/form-components/cn/prompts-text-editor.md +241 -0
  139. package/docs/form-components/cn/radiobutton.md +84 -0
  140. package/docs/form-components/cn/switch.md +178 -0
  141. package/docs/form-components/cn/text-editor.md +142 -0
  142. package/docs/form-components/cn/time-editor.md +159 -0
  143. package/docs/form-components/cn/unit-number-editor.md +164 -0
  144. package/docs/form-components/en/README.md +463 -0
  145. package/docs/form-components/en/attachmentfilesfield.md +757 -0
  146. package/docs/form-components/en/cascade-options-select.md +358 -0
  147. package/docs/form-components/en/checkbox.md +59 -0
  148. package/docs/form-components/en/date-picker.md +138 -0
  149. package/docs/form-components/en/datetime-picker.md +228 -0
  150. package/docs/form-components/en/group-checkbox.md +395 -0
  151. package/docs/form-components/en/group-radiobox.md +498 -0
  152. package/docs/form-components/en/imagefilesfield.md +651 -0
  153. package/docs/form-components/en/input-options-select.md +239 -0
  154. package/docs/form-components/en/lookup-editor.md +389 -0
  155. package/docs/form-components/en/memoeditor.md +409 -0
  156. package/docs/form-components/en/number-editor.md +249 -0
  157. package/docs/form-components/en/options-multi-select.md +177 -0
  158. package/docs/form-components/en/options-select.md +83 -0
  159. package/docs/form-components/en/passwordeditor.md +538 -0
  160. package/docs/form-components/en/prompts-text-editor.md +241 -0
  161. package/docs/form-components/en/radiobutton.md +84 -0
  162. package/docs/form-components/en/switch.md +180 -0
  163. package/docs/form-components/en/text-editor.md +142 -0
  164. package/docs/form-components/en/time-editor.md +159 -0
  165. package/docs/form-components/en/unit-number-editor.md +164 -0
  166. package/docs/form-layout/cn/criteria-field.md +652 -0
  167. package/docs/form-layout/cn/flex-form.md +454 -0
  168. package/docs/form-layout/cn/flex-row-form.md +542 -0
  169. package/docs/form-layout/cn/form-field.md +923 -0
  170. package/docs/form-layout/cn/grid-form.md +676 -0
  171. package/docs/form-layout/en/criteria-field.md +652 -0
  172. package/docs/form-layout/en/flex-form.md +454 -0
  173. package/docs/form-layout/en/flex-row-form.md +542 -0
  174. package/docs/form-layout/en/form-field.md +923 -0
  175. package/docs/form-layout/en/grid-form.md +676 -0
  176. package/docs/global/cn/README.md +534 -0
  177. package/docs/global/en/README.md +534 -0
  178. package/docs/layout/cn/classiclayout.md +460 -0
  179. package/docs/layout/cn/headerlayout.md +524 -0
  180. package/docs/layout/cn/sidebarlayout.md +263 -0
  181. package/docs/layout/en/classiclayout.md +951 -0
  182. package/docs/layout/en/headerlayout.md +524 -0
  183. package/docs/layout/en/sidebarlayout.md +262 -0
  184. package/docs/misc/cn/README.md +1217 -0
  185. package/docs/misc/en/README.md +1217 -0
  186. package/docs/navigation/cn/breadcrumb.md +291 -0
  187. package/docs/navigation/cn/navigator.md +322 -0
  188. package/docs/navigation/cn/navigatormenu.md +512 -0
  189. package/docs/navigation/cn/progressbar.md +199 -0
  190. package/docs/navigation/cn/progressstepbar.md +299 -0
  191. package/docs/navigation/en/breadcrumb.md +291 -0
  192. package/docs/navigation/en/navigator.md +322 -0
  193. package/docs/navigation/en/navigatormenu.md +512 -0
  194. package/docs/navigation/en/progressbar.md +199 -0
  195. package/docs/navigation/en/progressstepbar.md +299 -0
  196. package/docs/search-filters/cn/daterange.md +1156 -0
  197. package/docs/search-filters/cn/numberrange.md +688 -0
  198. package/docs/search-filters/cn/searchbox.md +1582 -0
  199. package/docs/search-filters/en/daterange.md +1156 -0
  200. package/docs/search-filters/en/numberrange.md +688 -0
  201. package/docs/search-filters/en/searchbox.md +1582 -0
  202. package/package.json +53 -13
  203. package/dist/common-editor/DateInput.svelte +0 -27
  204. package/dist/i18n_resources/index.d.ts +0 -3
  205. package/dist/i18n_resources/index.js +0 -3
  206. /package/dist/{i18n_resources → i18nRes}/uniface_cn_resource.d.ts +0 -0
  207. /package/dist/{i18n_resources → i18nRes}/uniface_cn_resource.js +0 -0
  208. /package/dist/{i18n_resources → i18nRes}/uniface_en_resource.d.ts +0 -0
  209. /package/dist/{i18n_resources → i18nRes}/uniface_en_resource.js +0 -0
package/README.md CHANGED
@@ -1,4 +1,323 @@
1
1
  # Uniface Element
2
2
 
3
- ## Global Components
3
+ [![npm version](https://badge.fury.io/js/%40ticatec%2Funiface-element.svg)](https://badge.fury.io/js/%40ticatec%2Funiface-element)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
5
 
6
+ A comprehensive enterprise-grade UI component library built with Svelte 5, designed for modern web applications.
7
+
8
+ [中文文档](./README_CN.md)
9
+
10
+ ## Features
11
+
12
+ ✨ **Enterprise-Grade Components** - Complete set of components for business applications
13
+ 🎨 **Theme System** - CSS variables-based theming with customizable design tokens
14
+ 📱 **Responsive Design** - Mobile-first responsive components
15
+ 🌍 **Internationalization** - Built-in i18n support with English and Chinese resources
16
+ 🎯 **TypeScript Support** - Full TypeScript definitions for better development experience
17
+ 🔧 **Modular Architecture** - Tree-shakable imports for optimal bundle size
18
+ ⚡ **High Performance** - Built with Svelte 5 for maximum performance
19
+
20
+ ## Installation
21
+
22
+ ```bash
23
+ npm install @ticatec/uniface-element
24
+ ```
25
+
26
+ ## Quick Start
27
+
28
+ ### 1. Import Styles
29
+
30
+ ```typescript
31
+ // Import the main CSS file
32
+ import '@ticatec/uniface-element/ticatec-uniface-web.css';
33
+ ```
34
+
35
+ ### 2. Use Components
36
+
37
+ ```svelte
38
+ <script lang="ts">
39
+ import Button, DataTable, Dialog from '@ticatec/uniface-element/Button, DataTable, Dialog';
40
+ import type { DataColumn } from '@ticatec/uniface-element';
41
+
42
+ let columns: DataColumn[] = [
43
+ { field: 'name', title: 'Name', width: 150 },
44
+ { field: 'email', title: 'Email', width: 200 }
45
+ ];
46
+
47
+ let data = [
48
+ { name: 'John Doe', email: 'john@example.com' },
49
+ { name: 'Jane Smith', email: 'jane@example.com' }
50
+ ];
51
+ </script>
52
+
53
+ <Button type="primary" on:click={() => console.log('Clicked!')}>
54
+ Click Me
55
+ </Button>
56
+
57
+ <DataTable {columns} list={data} />
58
+ ```
59
+
60
+ ## Component Categories
61
+
62
+ ### Layout Components
63
+ - **App Layouts**: `SidebarLayout`, `HeaderLayout`, `ClassicLayout`, `ColumnsLayout`, `RowsLayout`
64
+ - **Containers**: `Box`, `Card`, `Page`, `Accordion`
65
+ - **Form Layouts**: `FlexForm`, `GridForm`, `FormField`
66
+ - **Utilities**: `Split`, `Separator`
67
+
68
+ ### Data Display
69
+ - **Tables**: `DataTable`, `ConciseDataTable`
70
+ - **Lists**: `ListBox`, `TreeView`
71
+ - **Navigation**: `Breadcrumbs`, `Tabs`, `NavigatorMenu` | [Navigation Components Docs](./docs/navigation/)
72
+ - **Indicators**: `ProgressBar`, `ProgressStepBar`, `Tag`
73
+
74
+ ### Form Controls
75
+ - **Input**: `TextEditor`, `NumberEditor`, [`MemoEditor`](./docs/form-components/en/memoeditor.md), [`PasswordEditor`](./docs/form-components/en/passwordeditor.md)
76
+ - **Selection**: `OptionsSelect`, `OptionsMultiSelect`, `CascadeOptionsSelect`
77
+ - **Date/Time**: `DatePicker`, `DateTimePicker`, `TimeEditor`
78
+ - **Search/Filter**: [`SearchBox`, `NumberRange`, `DateRange`](./docs/search-filters/) - Advanced search and filtering components
79
+ - **Others**: `CheckBox`, `RadioButton`, `Switch`, `ColorPicker`
80
+
81
+ ### Feedback Components
82
+ - **Dialogs**: `Dialog`, `MessageBox`, `Drawer`
83
+ - **Notifications**: `Toast`, `PopupHint`
84
+ - **Overlays**: `FullScreenOverlay`
85
+
86
+ ### Advanced Components
87
+ - **Editors**: `InlineCellEditor`, `PropertyEditor`, `PromptsTextEditor`
88
+ - **File Upload**: `AttachmentFiles`, `ImageFiles`
89
+ - **Data Transfer**: `Transfer`
90
+ - **Search**: `SearchBox`, `CriteriaField`
91
+
92
+ ## Usage Examples
93
+
94
+ ### Data Table with Selection
95
+
96
+ ```svelte
97
+ <script lang="ts">
98
+ import DataTable from '@ticatec/uniface-element/DataTable';
99
+ import type { DataColumn } from '@ticatec/uniface-element';
100
+
101
+ let columns: DataColumn[] = [
102
+ {
103
+ field: 'name',
104
+ title: 'Name',
105
+ width: 200
106
+ },
107
+ {
108
+ field: 'email',
109
+ title: 'Email',
110
+ width: 250
111
+ },
112
+ {
113
+ field: 'status',
114
+ title: 'Status',
115
+ width: 120
116
+ }
117
+ ];
118
+
119
+ let data = [
120
+ { id: 1, name: 'John Doe', email: 'john@example.com', status: 'Active' },
121
+ { id: 2, name: 'Jane Smith', email: 'jane@example.com', status: 'Inactive' },
122
+ { id: 3, name: 'Bob Johnson', email: 'bob@example.com', status: 'Active' }
123
+ ];
124
+
125
+ let selectedRows = [];
126
+ </script>
127
+
128
+ <DataTable {columns} list={data} bind:selectedRows />
129
+ ```
130
+
131
+ ### Dialog with Form
132
+
133
+ ```svelte
134
+ <script lang="ts">
135
+ import Dialog, Button, TextEditor, FormField from '@ticatec/uniface-element/Dialog, Button, TextEditor, FormField';
136
+
137
+ let showDialog = false;
138
+ let formData = { name: '', email: '' };
139
+ </script>
140
+
141
+ <Button on:click={() => showDialog = true}>Open Dialog</Button>
142
+
143
+ <Dialog bind:visible={showDialog} title="Edit User">
144
+ <FormField label="Name">
145
+ <TextEditor bind:value={formData.name} />
146
+ </FormField>
147
+
148
+ <FormField label="Email">
149
+ <TextEditor bind:value={formData.email} type="email" />
150
+ </FormField>
151
+
152
+ <svelte:fragment slot="actions">
153
+ <Button on:click={() => showDialog = false}>Cancel</Button>
154
+ <Button type="primary" on:click={() => showDialog = false}>Save</Button>
155
+ </svelte:fragment>
156
+ </Dialog>
157
+ ```
158
+
159
+ ## Theme Customization
160
+
161
+ The library uses CSS custom properties for theming. You can customize the appearance by overriding these variables:
162
+
163
+ ```css
164
+ :root {
165
+ --uniface-primary-color: #0061FF;
166
+ --uniface-secondary-color: #22BDFF;
167
+ --uniface-primary-text-color: #374151;
168
+ --uniface-button-common-bg: #f0f0f0;
169
+ --uniface-hover-item-background: #f7f7f7;
170
+ /* ... more variables */
171
+ }
172
+ ```
173
+
174
+ ## Internationalization
175
+
176
+ The library includes built-in internationalization support:
177
+
178
+ default language is english. to load other languages:
179
+
180
+ create a language resource json file in the static web directory, example: `/assets/uniface_zh-CN.json`
181
+ ```json
182
+ {
183
+ "uniface": {
184
+ "common": {
185
+ "btnClose": "关闭",
186
+ "btnCancel": "取消",
187
+ "btnConfirm": "确定",
188
+ "textMore": "加载更多"
189
+ },
190
+ "colorPicker": "选择颜色",
191
+ "calendar": {
192
+ "months": [
193
+ "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"
194
+ ],
195
+ "monthsAbbr": [
196
+ "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"
197
+ ],
198
+ "weekTitle": [
199
+ "周日", "周一", "周二", "周三", "周四", "周五", "周六"
200
+ ],
201
+ "weekTitleAbbr": [
202
+ "日", "一", "二", "三", "四", "五", "六"
203
+ ],
204
+ "confirmText": "确定"
205
+ },
206
+ "upload": {
207
+ "btnRetry": "重试",
208
+ "btnRemove": "删除",
209
+ "btnPickup": "选择文件"
210
+ },
211
+ "propertyEditor": {
212
+ "colName": "属性",
213
+ "colValue": "值"
214
+ },
215
+ "dataTable": {
216
+ "rowNo": "#",
217
+ "actions": "操作",
218
+ "emptyDataSet": "暂无数据"
219
+ },
220
+ "transfer": {
221
+ "selectIndicator": "已选择: {{selected}}/{{total}}"
222
+ }
223
+ }
224
+ }
225
+ ```
226
+
227
+ You can load the resource file in the `+page.svelte` or other startup page.
228
+
229
+ ```typescript
230
+ import i18n, {i18nUtils} from "@ticatec/i18n";
231
+
232
+ // 设置语言
233
+ i18n.setLanguage('zh-CN'); // 或 'en'
234
+ i18nUtils.loadResources('/assets/uniface.json'); //the language code will insert before .json
235
+ ```
236
+
237
+ ## Available Imports
238
+
239
+ ### Modular Imports
240
+ ```typescript
241
+ // Individual component imports
242
+ import Button from '@ticatec/uniface-element/Button';
243
+ import DataTable from '@ticatec/uniface-element/DataTable';
244
+ import SidebarLayout from '@ticatec/uniface-element/app-layout/SidebarLayout';
245
+ import AttachmentFilesField from '@ticatec/uniface-element/AttachmentFiles';
246
+ import ImageFilesField from '@ticatec/uniface-element/ImageFiles';
247
+ import MemoEditor from '@ticatec/uniface-element/MemoEditor';
248
+
249
+ // Utility imports
250
+ import { utils } from '@ticatec/uniface-element/utils';
251
+ import type { DataColumn } from '@ticatec/uniface-element/DataTable';
252
+ ```
253
+
254
+
255
+ ## Development
256
+
257
+ ```bash
258
+ # Install dependencies
259
+ npm install
260
+
261
+ # Start development server
262
+ npm run dev
263
+
264
+ # Build the library
265
+ npm run build
266
+
267
+ # Run type checking
268
+ npm run check
269
+ ```
270
+
271
+ ## Browser Support
272
+
273
+ - Chrome ≥ 88
274
+ - Firefox ≥ 85
275
+ - Safari ≥ 14
276
+ - Edge ≥ 88
277
+
278
+ ## Contributing
279
+
280
+ We welcome contributions! Please see our [Contributing Guide](./CONTRIBUTING.md) for details.
281
+
282
+ ## License
283
+
284
+ MIT License - see [LICENSE](./LICENSE) file for details.
285
+
286
+ ## Author
287
+
288
+ **Henry Feng** - [Ticatec](https://github.com/ticatec-auckland)
289
+
290
+ ## Documentation
291
+
292
+ Comprehensive component documentation is available in the `/docs` directory:
293
+
294
+ ### Layout Components
295
+ - [SidebarLayout](./docs/layout/en/sidebarlayout.md) | [中文](./docs/layout/cn/sidebarlayout.md) - Left sidebar with resizable main content area
296
+ - [HeaderLayout](./docs/layout/en/headerlayout.md) | [中文](./docs/layout/cn/headerlayout.md) - Top header with content area and optional sidebar
297
+ - [ClassicLayout](./docs/layout/en/classiclayout.md) | [中文](./docs/layout/cn/classiclayout.md) - Full-screen layout with header, footer, sidebar, and content areas
298
+
299
+ ### Button Components
300
+ - [Button System](./docs/buttons/en/README.md) | [中文](./docs/buttons/cn/README.md) - Complete button components including Button, TextButton, IconButton, and ActionBar
301
+
302
+ ### Dialog Components
303
+ - [Dialog System](./docs/dialog/en/README.md) | [中文](./docs/dialog/cn/README.md) - Modal dialog system with DialogBoard, Dialog, and CommonDialog components
304
+
305
+ ### Form Components
306
+ - [Form Controls](./docs/form/en/README.md) | [中文](./docs/form/cn/README.md) - Comprehensive form input components including TextEditor, NumberEditor, CheckBox, OptionsSelect, and more
307
+
308
+ ### Global Components
309
+ - [Global Components](./docs/global/en/README.md) | [中文](./docs/global/cn/README.md) - Application-wide components including ToastBoard, DialogBoard, IndicatorBoard, and MessageBoxBoard
310
+
311
+ ### Miscellaneous Components
312
+ - [Utility Components](./docs/misc/en/README.md) | [中文](./docs/misc/cn/README.md) - Additional components including Split, Drawer, Tag, and Card
313
+
314
+ Each component documentation includes:
315
+ - API reference with all props and methods
316
+ - Advanced usage examples and patterns
317
+ - Best practices and styling guides
318
+ - Accessibility considerations
319
+ - Integration tips
320
+
321
+ ---
322
+
323
+ For more detailed documentation and examples, please visit our [documentation site](#) or check out the demo components in the `/src/routes/demo` directory.