Skip to content

Commit

Permalink
chore(tooltip): types for tooltip
Browse files Browse the repository at this point in the history
  • Loading branch information
igorwessel committed Jan 12, 2024
1 parent 9316a49 commit 68d492f
Showing 1 changed file with 73 additions and 0 deletions.
73 changes: 73 additions & 0 deletions packages/core/src/components.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,26 @@ export namespace Components {
"value"?: IonTypes.IonTextarea['value'];
"wrap"?: 'hard' | 'soft' | 'off';
}
interface AtomTooltip {
/**
* Determines which element should listen to open tooltip.
*/
"element": string;
/**
* Determines the placement for attach tooltip.
*/
"placement": | 'auto'
| 'auto-start'
| 'auto-end'
| 'top'
| 'top-start'
| 'top-end'
| 'bottom'
| 'bottom-start'
| 'bottom-end'
| 'right'
| 'left';
}
}
export interface AtomAlertCustomEvent<T> extends CustomEvent<T> {
detail: T;
Expand Down Expand Up @@ -262,6 +282,10 @@ export interface AtomTextareaCustomEvent<T> extends CustomEvent<T> {
detail: T;
target: HTMLAtomTextareaElement;
}
export interface AtomTooltipCustomEvent<T> extends CustomEvent<T> {
detail: T;
target: HTMLAtomTooltipElement;
}
declare global {
interface HTMLAtomAlertElementEventMap {
"atomClose": any;
Expand Down Expand Up @@ -437,6 +461,24 @@ declare global {
prototype: HTMLAtomTextareaElement;
new (): HTMLAtomTextareaElement;
};
interface HTMLAtomTooltipElementEventMap {
"atomClose": any;
"atomOpen": any;
}
interface HTMLAtomTooltipElement extends Components.AtomTooltip, HTMLStencilElement {
addEventListener<K extends keyof HTMLAtomTooltipElementEventMap>(type: K, listener: (this: HTMLAtomTooltipElement, ev: AtomTooltipCustomEvent<HTMLAtomTooltipElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener<K extends keyof HTMLAtomTooltipElementEventMap>(type: K, listener: (this: HTMLAtomTooltipElement, ev: AtomTooltipCustomEvent<HTMLAtomTooltipElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
}
var HTMLAtomTooltipElement: {
prototype: HTMLAtomTooltipElement;
new (): HTMLAtomTooltipElement;
};
interface HTMLElementTagNameMap {
"atom-alert": HTMLAtomAlertElement;
"atom-badge": HTMLAtomBadgeElement;
Expand All @@ -452,6 +494,7 @@ declare global {
"atom-select": HTMLAtomSelectElement;
"atom-tag": HTMLAtomTagElement;
"atom-textarea": HTMLAtomTextareaElement;
"atom-tooltip": HTMLAtomTooltipElement;
}
}
declare namespace LocalJSX {
Expand Down Expand Up @@ -688,6 +731,34 @@ declare namespace LocalJSX {
"value"?: IonTypes.IonTextarea['value'];
"wrap"?: 'hard' | 'soft' | 'off';
}
interface AtomTooltip {
/**
* Determines which element should listen to open tooltip.
*/
"element"?: string;
/**
* Event is dispatched when: 1. Mouse leave event in selector 2. Click "Close" button when is mobile
*/
"onAtomClose"?: (event: AtomTooltipCustomEvent<any>) => void;
/**
* Event is dispatched when: 1. Mouse enter event in selector 2. Click in element when is mobile
*/
"onAtomOpen"?: (event: AtomTooltipCustomEvent<any>) => void;
/**
* Determines the placement for attach tooltip.
*/
"placement"?: | 'auto'
| 'auto-start'
| 'auto-end'
| 'top'
| 'top-start'
| 'top-end'
| 'bottom'
| 'bottom-start'
| 'bottom-end'
| 'right'
| 'left';
}
interface IntrinsicElements {
"atom-alert": AtomAlert;
"atom-badge": AtomBadge;
Expand All @@ -703,6 +774,7 @@ declare namespace LocalJSX {
"atom-select": AtomSelect;
"atom-tag": AtomTag;
"atom-textarea": AtomTextarea;
"atom-tooltip": AtomTooltip;
}
}
export { LocalJSX as JSX };
Expand All @@ -723,6 +795,7 @@ declare module "@stencil/core" {
"atom-select": LocalJSX.AtomSelect & JSXBase.HTMLAttributes<HTMLAtomSelectElement>;
"atom-tag": LocalJSX.AtomTag & JSXBase.HTMLAttributes<HTMLAtomTagElement>;
"atom-textarea": LocalJSX.AtomTextarea & JSXBase.HTMLAttributes<HTMLAtomTextareaElement>;
"atom-tooltip": LocalJSX.AtomTooltip & JSXBase.HTMLAttributes<HTMLAtomTooltipElement>;
}
}
}

0 comments on commit 68d492f

Please sign in to comment.