import { customElement } from 'lit/decorators.js'
import Element from './internals/DomainEntityEditor.js'
import styles from './internals/styles/DomainEntityEditor.styles.js'
import formStyles from './internals/styles/form_styles.js'
import learning from './internals/styles/learning.styles.js'
import typography from '../styles/m3/typography.module.js'

import '../md/icons/ui-icon.js'
import '../md/button/ui-button.js'
import '../md/text-field/ui-outlined-text-field.js'
import '../md/icon-button/ui-icon-button.js'
import '../md/tabs/ui-tab.js'
import '../md/tabs/ui-tabs.js'
import '../md/chip/ui-chip.js'
import '../md/chip/ui-chip-set.js'
import '../md/menu/ui-menu.js'
import '../md/menu/ui-menu-item.js'
import '../md/menu/ui-sub-menu.js'
import '../md/divider/ui-divider.js'
import '../md/select/ui-select.js'
import '../md/select/ui-option.js'
import '../md/list/ui-list.js'
import '../md/list/ui-list-item.js'

@customElement('domain-entity-editor')
export class DomainEntityEditorElement extends Element {
  static override styles = [styles, formStyles, learning, typography]
}

declare global {
  interface HTMLElementTagNameMap {
    'domain-entity-editor': DomainEntityEditorElement
  }
}
