Skip to content

Commit

Permalink
feat(Tooltip): add max width, fix padding and change placement
Browse files Browse the repository at this point in the history
  • Loading branch information
gravitano committed Jun 9, 2023
1 parent 935ea59 commit 6bd4bc2
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 4 deletions.
7 changes: 5 additions & 2 deletions packages/themes/src/morpheme/_tooltip.scss
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
:root {
--v-tooltip-padding-x: var(--size-spacing-2);
--v-tooltip-padding-y: var(--size-spacing-3);
--v-tooltip-padding-x: var(--size-spacing-3);
--v-tooltip-padding-y: var(--size-spacing-2);
--v-tooltip-border-radius: var(--border-radius-lg);
--v-tooltip-font-size: var(--size-font-sm);
--v-tooltip-max-width: 320px;

// black theme
--v-tooltip-black-bg-color: var(--color-gray-900);
Expand All @@ -27,6 +28,7 @@
padding: var(--v-tooltip-padding-y) var(--v-tooltip-padding-x);
border-radius: var(--v-tooltip-border-radius);
font-size: var(--v-tooltip-font-size);
max-width: var(--v-tooltip-max-width);
}

.v-popper__arrow-outer {
Expand All @@ -42,6 +44,7 @@
border-radius: var(--v-tooltip-border-radius);
font-size: var(--v-tooltip-font-size);
border: var(--v-tooltip-white-border);
max-width: var(--v-tooltip-max-width);
}

.v-popper__arrow-outer {
Expand Down
29 changes: 29 additions & 0 deletions packages/tooltip/src/VTooltip.stories.ts
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,35 @@ export const Colors: Story = (args) => ({
`,
});

export const LongText: Story = (args) => ({
components: {VTooltip, VBtn},
setup() {
return {args};
},
template: `
<VTooltip v-bind='args'>
<template #activator>
<v-btn>
Default (black)
</v-btn>
</template>
<span>
lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor.
</span>
</VTooltip>
<VTooltip v-bind='args' color="white">
<template #activator>
<v-btn>
White
</v-btn>
</template>
<span>
lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor.
</span>
</VTooltip>
`,
});

export const DarkMode: Story = (args) => ({
components: {VTooltip, VBtn},
setup() {
Expand Down
23 changes: 21 additions & 2 deletions packages/tooltip/src/VTooltip.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,27 @@
import FloatingVue, {Tooltip} from 'floating-vue';
import {PropType} from 'vue';
export type VTooltipPlacement =
| 'auto'
| 'auto-start'
| 'auto-end'
| 'top'
| 'top-start'
| 'top-end'
| 'right'
| 'right-start'
| 'right-end'
| 'bottom'
| 'bottom-start'
| 'bottom-end'
| 'left'
| 'left-start'
| 'left-end';
defineProps({
placement: {
type: String,
default: 'top',
type: String as PropType<VTooltipPlacement>,
default: 'bottom',
},
/**
* @deprecated no longer used
Expand Down Expand Up @@ -37,10 +54,12 @@ defineProps({
FloatingVue.options.themes['tooltip-black'] = {
$extend: 'tooltip',
$resetCss: true,
disposeTimeout: 100000,
};
FloatingVue.options.themes['tooltip-white'] = {
$extend: 'tooltip',
$resetCss: true,
disposeTimeout: 100000,
};
</script>

Expand Down

0 comments on commit 6bd4bc2

Please sign in to comment.