jabroni-outfit

Small GUI and persistent state lib based on Vue.
9,018 3
Install
npm install jabroni-outfit
Latest Version:2.1.4
Vue:3
License:MIT
Last Updated:Mar 20, 2026
Links: GitHub  ·  npm
Maintainer: smartacephale

Jabroni Outfit GUI

Small GUI and Persistent State library based on Vue

https://smartacephale.github.io/Jabroni-Outfit-GUI/

Sublime's custom image

Features

  • Store vaiables are persistent by default.
  • Store variable with <$> prefix are not persistent.

Usage

import { JabronioStore, JabronioGUI } from 'jabroni-outfit';
<script src="https://unpkg.com/jabroni-outfit@latest/dist/jabroni-outfit.umd.js"></script>
...
const { JabronioStore, JabronioGUI } = window.jabronioutfit;

Example

const { JabronioGUI, JabronioStore, setupScheme } = window.jabronioutfit;

const example = () => {
  const store = new JabronioStore();

  const scheme: SchemeInput = setupScheme([
    {
      title: 'Colors',
      content: [
        {
          $color1: 'coral',
        },
        {
          color2: 'crimson',
        },
        {
          $color3: 'tomato',
        },
        {
          size: 100,
          type: 'range',
          max: '500',
          min: '0',
        },
        {
          gradientEnabled: true,
          label: 'gradient enabled',
        },
        {
          reset: () => {
            store.state.$color1 = 'darkslateblue';
            store.state.color2 = 'maroon';
            store.state.$color3 = 'darksalmon';
          },
        },
      ],
    },
    {
      title: 'Advanced',
      collapsed: true,
      content: [
        {
          'clueless checkbox': false,
        },
      ],
    },
  ]);

  new JabronioGUI(scheme, store);

  function drawGradient() {
    const { $color1, color2, $color3, gradientEnabled, size } = store.state;
    if (!gradientEnabled) {
      document.body.style.background = '#000';
      return;
    }
    document.body.style.background = `repeating-radial-gradient(${$color1}, ${color2}, ${$color3} ${size}%)`;
  }

  drawGradient();

  store.stateSubject.subscribe((_) => {
    drawGradient();
  });

  store.eventSubject.subscribe((e) => {
    console.log('event', e);
  });
};

example();

Related Packages

free-swagger-userscript

free-swagger for tampermonkey

1,939 68
@mcistudio/unoui-vue

Vue 3 admin UI components powered by UnoCSS.

1,329 2
@arylo-scripts/gm-vue

Vue userscript helpers backed by the page-level Vue runtime.

340 0
onionl-ui

A UI component library for Vue 3

1,175 57
magic-monkey-cli

油猴脚本 Monorepo 多包开发与构建脚手架

802 0

Version History

Version Released Vue License
2.1.4 ^3.5.26 MIT
2.1.3 ^3.5.26 MIT
2.1.2 ^3.5.26 MIT
2.1.1 ^3.5.26 MIT
2.1.0 ^3.5.26 MIT