@cocoar/vue-ui 3.2.0-beta.5 → 3.2.0-beta.7
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/bin/cli.mjs +53 -0
- package/package.json +9 -3
- package/skills/cocoar-vue-ui/SKILL.md +244 -0
- package/skills/cocoar-vue-ui/references/components/avatar.md +178 -0
- package/skills/cocoar-vue-ui/references/components/badge.md +290 -0
- package/skills/cocoar-vue-ui/references/components/breadcrumb.md +238 -0
- package/skills/cocoar-vue-ui/references/components/button.md +252 -0
- package/skills/cocoar-vue-ui/references/components/calendar/agenda-view.md +353 -0
- package/skills/cocoar-vue-ui/references/components/calendar/coar-calendar.md +1645 -0
- package/skills/cocoar-vue-ui/references/components/calendar/day-view.md +361 -0
- package/skills/cocoar-vue-ui/references/components/calendar/index.md +312 -0
- package/skills/cocoar-vue-ui/references/components/calendar/month-view.md +475 -0
- package/skills/cocoar-vue-ui/references/components/calendar/performance.md +186 -0
- package/skills/cocoar-vue-ui/references/components/calendar/timeline-view.md +301 -0
- package/skills/cocoar-vue-ui/references/components/calendar/week-view.md +382 -0
- package/skills/cocoar-vue-ui/references/components/calendar/work-week-view.md +145 -0
- package/skills/cocoar-vue-ui/references/components/calendar/year-view.md +63 -0
- package/skills/cocoar-vue-ui/references/components/card.md +151 -0
- package/skills/cocoar-vue-ui/references/components/checkbox-group.md +103 -0
- package/skills/cocoar-vue-ui/references/components/checkbox.md +279 -0
- package/skills/cocoar-vue-ui/references/components/code-block.md +241 -0
- package/skills/cocoar-vue-ui/references/components/context-menu.md +355 -0
- package/skills/cocoar-vue-ui/references/components/data-grid/checkbox.md +213 -0
- package/skills/cocoar-vue-ui/references/components/data-grid/date-columns.md +272 -0
- package/skills/cocoar-vue-ui/references/components/data-grid/editing.md +236 -0
- package/skills/cocoar-vue-ui/references/components/data-grid/multi-select.md +193 -0
- package/skills/cocoar-vue-ui/references/components/data-grid/number.md +147 -0
- package/skills/cocoar-vue-ui/references/components/data-grid/select.md +202 -0
- package/skills/cocoar-vue-ui/references/components/data-grid/text.md +127 -0
- package/skills/cocoar-vue-ui/references/components/data-grid.md +1225 -0
- package/skills/cocoar-vue-ui/references/components/data-list.md +2121 -0
- package/skills/cocoar-vue-ui/references/components/date-or-time-picker.md +200 -0
- package/skills/cocoar-vue-ui/references/components/date-picker.md +203 -0
- package/skills/cocoar-vue-ui/references/components/date-time-picker.md +154 -0
- package/skills/cocoar-vue-ui/references/components/date-views.md +212 -0
- package/skills/cocoar-vue-ui/references/components/dialog.md +148 -0
- package/skills/cocoar-vue-ui/references/components/divider.md +157 -0
- package/skills/cocoar-vue-ui/references/components/document-viewer/annotations.md +400 -0
- package/skills/cocoar-vue-ui/references/components/document-viewer/coar-document-viewer.md +327 -0
- package/skills/cocoar-vue-ui/references/components/document-viewer/index.md +234 -0
- package/skills/cocoar-vue-ui/references/components/document-viewer/toolbar.md +221 -0
- package/skills/cocoar-vue-ui/references/components/drag-drop.md +267 -0
- package/skills/cocoar-vue-ui/references/components/dual-listbox.md +449 -0
- package/skills/cocoar-vue-ui/references/components/file-explorer/asset-store.md +327 -0
- package/skills/cocoar-vue-ui/references/components/file-explorer/in-memory-store.md +176 -0
- package/skills/cocoar-vue-ui/references/components/file-explorer/index.md +311 -0
- package/skills/cocoar-vue-ui/references/components/file-explorer/use-file-explorer.md +300 -0
- package/skills/cocoar-vue-ui/references/components/form-field.md +1025 -0
- package/skills/cocoar-vue-ui/references/components/fragment-parser.md +298 -0
- package/skills/cocoar-vue-ui/references/components/link.md +235 -0
- package/skills/cocoar-vue-ui/references/components/listbox.md +575 -0
- package/skills/cocoar-vue-ui/references/components/map/editor.md +448 -0
- package/skills/cocoar-vue-ui/references/components/map/index.md +351 -0
- package/skills/cocoar-vue-ui/references/components/markdown-diagrams.md +210 -0
- package/skills/cocoar-vue-ui/references/components/markdown-editor.md +1478 -0
- package/skills/cocoar-vue-ui/references/components/markdown-embeds.md +387 -0
- package/skills/cocoar-vue-ui/references/components/markdown-form.md +447 -0
- package/skills/cocoar-vue-ui/references/components/markdown.md +276 -0
- package/skills/cocoar-vue-ui/references/components/menu.md +380 -0
- package/skills/cocoar-vue-ui/references/components/mermaid.md +172 -0
- package/skills/cocoar-vue-ui/references/components/navbar.md +147 -0
- package/skills/cocoar-vue-ui/references/components/note.md +96 -0
- package/skills/cocoar-vue-ui/references/components/notice.md +131 -0
- package/skills/cocoar-vue-ui/references/components/number-input.md +215 -0
- package/skills/cocoar-vue-ui/references/components/otp-input.md +324 -0
- package/skills/cocoar-vue-ui/references/components/page-builder/authoring-contract.md +271 -0
- package/skills/cocoar-vue-ui/references/components/page-builder/coar-page-builder.md +476 -0
- package/skills/cocoar-vue-ui/references/components/page-builder/coar-page-renderer.md +677 -0
- package/skills/cocoar-vue-ui/references/components/page-builder/custom-elements.md +441 -0
- package/skills/cocoar-vue-ui/references/components/page-builder/idp-integration.md +122 -0
- package/skills/cocoar-vue-ui/references/components/page-builder/index.md +573 -0
- package/skills/cocoar-vue-ui/references/components/pagination.md +150 -0
- package/skills/cocoar-vue-ui/references/components/panel-layout.md +372 -0
- package/skills/cocoar-vue-ui/references/components/password-input.md +175 -0
- package/skills/cocoar-vue-ui/references/components/popconfirm.md +186 -0
- package/skills/cocoar-vue-ui/references/components/popover.md +173 -0
- package/skills/cocoar-vue-ui/references/components/progress-bar.md +178 -0
- package/skills/cocoar-vue-ui/references/components/radio-group.md +225 -0
- package/skills/cocoar-vue-ui/references/components/script-editor.md +1271 -0
- package/skills/cocoar-vue-ui/references/components/segmented-control.md +238 -0
- package/skills/cocoar-vue-ui/references/components/select.md +463 -0
- package/skills/cocoar-vue-ui/references/components/sidebar.md +421 -0
- package/skills/cocoar-vue-ui/references/components/spinner.md +132 -0
- package/skills/cocoar-vue-ui/references/components/switch.md +195 -0
- package/skills/cocoar-vue-ui/references/components/table.md +170 -0
- package/skills/cocoar-vue-ui/references/components/tabs.md +382 -0
- package/skills/cocoar-vue-ui/references/components/tag.md +178 -0
- package/skills/cocoar-vue-ui/references/components/text-input.md +256 -0
- package/skills/cocoar-vue-ui/references/components/toast.md +160 -0
- package/skills/cocoar-vue-ui/references/components/tooltip.md +121 -0
- package/skills/cocoar-vue-ui/references/components/transitions.md +193 -0
- package/skills/cocoar-vue-ui/references/components/tree.md +2388 -0
- package/skills/cocoar-vue-ui/references/components/virtual-list.md +212 -0
- package/skills/cocoar-vue-ui/references/components/wizard.md +251 -0
- package/skills/cocoar-vue-ui/references/components/zoned-date-time-picker.md +177 -0
- package/skills/cocoar-vue-ui/references/foundations/colors.md +708 -0
- package/skills/cocoar-vue-ui/references/foundations/design-principles.md +115 -0
- package/skills/cocoar-vue-ui/references/foundations/icons.md +381 -0
- package/skills/cocoar-vue-ui/references/foundations/localization/formatting.md +530 -0
- package/skills/cocoar-vue-ui/references/foundations/localization/setup.md +86 -0
- package/skills/cocoar-vue-ui/references/foundations/localization/timezones.md +182 -0
- package/skills/cocoar-vue-ui/references/foundations/localization/translations.md +305 -0
- package/skills/cocoar-vue-ui/references/foundations/motion.md +549 -0
- package/skills/cocoar-vue-ui/references/foundations/spacing.md +330 -0
- package/skills/cocoar-vue-ui/references/foundations/theming.md +140 -0
- package/skills/cocoar-vue-ui/references/foundations/typography.md +206 -0
- package/skills/cocoar-vue-ui/references/guide/error-handling.md +162 -0
- package/skills/cocoar-vue-ui/references/guide/getting-started.md +116 -0
- package/skills/cocoar-vue-ui/references/guide/migration-page-builder-3.md +207 -0
- package/skills/cocoar-vue-ui/references/guide/migration.md +140 -0
- package/skills/cocoar-vue-ui/references/guide/theming.md +98 -0
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
<!-- Generated from apps/docs/components/transitions.md by apps/docs/scripts/sync-skill.mjs. Do not edit; edit the docs page. -->
|
|
2
|
+
|
|
3
|
+
# Transitions
|
|
4
|
+
|
|
5
|
+
Pre-built Vue `<Transition>` wrappers that use the design system's motion tokens. Drop them in, toggle visibility, done — durations, easing, and `prefers-reduced-motion` are handled automatically.
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
import { CoarFade, CoarSlide, CoarScale, CoarCollapse } from '@cocoar/vue-ui';
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Fade
|
|
12
|
+
|
|
13
|
+
Simple opacity transition. Use for overlays, tooltips, and content toggling.
|
|
14
|
+
|
|
15
|
+
**Demo — `transitions/demos/FadeDemo.vue`**
|
|
16
|
+
|
|
17
|
+
```vue
|
|
18
|
+
<template>
|
|
19
|
+
<div class="demo">
|
|
20
|
+
<div class="demo-controls">
|
|
21
|
+
<CoarButton @click="visible = !visible">Toggle</CoarButton>
|
|
22
|
+
<CoarRadioGroup v-model="duration" name="fade-duration" orientation="horizontal">
|
|
23
|
+
<CoarRadioButton value="fast">Fast</CoarRadioButton>
|
|
24
|
+
<CoarRadioButton value="normal">Normal</CoarRadioButton>
|
|
25
|
+
<CoarRadioButton value="slow">Slow</CoarRadioButton>
|
|
26
|
+
</CoarRadioGroup>
|
|
27
|
+
</div>
|
|
28
|
+
<div class="demo-area">
|
|
29
|
+
<CoarFade :duration="duration">
|
|
30
|
+
<CoarNote v-if="visible" variant="accent">This content fades in and out.</CoarNote>
|
|
31
|
+
</CoarFade>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
</template>
|
|
35
|
+
|
|
36
|
+
<script setup lang="ts">
|
|
37
|
+
import { ref } from 'vue';
|
|
38
|
+
import { CoarFade, CoarButton, CoarNote, CoarRadioGroup, CoarRadioButton } from '@cocoar/vue-ui';
|
|
39
|
+
|
|
40
|
+
const visible = ref(true);
|
|
41
|
+
const duration = ref('normal');
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
<style scoped>
|
|
45
|
+
.demo-controls { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
|
|
46
|
+
.demo-area { min-height: 60px; }
|
|
47
|
+
</style>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Slide
|
|
51
|
+
|
|
52
|
+
Slides content in from a direction with a subtle opacity fade. Use for dropdowns, drawers, and notification panels.
|
|
53
|
+
|
|
54
|
+
**Demo — `transitions/demos/SlideDemo.vue`**
|
|
55
|
+
|
|
56
|
+
```vue
|
|
57
|
+
<template>
|
|
58
|
+
<div class="demo">
|
|
59
|
+
<div class="demo-controls">
|
|
60
|
+
<CoarButton @click="visible = !visible">Toggle</CoarButton>
|
|
61
|
+
<CoarRadioGroup v-model="direction" name="slide-dir" orientation="horizontal">
|
|
62
|
+
<CoarRadioButton value="down">Down</CoarRadioButton>
|
|
63
|
+
<CoarRadioButton value="up">Up</CoarRadioButton>
|
|
64
|
+
<CoarRadioButton value="left">Left</CoarRadioButton>
|
|
65
|
+
<CoarRadioButton value="right">Right</CoarRadioButton>
|
|
66
|
+
</CoarRadioGroup>
|
|
67
|
+
</div>
|
|
68
|
+
<div class="demo-area">
|
|
69
|
+
<CoarSlide :direction="direction">
|
|
70
|
+
<CoarNote v-if="visible" variant="info">This content slides {{ direction }}.</CoarNote>
|
|
71
|
+
</CoarSlide>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
</template>
|
|
75
|
+
|
|
76
|
+
<script setup lang="ts">
|
|
77
|
+
import { ref } from 'vue';
|
|
78
|
+
import { CoarSlide, CoarButton, CoarNote, CoarRadioGroup, CoarRadioButton } from '@cocoar/vue-ui';
|
|
79
|
+
|
|
80
|
+
const visible = ref(true);
|
|
81
|
+
const direction = ref<'up' | 'down' | 'left' | 'right'>('down');
|
|
82
|
+
</script>
|
|
83
|
+
|
|
84
|
+
<style scoped>
|
|
85
|
+
.demo-controls { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
|
|
86
|
+
.demo-area { min-height: 60px; }
|
|
87
|
+
</style>
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Scale
|
|
91
|
+
|
|
92
|
+
Scales content in with a slight bounce and fades out cleanly. Use for dialogs, popovers, and action confirmations.
|
|
93
|
+
|
|
94
|
+
**Demo — `transitions/demos/ScaleDemo.vue`**
|
|
95
|
+
|
|
96
|
+
```vue
|
|
97
|
+
<template>
|
|
98
|
+
<div class="demo">
|
|
99
|
+
<div class="demo-controls">
|
|
100
|
+
<CoarButton @click="visible = !visible">Toggle</CoarButton>
|
|
101
|
+
</div>
|
|
102
|
+
<div class="demo-area">
|
|
103
|
+
<CoarScale>
|
|
104
|
+
<CoarCard v-if="visible" variant="outlined" padding="m">
|
|
105
|
+
<strong>Scaled content</strong>
|
|
106
|
+
<p>This card scales in with a subtle bounce and fades out.</p>
|
|
107
|
+
</CoarCard>
|
|
108
|
+
</CoarScale>
|
|
109
|
+
</div>
|
|
110
|
+
</div>
|
|
111
|
+
</template>
|
|
112
|
+
|
|
113
|
+
<script setup lang="ts">
|
|
114
|
+
import { ref } from 'vue';
|
|
115
|
+
import { CoarScale, CoarButton, CoarCard } from '@cocoar/vue-ui';
|
|
116
|
+
|
|
117
|
+
const visible = ref(true);
|
|
118
|
+
</script>
|
|
119
|
+
|
|
120
|
+
<style scoped>
|
|
121
|
+
.demo-controls { margin-bottom: 16px; }
|
|
122
|
+
.demo-area { min-height: 80px; }
|
|
123
|
+
</style>
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Collapse
|
|
127
|
+
|
|
128
|
+
Animates the actual height of content for smooth expand/collapse. Use for accordions, expandable sections, and progressive disclosure.
|
|
129
|
+
|
|
130
|
+
**Demo — `transitions/demos/CollapseDemo.vue`**
|
|
131
|
+
|
|
132
|
+
```vue
|
|
133
|
+
<template>
|
|
134
|
+
<div class="demo">
|
|
135
|
+
<CoarButton @click="expanded = !expanded">
|
|
136
|
+
{{ expanded ? 'Collapse' : 'Expand' }}
|
|
137
|
+
</CoarButton>
|
|
138
|
+
<CoarCollapse>
|
|
139
|
+
<div v-if="expanded" class="demo-content">
|
|
140
|
+
<CoarNote variant="neutral" padding="m">
|
|
141
|
+
<p><strong>Expandable content</strong></p>
|
|
142
|
+
<p>This section smoothly collapses and expands by animating the height. Useful for accordions, expandable panels, and progressive disclosure patterns.</p>
|
|
143
|
+
<ul>
|
|
144
|
+
<li>Animates actual height (not max-height hack)</li>
|
|
145
|
+
<li>Works with dynamic content</li>
|
|
146
|
+
<li>Respects prefers-reduced-motion</li>
|
|
147
|
+
</ul>
|
|
148
|
+
</CoarNote>
|
|
149
|
+
</div>
|
|
150
|
+
</CoarCollapse>
|
|
151
|
+
</div>
|
|
152
|
+
</template>
|
|
153
|
+
|
|
154
|
+
<script setup lang="ts">
|
|
155
|
+
import { ref } from 'vue';
|
|
156
|
+
import { CoarCollapse, CoarButton, CoarNote } from '@cocoar/vue-ui';
|
|
157
|
+
|
|
158
|
+
const expanded = ref(false);
|
|
159
|
+
</script>
|
|
160
|
+
|
|
161
|
+
<style scoped>
|
|
162
|
+
.demo-content { margin-top: 12px; }
|
|
163
|
+
</style>
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## Accessibility
|
|
167
|
+
|
|
168
|
+
All transition components respect `prefers-reduced-motion: reduce`. When the user has reduced motion enabled, the design system's duration tokens collapse to `0ms`, making all transitions instant.
|
|
169
|
+
|
|
170
|
+
## API
|
|
171
|
+
|
|
172
|
+
### Shared Props
|
|
173
|
+
|
|
174
|
+
| Prop | Type | Default | Description |
|
|
175
|
+
|------|------|---------|-------------|
|
|
176
|
+
| `duration` | `'fast' \| 'normal' \| 'slow'` | `'normal'` | Maps to `--coar-duration-*` tokens (100ms / 200ms / 300ms) |
|
|
177
|
+
| `appear` | `boolean` | `false` | Animate on initial render |
|
|
178
|
+
|
|
179
|
+
### CoarSlide Props
|
|
180
|
+
|
|
181
|
+
| Prop | Type | Default | Description |
|
|
182
|
+
|------|------|---------|-------------|
|
|
183
|
+
| `direction` | `'up' \| 'down' \| 'left' \| 'right'` | `'down'` | Slide direction |
|
|
184
|
+
|
|
185
|
+
### Slots
|
|
186
|
+
|
|
187
|
+
All transition components have a single default slot. The child element must support `v-if` or `v-show` for the transition to work.
|
|
188
|
+
|
|
189
|
+
```vue
|
|
190
|
+
<CoarFade>
|
|
191
|
+
<div v-if="visible">I fade in and out</div>
|
|
192
|
+
</CoarFade>
|
|
193
|
+
```
|