bullet_train-themes-tailwind_css 1.7.17 → 1.7.19

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 691bac34eddd477ec464cbc139f5b3141dbb268aa932507c3b8cd4e985082b07
4
- data.tar.gz: 85da076212723a17033683b802dce2876015fdab7ccb62f273ac7ba0ec4e8821
3
+ metadata.gz: ff33b25261c2829061dc941a130de849a9a76110442b1e194919c4dbd12f51eb
4
+ data.tar.gz: 8b0b08e5778bfea06029d248d298caa2b1754e3217fa56d59db3b2e73cb0a652
5
5
  SHA512:
6
- metadata.gz: 7a5d1b5db36a9a1a0bcbd6f37f26ad7943a1f2eaea9facaec2ff28a0a1d87da818ed146eb3b046d810cb164e17cfe0a753bd7b9494e615928fb26dce301ac0ec
7
- data.tar.gz: 8d2cf5089d3efcd87cebbefc62456e0235ffbdd8b9c77296b6746fcd7fac8d6b4d15c84c6a4862e236b92b5a4bacdd96d1c3244ffe997d5861e2cb3809e676ba
6
+ metadata.gz: 21d5289351b097a151a75e17934a8756f7e7807861cd44638748cbdd80d6f145fecb91e1714cda98d7587158a82462558344305e814b2ed6bb6b08b6b3050402
7
+ data.tar.gz: a8fb9ed3341da42ed5a64b04364c78d9f6f846200a2c2eae485038d63d0c3c81bb2ddf25edc9e22df46c04a90d02634453b98709979cc808b91a41712a36c34d
@@ -6,7 +6,7 @@
6
6
  <%= render 'shared/attributes/attribute', object: object, attribute: attribute, strategy: strategy, url: url do %>
7
7
  <%= link_to url_for(object.public_send(attribute)), class: 'button download-file' do %>
8
8
  <i class="leading-none mr-2 text-base ti ti-download"></i>
9
- <span><%= t("global.file_fields.download") %></span>
9
+ <span><%= t("global.file_fields.download") %> - <%= object.public_send(attribute).filename %></span>
10
10
  <% end %>
11
11
  <% end %>
12
12
  <% end %>
@@ -6,7 +6,7 @@
6
6
  <% object.send(attribute).each do |file| %>
7
7
  <%= link_to url_for(file), class: 'button download-file' do %>
8
8
  <i class="leading-none mr-2 text-base ti ti-download"></i>
9
- <span>Download File</span>
9
+ <span><%= t("global.file_fields.download") %> - <%= file.filename %></span>
10
10
  <% end %>
11
11
  <% end %>
12
12
  <% end %>
@@ -27,15 +27,15 @@ options[:height] ||= 100
27
27
 
28
28
  <%= render 'shared/fields/field', form: form, method: method, helper: :file_field, options: options, other_options: other_options do %>
29
29
  <% content_for :field do %>
30
- <div class="file-field" data-controller="fields--file-field">
30
+ <div class="file-field" data-controller="fields--file-field" data-fields--file-field-select-different-file-value="<%= t('fields.select_different_file') %>">
31
31
  <%= form.file_field method, class: 'file-upload hidden', multiple: options[:multiple], direct_upload: true, data: {'fields--file-field-target': 'fileField', action: 'change->fields--file-field#handleFileSelected'} %>
32
32
  <div>
33
33
  <% if form.object.send(method).attached? %>
34
34
  <div class="divide-y-2 divide-dashed">
35
35
  <% persisted_files.each do |file| %>
36
- <div data-controller="fields--file-item" data-fields--file-item-id-value="<%= file.id %>">
36
+ <div data-controller="fields--file-item" data-fields--file-item-id-value="<%= file.id %>" class="py-1 flex flex-wrap items-center">
37
37
  <%= form.hidden_field "#{method}_removal".to_sym, multiple: options[:multiple], value: nil, data: {'fields--file-item-target': 'removeFileFlag'} %>
38
- <%= image_tag photo_url_for_active_storage_attachment(file, options), class: 'mb-1.5', data: {'fields--file-item-target': "fileName"} %>
38
+ <%= image_tag photo_url_for_active_storage_attachment(file, options), class: 'mb-1.5 mr-auto', data: {'fields--file-item-target': "fileName"} %>
39
39
 
40
40
  <%= link_to url_for(file), class: 'button download-file mr-3', data: {'fields--file-item-target': 'downloadFileButton'} do %>
41
41
  <i class="leading-none mr-2 text-base ti ti-download"></i>
@@ -45,15 +45,44 @@ options[:height] ||= 100
45
45
  <i class="leading-none mr-2 text-base ti ti-trash"></i>
46
46
  <span><%= t('fields.remove_image') %></span>
47
47
  </div>
48
+ <div class="button-alternative cursor-pointer mr-3 hidden" data-action="click->fields--file-item#cancelRemoveFile" data-fields--file-item-target="cancelRemoveFileButton">
49
+ <i class="leading-none mr-2 text-base ti ti-na"></i>
50
+ <span><%= t('fields.cancel_remove_image') %></span>
51
+ </div>
48
52
  </div>
49
53
  <% end %>
50
54
  </div>
51
55
  <% end %>
52
56
  </div>
53
57
  <div class="mt-2">
58
+ <div data-fields--file-field-target="selectedFileListContainer" class="hidden mb-2">
59
+ <div class="dark:text-white mb-1">
60
+ To upload:
61
+ </div>
62
+ <div data-fields--file-field-target="selectedFileList" class="divide-y-2 divide-dashed">
63
+ </div>
64
+ <template data-fields--file-field-target="selectedFileRowTemplate">
65
+ <div class="py-1 flex flex-wrap items-center">
66
+ <div>@FILENAME@</div>
67
+ <span data-action="click->fields--file-field#cancelFileUpload" data-filename="@FILENAME@" class="button-alternative cursor-pointer ml-auto">
68
+ <%= t('global.buttons.cancel') %>
69
+ </span>
70
+ </div>
71
+ </template>
72
+ </div>
54
73
  <div class="button-alternative cursor-pointer" data-action="click->fields--file-field#uploadFile" data-fields--file-field-target="selectFileButton">
55
- <i class="leading-none mr-2 text-base ti ti-upload dark:text-white"></i>
56
- <span class="dark:text-white"><%= t('fields.upload_image') %></span>
74
+ <i class="leading-none mr-2 text-base ti ti-upload dark:text-white" data-fields--file-field-target="selectFileButtonIcon"></i>
75
+ <span class="dark:text-white" data-fields--file-field-target="selectFileButtonText">
76
+ <% if form.object.send(method).attached? && !options[:multiple] %>
77
+ <%= t('fields.replace_image') %>
78
+ <% elsif form.object.send(method).attached? && options[:multiple] %>
79
+ <%= t('fields.add_another_image') %>
80
+ <% elsif options[:multiple] %>
81
+ <%= t('fields.upload_images') %>
82
+ <% else %>
83
+ <%= t('fields.upload_image') %>
84
+ <% end %>
85
+ </span>
57
86
  </div>
58
87
  <div class="mt-2 hidden overflow-hidden text-xs rounded bg-slate-100 shadow-inner relative">
59
88
  <div data-fields--file-field-target="progressBar" aria-valuemax="100" aria-valuemin="0" aria-valuenow="0" class="absolute top-0 left-0 whitespace-nowrap overflow-hidden animate-pulse bg-primary-500 dark:bg-slate-800 rounded" role="progressbar" style="width: 0%;">&nbsp;</div>
@@ -41,6 +41,13 @@ if defined?(multiple)
41
41
  end
42
42
  %>
43
43
 
44
+ <%
45
+ button_classes = "button-alternative mb-1.5 mr-1"
46
+ if options[:disabled]
47
+ button_classes += " bg-slate-200 dark:bg-slate-700 hover:bg-slate-200 hover:dark:bg-slate-700"
48
+ end
49
+ %>
50
+
44
51
  <% content = render 'shared/fields/field', form: form, method: method, options: options, other_options: other_options do %>
45
52
  <% content_for :field do %>
46
53
  <div>
@@ -52,7 +59,7 @@ end
52
59
  <% else %>
53
60
  <%= form.radio_button method, value, options %>
54
61
  <% end %>
55
- <button type="button" class="button-alternative mb-1.5 mr-1" data-action="<%= stimulus_controller %>#clickShadowField">
62
+ <button type="button" class="<%= button_classes %>" data-action="<%= stimulus_controller %>#clickShadowField">
56
63
  <%= label %>
57
64
  </button>
58
65
  </label>
@@ -24,7 +24,7 @@ data_options = data_options.merge({ data: {"#{stimulus_controller}-target": 'fie
24
24
 
25
25
  # localized display options
26
26
  options[:id] ||= "#{form.field_id(method)}_display"
27
- options[:class] = "form-control single-daterange w-full border-slate-300 dark:bg-slate-800 dark:border-slate-900 #{options[:class]}".strip
27
+ options[:class] = "form-control single-daterange w-full border-slate-300 dark:bg-slate-800 dark:border-slate-900 disabled:bg-slate-200 disabled:dark:bg-slate-700 #{options[:class]}".strip
28
28
  raw_value = form.object.send(method)&.in_time_zone(current_user&.time_zone || current_team_time_zone || "UTC")
29
29
  options[:value] = raw_value && I18n.l(raw_value, format: :date_and_time_field)
30
30
  options = options.merge({ data: {"#{stimulus_controller}-target": 'displayField' }})
@@ -15,7 +15,7 @@ data_options = data_options.merge({ data: {"#{stimulus_controller}-target": 'fie
15
15
 
16
16
  # localized display options
17
17
  options[:id] ||= "#{form.field_id(method)}_display"
18
- options[:class] = "form-control single-daterange w-full border-slate-300 dark:bg-slate-800 dark:border-slate-900 #{options[:class]}".strip
18
+ options[:class] = "form-control single-daterange w-full border-slate-300 dark:bg-slate-800 dark:border-slate-900 disabled:bg-slate-200 disabled:dark:bg-slate-700 #{options[:class]}".strip
19
19
  options[:value] = form.object.send(method) && I18n.l(form.object.send(method), format: :date_field)
20
20
  options = options.merge({ data: {"#{stimulus_controller}-target": 'displayField' }})
21
21
  %>
@@ -23,15 +23,15 @@ persisted_files = options[:multiple] ? form.object.send(method) : [form.object.s
23
23
 
24
24
  <%= render 'shared/fields/field', form: form, method: method, helper: :file_field, options: options, other_options: other_options do %>
25
25
  <% content_for :field do %>
26
- <div class="file-field" data-controller="fields--file-field">
26
+ <div class="file-field" data-controller="fields--file-field" data-fields--file-field-select-different-file-value="<%= t('fields.select_different_file') %>">
27
27
  <%= form.file_field method, options %>
28
28
  <div>
29
29
  <% if form.object.send(method).attached? %>
30
30
  <div class="divide-y-2 divide-dashed">
31
31
  <% persisted_files.each do |file| %>
32
- <div data-controller="fields--file-item" data-fields--file-item-id-value="<%= file.id %>">
32
+ <div data-controller="fields--file-item" data-fields--file-item-id-value="<%= file.id %>" class="py-1 flex flex-wrap items-center">
33
33
  <%= form.hidden_field "#{method}_removal".to_sym, multiple: options[:multiple], value: nil, data: {'fields--file-item-target': 'removeFileFlag'} %>
34
- <span data-fields--file-item-target="fileName" %>
34
+ <span data-fields--file-item-target="fileName" class="mr-auto"%>
35
35
  <%= file.blob.filename %>
36
36
  </span>
37
37
  <%= link_to url_for(file), class: 'button download-file mr-3', data: {'fields--file-item-target': 'downloadFileButton'} do %>
@@ -42,15 +42,44 @@ persisted_files = options[:multiple] ? form.object.send(method) : [form.object.s
42
42
  <i class="leading-none mr-2 text-base ti ti-trash"></i>
43
43
  <span><%= t('fields.remove_document') %></span>
44
44
  </div>
45
+ <div class="button-alternative cursor-pointer mr-3 hidden" data-action="click->fields--file-item#cancelRemoveFile" data-fields--file-item-target="cancelRemoveFileButton">
46
+ <i class="leading-none mr-2 text-base ti ti-na"></i>
47
+ <span><%= t('fields.cancel_remove_document') %></span>
48
+ </div>
45
49
  </div>
46
50
  <% end %>
47
51
  </div>
48
52
  <% end %>
49
53
  </div>
50
54
  <div class="mt-2">
55
+ <div data-fields--file-field-target="selectedFileListContainer" class="hidden mb-2">
56
+ <div class="dark:text-white mb-1">
57
+ To upload:
58
+ </div>
59
+ <div data-fields--file-field-target="selectedFileList" class="divide-y-2 divide-dashed">
60
+ </div>
61
+ <template data-fields--file-field-target="selectedFileRowTemplate">
62
+ <div class="py-1 flex flex-wrap items-center">
63
+ <div>@FILENAME@</div>
64
+ <span data-action="click->fields--file-field#cancelFileUpload" data-filename="@FILENAME@" class="button-alternative cursor-pointer ml-auto">
65
+ <%= t('global.buttons.cancel') %>
66
+ </span>
67
+ </div>
68
+ </template>
69
+ </div>
51
70
  <div class="button-alternative cursor-pointer" data-action="click->fields--file-field#uploadFile" data-fields--file-field-target="selectFileButton">
52
- <i class="leading-none mr-2 text-base ti ti-upload dark:text-white"></i>
53
- <span class="dark:text-white"><%= t('fields.upload_document') %></span>
71
+ <i class="leading-none mr-2 text-base ti ti-upload dark:text-white" data-fields--file-field-target="selectFileButtonIcon"></i>
72
+ <span class="dark:text-white" data-fields--file-field-target="selectFileButtonText">
73
+ <% if form.object.send(method).attached? && !options[:multiple] %>
74
+ <%= t('fields.replace_document') %>
75
+ <% elsif form.object.send(method).attached? && options[:multiple] %>
76
+ <%= t('fields.add_another_document') %>
77
+ <% elsif options[:multiple] %>
78
+ <%= t('fields.upload_documents') %>
79
+ <% else %>
80
+ <%= t('fields.upload_document') %>
81
+ <% end %>
82
+ </span>
54
83
  </div>
55
84
  <div class="mt-2 hidden overflow-hidden text-xs rounded bg-slate-100 shadow-inner relative">
56
85
  <div data-fields--file-field-target="progressBar" aria-valuemax="100" aria-valuemin="0" aria-valuenow="0" class="absolute top-0 left-0 whitespace-nowrap overflow-hidden animate-pulse bg-primary-500 dark:bg-slate-800 rounded" role="progressbar" style="width: 0%;">&nbsp;</div>
@@ -23,6 +23,7 @@ end
23
23
  #
24
24
  # the `append_class` local can be used to append any other styles desired for the element.
25
25
  options[:class] ||= "focus:ring-primary-500 h-4 w-4 text-primary-500 border-slate-300 dark:bg-slate-800 dark:border-slate-900 #{"rounded" if options[:multiple] || single_check_box}"
26
+ options[:class] += " disabled:bg-slate-200 disabled:dark:bg-slate-700" # classes to give a visual indicator when a field is disabled
26
27
  options[:class] += " #{append_class}"
27
28
  %>
28
29
 
@@ -79,7 +79,7 @@ end
79
79
  <%= check_box_tag "#{options[:id]}-select_all", 'select-all', false, data: {
80
80
  "select-all-target": 'toggleCheckbox',
81
81
  'action': "select-all#selectAllOrNone"
82
- }, class: "focus:ring-primary-500 h-4 w-4 text-primary-500 border-slate-300 rounded" %>
82
+ }, class: "focus:ring-primary-500 h-4 w-4 text-primary-500 border-slate-300 rounded disabled:bg-slate-200 disabled:dark:bg-slate-700" %>
83
83
  </div>
84
84
  <div class="ml-2.5 text-sm pr-4">
85
85
  <%= t("global.bulk_select.all") %>
@@ -2,7 +2,16 @@ en:
2
2
  fields:
3
3
  download_document: Download Current Document
4
4
  upload_document: Upload New Document
5
+ upload_documents: Upload New Documents
6
+ add_another_document: Add Another Document
7
+ replace_document: Replace Document
5
8
  remove_document: Remove Current Document
9
+ cancel_remove_document: Cancel Removal
6
10
  download_image: Download Current Image
7
11
  upload_image: Upload New Image
12
+ upload_images: Upload New Images
13
+ add_another_image: Add Another Image
14
+ replace_image: Replace Image
8
15
  remove_image: Remove Current Image
16
+ cancel_remove_image: Cancel Removal
17
+ select_different_file: Select A Different File
@@ -1,7 +1,7 @@
1
1
  module BulletTrain
2
2
  module Themes
3
3
  module TailwindCss
4
- VERSION = "1.7.17"
4
+ VERSION = "1.7.19"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bullet_train-themes-tailwind_css
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.17
4
+ version: 1.7.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Culver
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-11 00:00:00.000000000 Z
11
+ date: 2024-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: standard