app/components/solidus_admin/ui/forms/input/component.rb in solidus_admin-0.0.2 vs app/components/solidus_admin/ui/forms/input/component.rb in solidus_admin-0.1.0
- old
+ new
@@ -1,12 +1,12 @@
# frozen_string_literal: true
class SolidusAdmin::UI::Forms::Input::Component < SolidusAdmin::BaseComponent
SIZES = {
- s: "form-control-sm px-3 py-1.5 body-small",
- m: "form-control-md px-3 py-1.5 body-small",
- l: "form-control-lg px-3 py-1.5 body-text"
+ s: "form-control-sm px-3 py-1.5 font-normal text-sm",
+ m: "form-control-md px-3 py-1.5 font-normal text-sm",
+ l: "form-control-lg px-3 py-1.5 font-normal text-base"
}.freeze
HEIGHTS = {
s: "h-7",
m: "h-9",
@@ -30,27 +30,33 @@
color
date
datetime-local
month
week
+ search
time
]).freeze
def initialize(tag: :input, size: :m, error: nil, **attributes)
raise ArgumentError, "unsupported tag: #{tag}" unless %i[input textarea select].include?(tag)
specialized_classes = []
+ readonly_classes = "read-only:bg-gray-15 focus:read-only:bg-gray-15 focus:read-only:ring-0
+ read-only:cursor-not-allowed read-only:focus:border-gray-300
+ read-only:hover:border-gray-300 read-only:hover:focus:border-gray-300"
case tag
when :input
specialized_classes << "form-input"
+ specialized_classes << readonly_classes
specialized_classes << HEIGHTS[size]
if attributes[:type] && !TYPES.include?(attributes[:type])
raise ArgumentError, "unsupported type attribute: #{attributes[:type]}"
end
when :textarea
specialized_classes << "form-textarea"
+ specialized_classes << readonly_classes
specialized_classes << MULTILINE_HEIGHTS[size]
when :select
if attributes[:multiple]
specialized_classes << "form-multiselect"
specialized_classes << MULTILINE_HEIGHTS[size]
@@ -66,11 +72,11 @@
w-full
text-black bg-white border border-gray-300 rounded-sm placeholder:text-gray-400
hover:border-gray-500
focus:ring focus:ring-gray-300 focus:ring-0.5 focus:bg-white focus:ring-offset-0 [&:focus-visible]:outline-none
disabled:bg-gray-50 disabled:text-gray-500 disabled:placeholder:text-gray-300 disabled:cursor-not-allowed
- invalid:border-red-400 invalid:hover:border-red-400 invalid:text-red-400
- aria-invalid:border-red-400 aria-invalid:hover:border-red-400 aria-invalid:text-red-400
+ invalid:border-red-600 invalid:hover:border-red-600 invalid:text-red-600
+ aria-invalid:border-red-600 aria-invalid:hover:border-red-600 aria-invalid:text-red-600
],
SIZES[size],
specialized_classes,
attributes[:class],
].compact.join(" ")