1- import type { VNode , ComponentOptions } from ' vue' ;
2- import { defineComponent , h , ref , onMounted } from ' vue' ;
1+ import type { VNode , ComponentOptions } from " vue" ;
2+ import { defineComponent , h , ref , onMounted } from " vue" ;
33
44// TODO(FW-2969): types
55
@@ -20,10 +20,10 @@ export const defineOverlayContainer = <Props extends object>(
2020 const createControllerComponent = ( options : ComponentOptions ) => {
2121 return defineComponent < Props & OverlayProps > ( ( props , { slots, emit } ) => {
2222 const eventListeners = [
23- { componentEv : `${ name } -will-present` , frameworkEv : ' willPresent' } ,
24- { componentEv : `${ name } -did-present` , frameworkEv : ' didPresent' } ,
25- { componentEv : `${ name } -will-dismiss` , frameworkEv : ' willDismiss' } ,
26- { componentEv : `${ name } -did-dismiss` , frameworkEv : ' didDismiss' } ,
23+ { componentEv : `${ name } -will-present` , frameworkEv : " willPresent" } ,
24+ { componentEv : `${ name } -did-present` , frameworkEv : " didPresent" } ,
25+ { componentEv : `${ name } -will-dismiss` , frameworkEv : " willDismiss" } ,
26+ { componentEv : `${ name } -did-dismiss` , frameworkEv : " didDismiss" } ,
2727 ] ;
2828
2929 if ( defineCustomElement !== undefined ) {
@@ -33,8 +33,8 @@ export const defineOverlayContainer = <Props extends object>(
3333 const overlay = ref ( ) ;
3434 const onVnodeMounted = async ( ) => {
3535 const isOpen = props . isOpen ;
36- isOpen && ( await present ( props ) )
37- }
36+ isOpen && ( await present ( props ) ) ;
37+ } ;
3838
3939 const onVnodeUpdated = async ( node : VNode , prevNode : VNode ) => {
4040 const isOpen = node . props ! . isOpen ;
@@ -51,11 +51,11 @@ export const defineOverlayContainer = <Props extends object>(
5151 } else {
5252 await dismiss ( ) ;
5353 }
54- }
54+ } ;
5555
5656 const onVnodeBeforeUnmount = async ( ) => {
5757 await dismiss ( ) ;
58- }
58+ } ;
5959
6060 const dismiss = async ( ) => {
6161 if ( ! overlay . value ) return ;
@@ -67,7 +67,7 @@ export const defineOverlayContainer = <Props extends object>(
6767 await overlay . value ;
6868
6969 overlay . value = undefined ;
70- }
70+ } ;
7171
7272 const present = async ( props : Readonly < Props > ) => {
7373 /**
@@ -93,7 +93,10 @@ export const defineOverlayContainer = <Props extends object>(
9393 */
9494 for ( const key in props ) {
9595 const value = props [ key ] as any ;
96- if ( Object . prototype . hasOwnProperty . call ( props , key ) && value !== EMPTY_PROP ) {
96+ if (
97+ Object . prototype . hasOwnProperty . call ( props , key ) &&
98+ value !== EMPTY_PROP
99+ ) {
97100 restOfProps [ key ] = value ;
98101 }
99102 }
@@ -110,32 +113,29 @@ export const defineOverlayContainer = <Props extends object>(
110113 const component = slots . default && slots . default ( ) [ 0 ] ;
111114 overlay . value = controller . create ( {
112115 ...restOfProps ,
113- component
116+ component,
114117 } ) ;
115118
116119 overlay . value = await overlay . value ;
117120
118- eventListeners . forEach ( eventListener => {
121+ eventListeners . forEach ( ( eventListener ) => {
119122 overlay . value . addEventListener ( eventListener . componentEv , ( ) => {
120123 emit ( eventListener . frameworkEv ) ;
121124 } ) ;
122- } )
125+ } ) ;
123126
124127 await overlay . value . present ( ) ;
125- }
128+ } ;
126129
127130 return ( ) => {
128- return h (
129- 'div' ,
130- {
131- style : { display : 'none' } ,
132- onVnodeMounted,
133- onVnodeUpdated,
134- onVnodeBeforeUnmount,
135- isOpen : props . isOpen === true
136- }
137- ) ;
138- }
131+ return h ( "div" , {
132+ style : { display : "none" } ,
133+ onVnodeMounted,
134+ onVnodeUpdated,
135+ onVnodeBeforeUnmount,
136+ isOpen : props . isOpen === true ,
137+ } ) ;
138+ } ;
139139 } , options ) ;
140140 } ;
141141 const createInlineComponent = ( options : any ) => {
@@ -147,9 +147,18 @@ export const defineOverlayContainer = <Props extends object>(
147147 const elementRef = ref ( ) ;
148148
149149 onMounted ( ( ) => {
150- elementRef . value . addEventListener ( 'ion-mount' , ( ) => isOpen . value = true ) ;
151- elementRef . value . addEventListener ( 'will-present' , ( ) => isOpen . value = true ) ;
152- elementRef . value . addEventListener ( 'did-dismiss' , ( ) => isOpen . value = false ) ;
150+ elementRef . value . addEventListener (
151+ "ion-mount" ,
152+ ( ) => ( isOpen . value = true )
153+ ) ;
154+ elementRef . value . addEventListener (
155+ "will-present" ,
156+ ( ) => ( isOpen . value = true )
157+ ) ;
158+ elementRef . value . addEventListener (
159+ "did-dismiss" ,
160+ ( ) => ( isOpen . value = false )
161+ ) ;
153162 } ) ;
154163
155164 return ( ) => {
@@ -163,7 +172,10 @@ export const defineOverlayContainer = <Props extends object>(
163172 */
164173 for ( const key in props ) {
165174 const value = ( props as any ) [ key ] ;
166- if ( Object . prototype . hasOwnProperty . call ( props , key ) && value !== EMPTY_PROP ) {
175+ if (
176+ Object . prototype . hasOwnProperty . call ( props , key ) &&
177+ value !== EMPTY_PROP
178+ ) {
167179 restOfProps [ key ] = value ;
168180 }
169181 }
@@ -174,11 +186,11 @@ export const defineOverlayContainer = <Props extends object>(
174186 */
175187 const renderChildren = ( ) => {
176188 if ( hasDelegateHost ) {
177- return h ( ' div' , { className : ' ion-delegate-host ion-page' } , slots ) ;
189+ return h ( " div" , { className : " ion-delegate-host ion-page" } , slots ) ;
178190 }
179191
180192 return slots ;
181- }
193+ } ;
182194
183195 return h (
184196 name ,
@@ -190,27 +202,32 @@ export const defineOverlayContainer = <Props extends object>(
190202 * the value of the prop will be the empty string which is
191203 * why we still call renderChildren() in that case.
192204 */
193- ( isOpen . value || restOfProps . keepContentsMounted || restOfProps . keepContentsMounted === '' ) ? renderChildren ( ) : undefined
194- )
195- }
205+ isOpen . value ||
206+ restOfProps . keepContentsMounted ||
207+ restOfProps . keepContentsMounted === ""
208+ ? renderChildren ( )
209+ : undefined
210+ ) ;
211+ } ;
196212 } , options ) ;
197- }
213+ } ;
198214
199215 const options : ComponentOptions = {
200216 name,
201217 props : {
202- ' isOpen' : DEFAULT_EMPTY_PROP ,
203- ...( componentProps . reduce ( ( acc , prop ) => {
218+ isOpen : DEFAULT_EMPTY_PROP ,
219+ ...componentProps . reduce ( ( acc , prop ) => {
204220 acc [ prop ] = DEFAULT_EMPTY_PROP ;
205221 return acc ;
206- } , { } as Record < string , unknown > ) ) ,
222+ } , { } as Record < string , unknown > ) ,
207223 } ,
208- emits : typeof controller !== 'undefined'
209- ? [ 'willPresent' , 'didPresent' , 'willDismiss' , 'didDismiss' ]
210- : undefined
211- }
224+ emits :
225+ typeof controller !== "undefined"
226+ ? [ "willPresent" , "didPresent" , "willDismiss" , "didDismiss" ]
227+ : undefined ,
228+ } ;
212229
213230 return controller !== undefined
214231 ? createControllerComponent ( options )
215232 : createInlineComponent ( options ) ;
216- }
233+ } ;
0 commit comments