@graupl/graupl 1.0.0-alpha.12 → 1.0.0-alpha.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/codeql-analysis.yml +3 -3
- package/.husky/commit-msg +0 -1
- package/.husky/pre-commit +0 -1
- package/CHANGELOG.md +65 -0
- package/dist/base/button.css +1 -1
- package/dist/base/button.css.map +1 -1
- package/dist/base/form.css +1 -1
- package/dist/base/form.css.map +1 -1
- package/dist/base/link.css +1 -1
- package/dist/base/link.css.map +1 -1
- package/dist/base/table.css +1 -1
- package/dist/base/table.css.map +1 -1
- package/dist/base.css +1 -1
- package/dist/base.css.map +1 -1
- package/dist/component/alert.css +2 -0
- package/dist/component/alert.css.map +1 -0
- package/dist/component/card.css +2 -0
- package/dist/component/card.css.map +1 -0
- package/dist/component/carousel.css +2 -0
- package/dist/component/carousel.css.map +1 -0
- package/dist/component/input-group.css +1 -1
- package/dist/component/input-group.css.map +1 -1
- package/dist/component/menu.css +2 -0
- package/dist/component/menu.css.map +1 -0
- package/dist/component/navigation.css +2 -0
- package/dist/component/navigation.css.map +1 -0
- package/dist/component.css +1 -1
- package/dist/component.css.map +1 -1
- package/dist/graupl.css +1 -1
- package/dist/graupl.css.map +1 -1
- package/dist/layout/columns.css +1 -1
- package/dist/layout/columns.css.map +1 -1
- package/dist/layout/container.css.map +1 -1
- package/dist/layout/flex-columns.css +2 -0
- package/dist/layout/flex-columns.css.map +1 -0
- package/dist/layout.css +1 -1
- package/dist/layout.css.map +1 -1
- package/dist/normalize.css.map +1 -1
- package/dist/state/focus.css.map +1 -1
- package/dist/state.css.map +1 -1
- package/dist/theme/color.css.map +1 -1
- package/dist/theme/typography.css +1 -1
- package/dist/theme/typography.css.map +1 -1
- package/dist/theme.css +1 -1
- package/dist/theme.css.map +1 -1
- package/dist/utilities/alignment.css.map +1 -1
- package/dist/utilities/color.css.map +1 -1
- package/dist/utilities/display.css +1 -1
- package/dist/utilities/display.css.map +1 -1
- package/dist/utilities/flex.css.map +1 -1
- package/dist/utilities/height.css +2 -0
- package/dist/utilities/height.css.map +1 -0
- package/dist/utilities/inset.css.map +1 -1
- package/dist/utilities/justification.css.map +1 -1
- package/dist/utilities/list.css.map +1 -1
- package/dist/utilities/order.css +2 -0
- package/dist/utilities/order.css.map +1 -0
- package/dist/utilities/postion.css.map +1 -1
- package/dist/utilities/spacing.css +1 -1
- package/dist/utilities/spacing.css.map +1 -1
- package/dist/utilities/typography.css +1 -1
- package/dist/utilities/typography.css.map +1 -1
- package/dist/utilities/visibility.css.map +1 -1
- package/dist/utilities/width.css +2 -0
- package/dist/utilities/width.css.map +1 -0
- package/dist/utilities.css +1 -1
- package/dist/utilities.css.map +1 -1
- package/docs/.vitepress/config.js +39 -12
- package/docs/components/alert.md +130 -0
- package/docs/components/button.md +84 -0
- package/docs/components/card.md +369 -0
- package/docs/components/index.md +1 -0
- package/docs/components/inputgroup.md +159 -0
- package/docs/components/menu.md +326 -0
- package/docs/components/navigation.md +158 -0
- package/docs/content.md +237 -0
- package/docs/defaults.md +121 -0
- package/docs/forms.md +79 -0
- package/docs/functions.md +9 -0
- package/docs/getting-started.md +1 -0
- package/docs/index.md +1 -7
- package/docs/introduction.md +22 -2
- package/docs/layout.md +200 -0
- package/docs/mixins.md +47 -0
- package/docs/state.md +67 -0
- package/docs/theme.md +258 -0
- package/docs/utilities.md +357 -0
- package/eslint.config.js +1 -0
- package/index.html +760 -325
- package/package.json +5 -6
- package/scss/component/alert.scss +3 -0
- package/scss/component/card.scss +3 -0
- package/scss/component/carousel.scss +3 -0
- package/scss/component/menu.scss +3 -0
- package/scss/component/navigation.scss +3 -0
- package/scss/layout/flex-columns.scss +3 -0
- package/scss/utilities/height.scss +3 -0
- package/scss/utilities/order.scss +3 -0
- package/scss/utilities/width.scss +3 -0
- package/src/js/alert/Alert.js +511 -0
- package/src/js/alert/index.js +21 -0
- package/src/js/carousel/Carousel.js +1376 -0
- package/src/js/carousel/index.js +20 -0
- package/src/js/domHelpers.js +37 -0
- package/src/js/eventHandlers.js +32 -0
- package/src/js/navigation.js +34 -0
- package/src/js/validate.js +225 -0
- package/src/scss/_defaults.scss +15 -1
- package/src/scss/base/_index.scss +1 -1
- package/src/scss/base/button/_defaults.scss +15 -3
- package/src/scss/base/button/_index.scss +80 -120
- package/src/scss/base/button/_mixins.scss +164 -0
- package/src/scss/base/button/_variables.scss +43 -11
- package/src/scss/base/form/_index.scss +3 -5
- package/src/scss/base/form/_variables.scss +8 -0
- package/src/scss/base/link/_defaults.scss +37 -6
- package/src/scss/base/link/_index.scss +73 -13
- package/src/scss/base/link/_variables.scss +175 -18
- package/src/scss/base/table/_index.scss +3 -5
- package/src/scss/base/table/_variables.scss +8 -0
- package/src/scss/component/_index.scss +6 -1
- package/src/scss/component/alert/_defaults.scss +49 -0
- package/src/scss/component/alert/_index.scss +118 -0
- package/src/scss/component/alert/_variables.scss +170 -0
- package/src/scss/component/card/_defaults.scss +32 -0
- package/src/scss/component/card/_index.scss +177 -0
- package/src/scss/component/card/_variables.scss +185 -0
- package/src/scss/component/carousel/_defaults.scss +43 -0
- package/src/scss/component/carousel/_index.scss +182 -0
- package/src/scss/component/carousel/_variables.scss +104 -0
- package/src/scss/component/input-group/_index.scss +1 -1
- package/src/scss/component/menu/_defaults.scss +66 -0
- package/src/scss/component/menu/_index.scss +305 -0
- package/src/scss/component/menu/_variables.scss +495 -0
- package/src/scss/component/navigation/_defaults.scss +29 -0
- package/src/scss/component/navigation/_index.scss +189 -0
- package/src/scss/component/navigation/_variables.scss +237 -0
- package/src/scss/functions/_theme.scss +16 -0
- package/src/scss/layout/_index.scss +2 -1
- package/src/scss/layout/columns/_index.scss +23 -1
- package/src/scss/layout/container/_index.scss +1 -1
- package/src/scss/layout/flex-columns/_defaults.scss +18 -0
- package/src/scss/layout/flex-columns/_index.scss +77 -0
- package/src/scss/layout/flex-columns/_variables.scss +26 -0
- package/src/scss/mixins/_layer.scss +2 -4
- package/src/scss/mixins/_media-queries.scss +8 -0
- package/src/scss/mixins/_visually-hidden.scss +20 -0
- package/src/scss/state/_index.scss +1 -1
- package/src/scss/state/focus/_index.scss +1 -1
- package/src/scss/theme/_index.scss +1 -1
- package/src/scss/theme/color/_index.scss +1 -1
- package/src/scss/theme/typography/_defaults.scss +1 -1
- package/src/scss/theme/typography/_index.scss +1 -1
- package/src/scss/theme/typography/_variables.scss +5 -2
- package/src/scss/utilities/_index.scss +5 -1
- package/src/scss/utilities/alignment/_index.scss +1 -1
- package/src/scss/utilities/color/_index.scss +1 -1
- package/src/scss/utilities/display/_defaults.scss +2 -0
- package/src/scss/utilities/display/_index.scss +11 -1
- package/src/scss/utilities/flex/_index.scss +1 -1
- package/src/scss/utilities/height/_defaults.scss +38 -0
- package/src/scss/utilities/height/_index.scss +23 -0
- package/src/scss/utilities/height/_variables.scss +6 -0
- package/src/scss/utilities/inset/_index.scss +1 -1
- package/src/scss/utilities/justification/_index.scss +1 -1
- package/src/scss/utilities/list/_index.scss +1 -1
- package/src/scss/utilities/order/_defaults.scss +19 -0
- package/src/scss/utilities/order/_index.scss +35 -0
- package/src/scss/utilities/order/_variables.scss +6 -0
- package/src/scss/utilities/position/_index.scss +1 -1
- package/src/scss/utilities/ratio/_defaults.scss +25 -0
- package/src/scss/utilities/ratio/_index.scss +34 -0
- package/src/scss/utilities/ratio/_variables.scss +9 -0
- package/src/scss/utilities/spacing/_index.scss +34 -17
- package/src/scss/utilities/typography/_index.scss +1 -1
- package/src/scss/utilities/visibility/_index.scss +1 -1
- package/src/scss/utilities/width/_defaults.scss +38 -0
- package/src/scss/utilities/width/_index.scss +23 -0
- package/src/scss/utilities/width/_variables.scss +6 -0
- package/stylelint.config.js +1 -0
package/index.html
CHANGED
|
@@ -9,353 +9,788 @@
|
|
|
9
9
|
</head>
|
|
10
10
|
|
|
11
11
|
<body>
|
|
12
|
-
<main class="container">
|
|
12
|
+
<main class="container pb-10">
|
|
13
13
|
<h1>Hello Graupl!</h1>
|
|
14
14
|
<p>Graupl is a modular CSS framework with the goal of making it easy to theme a site.</p>
|
|
15
15
|
<p>This source code can be found in <a href="https://github.com/Graupl/graupl">GitHub</a>.</p>
|
|
16
16
|
<p>Graupl supports light and dark modes out-of-the-box.</p>
|
|
17
|
-
<
|
|
18
|
-
<
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
<
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
<p>Graupl provides default styling for all form elements.</p>
|
|
36
|
-
<form class="full-width rg-4">
|
|
37
|
-
<div class="input-group">
|
|
38
|
-
<label for="input">Input</label>
|
|
39
|
-
<input type="text" placeholder="Input" id="input">
|
|
40
|
-
<small class="help-text">This is some help text to assist with knowing what the field is about.</small>
|
|
41
|
-
</div>
|
|
42
|
-
<div class="input-group inline"><label for="input-readonly">Readonly Input</label>
|
|
43
|
-
<input type="text" placeholder="Readonly Input" id="input-readonly" value="Readonly Input" readonly>
|
|
44
|
-
<small class="help-text">This is some help text to assist with knowing what the field is about.</small>
|
|
45
|
-
</div>
|
|
46
|
-
<div class="input-group"><label for="input-disabled">Disabled Input</label>
|
|
47
|
-
<input type="text" placeholder="Disabled Input" id="input-disabled" disabled>
|
|
48
|
-
<small class="help-text">This is some help text to assist with knowing what the field is about.</small>
|
|
49
|
-
</div>
|
|
50
|
-
<div class="input-group inline"><label for="textarea">Textarea</label>
|
|
51
|
-
<textarea class="textarea" placeholder="Textarea" id="textarea"></textarea>
|
|
52
|
-
</div>
|
|
53
|
-
<div class="input-group"><label for="textarea-readonly">Readonly Textarea</label>
|
|
54
|
-
<textarea class="textarea" placeholder="Readonly Textarea" id="textarea-readonly"
|
|
55
|
-
readonly>Readonly Textarea</textarea>
|
|
56
|
-
</div>
|
|
57
|
-
<div class="input-group"><label for="textarea-disabled">Disabled Textarea</label>
|
|
58
|
-
<textarea class="textarea" placeholder="Disabled Textarea" id="textarea-disabled" disabled></textarea>
|
|
17
|
+
<button id="dark-mode-toggle" class="button mt-5 w-half">Toggle dark mode</button>
|
|
18
|
+
<div class="full-width container min-h-full-screen align-content-center">
|
|
19
|
+
<h2>Buttons</h2>
|
|
20
|
+
<p>There are 4 colours of buttons supported by default, with plans to have a "graupl-theme" plugin that adds more.
|
|
21
|
+
</p>
|
|
22
|
+
<div class="columns count-4">
|
|
23
|
+
<button class="button">Default Button</button>
|
|
24
|
+
<button class="button primary">Primary Button</button>
|
|
25
|
+
<button class="button secondary">Secondary Button</button>
|
|
26
|
+
<button class="button tertiary">Tertiary Button</button>
|
|
27
|
+
<button class="button link">Link Button</button>
|
|
28
|
+
<a class="button" href="#">Anchor Button</a>
|
|
29
|
+
<button class="button" disabled>Default Button</button>
|
|
30
|
+
<button class="button primary" disabled>Primary Button</button>
|
|
31
|
+
<button class="button secondary" disabled>Secondary Button</button>
|
|
32
|
+
<button class="button tertiary" disabled>Tertiary Button</button>
|
|
33
|
+
<button class="button link" disabled>Link Button</button>
|
|
34
|
+
<a class="button" href="#" disabled>Anchor Button</a>
|
|
59
35
|
</div>
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
</
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
<
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
</
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
<
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
<label for
|
|
111
|
-
<
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
<
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
36
|
+
</div>
|
|
37
|
+
<div class="full-width container min-h-full-screen align-content-center">
|
|
38
|
+
<h2>Form elements</h2>
|
|
39
|
+
<p>Graupl provides default styling for all form elements.</p>
|
|
40
|
+
<form class="full-width rg-4">
|
|
41
|
+
<div class="input-group">
|
|
42
|
+
<label for="input">Input</label>
|
|
43
|
+
<input type="text" placeholder="Input" id="input">
|
|
44
|
+
<small class="help-text">This is some help text to assist with knowing what the field is about.</small>
|
|
45
|
+
</div>
|
|
46
|
+
<div class="input-group inline"><label for="input-readonly">Readonly Input</label>
|
|
47
|
+
<input type="text" placeholder="Readonly Input" id="input-readonly" value="Readonly Input" readonly>
|
|
48
|
+
<small class="help-text">This is some help text to assist with knowing what the field is about.</small>
|
|
49
|
+
</div>
|
|
50
|
+
<div class="input-group"><label for="input-disabled">Disabled Input</label>
|
|
51
|
+
<input type="text" placeholder="Disabled Input" id="input-disabled" disabled>
|
|
52
|
+
<small class="help-text">This is some help text to assist with knowing what the field is about.</small>
|
|
53
|
+
</div>
|
|
54
|
+
<div class="input-group inline"><label for="textarea">Textarea</label>
|
|
55
|
+
<textarea class="textarea" placeholder="Textarea" id="textarea"></textarea>
|
|
56
|
+
</div>
|
|
57
|
+
<div class="input-group"><label for="textarea-readonly">Readonly Textarea</label>
|
|
58
|
+
<textarea class="textarea" placeholder="Readonly Textarea" id="textarea-readonly"
|
|
59
|
+
readonly>Readonly Textarea</textarea>
|
|
60
|
+
</div>
|
|
61
|
+
<div class="input-group"><label for="textarea-disabled">Disabled Textarea</label>
|
|
62
|
+
<textarea class="textarea" placeholder="Disabled Textarea" id="textarea-disabled" disabled></textarea>
|
|
63
|
+
</div>
|
|
64
|
+
<div class="input-group inline"><label for="select">Select</label>
|
|
65
|
+
<select id="select">
|
|
66
|
+
<option value="1">Option 1</option>
|
|
67
|
+
<option value="2">Option 2</option>
|
|
68
|
+
<optgroup label="Group 1">
|
|
69
|
+
<option value="3">Option 3</option>
|
|
70
|
+
<option value="4">Option 4</option>
|
|
71
|
+
<option value="5">Option 5</option>
|
|
72
|
+
</optgroup>
|
|
73
|
+
</select>
|
|
74
|
+
</div>
|
|
75
|
+
<div class="input-group"><label for="select-disabled">Disabled Select</label>
|
|
76
|
+
<select id="select-disabled" disabled>
|
|
77
|
+
<option value="1">Option 1</option>
|
|
78
|
+
<option value="2">Option 2</option>
|
|
79
|
+
<optgroup label="Group 1">
|
|
80
|
+
<option value="3">Option 3</option>
|
|
81
|
+
<option value="4">Option 4</option>
|
|
82
|
+
<option value="5">Option 5</option>
|
|
83
|
+
</optgroup>
|
|
84
|
+
</select>
|
|
85
|
+
</div>
|
|
86
|
+
<div class="input-group"><label for"multi-select">Multi-select</label>
|
|
87
|
+
<select id="multi-select" multiple>
|
|
88
|
+
<option value="1">Option 1</option>
|
|
89
|
+
<option value="2">Option 2</option>
|
|
90
|
+
<optgroup label="Group 1">
|
|
91
|
+
<option value="3">Option 3</option>
|
|
92
|
+
<option value="4">Option 4</option>
|
|
93
|
+
<option value="5">Option 5</option>
|
|
94
|
+
</optgroup>
|
|
95
|
+
</select>
|
|
96
|
+
</div>
|
|
97
|
+
<div class="input-group inline"><label for="multi-select-disabled">Disabled Multi-select</label>
|
|
98
|
+
<select id="multi-select-disabled" multiple disabled>
|
|
99
|
+
<option value="1">Option 1</option>
|
|
100
|
+
<option value="2">Option 2</option>
|
|
101
|
+
<optgroup label="Group 1">
|
|
102
|
+
<option value="3">Option 3</option>
|
|
103
|
+
<option value="4">Option 4</option>
|
|
104
|
+
<option value="5">Option 5</option>
|
|
105
|
+
</optgroup>
|
|
106
|
+
</select>
|
|
107
|
+
</div>
|
|
108
|
+
<fieldset>
|
|
109
|
+
<legend>Checkboxes</legend>
|
|
110
|
+
<label for="checkbox">
|
|
111
|
+
<input type="checkbox" id="checkbox"> Checkbox</label>
|
|
112
|
+
<label for="checkbox-checked">
|
|
113
|
+
<input type="checkbox" id="checkbox-checked" checked> Checked Checkbox</label>
|
|
114
|
+
<label for="checkbox-disabled">
|
|
115
|
+
<input type="checkbox" id="checkbox-disabled" disabled> Disabled Checkbox</label>
|
|
116
|
+
</fieldset>
|
|
117
|
+
<fieldset>
|
|
118
|
+
<legend>Radio Buttons</legend>
|
|
119
|
+
<label for="radio"><input type="radio" id="radio" name="radio"> Radio</label>
|
|
120
|
+
<label for="radio-checked"><input type="radio" id="radio-checked" name="radio" checked> Checked Radio</label>
|
|
121
|
+
<label for="radio-disabled"><input type="radio" id="radio-disabled" name="radio" disabled> Disabled
|
|
122
|
+
Radio</label>
|
|
123
|
+
</fieldset>
|
|
124
|
+
<fieldset disabled>
|
|
125
|
+
<legend>Disabled Fieldset</legend>
|
|
126
|
+
<label for="disabled-fieldset-checkbox">
|
|
127
|
+
<input type="checkbox" id="disabled-fieldset-checkbox"> Checkbox</label>
|
|
128
|
+
</fieldset>
|
|
129
|
+
<div class="input-group"><label for="range">Range</label>
|
|
130
|
+
<input type="range" class="range" id="range">
|
|
131
|
+
</div>
|
|
132
|
+
</form>
|
|
133
|
+
</div>
|
|
134
|
+
<div class="full-width container min-h-full-screen align-content-center">
|
|
135
|
+
<h2>Navigation</h2>
|
|
136
|
+
<div class="py-7">
|
|
137
|
+
<nav class="navigation" data-graupl-menu-type="DisclosureMenu"
|
|
138
|
+
data-graupl-menu-options="{'optionalKeySupport': true}">
|
|
139
|
+
<a class="navigation-branding" href="#">Graupl</a>
|
|
140
|
+
<button class="navigation-toggle ml-auto mr-0" aria-label="Toggle navigation"></button>
|
|
141
|
+
<ul class="menu">
|
|
142
|
+
<li class="menu-item"><a class="menu-link" href="#">Home</a></li>
|
|
143
|
+
<li class="menu-item submenu-item">
|
|
144
|
+
<button class="menu-link button link submenu-toggle">About</button>
|
|
145
|
+
<ul class="submenu">
|
|
146
|
+
<li class="menu-item"><a class="menu-link" href="#">About Us</a></li>
|
|
147
|
+
<li class="menu-item"><a class="menu-link" href="#">Our Team</a></li>
|
|
148
|
+
<li class="menu-item"><a class="menu-link" href="#">Our Mission</a></li>
|
|
149
|
+
</ul>
|
|
150
|
+
</li>
|
|
151
|
+
<li class="menu-item"><a class="menu-link" href="#">Blog</a></li>
|
|
152
|
+
<li class="menu-item"><a class="menu-link" href="#">Portfolio</a></li>
|
|
153
|
+
<li class="menu-item"><a class="menu-link button tertiary" href="#">Contact</a></li>
|
|
154
|
+
</ul>
|
|
155
|
+
</nav>
|
|
127
156
|
</div>
|
|
128
|
-
</
|
|
129
|
-
<
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
<
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
<
|
|
137
|
-
<
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
<
|
|
144
|
-
<
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
<
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
<
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
<
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
<
|
|
166
|
-
<
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
<
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
<
|
|
177
|
-
<
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
<
|
|
184
|
-
<
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
<
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
<
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
<
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
<
|
|
206
|
-
<
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
<
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
<
|
|
217
|
-
<
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
<
|
|
224
|
-
<
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
<
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
<
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
<
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
<
|
|
246
|
-
<
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
<
|
|
253
|
-
Front-end web developer course 2021
|
|
254
|
-
</caption>
|
|
255
|
-
<thead>
|
|
256
|
-
<tr>
|
|
257
|
-
<th scope="col">Person</th>
|
|
258
|
-
<th scope="col">Most interest in</th>
|
|
259
|
-
<th scope="col">Age</th>
|
|
260
|
-
</tr>
|
|
261
|
-
</thead>
|
|
262
|
-
<tbody>
|
|
263
|
-
<tr>
|
|
264
|
-
<th scope="row">Chris</th>
|
|
265
|
-
<td>HTML tables</td>
|
|
266
|
-
<td>22</td>
|
|
267
|
-
</tr>
|
|
268
|
-
<tr>
|
|
269
|
-
<th scope="row">Dennis</th>
|
|
270
|
-
<td>Web accessibility</td>
|
|
271
|
-
<td>45</td>
|
|
272
|
-
</tr>
|
|
273
|
-
<tr>
|
|
274
|
-
<th scope="row">Sarah</th>
|
|
275
|
-
<td>JavaScript frameworks</td>
|
|
276
|
-
<td>29</td>
|
|
277
|
-
</tr>
|
|
278
|
-
<tr>
|
|
279
|
-
<th scope="row">Karen</th>
|
|
280
|
-
<td>Web performance</td>
|
|
281
|
-
<td>36</td>
|
|
282
|
-
</tr>
|
|
283
|
-
</tbody>
|
|
284
|
-
<tfoot>
|
|
285
|
-
<tr>
|
|
286
|
-
<th scope="row" colspan="2">Average age</th>
|
|
287
|
-
<td>33</td>
|
|
288
|
-
</tr>
|
|
289
|
-
</tfoot>
|
|
290
|
-
</table>
|
|
291
|
-
<div class="responsive-table">
|
|
292
|
-
<table class="striped-columns">
|
|
157
|
+
</div>
|
|
158
|
+
<div class="full-width container min-h-full-screen align-content-center">
|
|
159
|
+
<h2>Tables</h2>
|
|
160
|
+
<p>Graupl provides some default styling for tables as well as some other useful features to customize them.</p>
|
|
161
|
+
<table class="bordered striped-rows hoverable">
|
|
162
|
+
<caption>
|
|
163
|
+
Front-end web developer course 2021
|
|
164
|
+
</caption>
|
|
165
|
+
<thead>
|
|
166
|
+
<tr>
|
|
167
|
+
<th scope="col">Person</th>
|
|
168
|
+
<th scope="col">Most interest in</th>
|
|
169
|
+
<th scope="col">Age</th>
|
|
170
|
+
</tr>
|
|
171
|
+
</thead>
|
|
172
|
+
<tbody>
|
|
173
|
+
<tr>
|
|
174
|
+
<th scope="row">Chris</th>
|
|
175
|
+
<td>HTML tables</td>
|
|
176
|
+
<td>22</td>
|
|
177
|
+
</tr>
|
|
178
|
+
<tr>
|
|
179
|
+
<th scope="row">Dennis</th>
|
|
180
|
+
<td>Web accessibility</td>
|
|
181
|
+
<td>45</td>
|
|
182
|
+
</tr>
|
|
183
|
+
<tr>
|
|
184
|
+
<th scope="row">Sarah</th>
|
|
185
|
+
<td>JavaScript frameworks</td>
|
|
186
|
+
<td>29</td>
|
|
187
|
+
</tr>
|
|
188
|
+
<tr>
|
|
189
|
+
<th scope="row">Karen</th>
|
|
190
|
+
<td>Web performance</td>
|
|
191
|
+
<td>36</td>
|
|
192
|
+
</tr>
|
|
193
|
+
</tbody>
|
|
194
|
+
<tfoot>
|
|
195
|
+
<tr>
|
|
196
|
+
<th scope="row" colspan="2">Average age</th>
|
|
197
|
+
<td>33</td>
|
|
198
|
+
</tr>
|
|
199
|
+
</tfoot>
|
|
200
|
+
</table>
|
|
201
|
+
<table class="primary collapsed striped-columns hoverable">
|
|
202
|
+
<caption>
|
|
203
|
+
Front-end web developer course 2021
|
|
204
|
+
</caption>
|
|
205
|
+
<thead>
|
|
206
|
+
<tr>
|
|
207
|
+
<th scope="col">Person</th>
|
|
208
|
+
<th scope="col">Most interest in</th>
|
|
209
|
+
<th scope="col">Age</th>
|
|
210
|
+
</tr>
|
|
211
|
+
</thead>
|
|
212
|
+
<tbody>
|
|
213
|
+
<tr>
|
|
214
|
+
<th scope="row">Chris</th>
|
|
215
|
+
<td>HTML tables</td>
|
|
216
|
+
<td>22</td>
|
|
217
|
+
</tr>
|
|
218
|
+
<tr>
|
|
219
|
+
<th scope="row">Dennis</th>
|
|
220
|
+
<td>Web accessibility</td>
|
|
221
|
+
<td>45</td>
|
|
222
|
+
</tr>
|
|
223
|
+
<tr>
|
|
224
|
+
<th scope="row">Sarah</th>
|
|
225
|
+
<td>JavaScript frameworks</td>
|
|
226
|
+
<td>29</td>
|
|
227
|
+
</tr>
|
|
228
|
+
<tr>
|
|
229
|
+
<th scope="row">Karen</th>
|
|
230
|
+
<td>Web performance</td>
|
|
231
|
+
<td>36</td>
|
|
232
|
+
</tr>
|
|
233
|
+
</tbody>
|
|
234
|
+
<tfoot>
|
|
235
|
+
<tr>
|
|
236
|
+
<th scope="row" colspan="2">Average age</th>
|
|
237
|
+
<td>33</td>
|
|
238
|
+
</tr>
|
|
239
|
+
</tfoot>
|
|
240
|
+
</table>
|
|
241
|
+
<table class="secondary bordered striped-columns hoverable">
|
|
242
|
+
<caption>
|
|
243
|
+
Front-end web developer course 2021
|
|
244
|
+
</caption>
|
|
245
|
+
<thead>
|
|
246
|
+
<tr>
|
|
247
|
+
<th scope="col">Person</th>
|
|
248
|
+
<th scope="col">Most interest in</th>
|
|
249
|
+
<th scope="col">Age</th>
|
|
250
|
+
</tr>
|
|
251
|
+
</thead>
|
|
252
|
+
<tbody>
|
|
253
|
+
<tr>
|
|
254
|
+
<th scope="row">Chris</th>
|
|
255
|
+
<td>HTML tables</td>
|
|
256
|
+
<td>22</td>
|
|
257
|
+
</tr>
|
|
258
|
+
<tr>
|
|
259
|
+
<th scope="row">Dennis</th>
|
|
260
|
+
<td>Web accessibility</td>
|
|
261
|
+
<td>45</td>
|
|
262
|
+
</tr>
|
|
263
|
+
<tr>
|
|
264
|
+
<th scope="row">Sarah</th>
|
|
265
|
+
<td>JavaScript frameworks</td>
|
|
266
|
+
<td>29</td>
|
|
267
|
+
</tr>
|
|
268
|
+
<tr>
|
|
269
|
+
<th scope="row">Karen</th>
|
|
270
|
+
<td>Web performance</td>
|
|
271
|
+
<td>36</td>
|
|
272
|
+
</tr>
|
|
273
|
+
</tbody>
|
|
274
|
+
<tfoot>
|
|
275
|
+
<tr>
|
|
276
|
+
<th scope="row" colspan="2">Average age</th>
|
|
277
|
+
<td>33</td>
|
|
278
|
+
</tr>
|
|
279
|
+
</tfoot>
|
|
280
|
+
</table>
|
|
281
|
+
<table class="tertiary striped-columns hoverable">
|
|
293
282
|
<caption>
|
|
294
|
-
|
|
283
|
+
Front-end web developer course 2021
|
|
295
284
|
</caption>
|
|
296
|
-
<thead
|
|
285
|
+
<thead>
|
|
297
286
|
<tr>
|
|
298
|
-
<th
|
|
299
|
-
<th
|
|
300
|
-
<th
|
|
301
|
-
<th scrop="col">Column 4</th>
|
|
302
|
-
<th scrop="col">Column 5</th>
|
|
303
|
-
<th scrop="col">Column 6</th>
|
|
304
|
-
<th scrop="col">Column 7</th>
|
|
305
|
-
<th scrop="col">Column 8</th>
|
|
306
|
-
<th scrop="col">Column 9</th>
|
|
307
|
-
<th scrop="col">Column 10</th>
|
|
308
|
-
<th scrop="col">Column 11</th>
|
|
309
|
-
<th scrop="col">Column 12</th>
|
|
287
|
+
<th scope="col">Person</th>
|
|
288
|
+
<th scope="col">Most interest in</th>
|
|
289
|
+
<th scope="col">Age</th>
|
|
310
290
|
</tr>
|
|
311
291
|
</thead>
|
|
312
292
|
<tbody>
|
|
313
293
|
<tr>
|
|
314
|
-
<
|
|
315
|
-
<td>
|
|
316
|
-
<td>
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
<
|
|
320
|
-
<td>
|
|
321
|
-
<td>
|
|
322
|
-
<td>Row 1, Column 9</td>
|
|
323
|
-
<td>Row 1, Column 10</td>
|
|
324
|
-
<td>Row 1, Column 11</td>
|
|
325
|
-
<td>Row 1, Column 12</td>
|
|
294
|
+
<th scope="row">Chris</th>
|
|
295
|
+
<td>HTML tables</td>
|
|
296
|
+
<td>22</td>
|
|
297
|
+
</tr>
|
|
298
|
+
<tr>
|
|
299
|
+
<th scope="row">Dennis</th>
|
|
300
|
+
<td>Web accessibility</td>
|
|
301
|
+
<td>45</td>
|
|
326
302
|
</tr>
|
|
327
303
|
<tr>
|
|
328
|
-
<
|
|
329
|
-
<td>
|
|
330
|
-
<td>
|
|
331
|
-
<td>Row 2, Column 4</td>
|
|
332
|
-
<td>Row 2, Column 5</td>
|
|
333
|
-
<td>Row 2, Column 6</td>
|
|
334
|
-
<td>Row 2, Column 7</td>
|
|
335
|
-
<td>Row 2, Column 8</td>
|
|
336
|
-
<td>Row 2, Column 9</td>
|
|
337
|
-
<td>Row 2, Column 10</td>
|
|
338
|
-
<td>Row 2, Column 11</td>
|
|
339
|
-
<td>Row 2, Column 12</td>
|
|
304
|
+
<th scope="row">Sarah</th>
|
|
305
|
+
<td>JavaScript frameworks</td>
|
|
306
|
+
<td>29</td>
|
|
340
307
|
</tr>
|
|
341
308
|
<tr>
|
|
342
|
-
<
|
|
343
|
-
<td>
|
|
344
|
-
<td
|
|
345
|
-
<td>Row 3, Column 4</td>
|
|
346
|
-
<td class="tertiary">Row 3, Column 5</td>
|
|
347
|
-
<td>Row 3, Column 6</td>
|
|
348
|
-
<td class="tertiary">Row 3, Column 7</td>
|
|
349
|
-
<td>Row 3, Column 8</td>
|
|
350
|
-
<td class="tertiary">Row 3, Column 9</td>
|
|
351
|
-
<td>Row 3, Column 10</td>
|
|
352
|
-
<td class="tertiary">Row 3, Column 11</td>
|
|
353
|
-
<td>Row 3, Column 12</td>
|
|
309
|
+
<th scope="row">Karen</th>
|
|
310
|
+
<td>Web performance</td>
|
|
311
|
+
<td>36</td>
|
|
354
312
|
</tr>
|
|
355
313
|
</tbody>
|
|
314
|
+
<tfoot>
|
|
315
|
+
<tr>
|
|
316
|
+
<th scope="row" colspan="2">Average age</th>
|
|
317
|
+
<td>33</td>
|
|
318
|
+
</tr>
|
|
319
|
+
</tfoot>
|
|
356
320
|
</table>
|
|
321
|
+
<div class="responsive-table">
|
|
322
|
+
<table class="striped-columns">
|
|
323
|
+
<caption>
|
|
324
|
+
A "responsive" table element. Resize the window to see the effect.
|
|
325
|
+
</caption>
|
|
326
|
+
<thead class="primary">
|
|
327
|
+
<tr>
|
|
328
|
+
<th scope="col">Column 1</th>
|
|
329
|
+
<th scope="col">Column 2</th>
|
|
330
|
+
<th scope="col">Column 3</th>
|
|
331
|
+
<th scope="col">Column 4</th>
|
|
332
|
+
<th scope="col">Column 5</th>
|
|
333
|
+
<th scope="col">Column 6</th>
|
|
334
|
+
<th scope="col">Column 7</th>
|
|
335
|
+
<th scope="col">Column 8</th>
|
|
336
|
+
<th scope="col">Column 9</th>
|
|
337
|
+
<th scope="col">Column 10</th>
|
|
338
|
+
<th scope="col">Column 11</th>
|
|
339
|
+
<th scope="col">Column 12</th>
|
|
340
|
+
</tr>
|
|
341
|
+
</thead>
|
|
342
|
+
<tbody>
|
|
343
|
+
<tr>
|
|
344
|
+
<td>Row 1, Column 1</td>
|
|
345
|
+
<td>Row 1, Column 2</td>
|
|
346
|
+
<td>Row 1, Column 3</td>
|
|
347
|
+
<td>Row 1, Column 4</td>
|
|
348
|
+
<td>Row 1, Column 5</td>
|
|
349
|
+
<td>Row 1, Column 6</td>
|
|
350
|
+
<td>Row 1, Column 7</td>
|
|
351
|
+
<td>Row 1, Column 8</td>
|
|
352
|
+
<td>Row 1, Column 9</td>
|
|
353
|
+
<td>Row 1, Column 10</td>
|
|
354
|
+
<td>Row 1, Column 11</td>
|
|
355
|
+
<td>Row 1, Column 12</td>
|
|
356
|
+
</tr>
|
|
357
|
+
<tr>
|
|
358
|
+
<td>Row 2, Column 1</td>
|
|
359
|
+
<td>Row 2, Column 2</td>
|
|
360
|
+
<td>Row 2, Column 3</td>
|
|
361
|
+
<td>Row 2, Column 4</td>
|
|
362
|
+
<td>Row 2, Column 5</td>
|
|
363
|
+
<td>Row 2, Column 6</td>
|
|
364
|
+
<td>Row 2, Column 7</td>
|
|
365
|
+
<td>Row 2, Column 8</td>
|
|
366
|
+
<td>Row 2, Column 9</td>
|
|
367
|
+
<td>Row 2, Column 10</td>
|
|
368
|
+
<td>Row 2, Column 11</td>
|
|
369
|
+
<td>Row 2, Column 12</td>
|
|
370
|
+
</tr>
|
|
371
|
+
<tr>
|
|
372
|
+
<td class="tertiary">Row 3, Column 1</td>
|
|
373
|
+
<td>Row 3, Column 2</td>
|
|
374
|
+
<td class="tertiary highlight">Row 3, Column 3</td>
|
|
375
|
+
<td>Row 3, Column 4</td>
|
|
376
|
+
<td class="tertiary">Row 3, Column 5</td>
|
|
377
|
+
<td>Row 3, Column 6</td>
|
|
378
|
+
<td class="tertiary">Row 3, Column 7</td>
|
|
379
|
+
<td>Row 3, Column 8</td>
|
|
380
|
+
<td class="tertiary">Row 3, Column 9</td>
|
|
381
|
+
<td>Row 3, Column 10</td>
|
|
382
|
+
<td class="tertiary">Row 3, Column 11</td>
|
|
383
|
+
<td>Row 3, Column 12</td>
|
|
384
|
+
</tr>
|
|
385
|
+
</tbody>
|
|
386
|
+
</table>
|
|
387
|
+
</div>
|
|
388
|
+
</div>
|
|
389
|
+
<div class="full-width container min-h-full-screen align-content-center">
|
|
390
|
+
<h2>Columns</h2>
|
|
391
|
+
<div class="columns count-6 py-5">
|
|
392
|
+
<div class="bg-primary-700 text-primary-100 py-7 px-5"></div>
|
|
393
|
+
<div class="bg-primary-700 text-primary-100 py-7 px-5"></div>
|
|
394
|
+
<div class="bg-primary-700 text-primary-100 py-7 px-5"></div>
|
|
395
|
+
<div class="bg-primary-700 text-primary-100 py-7 px-5"></div>
|
|
396
|
+
<div class="bg-primary-700 text-primary-100 py-7 px-5"></div>
|
|
397
|
+
<div class="bg-primary-700 text-primary-100 py-7 px-5"></div>
|
|
398
|
+
<div class="bg-primary-700 text-primary-100 py-7 px-5"></div>
|
|
399
|
+
<div class="bg-primary-700 text-primary-100 py-7 px-5"></div>
|
|
400
|
+
<div class="bg-primary-700 text-primary-100 py-7 px-5"></div>
|
|
401
|
+
<div class="bg-primary-700 text-primary-100 py-7 px-5"></div>
|
|
402
|
+
<div class="bg-primary-700 text-primary-100 py-7 px-5"></div>
|
|
403
|
+
<div class="bg-primary-700 text-primary-100 py-7 px-5"></div>
|
|
404
|
+
</div>
|
|
405
|
+
</div>
|
|
406
|
+
<div class="full-width container min-h-full-screen align-content-center">
|
|
407
|
+
<h2>Flex columns</h2>
|
|
408
|
+
<div class="flex-columns py-5">
|
|
409
|
+
<div class="col-6 col-md-8 col-xl-9 py-7 bg-primary-700 text-primary-100 px-5">
|
|
410
|
+
<div class="flex-columns">
|
|
411
|
+
<div class="col-6 py-7 bg-tertiary-700 text-primary-100 px-5"></div>
|
|
412
|
+
<div class="col-6 py-7 bg-tertiary-700 text-primary-100 px-5"></div>
|
|
413
|
+
</div>
|
|
414
|
+
</div>
|
|
415
|
+
<div class="col-6 col-md-4 col-xl-3 py-7 bg-primary-700 text-primary-100 px-5"></div>
|
|
416
|
+
<div class="col-12 py-7 bg-primary-700 text-primary-100 px-5">
|
|
417
|
+
<div class="flex-columns">
|
|
418
|
+
<div class="col-6 col-md-9 py-7 bg-tertiary-700 text-primary-100 px-5"></div>
|
|
419
|
+
<div class="col-6 col-md-3 py-7 bg-tertiary-700 text-primary-100 px-5"></div>
|
|
420
|
+
</div>
|
|
421
|
+
</div>
|
|
422
|
+
<div class="col-8 py-7 bg-primary-700 text-primary-100 px-5">
|
|
423
|
+
<div class="flex-columns">
|
|
424
|
+
<div class="col-3 py-7 bg-tertiary-700 text-primary-100 px-5"></div>
|
|
425
|
+
<div class="col-9 py-7 bg-tertiary-700 text-primary-100 px-5"></div>
|
|
426
|
+
</div>
|
|
427
|
+
</div>
|
|
428
|
+
<div class="col-4 py-7 bg-primary-700 text-primary-100 px-5"></div>
|
|
429
|
+
</div>
|
|
430
|
+
</div>
|
|
431
|
+
<div class="full-width container min-h-full-screen align-content-center">
|
|
432
|
+
<h2>Cards</h2>
|
|
433
|
+
<p>Cards using the <span class="display-inline-block text-tertiary-800 bg-secondary-100 px-1">.top</span> class
|
|
434
|
+
will have the image placed on the top while cards using the <span
|
|
435
|
+
class="display-inline-block text-tertiary-800 bg-secondary-100 px-1">.bottom</span> class will have the image
|
|
436
|
+
placed on the bottom.</p>
|
|
437
|
+
<div class="columns">
|
|
438
|
+
<div class="card">
|
|
439
|
+
<div class="card-image">
|
|
440
|
+
<img src="https://picsum.photos/1000/400?random=1" alt="Card image">
|
|
441
|
+
</div>
|
|
442
|
+
<div class="card-content">
|
|
443
|
+
<div class="card-header">
|
|
444
|
+
<h3 class="card-title">Title</h3>
|
|
445
|
+
</div>
|
|
446
|
+
<div class="card-body">
|
|
447
|
+
<p>This is some text that describes the card.</p>
|
|
448
|
+
</div>
|
|
449
|
+
<div class="card-footer">
|
|
450
|
+
<a class="button primary stretched" href="#">Card Action</a>
|
|
451
|
+
</div>
|
|
452
|
+
</div>
|
|
453
|
+
</div>
|
|
454
|
+
<div class="card">
|
|
455
|
+
<div class="card-image">
|
|
456
|
+
<img src="https://picsum.photos/1000/400?random=2" alt="Card image">
|
|
457
|
+
</div>
|
|
458
|
+
<div class="card-content">
|
|
459
|
+
<div class="card-header">
|
|
460
|
+
<h3 class="card-title">Title</h3>
|
|
461
|
+
</div>
|
|
462
|
+
<div class="card-body">
|
|
463
|
+
<p>This is some text that describes the card.</p>
|
|
464
|
+
</div>
|
|
465
|
+
<div class="card-footer">
|
|
466
|
+
<a class="button primary stretched" href="#">Card Action</a>
|
|
467
|
+
</div>
|
|
468
|
+
</div>
|
|
469
|
+
</div>
|
|
470
|
+
<div class="card">
|
|
471
|
+
<div class="card-image">
|
|
472
|
+
<img src="https://picsum.photos/1000/400?random=3" alt="Card image">
|
|
473
|
+
</div>
|
|
474
|
+
<div class="card-content">
|
|
475
|
+
<div class="card-header">
|
|
476
|
+
<h3 class="card-title">Title</h3>
|
|
477
|
+
</div>
|
|
478
|
+
<div class="card-body">
|
|
479
|
+
<p>This is some text that describes the card.</p>
|
|
480
|
+
</div>
|
|
481
|
+
<div class="card-footer">
|
|
482
|
+
<a class="button primary stretched" href="#">Card Action</a>
|
|
483
|
+
</div>
|
|
484
|
+
</div>
|
|
485
|
+
</div>
|
|
486
|
+
<div class="card bottom">
|
|
487
|
+
<div class="card-image">
|
|
488
|
+
<img src="https://picsum.photos/1000/400?random=4" alt="Card image">
|
|
489
|
+
</div>
|
|
490
|
+
<div class="card-content">
|
|
491
|
+
<div class="card-header">
|
|
492
|
+
<h3 class="card-title">Title</h3>
|
|
493
|
+
</div>
|
|
494
|
+
<div class="card-body">
|
|
495
|
+
<p>This is some text that describes the card.</p>
|
|
496
|
+
</div>
|
|
497
|
+
<div class="card-footer">
|
|
498
|
+
<a class="button primary stretched" href="#">Card Action</a>
|
|
499
|
+
</div>
|
|
500
|
+
</div>
|
|
501
|
+
</div>
|
|
502
|
+
<div class="card bottom">
|
|
503
|
+
<div class="card-image">
|
|
504
|
+
<img src="https://picsum.photos/1000/400?random=5" alt="Card image">
|
|
505
|
+
</div>
|
|
506
|
+
<div class="card-content">
|
|
507
|
+
<div class="card-header">
|
|
508
|
+
<h3 class="card-title">Title</h3>
|
|
509
|
+
</div>
|
|
510
|
+
<div class="card-body">
|
|
511
|
+
<p>This is some text that describes the card.</p>
|
|
512
|
+
</div>
|
|
513
|
+
<div class="card-footer">
|
|
514
|
+
<a class="button primary stretched" href="#">Card Action</a>
|
|
515
|
+
</div>
|
|
516
|
+
</div>
|
|
517
|
+
</div>
|
|
518
|
+
<div class="card bottom">
|
|
519
|
+
<div class="card-image">
|
|
520
|
+
<img src="https://picsum.photos/1000/400?random=6" alt="Card image">
|
|
521
|
+
</div>
|
|
522
|
+
<div class="card-content">
|
|
523
|
+
<div class="card-header">
|
|
524
|
+
<h3 class="card-title">Title</h3>
|
|
525
|
+
</div>
|
|
526
|
+
<div class="card-body">
|
|
527
|
+
<p>This is some text that describes the card.</p>
|
|
528
|
+
</div>
|
|
529
|
+
<div class="card-footer">
|
|
530
|
+
<a class="button primary stretched" href="#">Card Action</a>
|
|
531
|
+
</div>
|
|
532
|
+
</div>
|
|
533
|
+
</div>
|
|
534
|
+
</div>
|
|
535
|
+
</div>
|
|
536
|
+
<div class="full-width container min-h-full-screen align-content-center">
|
|
537
|
+
<h2>Horizontal Cards</h2>
|
|
538
|
+
<p>Cards using the <span class="display-inline-block text-tertiary-800 bg-secondary-100 px-1">.right</span> class
|
|
539
|
+
will have the image placed on the right while cards using the <span
|
|
540
|
+
class="display-inline-block text-tertiary-800 bg-secondary-100 px-1">.left</span> class will have the image
|
|
541
|
+
placed on the left.</p>
|
|
542
|
+
<div class="columns count-2">
|
|
543
|
+
<div class="card horizontal">
|
|
544
|
+
<div class="card-image">
|
|
545
|
+
<img src="https://picsum.photos/1000/400?random=1" alt="Card image">
|
|
546
|
+
</div>
|
|
547
|
+
<div class="card-content">
|
|
548
|
+
<div class="card-header">
|
|
549
|
+
<h3 class="card-title">Title</h3>
|
|
550
|
+
</div>
|
|
551
|
+
<div class="card-body">
|
|
552
|
+
<p>This is some text that describes the card.</p>
|
|
553
|
+
</div>
|
|
554
|
+
<div class="card-footer">
|
|
555
|
+
<a class="button primary stretched" href="#">Card Action</a>
|
|
556
|
+
</div>
|
|
557
|
+
</div>
|
|
558
|
+
</div>
|
|
559
|
+
<div class="card horizontal right">
|
|
560
|
+
<div class="card-image">
|
|
561
|
+
<img src="https://picsum.photos/1000/400?random=2" alt="Card image">
|
|
562
|
+
</div>
|
|
563
|
+
<div class="card-content">
|
|
564
|
+
<div class="card-header">
|
|
565
|
+
<h3 class="card-title">Title</h3>
|
|
566
|
+
</div>
|
|
567
|
+
<div class="card-body">
|
|
568
|
+
<p>This is some text that describes the card.</p>
|
|
569
|
+
</div>
|
|
570
|
+
<div class="card-footer">
|
|
571
|
+
<a class="button primary stretched" href="#">Card Action</a>
|
|
572
|
+
</div>
|
|
573
|
+
</div>
|
|
574
|
+
</div>
|
|
575
|
+
<div class="card horizontal">
|
|
576
|
+
<div class="card-image">
|
|
577
|
+
<img src="https://picsum.photos/1000/400?random=3" alt="Card image">
|
|
578
|
+
</div>
|
|
579
|
+
<div class="card-content">
|
|
580
|
+
<div class="card-header">
|
|
581
|
+
<h3 class="card-title">Title</h3>
|
|
582
|
+
</div>
|
|
583
|
+
<div class="card-body">
|
|
584
|
+
<p>This is some text that describes the card.</p>
|
|
585
|
+
</div>
|
|
586
|
+
<div class="card-footer">
|
|
587
|
+
<a class="button primary stretched" href="#">Card Action</a>
|
|
588
|
+
</div>
|
|
589
|
+
</div>
|
|
590
|
+
</div>
|
|
591
|
+
<div class="card horizontal right">
|
|
592
|
+
<div class="card-image">
|
|
593
|
+
<img src="https://picsum.photos/1000/400?random=4" alt="Card image">
|
|
594
|
+
</div>
|
|
595
|
+
<div class="card-content">
|
|
596
|
+
<div class="card-header">
|
|
597
|
+
<h3 class="card-title">Title</h3>
|
|
598
|
+
</div>
|
|
599
|
+
<div class="card-body">
|
|
600
|
+
<p>This is some text that describes the card.</p>
|
|
601
|
+
</div>
|
|
602
|
+
<div class="card-footer">
|
|
603
|
+
<a class="button primary stretched" href="#">Card Action</a>
|
|
604
|
+
</div>
|
|
605
|
+
</div>
|
|
606
|
+
</div>
|
|
607
|
+
<div class="card horizontal">
|
|
608
|
+
<div class="card-image">
|
|
609
|
+
<img src="https://picsum.photos/1000/400?random=5" alt="Card image">
|
|
610
|
+
</div>
|
|
611
|
+
<div class="card-content">
|
|
612
|
+
<div class="card-header">
|
|
613
|
+
<h3 class="card-title">Title</h3>
|
|
614
|
+
</div>
|
|
615
|
+
<div class="card-body">
|
|
616
|
+
<p>This is some text that describes the card.</p>
|
|
617
|
+
</div>
|
|
618
|
+
<div class="card-footer">
|
|
619
|
+
<a class="button primary stretched" href="#">Card Action</a>
|
|
620
|
+
</div>
|
|
621
|
+
</div>
|
|
622
|
+
</div>
|
|
623
|
+
<div class="card horizontal right">
|
|
624
|
+
<div class="card-image">
|
|
625
|
+
<img src="https://picsum.photos/1000/400?random=6" alt="Card image">
|
|
626
|
+
</div>
|
|
627
|
+
<div class="card-content">
|
|
628
|
+
<div class="card-header">
|
|
629
|
+
<h3 class="card-title">Title</h3>
|
|
630
|
+
</div>
|
|
631
|
+
<div class="card-body">
|
|
632
|
+
<p>This is some text that describes the card.</p>
|
|
633
|
+
</div>
|
|
634
|
+
<div class="card-footer">
|
|
635
|
+
<a class="button primary stretched" href="#">Card Action</a>
|
|
636
|
+
</div>
|
|
637
|
+
</div>
|
|
638
|
+
</div>
|
|
639
|
+
</div>
|
|
640
|
+
</div>
|
|
641
|
+
<div class="full-width container min-h-full-screen align-content-center">
|
|
642
|
+
<h2>Inverse Cards</h2>
|
|
643
|
+
<p>Cards using the <span class="display-inline-block text-tertiary-800 bg-secondary-100 px-1">.inverse</span>
|
|
644
|
+
class will have the image placed on the right if it is a horizontal card and on the bottom if it is a vertical
|
|
645
|
+
card.</p>
|
|
646
|
+
<p>This is mainly to provide a shortcut for horizontal cards that you'd like to use the <span
|
|
647
|
+
class="display-inline-block text-tertiary-800 bg-secondary-100 px-1">.bottom .right</span> classes on when the
|
|
648
|
+
card is forced to be vertical.</p>
|
|
649
|
+
<div class="columns count-2">
|
|
650
|
+
<div class="card horizontal inverse">
|
|
651
|
+
<div class="card-image">
|
|
652
|
+
<img src="https://picsum.photos/1000/400?random=1" alt="Card image">
|
|
653
|
+
</div>
|
|
654
|
+
<div class="card-content">
|
|
655
|
+
<div class="card-header">
|
|
656
|
+
<h3 class="card-title">Title</h3>
|
|
657
|
+
</div>
|
|
658
|
+
<div class="card-body">
|
|
659
|
+
<p>This is some text that describes the card.</p>
|
|
660
|
+
</div>
|
|
661
|
+
<div class="card-footer">
|
|
662
|
+
<a class="button primary stretched" href="#">Card Action</a>
|
|
663
|
+
</div>
|
|
664
|
+
</div>
|
|
665
|
+
</div>
|
|
666
|
+
<div class="card horizontal inverse">
|
|
667
|
+
<div class="card-image">
|
|
668
|
+
<img src="https://picsum.photos/1000/400?random=2" alt="Card image">
|
|
669
|
+
</div>
|
|
670
|
+
<div class="card-content">
|
|
671
|
+
<div class="card-header">
|
|
672
|
+
<h3 class="card-title">Title</h3>
|
|
673
|
+
</div>
|
|
674
|
+
<div class="card-body">
|
|
675
|
+
<p>This is some text that describes the card.</p>
|
|
676
|
+
</div>
|
|
677
|
+
<div class="card-footer">
|
|
678
|
+
<a class="button primary stretched" href="#">Card Action</a>
|
|
679
|
+
</div>
|
|
680
|
+
</div>
|
|
681
|
+
</div>
|
|
682
|
+
</div>
|
|
683
|
+
</div>
|
|
684
|
+
<div class="full-width container min-h-full-screen align-content-center">
|
|
685
|
+
<h2>Alerts</h2>
|
|
686
|
+
<div class="display-grid g-5">
|
|
687
|
+
<div class="alert">
|
|
688
|
+
<div class="alert-header">
|
|
689
|
+
<h3 class="alert-title">Alert</h3>
|
|
690
|
+
</div>
|
|
691
|
+
<div class="alert-body">
|
|
692
|
+
<p>This is some text that describes the alert.</p>
|
|
693
|
+
</div>
|
|
694
|
+
<div class="alert-footer">
|
|
695
|
+
<a href="#">Action</a>
|
|
696
|
+
</div>
|
|
697
|
+
<button class="alert-dismisser">x</button>
|
|
698
|
+
</div>
|
|
699
|
+
<div class="alert primary">
|
|
700
|
+
<div class="alert-header">
|
|
701
|
+
<h3 class="alert-title">Primary Alert</h3>
|
|
702
|
+
</div>
|
|
703
|
+
<div class="alert-body">
|
|
704
|
+
<p>This is some text that describes the alert.</p>
|
|
705
|
+
</div>
|
|
706
|
+
<div class="alert-footer">
|
|
707
|
+
<a href="#">Primary Action</a>
|
|
708
|
+
</div>
|
|
709
|
+
<button class="alert-dismisser primary">x</button>
|
|
710
|
+
</div>
|
|
711
|
+
<div class="alert secondary">
|
|
712
|
+
<div class="alert-header">
|
|
713
|
+
<h3 class="alert-title">Secondary Alert</h3>
|
|
714
|
+
</div>
|
|
715
|
+
<div class="alert-body">
|
|
716
|
+
<p>This is some text that describes the alert.</p>
|
|
717
|
+
</div>
|
|
718
|
+
<div class="alert-footer">
|
|
719
|
+
<a href="#">Secondary Action</a>
|
|
720
|
+
</div>
|
|
721
|
+
<button class="alert-dismisser secondary">x</button>
|
|
722
|
+
</div>
|
|
723
|
+
<div class="alert tertiary">
|
|
724
|
+
<div class="alert-header">
|
|
725
|
+
<h3 class="alert-title">Tertiary Alert</h3>
|
|
726
|
+
</div>
|
|
727
|
+
<div class="alert-body">
|
|
728
|
+
<p>This is some text that describes the alert.</p>
|
|
729
|
+
</div>
|
|
730
|
+
<div class="alert-footer">
|
|
731
|
+
<a href="#">Tertiary Action</a>
|
|
732
|
+
</div>
|
|
733
|
+
<button class="alert-dismisser tertiary">x</button>
|
|
734
|
+
</div>
|
|
735
|
+
</div>
|
|
736
|
+
</div>
|
|
737
|
+
<div class="full-width container min-h-full-screen align-content-center">
|
|
738
|
+
<h2>Carousels</h2>
|
|
739
|
+
<section class="carousel">
|
|
740
|
+
<div class="carousel-control-container">
|
|
741
|
+
<button class=" carousel-control autoplay"></button>
|
|
742
|
+
<button class="carousel-control previous"></button>
|
|
743
|
+
<button class="carousel-control next"></button>
|
|
744
|
+
</div>
|
|
745
|
+
<div class="carousel-tab-container">
|
|
746
|
+
<button class="carousel-tab" aria-label="Carousel item 1"></button>
|
|
747
|
+
<button class="carousel-tab" aria-label="Carousel item 2"></button>
|
|
748
|
+
<button class="carousel-tab" aria-label="Carousel item 3"></button>
|
|
749
|
+
<button class="carousel-tab" aria-label="Carousel item 4"></button>
|
|
750
|
+
<button class="carousel-tab" aria-label="Carousel item 5"></button>
|
|
751
|
+
</div>
|
|
752
|
+
<div class="carousel-item-container">
|
|
753
|
+
<div class="carousel-item">
|
|
754
|
+
<div class="ratio sixteen-by-nine"><img class="force-ratio" src="https://picsum.photos/1400/600?random=1" alt="A placeholder carousel image" /></div>
|
|
755
|
+
</div>
|
|
756
|
+
<div class="carousel-item">
|
|
757
|
+
<div class="ratio sixteen-by-nine"><img class="force-ratio" src="https://picsum.photos/1400/600?random=2" alt="A placeholder carousel image" /></div>
|
|
758
|
+
</div>
|
|
759
|
+
<div class="carousel-item">
|
|
760
|
+
<div class="ratio sixteen-by-nine"><img class="force-ratio" src="https://picsum.photos/1400/600?random=3" alt="A placeholder carousel image" /></div>
|
|
761
|
+
</div>
|
|
762
|
+
<div class="carousel-item">
|
|
763
|
+
<div class="ratio sixteen-by-nine"><img class="force-ratio" src="https://picsum.photos/1400/600?random=4" alt="A placeholder carousel image" /></div>
|
|
764
|
+
</div>
|
|
765
|
+
<div class="carousel-item">
|
|
766
|
+
<div class="ratio sixteen-by-nine"><img class="force-ratio" src="https://picsum.photos/1400/600?random=5" alt="A placeholder carousel image" /></div>
|
|
767
|
+
</div>
|
|
768
|
+
</div>
|
|
769
|
+
</section>
|
|
357
770
|
</div>
|
|
358
771
|
</main>
|
|
772
|
+
<script src="https://cdn.jsdelivr.net/npm/accessible-menu/dist/disclosure-menu.iife.js"></script>
|
|
773
|
+
<script src="src/js/navigation.js"></script>
|
|
774
|
+
<script type="module" src="src/js/alert/index.js"></script>
|
|
775
|
+
<script type="module" src="src/js/carousel/index.js"></script>
|
|
776
|
+
<script>
|
|
777
|
+
const preferredTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
|
778
|
+
const setTheme = window.localStorage.getItem('theme') || preferredTheme;
|
|
779
|
+
const themeToggle = document.getElementById('dark-mode-toggle');
|
|
780
|
+
|
|
781
|
+
document.documentElement.classList.add(`${setTheme}-mode`);
|
|
782
|
+
themeToggle.innerHTML = setTheme === 'dark' ? 'Toggle light mode' : 'Toggle dark mode';
|
|
783
|
+
|
|
784
|
+
themeToggle.addEventListener('click', () => {
|
|
785
|
+
const currentTheme = document.documentElement.classList.contains('dark-mode') ? 'dark' : 'light';
|
|
786
|
+
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
|
787
|
+
|
|
788
|
+
document.documentElement.classList.remove(`${currentTheme}-mode`);
|
|
789
|
+
document.documentElement.classList.add(`${newTheme}-mode`);
|
|
790
|
+
window.localStorage.setItem('theme', newTheme);
|
|
791
|
+
themeToggle.innerHTML = newTheme === 'dark' ? 'Toggle light mode' : 'Toggle dark mode';
|
|
792
|
+
});
|
|
793
|
+
</script>
|
|
359
794
|
</body>
|
|
360
795
|
|
|
361
796
|
</html>
|