@meistrari/tela-build 1.0.0
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 +75 -0
- package/app.config.ts +73 -0
- package/components/tela/animated/animated-calculating-number.vue +16 -0
- package/components/tela/animated/animated-number.mdx +248 -0
- package/components/tela/animated/animated-number.stories.ts +52 -0
- package/components/tela/animated/animated-number.vue +23 -0
- package/components/tela/animated/animated-text.vue +124 -0
- package/components/tela/animated/animated-value.vue +68 -0
- package/components/tela/avatar/avatar.mdx +117 -0
- package/components/tela/avatar/avatar.stories.ts +62 -0
- package/components/tela/avatar/avatar.vue +71 -0
- package/components/tela/avatar/group/avatar-group.stories.ts +78 -0
- package/components/tela/avatar/group/avatar-group.vue +46 -0
- package/components/tela/badge/badge.mdx +154 -0
- package/components/tela/badge/badge.stories.ts +82 -0
- package/components/tela/badge/badge.vue +41 -0
- package/components/tela/button/button.mdx +155 -0
- package/components/tela/button/button.stories.ts +202 -0
- package/components/tela/button/button.vue +107 -0
- package/components/tela/card.vue +30 -0
- package/components/tela/chart/chart-bar.vue +58 -0
- package/components/tela/chat/chat.mdx +268 -0
- package/components/tela/chat/chat.stories.ts +253 -0
- package/components/tela/chat/command/index.vue +41 -0
- package/components/tela/chat/command/mention/index.vue +138 -0
- package/components/tela/chat/index.vue +112 -0
- package/components/tela/chat/pure-text-input/chat-text-input.vue +190 -0
- package/components/tela/chat/text-input/chat-text-input.stories.ts +128 -0
- package/components/tela/chat/text-input/index.vue +217 -0
- package/components/tela/chat/text-message/chat-text-message.stories.ts +138 -0
- package/components/tela/chat/text-message/index.vue +355 -0
- package/components/tela/chat/types.ts +19 -0
- package/components/tela/checkbox/checkbox-card.vue +30 -0
- package/components/tela/checkbox/checkbox.mdx +164 -0
- package/components/tela/checkbox/checkbox.stories.ts +104 -0
- package/components/tela/checkbox/checkbox.vue +43 -0
- package/components/tela/collapsible/Collapsible.vue +15 -0
- package/components/tela/collapsible/CollapsibleContent.vue +59 -0
- package/components/tela/collapsible/CollapsibleTrigger.vue +12 -0
- package/components/tela/collapsible/collapsible.mdx +157 -0
- package/components/tela/collapsible-section/collapsible-section.mdx +180 -0
- package/components/tela/collapsible-section/collapsible-section.stories.ts +53 -0
- package/components/tela/collapsible-section/collapsible-section.vue +51 -0
- package/components/tela/collapsible-section-with-actions.vue +98 -0
- package/components/tela/combobox/combobox-anchor.vue +24 -0
- package/components/tela/combobox/combobox-empty.vue +19 -0
- package/components/tela/combobox/combobox-group.vue +24 -0
- package/components/tela/combobox/combobox-indicator.vue +22 -0
- package/components/tela/combobox/combobox-input.vue +31 -0
- package/components/tela/combobox/combobox-item.vue +28 -0
- package/components/tela/combobox/combobox-label.vue +24 -0
- package/components/tela/combobox/combobox-list.vue +90 -0
- package/components/tela/combobox/combobox-module-selector.vue +366 -0
- package/components/tela/combobox/combobox-root.vue +15 -0
- package/components/tela/combobox/combobox-trigger.vue +12 -0
- package/components/tela/combobox/combobox.mdx +285 -0
- package/components/tela/combobox/combobox.stories.ts +232 -0
- package/components/tela/combobox/combobox.vue +497 -0
- package/components/tela/command/command-dialog.vue +22 -0
- package/components/tela/command/command-empty.vue +25 -0
- package/components/tela/command/command-group.vue +46 -0
- package/components/tela/command/command-input.vue +38 -0
- package/components/tela/command/command-item.vue +78 -0
- package/components/tela/command/command-list.vue +78 -0
- package/components/tela/command/command-separator.vue +23 -0
- package/components/tela/command/command-shortcut.vue +13 -0
- package/components/tela/command/command.vue +88 -0
- package/components/tela/command/dialog-base.vue +15 -0
- package/components/tela/command/dialog-content.vue +50 -0
- package/components/tela/command/utils.ts +15 -0
- package/components/tela/complex-table/complex-table-cell.stories.ts +145 -0
- package/components/tela/complex-table/complex-table-cell.vue +45 -0
- package/components/tela/complex-table/complex-table-header-cell.stories.ts +103 -0
- package/components/tela/complex-table/complex-table-header-cell.vue +48 -0
- package/components/tela/complex-table/complex-table-header.stories.ts +89 -0
- package/components/tela/complex-table/complex-table-header.vue +70 -0
- package/components/tela/complex-table/complex-table-row.vue +199 -0
- package/components/tela/complex-table/complex-table-virtualized.vue +326 -0
- package/components/tela/complex-table/complex-table.stories.ts +358 -0
- package/components/tela/complex-table/complex-table.vue +237 -0
- package/components/tela/complex-table/composables/table-common.ts +93 -0
- package/components/tela/complex-table/composables/table-selection.ts +87 -0
- package/components/tela/complex-table/composables/virtual-scroll.ts +252 -0
- package/components/tela/complex-table/styles/table-shared.css +170 -0
- package/components/tela/complex-table/types.ts +63 -0
- package/components/tela/complex-table/utils.ts +35 -0
- package/components/tela/confirm-button/confirm-button.vue +137 -0
- package/components/tela/confirmation-modal/confirmation-modal.vue +72 -0
- package/components/tela/copy-button.vue +86 -0
- package/components/tela/date-range-picker.vue +221 -0
- package/components/tela/dialog/dialog.mdx +170 -0
- package/components/tela/dialog/dialog.vue +182 -0
- package/components/tela/disabled-area.vue +16 -0
- package/components/tela/disclaimer/disclaimer.mdx +238 -0
- package/components/tela/disclaimer/disclaimer.stories.ts +196 -0
- package/components/tela/disclaimer/disclaimer.vue +125 -0
- package/components/tela/dropdown-menu/DropdownMenu.vue +121 -0
- package/components/tela/dropdown-menu/DropdownMenuCheckboxItem.vue +40 -0
- package/components/tela/dropdown-menu/DropdownMenuContent.vue +75 -0
- package/components/tela/dropdown-menu/DropdownMenuGroup.vue +12 -0
- package/components/tela/dropdown-menu/DropdownMenuItem.vue +137 -0
- package/components/tela/dropdown-menu/DropdownMenuLabel.vue +26 -0
- package/components/tela/dropdown-menu/DropdownMenuRadioGroup.vue +18 -0
- package/components/tela/dropdown-menu/DropdownMenuRadioItem.vue +40 -0
- package/components/tela/dropdown-menu/DropdownMenuRoot.vue +15 -0
- package/components/tela/dropdown-menu/DropdownMenuSeparator.vue +21 -0
- package/components/tela/dropdown-menu/DropdownMenuShortcut.vue +14 -0
- package/components/tela/dropdown-menu/DropdownMenuSub.vue +18 -0
- package/components/tela/dropdown-menu/DropdownMenuSubContent.vue +30 -0
- package/components/tela/dropdown-menu/DropdownMenuSubTrigger.vue +35 -0
- package/components/tela/dropdown-menu/DropdownMenuTrigger.vue +14 -0
- package/components/tela/dropdown-menu/dropdown-menu.mdx +265 -0
- package/components/tela/dropdown-menu/dropdown-menu.stories.ts +156 -0
- package/components/tela/expandable-input.vue +96 -0
- package/components/tela/file-drop.vue +37 -0
- package/components/tela/file-upload/file-upload.mdx +189 -0
- package/components/tela/file-upload/file-upload.stories.ts +48 -0
- package/components/tela/file-upload/file-upload.vue +205 -0
- package/components/tela/filters/checkbox-filter.stories.ts +218 -0
- package/components/tela/filters/checkbox-filter.vue +165 -0
- package/components/tela/filters/date-filter.stories.ts +258 -0
- package/components/tela/filters/date-filter.vue +200 -0
- package/components/tela/filters/user-filter.stories.ts +344 -0
- package/components/tela/filters/user-filter.vue +271 -0
- package/components/tela/hover-card/hover-card.mdx +221 -0
- package/components/tela/hover-card/hover-card.stories.ts +87 -0
- package/components/tela/hover-card/hover-card.vue +61 -0
- package/components/tela/icon/custom.vue +319 -0
- package/components/tela/icon/spinner.vue +12 -0
- package/components/tela/icon-button/icon-button.vue +114 -0
- package/components/tela/icon.vue +37 -0
- package/components/tela/initials.vue +28 -0
- package/components/tela/inline-input.vue +77 -0
- package/components/tela/input/input.mdx +182 -0
- package/components/tela/input/input.stories.ts +153 -0
- package/components/tela/input/tela-input.vue +240 -0
- package/components/tela/kbd/kbd-return.vue +6 -0
- package/components/tela/kbd/kbd.mdx +238 -0
- package/components/tela/kbd/kbd.vue +18 -0
- package/components/tela/label/label.mdx +121 -0
- package/components/tela/label/label.stories.ts +37 -0
- package/components/tela/label/label.vue +25 -0
- package/components/tela/link-decoration/link-decoration.vue +19 -0
- package/components/tela/live-label.vue +32 -0
- package/components/tela/long-press-button.vue +98 -0
- package/components/tela/menubar/menubar-content.vue +77 -0
- package/components/tela/menubar/menubar-item.vue +32 -0
- package/components/tela/menubar/menubar-label.vue +14 -0
- package/components/tela/menubar/menubar-menu.vue +12 -0
- package/components/tela/menubar/menubar-root.vue +30 -0
- package/components/tela/menubar/menubar-separator.vue +17 -0
- package/components/tela/menubar/menubar-shortcut.vue +14 -0
- package/components/tela/menubar/menubar-sub-content.vue +36 -0
- package/components/tela/menubar/menubar-sub-trigger.vue +28 -0
- package/components/tela/menubar/menubar-sub.vue +20 -0
- package/components/tela/menubar/menubar-trigger.vue +27 -0
- package/components/tela/menubar/menubar.vue +298 -0
- package/components/tela/modal/modal.mdx +145 -0
- package/components/tela/modal/modal.vue +242 -0
- package/components/tela/multiple-select/multiple-select.mdx +274 -0
- package/components/tela/multiple-select/multiple-select.stories.ts +325 -0
- package/components/tela/multiple-select/multiple-select.vue +666 -0
- package/components/tela/pane.vue +110 -0
- package/components/tela/popover/popover-content.vue +48 -0
- package/components/tela/popover/popover-trigger.vue +12 -0
- package/components/tela/popover/popover.mdx +239 -0
- package/components/tela/popover/popover.stories.ts +150 -0
- package/components/tela/popover/popover.vue +15 -0
- package/components/tela/popover-list/popover-list-nested.vue +104 -0
- package/components/tela/popover-list/popover-list.stories.ts +330 -0
- package/components/tela/popover-list/popover-list.vue +191 -0
- package/components/tela/radio-button.vue +66 -0
- package/components/tela/radio-group/radio-group-item.vue +40 -0
- package/components/tela/radio-group/radio-group-root.vue +26 -0
- package/components/tela/radio-group/radio-group.mdx +78 -0
- package/components/tela/radio-group/radio-group.stories.ts +106 -0
- package/components/tela/radio-group/radio-group.vue +23 -0
- package/components/tela/range-calendar.stories.ts +110 -0
- package/components/tela/range-calendar.vue +109 -0
- package/components/tela/scroll-area/scroll-area.mdx +183 -0
- package/components/tela/scroll-area/scroll-area.vue +30 -0
- package/components/tela/scroll-area/scroll-bar.vue +31 -0
- package/components/tela/segment-toggle.stories.ts +114 -0
- package/components/tela/segment-toggle.vue +66 -0
- package/components/tela/select-menu/select-menu-content.vue +106 -0
- package/components/tela/select-menu/select-menu-down-button.vue +20 -0
- package/components/tela/select-menu/select-menu-group.vue +16 -0
- package/components/tela/select-menu/select-menu-item.vue +40 -0
- package/components/tela/select-menu/select-menu-root.vue +15 -0
- package/components/tela/select-menu/select-menu-trigger.vue +34 -0
- package/components/tela/select-menu/select-menu-up-button.vue +20 -0
- package/components/tela/select-menu/select-menu-value.vue +12 -0
- package/components/tela/select-menu/select-menu.mdx +221 -0
- package/components/tela/select-menu/select-menu.stories.ts +91 -0
- package/components/tela/select-menu/select-menu.vue +165 -0
- package/components/tela/selector/selector.vue +47 -0
- package/components/tela/sheet/sheet-close.vue +12 -0
- package/components/tela/sheet/sheet-content.vue +57 -0
- package/components/tela/sheet/sheet-description.vue +23 -0
- package/components/tela/sheet/sheet-footer.vue +18 -0
- package/components/tela/sheet/sheet-header.vue +15 -0
- package/components/tela/sheet/sheet-root.vue +18 -0
- package/components/tela/sheet/sheet-title.vue +23 -0
- package/components/tela/sheet/sheet-trigger.vue +12 -0
- package/components/tela/sheet/sheet.client.vue +150 -0
- package/components/tela/sheet/sheet.mdx +176 -0
- package/components/tela/sheet/sheet.stories.ts +201 -0
- package/components/tela/sheet/variants.ts +22 -0
- package/components/tela/side-sheet/side-sheet.mdx +131 -0
- package/components/tela/side-sheet/side-sheet.stories.ts +134 -0
- package/components/tela/side-sheet/side-sheet.vue +106 -0
- package/components/tela/skeleton/skeleton.mdx +165 -0
- package/components/tela/skeleton/skeleton.stories.ts +35 -0
- package/components/tela/skeleton/skeleton.vue +45 -0
- package/components/tela/skeleton-icon.vue +24 -0
- package/components/tela/span.vue +24 -0
- package/components/tela/star-button.vue +70 -0
- package/components/tela/status/status-lean.vue +30 -0
- package/components/tela/status/status.mdx +187 -0
- package/components/tela/status/status.stories.ts +160 -0
- package/components/tela/status/status.vue +420 -0
- package/components/tela/status-bar/status-bar.mdx +178 -0
- package/components/tela/status-bar/status-bar.stories.ts +64 -0
- package/components/tela/status-bar/status-bar.vue +56 -0
- package/components/tela/status-bar/types.ts +5 -0
- package/components/tela/switch/switch.mdx +118 -0
- package/components/tela/switch/switch.stories.ts +80 -0
- package/components/tela/switch/switch.vue +56 -0
- package/components/tela/table/table-body.vue +13 -0
- package/components/tela/table/table-caption.vue +13 -0
- package/components/tela/table/table-cell.vue +20 -0
- package/components/tela/table/table-empty.vue +37 -0
- package/components/tela/table/table-footer.vue +13 -0
- package/components/tela/table/table-head.vue +13 -0
- package/components/tela/table/table-header.vue +13 -0
- package/components/tela/table/table-row.vue +13 -0
- package/components/tela/table/table.mdx +230 -0
- package/components/tela/table/table.stories.ts +384 -0
- package/components/tela/table/table.vue +15 -0
- package/components/tela/tabs/tabs-content.vue +20 -0
- package/components/tela/tabs/tabs-indicator.vue +22 -0
- package/components/tela/tabs/tabs-list.vue +23 -0
- package/components/tela/tabs/tabs-root.vue +15 -0
- package/components/tela/tabs/tabs-trigger.vue +27 -0
- package/components/tela/tabs/tabs.mdx +138 -0
- package/components/tela/tabs/tabs.stories.ts +72 -0
- package/components/tela/tabs/tabs.vue +61 -0
- package/components/tela/tags/tags-select.mdx +318 -0
- package/components/tela/tags/tags-select.stories.ts +47 -0
- package/components/tela/tags/tags-select.vue +637 -0
- package/components/tela/tags/tags.mdx +151 -0
- package/components/tela/tags/tags.stories.ts +118 -0
- package/components/tela/tags/tags.vue +112 -0
- package/components/tela/textarea/textarea.mdx +102 -0
- package/components/tela/textarea/textarea.stories.ts +50 -0
- package/components/tela/textarea/textarea.vue +34 -0
- package/components/tela/toggle-group.vue +91 -0
- package/components/tela/tooltip/tooltip-content.vue +45 -0
- package/components/tela/tooltip/tooltip-provider.vue +12 -0
- package/components/tela/tooltip/tooltip-root.vue +15 -0
- package/components/tela/tooltip/tooltip-trigger.vue +12 -0
- package/components/tela/tooltip/tooltip.mdx +196 -0
- package/components/tela/tooltip/tooltip.stories.ts +200 -0
- package/components/tela/tooltip/tooltip.vue +91 -0
- package/components/tela/tooltip-group/tooltip-group-trigger.vue +92 -0
- package/components/tela/tooltip-group/tooltip-group.mdx +236 -0
- package/components/tela/tooltip-group/tooltip-group.stories.ts +465 -0
- package/components/tela/tooltip-group/tooltip-group.vue +35 -0
- package/components/tela/transparent-input.vue +151 -0
- package/components/tela/variable-icon.vue +28 -0
- package/components/tela/variable-input.vue +77 -0
- package/components/tela/wide-button/wide-button.vue +40 -0
- package/components.json +18 -0
- package/composables/status-toast.ts +67 -0
- package/css/reset.css +386 -0
- package/css/text.css +22 -0
- package/lib/doc-generator.ts +903 -0
- package/lib/extractors/volar-extract.ts +186 -0
- package/lib/type-resolver.ts +402 -0
- package/lib/utils.ts +6 -0
- package/modules/tela-build-docs/index.ts +139 -0
- package/nuxt.config.ts +80 -0
- package/package.json +84 -0
- package/plugins/test-id.ts +7 -0
- package/tsconfig.json +7 -0
- package/types/custom-icon.ts +1 -0
- package/types/index.ts +2 -0
- package/types/status.ts +1 -0
- package/unocss.config.ts +89 -0
- package/utils/component-utils.ts +30 -0
- package/utils/design-tokens.ts +431 -0
- package/utils/fold.ts +8 -0
- package/utils/select-menu.ts +10 -0
- package/utils/status.ts +1 -0
- package/utils/without-keys.ts +34 -0
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import { Meta, Canvas, ArgTypes } from '@storybook/blocks';
|
|
2
|
+
import * as TooltipGroupStories from './tooltip-group.stories.ts';
|
|
3
|
+
|
|
4
|
+
<Meta of={TooltipGroupStories} />
|
|
5
|
+
|
|
6
|
+
# TelaTooltipGroup
|
|
7
|
+
|
|
8
|
+
A tooltip group component that manages tooltips for multiple child elements. Provides coordinated tooltip behavior for groups of interactive elements like button groups or toolbar items. Each child element wrapped in TooltipGroupTrigger will show its tooltip when hovered.
|
|
9
|
+
|
|
10
|
+
## Examples
|
|
11
|
+
|
|
12
|
+
### Basic Usage
|
|
13
|
+
|
|
14
|
+
<Canvas of={TooltipGroupStories.Simple} />
|
|
15
|
+
|
|
16
|
+
### Text Editor Toolbar
|
|
17
|
+
|
|
18
|
+
<Canvas of={TooltipGroupStories.Default} />
|
|
19
|
+
|
|
20
|
+
### With Delay
|
|
21
|
+
|
|
22
|
+
<Canvas of={TooltipGroupStories.WithDelay} />
|
|
23
|
+
|
|
24
|
+
### With Skip Delay
|
|
25
|
+
|
|
26
|
+
<Canvas of={TooltipGroupStories.WithSkipDelay} />
|
|
27
|
+
|
|
28
|
+
### Multiline Tooltips
|
|
29
|
+
|
|
30
|
+
<Canvas of={TooltipGroupStories.MultilineTooltips} />
|
|
31
|
+
|
|
32
|
+
### Different Positions
|
|
33
|
+
|
|
34
|
+
<Canvas of={TooltipGroupStories.WithPositioning} />
|
|
35
|
+
|
|
36
|
+
### Disabled Group
|
|
37
|
+
|
|
38
|
+
<Canvas of={TooltipGroupStories.Disabled} />
|
|
39
|
+
|
|
40
|
+
### With Custom Content
|
|
41
|
+
|
|
42
|
+
<Canvas of={TooltipGroupStories.WithCustomContent} />
|
|
43
|
+
|
|
44
|
+
### Basic Usage Code
|
|
45
|
+
|
|
46
|
+
```vue
|
|
47
|
+
<TelaTooltipGroup>
|
|
48
|
+
<div class="flex gap-1">
|
|
49
|
+
<TelaTooltipGroupTrigger content="Cut">
|
|
50
|
+
<TelaIconButton icon="i-ph-scissors" />
|
|
51
|
+
</TelaTooltipGroupTrigger>
|
|
52
|
+
<TelaTooltipGroupTrigger content="Copy">
|
|
53
|
+
<TelaIconButton icon="i-ph-copy" />
|
|
54
|
+
</TelaTooltipGroupTrigger>
|
|
55
|
+
<TelaTooltipGroupTrigger content="Paste">
|
|
56
|
+
<TelaIconButton icon="i-ph-clipboard" />
|
|
57
|
+
</TelaTooltipGroupTrigger>
|
|
58
|
+
</div>
|
|
59
|
+
</TelaTooltipGroup>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Text Editor Toolbar Code
|
|
63
|
+
|
|
64
|
+
```vue
|
|
65
|
+
<TelaTooltipGroup>
|
|
66
|
+
<div class="flex gap-1">
|
|
67
|
+
<TelaTooltipGroupTrigger content="Bold">
|
|
68
|
+
<TelaIconButton icon="i-ph-text-b" />
|
|
69
|
+
</TelaTooltipGroupTrigger>
|
|
70
|
+
<TelaTooltipGroupTrigger content="Italic">
|
|
71
|
+
<TelaIconButton icon="i-ph-text-italic" />
|
|
72
|
+
</TelaTooltipGroupTrigger>
|
|
73
|
+
<TelaTooltipGroupTrigger content="Heading 1">
|
|
74
|
+
<TelaIconButton icon="i-ph-text-h-one" />
|
|
75
|
+
</TelaTooltipGroupTrigger>
|
|
76
|
+
</div>
|
|
77
|
+
</TelaTooltipGroup>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### With Delay Code
|
|
81
|
+
|
|
82
|
+
```vue
|
|
83
|
+
<TelaTooltipGroup :delay-duration="500">
|
|
84
|
+
<div class="flex gap-1">
|
|
85
|
+
<TelaTooltipGroupTrigger content="Save">
|
|
86
|
+
<TelaIconButton icon="i-ph-floppy-disk" />
|
|
87
|
+
</TelaTooltipGroupTrigger>
|
|
88
|
+
<TelaTooltipGroupTrigger content="Undo">
|
|
89
|
+
<TelaIconButton icon="i-ph-arrow-counter-clockwise" />
|
|
90
|
+
</TelaTooltipGroupTrigger>
|
|
91
|
+
<TelaTooltipGroupTrigger content="Redo">
|
|
92
|
+
<TelaIconButton icon="i-ph-arrow-clockwise" />
|
|
93
|
+
</TelaTooltipGroupTrigger>
|
|
94
|
+
</div>
|
|
95
|
+
</TelaTooltipGroup>
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### With Skip Delay Code
|
|
99
|
+
|
|
100
|
+
```vue
|
|
101
|
+
<TelaTooltipGroup
|
|
102
|
+
:delay-duration="500"
|
|
103
|
+
:skip-delay-duration="300"
|
|
104
|
+
>
|
|
105
|
+
<div class="flex gap-1">
|
|
106
|
+
<!-- Tooltips show quickly when moving between buttons -->
|
|
107
|
+
<TelaTooltipGroupTrigger content="Play">
|
|
108
|
+
<TelaIconButton icon="i-ph-play" />
|
|
109
|
+
</TelaTooltipGroupTrigger>
|
|
110
|
+
<TelaTooltipGroupTrigger content="Pause">
|
|
111
|
+
<TelaIconButton icon="i-ph-pause" />
|
|
112
|
+
</TelaTooltipGroupTrigger>
|
|
113
|
+
<TelaTooltipGroupTrigger content="Stop">
|
|
114
|
+
<TelaIconButton icon="i-ph-stop" />
|
|
115
|
+
</TelaTooltipGroupTrigger>
|
|
116
|
+
</div>
|
|
117
|
+
</TelaTooltipGroup>
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Multiline Tooltips Code
|
|
121
|
+
|
|
122
|
+
```vue
|
|
123
|
+
<TelaTooltipGroup>
|
|
124
|
+
<div class="flex gap-1">
|
|
125
|
+
<TelaTooltipGroupTrigger
|
|
126
|
+
variant="multiline"
|
|
127
|
+
title="Export Document"
|
|
128
|
+
description="Save your document in PDF format"
|
|
129
|
+
>
|
|
130
|
+
<TelaIconButton icon="i-ph-file-pdf" />
|
|
131
|
+
</TelaTooltipGroupTrigger>
|
|
132
|
+
<TelaTooltipGroupTrigger
|
|
133
|
+
variant="multiline"
|
|
134
|
+
title="Share Document"
|
|
135
|
+
description="Collaborate with your team"
|
|
136
|
+
>
|
|
137
|
+
<TelaIconButton icon="i-ph-share-network" />
|
|
138
|
+
</TelaTooltipGroupTrigger>
|
|
139
|
+
</div>
|
|
140
|
+
</TelaTooltipGroup>
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Different Positions Code
|
|
144
|
+
|
|
145
|
+
```vue
|
|
146
|
+
<TelaTooltipGroup>
|
|
147
|
+
<div class="flex gap-1">
|
|
148
|
+
<TelaTooltipGroupTrigger content="Top" side="top">
|
|
149
|
+
<TelaIconButton icon="i-ph-arrow-up" />
|
|
150
|
+
</TelaTooltipGroupTrigger>
|
|
151
|
+
<TelaTooltipGroupTrigger content="Right" side="right">
|
|
152
|
+
<TelaIconButton icon="i-ph-arrow-right" />
|
|
153
|
+
</TelaTooltipGroupTrigger>
|
|
154
|
+
<TelaTooltipGroupTrigger content="Bottom" side="bottom">
|
|
155
|
+
<TelaIconButton icon="i-ph-arrow-down" />
|
|
156
|
+
</TelaTooltipGroupTrigger>
|
|
157
|
+
<TelaTooltipGroupTrigger content="Left" side="left">
|
|
158
|
+
<TelaIconButton icon="i-ph-arrow-left" />
|
|
159
|
+
</TelaTooltipGroupTrigger>
|
|
160
|
+
</div>
|
|
161
|
+
</TelaTooltipGroup>
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Disabled Group Code
|
|
165
|
+
|
|
166
|
+
```vue
|
|
167
|
+
<TelaTooltipGroup disabled>
|
|
168
|
+
<div class="flex gap-1">
|
|
169
|
+
<!-- Tooltips won't show -->
|
|
170
|
+
<TelaTooltipGroupTrigger content="Won't show">
|
|
171
|
+
<TelaIconButton icon="i-ph-info" />
|
|
172
|
+
</TelaTooltipGroupTrigger>
|
|
173
|
+
</div>
|
|
174
|
+
</TelaTooltipGroup>
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
```vue
|
|
178
|
+
<TelaTooltipGroup>
|
|
179
|
+
<div class="flex gap-1">
|
|
180
|
+
<TelaTooltipGroupTrigger>
|
|
181
|
+
<TelaIconButton icon="i-ph-star" />
|
|
182
|
+
<template #content>
|
|
183
|
+
<div class="flex items-center gap-1">
|
|
184
|
+
<span>⭐</span>
|
|
185
|
+
<span>Custom Content</span>
|
|
186
|
+
</div>
|
|
187
|
+
</template>
|
|
188
|
+
</TelaTooltipGroupTrigger>
|
|
189
|
+
</div>
|
|
190
|
+
</TelaTooltipGroup>
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
## Props
|
|
194
|
+
|
|
195
|
+
<ArgTypes />
|
|
196
|
+
|
|
197
|
+
```typescript
|
|
198
|
+
type TooltipGroupProps = {
|
|
199
|
+
delayDuration?: number
|
|
200
|
+
disabled?: boolean
|
|
201
|
+
skipDelayDuration?: number
|
|
202
|
+
}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## Components
|
|
206
|
+
|
|
207
|
+
- `TelaTooltipGroup` - Container that manages tooltip behavior
|
|
208
|
+
- `TelaTooltipGroupTrigger` - Individual trigger with tooltip
|
|
209
|
+
|
|
210
|
+
## Features
|
|
211
|
+
|
|
212
|
+
- **Coordinated Behavior**: Manages multiple tooltips together
|
|
213
|
+
- **Shared Delay**: Common delay for all tooltips
|
|
214
|
+
- **Skip Delay**: Fast transitions between adjacent tooltips
|
|
215
|
+
- **Single & Multiline**: Support both tooltip variants
|
|
216
|
+
- **Custom Content**: Slots for rich tooltip content
|
|
217
|
+
- **Position Control**: Individual positioning per trigger
|
|
218
|
+
- **Disable All**: Disable entire group at once
|
|
219
|
+
- **Toolbar Ready**: Perfect for button toolbars
|
|
220
|
+
|
|
221
|
+
## Best Practices
|
|
222
|
+
|
|
223
|
+
1. **Use for Groups**: Best for 3+ related interactive elements
|
|
224
|
+
2. **Set Skip Delay**: Enable fast tooltip switching between items
|
|
225
|
+
3. **Consistent Positioning**: Use same side for all in group
|
|
226
|
+
4. **Brief Content**: Keep tooltip text concise
|
|
227
|
+
5. **Icon Buttons**: Especially useful with icon-only buttons
|
|
228
|
+
|
|
229
|
+
## Accessibility
|
|
230
|
+
|
|
231
|
+
- Built on reka-ui primitives
|
|
232
|
+
- Proper ARIA attributes for each tooltip
|
|
233
|
+
- Keyboard navigation support
|
|
234
|
+
- Focus triggers show tooltips
|
|
235
|
+
- Screen reader friendly
|
|
236
|
+
- Disabled state properly conveyed
|