import FlowUiAlert from '../components/alert/alert.component.mjs';
import FlowUiAnimation from '../components/animation/animation.component.mjs';
import FlowUiAutocomplete from '../components/autocomplete/autocomplete.component.mjs';
import FlowUiAvatar from '../components/avatar/avatar.component.mjs';
import FlowUiBadge from '../components/badge/badge.component.mjs';
import FlowUiBaseControl from '../components/base-control/base-control.component.mjs';
import FlowUiBreadcrumbItem from '../components/breadcrumb-item/breadcrumb-item.component.mjs';
import FlowUiBreadcrumb from '../components/breadcrumb/breadcrumb.component.mjs';
import FlowUiBusyOverlay from '../components/busy-overlay/busy-overlay.component.mjs';
import FlowUiButtonGroup from '../components/button-group/button-group.component.mjs';
import FlowUiButton from '../components/button/button.component.mjs';
import FlowUiCalendar from '../components/calendar/calendar.component.mjs';
import FlowUiCard from '../components/card/card.component.mjs';
import FlowUiCarouselItem from '../components/carousel-item/carousel-item.component.mjs';
import FlowUiCarousel from '../components/carousel/carousel.component.mjs';
import FlowUiChart from '../components/chart/chart.component.mjs';
import FlowUiCheckboxGroup from '../components/checkbox-group/checkbox-group.component.mjs';
import FlowUiCheckbox from '../components/checkbox/checkbox.component.mjs';
import FlowUiColorMapper from '../components/color-mapper/color-mapper.component.mjs';
import FlowUiColorPicker from '../components/color-picker/color-picker.component.mjs';
import FlowUiColorStop from '../components/color-stop/color-stop.component.mjs';
import FlowUiDateTimePicker from '../components/date-time-picker/date-time-picker.component.mjs';
import FlowUiDetails from '../components/details/details.component.mjs';
import FlowUiDialog from '../components/dialog/dialog.component.mjs';
import FlowUiDivider from '../components/divider/divider.component.mjs';
import FlowUiDrawer from '../components/drawer/drawer.component.mjs';
import FlowUiDropdown from '../components/dropdown/dropdown.component.mjs';
import FlowUiFormGroup from '../components/form-group/form-group.component.mjs';
import FlowUiGauge from '../components/gauge/gauge.component.mjs';
import FlowUiIconButton from '../components/icon-button/icon-button.component.mjs';
import FlowUiIcon from '../components/icon/icon.component.mjs';
import FlowUiInput from '../components/input/input.component.mjs';
import FlowUiListItem from '../components/list-item/list-item.component.mjs';
import FlowUiList from '../components/list/list.component.mjs';
import FlowUiMap from '../components/map/map.component.mjs';
import FlowUiMenuItem from '../components/menu-item/menu-item.component.mjs';
import FlowUiMenuLabel from '../components/menu-label/menu-label.component.mjs';
import FlowUiMenu from '../components/menu/menu.component.mjs';
import FlowUiMutationObserver from '../components/mutation-observer/mutation-observer.component.mjs';
import FlowUiOption from '../components/option/option.component.mjs';
import FlowUiPanelHeader from '../components/panel-header/panel-header.component.mjs';
import FlowUiPanel from '../components/panel/panel.component.mjs';
import FlowUiPopup from '../components/popup/popup.component.mjs';
import FlowUiProgressBar from '../components/progress-bar/progress-bar.component.mjs';
import FlowUiProgressRing from '../components/progress-ring/progress-ring.component.mjs';
import FlowUiQueryBuilder from '../components/query-builder/query-builder.component.mjs';
import FlowUiRadioGroup from '../components/radio-group/radio-group.component.mjs';
import FlowUiRadio from '../components/radio/radio.component.mjs';
import FlowUiRange from '../components/range/range.component.mjs';
import FlowUiResizeObserver from '../components/resize-observer/resize-observer.component.mjs';
import FlowUiScrollView from '../components/scroll-view/scroll-view.component.mjs';
import FlowUiSelect from '../components/select/select.component.mjs';
import FlowUiSplitViewDivider from '../components/split-view-divider/split-view-divider.component.mjs';
import FlowUiSplitViewPane from '../components/split-view-pane/split-view-pane.component.mjs';
import FlowUiSplitViewToggleButton from '../components/split-view-toggle-button/split-view-toggle-button.component.mjs';
import FlowUiSplitView from '../components/split-view/split-view.component.mjs';
import FlowUiStepperPanel from '../components/stepper-panel/stepper-panel.component.mjs';
import FlowUiStepper from '../components/stepper/stepper.component.mjs';
import FlowUiSwitch from '../components/switch/switch.component.mjs';
import FlowUiTabGroup from '../components/tab-group/tab-group.component.mjs';
import FlowUiTabPanel from '../components/tab-panel/tab-panel.component.mjs';
import FlowUiTab from '../components/tab/tab.component.mjs';
import FlowUiTag from '../components/tag/tag.component.mjs';
import FlowUiTextarea from '../components/textarea/textarea.component.mjs';
import FlowUiTimer from '../components/timer/timer.component.mjs';
import FlowUiToolButtonGroup from '../components/tool-button-group/tool-button-group.component.mjs';
import FlowUiToolButton from '../components/tool-button/tool-button.component.mjs';
import FlowUiTooltip from '../components/tooltip/tooltip.component.mjs';
import FlowUiTreeItem from '../components/tree-item/tree-item.component.mjs';
import FlowUiTree from '../components/tree/tree.component.mjs';
import FlowUiVisuallyHidden from '../components/visually-hidden/visually-hidden.component.mjs';

async function registerComponents() {
  FlowUiAlert.define("flow-ui-alert");
  FlowUiAnimation.define("flow-ui-animation");
  FlowUiAutocomplete.define("flow-ui-autocomplete");
  FlowUiAvatar.define("flow-ui-avatar");
  FlowUiBadge.define("flow-ui-badge");
  FlowUiBaseControl.define("flow-ui-base-control");
  FlowUiBreadcrumbItem.define("flow-ui-breadcrumb-item");
  FlowUiBreadcrumb.define("flow-ui-breadcrumb");
  FlowUiBusyOverlay.define("flow-ui-busy-overlay");
  FlowUiButtonGroup.define("flow-ui-button-group");
  FlowUiButton.define("flow-ui-button");
  FlowUiCalendar.define("flow-ui-calendar");
  FlowUiCard.define("flow-ui-card");
  FlowUiCarouselItem.define("flow-ui-carousel-item");
  FlowUiCarousel.define("flow-ui-carousel");
  FlowUiChart.define("flow-ui-chart");
  FlowUiCheckbox.define("flow-ui-checkbox");
  FlowUiCheckboxGroup.define("flow-ui-checkbox-group");
  FlowUiColorMapper.define("flow-ui-color-mapper");
  FlowUiColorPicker.define("flow-ui-color-picker");
  FlowUiColorStop.define("flow-ui-color-stop");
  FlowUiDateTimePicker.define("flow-ui-date-time-picker");
  FlowUiDetails.define("flow-ui-details");
  FlowUiDialog.define("flow-ui-dialog");
  FlowUiDivider.define("flow-ui-divider");
  FlowUiDrawer.define("flow-ui-drawer");
  FlowUiDropdown.define("flow-ui-dropdown");
  FlowUiFormGroup.define("flow-ui-form-group");
  FlowUiGauge.define("flow-ui-gauge");
  FlowUiIconButton.define("flow-ui-icon-button");
  FlowUiIcon.define("flow-ui-icon");
  FlowUiInput.define("flow-ui-input");
  FlowUiList.define("flow-ui-list");
  FlowUiListItem.define("flow-ui-list");
  FlowUiListItem.define("flow-ui-list-item");
  FlowUiMap.define("flow-ui-map");
  FlowUiMenuItem.define("flow-ui-menu-item");
  FlowUiMenuLabel.define("flow-ui-menu-label");
  FlowUiMenu.define("flow-ui-menu");
  FlowUiMutationObserver.define("flow-ui-mutation-observer");
  FlowUiOption.define("flow-ui-option");
  FlowUiPanelHeader.define("flow-ui-panel-header");
  FlowUiPanel.define("flow-ui-panel");
  FlowUiPopup.define("flow-ui-popup");
  FlowUiProgressBar.define("flow-ui-progress-bar");
  FlowUiProgressRing.define("flow-ui-progress-ring");
  FlowUiQueryBuilder.define("flow-ui-query-builder");
  FlowUiRadioGroup.define("flow-ui-radio-group");
  FlowUiRadio.define("flow-ui-radio");
  FlowUiRange.define("flow-ui-range");
  FlowUiResizeObserver.define("flow-ui-resize-observer");
  FlowUiScrollView.define("flow-ui-scroll-view");
  FlowUiSelect.define("flow-ui-select");
  FlowUiSplitViewDivider.define("flow-ui-split-view-divider");
  FlowUiSplitViewPane.define("flow-ui-split-view-pane");
  FlowUiSplitViewToggleButton.define("flow-ui-split-view-toggle-button");
  FlowUiSplitView.define("flow-ui-split-view");
  FlowUiStepperPanel.define("flow-ui-stepper-panel");
  FlowUiStepper.define("flow-ui-stepper");
  FlowUiSwitch.define("flow-ui-switch");
  FlowUiTabGroup.define("flow-ui-tab-group");
  FlowUiTabPanel.define("flow-ui-tab-panel");
  FlowUiTab.define("flow-ui-tab");
  FlowUiTag.define("flow-ui-tag");
  FlowUiTextarea.define("flow-ui-textarea");
  FlowUiTimer.define("flow-ui-timer");
  FlowUiToolButtonGroup.define("flow-ui-tool-button-group");
  FlowUiToolButton.define("flow-ui-tool-button");
  FlowUiTooltip.define("flow-ui-tooltip");
  FlowUiTreeItem.define("flow-ui-tree-item");
  FlowUiTree.define("flow-ui-tree");
  FlowUiVisuallyHidden.define("flow-ui-visually-hidden");
  return Promise.all([
    window.customElements.whenDefined("flow-ui-alert"),
    window.customElements.whenDefined("flow-ui-animation"),
    window.customElements.whenDefined("flow-ui-avatar"),
    window.customElements.whenDefined("flow-ui-badge"),
    window.customElements.whenDefined("flow-ui-breadcrumb-item"),
    window.customElements.whenDefined("flow-ui-breadcrumb"),
    window.customElements.whenDefined("flow-ui-button-group"),
    window.customElements.whenDefined("flow-ui-button"),
    window.customElements.whenDefined("flow-ui-calendar"),
    window.customElements.whenDefined("flow-ui-card"),
    window.customElements.whenDefined("flow-ui-carousel-item"),
    window.customElements.whenDefined("flow-ui-carousel"),
    window.customElements.whenDefined("flow-ui-chart"),
    window.customElements.whenDefined("flow-ui-checkbox"),
    window.customElements.whenDefined("flow-ui-color-mapper"),
    window.customElements.whenDefined("flow-ui-color-picker"),
    window.customElements.whenDefined("flow-ui-color-stop"),
    window.customElements.whenDefined("flow-ui-date-time-picker"),
    window.customElements.whenDefined("flow-ui-details"),
    window.customElements.whenDefined("flow-ui-dialog"),
    window.customElements.whenDefined("flow-ui-divider"),
    window.customElements.whenDefined("flow-ui-drawer"),
    window.customElements.whenDefined("flow-ui-dropdown"),
    window.customElements.whenDefined("flow-ui-gauge"),
    window.customElements.whenDefined("flow-ui-icon-button"),
    window.customElements.whenDefined("flow-ui-icon"),
    window.customElements.whenDefined("flow-ui-input"),
    window.customElements.whenDefined("flow-ui-list"),
    window.customElements.whenDefined("flow-ui-list-item"),
    window.customElements.whenDefined("flow-ui-map"),
    window.customElements.whenDefined("flow-ui-menu-item"),
    window.customElements.whenDefined("flow-ui-menu-label"),
    window.customElements.whenDefined("flow-ui-menu"),
    window.customElements.whenDefined("flow-ui-mutation-observer"),
    window.customElements.whenDefined("flow-ui-option"),
    window.customElements.whenDefined("flow-ui-panel-header"),
    window.customElements.whenDefined("flow-ui-panel"),
    window.customElements.whenDefined("flow-ui-popup"),
    window.customElements.whenDefined("flow-ui-progress-bar"),
    window.customElements.whenDefined("flow-ui-progress-ring"),
    window.customElements.whenDefined("flow-ui-query-builder"),
    window.customElements.whenDefined("flow-ui-radio-group"),
    window.customElements.whenDefined("flow-ui-radio"),
    window.customElements.whenDefined("flow-ui-range"),
    window.customElements.whenDefined("flow-ui-resize-observer"),
    window.customElements.whenDefined("flow-ui-scroll-view"),
    window.customElements.whenDefined("flow-ui-select"),
    window.customElements.whenDefined("flow-ui-spinner"),
    window.customElements.whenDefined("flow-ui-split-view-divider"),
    window.customElements.whenDefined("flow-ui-split-view-pane"),
    window.customElements.whenDefined("flow-ui-split-view-toggle-button"),
    window.customElements.whenDefined("flow-ui-split-view"),
    window.customElements.whenDefined("flow-ui-stepper-panel"),
    window.customElements.whenDefined("flow-ui-stepper"),
    window.customElements.whenDefined("flow-ui-switch"),
    window.customElements.whenDefined("flow-ui-tab-group"),
    window.customElements.whenDefined("flow-ui-tab-panel"),
    window.customElements.whenDefined("flow-ui-tab"),
    window.customElements.whenDefined("flow-ui-tag"),
    window.customElements.whenDefined("flow-ui-textarea"),
    window.customElements.whenDefined("flow-ui-timer"),
    window.customElements.whenDefined("flow-ui-tool-button-group"),
    window.customElements.whenDefined("flow-ui-tool-button"),
    window.customElements.whenDefined("flow-ui-tooltip"),
    window.customElements.whenDefined("flow-ui-tree-item"),
    window.customElements.whenDefined("flow-ui-tree"),
    window.customElements.whenDefined("flow-ui-visually-hidden")
  ]).then(() => {
  });
}

export { registerComponents };
