Skip to content

Commit d665839

Browse files
author
Welly Shen
committed
Update docs and improve types
1 parent 89a67ba commit d665839

File tree

1 file changed

+21
-18
lines changed

1 file changed

+21
-18
lines changed

web/packages/hovercards/src/core.ts

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -206,10 +206,10 @@ export default class Hovercards {
206206
* @param {HTMLElement} target - The element to query.
207207
* @param {string} dataAttributeName - Data attribute name associated with Gravatar hashes.
208208
* @param {string} [ignoreSelector] - The selector to ignore certain elements.
209-
* @return {HTMLElement[]} - The queried hovercard refs.
209+
* @return {HovercardRef[]} - The queried hovercard refs.
210210
* @private
211211
*/
212-
_queryHovercardRefs( target: HTMLElement, dataAttributeName: string, ignoreSelector?: string ) {
212+
_queryHovercardRefs( target: HTMLElement, dataAttributeName: string, ignoreSelector?: string ): HovercardRef[] {
213213
let refs: HTMLElement[] = [];
214214
const camelAttrName = dataAttributeName.replace( /-([a-z])/g, ( g ) => g[ 1 ].toUpperCase() );
215215
const ignoreRefs = ignoreSelector ? Array.from( dc.querySelectorAll( ignoreSelector ) ) : [];
@@ -306,7 +306,10 @@ export default class Hovercards {
306306
* @param {Object} [options.i18n] - The i18n object.
307307
* @return {HTMLDivElement} - The created hovercard element.
308308
*/
309-
static createHovercard: CreateHovercard = ( profileData, { additionalClass, myHash, i18n = {} } = {} ) => {
309+
static createHovercard: CreateHovercard = (
310+
profileData,
311+
{ additionalClass, myHash, i18n = {} } = {}
312+
): HTMLDivElement => {
310313
const {
311314
hash,
312315
avatarUrl,
@@ -658,7 +661,7 @@ export default class Hovercards {
658661
* @param {string} [options.additionalClass] - Additional CSS class for the skeleton hovercard.
659662
* @return {HTMLDivElement} - The created skeleton hovercard element.
660663
*/
661-
static createHovercardSkeleton: CreateHovercardSkeleton = ( { additionalClass } = {} ) => {
664+
static createHovercardSkeleton: CreateHovercardSkeleton = ( { additionalClass } = {} ): HTMLDivElement => {
662665
const hovercard = dc.createElement( 'div' );
663666
hovercard.className = `gravatar-hovercard gravatar-hovercard--skeleton${
664667
additionalClass ? ` ${ additionalClass }` : ''
@@ -699,7 +702,7 @@ export default class Hovercards {
699702
avatarUrl,
700703
message,
701704
{ avatarAlt = 'Avatar', additionalClass, additionalMessage = '' } = {}
702-
) => {
705+
): HTMLDivElement => {
703706
const hovercard = dc.createElement( 'div' );
704707
hovercard.className = `gravatar-hovercard gravatar-hovercard--error${
705708
additionalClass ? ` ${ additionalClass }` : ''
@@ -726,7 +729,7 @@ export default class Hovercards {
726729
* @return {void}
727730
* @private
728731
*/
729-
_showHovercard( { id, hash, params, ref }: HovercardRef ) {
732+
_showHovercard( { id, hash, params, ref }: HovercardRef ): void {
730733
const timeoutId = setTimeout( () => {
731734
if ( dc.getElementById( id ) ) {
732735
return;
@@ -882,7 +885,7 @@ export default class Hovercards {
882885
* @return {void}
883886
* @private
884887
*/
885-
_hideHovercard( id: string ) {
888+
_hideHovercard( id: string ): void {
886889
const timeoutId = setTimeout( () => {
887890
const hovercard = dc.getElementById( id );
888891

@@ -898,12 +901,12 @@ export default class Hovercards {
898901
/**
899902
* Handles the mouseenter event for hovercard refs.
900903
*
901-
* @param {MouseEvent} e - The mouseenter event object.
902-
* @param hovercardRef - The hovercard ref object.
904+
* @param {MouseEvent} e - The mouseenter event object.
905+
* @param {HovercardRef} hovercardRef - The hovercard ref object.
903906
* @return {void}
904907
* @private
905908
*/
906-
_handleMouseEnter( e: MouseEvent, hovercardRef: HovercardRef ) {
909+
_handleMouseEnter( e: MouseEvent, hovercardRef: HovercardRef ): void {
907910
if ( 'ontouchstart' in dc ) {
908911
return;
909912
}
@@ -918,13 +921,13 @@ export default class Hovercards {
918921
/**
919922
* Handles the mouseleave event for hovercard refs.
920923
*
921-
* @param {MouseEvent} e - The mouseleave event object.
922-
* @param hovercardRef - The hovercard ref object.
923-
* @param hovercardRef.id - The ID associated with the hovercard.
924+
* @param {MouseEvent} e - The mouseleave event object.
925+
* @param {HovercardRef} hovercardRef - The hovercard ref object.
926+
* @param {string} hovercardRef.id - The ID associated with the hovercard.
924927
* @return {void}
925928
* @private
926929
*/
927-
_handleMouseLeave( e: MouseEvent, { id }: HovercardRef ) {
930+
_handleMouseLeave( e: MouseEvent, { id }: HovercardRef ): void {
928931
if ( 'ontouchstart' in dc ) {
929932
return;
930933
}
@@ -940,11 +943,11 @@ export default class Hovercards {
940943
*
941944
* @param {HTMLElement} target - The target element to set.
942945
* @param {Object} [options={}] - The optional parameters.
943-
* @param options.dataAttributeName - Data attribute name associated with Gravatar hashes.
944-
* @param options.ignoreSelector - The selector to ignore certain elements.
946+
* @param {string} options.dataAttributeName - Data attribute name associated with Gravatar hashes.
947+
* @param {string} options.ignoreSelector - The selector to ignore certain elements.
945948
* @return {void}
946949
*/
947-
attach: Attach = ( target, { dataAttributeName = 'gravatar-hash', ignoreSelector } = {} ) => {
950+
attach: Attach = ( target, { dataAttributeName = 'gravatar-hash', ignoreSelector } = {} ): void => {
948951
if ( ! target ) {
949952
return;
950953
}
@@ -962,7 +965,7 @@ export default class Hovercards {
962965
*
963966
* @return {void}
964967
*/
965-
detach: Detach = () => {
968+
detach: Detach = (): void => {
966969
if ( ! this._hovercardRefs.length ) {
967970
return;
968971
}

0 commit comments

Comments
 (0)