import * as components from './components.js';
export { Ad, AdCustom, AnimationVideo, AnimationView, ArCamera, Audio, AwemeData, Block, Button, Camera, Canvas, Checkbox, CheckboxGroup, CommentDetail, CommentList, ContactButton, CoverImage, CoverView, CustomWrapper, Editor, FollowSwan, Form, FunctionalPageNavigator, Icon, Image, InlinePaymentPanel, Input, KeyboardAccessory, Label, Lifestyle, Like, LivePlayer, LivePusher, Login, Lottie, Map, MatchMedia, MovableArea, MovableView, NativeSlot, NavigationBar, Navigator, OfficialAccount, OpenData, PageContainer, PageMeta, Picker, PickerGroup, PickerView, PickerViewColumn, Progress, PullToRefresh, Radio, RadioGroup, RichText, RootPortal, RtcRoom, RtcRoomItem, ScrollView, ShareElement, Slider, Slot, Swiper, SwiperItem, Switch, TabItem, Tabbar, Tabs, Text, Textarea, Video, VideoControl, VideoDanmu, View, VoipRoom, WebView } from './components.js';

function initVue3Components(app) {
    app.config.isCustomElement = tag => /^taro-/.test(tag) || tag === 'root' || tag === 'block';
    Object.entries(components).forEach(([name, component]) => {
        if (component) {
            const tagName = 'taro' + name.replace(new RegExp('([A-Z])', 'g'), '-$1').toLowerCase();
            app.component(tagName, component);
        }
    });
}

export { initVue3Components };
//# sourceMappingURL=index.js.map
