@@ -29,58 +29,62 @@ yarn add @untemps/svelte-use-tooltip
2929
3030``` svelte
3131<script>
32- import { useTooltip } from '@untemps/svelte-use-tooltip'
32+ import { useTooltip } from '@untemps/svelte-use-tooltip'
3333
34- const _onTooltipClick = (arg, event) => {
35- console.log(arg, event)
36- }
34+ const _onTooltipClick = (arg, event) => {
35+ console.log(arg, event)
36+ }
3737</script>
3838
39- <div use:useTooltip={{
40- contentSelector: '.tooltip__content',
39+ <div
40+ use:useTooltip={{
41+ position: 'right',
42+ contentSelector: '#tooltip-template',
4143 contentActions: {
4244 '*': {
4345 eventType: 'click',
4446 callback: _onTooltipClick,
4547 callbackParams: ['ok'],
46- closeOnCallback: true
48+ closeOnCallback: true,
4749 },
4850 },
49- containerClassName: 'tooltip',
50- position: 'right',
51+ containerClassName: `tooltip tooltip-right`,
5152 animated: true,
5253 animationEnterClassName: 'tooltip-enter',
53- animationLeaveClassName: 'tooltip-leave',
54- enterDelay: 200,
55- leaveDelay: 400,
56- disabled: false
57- }
58- } class="tooltip__target">
54+ animationLeaveClassName: null,
55+ enterDelay: 100,
56+ leaveDelay: 100,
57+ offset: 20
58+ }}
59+ class="target"
60+ >
5961 Hover me
6062</div>
61- <span class="tooltip__content">Hi!</span>
63+ <template id="tooltip-template">
64+ <span class="tooltip__content">Hi! I'm a <i>fancy</i> <strong>tooltip</strong>!</span>
65+ </template>
6266
6367<style>
64- .tooltip__target {
68+ .target {
6569 width: 10rem;
6670 height: 3rem;
6771 background-color: white;
6872 color: black;
6973 display: flex;
7074 align-items: center;
7175 justify-content: center;
72- box-shadow: 0 0 5px 0 rgba(0,0,0, 0.5);
76+ box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.5);
7377 }
7478
75- .tooltip__target :hover {
79+ .target :hover {
7680 cursor: pointer;
7781 background-color: black;
7882 color: white;
7983 }
8084
8185 .tooltip__content {
82- border: solid 1px white ;
83- background: none ;
86+ background-color: yellow ;
87+ color: black ;
8488 }
8589
8690 :global(.tooltip) {
@@ -97,12 +101,36 @@ yarn add @untemps/svelte-use-tooltip
97101 :global(.tooltip::after) {
98102 content: '';
99103 position: absolute;
100- top: 100%;
101- left: 50%;
102104 margin-left: -5px;
103105 border-width: 5px;
104106 border-style: solid;
105- border-color: #ee7008 transparent transparent transparent;
107+ }
108+
109+ :global(.tooltip-right::after) {
110+ top: calc(50% - 5px);
111+ left: -5px;
112+ border-color: transparent #ee7008 transparent transparent;
113+ }
114+
115+ :global(.tooltip-enter) {
116+ animation: fadeIn 0.2s linear forwards;
117+ }
118+
119+ @keyframes fadeIn {
120+ from {
121+ opacity: 0;
122+ transform: translateX(50px);
123+ }
124+ to {
125+ opacity: 1;
126+ transform: translateX(0);
127+ }
128+ }
129+ @keyframes fadeOut {
130+ to {
131+ opacity: 0;
132+ transform: translateX(-50px);
133+ }
106134 }
107135</style>
108136```
0 commit comments