OOUI starter !

Wikimedia OOJS/OOUI starter, to prototype create user interface.

by Hugo Lopez

HTML

<!-- jQuery -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<!-- OOjs  -->
<script src="https://doc.wikimedia.org/oojs-ui/master/demos/node_modules/oojs/dist/oojs.js"></script>
<!-- OOUI -->
<script src="https://doc.wikimedia.org/oojs-ui/master/demos/dist/oojs-ui.js"></script>
    <!-- Add the individual oojs-ui files for proper sourcemap support - ->
    <script src="https://doc.wikimedia.org/oojs-ui/master/demos/dist/oojs-ui-core.js"></script>
    <script src="https://doc.wikimedia.org/oojs-ui/master/demos/dist/oojs-ui-toolbars.js"></script>
    <script src="https://doc.wikimedia.org/oojs-ui/master/demos/dist/oojs-ui-widgets.js"></script>
    <script src="https://doc.wikimedia.org/oojs-ui/master/demos/dist/oojs-ui-windows.js"></script> -->
<!-- OOUI theme: wikimedia-ui -->
<link rel="stylesheet" href="https://doc.wikimedia.org/oojs-ui/master/demos/dist/oojs-ui-wikimediaui.css">
<script src="https://doc.wikimedia.org/oojs-ui/master/demos/dist/oojs-ui-wikimediaui.js"></script>
<!-- OOUI theme: apex -->
<!-- <link rel="stylesheet" href="https://doc.wikimedia.org/oojs-ui/master/demos/dist/oojs-ui-apex.css"> -->
<!-- <script src="https://doc.wikimedia.org/oojs-ui/master/demos/dist/oojs-ui-apex.js"></script> -->
      

<li><a href="https://doc.wikimedia.org/oojs-ui/master/demos/">OOUI Demo and gallery of elements</a>.</li>
<div id="hook">_</div>

CSS

/* Demo documentation : https://doc.wikimedia.org/oojs-ui/master/demos/ */
/* Technical documentation : https://doc.wikimedia.org/oojs-ui/master/js/#!/api/OO.ui */

JavaScript

// An example of a fieldset with horizontal layout.

var fieldset = new OO.ui.FieldsetLayout( {
		label: 'HorizontalLayout'
	} );

// Add an horizontal field layout
fieldset.addItems( [ 
	new OO.ui.FieldLayout(
		new OO.ui.Widget( {
			content: [ new OO.ui.HorizontalLayout( {
				items: [
					new OO.ui.ButtonWidget( { label: 'Button' } ),
					new OO.ui.ButtonGroupWidget( { items: [
						new OO.ui.ToggleButtonWidget( { label: 'A' } ),
						new OO.ui.ToggleButtonWidget( { label: 'B' } )
					] } ),
					new OO.ui.ButtonInputWidget( { label: 'ButtonInput' } ),
					new OO.ui.TextInputWidget( { value: 'TextInput' } ),
					new OO.ui.CheckboxInputWidget( { selected: true } ),
					new OO.ui.RadioInputWidget( { selected: true } ),
					new OO.ui.LabelWidget( { label: 'Label' } )
				]
			} ) ]
		} ),
		{
			label: 'Multiple widgets shown as a single line, ' +
				'as used in compact forms or in parts of a bigger widget.',
			align: 'top'
		}
	)
] );

$( "#hook" ).append( fieldset.$element );

// HorizontalLayout with a text input and a label.
var layout = new OO.ui.HorizontalLayout( {
  items: [
    new OO.ui.LabelWidget( { label: 'Label' } ),
    new OO.ui.TextInputWidget( { value: 'Text' } )
  ]
} );
$( "#hook" ).append( layout.$element );