/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { __decorate } from "tslib";
import { CustomElement, attachLightTemplate, FoundationProperty } from '@tylertech/forge-core';
import { tylIconHelp } from '@tylertech/tyler-icons/standard';
import { MenuComponent } from '../../menu';
import { AppBarHelpButtonAdapter } from './app-bar-help-button-adapter';
import { AppBarHelpButtonFoundation } from './app-bar-help-button-foundation';
import { APP_BAR_HELP_BUTTON_CONSTANTS } from './app-bar-help-button-constants';
import { IconButtonComponent } from '../../icon-button';
import { TooltipComponent } from '../../tooltip';
import { IconComponent, IconRegistry } from '../../icon';
import { BaseComponent } from '../../core/base/base-component';
const template = '<template><forge-icon-button><forge-menu placement=\"bottom-end\"><button type=\"button\" aria-label=\"Open help menu\"><forge-icon name=\"help\"></forge-icon></button></forge-menu><forge-tooltip delay=\"500\" position=\"bottom\">Help</forge-tooltip></forge-icon-button></template>';
/**
 * The web component class behind the `<forge-app-bar-help-button>` custom element.
 *
 * @tag forge-app-bar-help-button
 */
let AppBarHelpButtonComponent = class AppBarHelpButtonComponent extends BaseComponent {
    constructor() {
        super();
        IconRegistry.define(tylIconHelp);
        this._foundation = new AppBarHelpButtonFoundation(new AppBarHelpButtonAdapter(this));
    }
    initializedCallback() {
        attachLightTemplate(this, template);
    }
    connectedCallback() {
        this._foundation.initialize();
    }
    disconnectedCallback() {
        this._foundation.disconnect();
    }
};
__decorate([
    FoundationProperty()
], AppBarHelpButtonComponent.prototype, "options", void 0);
AppBarHelpButtonComponent = __decorate([
    CustomElement({
        name: APP_BAR_HELP_BUTTON_CONSTANTS.elementName,
        dependencies: [
            MenuComponent,
            IconButtonComponent,
            TooltipComponent,
            IconComponent
        ]
    })
], AppBarHelpButtonComponent);
export { AppBarHelpButtonComponent };
