tramway 2.0.3.4 → 2.0.4

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.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/app/components/tailwinds/badge_component.rb +2 -2
  3. data/app/components/tailwinds/button_component.rb +24 -15
  4. data/app/components/tailwinds/containers/narrow_component.html.haml +2 -2
  5. data/app/components/tailwinds/form/date_field_component.html.haml +1 -2
  6. data/app/components/tailwinds/form/file_field_component.html.haml +1 -2
  7. data/app/components/tailwinds/form/label_component.html.haml +1 -1
  8. data/app/components/tailwinds/form/multiselect/dropdown_container.html.haml +1 -1
  9. data/app/components/tailwinds/form/multiselect/item_container.html.haml +2 -2
  10. data/app/components/tailwinds/form/multiselect/select_as_input.html.haml +1 -2
  11. data/app/components/tailwinds/form/multiselect/selected_item_template.html.haml +1 -1
  12. data/app/components/tailwinds/form/multiselect_component.html.haml +3 -3
  13. data/app/components/tailwinds/form/number_field_component.html.haml +2 -2
  14. data/app/components/tailwinds/form/select_component.html.haml +3 -3
  15. data/app/components/tailwinds/form/submit_button_component.html.haml +2 -2
  16. data/app/components/tailwinds/form/text_area_component.html.haml +2 -2
  17. data/app/components/tailwinds/form/text_field_component.html.haml +2 -2
  18. data/app/components/tailwinds/nav/item_component.rb +1 -2
  19. data/app/components/tailwinds/navbar_component.html.haml +3 -3
  20. data/app/components/tailwinds/navbar_component.rb +1 -31
  21. data/app/components/tailwinds/pagination/base.rb +4 -5
  22. data/app/components/tailwinds/pagination/gap_component.html.haml +2 -2
  23. data/app/components/tailwinds/pagination/page_component.html.haml +1 -1
  24. data/app/components/tailwinds/table/cell_component.html.haml +1 -1
  25. data/app/components/tailwinds/table/header_component.html.haml +1 -1
  26. data/app/components/tailwinds/table/row/preview_component.html.haml +2 -2
  27. data/app/components/tailwinds/table/row_component.html.haml +1 -1
  28. data/app/components/tailwinds/table/row_component.rb +3 -3
  29. data/app/components/tailwinds/table_component.html.haml +1 -1
  30. data/app/components/tailwinds/title_component.html.haml +1 -1
  31. data/app/views/tramway/layouts/application.html.haml +1 -1
  32. data/config/tailwind.config.js +42 -28
  33. data/lib/tramway/version.rb +1 -1
  34. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 432eb51d5ccc768e866333ce1e9e1289c8248d4508344cb47fa793b844397bb9
4
- data.tar.gz: b53ed3d386c151388af013476d62c86f0b2e361a13cc724c50bccde9523d1227
3
+ metadata.gz: 6ff06a67cd963b32a286efe781e1bafe4a724ac7aec363d532a977f25f4f1120
4
+ data.tar.gz: a7747754a0166d497f42c414bf5d5b44e422de164fc0f0951d74928bfbdea636
5
5
  SHA512:
6
- metadata.gz: b7b58bb1b715711c93f179364180d9f4fe981ce199409603eeb2dfa4aea2611d7bbdb8d3d75f833ae85d6434e8795de2e0b847f6156c61b43dab374ad4d07c0c
7
- data.tar.gz: 2ea58020720276044dd14646210e9dc19f56867036fff85efe4c26336e2868172e6b99784df4a8139906f91a5af5eb0309494e42b81d1eaa8664fc3bc9c160a3
6
+ metadata.gz: 85151bcb6a37f71972d5fc6494d36e026e2796e92b4988063e9cacd9d369415847a1aa20ca9cf86ec592c0851da4701c79063f96db1ffec4ed3db68b241b824d
7
+ data.tar.gz: 54bce62f0896125d142ad323914c7d7385f4e35469fac027fbfcec81dee4cf7c13afb641e5b0b20c5118acf2cd3298e733fa5e772515b71b750c7c59b4b097c5
@@ -10,8 +10,8 @@ module Tailwinds
10
10
 
11
11
  def classes
12
12
  [
13
- 'flex', 'px-3', 'py-1', 'text-sm', 'font-semibold', 'text-white', "bg-#{resolved_color}-500",
14
- "dark:bg-#{resolved_color}-600", 'rounded-full', 'w-fit', 'h-fit'
13
+ 'flex', 'px-3', 'py-1', 'text-sm', 'font-semibold', 'text-white',
14
+ "bg-#{resolved_color}-600", 'rounded-full', 'w-fit', 'h-fit'
15
15
  ]
16
16
  end
17
17
  end
@@ -24,9 +24,8 @@ module Tailwinds
24
24
 
25
25
  def classes
26
26
  (default_classes +
27
- light_mode_classes +
28
- dark_mode_classes +
29
- (link ? %w[px-1 h-fit] : ['cursor-pointer'])).compact.join(' ')
27
+ color_classes +
28
+ (link ? %w[px-1 h-fit] : [cursor_class])).compact.join(' ')
30
29
  end
31
30
 
32
31
  def default_classes
@@ -36,20 +35,30 @@ module Tailwinds
36
35
  ]
37
36
  end
38
37
 
39
- def light_mode_classes
40
- [
41
- "bg-#{resolved_color}-500",
42
- "hover:bg-#{resolved_color}-700",
43
- 'text-white'
44
- ]
38
+ def color_classes
39
+ if disabled?
40
+ %w[bg-gray-400 text-gray-100]
41
+ else
42
+ [
43
+ "bg-#{resolved_color}-600",
44
+ "hover:bg-#{resolved_color}-800",
45
+ 'text-gray-300'
46
+ ]
47
+ end
45
48
  end
46
49
 
47
- def dark_mode_classes
48
- [
49
- "dark:bg-#{resolved_color}-600",
50
- "dark:hover:bg-#{resolved_color}-800",
51
- 'dark:text-gray-300'
52
- ]
50
+ def disabled?
51
+ options[:disabled] || false
52
+ end
53
+
54
+ private
55
+
56
+ def cursor_class
57
+ if !link && !disabled?
58
+ 'cursor-pointer'
59
+ else
60
+ 'cursor-not-allowed'
61
+ end
53
62
  end
54
63
  end
55
64
  end
@@ -1,3 +1,3 @@
1
- .container.p-4.flex.align-center.justify-center.w-full.mx-auto.bg-gray-100.dark:bg-gray-900.text-gray-900.dark:text-white{ id: }
2
- .flex.flex-col.justify-center.w-full.dark:text-white
1
+ .container.p-4.flex.align-center.justify-center.w-full.mx-auto.bg-gray-900.text-white{ id: }
2
+ .flex.flex-col.justify-center.w-full
3
3
  = content
@@ -2,7 +2,6 @@
2
2
  - if @label
3
3
  = component('tailwinds/form/label', for: @for) do
4
4
  = @label
5
- - base_classes = 'w-full bg-white border border-gray-300 rounded focus:outline-none focus:border-red-500 '
6
- - base_classes += 'dark:bg-gray-800 dark:border-gray-600 dark:text-white dark:focus:border-red-400 dark:placeholder-white'
5
+ - base_classes = 'w-full border rounded focus:outline-none bg-gray-800 border-gray-600 text-white focus:border-red-400 placeholder-white'
7
6
  - classes = "#{size_class(:text_input)} #{base_classes}"
8
7
  = @input.call @attribute, **@options.merge(class: classes), value: @value
@@ -1,7 +1,6 @@
1
1
  .mb-4
2
2
  - if @label
3
- - base_classes = 'inline-block bg-blue-500 hover:bg-blue-700 text-white font-bold rounded cursor-pointer mt-4 '
4
- - base_classes += 'dark:bg-blue-600 dark:hover:bg-blue-500'
3
+ - base_classes = 'inline-block text-white font-bold rounded cursor-pointer mt-4 bg-blue-600 hover:bg-blue-500'
5
4
  - classes = "#{size_class(:file_button)} #{base_classes}"
6
5
  %label{ for: @for, class: classes }
7
6
  = @label
@@ -1,2 +1,2 @@
1
- %label.block.text-gray-700.text-sm.font-bold.mb-2.dark:text-white{ for: }
1
+ %label.block.text-sm.font-bold.mb-2.text-white{ for: }
2
2
  = content
@@ -1,3 +1,3 @@
1
- #dropdown.absolute.shadow.top-11.bg-white.z-40.w-full.lef-0.rounded.max-h-select.overflow-y-auto.dark:bg-gray-800.dark:shadow-lg.dark:ring-1.dark:ring-gray-700{ data: { action: "click@window->multiselect#closeOnClickOutside" } }
1
+ #dropdown.absolute.shadow.top-11.z-40.w-full.lef-0.rounded.max-h-select.overflow-y-auto.bg-gray-800.shadow-lg.ring-1.ring-gray-700{ data: { action: "click@window->multiselect#closeOnClickOutside" } }
2
2
  .flex.flex-col.w-full
3
3
  {{content}}
@@ -1,5 +1,5 @@
1
- .cursor-pointer.w-full.border-gray-100.rounded-t.border-b.hover:bg-teal-100.dark:border-gray-700.dark:hover:bg-gray-700{ data: { action: "click->multiselect#toggleItem", text: "{{text}}", value: "{{value}}" } }
2
- .flex.w-full.items-center.p-2.pl-2.border-transparent.border-l-2.relative.hover:border-teal-100.dark:hover:border-gray-600
1
+ .cursor-pointer.w-full.rounded-t.border-b.border-gray-700.hover:bg-gray-700{ data: { action: "click->multiselect#toggleItem", text: "{{text}}", value: "{{value}}" } }
2
+ .flex.w-full.items-center.p-2.pl-2.border-transparent.border-l-2.relative.hover:border-gray-600
3
3
  .w-full.items-center.flex.dark:text-gray-100
4
4
  .mx-2.leading-6
5
5
  {{text}}
@@ -1,5 +1,4 @@
1
1
  .flex-1
2
- - base_classes = 'bg-transparent appearance-none outline-none h-full w-full text-gray-800 hidden '
3
- - base_classes += 'dark:text-white dark:placeholder-white'
2
+ - base_classes = 'bg-transparent appearance-none outline-none h-full w-full hidden text-white placeholder-white'
4
3
  - classes = "#{@size_class} #{base_classes}"
5
4
  = @input.call(@attribute, @options.merge(placeholder: "{{placeholder}}", class: classes, data: { 'multiselect-target' => 'hiddenInput' }))
@@ -1,4 +1,4 @@
1
- .flex.justify-center.items-center.m-1.font-medium.py-1.px-2.bg-white.rounded-full.text-teal-700.bg-teal-100.border.border-teal-300.dark:bg-teal-900.dark:text-teal-100.dark:border-teal-700
1
+ .flex.justify-center.items-center.m-1.font-medium.py-1.px-2.rounded-full.border.bg-teal-900.text-teal-100.border-teal-700
2
2
  .text-xs.font-normal.leading-none.max-w-full.flex-initial
3
3
  {{text}}
4
4
  .flex.flex-auto.flex-row-reverse
@@ -2,9 +2,9 @@
2
2
  - if @label
3
3
  = component('tailwinds/form/label', for: @for) do
4
4
  = @label
5
- .flex.flex-col.relative.dark:text-gray-100{ data: multiselect_hash, id: "#{@for}_multiselect" }
5
+ .flex.flex-col.relative.text-gray-100{ data: multiselect_hash, id: "#{@for}_multiselect" }
6
6
  .min-w-96.w-fit
7
- .p-1.flex.border.border-gray-200.bg-white.rounded.dark:border-gray-600.dark:bg-gray-800{ data: { "multiselect-target" => "dropdown" } }
7
+ .p-1.flex.border.rounded.border-gray-600.bg-gray-800{ data: { "multiselect-target" => "dropdown" } }
8
8
  .flex.flex-auto.flex-wrap{ data: { "multiselect-target" => "showSelectedArea" } }
9
- .text-gray-300.w-8.py-1.pl-2.pr-1.border-l.flex.items-center.border-gray-200.dark:text-gray-500.dark:border-gray-600
9
+ .w-8.py-1.pl-2.pr-1.border-l.flex.items-center.text-gray-500.border-gray-600
10
10
  ^
@@ -2,7 +2,7 @@
2
2
  - if @label
3
3
  = component('tailwinds/form/label', for: @for) do
4
4
  = @label
5
- - base_classes = 'w-full bg-white border border-gray-300 rounded focus:outline-none focus:border-red-500 '
6
- - base_classes += 'dark:bg-gray-800 dark:border-gray-600 dark:text-white dark:focus:border-red-400 dark:placeholder-white'
5
+ - base_classes = 'w-full border rounded focus:outline-none '
6
+ - base_classes += 'bg-gray-800 border-gray-600 text-white focus:border-red-400 placeholder-white'
7
7
  - classes = "#{size_class(:text_input)} #{base_classes}"
8
8
  = @input.call @attribute, **@options.merge(class: classes), value: @value
@@ -2,8 +2,8 @@
2
2
  - if @label
3
3
  = component('tailwinds/form/label', for: @for) do
4
4
  = @label
5
- - base_classes = 'w-full bg-white border border-gray-300 text-gray-700 rounded focus:outline-none focus:ring-2 focus:ring-blue-500 '
6
- - base_classes += 'focus:border-transparent disabled:bg-gray-100 disabled:text-gray-400 disabled:cursor-not-allowed '
7
- - base_classes += 'dark:bg-gray-800 dark:border-gray-600 dark:text-gray-100 dark:focus:ring-red-400 dark:disabled:bg-gray-800 dark:disabled:text-gray-500'
5
+ - base_classes = 'w-full border rounded focus:outline-none focus:ring-2 '
6
+ - base_classes += 'focus:border-transparent disabled:cursor-not-allowed '
7
+ - base_classes += 'bg-gray-800 border-gray-600 text-gray-100 focus:ring-red-400 disabled:bg-gray-800 disabled:text-gray-500'
8
8
  - classes = "#{size_class(:select_input)} #{base_classes}"
9
9
  = @input.call(@attribute, @collection, { selected: @value }, @options.merge(class: classes))
@@ -1,6 +1,6 @@
1
1
  .flex.items-center.justify-between
2
- - base_classes = 'bg-red-500 hover:bg-red-700 text-white font-bold rounded focus:outline-none focus:shadow-outline cursor-pointer '
3
- - base_classes += 'dark:text-white dark:bg-red-600 dark:hover:bg-red-500 dark:focus:ring-2 dark:focus:ring-red-400'
2
+ - base_classes = 'hover:bg-red-700 font-bold rounded focus:outline-none focus:shadow-outline cursor-pointer '
3
+ - base_classes += 'text-white bg-red-600 hover:bg-red-500 focus:ring-2 focus:ring-red-400'
4
4
  - classes = "#{size_class(:submit_button)} #{base_classes}"
5
5
 
6
6
  = helpers.tramway_button text: @text,
@@ -2,7 +2,7 @@
2
2
  - if @label
3
3
  = component('tailwinds/form/label', for: @for) do
4
4
  = @label
5
- - base_classes = 'w-full bg-white border border-gray-300 rounded focus:outline-none focus:border-red-500 '
6
- - base_classes += 'dark:bg-gray-800 dark:border-gray-600 dark:text-white dark:focus:border-red-400 dark:placeholder-white'
5
+ - base_classes = 'w-full border rounded focus:outline-none '
6
+ - base_classes += 'bg-gray-800 border-gray-600 text-white focus:border-red-400 placeholder-white'
7
7
  - classes = "#{size_class(:text_input)} #{base_classes}"
8
8
  = @input.call @attribute, **@options.merge(class: classes), value: @value
@@ -2,7 +2,7 @@
2
2
  - if @label
3
3
  = component('tailwinds/form/label', for: @for) do
4
4
  = @label
5
- - base_classes = 'w-full bg-white border border-gray-300 rounded focus:outline-none focus:border-red-500 '
6
- - base_classes += 'dark:bg-gray-800 dark:border-gray-600 dark:text-white dark:focus:border-red-400 dark:placeholder-white'
5
+ - base_classes = 'w-full border rounded focus:outline-none '
6
+ - base_classes += 'bg-gray-800 border-gray-600 text-white focus:border-red-400 placeholder-white'
7
7
  - classes = "#{size_class(:text_input)} #{base_classes}"
8
8
  = @input.call @attribute, **@options.merge(class: classes), value: @value
@@ -7,8 +7,7 @@ module Tailwinds
7
7
  class ItemComponent < TailwindComponent
8
8
  def style
9
9
  @style ||= [
10
- 'text-white', 'hover:bg-gray-300', 'hover:text-gray-800', 'px-4', 'py-2', 'rounded', 'whitespace-nowrap',
11
- 'dark:hover:bg-gray-700', 'dark:hover:text-gray-400', 'dark:text-white'
10
+ 'px-4', 'py-2', 'rounded', 'whitespace-nowrap', 'hover:bg-gray-700', 'hover:text-gray-400', 'text-white'
12
11
  ].join(' ')
13
12
  end
14
13
  end
@@ -1,10 +1,10 @@
1
- %nav.py-2.px-4.sm:px-8.flex.justify-between.items-center.dark:bg-gray-800{ class: "bg-#{@color}" }
1
+ %nav.py-2.px-4.sm:px-8.flex.justify-between.items-center.bg-gray-800
2
2
  .flex.justify-between.w-full
3
3
  - if @title[:text].present? || @left_items.present?
4
4
  .flex.items-center
5
5
  - if @title[:text].present?
6
6
  = link_to @title[:link] do
7
- .text-xl.text-white.font-bold.dark:text-white
7
+ .text-xl.font-bold.text-white
8
8
  = @title[:text]
9
9
  - if @left_items.present?
10
10
  %ul.flex-row.items-center.space-x-4.ml-4.hidden.md:flex
@@ -20,7 +20,7 @@
20
20
  - @right_items.each do |item|
21
21
  = item
22
22
 
23
- #mobile-menu.hidden.flex-col.sm:hidden.dark:bg-gray-800
23
+ #mobile-menu.hidden.flex-col.sm:hidden.bg-gray-800
24
24
  - if @left_items.present?
25
25
  %ul.flex.flex-col.space-y-2
26
26
  - @left_items.each do |item|
@@ -1,42 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Tailwinds
4
- # Background helper module
5
- #
6
- module BackgroundHelper
7
- CSS_COLORS = %i[aqua black blue fuchsia gray green lime maroon navy olive orange purple red
8
- silver teal white yellow].freeze
9
- MIN_INTENSITY = 100
10
- MAX_INTENSITY = 950
11
- DEFAULT_BACKGROUND_COLOR = :purple
12
- DEFAULT_BACKGROUND_INTENSITY = 700
13
-
14
- def self.background(options)
15
- color = options.dig(:background, :color) || DEFAULT_BACKGROUND_COLOR
16
- intensity = options.dig(:background, :intensity) || DEFAULT_BACKGROUND_INTENSITY
17
-
18
- unless (MIN_INTENSITY..MAX_INTENSITY).cover?(intensity)
19
- raise "Navigation Background Color intensity should be between #{MIN_INTENSITY} and #{MAX_INTENSITY}"
20
- end
21
-
22
- if color.in? CSS_COLORS
23
- "#{color}-#{intensity}"
24
- else
25
- "[#{color}]"
26
- end
27
- end
28
- end
29
-
30
- # Navbar class main class
31
- #
4
+ # Navbar component
32
5
  class NavbarComponent < TailwindComponent
33
- include Tailwinds::BackgroundHelper
34
-
35
6
  def initialize(**options)
36
7
  @title = { text: options[:title], link: options[:title_link] || '/' }
37
8
  @left_items = options[:left_items]
38
9
  @right_items = options[:right_items]
39
- @color = BackgroundHelper.background(options)
40
10
  end
41
11
  end
42
12
  end
@@ -8,15 +8,14 @@ module Tailwinds
8
8
  option :url
9
9
  option :remote
10
10
 
11
- # :reek:UtilityFunction { enabled: false }
12
11
  def pagination_classes(klass: nil)
13
- default_classes = ['cursor-pointer', 'px-3', 'py-2', 'font-medium', 'text-purple-700', 'bg-white',
14
- 'rounded-md', 'hover:bg-purple-100', 'dark:text-white', 'dark:bg-gray-800',
15
- 'dark:hover:bg-gray-700']
12
+ default_classes = [
13
+ 'cursor-pointer', 'px-3', 'py-2', 'font-medium', 'rounded-md', 'text-white', 'bg-gray-800',
14
+ 'hover:bg-gray-700'
15
+ ]
16
16
 
17
17
  (default_classes + [klass]).join(' ')
18
18
  end
19
- # :reek:UtilityFunction { enabled: true }
20
19
  end
21
20
  end
22
21
  end
@@ -1,3 +1,3 @@
1
1
  %div.flex.justify-end.mt-2
2
- %span.page.gap.px-3.py-2.text-sm.font-medium.text-purple-700.dark:text-white.sm:flex.hidden
3
- = helpers.t('views.pagination.truncate').html_safe
2
+ %span.page.gap.px-3.py-2.text-sm.font-medium.text-white.sm:flex.hidden
3
+ = helpers.t('views.pagination.truncate').html_safe
@@ -1,5 +1,5 @@
1
1
  - if page.current?
2
- %span.px-3.py-2.font-medium.rounded-md.bg-purple-500.text-white.dark:text-gray-800.dark:bg-white
2
+ %span.px-3.py-2.font-medium.rounded-md.text-gray-800.bg-white
3
3
  = page
4
4
  - else
5
5
  = link_to page,
@@ -1,2 +1,2 @@
1
- .div-table-cell.md:block.first:block.hidden.px-6.py-4.font-medium.text-gray-900.dark:text-white.text-base
1
+ .div-table-cell.md:block.first:block.hidden.px-6.py-4.font-medium.text-white.text-base
2
2
  = content
@@ -1,4 +1,4 @@
1
- .div-table-row.grid.text-white.text-small.gap-4.bg-purple-700.dark:bg-gray-700.dark:text-gray-400.grid-cols-1{ class: "md:grid-cols-#{columns_count}", aria: { label: "Table Header" }, role: "row" }
1
+ .div-table-row.grid.text-small.gap-4.bg-gray-700.text-gray-400.grid-cols-1{ class: "md:grid-cols-#{columns_count}", aria: { label: "Table Header" }, role: "row" }
2
2
  - if headers.any?
3
3
  - headers.each do |header|
4
4
  .div-table-cell.py-4.px-6.first:block.hidden.md:block
@@ -13,6 +13,6 @@
13
13
  animation: roll-up 0.5s ease-in-out;
14
14
  }
15
15
 
16
- #roll-up.fixed.hidden.inset-x-0.bottom-0.bg-purple-700.shadow-lg.z-50.dark:bg-gray-800.animate-roll-up{ class: 'h-1/2' }
17
- %button.absolute.top-4.text-white.right-4.hover:text-gray-700.dark:text-gray-400.dark:hover:text-gray-200{ "data-action" => "click->preview#close", "data-controller" => "preview" }
16
+ #roll-up.fixed.hidden.inset-x-0.bottom-0.shadow-lg.z-50.bg-gray-800.animate-roll-up{ class: 'h-1/2' }
17
+ %button.absolute.top-4.right-4.text-gray-400.hover:text-gray-200{ "data-action" => "click->preview#close", "data-controller" => "preview" }
18
18
  &#x2715;
@@ -1,7 +1,7 @@
1
1
  - if cells.any?
2
2
  = row_tag class: desktop_row_classes(cells.count), **options do
3
3
  - cells.each do |(_, value)|
4
- .div-table-cell.px-6.py-4.font-medium.text-gray-900.dark:text-white.text-xs.sm:text-base
4
+ .div-table-cell.px-6.py-4.font-medium.text-white.text-xs.sm:text-base
5
5
  = value
6
6
 
7
7
  - else
@@ -24,13 +24,13 @@ module Tailwinds
24
24
 
25
25
  def desktop_row_classes(cells_count)
26
26
  [
27
- 'div-table-row', 'grid', 'gap-4', 'bg-white', 'border-b', 'last:border-b-0', 'dark:bg-gray-800',
28
- 'dark:border-gray-700', "md:grid-cols-#{cells_count}", 'grid-cols-1'
27
+ 'div-table-row', 'grid', 'gap-4', 'border-b', 'last:border-b-0', 'bg-gray-800',
28
+ 'border-gray-700', "md:grid-cols-#{cells_count}", 'grid-cols-1'
29
29
  ].join(' ')
30
30
  end
31
31
 
32
32
  def link_row_classes
33
- 'cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700'
33
+ 'cursor-pointer hover:bg-gray-700'
34
34
  end
35
35
  end
36
36
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  - width_class = options[:class]&.include?('w-') ? '' : 'w-full'
4
4
 
5
- .div-table.text-left.rtl:text-right.text-gray-500.dark:text-gray-400{ class: "#{options[:class]} #{width_class}", **options.except(:class) }
5
+ .div-table.text-left.rtl:text-right.text-gray-400{ class: "#{options[:class]} #{width_class}", **options.except(:class) }
6
6
  = content
@@ -1,4 +1,4 @@
1
- %h1.font-bold.text-4xl.dark:text-white
1
+ %h1.font-bold.text-4xl.text-white
2
2
  - if text.present?
3
3
  = text
4
4
  - else
@@ -19,7 +19,7 @@
19
19
  / Includes all stylesheet files in app/assets/stylesheets
20
20
  = stylesheet_link_tag "tailwind", "data-turbo-track": "reload"
21
21
 
22
- %body.bg-gray-100.dark:bg-gray-900.text-gray-900.dark:text-white
22
+ %body.bg-gray-900.text-white
23
23
  = tramway_navbar title: 'Tramway'
24
24
 
25
25
  - if flash.any?
@@ -98,14 +98,14 @@ module.exports = {
98
98
  'hover:text-gray-800',
99
99
 
100
100
  // === Dark mode pagination styles ===
101
- 'dark:text-white',
102
- 'dark:bg-gray-800',
103
- 'dark:hover:bg-gray-700',
104
- 'dark:bg-gray-900',
105
- 'dark:bg-gray-700',
106
- 'dark:text-gray-400',
107
- 'dark:hover:text-gray-400',
108
- 'dark:placeholder-gray-400',
101
+ 'text-white',
102
+ 'bg-gray-800',
103
+ 'hover:bg-gray-700',
104
+ 'bg-gray-900',
105
+ 'bg-gray-700',
106
+ 'text-gray-400',
107
+ 'hover:text-gray-400',
108
+ 'placeholder-gray-400',
109
109
 
110
110
  // === Button and badge helpers ===
111
111
  'bg-purple-700',
@@ -121,41 +121,55 @@ module.exports = {
121
121
 
122
122
  // === Button color presets ===
123
123
  'bg-gray-500',
124
+ 'bg-gray-600',
124
125
  'hover:bg-gray-700',
125
- 'dark:bg-gray-600',
126
- 'dark:hover:bg-gray-800',
126
+ 'hover:bg-gray-800',
127
+
127
128
  'bg-blue-500',
129
+ 'bg-blue-600',
128
130
  'hover:bg-blue-700',
129
- 'dark:bg-blue-600',
130
- 'dark:hover:bg-blue-800',
131
+ 'hover:bg-blue-800',
132
+
131
133
  'bg-zinc-500',
134
+ 'bg-zinc-600',
132
135
  'hover:bg-zinc-700',
133
- 'dark:bg-zinc-600',
134
- 'dark:hover:bg-zinc-800',
136
+ 'hover:bg-zinc-800',
137
+
138
+ 'bg-green-400',
135
139
  'bg-green-500',
140
+ 'bg-green-600',
136
141
  'hover:bg-green-700',
137
- 'dark:bg-green-600',
138
- 'dark:hover:bg-green-800',
142
+ 'hover:bg-green-800',
143
+
139
144
  'bg-orange-500',
145
+ 'bg-orange-600',
140
146
  'hover:bg-orange-700',
141
- 'dark:bg-orange-600',
142
- 'dark:hover:bg-orange-800',
147
+ 'hover:bg-orange-800',
148
+
143
149
  'bg-red-500',
150
+ 'bg-red-600',
144
151
  'hover:bg-red-700',
145
- 'dark:bg-red-600',
146
- 'dark:hover:bg-red-800',
152
+ 'hover:bg-red-800',
153
+
147
154
  'bg-violet-500',
155
+ 'bg-violet-600',
148
156
  'hover:bg-violet-700',
149
- 'dark:bg-violet-600',
150
- 'dark:hover:bg-violet-800',
157
+ 'hover:bg-violet-800',
158
+
151
159
  'bg-indigo-500',
160
+ 'bg-indigo-600',
152
161
  'hover:bg-indigo-700',
153
- 'dark:bg-indigo-600',
154
- 'dark:hover:bg-indigo-800',
162
+ 'hover:bg-indigo-800',
163
+
155
164
  'bg-yellow-500',
165
+ 'bg-yellow-600',
156
166
  'hover:bg-yellow-700',
157
- 'dark:bg-yellow-600',
158
- 'dark:hover:bg-yellow-800',
167
+ 'hover:bg-yellow-800',
168
+
169
+ // === Button Disabled state ===
170
+ 'bg-gray-400',
171
+ 'text-gray-400',
172
+ 'text-gray-100',
159
173
 
160
174
  // === Form state helpers ===
161
175
  'disabled:bg-gray-100',
@@ -175,8 +189,8 @@ module.exports = {
175
189
  'max-h-select',
176
190
  'overflow-y-auto',
177
191
  'cursor-pointer',
178
- 'dark:border-gray-600',
179
- 'dark:text-gray-100',
192
+ 'border-gray-600',
193
+ 'text-gray-100',
180
194
 
181
195
  // === Multiselect option styling ===
182
196
  'border-b',
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Tramway
4
- VERSION = '2.0.3.4'
4
+ VERSION = '2.0.4'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tramway
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3.4
4
+ version: 2.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - kalashnikovisme
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2025-12-25 00:00:00.000000000 Z
12
+ date: 2025-12-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: anyway_config