<% align = field.dig('preferences', 'align') %> <% valign = field.dig('preferences', 'valign') %> <% color = field.dig('preferences', 'color') %> <% font = field.dig('preferences', 'font') %> <% font_type = field.dig('preferences', 'font_type') %> width: <%= area['w'] * 100 %>%; height: <%= area['h'] * 100 %>%; left: <%= area['x'] * 100 %>%; top: <%= area['y'] * 100 %>%; <%= "font-size: clamp(4pt, 1.6vw, #{field['preferences']['font_size'].to_i * 1.23}pt); line-height: `clamp(6pt, 2.0vw, #{(field['preferences']['font_size'].to_i * 1.23) + 3}pt)`" if field.dig('preferences', 'font_size') %>"> <% if field['type'] == 'signature' %>
<% if local_assigns[:with_signature_id] && attachment = attachments_index[value] %>
ID: <%= attachment.uuid %>
<% reason_value = submitter.values[field.dig('preferences', 'reason_field_uuid')].presence %> <% if reason_value %><%= t('reason') %>: <% end %><%= reason_value || t('digitally_signed_by') %> <%= submitter.name %> <% if submitter.email %> <<%= submitter.email %>> <% end %>
<%= l(attachment.created_at.in_time_zone(local_assigns[:timezone]), format: :long, locale: local_assigns[:locale]) %> <%= TimeUtils.timezone_abbr(local_assigns[:timezone], attachment.created_at) %>
<% end %>
<% elsif field['type'].in?(['image', 'initials', 'stamp']) %> <% elsif field['type'].in?(['file', 'payment']) %>
<% Array.wrap(value).each do |val| %> <%= svg_icon('paperclip', class: 'inline w-[1.6vw] h-[1.6vw] lg:w-4 lg:h-4') %> <%= attachments_index[val].filename %> <% end %>
<% elsif field['type'] == 'checkbox' %>
<%= svg_icon('check', class: "aspect-square #{area['w'] > area['h'] ? '!w-auto !h-full' : '!w-full !h-auto'}") %>
<% elsif field['type'].in?(%w[multiple radio]) && area['option_uuid'] %> <% option = field['options']&.find { |o| o['uuid'] == area['option_uuid'] } %> <% option_name = option['value'].presence || "Option #{field['options'].index(option) + 1}" %> <% if option && Array.wrap(value).include?(option_name) %>
<%= svg_icon('check', class: "aspect-square #{area['w'] > area['h'] ? '!w-auto !h-full' : '!w-full !h-auto'}") %>
<% end %> <% elsif field['type'] == 'cells' && area['cell_w'].to_f > 0.0 %> <% cell_width = area['cell_w'] / area['w'] * 100 %>
<% (0..(area['w'] / area['cell_w']).ceil).each do |index| %> <% if value[index] %>
<%= value[index] %>
<% end %> <% end %>
<% elsif field['type'] == 'date' %>
<% value = Time.current.in_time_zone(local_assigns[:timezone]).to_date.to_s if value == '{{date}}' %>
<%= TimeUtils.format_date_string(value, field.dig('preferences', 'format'), local_assigns[:locale]) %>
<% elsif field['type'] == 'number' %>
<%= NumberUtils.format_number(value, field.dig('preferences', 'format')) %>
<% else %>
<%= Array.wrap(value).join(', ') %>
<% end %>