<commit_before>
ComponentSampler = HApplication.extend({
  constructor: function(){
    this.base();
    this.window = new HWindow(
      new HRect(100,100,740,500),
      this, {
        label: 'Component Sampler'
      }
    );
    this.tabs = new (HTab.extend({
        flexRight: true,
        flexBottom: true,
        flexRightOffset: 16,
        flexBottomOffset: 16
      }))(
      new HRect(16,16,100,100),
      this.window
    );
    this.buttonsTab = this.tabs.addTab('Buttons',true);
    this.textTab = this.tabs.addTab('Text');
    this.numericTab = this.tabs.addTab('Numeric');
    this.progressTab = this.tabs.addTab('Progress');
    this.mediaTab = this.tabs.addTab('Media');
    this.populateButtons();
  },
  populateButtons: function(){
    var _buttonRect = new HRect(8,8,108,28);
    this.button1 = new HButton(
      new HRect(_buttonRect),
      this.buttonsTab, {
        label: 'HButton enabled'
      }
    );
    _buttonRect.offsetBy(160,0);
    this.button2 = new HButton(
      new HRect(_buttonRect),
      this.buttonsTab, {
        label: 'HButton disabled',
        enabled: false
      }
    );
    _buttonRect.offsetBy(-160,30);
    this.button3 = new HCheckbox(
      new HRect(_buttonRect),
      this.buttonsTab, {
        label: 'HCheckbox',
        value: true
      }
    );
    _buttonRect.offsetBy(160,0);
    this.button2 = new HCheckbox(
      new HRect(_buttonRect),
      this.buttonsTab, {
        label: 'HCheckbox disabled',
        enabled: false,
        value: false
      }
    );
  }
});

<commit_msg>componentsampler basics ok and it will be a testbed for updated components and component themes<commit_after>
ComponentSampler = HApplication.extend({
  constructor: function(){
    this.base();
    this.window = new HWindow(
      new HRect(100,100,740,500),
      this, {
        label: 'Component Sampler'
      }
    );
    this.tabs = new (HTab.extend({
        flexRight: true,
        flexBottom: true,
        flexRightOffset: 16,
        flexBottomOffset: 16
      }))(
      new HRect(16,16,100,100),
      this.window, {
        events: { mouseDown: true },
        enabled: true
      }
    );
    this.buttonsTab = this.tabs.addTab('Buttons',true);
    this.textTab = this.tabs.addTab('Text');
    this.numericTab = this.tabs.addTab('Numeric');
    this.progressTab = this.tabs.addTab('Progress');
    this.mediaTab = this.tabs.addTab('Media');
    this.populateButtons();
  },
  populateButtons: function(){
    var _buttonRect = new HRect(8,8,148,28);
    
    this.button1 = new HButton(
      new HRect(_buttonRect),
      this.buttonsTab, {
        label: 'HButton enabled'
      }
    );
    _buttonRect.offsetBy(160,0);
    this.button2 = new HButton(
      new HRect(_buttonRect),
      this.buttonsTab, {
        label: 'HButton disabled',
        enabled: false
      }
    );
    
    _buttonRect.offsetBy(-160,30);
    this.checkbox1 = new HCheckbox(
      new HRect(_buttonRect),
      this.buttonsTab, {
        label: 'HCheckbox',
        value: true
      }
    );
    _buttonRect.offsetBy(160,0);
    this.checkbox2 = new HCheckbox(
      new HRect(_buttonRect),
      this.buttonsTab, {
        label: 'HCheckbox disabled',
        enabled: false,
        value: false
      }
    );
  }
});


{'fraction_non_alphanumeric': 0.13010359536867763, 'fraction_numerical': 0.030469226081657527, 'mean_word_length': 2.283, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '830332', 'n_tokens_mistral': 1111, 'n_tokens_neox': 1056, 'n_words': 203}