<commit_before>import { h, Component, prop } from 'skatejs';

import { ColorType, cssClassForColorType, css } from '../_helpers';

import styles from './Button.scss';

// public
type ButtonProps = Props & EventProps;
type Props = {
  disabled?: boolean,
  block?: boolean,
  close?: boolean,
  ghost?: boolean,
  color?: ColorType,
}
type EventProps =  {
  onClick?: typeof HTMLElement.prototype.onclick,
}

declare global {
  namespace JSX {
    interface IntrinsicElements {
      'bl-button': ButtonProps & Partial<HTMLElement>,
    }
  }
}

export class Button extends Component<ButtonProps> {
  static get is(){ return 'bl-button'; }
  static get props() {
    return {
      disabled: prop.boolean( {
        attribute: true
      }),
      block: prop.boolean({
        attribute: true
      }),
      close: prop.boolean({
        attribute: true
      }),
      ghost: prop.boolean({
        attribute: true
      }),
      color: prop.string({
        attribute: true<commit_msg>chore(button): fix ts-lint after rebase<commit_after>import { h, Component, prop } from 'skatejs';

import { ColorType, cssClassForColorType, css } from '../_helpers';

import styles from './Button.scss';

// public
type ButtonProps = Props & EventProps;
type Props = {
  disabled?: boolean,
  block?: boolean,
  close?: boolean,
  ghost?: boolean,
  color?: ColorType,
};
type EventProps =  {
  onClick?: typeof HTMLElement.prototype.onclick,
};

declare global {
  namespace JSX {
    interface IntrinsicElements {
      'bl-button': ButtonProps & Partial<HTMLElement>,
    }
  }
}

export class Button extends Component<ButtonProps> {
  static get is(){ return 'bl-button'; }
  static get props() {
    return {
      disabled: prop.boolean( {
        attribute: true
      }),
      block: prop.boolean({
        attribute: true
      }),
      close: prop.boolean({
        attribute: true
      }),
      ghost: prop.boolean({
        attribute: true
      }),
      color: prop.string({
        attribute: true
{'fraction_non_alphanumeric': 0.12562313060817548, 'fraction_numerical': 0.0, 'mean_word_length': 2.758426966292135, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5899177', 'n_tokens_mistral': 588, 'n_tokens_neox': 595, 'n_words': 165}