material-inspired-component-library
Version:
The Material-Inspired Component Library (MICL) offers a collection of beautifully crafted components leveraging native HTML markup, designed to align with the Material Design 3 guidelines.
153 lines (150 loc) • 9.64 kB
HTML
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Demonstrating MICL Time Pickers">
<title>MICL Time Pickers</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Google+Sans:ital,opsz,wght@0,17..18,400..700;1,17..18,400..700&display=swap">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:FILL@0..1&icon_names=dark_mode,home,keyboard,schedule&display=block">
<link rel="stylesheet" href="themes/airblue/theme.css" id="theme-link">
<link rel="stylesheet" href="micl.css">
<link rel="stylesheet" href="docs.css">
<style>
.micl-card__content {
display: flex;
flex-direction: column;
row-gap: 8px;
}
p {
margin-block: 24px 0px;
color: var(--md-sys-color-on-surface);
}
</style>
</head>
<body class="micl-window light">
<main class="micl-body micl-body--stacked-to-large">
<section class="micl-pane">
<header class="micl-appbar">
<a href="index.html" class="micl-appbar__leading-icon micl-link micl-iconbutton-standard-s" aria-label="Navigate to the main MICL Showcase page">
<span class="material-symbols-outlined" aria-hidden="true">home</span>
</a>
<div class="micl-appbar__headline micl-appbar__headline--center">
<h1>Time Pickers</h1>
<p class="micl-appbar__subtitle">Showcasing MICL time pickers</p>
</div>
<div id="settings-placeholder" class="micl-appbar__trailing"></div>
</header>
<div class="micl-pane__columns">
<div class="micl-pane__column" style="gap:24px">
<div class="micl-card-outlined">
<div class="micl-card__content">
<p class="md-sys-typescale-body-medium">Default non-MICL time input field</p>
<input type="time" name="t0" style="width:fit-content" value="08:40">
<p class="md-sys-typescale-body-medium">MICL time textfield component without the MICL time picker component</p>
<div class="micl-textfield-outlined" style="width:fit-content">
<label for="mytextfield0">Start time</label>
<input type="time" id="mytextfield0" value="08:40">
</div>
<p class="md-sys-typescale-body-medium">MICL time textfield component with the MICL time picker component</p>
<div class="micl-textfield-outlined" style="width:fit-content">
<label for="mytextfield1">Start time</label>
<input type="time" id="mytextfield1" data-timepicker="mytimepicker1" value="23:19">
</div>
<dialog id="mytimepicker1" class="micl-dialog micl-timepicker" closedby="closerequest" aria-labelledby="mytitle1">
<form method="dialog">
<div class="micl-dialog__headline">
<h2 id="mytitle1">Enter time</h2>
</div>
<div class="micl-dialog__content">
<input type="number" name="hour" value="00" aria-labelledby="myhour1">
<span class="micl-timepicker__separator">:</span>
<input type="number" name="minute" value="00" aria-labelledby="myminute1">
<div class="micl-timepicker__period"></div>
<span id="myhour1" class="micl-timepicker__supporting-text-hour">Hour</span>
<span id="myminute1" class="micl-timepicker__supporting-text-minute">Minute</span>
<div class="micl-timepicker__dial"></div>
</div>
<div class="micl-dialog__actions">
<button type="button" class="micl-timepicker__inputmode micl-iconbutton-standard-s micl-button--square material-symbols-outlined" data-alticon="schedule">keyboard</button>
<div>
<button class="micl-button-text-s" value="">Cancel</button>
<button class="micl-button-text-s" value="OK">OK</button>
</div>
</div>
</form>
</dialog>
<p class="md-sys-typescale-body-medium">Time input using a MICL button component that opens the MICL time picker</p>
<div class="micl-flex--vcenter" style="column-gap:8px">
<label for="mytime" class="md-sys-typescale-body-large">Start time:</label>
<button type="button" id="mytime" class="micl-button-text-m" command="show-modal" commandfor="mytimepicker2" value="07:53">07:53</button>
</div>
<dialog id="mytimepicker2" class="micl-dialog micl-timepicker micl-timepicker--horizontal" closedby="closerequest" aria-labelledby="mytitle2">
<form method="dialog">
<div class="micl-dialog__headline">
<h2 id="mytitle2">Enter time</h2>
</div>
<div class="micl-dialog__content">
<input type="number" name="hour" value="00" aria-labelledby="myhour2">
<span class="micl-timepicker__separator">:</span>
<input type="number" name="minute" value="00" aria-labelledby="myminute2">
<div class="micl-timepicker__period"></div>
<span id="myhour2" class="micl-timepicker__supporting-text-hour">Hour</span>
<span id="myminute2" class="micl-timepicker__supporting-text-minute">Minute</span>
<div class="micl-timepicker__dial micl-hidden"></div>
</div>
<div class="micl-dialog__actions">
<button type="button" class="micl-timepicker__inputmode micl-iconbutton-standard-s micl-button--square material-symbols-outlined" data-alticon="keyboard">schedule</button>
<div>
<button class="micl-button-text-s" value="" command="close" commandfor="mytimepicker2">Cancel</button>
<button class="micl-button-text-s" value="OK">OK</button>
</div>
</div>
</form>
</dialog>
</div>
</div>
</div>
</div>
</section>
<section class="micl-pane">
<div class="micl-card-filled">
<div class="micl-card__headline-s">
<h2>Code example</h2>
</div>
<div class="micl-card__content docs-code">
<pre tabindex="-1"><code>
<dialog class="micl-dialog micl-timepicker" closedby="closerequest" aria-labelledby="id0">
<form method="dialog">
<div class="micl-dialog__headline">
<h2 id="id0">Enter time</h2>
</div>
<div class="micl-dialog__content">
<input type="number" name="hour" value="00" aria-labelledby="id1">
<span class="micl-timepicker__separator">:</span>
<input type="number" name="minute" value="00" aria-labelledby="id2">
<div class="micl-timepicker__period"></div>
<span id="id1" class="micl-timepicker__supporting-text-hour">Hour</span>
<span id="id2" class="micl-timepicker__supporting-text-minute">Minute</span>
<div class="micl-timepicker__dial"></div>
</div>
<div class="micl-dialog__actions">
<button type="button" class="micl-timepicker__inputmode micl-iconbutton-standard-s micl-button--square material-symbols-outlined" data-alticon="schedule">keyboard</button>
<div>
<button class="micl-button-text-s" value="">Cancel</button>
<button class="micl-button-text-s" value="OK">OK</button>
</div>
</div>
</form>
</dialog>
</code></pre>
</div>
</div>
</section>
</main>
<script src="micl.js"></script>
<script src="docs.js"></script>
</body>
</html>