@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.
- package/README.md +320 -1
- package/README_CN.md +392 -0
- package/dist/accordion/Accordion.svelte +1 -1
- package/dist/action-bar/ActionBar.svelte +7 -1
- package/dist/attachment-files/FileRender.svelte +1 -1
- package/dist/attachment-files/FileUploadBar.svelte +7 -6
- package/dist/attachment-files/FileUploadPanel.svelte +2 -2
- package/dist/base-calendar/DateContext.js +5 -4
- package/dist/base-calendar/YearPickupPanel.svelte +4 -4
- package/dist/card/Card.svelte +1 -1
- package/dist/card/Card.svelte.d.ts +1 -1
- package/dist/cascade-options-select/CascadeOptionSelect.svelte +2 -3
- package/dist/cascade-options-select/CascadeOptionSelect.svelte.d.ts +46 -1
- package/dist/cascade-options-select/CascadePanel.svelte +1 -1
- package/dist/checkbox/CheckBox.svelte +1 -1
- package/dist/color-picker/ColorPicker.svelte +9 -9
- package/dist/color-picker/ColorPicker.svelte.d.ts +0 -2
- package/dist/color-picker/ColorPickerPanel.svelte +11 -15
- package/dist/color-picker/ColorPickerPanel.svelte.d.ts +1 -1
- package/dist/common/CommonPicker.svelte +2 -2
- package/dist/common/CommonPicker.svelte.d.ts +1 -1
- package/dist/common/MouseClickHandler.d.ts +1 -1
- package/dist/common/Popover.svelte +28 -6
- package/dist/common/Popover.svelte.d.ts +9 -3
- package/dist/common/uniface-utils.js +6 -4
- package/dist/common-editor/CommonEditor.svelte +1 -1
- package/dist/common-editor/CommonEditor.svelte.d.ts +1 -1
- package/dist/common-editor/NumberInput.svelte +1 -1
- package/dist/common-editor/NumberInput.svelte.d.ts +1 -1
- package/dist/concise-data-table/ConciseListTable.svelte +7 -2
- package/dist/concise-data-table/ConciseListTable.svelte.d.ts +1 -0
- package/dist/concise-data-table/DataRow.svelte +1 -1
- package/dist/concise-data-table/TableOptions.d.ts +1 -1
- package/dist/data-table/DataTable.svelte +1 -1
- package/dist/data-table/parts/ActionsPanel.svelte +4 -3
- package/dist/data-table/parts/ActionsRow.svelte +3 -3
- package/dist/data-table/parts/ContentPanel.svelte +3 -2
- package/dist/data-table/parts/FixedColumnsPanel.svelte +0 -1
- package/dist/data-table/parts/FixedColumnsPanel.svelte.d.ts +1 -2
- package/dist/data-table/parts/FixedHeaderPanel.svelte +2 -2
- package/dist/data-table/parts/FixedRow.svelte +2 -1
- package/dist/data-table/parts/FixedRow.svelte.d.ts +1 -1
- package/dist/data-table/parts/HrefCell.svelte +23 -2
- package/dist/data-table/parts/PopupMenu.svelte +25 -2
- package/dist/data-table/parts/PopupMenu.svelte.d.ts +8 -1
- package/dist/date-picker/DatePicker.svelte +0 -1
- package/dist/date-picker/DateTimePicker.svelte +3 -3
- package/dist/date-picker/ScrollBar.svelte +4 -7
- package/dist/date-range/DateRangeEditor.svelte +1 -1
- package/dist/dialog/CommonDialog.svelte +8 -5
- package/dist/dialog/CommonDialog.svelte.d.ts +2 -1
- package/dist/dialog/Dialog.svelte +37 -12
- package/dist/dialog/Dialog.svelte.d.ts +4 -3
- package/dist/dialog/DialogBoard.svelte +11 -8
- package/dist/dialog/DialogWrapper.svelte +10 -0
- package/dist/{common-editor/DateInput.svelte.d.ts → dialog/DialogWrapper.svelte.d.ts} +6 -13
- package/dist/dialog/Dialogs.js +1 -1
- package/dist/dialog/ModalResult.d.ts +5 -0
- package/dist/dialog/ModalResult.js +5 -0
- package/dist/drawer/Drawer.svelte +1 -1
- package/dist/form-field/FormField.svelte +2 -1
- package/dist/form-field/FormField.svelte.d.ts +1 -0
- package/dist/form-panel/flex-row-form/FormContainer.svelte +1 -1
- package/dist/form-panel/grid-form/EmptyCell.svelte +8 -7
- package/dist/form-panel/grid-form/EmptyCell.svelte.d.ts +2 -2
- package/dist/form-panel/grid-form/GridField.svelte +1 -1
- package/dist/i18nRes/i18nRes.d.ts +2 -0
- package/dist/i18nRes/i18nRes.js +44 -0
- package/dist/i18nRes/index.d.ts +2 -0
- package/dist/i18nRes/index.js +2 -0
- package/dist/image-files/ImageFilesField.svelte +1 -1
- package/dist/indicator/IndicatorBoard.svelte +1 -1
- package/dist/inline-cell-editor/InvalidEditor.svelte +1 -0
- package/dist/input-options-select/InputOptionsSelect.svelte +6 -6
- package/dist/input-options-select/InputOptionsSelect.svelte.d.ts +1 -1
- package/dist/layout/flex/FlexBlock.svelte +1 -1
- package/dist/lookup-editor/LookupEditor.svelte +1 -1
- package/dist/memo-editor/MemoEditor.svelte +2 -2
- package/dist/message-box/IMessageBox.d.ts +2 -4
- package/dist/message-box/IMessageBox.js +4 -6
- package/dist/message-box/MessageBoxBoard.svelte +1 -3
- package/dist/options-multi-select/OptionsMultiSelect.svelte +1 -1
- package/dist/prompts-text-editor/PromptsTextEditor.svelte +2 -2
- package/dist/prompts-text-editor/PromptsTextEditor.svelte.d.ts +1 -1
- package/dist/property-editor/PropertyEditor.svelte +3 -3
- package/dist/text-editor/PasswordEditor.svelte +1 -1
- package/dist/transfer/Transfer.svelte +17 -12
- package/dist/transfer/Transfer.svelte.d.ts +0 -1
- package/dist/unit-number-editor/UnitNumberEditor.svelte +2 -2
- package/docs/buttons/cn/ActionBar.md +459 -0
- package/docs/buttons/cn/Button.md +228 -0
- package/docs/buttons/cn/IconButton.md +294 -0
- package/docs/buttons/cn/README.md +600 -0
- package/docs/buttons/cn/TextButton.md +163 -0
- package/docs/buttons/en/ActionBar.md +459 -0
- package/docs/buttons/en/Button.md +228 -0
- package/docs/buttons/en/IconButton.md +294 -0
- package/docs/buttons/en/README.md +600 -0
- package/docs/buttons/en/TextButton.md +163 -0
- package/docs/containers/cn/accordion.md +622 -0
- package/docs/containers/cn/box.md +445 -0
- package/docs/containers/cn/card.md +404 -0
- package/docs/containers/cn/page.md +576 -0
- package/docs/containers/cn/tabs.md +686 -0
- package/docs/containers/en/accordion.md +622 -0
- package/docs/containers/en/box.md +445 -0
- package/docs/containers/en/card.md +404 -0
- package/docs/containers/en/page.md +576 -0
- package/docs/containers/en/tabs.md +686 -0
- package/docs/data-display/cn/concise-data-table.md +731 -0
- package/docs/data-display/cn/listbox.md +786 -0
- package/docs/data-display/cn/treeview.md +863 -0
- package/docs/data-display/en/concise-data-table.md +732 -0
- package/docs/data-display/en/listbox.md +786 -0
- package/docs/data-display/en/treeview.md +863 -0
- package/docs/data-table/cn/README.md +596 -0
- package/docs/data-table/en/README.md +596 -0
- package/docs/dialog/cn/README.md +767 -0
- package/docs/dialog/en/README.md +767 -0
- package/docs/form/cn/README.md +847 -0
- package/docs/form/en/README.md +847 -0
- package/docs/form-components/cn/README.md +495 -0
- package/docs/form-components/cn/attachmentfilesfield.md +757 -0
- package/docs/form-components/cn/cascade-options-select.md +374 -0
- package/docs/form-components/cn/checkbox.md +58 -0
- package/docs/form-components/cn/date-picker.md +138 -0
- package/docs/form-components/cn/datetime-picker.md +228 -0
- package/docs/form-components/cn/group-checkbox.md +405 -0
- package/docs/form-components/cn/group-radiobox.md +525 -0
- package/docs/form-components/cn/imagefilesfield.md +651 -0
- package/docs/form-components/cn/input-options-select.md +250 -0
- package/docs/form-components/cn/lookup-editor.md +406 -0
- package/docs/form-components/cn/memoeditor.md +409 -0
- package/docs/form-components/cn/number-editor.md +261 -0
- package/docs/form-components/cn/options-multi-select.md +177 -0
- package/docs/form-components/cn/options-select.md +83 -0
- package/docs/form-components/cn/passwordeditor.md +538 -0
- package/docs/form-components/cn/prompts-text-editor.md +241 -0
- package/docs/form-components/cn/radiobutton.md +84 -0
- package/docs/form-components/cn/switch.md +178 -0
- package/docs/form-components/cn/text-editor.md +142 -0
- package/docs/form-components/cn/time-editor.md +159 -0
- package/docs/form-components/cn/unit-number-editor.md +164 -0
- package/docs/form-components/en/README.md +463 -0
- package/docs/form-components/en/attachmentfilesfield.md +757 -0
- package/docs/form-components/en/cascade-options-select.md +358 -0
- package/docs/form-components/en/checkbox.md +59 -0
- package/docs/form-components/en/date-picker.md +138 -0
- package/docs/form-components/en/datetime-picker.md +228 -0
- package/docs/form-components/en/group-checkbox.md +395 -0
- package/docs/form-components/en/group-radiobox.md +498 -0
- package/docs/form-components/en/imagefilesfield.md +651 -0
- package/docs/form-components/en/input-options-select.md +239 -0
- package/docs/form-components/en/lookup-editor.md +389 -0
- package/docs/form-components/en/memoeditor.md +409 -0
- package/docs/form-components/en/number-editor.md +249 -0
- package/docs/form-components/en/options-multi-select.md +177 -0
- package/docs/form-components/en/options-select.md +83 -0
- package/docs/form-components/en/passwordeditor.md +538 -0
- package/docs/form-components/en/prompts-text-editor.md +241 -0
- package/docs/form-components/en/radiobutton.md +84 -0
- package/docs/form-components/en/switch.md +180 -0
- package/docs/form-components/en/text-editor.md +142 -0
- package/docs/form-components/en/time-editor.md +159 -0
- package/docs/form-components/en/unit-number-editor.md +164 -0
- package/docs/form-layout/cn/criteria-field.md +652 -0
- package/docs/form-layout/cn/flex-form.md +454 -0
- package/docs/form-layout/cn/flex-row-form.md +542 -0
- package/docs/form-layout/cn/form-field.md +923 -0
- package/docs/form-layout/cn/grid-form.md +676 -0
- package/docs/form-layout/en/criteria-field.md +652 -0
- package/docs/form-layout/en/flex-form.md +454 -0
- package/docs/form-layout/en/flex-row-form.md +542 -0
- package/docs/form-layout/en/form-field.md +923 -0
- package/docs/form-layout/en/grid-form.md +676 -0
- package/docs/global/cn/README.md +534 -0
- package/docs/global/en/README.md +534 -0
- package/docs/layout/cn/classiclayout.md +460 -0
- package/docs/layout/cn/headerlayout.md +524 -0
- package/docs/layout/cn/sidebarlayout.md +263 -0
- package/docs/layout/en/classiclayout.md +951 -0
- package/docs/layout/en/headerlayout.md +524 -0
- package/docs/layout/en/sidebarlayout.md +262 -0
- package/docs/misc/cn/README.md +1217 -0
- package/docs/misc/en/README.md +1217 -0
- package/docs/navigation/cn/breadcrumb.md +291 -0
- package/docs/navigation/cn/navigator.md +322 -0
- package/docs/navigation/cn/navigatormenu.md +512 -0
- package/docs/navigation/cn/progressbar.md +199 -0
- package/docs/navigation/cn/progressstepbar.md +299 -0
- package/docs/navigation/en/breadcrumb.md +291 -0
- package/docs/navigation/en/navigator.md +322 -0
- package/docs/navigation/en/navigatormenu.md +512 -0
- package/docs/navigation/en/progressbar.md +199 -0
- package/docs/navigation/en/progressstepbar.md +299 -0
- package/docs/search-filters/cn/daterange.md +1156 -0
- package/docs/search-filters/cn/numberrange.md +688 -0
- package/docs/search-filters/cn/searchbox.md +1582 -0
- package/docs/search-filters/en/daterange.md +1156 -0
- package/docs/search-filters/en/numberrange.md +688 -0
- package/docs/search-filters/en/searchbox.md +1582 -0
- package/package.json +53 -13
- package/dist/common-editor/DateInput.svelte +0 -27
- package/dist/i18n_resources/index.d.ts +0 -3
- package/dist/i18n_resources/index.js +0 -3
- /package/dist/{i18n_resources → i18nRes}/uniface_cn_resource.d.ts +0 -0
- /package/dist/{i18n_resources → i18nRes}/uniface_cn_resource.js +0 -0
- /package/dist/{i18n_resources → i18nRes}/uniface_en_resource.d.ts +0 -0
- /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
|
-
|
|
3
|
+
[](https://badge.fury.io/js/%40ticatec%2Funiface-element)
|
|
4
|
+
[](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.
|