relay_ui 0.1.1 → 0.3.0

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 (92) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +21 -0
  3. data/README.md +100 -0
  4. data/lib/relay_ui/engine.rb +11 -14
  5. data/lib/relay_ui/version.rb +2 -2
  6. data/lib/relay_ui.rb +1 -1
  7. data/lib/rui/badges/base.rb +9 -0
  8. data/lib/rui/badges/blue.rb +7 -0
  9. data/lib/rui/badges/gray.rb +7 -0
  10. data/lib/rui/badges/green.rb +7 -0
  11. data/lib/rui/badges/purple.rb +7 -0
  12. data/lib/rui/badges/red.rb +7 -0
  13. data/lib/rui/badges/yellow.rb +7 -0
  14. data/lib/rui/badges.rb +3 -0
  15. data/lib/rui/base.rb +8 -0
  16. data/lib/rui/buttons/base.rb +29 -0
  17. data/lib/rui/buttons/destructive.rb +7 -0
  18. data/lib/rui/buttons/ghost.rb +7 -0
  19. data/lib/rui/buttons/outline.rb +7 -0
  20. data/lib/rui/buttons/primary.rb +7 -0
  21. data/lib/rui/buttons/secondary.rb +7 -0
  22. data/lib/rui/buttons.rb +3 -0
  23. data/lib/rui/card.rb +92 -0
  24. data/lib/rui/flash.rb +51 -0
  25. data/lib/rui/forms/checkbox.rb +25 -0
  26. data/lib/rui/forms/email.rb +19 -0
  27. data/lib/rui/forms/field_group.rb +5 -0
  28. data/lib/rui/forms/label.rb +7 -0
  29. data/lib/rui/forms/password.rb +18 -0
  30. data/lib/rui/forms/phone.rb +18 -0
  31. data/lib/rui/forms/radio.rb +22 -0
  32. data/lib/rui/forms/select.rb +24 -0
  33. data/lib/rui/forms/text.rb +17 -0
  34. data/lib/rui/forms/textarea.rb +18 -0
  35. data/lib/rui/forms.rb +3 -0
  36. data/lib/rui/helpers.rb +3 -0
  37. data/lib/rui/icon.rb +13 -0
  38. data/lib/rui/layout/body.rb +7 -0
  39. data/lib/rui/layout/main.rb +5 -0
  40. data/lib/rui/layout/page.rb +5 -0
  41. data/lib/rui/layout.rb +3 -0
  42. data/lib/rui/links/base.rb +30 -0
  43. data/lib/rui/links/destructive.rb +7 -0
  44. data/lib/rui/links/ghost.rb +7 -0
  45. data/lib/rui/links/outline.rb +7 -0
  46. data/lib/rui/links/primary.rb +7 -0
  47. data/lib/rui/links/secondary.rb +7 -0
  48. data/lib/rui/links.rb +3 -0
  49. data/lib/rui/markdown/generator.rb +36 -0
  50. data/lib/rui/markdown/safe.rb +9 -0
  51. data/lib/rui/markdown/safe_renderer.rb +15 -0
  52. data/lib/rui/markdown/unsafe.rb +9 -0
  53. data/lib/rui/markdown/unsafe_renderer.rb +42 -0
  54. data/lib/rui/markdown.rb +3 -0
  55. data/lib/rui/navigation/menu_button.rb +7 -0
  56. data/lib/rui/navigation/sidebar.rb +43 -0
  57. data/lib/rui/navigation/top.rb +19 -0
  58. data/lib/rui/navigation.rb +3 -0
  59. data/{app/components → lib/rui}/slideout.rb +9 -9
  60. data/lib/rui/table.rb +54 -0
  61. data/lib/rui/text.rb +21 -0
  62. metadata +147 -37
  63. data/Rakefile +0 -64
  64. data/app/assets/javascripts/relay_ui/index.js +0 -5
  65. data/app/assets/stylesheets/relay_ui/application.css +0 -1
  66. data/app/components/badges/base.rb +0 -5
  67. data/app/components/badges/blue.rb +0 -5
  68. data/app/components/badges/gray.rb +0 -5
  69. data/app/components/badges/green.rb +0 -5
  70. data/app/components/badges/purple.rb +0 -5
  71. data/app/components/badges/red.rb +0 -5
  72. data/app/components/badges/yellow.rb +0 -5
  73. data/app/components/base.rb +0 -15
  74. data/app/components/buttons/base.rb +0 -30
  75. data/app/components/buttons/destructive.rb +0 -5
  76. data/app/components/buttons/ghost.rb +0 -5
  77. data/app/components/buttons/link.rb +0 -9
  78. data/app/components/buttons/outline.rb +0 -5
  79. data/app/components/buttons/primary.rb +0 -5
  80. data/app/components/buttons/secondary.rb +0 -5
  81. data/app/components/code_block.rb +0 -13
  82. data/app/components/headings.rb +0 -37
  83. data/app/components/icon.rb +0 -9
  84. data/app/components/lists/base.rb +0 -13
  85. data/app/components/lists/ordered.rb +0 -5
  86. data/app/components/lists/unordered.rb +0 -5
  87. data/app/components/navigation.rb +0 -49
  88. data/app/components/text.rb +0 -19
  89. data/package.json +0 -16
  90. data/tailwind.config.js +0 -10
  91. data/vendor/assets/javascripts/relay_ui/dist/relay_ui.js +0 -2471
  92. data/vendor/assets/stylesheets/relay_ui/relay_ui.css +0 -2528
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.1.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - logicrelay
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-03-06 00:00:00.000000000 Z
10
+ date: 2025-03-21 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: phlex
@@ -15,28 +15,70 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: 2.1.0
18
+ version: '2.1'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: 2.1.0
25
+ version: '2.1'
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: tabler_icons_ruby
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: 3.11.0
32
+ version: '3.11'
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 3.11.0
39
+ version: '3.11'
40
+ - !ruby/object:Gem::Dependency
41
+ name: redcarpet
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '3.6'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '3.6'
54
+ - !ruby/object:Gem::Dependency
55
+ name: rouge
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '4.5'
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '4.5'
68
+ - !ruby/object:Gem::Dependency
69
+ name: nokogiri
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '1.18'
75
+ type: :runtime
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '1.18'
40
82
  - !ruby/object:Gem::Dependency
41
83
  name: rake
42
84
  requirement: !ruby/object:Gem::Requirement
@@ -65,6 +107,34 @@ dependencies:
65
107
  - - ">="
66
108
  - !ruby/object:Gem::Version
67
109
  version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: rspec
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ type: :development
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ - !ruby/object:Gem::Dependency
125
+ name: guard-rspec
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ type: :development
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
68
138
  - !ruby/object:Gem::Dependency
69
139
  name: guard-livereload
70
140
  requirement: !ruby/object:Gem::Requirement
@@ -93,6 +163,20 @@ dependencies:
93
163
  - - ">="
94
164
  - !ruby/object:Gem::Version
95
165
  version: '0'
166
+ - !ruby/object:Gem::Dependency
167
+ name: rubocop-rails-omakase
168
+ requirement: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ type: :development
174
+ prerelease: false
175
+ version_requirements: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
96
180
  description: 'RelayUI is an opinionated UI kit for Rails applications, leveraging
97
181
  Phlex and TailwindCSS to provide a robust and cohesive design system, particularly
98
182
  suited for B2B backend interfaces.
@@ -104,40 +188,66 @@ executables: []
104
188
  extensions: []
105
189
  extra_rdoc_files: []
106
190
  files:
107
- - Rakefile
108
- - app/assets/javascripts/relay_ui/index.js
109
- - app/assets/stylesheets/relay_ui/application.css
110
- - app/components/badges/base.rb
111
- - app/components/badges/blue.rb
112
- - app/components/badges/gray.rb
113
- - app/components/badges/green.rb
114
- - app/components/badges/purple.rb
115
- - app/components/badges/red.rb
116
- - app/components/badges/yellow.rb
117
- - app/components/base.rb
118
- - app/components/buttons/base.rb
119
- - app/components/buttons/destructive.rb
120
- - app/components/buttons/ghost.rb
121
- - app/components/buttons/link.rb
122
- - app/components/buttons/outline.rb
123
- - app/components/buttons/primary.rb
124
- - app/components/buttons/secondary.rb
125
- - app/components/code_block.rb
126
- - app/components/headings.rb
127
- - app/components/icon.rb
128
- - app/components/lists/base.rb
129
- - app/components/lists/ordered.rb
130
- - app/components/lists/unordered.rb
131
- - app/components/navigation.rb
132
- - app/components/slideout.rb
133
- - app/components/text.rb
191
+ - LICENSE.txt
192
+ - README.md
134
193
  - lib/relay_ui.rb
135
194
  - lib/relay_ui/engine.rb
136
195
  - lib/relay_ui/version.rb
137
- - package.json
138
- - tailwind.config.js
139
- - vendor/assets/javascripts/relay_ui/dist/relay_ui.js
140
- - vendor/assets/stylesheets/relay_ui/relay_ui.css
196
+ - lib/rui/badges.rb
197
+ - lib/rui/badges/base.rb
198
+ - lib/rui/badges/blue.rb
199
+ - lib/rui/badges/gray.rb
200
+ - lib/rui/badges/green.rb
201
+ - lib/rui/badges/purple.rb
202
+ - lib/rui/badges/red.rb
203
+ - lib/rui/badges/yellow.rb
204
+ - lib/rui/base.rb
205
+ - lib/rui/buttons.rb
206
+ - lib/rui/buttons/base.rb
207
+ - lib/rui/buttons/destructive.rb
208
+ - lib/rui/buttons/ghost.rb
209
+ - lib/rui/buttons/outline.rb
210
+ - lib/rui/buttons/primary.rb
211
+ - lib/rui/buttons/secondary.rb
212
+ - lib/rui/card.rb
213
+ - lib/rui/flash.rb
214
+ - lib/rui/forms.rb
215
+ - lib/rui/forms/checkbox.rb
216
+ - lib/rui/forms/email.rb
217
+ - lib/rui/forms/field_group.rb
218
+ - lib/rui/forms/label.rb
219
+ - lib/rui/forms/password.rb
220
+ - lib/rui/forms/phone.rb
221
+ - lib/rui/forms/radio.rb
222
+ - lib/rui/forms/select.rb
223
+ - lib/rui/forms/text.rb
224
+ - lib/rui/forms/textarea.rb
225
+ - lib/rui/helpers.rb
226
+ - lib/rui/icon.rb
227
+ - lib/rui/layout.rb
228
+ - lib/rui/layout/body.rb
229
+ - lib/rui/layout/main.rb
230
+ - lib/rui/layout/page.rb
231
+ - lib/rui/links.rb
232
+ - lib/rui/links/base.rb
233
+ - lib/rui/links/destructive.rb
234
+ - lib/rui/links/ghost.rb
235
+ - lib/rui/links/outline.rb
236
+ - lib/rui/links/primary.rb
237
+ - lib/rui/links/secondary.rb
238
+ - lib/rui/markdown.rb
239
+ - lib/rui/markdown/generator.rb
240
+ - lib/rui/markdown/safe.rb
241
+ - lib/rui/markdown/safe_renderer.rb
242
+ - lib/rui/markdown/unsafe.rb
243
+ - lib/rui/markdown/unsafe_renderer.rb
244
+ - lib/rui/navigation.rb
245
+ - lib/rui/navigation/menu_button.rb
246
+ - lib/rui/navigation/sidebar.rb
247
+ - lib/rui/navigation/top.rb
248
+ - lib/rui/slideout.rb
249
+ - lib/rui/table.rb
250
+ - lib/rui/text.rb
141
251
  homepage: https://www.relayui.com
142
252
  licenses:
143
253
  - MIT
data/Rakefile DELETED
@@ -1,64 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "bundler/gem_tasks"
4
- require "rspec/core/rake_task"
5
-
6
- RSpec::Core::RakeTask.new(:spec)
7
-
8
- require "rubocop/rake_task"
9
-
10
- RuboCop::RakeTask.new
11
-
12
- task default: %i[spec rubocop]
13
-
14
- namespace :build do
15
- desc "Build JavaScript"
16
- task :js do
17
- sh "npm run build:js"
18
- end
19
-
20
- desc "Build CSS"
21
- task :css do
22
- sh "npm run build:css"
23
- end
24
-
25
- desc "Build all assets"
26
- task :assets => [:js, :css]
27
- end
28
-
29
- namespace :watch do
30
- desc "Watch JavaScript files and rebuild on changes"
31
- task :js do
32
- sh "npm run watch:js"
33
- end
34
-
35
- desc "Watch CSS files and rebuild on changes"
36
- task :css do
37
- sh "npm run watch:css"
38
- end
39
-
40
- desc "Watch all assets and rebuild on changes"
41
- task :assets do
42
- puts "Starting asset watchers for both JS and CSS..."
43
- puts "Press Ctrl-C to stop watching"
44
-
45
- # Run both watchers in parallel using a basic approach that works across platforms
46
- trap("INT") { exit }
47
-
48
- # Fork processes for each watcher
49
- pid1 = Process.fork { sh "npm run watch:js" }
50
- pid2 = Process.fork { sh "npm run watch:css" }
51
-
52
- # Wait for any process to exit
53
- Process.wait(pid1)
54
- Process.wait(pid2)
55
- rescue Interrupt
56
- puts "\nShutting down watchers..."
57
- end
58
- end
59
-
60
- task :build => ["build:assets"]
61
- task :watch => ["watch:assets"]
62
- task :default => ["build"]
63
-
64
- CLEAN.include("vendor")
@@ -1,5 +0,0 @@
1
- import ToggleController from './controllers/toggle_controller'
2
- import { Application } from '@hotwired/stimulus'
3
-
4
- const application = Application.start();
5
- application.register("toggle", ToggleController);
@@ -1 +0,0 @@
1
- @import 'tailwindcss';
@@ -1,5 +0,0 @@
1
- class RelayUi::Badges::Base < RelayUi::Base
2
- def view_template
3
- span(class: "px-3 py-0.5 text-xs rounded-full #{variant_classes}") { yield }
4
- end
5
- end
@@ -1,5 +0,0 @@
1
- class RelayUi::Badges::Blue < RelayUi::Badges::Base
2
- private
3
-
4
- def variant_classes = "bg-blue-100 text-blue-700"
5
- end
@@ -1,5 +0,0 @@
1
- class RelayUi::Badges::Gray < RelayUi::Badges::Base
2
- private
3
-
4
- def variant_classes = "bg-gray-100 text-gray-700"
5
- end
@@ -1,5 +0,0 @@
1
- class RelayUi::Badges::Green < RelayUi::Badges::Base
2
- private
3
-
4
- def variant_classes = "bg-green-100 text-green-700"
5
- end
@@ -1,5 +0,0 @@
1
- class RelayUi::Badges::Purple < RelayUi::Badges::Base
2
- private
3
-
4
- def variant_classes = "bg-purple-100 text-purple-700"
5
- end
@@ -1,5 +0,0 @@
1
- class RelayUi::Badges::Red < RelayUi::Badges::Base
2
- private
3
-
4
- def variant_classes = "bg-red-100 text-red-700"
5
- end
@@ -1,5 +0,0 @@
1
- class RelayUi::Badges::Yellow < RelayUi::Badges::Base
2
- private
3
-
4
- def variant_classes = "bg-yellow-100 text-yellow-700"
5
- end
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class RelayUi::Base < Phlex::HTML
4
- include Components
5
- include Phlex::Rails::Helpers::Routes
6
-
7
- register_value_helper :request
8
-
9
- if Rails.env.development?
10
- def before_template
11
- comment { "Before #{self.class.name}" }
12
- super
13
- end
14
- end
15
- end
@@ -1,30 +0,0 @@
1
- class RelayUi::Buttons::Base < RelayUi::Base
2
- def initialize(data: {}, href: "#", icon: nil)
3
- @data = data
4
- @href = href
5
- @icon = icon
6
- end
7
-
8
- def view_template
9
- div do
10
- a(href: @href, class: classes, data: @data) do
11
- div(class: "flex flex-row items-center gap-2") do
12
- if @icon
13
- div(class: "size-4 my-1") do
14
- render RelayUi::Icon.new(@icon)
15
- end
16
- end
17
- span { yield } if block_given?
18
- end
19
- end
20
- end
21
- end
22
-
23
- private
24
-
25
- def classes
26
- "#{base_classes} #{variant_classes}"
27
- end
28
-
29
- def base_classes = "inline-block px-3 py-1 hover:cursor-pointer rounded transition duration-200 ease-in-out"
30
- end
@@ -1,5 +0,0 @@
1
- class RelayUi::Buttons::Destructive < RelayUi::Buttons::Base
2
- private
3
-
4
- def variant_classes = "bg-red-700 hover:bg-red-900 text-white"
5
- end
@@ -1,5 +0,0 @@
1
- class RelayUi::Buttons::Ghost < RelayUi::Buttons::Base
2
- private
3
-
4
- def variant_classes = "hover:bg-zinc-100"
5
- end
@@ -1,9 +0,0 @@
1
- class RelayUi::Buttons::Link < RelayUi::Base
2
- def view_template
3
- div do
4
- button(class: "hover:cursor-pointer hover:underline") do
5
- span { yield }
6
- end
7
- end
8
- end
9
- end
@@ -1,5 +0,0 @@
1
- class RelayUi::Buttons::Outline < RelayUi::Buttons::Base
2
- private
3
-
4
- def variant_classes = "border rounded border-zinc-700 hover:border-zinc-900 text-zinc-700 hover:text-zinc-900 hover:bg-zinc-100"
5
- end
@@ -1,5 +0,0 @@
1
- class RelayUi::Buttons::Primary < RelayUi::Buttons::Base
2
- private
3
-
4
- def variant_classes = "bg-blue-700 hover:bg-blue-900 text-white"
5
- end
@@ -1,5 +0,0 @@
1
- class RelayUi::Buttons::Secondary < RelayUi::Buttons::Base
2
- private
3
-
4
- def variant_classes = "bg-zinc-700 hover:bg-zinc-900 text-white"
5
- end
@@ -1,13 +0,0 @@
1
- class RelayUi::CodeBlock < RelayUi::Base
2
- def initialize(language: "ruby")
3
- @language = language
4
- end
5
-
6
- def view_template
7
- pre do
8
- code(class: "language-#{@language} rounded-lg") do
9
- yield
10
- end
11
- end
12
- end
13
- end
@@ -1,37 +0,0 @@
1
- module RelayUi::Headings
2
- class H1 < RelayUi::Base
3
- def view_template
4
- h1(class: "text-5xl font-bold") { yield }
5
- end
6
- end
7
-
8
- class H2 < RelayUi::Base
9
- def view_template
10
- h2(class: "text-4xl font-bold") { yield }
11
- end
12
- end
13
-
14
- class H3 < RelayUi::Base
15
- def view_template
16
- h3(class: "text-3xl font-bold") { yield }
17
- end
18
- end
19
-
20
- class H4 < RelayUi::Base
21
- def view_template
22
- h4(class: "text-2xl font-bold") { yield }
23
- end
24
- end
25
-
26
- class H5 < RelayUi::Base
27
- def view_template
28
- h5(class: "text-xl font-bold") { yield }
29
- end
30
- end
31
-
32
- class H6 < RelayUi::Base
33
- def view_template
34
- h6(class: "text-lg font-bold") { yield }
35
- end
36
- end
37
- end
@@ -1,9 +0,0 @@
1
- class RelayUi::Icon < RelayUi::Base
2
- def initialize(icon)
3
- @icon = icon
4
- end
5
-
6
- def view_template
7
- raw TablerIconsRuby.render(@icon)
8
- end
9
- end
@@ -1,13 +0,0 @@
1
- module RelayUi::Lists
2
- class Base < RelayUi::Base
3
- def view_template
4
- ul(class: list_classes) do
5
- yield
6
- end
7
- end
8
-
9
- def item
10
- li(class: "ml-5") { yield }
11
- end
12
- end
13
- end
@@ -1,5 +0,0 @@
1
- module RelayUi::Lists
2
- class Ordered < Base
3
- def list_classes = "list-decimal"
4
- end
5
- end
@@ -1,5 +0,0 @@
1
- module RelayUi::Lists
2
- class Unordered < Base
3
- def list_classes = "list-disc"
4
- end
5
- end
@@ -1,49 +0,0 @@
1
- class RelayUi::Navigation < RelayUi::Base
2
- def view_template
3
- div(class: "flex flex-col sticky top-0 max-h-screen overflow-y-auto mx-10 py-10") do
4
- yield
5
- end
6
- end
7
-
8
- def section_heading
9
- p(class: "pt-8 pb-4 mt-6 text-sm font-semibold uppercase text-zinc-400 border-t border-zinc-200") do
10
- yield
11
- end
12
- end
13
-
14
- def icon_link(href:, icon:)
15
- if request.path == href
16
- state_classes = "border-blue-700 text-zinc-700 **:[svg]:stroke-blue-700"
17
- else
18
- state_classes = "border-transparent text-zinc-400 hover:border-zinc-200 hover:text-zinc-700 **:[svg]:stroke-zinc-300 hover:**:[svg]:stroke-zinc-700"
19
- end
20
-
21
- a(href:, class: "inline-flex items-center gap-2 py-1 #{state_classes}") do
22
- div(class: "size-4") do
23
- render RelayUi::Icon.new(icon)
24
- end
25
- span { yield }
26
- end
27
- end
28
-
29
- def text_link(href)
30
- if request.path == href
31
- state_classes = "border-blue-700 text-zinc-700"
32
- else
33
- state_classes = "border-transparent text-zinc-400 hover:border-zinc-200 hover:text-zinc-700"
34
- end
35
-
36
- a(href:, class: "text-zinc-400 px-5 py-1 border-l-3 #{state_classes}") do
37
- span { yield }
38
- end
39
- end
40
-
41
- def coming_soon
42
- div(class: "flex flex-row items-center") do
43
- span(class: "text-zinc-400 px-5 py-1 border-l-3 border-transparent") do
44
- yield
45
- end
46
- render RelayUi::Badges::Gray.new { "Coming Soon" }
47
- end
48
- end
49
- end
@@ -1,19 +0,0 @@
1
- module RelayUi::Text
2
- class Large < RelayUi::Base
3
- def view_template
4
- p(class: "text-lg text-zinc-700") { yield }
5
- end
6
- end
7
-
8
- class Medium < RelayUi::Base
9
- def view_template
10
- p(class: "text-base text-zinc-700") { yield }
11
- end
12
- end
13
-
14
- class Small < RelayUi::Base
15
- def view_template
16
- p(class: "text-sm text-zinc-700") { yield }
17
- end
18
- end
19
- end
data/package.json DELETED
@@ -1,16 +0,0 @@
1
- {
2
- "dependencies": {
3
- "@hotwired/stimulus": "^3.0.0",
4
- "@tailwindcss/cli": "^4.0.9",
5
- "tailwindcss": "^4.0.9"
6
- },
7
- "devDependencies": {
8
- "esbuild": "^0.25.0"
9
- },
10
- "scripts": {
11
- "build:js": "esbuild app/assets/javascripts/relay_ui/index.js --bundle --outfile=vendor/javascript/relay_ui/dist/relay_ui.js",
12
- "build:css": "npx @tailwindcss/cli -i ./app/assets/stylesheets/relay_ui/application.css -o ./vendor/assets/stylesheets/relay_ui/relay_ui.css",
13
- "watch:js": "esbuild app/assets/javascripts/relay_ui/index.js --bundle --outfile=vendor/javascript/relay_ui/dist/relay_ui.js --watch",
14
- "watch:css": "npx @tailwindcss/cli -i ./app/assets/stylesheets/relay_ui/application.css -o ./vendor/assets/stylesheets/relay_ui/relay_ui.css --watch"
15
- }
16
- }
data/tailwind.config.js DELETED
@@ -1,10 +0,0 @@
1
- module.exports = {
2
- content: [
3
- "./app/components/**/*.rb",
4
- "./app/assets/javascripts/relay_ui/**/*.js"
5
- ],
6
- theme: {
7
- extend: {},
8
- },
9
- plugins: [],
10
- }