@pokle/basecoat 0.3.10-beta2.pokle
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/.eleventy.js +47 -0
- package/.gitattributes +1 -0
- package/.gitignore +12 -0
- package/AGENTS.md +112 -0
- package/CONTRIBUTING.md +15 -0
- package/LICENSE.md +21 -0
- package/README.md +29 -0
- package/ROADMAP.md +20 -0
- package/docs/css/custom.css +92 -0
- package/docs/css/highlight.css +151 -0
- package/docs/css/styles.css +8 -0
- package/docs/css/themes/claude.css +95 -0
- package/docs/css/themes/doom-64.css +95 -0
- package/docs/css/themes/supabase.css +100 -0
- package/docs/src/_data/site.js +10 -0
- package/docs/src/_includes/layouts/base.njk +112 -0
- package/docs/src/_includes/layouts/layout.njk +15 -0
- package/docs/src/_includes/layouts/page.njk +21 -0
- package/docs/src/_includes/macros/code_block.njk +23 -0
- package/docs/src/_includes/macros/code_preview.njk +26 -0
- package/docs/src/_includes/macros/toc.njk +20 -0
- package/docs/src/_includes/partials/header.njk +64 -0
- package/docs/src/_includes/partials/kitchen-sink/accordion.njk +89 -0
- package/docs/src/_includes/partials/kitchen-sink/alert-dialog.njk +26 -0
- package/docs/src/_includes/partials/kitchen-sink/alert.njk +72 -0
- package/docs/src/_includes/partials/kitchen-sink/avatar.njk +37 -0
- package/docs/src/_includes/partials/kitchen-sink/badge.njk +47 -0
- package/docs/src/_includes/partials/kitchen-sink/breadcrumb.njk +42 -0
- package/docs/src/_includes/partials/kitchen-sink/button.njk +101 -0
- package/docs/src/_includes/partials/kitchen-sink/card.njk +147 -0
- package/docs/src/_includes/partials/kitchen-sink/checkbox.njk +34 -0
- package/docs/src/_includes/partials/kitchen-sink/combobox.njk +83 -0
- package/docs/src/_includes/partials/kitchen-sink/dialog.njk +65 -0
- package/docs/src/_includes/partials/kitchen-sink/dropdown-menu.njk +294 -0
- package/docs/src/_includes/partials/kitchen-sink/form.njk +106 -0
- package/docs/src/_includes/partials/kitchen-sink/input.njk +27 -0
- package/docs/src/_includes/partials/kitchen-sink/label.njk +30 -0
- package/docs/src/_includes/partials/kitchen-sink/pagination.njk +34 -0
- package/docs/src/_includes/partials/kitchen-sink/popover.njk +43 -0
- package/docs/src/_includes/partials/kitchen-sink/radio-group.njk +33 -0
- package/docs/src/_includes/partials/kitchen-sink/select.njk +99 -0
- package/docs/src/_includes/partials/kitchen-sink/skeleton.njk +40 -0
- package/docs/src/_includes/partials/kitchen-sink/slider.njk +38 -0
- package/docs/src/_includes/partials/kitchen-sink/switch.njk +27 -0
- package/docs/src/_includes/partials/kitchen-sink/table.njk +74 -0
- package/docs/src/_includes/partials/kitchen-sink/tabs.njk +105 -0
- package/docs/src/_includes/partials/kitchen-sink/textarea.njk +27 -0
- package/docs/src/_includes/partials/kitchen-sink/toast.njk +25 -0
- package/docs/src/_includes/partials/kitchen-sink/tooltip.njk +24 -0
- package/docs/src/_includes/partials/sidebar.njk +139 -0
- package/docs/src/assets/apple-touch-icon.png +0 -0
- package/docs/src/assets/favicon.svg +12 -0
- package/docs/src/assets/images/avatar-1.png +0 -0
- package/docs/src/assets/images/avatar-2.png +0 -0
- package/docs/src/assets/images/avatar-3.png +0 -0
- package/docs/src/assets/images/screenshot.png +0 -0
- package/docs/src/assets/social-screenshot.png +0 -0
- package/docs/src/assets/social.png +0 -0
- package/docs/src/assets/styles.css +6309 -0
- package/docs/src/components/accordion.njk +75 -0
- package/docs/src/components/alert-dialog.njk +119 -0
- package/docs/src/components/alert.njk +108 -0
- package/docs/src/components/avatar.njk +40 -0
- package/docs/src/components/badge.njk +93 -0
- package/docs/src/components/breadcrumb.njk +71 -0
- package/docs/src/components/button-group.njk +290 -0
- package/docs/src/components/button.njk +141 -0
- package/docs/src/components/card.njk +156 -0
- package/docs/src/components/carousel.njk +102 -0
- package/docs/src/components/chart.njk +814 -0
- package/docs/src/components/checkbox.njk +101 -0
- package/docs/src/components/combobox.njk +293 -0
- package/docs/src/components/command.njk +288 -0
- package/docs/src/components/dialog.njk +177 -0
- package/docs/src/components/dropdown-menu.njk +403 -0
- package/docs/src/components/empty.njk +157 -0
- package/docs/src/components/field.njk +459 -0
- package/docs/src/components/form.njk +79 -0
- package/docs/src/components/input-group.njk +372 -0
- package/docs/src/components/input.njk +90 -0
- package/docs/src/components/item.njk +320 -0
- package/docs/src/components/kbd.njk +76 -0
- package/docs/src/components/label.njk +41 -0
- package/docs/src/components/pagination.njk +48 -0
- package/docs/src/components/popover.njk +174 -0
- package/docs/src/components/progress.njk +44 -0
- package/docs/src/components/radio-group.njk +48 -0
- package/docs/src/components/select.njk +457 -0
- package/docs/src/components/sidebar.njk +219 -0
- package/docs/src/components/skeleton.njk +51 -0
- package/docs/src/components/slider.njk +47 -0
- package/docs/src/components/spinner.njk +214 -0
- package/docs/src/components/switch.njk +54 -0
- package/docs/src/components/table.njk +87 -0
- package/docs/src/components/tabs.njk +232 -0
- package/docs/src/components/textarea.njk +90 -0
- package/docs/src/components/theme-switcher.njk +111 -0
- package/docs/src/components/toast.njk +279 -0
- package/docs/src/components/tooltip.njk +53 -0
- package/docs/src/fragments/toast/error.njk +6 -0
- package/docs/src/fragments/toast/info.njk +5 -0
- package/docs/src/fragments/toast/success.njk +7 -0
- package/docs/src/fragments/toast/warning.njk +5 -0
- package/docs/src/index.njk +336 -0
- package/docs/src/installation.njk +275 -0
- package/docs/src/introduction.njk +63 -0
- package/docs/src/kitchen-sink.njk +52 -0
- package/docs/src/llms.txt +506 -0
- package/docs/src/robots.njk +7 -0
- package/docs/src/sitemap.njk +15 -0
- package/docs/src/test.njk +39 -0
- package/package.json +51 -0
- package/packages/cli/README.md +55 -0
- package/packages/cli/index.js +193 -0
- package/packages/cli/package.json +44 -0
- package/packages/css/README.md +63 -0
- package/packages/css/package.json +63 -0
- package/scripts/build.js +170 -0
- package/src/css/basecoat.cdn.css +2 -0
- package/src/css/basecoat.css +1310 -0
- package/src/jinja/command.html.jinja +206 -0
- package/src/jinja/dialog.html.jinja +94 -0
- package/src/jinja/dropdown-menu.html.jinja +124 -0
- package/src/jinja/popover.html.jinja +48 -0
- package/src/jinja/select.html.jinja +196 -0
- package/src/jinja/sidebar.html.jinja +144 -0
- package/src/jinja/tabs.html.jinja +78 -0
- package/src/jinja/toast.html.jinja +117 -0
- package/src/js/basecoat.js +99 -0
- package/src/js/command.js +175 -0
- package/src/js/dropdown-menu.js +171 -0
- package/src/js/popover.js +73 -0
- package/src/js/select.js +432 -0
- package/src/js/sidebar.js +104 -0
- package/src/js/tabs.js +63 -0
- package/src/js/toast.js +181 -0
- package/src/nunjucks/command.njk +206 -0
- package/src/nunjucks/dialog.njk +92 -0
- package/src/nunjucks/dropdown-menu.njk +124 -0
- package/src/nunjucks/popover.njk +48 -0
- package/src/nunjucks/select.njk +196 -0
- package/src/nunjucks/sidebar.njk +144 -0
- package/src/nunjucks/tabs.njk +78 -0
- package/src/nunjucks/toast.njk +117 -0
- package/wrangler.jsonc +7 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: layouts/page.njk
|
|
3
|
+
title: Popover
|
|
4
|
+
description: Displays rich content in a portal, triggered by a button.
|
|
5
|
+
toc:
|
|
6
|
+
- label: Usage
|
|
7
|
+
id: usage
|
|
8
|
+
children:
|
|
9
|
+
- label: HTML + JavaScript
|
|
10
|
+
id: usage-html-js
|
|
11
|
+
children:
|
|
12
|
+
- label: "Step 1 (Optional): Include the JavaScript file"
|
|
13
|
+
id: usage-html-js-1
|
|
14
|
+
- label: "Step 2: Add your popover HTML"
|
|
15
|
+
id: usage-html-js-2
|
|
16
|
+
- label: HTML structure
|
|
17
|
+
id: usage-html-js-3
|
|
18
|
+
- label: JavaScript events
|
|
19
|
+
id: usage-html-js-4
|
|
20
|
+
- label: Jinja and Nunjucks
|
|
21
|
+
id: usage-macro
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
{% from "macros/code_preview.njk" import code_preview %}
|
|
25
|
+
{% from "macros/code_block.njk" import code_block %}
|
|
26
|
+
{% from "popover.njk" import popover %}
|
|
27
|
+
|
|
28
|
+
{% set code_html %}
|
|
29
|
+
{% call popover(
|
|
30
|
+
id="demo-popover",
|
|
31
|
+
trigger="Open popover",
|
|
32
|
+
trigger_attrs={"class": "btn-outline"},
|
|
33
|
+
popover_attrs={"class": "w-80"}
|
|
34
|
+
) %}
|
|
35
|
+
<div class="grid gap-4">
|
|
36
|
+
<header class="grid gap-1.5">
|
|
37
|
+
<h4 class="leading-none font-medium">Dimensions</h4>
|
|
38
|
+
<p class="text-muted-foreground text-sm">Set the dimensions for the layer.</p>
|
|
39
|
+
</header>
|
|
40
|
+
<form class="form grid gap-2">
|
|
41
|
+
<div class="grid grid-cols-3 items-center gap-4">
|
|
42
|
+
<label for="demo-popover-width">Width</label>
|
|
43
|
+
<input type="text" id="demo-popover-width" value="100%" class="col-span-2 h-8" autofocus/>
|
|
44
|
+
</div>
|
|
45
|
+
<div class="grid grid-cols-3 items-center gap-4">
|
|
46
|
+
<label for="demo-popover-max-width">Max. width</label>
|
|
47
|
+
<input type="text" id="demo-popover-max-width" value="300px" class="col-span-2 h-8"/>
|
|
48
|
+
</div>
|
|
49
|
+
<div class="grid grid-cols-3 items-center gap-4">
|
|
50
|
+
<label for="demo-popover-height">Height</label>
|
|
51
|
+
<input type="text" id="demo-popover-height" value="25px" class="col-span-2 h-8"/>
|
|
52
|
+
</div>
|
|
53
|
+
<div class="grid grid-cols-3 items-center gap-4">
|
|
54
|
+
<label for="demo-popover-max-height">Max. height</label>
|
|
55
|
+
<input type="text" id="demo-popover-max-height" value="none" class="col-span-2 h-8"/>
|
|
56
|
+
</div>
|
|
57
|
+
</form>
|
|
58
|
+
</div>
|
|
59
|
+
{% endcall %}
|
|
60
|
+
{% endset %}
|
|
61
|
+
|
|
62
|
+
{{ code_preview("popover", code_html | prettyHtml) }}
|
|
63
|
+
|
|
64
|
+
<h2 id="usage"><a href="#usage">Usage</a></h2>
|
|
65
|
+
|
|
66
|
+
<h3 id="usage-html-js"><a href="#usage-html-js">HTML + JavaScript</a></h3>
|
|
67
|
+
|
|
68
|
+
<h4 id="usage-html-js-1"><a href="#usage-html-js-1">Step 1: Include the JavaScript file</a></h4>
|
|
69
|
+
|
|
70
|
+
<section class="prose">
|
|
71
|
+
<p>You can either <a href="/installation/#install-cdn-all">include the JavaScript file for all the components</a>, or just the one for this component by adding this to the <code><head></code> of your page:</p>
|
|
72
|
+
</section>
|
|
73
|
+
|
|
74
|
+
{% set code_script %}<script src="https://cdn.jsdelivr.net/npm/basecoat-css@{{ pkg.version }}/dist/js/basecoat.min.js" defer></script>
|
|
75
|
+
<script src="https://cdn.jsdelivr.net/npm/basecoat-css@{{ pkg.version }}/dist/js/popover.min.js" defer></script>{% endset %}
|
|
76
|
+
{{ code_block(code_script | prettyHtml, "html") }}
|
|
77
|
+
|
|
78
|
+
<div class="flex flex-wrap gap-2 my-6">
|
|
79
|
+
<a class="badge-outline" href="/installation/#install-js">
|
|
80
|
+
Components with JavaScript
|
|
81
|
+
{% lucide "arrow-right" %}
|
|
82
|
+
</a>
|
|
83
|
+
<a class="badge-outline" href="/installation/#install-cli">
|
|
84
|
+
Use the CLI
|
|
85
|
+
{% lucide "arrow-right" %}
|
|
86
|
+
</a>
|
|
87
|
+
</div>
|
|
88
|
+
|
|
89
|
+
<h4 id="usage-html-js-2"><a href="#usage-html-js-2">Step 2: Add your popover HTML</a></h4>
|
|
90
|
+
|
|
91
|
+
{{ code_block(code_html | prettyHtml, "html") }}
|
|
92
|
+
|
|
93
|
+
<h4 id="usage-html-js-3"><a href="#usage-html-js-3">HTML structure</a></h4>
|
|
94
|
+
|
|
95
|
+
<section class="prose">
|
|
96
|
+
<dl>
|
|
97
|
+
<dt><code class="highlight language-html"><button type="button" popovertarget="{ POPOVER_ID }"></code></dt>
|
|
98
|
+
<dd>
|
|
99
|
+
<p>The trigger to open the popover, can also have the following attributes:</p>
|
|
100
|
+
<ul>
|
|
101
|
+
<li><code>id="{BUTTON_ID}"</code>: linked to by the <code>aria-labelledby</code> attribute of the listbox.</li>
|
|
102
|
+
<li><code>aria-expanded="false"</code>: tracks the popover's state.</li>
|
|
103
|
+
<li><code>onclick</code>: a simple function to update <code>aria-expanded</code>.</li>
|
|
104
|
+
</ul>
|
|
105
|
+
</dd>
|
|
106
|
+
<dt><code class="highlight language-html"><div data-popover class="popover" id="{ POPOVER_ID }"></code></dt>
|
|
107
|
+
<dd>You can set up the side and alignment of the popover using the <code>data-side</code> and <code>data-align</code> attributes.</dd>
|
|
108
|
+
</dl>
|
|
109
|
+
</section>
|
|
110
|
+
|
|
111
|
+
<h4 id="usage-html-js-4"><a href="#usage-html-js-4">JavaScript events</a></h4>
|
|
112
|
+
|
|
113
|
+
<section class="prose">
|
|
114
|
+
<dl>
|
|
115
|
+
<dt><code>basecoat:initialized</code></dt>
|
|
116
|
+
<dd>Once the component is fully initialized, it dispatches a custom (non-bubbling) <code>basecoat:initialized</code> event on itself.</dd>
|
|
117
|
+
<dt><code>basecoat:popover</code></dt>
|
|
118
|
+
<dd>When the popover opens, the component dispatches a custom (non-bubbling) <code>basecoat:popover</code> event on <code>document</code>. Other popover components (Combobox, Dropdown Menu, Popover and Select) listen for this to close any open popovers.</dd>
|
|
119
|
+
</dl>
|
|
120
|
+
</section>
|
|
121
|
+
|
|
122
|
+
<h3 id="usage-macro"><a href="#usage-macro">Jinja and Nunjucks</a></h3>
|
|
123
|
+
|
|
124
|
+
<div class="prose">
|
|
125
|
+
<p>You can use the <code class="relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-xs">popover()</code> Nunjucks or Jinja macro for this component.</p>
|
|
126
|
+
</div>
|
|
127
|
+
|
|
128
|
+
<div class="flex flex-wrap gap-2 my-6">
|
|
129
|
+
<a class="badge-outline" href="/installation/#install-macros" target="_blank">
|
|
130
|
+
Use Nunjucks or Jinja macros
|
|
131
|
+
{% lucide "arrow-right" %}
|
|
132
|
+
</a>
|
|
133
|
+
<a class="badge-outline" href="https://github.com/hunvreus/basecoat/blob/main/src/jinja/popover.html.jinja" target="_blank">
|
|
134
|
+
Jinja macro
|
|
135
|
+
{% lucide "arrow-right" %}
|
|
136
|
+
</a>
|
|
137
|
+
<a class="badge-outline" href="https://github.com/hunvreus/basecoat/blob/main/src/nunjucks/popover.njk" target="_blank">
|
|
138
|
+
Nunjucks macro
|
|
139
|
+
{% lucide "arrow-right" %}
|
|
140
|
+
</a>
|
|
141
|
+
</div>
|
|
142
|
+
|
|
143
|
+
{% set raw_code %}{% raw %}{% call popover(
|
|
144
|
+
id="demo-popover",
|
|
145
|
+
trigger="Open popover",
|
|
146
|
+
trigger_attrs={"class": "btn-outline"},
|
|
147
|
+
popover_attrs={"class": "w-80 p-4"}
|
|
148
|
+
) %}
|
|
149
|
+
<div class="grid gap-4">
|
|
150
|
+
<header class="grid gap-1.5">
|
|
151
|
+
<h4 class="leading-none font-medium">Dimensions</h4>
|
|
152
|
+
<p class="text-muted-foreground text-sm">Set the dimensions for the layer.</p>
|
|
153
|
+
</header>
|
|
154
|
+
<form class="form grid gap-2">
|
|
155
|
+
<div class="grid grid-cols-3 items-center gap-4">
|
|
156
|
+
<label for="demo-popover-width">Width</label>
|
|
157
|
+
<input type="text" id="demo-popover-width" value="100%" class="col-span-2 h-8"/>
|
|
158
|
+
</div>
|
|
159
|
+
<div class="grid grid-cols-3 items-center gap-4">
|
|
160
|
+
<label for="demo-popover-max-width">Max. width</label>
|
|
161
|
+
<input type="text" id="demo-popover-max-width" value="300px" class="col-span-2 h-8"/>
|
|
162
|
+
</div>
|
|
163
|
+
<div class="grid grid-cols-3 items-center gap-4">
|
|
164
|
+
<label for="demo-popover-height">Height</label>
|
|
165
|
+
<input type="text" id="demo-popover-height" value="25px" class="col-span-2 h-8"/>
|
|
166
|
+
</div>
|
|
167
|
+
<div class="grid grid-cols-3 items-center gap-4">
|
|
168
|
+
<label for="demo-popover-max-height">Max. height</label>
|
|
169
|
+
<input type="text" id="demo-popover-max-height" value="none" class="col-span-2 h-8"/>
|
|
170
|
+
</div>
|
|
171
|
+
</form>
|
|
172
|
+
</div>
|
|
173
|
+
{% endcall %}{% endraw %}{% endset %}
|
|
174
|
+
{{ code_block(raw_code, "jinja") }}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: layouts/page.njk
|
|
3
|
+
title: Progress
|
|
4
|
+
description: Displays an indicator showing the completion progress of a task, typically displayed as a progress bar.
|
|
5
|
+
toc:
|
|
6
|
+
- label: Usage
|
|
7
|
+
id: usage
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
{% from "macros/code_preview.njk" import code_preview %}
|
|
11
|
+
{% from "macros/code_block.njk" import code_block %}
|
|
12
|
+
|
|
13
|
+
<div class="alert mb-6">
|
|
14
|
+
{% lucide "circle-alert" %}
|
|
15
|
+
<h2>There is no dedicated Progress component in Basecoat.</h2>
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
{% set code_default %}
|
|
19
|
+
<div class="bg-primary/20 relative h-2 w-full overflow-hidden rounded-full">
|
|
20
|
+
<div id="demo-progress" class="bg-primary h-full w-full flex-1 transition-all" style="width: 17%"></div>
|
|
21
|
+
</div>
|
|
22
|
+
<script>
|
|
23
|
+
setTimeout(() => {
|
|
24
|
+
document.getElementById('demo-progress').style.width = '66%';
|
|
25
|
+
}, 500);
|
|
26
|
+
</script>
|
|
27
|
+
{% endset %}
|
|
28
|
+
|
|
29
|
+
{{ code_preview("progress-default", code_default, class="w-full max-w-sm") }}
|
|
30
|
+
|
|
31
|
+
<h2 id="usage"><a href="#usage">Usage</a></h2>
|
|
32
|
+
|
|
33
|
+
<section class="prose">
|
|
34
|
+
<p>Progress bars are pure HTML composition using Tailwind utility classes. Use a container div for the track and an inner div for the indicator. Set the indicator's width with inline styles or via JavaScript.</p>
|
|
35
|
+
</section>
|
|
36
|
+
|
|
37
|
+
{% set code_usage %}
|
|
38
|
+
<div class="bg-primary/20 relative h-2 w-full overflow-hidden rounded-full">
|
|
39
|
+
<div class="bg-primary h-full w-full flex-1 transition-all" style="width: 66%"></div>
|
|
40
|
+
</div>
|
|
41
|
+
{% endset %}
|
|
42
|
+
|
|
43
|
+
{{ code_block(code_usage) }}
|
|
44
|
+
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: layouts/page.njk
|
|
3
|
+
title: Radio Group
|
|
4
|
+
description: A set of checkable buttons—known as radio buttons—where no more than one of the buttons can be checked at a time.
|
|
5
|
+
toc:
|
|
6
|
+
- label: Usage
|
|
7
|
+
id: usage
|
|
8
|
+
- label: Examples
|
|
9
|
+
id: examples
|
|
10
|
+
children:
|
|
11
|
+
- label: Form
|
|
12
|
+
id: example-form
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
{% from "macros/code_preview.njk" import code_preview %}
|
|
16
|
+
{% from "macros/code_block.njk" import code_block %}
|
|
17
|
+
|
|
18
|
+
{% set code %}<fieldset class="grid gap-3">
|
|
19
|
+
<label class="label"><input type="radio" name="radio-group" value="default" class="input">Default</label>
|
|
20
|
+
<label class="label"><input type="radio" name="radio-group" value="comfortable" class="input" checked>Comfortable</label>
|
|
21
|
+
<label class="label"><input type="radio" name="radio-group" value="compact" class="input">Compact</label>
|
|
22
|
+
</fieldset>{% endset %}
|
|
23
|
+
{{ code_preview("radio-group", code) }}
|
|
24
|
+
|
|
25
|
+
<h2 id="usage">Usage</h2>
|
|
26
|
+
|
|
27
|
+
<section class="prose">
|
|
28
|
+
<p>Simply add the <code>input</code> class to your <code><input type="radio"></code> elements or have a parent with the <code>form</code> class (<a href="/components/form">read more about form</a>). You can also set the <code>aria-invalid</code> attribute to <code>true</code> to make the input invalid.</p>
|
|
29
|
+
</section>
|
|
30
|
+
|
|
31
|
+
{{ code_block(code) }}
|
|
32
|
+
|
|
33
|
+
<h2 id="examples"><a href="#examples">Examples</a></h2>
|
|
34
|
+
|
|
35
|
+
<h3 id="example-form"><a href="#example-form">Form</a></h3>
|
|
36
|
+
|
|
37
|
+
{% set code %}<form class="form space-y-6 w-full">
|
|
38
|
+
<div class="flex flex-col gap-3">
|
|
39
|
+
<label for="demo-form-radio">Notify me about...</label>
|
|
40
|
+
<fieldset id="demo-form-radio" class="grid gap-3">
|
|
41
|
+
<label class="font-normal"><input type="radio" name="demo-form-radio" value="1">All new messages</label>
|
|
42
|
+
<label class="font-normal"><input type="radio" name="demo-form-radio" value="2">Direct messages and mentions</label>
|
|
43
|
+
<label class="font-normal"><input type="radio" name="demo-form-radio" value="3" >Nothing</label>
|
|
44
|
+
</fieldset>
|
|
45
|
+
</div>
|
|
46
|
+
<button type="submit" class="btn">Submit</button>
|
|
47
|
+
</form>{% endset %}
|
|
48
|
+
{{ code_preview("radio-group-form", code, "w-full max-w-sm") }}
|