# Class default

Base element of the application tools icon.

Example:

       import {html, css} from 'lit';
       import {customElement} from 'lit/decorators.js';

       // @ts-ignore
       @customElement('my-button')
       export class MyToolButtonElement extends (window as any).gmfapi.elements.ToolButtonElement {
         constructor() {
           super(panelName);
         }

         render(): TemplateResult {
           return html`
             <button
               @click=${() => this.click_()}
               class="btn btn-default ${this.active_ ? 'active' : ''}"
               data-toggle="tooltip"
               data-placement="left"
               data-original-title="${i18next.t('Title')}"
             >
               <span class="fa fa-my-icon"></span>
             </button>
           `;
         }
       }

#### Hierarchy (view full)

- default
  - default
    - ToolButtonAuth
    - ToolButtonPrint
    - ToolButtonDraw
    - ToolButtonFilter
    - ToolButtonEditing
    - ToolButtonProfile
    - ToolButtonGooglestreetview
    - ToolButtonMapillary
    - ToolButtonSelect
    - ToolButtonImport
    - ToolButtonRouting
    - ToolButtonLidar
    - ToolButtonDefault

- Defined in srcapi/elements/ToolButtonElement.ts:61

#####
Index

### Other

constructor
bootstrapStyle
bootstrapVarStyle
commonStyle
fontawesomeStyle
resetStyle
mozRequestFullScreen
mozRequestFullScreenWithKeys
msRequestFullscreen
webkitRequestFullscreen

### lifecycle

connectedCallback
disconnectedCallback

### rendering

render

### styles

styles

### updates

firstUpdated

##
Other

### constructor

- new default(panelName): default

- #### Parameters

  - panelName: string

  #### Returns default

  Overrides default.constructor

  - Defined in srcapi/elements/ToolButtonElement.ts:116

### `Static` bootstrapStyle

bootstrapStyle: CSSResult = cssBootstrap

Inherited from default.bootstrapStyle

- Defined in srcapi/elements/BaseElement.ts:74

### `Static` bootstrapVarStyle

bootstrapVarStyle: CSSResult = ...

Inherited from default.bootstrapVarStyle

- Defined in srcapi/elements/BaseElement.ts:79

### `Static` commonStyle

commonStyle: CSSResult = ...

Inherited from default.commonStyle

- Defined in srcapi/elements/BaseElement.ts:109

### `Static` fontawesomeStyle

fontawesomeStyle: CSSResult = cssFontawesome

Inherited from default.fontawesomeStyle

- Defined in srcapi/elements/BaseElement.ts:75

### `Static` resetStyle

resetStyle: CSSResult = cssReset

Inherited from default.resetStyle

- Defined in srcapi/elements/BaseElement.ts:73

### mozRequestFullScreen

- mozRequestFullScreen(): Promise<void>

- #### Returns Promise<void>

  Inherited from default.mozRequestFullScreen

  - Defined in types/dom.d.ts:25

### mozRequestFullScreenWithKeys

- mozRequestFullScreenWithKeys(): Promise<void>

- #### Returns Promise<void>

  Inherited from default.mozRequestFullScreenWithKeys

  - Defined in types/dom.d.ts:26

### msRequestFullscreen

- msRequestFullscreen(): Promise<void>

- #### Returns Promise<void>

  Inherited from default.msRequestFullscreen

  - Defined in types/dom.d.ts:27

### webkitRequestFullscreen

- webkitRequestFullscreen(allowKeyboardInput?): Promise<void>

- #### Parameters

  - `Optional` allowKeyboardInput: number

  #### Returns Promise<void>

  Inherited from default.webkitRequestFullscreen

  - Defined in types/dom.d.ts:28

##
lifecycle

### connectedCallback

- connectedCallback(): void

- Invoked when the component is added to the document's DOM.

  In `connectedCallback()` you should setup tasks that should only occur when the element is connected to the document. The most common of these is adding event listeners to nodes external to the element, like a keydown event handler added to the window.

      connectedCallback() {
        super.connectedCallback();
        addEventListener('keydown', this._handleKeydown);
      }

  Typically, anything done in `connectedCallback()` should be undone when the element is disconnected, in `disconnectedCallback()`.

  #### Returns void

  Overrides default.connectedCallback

  - Defined in srcapi/elements/ToolButtonElement.ts:121

### disconnectedCallback

- disconnectedCallback(): void

- Invoked when the component is removed from the document's DOM.

  This callback is the main signal to the element that it may no longer be used. `disconnectedCallback()` should ensure that nothing is holding a reference to the element (such as event listeners added to nodes external to the element), so that it is free to be garbage collected.

      disconnectedCallback() {
        super.disconnectedCallback();
        window.removeEventListener('keydown', this._handleKeydown);
      }

  An element may be re-connected after being disconnected.

  #### Returns void

  Inherited from default.disconnectedCallback

  - Defined in srcapi/elements/BaseElement.ts:163

##
rendering

### render

- render(): TemplateResult

- Invoked on each update to perform rendering tasks. This method may return any value renderable by lit-html's `ChildPart` - typically a `TemplateResult`. Setting properties inside this method will not trigger the element to update.

  #### Returns TemplateResult

  Overrides BaseElement.render

  - Defined in srcapi/elements/ToolButtonElement.ts:139

##
styles

### `Static` styles

styles: CSSResult[] = ...

Array of styles to apply to the element. The styles should be defined using the css tag function, via constructible stylesheets, or imported from native CSS module scripts.

Note on Content Security Policy:

Element styles are implemented with `<style>` tags when the browser doesn't support adopted StyleSheets. To use such `<style>` tags with the style-src CSP directive, the style-src value must either include 'unsafe-inline' or `nonce-<base64-value>` with `<base64-value>` replaced be a server-generated nonce.

To provide a nonce to use on generated `<style>` elements, set `window.litNonce` to a server-generated nonce in your page's HTML, before loading application code:

    <script>
      // Generated and unique per request:
      window.litNonce = 'a1b2c3d4';
    </script>

#### Nocollapse

Overrides default.styles

- Defined in srcapi/elements/ToolButtonElement.ts:66

##
updates

### firstUpdated

- firstUpdated(): void

- Invoked when the element is first updated. Implement to perform one time work on the element after update.

      firstUpdated() {
        this.renderRoot.getElementById('my-text-area').focus();
      }

  Setting properties inside this method will trigger the element to update again after this update cycle completes.

  #### Returns void

  Overrides BaseElement.firstUpdated

  - Defined in srcapi/elements/ToolButtonElement.ts:153