bullet_train-themes-tailwind_css 1.7.17 → 1.7.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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