relay_ui 0.4.0 → 0.4.1

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: 5bd18a48694c8b8d66e4183e74a7bee705ace0d0b821adba7e037750a49124cb
4
- data.tar.gz: d972223721bae1f638121a4ec446cf4eb26ed70f4a6358ab956e1e0273e1d709
3
+ metadata.gz: ac008514b4c6294d178fbcb34b555bbb87f55e71a58ae882f772da69766e9afa
4
+ data.tar.gz: 49972be6884ac11eb5a932afb0b2e1fa803dcac29f7fc5690f54db358f74bd20
5
5
  SHA512:
6
- metadata.gz: 7429340803af5c5c886cec99ae2bd8c78a65033c3f1037318359acdf275c0907f67fb09423ecf3c8ba29a6916b62d3c3e82576863b0de8f10f47eef43e273e39
7
- data.tar.gz: 595e27eab36b6c538b96fe30aff5d8d3b3637516a5723e48ff907a39dd845e683af8df449688f49cf79a59febad94dc0ad8eb09cf92c9726c06e8b14b449771d
6
+ metadata.gz: e13a3dc12a61096d944ce0d88da1416a9a4a9e05127b1d4cc37a77dbb414629ceee63a02a5d0f87a74cb8488ced3f2d2eda080f49e5f65b5d1abe0f9f5d7d59e
7
+ data.tar.gz: 5d9f7449fd5c1cb535527fa54ca04e531e4f55b961f18eed4e5f2b02bdb0b6603ab92bb0a0a56ebbbac1df6fdb3b59d04ae68be3670a60a4f148febfe4a2f115
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RUI
4
- VERSION = "0.4.0"
4
+ VERSION = "0.4.1"
5
5
  end
data/lib/rui/flash.rb CHANGED
@@ -38,14 +38,4 @@ class RUI::Flash < RUI::Base
38
38
  div(class: "fixed left-0 lg:left-auto bottom-0 right-0 m-5 lg:m-10 flex flex-col gap-3", &)
39
39
  end
40
40
  end
41
-
42
- module Helper
43
- def success(message)
44
- flash[:success] = message
45
- end
46
-
47
- def failure(message)
48
- flash[:failure] = message
49
- end
50
- end
51
41
  end
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class RUI::Links::Base < RUI::Base
4
- def initialize(href: "#", icon: nil, data: {})
4
+ def initialize(href: "#", icon: nil, **attrs)
5
5
  @href = href
6
6
  @icon = icon
7
- @data = data
7
+ @attrs = attrs
8
8
  end
9
9
 
10
10
  def view_template
11
- a(href: @href, class: classes, data: @data) do
11
+ a(href: @href, class: classes, **@attrs) do
12
12
  div(class: "flex flex-row items-center gap-2") do
13
13
  if @icon
14
14
  div(class: "size-4 my-1") do
data/lib/rui/slideout.rb CHANGED
@@ -9,9 +9,18 @@ class RUI::Slideout < RUI::Base
9
9
  a(href: "#", class: "cursor-default", data: { action: "slideout#hide" }) do
10
10
  div(id: "modal-curtain", class: "w-screen h-screen bg-black transition-opacity opacity-75", data: { slideout_target: "curtain" })
11
11
  end
12
- div(class: "right-0 fixed inset-y-0 flex max-w-1/2 pointer-events-none") do
13
- div(class: "w-screen pointer-events-auto", data: { slideout_target: "slideout" }) do
14
- div(class: "w-full h-full bg-white shadow", &)
12
+ div(class: "fixed right-0 inset-y-0 w-1/2 h-full bg-white shadow flex flex-col pointer-events-auto", data: { slideout_target: "slideout" }) do
13
+ div class: "flex-grow flex flex-col gap-3 overflow-y-scroll p-10" do
14
+ div(class: "flex flex-row justify-between items-center") do
15
+ render RUI::Markdown::Safe.new { "## #{@title}" }
16
+
17
+ render RUI::Links::Destructive.new(
18
+ href: "#",
19
+ icon: "x",
20
+ data: { action: "slideout#hide" }
21
+ )
22
+ end
23
+ yield
15
24
  end
16
25
  end
17
26
  end
data/lib/rui/table.rb CHANGED
@@ -1,13 +1,16 @@
1
1
  class RUI::Table < RUI::Base
2
- def initialize(rows)
2
+ include Phlex::Rails::Helpers::DOMID
3
+
4
+ def initialize(rows, **attrs)
3
5
  @rows = rows
4
6
  @columns = []
7
+ @attrs = attrs
5
8
  end
6
9
 
7
10
  def view_template(&)
8
11
  vanish(&)
9
12
 
10
- table(class: "bg-white w-full table-auto border-collapse rounded") do
13
+ table(class: "bg-white w-full table-auto border-collapse rounded", **@attrs) do
11
14
  thead(class: "bg-blue-50") do
12
15
  @columns.each do |column|
13
16
  th(class: classes(column[:attrs][:class])) do
@@ -18,13 +21,7 @@ class RUI::Table < RUI::Base
18
21
 
19
22
  tbody do
20
23
  @rows.each do |row|
21
- tr(class: "odd:bg-white even:bg-zinc-100 hover:bg-zinc-200") do
22
- @columns.each do |column|
23
- td(class: classes(column[:attrs][:class])) do
24
- column[:content].call(row)
25
- end
26
- end
27
- end
24
+ render Row.new(row:, columns: @columns)
28
25
  end
29
26
  end
30
27
  end
@@ -34,6 +31,33 @@ class RUI::Table < RUI::Base
34
31
  @columns << { header:, attrs:, content: }
35
32
  end
36
33
 
34
+ class Row < RUI::Base
35
+ include Phlex::Rails::Helpers::DOMID
36
+
37
+ def initialize(row:, columns:)
38
+ @row = row
39
+ @columns = columns
40
+ end
41
+
42
+ def view_template
43
+ tr(id: dom_id(@row), class: "odd:bg-white even:bg-zinc-100 hover:bg-zinc-200") do
44
+ @columns.each do |column|
45
+ td(class: classes(column[:attrs][:class])) do
46
+ column[:content].call(@row)
47
+ end
48
+ end
49
+ end
50
+ end
51
+
52
+ private
53
+
54
+ def base_classes = "border border-zinc-300 py-1 px-2 text-left"
55
+
56
+ def classes(custom_classes)
57
+ RUI::TailwindMerger.instance.merge(base_classes, custom_classes)
58
+ end
59
+ end
60
+
37
61
  private
38
62
 
39
63
  def base_classes = "border border-zinc-300 py-1 px-2 text-left"
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relay_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - logicrelay
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-04-04 00:00:00.000000000 Z
10
+ date: 2025-04-10 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: phlex