diff --git a/docs/ai/context/ui-components.md b/docs/ai/context/ui-components.md index 69b1c6007..547a91029 100644 --- a/docs/ai/context/ui-components.md +++ b/docs/ai/context/ui-components.md @@ -74,6 +74,16 @@ Loading placeholder with animation. **Slots**: `default` +### Truncatable + +Line-clamped content container that expands and collapses when the overflowing content area is clicked. + +| Prop | Type | Default | Description | +|------|------|---------|-------------| +| `lineClamp` | `number?` | `3` | Maximum visible lines while collapsed | + +**Slots**: `default` + --- ## Misc diff --git a/packages/ui/src/components/layouts/index.ts b/packages/ui/src/components/layouts/index.ts index 29ce97449..3a28422b5 100644 --- a/packages/ui/src/components/layouts/index.ts +++ b/packages/ui/src/components/layouts/index.ts @@ -1,3 +1,4 @@ export { default as Collapsible } from './collapsible.vue' export { default as Screen } from './screen.vue' export { default as Skeleton } from './skeleton.vue' +export { default as Truncatable } from './truncatable.vue' diff --git a/packages/ui/src/components/layouts/truncatable.vue b/packages/ui/src/components/layouts/truncatable.vue new file mode 100644 index 000000000..779f1e5b1 --- /dev/null +++ b/packages/ui/src/components/layouts/truncatable.vue @@ -0,0 +1,178 @@ + + + + +