@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.
- package/README.md +273 -1
- package/README_CN.md +341 -0
- package/dist/common/MouseClickHandler.d.ts +1 -1
- package/dist/dialog/CommonDialog.svelte +6 -3
- package/dist/dialog/CommonDialog.svelte.d.ts +2 -1
- package/dist/dialog/Dialog.svelte +36 -10
- 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/dialog/DialogWrapper.svelte.d.ts +22 -0
- package/dist/dialog/Dialogs.js +1 -1
- package/dist/dialog/ModalResult.d.ts +5 -0
- package/dist/dialog/ModalResult.js +5 -0
- 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 +38 -5
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
# TextButton Component
|
|
2
|
+
|
|
3
|
+
The `TextButton` component is optimized for text-only buttons with minimal styling.
|
|
4
|
+
|
|
5
|
+
## Basic Usage
|
|
6
|
+
|
|
7
|
+
```svelte
|
|
8
|
+
<script lang="ts">
|
|
9
|
+
import TextButton from '@ticatec/uniface-element/TextButton';
|
|
10
|
+
|
|
11
|
+
const handleCancel = async (event: MouseEvent) => {
|
|
12
|
+
// Handle cancel action
|
|
13
|
+
};
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<TextButton
|
|
17
|
+
label="Cancel"
|
|
18
|
+
type="secondary"
|
|
19
|
+
onClick={handleCancel}
|
|
20
|
+
/>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Usage Examples
|
|
24
|
+
|
|
25
|
+
```svelte
|
|
26
|
+
<script lang="ts">
|
|
27
|
+
import TextButton from '@ticatec/uniface-element/TextButton';
|
|
28
|
+
|
|
29
|
+
const actions = {
|
|
30
|
+
save: async () => { /* save logic */ },
|
|
31
|
+
delete: async () => { /* delete logic */ },
|
|
32
|
+
cancel: async () => { /* cancel logic */ }
|
|
33
|
+
};
|
|
34
|
+
</script>
|
|
35
|
+
|
|
36
|
+
<!-- Different button types -->
|
|
37
|
+
<TextButton label="Primary Action" type="primary" onClick={actions.save} />
|
|
38
|
+
<TextButton label="Secondary Action" type="secondary" onClick={actions.cancel} />
|
|
39
|
+
<TextButton label="Danger Action" type="third" onClick={actions.delete} />
|
|
40
|
+
|
|
41
|
+
<!-- Different sizes -->
|
|
42
|
+
<TextButton label="Large" size="big" onClick={actions.save} />
|
|
43
|
+
<TextButton label="Medium" size="medium" onClick={actions.save} />
|
|
44
|
+
<TextButton label="Small" size="mini" onClick={actions.save} />
|
|
45
|
+
|
|
46
|
+
<!-- With custom content -->
|
|
47
|
+
<TextButton type="primary" onClick={actions.save}>
|
|
48
|
+
<i class="icon_google_check"></i> Confirm Changes
|
|
49
|
+
</TextButton>
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Properties
|
|
53
|
+
|
|
54
|
+
| Property | Type | Default | Description |
|
|
55
|
+
|----------|------|---------|-------------|
|
|
56
|
+
| `label` | `string` | `''` | Button text label |
|
|
57
|
+
| `type` | `ButtonType` | `'default'` | Visual style variant |
|
|
58
|
+
| `size` | `'big' \| 'medium' \| 'mini'` | `'medium'` | Button size |
|
|
59
|
+
| `disabled` | `boolean` | `false` | Disable button interaction |
|
|
60
|
+
| `style` | `string` | `''` | Custom CSS styles |
|
|
61
|
+
| `onClick` | `MouseClickHandler` | - | Async click event handler |
|
|
62
|
+
|
|
63
|
+
## Style Variants
|
|
64
|
+
|
|
65
|
+
### ButtonType Options
|
|
66
|
+
|
|
67
|
+
```typescript
|
|
68
|
+
type ButtonType = 'default' | 'primary' | 'secondary' | 'third' | 'forth';
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Visual Appearance
|
|
72
|
+
|
|
73
|
+
- **default**: Standard neutral button appearance
|
|
74
|
+
- **primary**: Emphasizes primary actions (typically blue)
|
|
75
|
+
- **secondary**: Secondary actions button (typically gray)
|
|
76
|
+
- **third**: Alternative style (typically for warnings/caution)
|
|
77
|
+
- **forth**: Additional style variant
|
|
78
|
+
|
|
79
|
+
### Size Variants
|
|
80
|
+
|
|
81
|
+
- **big**: Large button size for prominent actions
|
|
82
|
+
- **medium**: Standard button size for most use cases
|
|
83
|
+
- **mini**: Small button size for compact interfaces
|
|
84
|
+
|
|
85
|
+
## Use Cases
|
|
86
|
+
|
|
87
|
+
TextButton component is particularly suitable for:
|
|
88
|
+
|
|
89
|
+
- Cancel/Confirm actions in dialogs
|
|
90
|
+
- Navigation link-style buttons
|
|
91
|
+
- Inline action buttons
|
|
92
|
+
- Auxiliary actions in forms
|
|
93
|
+
|
|
94
|
+
## Best Practices
|
|
95
|
+
|
|
96
|
+
### In Dialog Context
|
|
97
|
+
|
|
98
|
+
```svelte
|
|
99
|
+
<script lang="ts">
|
|
100
|
+
import TextButton from '@ticatec/uniface-element/TextButton';
|
|
101
|
+
|
|
102
|
+
const handleCancel = async () => {
|
|
103
|
+
closeDialog();
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
const handleConfirm = async () => {
|
|
107
|
+
await saveChanges();
|
|
108
|
+
closeDialog();
|
|
109
|
+
};
|
|
110
|
+
</script>
|
|
111
|
+
|
|
112
|
+
<div class="dialog-actions">
|
|
113
|
+
<TextButton label="Cancel" type="secondary" onClick={handleCancel} />
|
|
114
|
+
<TextButton label="Confirm" type="primary" onClick={handleConfirm} />
|
|
115
|
+
</div>
|
|
116
|
+
|
|
117
|
+
<style>
|
|
118
|
+
.dialog-actions {
|
|
119
|
+
display: flex;
|
|
120
|
+
gap: 12px;
|
|
121
|
+
justify-content: flex-end;
|
|
122
|
+
margin-top: 16px;
|
|
123
|
+
}
|
|
124
|
+
</style>
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### As Inline Actions
|
|
128
|
+
|
|
129
|
+
```svelte
|
|
130
|
+
<div class="content-item">
|
|
131
|
+
<span class="item-text">Project Name</span>
|
|
132
|
+
<div class="item-actions">
|
|
133
|
+
<TextButton label="Edit" type="primary" size="mini" onClick={editItem} />
|
|
134
|
+
<TextButton label="Delete" type="third" size="mini" onClick={deleteItem} />
|
|
135
|
+
</div>
|
|
136
|
+
</div>
|
|
137
|
+
|
|
138
|
+
<style>
|
|
139
|
+
.content-item {
|
|
140
|
+
display: flex;
|
|
141
|
+
justify-content: space-between;
|
|
142
|
+
align-items: center;
|
|
143
|
+
padding: 8px 0;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.item-actions {
|
|
147
|
+
display: flex;
|
|
148
|
+
gap: 8px;
|
|
149
|
+
}
|
|
150
|
+
</style>
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## API Reference
|
|
154
|
+
|
|
155
|
+
### MouseClickHandler Type
|
|
156
|
+
|
|
157
|
+
```typescript
|
|
158
|
+
type MouseClickHandler = (event: MouseEvent) => Promise<void>;
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Click Throttling
|
|
162
|
+
|
|
163
|
+
TextButton component implements automatic click throttling with a 500ms cooldown to prevent accidental double-clicks and ensure proper async operation handling.
|