|
1 | | -import type { VNode, ComponentOptions } from "vue"; |
2 | | -import { defineComponent, h, ref, onMounted } from "vue"; |
| 1 | +import type { ComponentOptions, VNode } from "vue"; |
| 2 | +import { defineComponent, h, onMounted, ref } from "vue"; |
3 | 3 |
|
4 | 4 | // TODO(FW-2969): types |
5 | 5 |
|
@@ -147,23 +147,30 @@ export const defineOverlayContainer = <Props extends object>( |
147 | 147 | const elementRef = ref(); |
148 | 148 |
|
149 | 149 | onMounted(() => { |
| 150 | + // Convert name from kebab-case to camelCase |
| 151 | + const componentName = name.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase()); |
150 | 152 | elementRef.value.addEventListener("ionMount", (ev: Event) => { |
151 | 153 | emit("ionMount", ev); |
| 154 | + emit(componentName + "IonMount", ev); |
152 | 155 | isOpen.value = true; |
153 | 156 | }); |
154 | 157 | elementRef.value.addEventListener("willPresent", (ev: Event) => { |
155 | 158 | emit("willPresent", ev); |
| 159 | + emit(componentName + "WillPresent", ev); |
156 | 160 | isOpen.value = true; |
157 | 161 | }); |
158 | 162 | elementRef.value.addEventListener("didDismiss", (ev: Event) => { |
159 | 163 | emit("didDismiss", ev); |
| 164 | + emit(componentName + "DidDismiss", ev); |
160 | 165 | isOpen.value = false; |
161 | 166 | }); |
162 | 167 | elementRef.value.addEventListener("willDismiss", (ev: Event) => { |
163 | 168 | emit("willDismiss", ev); |
| 169 | + emit(componentName + "WillDismiss", ev); |
164 | 170 | }); |
165 | 171 | elementRef.value.addEventListener("didPresent", (ev: Event) => { |
166 | 172 | emit("didPresent", ev); |
| 173 | + emit(componentName + "DidPresent", ev); |
167 | 174 | }); |
168 | 175 | }); |
169 | 176 |
|
|
0 commit comments