-
-
Notifications
You must be signed in to change notification settings - Fork 25
/
Copy pathtooltips-config.ts
34 lines (33 loc) · 1 KB
/
tooltips-config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import { Type, Static } from '@sinclair/typebox';
export const TooltipStylingSchema = Type.Object({
cssClass: Type.Optional(Type.String()),
textCssClass: Type.Optional(Type.String()),
titleCssClass: Type.Optional(Type.String()),
});
export type TooltipStyling = Static<typeof TooltipStylingSchema>;
export const TooltipsConfigSchema = Type.Object({
options: Type.Object({
delay: Type.Optional(Type.Number()),
width: Type.Number(),
keywordsPrefix: Type.String(),
screenEdgesMinimumMargin: Type.Optional(Type.Number()),
styling: Type.Optional(TooltipStylingSchema),
}),
tooltips: Type.Array(
Type.Object({
keywords: Type.Array(Type.String()),
title: Type.String(),
description: Type.String(),
styling: Type.Optional(TooltipStylingSchema),
}),
),
});
export type TooltipsConfig = Static<typeof TooltipsConfigSchema>;
export const defaultTooltipsConfig: TooltipsConfig = {
options: {
delay: 0,
width: 350,
keywordsPrefix: '@@',
},
tooltips: [],
};