Previews

No matching results.

x
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<div class="p-4 max-w-md">
<h3 class="text-lg font-semibold mb-4">Form Builder Integration Example</h3>
<form data-turbo="false" action="#" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="MHJKcESojQvL5Vj6LGlKYe_rY69rNLkEnFFU33e57g8UBYP05LfOrGx2dwM14No9r0b06jw0x7Rbd38r2gkCDA" />
<div class="space-y-4">
<div class="form-field-wrapper">
<div class="flex items-start flex-row gap-2.5">
<input type="checkbox" id="user_newsletter" name="user[newsletter]" value="1" class="appearance-none shrink-0 rounded border cursor-pointer transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 w-5 h-5 border-gray-300 checked:bg-primary-600 checked:border-primary-600 focus:ring-primary-500 bg-white" />
<label for="user_newsletter" class="select-none cursor-pointer text-gray-700 text-sm">
Subscribe to newsletter
</label>
</div>
<div class="block text-gray-600 mt-1 text-sm">
Receive weekly updates about new features
</div>
</div>
<div class="form-field-wrapper">
<div class="flex items-start flex-row gap-2.5">
<input type="checkbox" id="user_marketing" name="user[marketing]" value="1" class="appearance-none shrink-0 rounded border cursor-pointer transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 w-5 h-5 border-gray-300 checked:bg-secondary-600 checked:border-secondary-600 focus:ring-secondary-500 bg-white" />
<label for="user_marketing" class="select-none cursor-pointer text-gray-700 text-sm">
Receive marketing emails
</label>
</div>
</div>
<div class="form-field-wrapper">
<div class="flex items-start flex-row gap-2.5">
<input type="checkbox" id="user_terms" name="user[terms]" value="1" required="required" class="appearance-none shrink-0 rounded border cursor-pointer transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 w-5 h-5 border-gray-300 checked:bg-primary-600 checked:border-primary-600 focus:ring-primary-500 bg-white" />
<label for="user_terms" class="select-none cursor-pointer text-gray-700 text-sm">
I agree to the terms and conditions
<span class="text-danger-600 ml-0.5">*</span>
</label>
</div>
</div>
<div class="pt-4">
<button type="submit" data-controller="better-ui--button" data-action="click->better-ui--button#handleClick" class="inline-flex items-center justify-center font-medium rounded-lg transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary-500 bg-primary-600 hover:bg-primary-700 active:bg-primary-800 text-grayscale-50 px-4 py-2 text-base gap-2 cursor-pointer">
<span data-better-ui--button-target="spinner" class="hidden">
<svg class="animate-spin w-5 h-5" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" aria-hidden="true">
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
<path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
</svg>
<span class="sr-only">Loading...</span>
</span>
<span data-better-ui--button-target="content" class=" inline-flex items-center gap-2">
Submit
</span>
</button>
</div>
</div>
</form>
</div>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<div class="p-4 max-w-md">
<h3 class="text-lg font-semibold mb-4">Form Builder Integration Example</h3>
<%= form_with url: "#", method: :post, builder: BetterUi::UiFormBuilder, data: { turbo: false } do |f| %>
<div class="space-y-4">
<%= render BetterUi::Forms::CheckboxComponent.new(
name: "user[newsletter]",
label: "Subscribe to newsletter",
hint: "Receive weekly updates about new features"
) %>
<%= render BetterUi::Forms::CheckboxComponent.new(
name: "user[marketing]",
label: "Receive marketing emails",
variant: :secondary
) %>
<%= render BetterUi::Forms::CheckboxComponent.new(
name: "user[terms]",
label: "I agree to the terms and conditions",
required: true,
variant: :primary
) %>
<div class="pt-4">
<%= render BetterUi::ButtonComponent.new(type: :submit, variant: :primary) do %>
Submit
<% end %>
</div>
</div>
<% end %>
</div>