11import type { ComponentInterface } from '@stencil/core' ;
2- import { Build , Component , Element , Host , Method , h } from '@stencil/core' ;
3- import type { FocusVisibleUtility } from '@utils/focus-visible' ;
2+ import { Component , Element , Host , Method , h } from '@stencil/core' ;
3+ import { initFocusVisibleUtility } from '@utils/focus-visible' ;
44
55import { config } from '../../global/config' ;
6- import { getIonTheme , rIC } from '../../global/ionic-global' ;
6+ import { getIonTheme } from '../../global/ionic-global' ;
77
88/**
99 * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
@@ -14,19 +14,8 @@ import { getIonTheme, rIC } from '../../global/ionic-global';
1414 styleUrl : 'app.scss' ,
1515} )
1616export class App implements ComponentInterface {
17- private focusVisible ?: FocusVisibleUtility ;
18-
1917 @Element ( ) el ! : HTMLElement ;
2018
21- componentDidLoad ( ) {
22- // TODO can we move focus visible to global
23- if ( Build . isBrowser ) {
24- rIC ( async ( ) => {
25- import ( '../../utils/focus-visible' ) . then ( ( module ) => ( this . focusVisible = module . startFocusVisible ( ) ) ) ;
26- } ) ;
27- }
28- }
29-
3019 /**
3120 * @internal
3221 * Used to set focus on an element that uses `ion-focusable`.
@@ -39,9 +28,8 @@ export class App implements ComponentInterface {
3928 */
4029 @Method ( )
4130 async setFocus ( elements : HTMLElement [ ] ) {
42- if ( this . focusVisible ) {
43- this . focusVisible . setFocus ( elements ) ;
44- }
31+ const focusVisible = initFocusVisibleUtility ( ) ;
32+ focusVisible . setFocus ( elements ) ;
4533 }
4634
4735 render ( ) {
0 commit comments