import {
  customElement,
  DeesElement,
  domtools,
  type TemplateResult,
  html,
  property,
  type CSSResult,
  state,
  css,
  cssManager,
} from '@design.estate/dees-element';
declare global {
  interface HTMLElementTagNameMap {
    'dees-windowcontrols': DeesWindowControls;
  }
}
@customElement('dees-windowcontrols')
export class DeesWindowControls extends DeesElement {
  // STATIC
  public static demo = () => html``;
  // Instance
  @property({
    reflect: true,
  })
  public type: 'mac' | 'linux' | 'windows' = 'mac';
  @property({
    reflect: true,
  })
  public position: 'left' | 'right' = 'left';
  public static styles = [
    cssManager.defaultStyles,
    css`
      :host {
        position: relative;
        display: block;
        box-sizing: border-box;
        padding-left: 16px;
        padding-right: 16px;
      }
      .windowControls {
        height: 100%;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
      }
      .windowControls div {
        width: 12px;
        height: 12px;
        display: inline-block;
        border-radius: 50%;
        margin: 0px;
        padding: 0px;
        background: #222222;
      }
      .windowControls div.close {
        background: #ff5f57;
        margin-right: 12px;
      }
      .windowControls div.toDock {
        background: #ffbd2e;
        margin-right: 12px;
      }
      .windowControls div.minMax {
        background: #27c93f;
      }
      .windowControls div:hover {
        background: #333333;
      }
    `,
  ];
  public render(): TemplateResult {
    return html`
      ${(this.type === 'mac' && this.position === 'left') ||
      ((this.type === 'linux' || this.type === 'windows') && this.position === 'right')
        ? html`
            
          `
        : html``}
    `;
  }
}