Component({ options: { multipleSlots: true }, properties: { visible: { type: Boolean, value: false }, position: { type: String, value: 'bottom' }, // 'bottom' | 'center' showHandle: { type: Boolean, value: true }, closeOnOverlay: { type: Boolean, value: true }, customStyle: { type: String, value: '' } }, methods: { onClose() { if (!this.data.closeOnOverlay) return this.triggerEvent('close') }, onNoop() { /* swallow bubble for inner touches */ } } })