Publish Vulpes Preview 15 sources for desktop, Android and Tundra

Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
This commit is contained in:
OverSu 2026-09-30 23:13:03 +02:00
commit b38dea0597
25901 changed files with 9982925 additions and 369 deletions

View file

@ -0,0 +1,48 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Action menu</title>
<meta name="description" content="Presenting a list of actions related to the App content">
<link rel="stylesheet" href="../action_menu.css">
<!--
- This <style> element is only used for the example code;
- it is not required for the real use case.
-->
<style type="text/css">
html, body {
font-family: sans-serif;
margin: 0;
padding: 0;
font-size: 10px;
background-color: #fff;
}
body {
background: none;
}
</style>
</head>
<body role="application">
<p dir="ltr">
<label>
<input type="checkbox"
onchange="document.documentElement.dir = this.checked ? 'rtl' : 'ltr'">
RTL mode
</label>
</p>
<form role="dialog" data-type="action">
<header>
<button><span class="icon icon-close">close</span></button>
<menu type="toolbar">
<button>done</button>
</menu>
<h1>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</h1>
</header>
<section>
<p>Curabitur condimentum diam mollis lacus hendrerit congue. Phasellus porttitor orci elit, ac consequat est mollis ut. Ut consequat ipsum a ullamcorper aliquam.</p>
</section>
</form>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

View file

@ -0,0 +1,51 @@
<!DOCTYPE html>
<html dir="ltr">
<head>
<meta charset="utf-8">
<title>Action menu</title>
<meta name="description" content="Presenting a list of actions related to the App content">
<link rel="stylesheet" href="../action_menu.css">
<!--
- These <style> and <script> elements are only used for the example code;
- they are not required for the real use case.
-->
<style type="text/css">
html, body {
font-family: sans-serif;
margin: 0;
padding: 0;
font-size: 10px;
background-color: #fff;
}
body {
background: none;
}
</style>
<script>
window.onkeypress = event => {
var dir = document.documentElement.dir;
document.documentElement.dir = (dir === 'ltr') ? 'rtl' : 'ltr';
};
</script>
</head>
<body role="application">
<form role="dialog" data-type="action">
<header><span class="icon icon-back"></span>Title</header> <!-- this header is optional -->
<menu type="toolbar">
<button>Action 1</button>
<button disabled> Action 2 (disabled) </button>
<button> Action 3. </button>
<button> الولايات 4</button>
<button disabled> Action 5 (disabled) </button>
<button> Action 6 </button>
<button> Action 7 </button>
<button disabled> Action 8 (disabled) </button>
<button> Action 9 </button>
<button> Cancel </button>
</menu>
</form>
</body>
</html>

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30"><path fill="#667174" fill-opacity=".7" d="m 18.2995,19.66 -5.056,-5.057 5.056,-5.056 c -0.31,-0.516 -0.62,-1.032 -0.93,-1.34 l -5.672,5.673 v 1.652 l 5.675,5.676 c 0.31,-0.515 0.722,-0.928 0.93,-1.547 z"/></svg>

After

Width:  |  Height:  |  Size: 294 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30"><path fill="#667174" fill-opacity=".7" d="m 11.698,19.66 5.056,-5.057 -5.056,-5.056 c 0.31,-0.516 0.62,-1.032 0.93,-1.34 L 18.3,13.88 v 1.652 l -5.675,5.676 c -0.31,-0.515 -0.722,-0.928 -0.93,-1.547 z"/></svg>

After

Width:  |  Height:  |  Size: 292 B

View file

@ -0,0 +1,280 @@
<!DOCTYPE html>
<html dir="ltr">
<head>
<meta charset="utf-8">
<title>Buttons</title>
<link rel="stylesheet" href="../buttons.css">
<link rel="stylesheet" href="../../elements/gaia-icons/gaia-icons-embedded.css">
<link rel="stylesheet" href="../../elements/gaia-icons/bidi-helper.css">
<!--
- These <style> and <script> elements are only used for the example code,
- they are not needed for the real case.
-->
<style>
html, body {
margin: 0;
padding: 0;
font-size: 10px;
background-color: #fff;
}
label.bb-docs {
font-family: sans-serif;
font-size: 1.2rem;
margin-left: 1.5rem;
}
h2.bb-docs {
font-size: 1.8rem;
font-weight: 300;
color: #666;
margin: -0.1rem 0 0;
background-color: #f5f5f5;
padding: 0.4rem 3rem;
border: solid 0.1rem #e8e8e8;
font-family: sans-serif;
}
div.bb-docs {
padding: 1.5rem;
}
div.bb-docs.skin-organic {
background: #f4f4f4;
}
div.bb-docs.skin-dark {
background: #000;
}
ul {
padding: 0;
margin: 0;
list-style: none;
}
body[role="application"] > [role="region"] {
height: 100%;
position: relative;
}
[data-icon]:before {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
</style>
<script>
window.onload = function() {
document.getElementById('dir').checked = false;
};
</script>
</head>
<body role="application">
<p dir="ltr">
<label class="bb-docs">
<input id="dir" type="checkbox" checked="false"
onchange="document.documentElement.dir = this.checked ? 'rtl' : 'ltr'">
RTL mode
</label>
</p>
<h2 class="bb-docs">Special buttons</h2>
<div class="bb-docs skin-organic">
<button>Default</button>
<button class="recommend">Recommend</button>
<button class="danger">Danger</button>
</div>
<h2 class="bb-docs">Buttons with icons</h2>
<div class="bb-docs skin-organic">
<button data-icon="forward" aria-label="forward" data-l10n-id="">Default</button>
<button data-icon="forward" aria-label="forward" data-l10n-id="" class="recommend">Recommend</button>
<button data-icon="forward" aria-label="forward" data-l10n-id="" class="danger">Danger</button>
<button data-icon="forward-light" aria-label="forward-light" data-l10n-id="">Default</button>
<button data-icon="back" aria-label="back" data-l10n-id="">Default</button>
<button data-icon="back-light" aria-label="back-light" data-l10n-id="">Default</button>
</div>
<h2 class="bb-docs">Disabled</h2>
<div class="bb-docs skin-organic">
<button disabled>Default</button>
<a href="#" role="button" aria-disabled="true" class="recommend bb-button">Recommend</a>
<button disabled class="danger">Danger</button>
</div>
<h2 class="bb-docs">Skin dark</h2>
<div class="bb-docs skin-dark">
<button>Default</button>
<button class="recommend">Recommend</button>
<button class="danger">Danger</button>
</div>
<h2 class="bb-docs">Disabled</h2>
<div class="bb-docs skin-dark">
<button disabled>Default</button>
<a href="#" role="button" aria-disabled="true" class="recommend bb-button">Recommend</a>
<button disabled class="danger">Danger</button>
</div>
<h2 class="bb-docs">List buttons</h2>
<div class="bb-docs skin-organic">
<ul>
<li>
<button>Default</button>
</li>
<li>
<button disabled>Disabled</button>
</li>
<li>
<button class="icon icon-view">
Icon view button
</button>
</li>
<li>
<button class="icon icon-dialog">
Icon dialog button
</button>
</li>
<li>
<span class="button icon icon-dialog">
<select>
<option selected>Icon dialog with options</option>
<option>option 1</option>
<option>option 2</option>
<option>option 3</option>
</select>
</span>
</li>
<li>
<button class="icon icon-dialog" disabled>
Icon dialog button disabled
</button>
</li>
<li>
<button data-icon="forward" aria-label="forward" data-l10n-id="">
Side navigation
</button>
</li>
<li>
<button disabled data-icon="forward" aria-label="forward" data-l10n-id="">
Side navigation
</button>
</li>
<li>
<a role="button" data-icon="expand" class="bb-button" aria-label="expand" data-l10n-id="">
Tuesday Sept. 18, 2012
</a>
</li>
<li>
<a role="button" aria-disabled="true" data-icon="expand" class="bb-button" aria-label="expand" data-l10n-id="">
Tuesday Sept. 18, 2012
</a>
</li>
</ul>
</div>
<h2 class="bb-docs">Skin Dark</h2>
<div class="bb-docs skin-dark">
<ul>
<li>
<button>Default</button>
</li>
<li>
<button disabled>Disabled</button>
</li>
<li>
<button class="icon icon-dialog">
Dark icon dialog button
</button>
</li>
<li>
<button data-icon="forward" aria-label="forward" data-l10n-id="">
Side navigation
</button>
</li>
<li>
<button disabled data-icon="forward" aria-label="forward" data-l10n-id="">
Side navigation
</button>
</li>
<li>
<a role="button" data-icon="expand" class="bb-button" aria-label="expand" data-l10n-id="">
Tuesday Sept. 18, 2012
</a>
</li>
<li>
<a role="button" aria-disabled="true" data-icon="expand" class="bb-button" aria-label="expand" data-l10n-id="">
Tuesday Sept. 18, 2012
</a>
</li>
</ul>
</div>
<h2 class="bb-docs">Select</h2>
<div class="bb-docs">
<select>
<option>option 1</option>
<option>option 2</option>
</select>
</div>
<h2 class="bb-docs">Fake select</h2>
<div class="bb-docs">
<ul>
<li>
<span class="bb-button" data-icon="expand" aria-label="expand" data-l10n-id="">
<select>
<option>option 1</option>
<option>option 2</option>
</select>
</span>
</li>
</ul>
</div>
<h2 class="bb-docs">Disabled select</h2>
<div class="bb-docs">
<ul>
<li>
<span aria-disabled="true" class="bb-button" data-icon="expand" aria-label="expand" data-l10n-id="">
<select>
<option>option 1</option>
<option>option 2</option>
</select>
</span>
</li>
</ul>
</div>
<h2 class="bb-docs">Skin dark</h2>
<div class="bb-docs skin-dark">
<select>
<option>option 1</option>
<option>option 2</option>
</select>
</div>
<h2 class="bb-docs">Fake select</h2>
<div class="bb-docs skin-dark">
<ul>
<li>
<span class="bb-button" data-icon="expand" aria-label="expand" data-l10n-id="">
<select>
<option>option 1</option>
<option>option 2</option>
</select>
</span>
</li>
<li>
<span aria-disabled="true" class="bb-button" data-icon="expand" aria-label="expand" data-l10n-id="">
<select>
<option>option 1</option>
<option>option 2</option>
</select>
</span>
</li>
</ul>
</div>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

View file

@ -0,0 +1,65 @@
<!DOCTYPE html>
<html dir="ltr">
<head>
<meta charset="utf-8">
<title>Confirm</title>
<meta name="description" content="Prompts user to take action">
<link rel="stylesheet" href="../confirm.css">
<!--
- These <style> and <script> elements are only used for the example code;
- they are not required for the real use case.
-->
<style type="text/css">
html, body {
font-family: sans-serif;
margin: 0;
padding: 0;
font-size: 10px;
background-color: #fff;
}
body {
background: none;
}
#dir {
position: relative;
z-index: 999;
display: block;
direction: ltr;
background-color: white;
}
#dir input {
vertical-align: middle;
}
</style>
<script>
window.onload = function(){
var input = document.querySelector('#dir input');
input.checked = false;
input.onchange = function() {
document.documentElement.dir = this.checked ? 'rtl' : 'ltr';
};
};
</script>
</head>
<body role="application">
<label id="dir">
<input type="checkbox"> RTL mode
</label>
<form role="dialog" data-type="confirm">
<section>
<h1>Confirmation</h1>
<p>Are you sure you want to delete this contact?</p>
</section>
<menu>
<button>Cancel</button>
<button class="danger">Delete</button>
</menu>
</form>
</body>
</html>

View file

@ -0,0 +1,65 @@
<!DOCTYPE html>
<html dir="ltr">
<head>
<meta charset="utf-8">
<title>Confirm</title>
<meta name="description" content="Prompts user to take action">
<link rel="stylesheet" href="../confirm.css">
<!--
- These <style> and <script> elements are only used for the example code;
- they are not required for the real use case.
-->
<style type="text/css">
html, body {
font-family: sans-serif;
margin: 0;
padding: 0;
font-size: 10px;
background-color: #fff;
}
body {
background: none;
}
#dir {
position: relative;
z-index: 999;
display: block;
direction: ltr;
background-color: white;
}
#dir input {
vertical-align: middle;
}
</style>
<script>
window.onload = function(){
var input = document.querySelector('#dir input');
input.checked = false;
input.onchange = function() {
document.documentElement.dir = this.checked ? 'rtl' : 'ltr';
};
};
</script>
</head>
<body role="application">
<label id="dir">
<input type="checkbox"> RTL mode
</label>
<form role="dialog" data-type="confirm">
<section>
<h1>Confirmation</h1>
<p dir="auto">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
</section>
<menu>
<button>Cancel</button>
<button class="danger">Delete</button>
</menu>
</form>
</body>
</html>

View file

@ -0,0 +1,64 @@
<!DOCTYPE html>
<html dir="ltr">
<head>
<meta charset="utf-8">
<title>Confirm, w/o title</title>
<meta name="description" content="Prompts user to take action">
<link rel="stylesheet" href="../confirm.css">
<!--
- These <style> and <script> elements are only used for the example code;
- they are not required for the real use case.
-->
<style type="text/css">
html, body {
font-family: sans-serif;
margin: 0;
padding: 0;
font-size: 10px;
background-color: #fff;
}
body {
background: none;
}
#dir {
position: relative;
z-index: 999;
display: block;
direction: ltr;
background-color: white;
}
#dir input {
vertical-align: middle;
}
</style>
<script>
window.onload = function(){
var input = document.querySelector('#dir input');
input.checked = false;
input.onchange = function() {
document.documentElement.dir = this.checked ? 'rtl' : 'ltr';
};
};
</script>
</head>
<body role="application">
<label id="dir">
<input type="checkbox"> RTL mode
</label>
<form role="dialog" data-type="confirm">
<section>
<p dir="auto">Are you sure you want to delete this contact?</p>
</section>
<menu>
<button>Cancel</button>
<button class="danger">Delete</button>
</menu>
</form>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 789 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 502 B

View file

@ -0,0 +1,155 @@
<!DOCTYPE html>
<html dir="ltr">
<head>
<meta charset="utf-8">
<title>Progress & Activity Indicators</title>
<meta name="description" content="Providing user with visual feedback that a process is active">
<link rel="stylesheet" href="../../style/headers.css">
<link rel="stylesheet" href="../../style/confirm.css">
<link rel="stylesheet" href="../progress_activity.css">
<!--
- These <style> and <script> elements are only used for the example code,
- they are not needed for the real use case.
-->
<style>
html, body {
margin: 0;
padding: 0;
font-size: 10px;
background-color: #fff;
}
body { background: none; }
h2.bb-docs {
font-size: 1.8rem;
font-family: sans-serif;
font-weight: 300;
color: #666;
margin: 10px 0;
background-color: #f5f5f5;
padding: 0.4rem;
padding-inline-start: 3rem;
border: solid 1px #e8e8e8;
}
form[role="dialog"][data-type="confirm"] {
position: relative;
height: 30rem;
}
form[role="dialog"][data-type="confirm"] > section {
overflow: hidden;
}
.bb-steps progress[value] {
width: 25%;
transform: translateX(100%);
}
</style>
<script>
window.onload = function(){
document.getElementById('dir').checked = false;
};
</script>
</head>
<body role="application">
<p dir="ltr">
<label class="bb-docs">
<input id="dir" type="checkbox" checked="false"
onchange="document.documentElement.dir = this.checked ? 'rtl' : 'ltr'">
RTL mode
</label>
</p>
<section role="region">
<h2 class="bb-docs">Spinner</h2>
<div style="text-align: center">
<progress></progress>
</div>
<h2 class="bb-docs">Activity bar</h2>
<progress class="pack-activity" value="0" max="100"></progress>
<h2 class="bb-docs">Progress steps</h2>
<p class="bb-steps">
<progress value="2" max="4"></progress>
</p>
<h2 class="bb-docs">Progress bar</h2>
<progress value="80" max="100"></progress>
<h2 class="bb-docs">Progress + activity bar</h2>
<progress class="pack-activity" value="80" max="100"></progress>
</section>
<h2 class="bb-docs">Progress bar + Confirm BB</h2>
<form role="dialog" data-type="confirm">
<section>
<h1>Name of the action</h1>
<p style="text-align: center">
<progress></progress>
</p>
</section>
<menu>
<button class="full">Cancel</button>
</menu>
</form>
<br/>
<form role="dialog" data-type="confirm">
<section>
<h1>Name of the action</h1>
<p role="status">
<span>80%</span>
<progress value="80" max="100"></progress>
</p>
</section>
<menu>
<button class="full">Cancel</button>
</menu>
</form>
<br/>
<form role="dialog" data-type="confirm">
<section>
<h1>Name of the action</h1>
<p role="status">
<progress class="pack-activity" value="0" max="100"></progress>
</p>
</section>
<menu>
<button class="full">Cancel</button>
</menu>
</form>
<h2 class="bb-docs">Progress bar in Headers</h2>
<section role="region">
<header>
<a href="#"><span class="icon icon-back">back</span></a>
<h1>Song title</h1>
</header>
<progress value="80" max="100"></progress>
<header>
<h2>Subheader text</h2>
</header>
</section>
<section role="region">
<header>
<a href="#"><span class="icon icon-back">back</span></a>
<h1>Song title</h1>
</header>
<progress class="pack-activity" value="0" max="100"></progress>
<header>
<h2>Subheader text</h2>
</header>
</section>
</body>
</html>