relay_ui 0.1.0 → 0.2.3

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 (64) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +21 -0
  3. data/README.md +100 -0
  4. data/dist/relay_ui/relay_ui.css +595 -0
  5. data/lib/relay_ui/engine.rb +6 -7
  6. data/lib/relay_ui/version.rb +2 -2
  7. data/lib/relay_ui.rb +1 -1
  8. data/lib/rui/badges/base.rb +5 -0
  9. data/lib/rui/badges/blue.rb +5 -0
  10. data/lib/rui/badges/gray.rb +5 -0
  11. data/lib/rui/badges/green.rb +5 -0
  12. data/lib/rui/badges/purple.rb +5 -0
  13. data/lib/rui/badges/red.rb +5 -0
  14. data/lib/rui/badges/yellow.rb +5 -0
  15. data/{app/components → lib/rui}/base.rb +1 -3
  16. data/lib/rui/buttons/base.rb +27 -0
  17. data/lib/rui/buttons/destructive.rb +5 -0
  18. data/lib/rui/buttons/ghost.rb +5 -0
  19. data/lib/rui/buttons/outline.rb +5 -0
  20. data/lib/rui/buttons/primary.rb +5 -0
  21. data/lib/rui/buttons/secondary.rb +5 -0
  22. data/{app/components → lib/rui}/icon.rb +3 -1
  23. data/lib/rui/links/base.rb +28 -0
  24. data/lib/rui/links/destructive.rb +5 -0
  25. data/lib/rui/links/ghost.rb +5 -0
  26. data/lib/rui/links/outline.rb +5 -0
  27. data/lib/rui/links/primary.rb +5 -0
  28. data/lib/rui/links/secondary.rb +5 -0
  29. data/lib/rui/markdown/generator.rb +35 -0
  30. data/lib/rui/markdown/safe.rb +7 -0
  31. data/lib/rui/markdown/safe_renderer.rb +13 -0
  32. data/lib/rui/markdown/unsafe.rb +7 -0
  33. data/lib/rui/markdown/unsafe_renderer.rb +34 -0
  34. data/lib/rui/navigation.rb +51 -0
  35. data/lib/rui/slideout.rb +20 -0
  36. data/lib/rui/text.rb +19 -0
  37. metadata +80 -35
  38. data/Rakefile +0 -64
  39. data/app/assets/javascripts/relay_ui/index.js +0 -5
  40. data/app/assets/stylesheets/relay_ui/application.css +0 -1
  41. data/app/components/badges/base.rb +0 -5
  42. data/app/components/badges/blue.rb +0 -5
  43. data/app/components/badges/gray.rb +0 -5
  44. data/app/components/badges/green.rb +0 -5
  45. data/app/components/badges/purple.rb +0 -5
  46. data/app/components/badges/red.rb +0 -5
  47. data/app/components/badges/yellow.rb +0 -5
  48. data/app/components/buttons/base.rb +0 -30
  49. data/app/components/buttons/destructive.rb +0 -5
  50. data/app/components/buttons/ghost.rb +0 -5
  51. data/app/components/buttons/link.rb +0 -9
  52. data/app/components/buttons/outline.rb +0 -5
  53. data/app/components/buttons/primary.rb +0 -5
  54. data/app/components/buttons/secondary.rb +0 -5
  55. data/app/components/code_block.rb +0 -13
  56. data/app/components/headings.rb +0 -37
  57. data/app/components/lists/base.rb +0 -13
  58. data/app/components/lists/ordered.rb +0 -5
  59. data/app/components/lists/unordered.rb +0 -5
  60. data/app/components/navigation.rb +0 -49
  61. data/app/components/slideout.rb +0 -20
  62. data/app/components/text.rb +0 -19
  63. data/package.json +0 -16
  64. data/tailwind.config.js +0 -10
@@ -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,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,20 +0,0 @@
1
- class RelayUi::Slideout < RelayUi::Base
2
- include Phlex::Rails::Helpers::TurboFrameTag
3
-
4
- def view_template
5
- turbo_frame_tag "slideout" do
6
- div(class: "absolute inset-0 z-50", data: {controller: "slideout"}) do
7
- a(href: "#", class: "cursor-default", data: { action: "slideout#hide" }) do
8
- div(id: "modal-curtain", class: "w-screen h-screen bg-black transition-opacity opacity-75")
9
- end
10
- div(class: "right-0 fixed inset-y-0 flex max-w-1/2 pointer-events-none") do
11
- div(class: "w-screen pointer-events-auto", data: { slideout_target: "slideout" }) do
12
- div(class: "w-full h-full bg-white shadow") do
13
- yield
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end
20
- 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
- }