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
50
51
52
53
54
55
56
57
58
59
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
<div class="flex flex-col gap-4">
<div>
<h3 class="text-primary-md-medium mb-2">With Model (no error)</h3>
<div class="lui-money lui-money--inline relative" data-controller="money-input">
<div data-controller="input" data-input-open-actions-value="false" class="lui-inner-input relative flex gap-2"
data-input-original-input-value="199.99"
data-input-mode-value="inline"
data-input-form-value="">
<div class="w-full flex flex-col">
<span class="lui-input ">
<span class="lui-input__addon-left">
<span class="lui-money__currency text-gray-700">
</span>
</span>
<input name="product[price]" type="number" value="199.99" placeholder="0.00" class="lui-input__input" mode="inline" contentEditable="true" data-input-target="input" data-action="input->input#onChange change->input#onChange" data-money-input-target="input" min="0" step="0.01" inputmode="decimal" pattern="[0-9]*[.,]?[0-9]*">
<span class="lui-input__spinner">
<i class="fa-regular fa-spinner"></i>
</span>
</span>
</div>
<span class="lui-inner-input__actions opacity-0 flex items-center gap-1 h-fit" data-input-target="actions">
<button class="lui-button lui-button--icon-only lui-button--neutral--secondary lui-button--size-tiny w-fit w-fit relative" data-controller="lui--button" data-input-target="cancel" data-action="click->input#handleClose" type="button" disabled="disabled">
<div class="opacity-100 inline-flex" data-lui--button-target="leadingIcon">
<div class="flex items-center justify-center" style="width: 12px; height: 12px;"><i class="lui-button__icon lui-button__icon--tiny fa-regular fa-xmark" data-lui--button-target="leadingIcon"></i></div>
</div>
<div class="absolute w-full flex items-center justify-center opacity-0" data-lui--button-target="loadingIcon">
<i class="lui-m_icon animate-spin material-symbols-outlined" style="--lui-micon-size: 12px;">
progress_activity
</i>
</div>
</button>
<button class="lui-button lui-button--icon-only lui-button--neutral--secondary lui-button--size-tiny w-fit w-fit relative" data-controller="lui--button" data-input-target="submit" data-action="click->input#setLoading" type="submit" disabled="disabled">
<div class="opacity-100 inline-flex" data-lui--button-target="leadingIcon">
<div class="flex items-center justify-center" style="width: 12px; height: 12px;"><i class="lui-button__icon lui-button__icon--tiny fa-regular fa-check" data-lui--button-target="leadingIcon"></i></div>
</div>
<div class="absolute w-full flex items-center justify-center opacity-0" data-lui--button-target="loadingIcon">
<i class="lui-m_icon animate-spin material-symbols-outlined" style="--lui-micon-size: 12px;">
progress_activity
</i>
</div>
</button>
</span>
</div>
</div>
</div>
<div>
<h3 class="text-primary-md-medium mb-2">With Model (with error)</h3>
<div class="lui-money lui-money--inline relative" data-controller="money-input">
<div data-controller="input" data-input-open-actions-value="false" class="lui-inner-input relative flex gap-2"
data-input-original-input-value=""
data-input-mode-value="inline"
data-input-form-value="">
<div class="w-full flex flex-col">
<span class="lui-input lui-input--with-error">
<span class="lui-input__addon-left">
<span class="lui-money__currency text-gray-700">
$
</span>
</span>
<input name="product[price]" type="number" value="" placeholder="0.00" class="lui-input__input" mode="inline" contentEditable="true" data-input-target="input" data-action="input->input#onChange change->input#onChange" data-money-input-target="input" min="0" step="0.01" inputmode="decimal" pattern="[0-9]*[.,]?[0-9]*">
<span class="lui-input__spinner">
<i class="fa-regular fa-spinner"></i>
</span>
</span>
<span class="lui-input__error">must be greater than 0</span>
</div>
<span class="lui-inner-input__actions opacity-0 flex items-center gap-1 h-fit" data-input-target="actions">
<button class="lui-button lui-button--icon-only lui-button--neutral--secondary lui-button--size-tiny w-fit w-fit relative" data-controller="lui--button" data-input-target="cancel" data-action="click->input#handleClose" type="button" disabled="disabled">
<div class="opacity-100 inline-flex" data-lui--button-target="leadingIcon">
<div class="flex items-center justify-center" style="width: 12px; height: 12px;"><i class="lui-button__icon lui-button__icon--tiny fa-regular fa-xmark" data-lui--button-target="leadingIcon"></i></div>
</div>
<div class="absolute w-full flex items-center justify-center opacity-0" data-lui--button-target="loadingIcon">
<i class="lui-m_icon animate-spin material-symbols-outlined" style="--lui-micon-size: 12px;">
progress_activity
</i>
</div>
</button>
<button class="lui-button lui-button--icon-only lui-button--neutral--secondary lui-button--size-tiny w-fit w-fit relative" data-controller="lui--button" data-input-target="submit" data-action="click->input#setLoading" type="submit" disabled="disabled">
<div class="opacity-100 inline-flex" data-lui--button-target="leadingIcon">
<div class="flex items-center justify-center" style="width: 12px; height: 12px;"><i class="lui-button__icon lui-button__icon--tiny fa-regular fa-check" data-lui--button-target="leadingIcon"></i></div>
</div>
<div class="absolute w-full flex items-center justify-center opacity-0" data-lui--button-target="loadingIcon">
<i class="lui-m_icon animate-spin material-symbols-outlined" style="--lui-micon-size: 12px;">
progress_activity
</i>
</div>
</button>
</span>
</div>
</div>
</div>
</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
33
34
35
36
37
38
39
40
<%
# Example with a mock model
product = Struct.new(:model_name, :price, :errors).new(
Struct.new(:param_key).new("product"),
"199.99",
ActiveModel::Errors.new(self)
)
%>
<div class="flex flex-col gap-4">
<div>
<h3 class="text-primary-md-medium mb-2">With Model (no error)</h3>
<%= render LooposUi::Inputs::Money.new(
model: product,
attribute: :price,
currency: "EUR",
placeholder: "0.00"
) %>
</div>
<%
# Mock model with error
product_with_error = Struct.new(:model_name, :price, :errors).new(
Struct.new(:param_key).new("product"),
"",
ActiveModel::Errors.new(self)
)
product_with_error.errors.add(:price, "must be greater than 0")
%>
<div>
<h3 class="text-primary-md-medium mb-2">With Model (with error)</h3>
<%= render LooposUi::Inputs::Money.new(
model: product_with_error,
attribute: :price,
currency: "USD",
placeholder: "0.00"
) %>
</div>
</div>