ruby_ui 1.0.1 → 1.1.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 (122) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +1 -1
  3. data/README.md +6 -0
  4. data/lib/generators/ruby_ui/component/all_generator.rb +22 -0
  5. data/lib/generators/ruby_ui/component_generator.rb +4 -3
  6. data/lib/generators/ruby_ui/install/docs_generator.rb +33 -0
  7. data/lib/generators/ruby_ui/install/install_generator.rb +1 -7
  8. data/lib/generators/ruby_ui/install/templates/tailwind.css.erb +0 -3
  9. data/lib/generators/ruby_ui/javascript_utils.rb +4 -0
  10. data/lib/ruby_ui/accordion/accordion_docs.rb +53 -0
  11. data/lib/ruby_ui/alert/alert_docs.rb +135 -0
  12. data/lib/ruby_ui/alert_dialog/alert_dialog_content.rb +2 -3
  13. data/lib/ruby_ui/alert_dialog/alert_dialog_docs.rb +35 -0
  14. data/lib/ruby_ui/aspect_ratio/aspect_ratio_docs.rb +64 -0
  15. data/lib/ruby_ui/avatar/avatar_docs.rb +92 -0
  16. data/lib/ruby_ui/badge/badge_docs.rb +80 -0
  17. data/lib/ruby_ui/breadcrumb/breadcrumb_docs.rb +116 -0
  18. data/lib/ruby_ui/button/button.rb +32 -16
  19. data/lib/ruby_ui/button/button_docs.rb +143 -0
  20. data/lib/ruby_ui/calendar/calendar_docs.rb +34 -0
  21. data/lib/ruby_ui/card/card_docs.rb +114 -0
  22. data/lib/ruby_ui/carousel/carousel_docs.rb +104 -0
  23. data/lib/ruby_ui/chart/chart_docs.rb +115 -0
  24. data/lib/ruby_ui/checkbox/checkbox.rb +7 -1
  25. data/lib/ruby_ui/checkbox/checkbox_docs.rb +41 -0
  26. data/lib/ruby_ui/clipboard/clipboard_docs.rb +30 -0
  27. data/lib/ruby_ui/codeblock/codeblock_docs.rb +55 -0
  28. data/lib/ruby_ui/collapsible/collapsible_docs.rb +96 -0
  29. data/lib/ruby_ui/combobox/combobox.rb +3 -2
  30. data/lib/ruby_ui/combobox/combobox_checkbox.rb +4 -2
  31. data/lib/ruby_ui/combobox/combobox_controller.js +20 -5
  32. data/lib/ruby_ui/combobox/combobox_docs.rb +151 -0
  33. data/lib/ruby_ui/combobox/combobox_item.rb +2 -1
  34. data/lib/ruby_ui/combobox/combobox_popover.rb +2 -1
  35. data/lib/ruby_ui/combobox/combobox_radio.rb +8 -1
  36. data/lib/ruby_ui/combobox/combobox_search_input.rb +11 -5
  37. data/lib/ruby_ui/combobox/combobox_toggle_all_checkbox.rb +4 -2
  38. data/lib/ruby_ui/combobox/combobox_trigger.rb +8 -2
  39. data/lib/ruby_ui/command/command_controller.js +0 -1
  40. data/lib/ruby_ui/command/command_docs.rb +154 -0
  41. data/lib/ruby_ui/context_menu/context_menu.rb +1 -1
  42. data/lib/ruby_ui/context_menu/context_menu_docs.rb +85 -0
  43. data/lib/ruby_ui/dialog/dialog_content.rb +2 -3
  44. data/lib/ruby_ui/dialog/dialog_controller.js +1 -1
  45. data/lib/ruby_ui/dialog/dialog_docs.rb +102 -0
  46. data/lib/ruby_ui/docs/base.rb +90 -0
  47. data/lib/ruby_ui/docs/component_setup_tabs.rb +15 -0
  48. data/lib/ruby_ui/docs/components_table.rb +13 -0
  49. data/lib/ruby_ui/docs/header.rb +17 -0
  50. data/lib/ruby_ui/docs/sidebar_examples.rb +22 -0
  51. data/lib/ruby_ui/docs/visual_code_example.rb +22 -0
  52. data/lib/ruby_ui/dropdown_menu/dropdown_menu.rb +9 -0
  53. data/lib/ruby_ui/dropdown_menu/dropdown_menu_content.rb +17 -2
  54. data/lib/ruby_ui/dropdown_menu/dropdown_menu_controller.js +43 -14
  55. data/lib/ruby_ui/dropdown_menu/dropdown_menu_docs.rb +212 -0
  56. data/lib/ruby_ui/form/form_docs.rb +178 -0
  57. data/lib/ruby_ui/form/form_field.rb +1 -1
  58. data/lib/ruby_ui/form/form_field_error.rb +1 -1
  59. data/lib/ruby_ui/form/form_field_hint.rb +1 -1
  60. data/lib/ruby_ui/form/form_field_label.rb +7 -1
  61. data/lib/ruby_ui/hover_card/hover_card_docs.rb +71 -0
  62. data/lib/ruby_ui/input/input.rb +9 -1
  63. data/lib/ruby_ui/input/input_docs.rb +68 -0
  64. data/lib/ruby_ui/link/link.rb +32 -16
  65. data/lib/ruby_ui/link/link_docs.rb +106 -0
  66. data/lib/ruby_ui/masked_input/masked_input_docs.rb +47 -0
  67. data/lib/ruby_ui/pagination/pagination_docs.rb +127 -0
  68. data/lib/ruby_ui/popover/popover_docs.rb +971 -0
  69. data/lib/ruby_ui/progress/progress_docs.rb +27 -0
  70. data/lib/ruby_ui/radio_button/radio_button.rb +3 -1
  71. data/lib/ruby_ui/radio_button/radio_button_docs.rb +53 -0
  72. data/lib/ruby_ui/select/select_docs.rb +129 -0
  73. data/lib/ruby_ui/select/select_item.rb +14 -5
  74. data/lib/ruby_ui/select/select_trigger.rb +9 -4
  75. data/lib/ruby_ui/separator/separator_docs.rb +36 -0
  76. data/lib/ruby_ui/sheet/sheet_content.rb +1 -1
  77. data/lib/ruby_ui/sheet/sheet_docs.rb +76 -0
  78. data/lib/ruby_ui/shortcut_key/shortcut_key_docs.rb +29 -0
  79. data/lib/ruby_ui/sidebar/collapsible_sidebar.rb +99 -0
  80. data/lib/ruby_ui/sidebar/mobile_sidebar.rb +45 -0
  81. data/lib/ruby_ui/sidebar/non_collapsible_sidebar.rb +17 -0
  82. data/lib/ruby_ui/sidebar/sidebar.rb +29 -0
  83. data/lib/ruby_ui/sidebar/sidebar_content.rb +20 -0
  84. data/lib/ruby_ui/sidebar/sidebar_controller.js +67 -0
  85. data/lib/ruby_ui/sidebar/sidebar_docs.rb +176 -0
  86. data/lib/ruby_ui/sidebar/sidebar_footer.rb +20 -0
  87. data/lib/ruby_ui/sidebar/sidebar_group.rb +20 -0
  88. data/lib/ruby_ui/sidebar/sidebar_group_action.rb +33 -0
  89. data/lib/ruby_ui/sidebar/sidebar_group_content.rb +20 -0
  90. data/lib/ruby_ui/sidebar/sidebar_group_label.rb +26 -0
  91. data/lib/ruby_ui/sidebar/sidebar_header.rb +20 -0
  92. data/lib/ruby_ui/sidebar/sidebar_input.rb +20 -0
  93. data/lib/ruby_ui/sidebar/sidebar_inset.rb +23 -0
  94. data/lib/ruby_ui/sidebar/sidebar_menu.rb +20 -0
  95. data/lib/ruby_ui/sidebar/sidebar_menu_action.rb +48 -0
  96. data/lib/ruby_ui/sidebar/sidebar_menu_badge.rb +30 -0
  97. data/lib/ruby_ui/sidebar/sidebar_menu_button.rb +63 -0
  98. data/lib/ruby_ui/sidebar/sidebar_menu_item.rb +20 -0
  99. data/lib/ruby_ui/sidebar/sidebar_menu_skeleton.rb +36 -0
  100. data/lib/ruby_ui/sidebar/sidebar_menu_sub.rb +24 -0
  101. data/lib/ruby_ui/sidebar/sidebar_menu_sub_button.rb +50 -0
  102. data/lib/ruby_ui/sidebar/sidebar_menu_sub_item.rb +9 -0
  103. data/lib/ruby_ui/sidebar/sidebar_rail.rb +36 -0
  104. data/lib/ruby_ui/sidebar/sidebar_separator.rb +20 -0
  105. data/lib/ruby_ui/sidebar/sidebar_trigger.rb +42 -0
  106. data/lib/ruby_ui/sidebar/sidebar_wrapper.rb +24 -0
  107. data/lib/ruby_ui/skeleton/skeleton_docs.rb +29 -0
  108. data/lib/ruby_ui/switch/switch.rb +12 -2
  109. data/lib/ruby_ui/switch/switch_docs.rb +46 -0
  110. data/lib/ruby_ui/table/table_docs.rb +102 -0
  111. data/lib/ruby_ui/table/table_footer.rb +1 -1
  112. data/lib/ruby_ui/table/table_row.rb +1 -1
  113. data/lib/ruby_ui/tabs/tabs_docs.rb +211 -0
  114. data/lib/ruby_ui/tabs/tabs_trigger.rb +7 -1
  115. data/lib/ruby_ui/textarea/textarea.rb +8 -1
  116. data/lib/ruby_ui/textarea/textarea_docs.rb +54 -0
  117. data/lib/ruby_ui/theme_toggle/theme_toggle_docs.rb +71 -0
  118. data/lib/ruby_ui/tooltip/tooltip_controller.js +5 -4
  119. data/lib/ruby_ui/tooltip/tooltip_docs.rb +52 -0
  120. data/lib/ruby_ui/typography/typography_docs.rb +107 -0
  121. data/lib/ruby_ui.rb +1 -1
  122. metadata +81 -6
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Views::Docs::Textarea < Views::Base
4
+ def view_template
5
+ component = "Textarea"
6
+
7
+ div(class: "max-w-2xl mx-auto w-full py-10 space-y-10") do
8
+ render Docs::Header.new(title: "Textarea", description: "Displays a textarea field.")
9
+
10
+ Heading(level: 2) { "Usage" }
11
+
12
+ render Docs::VisualCodeExample.new(title: "Textarea", context: self) do
13
+ <<~RUBY
14
+ div(class: "grid w-full max-w-sm items-center gap-1.5") do
15
+ Textarea(placeholder: "Textarea")
16
+ end
17
+ RUBY
18
+ end
19
+
20
+ render Docs::VisualCodeExample.new(title: "Disabled", context: self) do
21
+ <<~RUBY
22
+ div(class: "grid w-full max-w-sm items-center gap-1.5") do
23
+ Textarea(disabled: true, placeholder: "Disabled")
24
+ end
25
+ RUBY
26
+ end
27
+
28
+ render Docs::VisualCodeExample.new(title: "Aria Disabled", context: self) do
29
+ <<~RUBY
30
+ div(class: "grid w-full max-w-sm items-center gap-1.5") do
31
+ Textarea(aria: {disabled: "true"}, placeholder: "Aria Disabled")
32
+ end
33
+ RUBY
34
+ end
35
+
36
+ render Docs::VisualCodeExample.new(title: "With FormField", context: self) do
37
+ <<~RUBY
38
+ div(class: "grid w-full max-w-sm items-center gap-1.5") do
39
+ FormField do
40
+ FormFieldLabel(for: "textarea") { "Textarea" }
41
+ FormFieldHint { "This is a textarea" }
42
+ Textarea(placeholder: "Textarea", id: "textarea")
43
+ FormFieldError()
44
+ end
45
+ end
46
+ RUBY
47
+ end
48
+ end
49
+
50
+ render Components::ComponentSetup::Tabs.new(component_name: component)
51
+
52
+ render Docs::ComponentsTable.new(component_files(component))
53
+ end
54
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Views::Docs::ThemeToggle < Views::Base
4
+ def view_template
5
+ component = "ThemeToggle"
6
+
7
+ div(class: "max-w-2xl mx-auto w-full py-10 space-y-10") do
8
+ render Docs::Header.new(title: "Theme Toggle", description: "Toggle between dark/light theme.")
9
+
10
+ Heading(level: 2) { "Usage" }
11
+
12
+ render Docs::VisualCodeExample.new(title: "With icon", context: self) do
13
+ <<~RUBY
14
+ ThemeToggle do |toggle|
15
+ SetLightMode do
16
+ Button(variant: :ghost, icon: true) do
17
+ svg(
18
+ xmlns: "http://www.w3.org/2000/svg",
19
+ viewbox: "0 0 24 24",
20
+ fill: "currentColor",
21
+ class: "w-4 h-4"
22
+ ) do |s|
23
+ s.path(
24
+ d:
25
+ "M12 2.25a.75.75 0 01.75.75v2.25a.75.75 0 01-1.5 0V3a.75.75 0 01.75-.75zM7.5 12a4.5 4.5 0 119 0 4.5 4.5 0 01-9 0zM18.894 6.166a.75.75 0 00-1.06-1.06l-1.591 1.59a.75.75 0 101.06 1.061l1.591-1.59zM21.75 12a.75.75 0 01-.75.75h-2.25a.75.75 0 010-1.5H21a.75.75 0 01.75.75zM17.834 18.894a.75.75 0 001.06-1.06l-1.59-1.591a.75.75 0 10-1.061 1.06l1.59 1.591zM12 18a.75.75 0 01.75.75V21a.75.75 0 01-1.5 0v-2.25A.75.75 0 0112 18zM7.758 17.303a.75.75 0 00-1.061-1.06l-1.591 1.59a.75.75 0 001.06 1.061l1.591-1.59zM6 12a.75.75 0 01-.75.75H3a.75.75 0 010-1.5h2.25A.75.75 0 016 12zM6.697 7.757a.75.75 0 001.06-1.06l-1.59-1.591a.75.75 0 00-1.061 1.06l1.59 1.591z"
26
+ )
27
+ end
28
+ end
29
+ end
30
+
31
+ SetDarkMode do
32
+ Button(variant: :ghost, icon: true) do
33
+ svg(
34
+ xmlns: "http://www.w3.org/2000/svg",
35
+ viewbox: "0 0 24 24",
36
+ fill: "currentColor",
37
+ class: "w-4 h-4"
38
+ ) do |s|
39
+ s.path(
40
+ fill_rule: "evenodd",
41
+ d:
42
+ "M9.528 1.718a.75.75 0 01.162.819A8.97 8.97 0 009 6a9 9 0 009 9 8.97 8.97 0 003.463-.69.75.75 0 01.981.98 10.503 10.503 0 01-9.694 6.46c-5.799 0-10.5-4.701-10.5-10.5 0-4.368 2.667-8.112 6.46-9.694a.75.75 0 01.818.162z",
43
+ clip_rule: "evenodd"
44
+ )
45
+ end
46
+ end
47
+ end
48
+ end
49
+ RUBY
50
+ end
51
+
52
+ render Docs::VisualCodeExample.new(title: "With text", context: self) do
53
+ <<~RUBY
54
+ ThemeToggle do |toggle|
55
+ SetLightMode do
56
+ Button(variant: :primary) { "Light" }
57
+ end
58
+
59
+ SetDarkMode do
60
+ Button(variant: :primary) { "Dark" }
61
+ end
62
+ end
63
+ RUBY
64
+ end
65
+
66
+ render Components::ComponentSetup::Tabs.new(component_name: component)
67
+
68
+ render Docs::ComponentsTable.new(component_files(component))
69
+ end
70
+ end
71
+ end
@@ -1,5 +1,5 @@
1
1
  import { Controller } from "@hotwired/stimulus";
2
- import { computePosition, autoUpdate, offset } from "@floating-ui/dom";
2
+ import { computePosition, autoUpdate, offset, shift } from "@floating-ui/dom";
3
3
 
4
4
  export default class extends Controller {
5
5
  static targets = ["trigger", "content"];
@@ -23,10 +23,11 @@ export default class extends Controller {
23
23
  }
24
24
 
25
25
  setFloatingElement() {
26
- console.log(this.placementValue);
27
-
28
26
  this.cleanup = autoUpdate(this.triggerTarget, this.contentTarget, () => {
29
- computePosition(this.triggerTarget, this.contentTarget, { placement: this.placementValue, middleware: [offset(4)] }).then(({ x, y }) => {
27
+ computePosition(this.triggerTarget, this.contentTarget, {
28
+ placement: this.placementValue,
29
+ middleware: [offset(4), shift()]
30
+ }).then(({ x, y }) => {
30
31
  Object.assign(this.contentTarget.style, {
31
32
  left: `${x}px`,
32
33
  top: `${y}px`,
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Views::Docs::Tooltip < Views::Base
4
+ def view_template
5
+ component = "Tooltip"
6
+
7
+ div(class: "max-w-2xl mx-auto w-full py-10 space-y-10") do
8
+ render Docs::Header.new(title: "Tooltip", description: "A popup that displays information related to an element when the element receives keyboard focus or the mouse hovers over it.")
9
+
10
+ Heading(level: 2) { "Usage" }
11
+
12
+ render Docs::VisualCodeExample.new(title: "Example", context: self) do
13
+ <<~RUBY
14
+ Tooltip do
15
+ TooltipTrigger do
16
+ Button(variant: :outline, icon: true) do
17
+ bookmark_icon
18
+ end
19
+ end
20
+ TooltipContent do
21
+ Text { "Add to library" }
22
+ end
23
+ end
24
+ RUBY
25
+ end
26
+
27
+ render Components::ComponentSetup::Tabs.new(component_name: component)
28
+
29
+ render Docs::ComponentsTable.new(component_files(component))
30
+ end
31
+ end
32
+
33
+ private
34
+
35
+ def bookmark_icon
36
+ svg(
37
+ xmlns: "http://www.w3.org/2000/svg",
38
+ fill: "none",
39
+ viewbox: "0 0 24 24",
40
+ stroke_width: "1.5",
41
+ stroke: "currentColor",
42
+ class: "w-4 h-4"
43
+ ) do |s|
44
+ s.path(
45
+ stroke_linecap: "round",
46
+ stroke_linejoin: "round",
47
+ d:
48
+ "M17.593 3.322c1.1.128 1.907 1.077 1.907 2.185V21L12 17.25 4.5 21V5.507c0-1.108.806-2.057 1.907-2.185a48.507 48.507 0 0111.186 0z"
49
+ )
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,107 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Views::Docs::Typography < Views::Base
4
+ def view_template
5
+ component = "Typography"
6
+
7
+ div(class: "max-w-2xl mx-auto w-full py-10 space-y-10") do
8
+ render Docs::Header.new(title: "Typography", description: "Sensible defaults to use for text.")
9
+
10
+ Components.Heading(level: 2) { "Usage" }
11
+
12
+ render Docs::VisualCodeExample.new(title: "h1", context: self) do
13
+ <<~RUBY
14
+ Heading(level: 1) { "This is an H1 title" }
15
+ RUBY
16
+ end
17
+
18
+ render Docs::VisualCodeExample.new(title: "h2", context: self) do
19
+ <<~RUBY
20
+ Heading(level: 2) { "This is an H2 title" }
21
+ RUBY
22
+ end
23
+
24
+ render Docs::VisualCodeExample.new(title: "h3", context: self) do
25
+ <<~RUBY
26
+ Heading(level: 3) { "This is an H3 title" }
27
+ RUBY
28
+ end
29
+
30
+ render Docs::VisualCodeExample.new(title: "h4", context: self) do
31
+ <<~RUBY
32
+ Heading(level: 4) { "This is an H4 title" }
33
+ RUBY
34
+ end
35
+
36
+ render Docs::VisualCodeExample.new(title: "p", context: self) do
37
+ <<~RUBY
38
+ Text { "This is an P tag" }
39
+ RUBY
40
+ end
41
+
42
+ render Docs::VisualCodeExample.new(title: "Inline Link", context: self) do
43
+ <<~RUBY
44
+ Text(class: 'text-center') do
45
+ plain "Checkout our "
46
+ InlineLink(href: docs_installation_path) { "installation instructions" }
47
+ plain " to get started."
48
+ end
49
+ RUBY
50
+ end
51
+
52
+ render Docs::VisualCodeExample.new(title: "List", context: self) do
53
+ <<~RUBY
54
+ Components.TypographyList(items: [
55
+ 'Phlex is fast',
56
+ 'Phlex is easy to use',
57
+ 'Phlex is awesome',
58
+ ])
59
+ RUBY
60
+ end
61
+
62
+ render Docs::VisualCodeExample.new(title: "Numbered List", context: self) do
63
+ <<~RUBY
64
+ Components.TypographyList(items: [
65
+ 'Copy',
66
+ 'Paste',
67
+ 'Customize',
68
+ ], numbered: true)
69
+ RUBY
70
+ end
71
+
72
+ render Docs::VisualCodeExample.new(title: "Inline Code", context: self) do
73
+ <<~RUBY
74
+ InlineCode { "This is an inline code block" }
75
+ RUBY
76
+ end
77
+
78
+ render Docs::VisualCodeExample.new(title: "Lead", context: self) do
79
+ <<~RUBY
80
+ Text(as: "p", size: "5", weight: "muted") { "A modal dialog that interrupts the user with important content and expects a response." }
81
+ RUBY
82
+ end
83
+
84
+ render Docs::VisualCodeExample.new(title: "Large", context: self) do
85
+ <<~RUBY
86
+ Text(size: "4", weight: "semibold") { "Are you sure absolutely sure?" }
87
+ RUBY
88
+ end
89
+
90
+ render Docs::VisualCodeExample.new(title: "Small", context: self) do
91
+ <<~RUBY
92
+ Text(size: "sm") { "Email address" }
93
+ RUBY
94
+ end
95
+
96
+ render Docs::VisualCodeExample.new(title: "Muted", context: self) do
97
+ <<~RUBY
98
+ Text(size: "2", class: "text-muted-foreground") { "Enter your email address." }
99
+ RUBY
100
+ end
101
+
102
+ render Components::ComponentSetup::Tabs.new(component_name: component)
103
+
104
+ render Docs::ComponentsTable.new(component_files(component))
105
+ end
106
+ end
107
+ end
data/lib/ruby_ui.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RubyUI
4
- VERSION = "1.0.1"
4
+ VERSION = "1.1.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - George Kettle
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-04-21 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: phlex
@@ -103,8 +102,10 @@ extra_rdoc_files: []
103
102
  files:
104
103
  - LICENSE.txt
105
104
  - README.md
105
+ - lib/generators/ruby_ui/component/all_generator.rb
106
106
  - lib/generators/ruby_ui/component_generator.rb
107
107
  - lib/generators/ruby_ui/dependencies.yml
108
+ - lib/generators/ruby_ui/install/docs_generator.rb
108
109
  - lib/generators/ruby_ui/install/install_generator.rb
109
110
  - lib/generators/ruby_ui/install/templates/ruby_ui.rb.erb
110
111
  - lib/generators/ruby_ui/install/templates/tailwind.css.erb
@@ -115,11 +116,13 @@ files:
115
116
  - lib/ruby_ui/accordion/accordion_controller.js
116
117
  - lib/ruby_ui/accordion/accordion_default_content.rb
117
118
  - lib/ruby_ui/accordion/accordion_default_trigger.rb
119
+ - lib/ruby_ui/accordion/accordion_docs.rb
118
120
  - lib/ruby_ui/accordion/accordion_icon.rb
119
121
  - lib/ruby_ui/accordion/accordion_item.rb
120
122
  - lib/ruby_ui/accordion/accordion_trigger.rb
121
123
  - lib/ruby_ui/alert/alert.rb
122
124
  - lib/ruby_ui/alert/alert_description.rb
125
+ - lib/ruby_ui/alert/alert_docs.rb
123
126
  - lib/ruby_ui/alert/alert_title.rb
124
127
  - lib/ruby_ui/alert_dialog/alert_dialog.rb
125
128
  - lib/ruby_ui/alert_dialog/alert_dialog_action.rb
@@ -127,17 +130,22 @@ files:
127
130
  - lib/ruby_ui/alert_dialog/alert_dialog_content.rb
128
131
  - lib/ruby_ui/alert_dialog/alert_dialog_controller.js
129
132
  - lib/ruby_ui/alert_dialog/alert_dialog_description.rb
133
+ - lib/ruby_ui/alert_dialog/alert_dialog_docs.rb
130
134
  - lib/ruby_ui/alert_dialog/alert_dialog_footer.rb
131
135
  - lib/ruby_ui/alert_dialog/alert_dialog_header.rb
132
136
  - lib/ruby_ui/alert_dialog/alert_dialog_title.rb
133
137
  - lib/ruby_ui/alert_dialog/alert_dialog_trigger.rb
134
138
  - lib/ruby_ui/aspect_ratio/aspect_ratio.rb
139
+ - lib/ruby_ui/aspect_ratio/aspect_ratio_docs.rb
135
140
  - lib/ruby_ui/avatar/avatar.rb
141
+ - lib/ruby_ui/avatar/avatar_docs.rb
136
142
  - lib/ruby_ui/avatar/avatar_fallback.rb
137
143
  - lib/ruby_ui/avatar/avatar_image.rb
138
144
  - lib/ruby_ui/badge/badge.rb
145
+ - lib/ruby_ui/badge/badge_docs.rb
139
146
  - lib/ruby_ui/base.rb
140
147
  - lib/ruby_ui/breadcrumb/breadcrumb.rb
148
+ - lib/ruby_ui/breadcrumb/breadcrumb_docs.rb
141
149
  - lib/ruby_ui/breadcrumb/breadcrumb_ellipsis.rb
142
150
  - lib/ruby_ui/breadcrumb/breadcrumb_item.rb
143
151
  - lib/ruby_ui/breadcrumb/breadcrumb_link.rb
@@ -145,10 +153,12 @@ files:
145
153
  - lib/ruby_ui/breadcrumb/breadcrumb_page.rb
146
154
  - lib/ruby_ui/breadcrumb/breadcrumb_separator.rb
147
155
  - lib/ruby_ui/button/button.rb
156
+ - lib/ruby_ui/button/button_docs.rb
148
157
  - lib/ruby_ui/calendar/calendar.rb
149
158
  - lib/ruby_ui/calendar/calendar_body.rb
150
159
  - lib/ruby_ui/calendar/calendar_controller.js
151
160
  - lib/ruby_ui/calendar/calendar_days.rb
161
+ - lib/ruby_ui/calendar/calendar_docs.rb
152
162
  - lib/ruby_ui/calendar/calendar_header.rb
153
163
  - lib/ruby_ui/calendar/calendar_input_controller.js
154
164
  - lib/ruby_ui/calendar/calendar_next.rb
@@ -158,33 +168,41 @@ files:
158
168
  - lib/ruby_ui/card/card.rb
159
169
  - lib/ruby_ui/card/card_content.rb
160
170
  - lib/ruby_ui/card/card_description.rb
171
+ - lib/ruby_ui/card/card_docs.rb
161
172
  - lib/ruby_ui/card/card_footer.rb
162
173
  - lib/ruby_ui/card/card_header.rb
163
174
  - lib/ruby_ui/card/card_title.rb
164
175
  - lib/ruby_ui/carousel/carousel.rb
165
176
  - lib/ruby_ui/carousel/carousel_content.rb
166
177
  - lib/ruby_ui/carousel/carousel_controller.js
178
+ - lib/ruby_ui/carousel/carousel_docs.rb
167
179
  - lib/ruby_ui/carousel/carousel_item.rb
168
180
  - lib/ruby_ui/carousel/carousel_next.rb
169
181
  - lib/ruby_ui/carousel/carousel_previous.rb
170
182
  - lib/ruby_ui/chart/chart.rb
171
183
  - lib/ruby_ui/chart/chart_controller.js
184
+ - lib/ruby_ui/chart/chart_docs.rb
172
185
  - lib/ruby_ui/checkbox/checkbox.rb
186
+ - lib/ruby_ui/checkbox/checkbox_docs.rb
173
187
  - lib/ruby_ui/checkbox/checkbox_group.rb
174
188
  - lib/ruby_ui/checkbox/checkbox_group_controller.js
175
189
  - lib/ruby_ui/clipboard/clipboard.rb
176
190
  - lib/ruby_ui/clipboard/clipboard_controller.js
191
+ - lib/ruby_ui/clipboard/clipboard_docs.rb
177
192
  - lib/ruby_ui/clipboard/clipboard_popover.rb
178
193
  - lib/ruby_ui/clipboard/clipboard_source.rb
179
194
  - lib/ruby_ui/clipboard/clipboard_trigger.rb
180
195
  - lib/ruby_ui/codeblock/codeblock.rb
196
+ - lib/ruby_ui/codeblock/codeblock_docs.rb
181
197
  - lib/ruby_ui/collapsible/collapsible.rb
182
198
  - lib/ruby_ui/collapsible/collapsible_content.rb
183
199
  - lib/ruby_ui/collapsible/collapsible_controller.js
200
+ - lib/ruby_ui/collapsible/collapsible_docs.rb
184
201
  - lib/ruby_ui/collapsible/collapsible_trigger.rb
185
202
  - lib/ruby_ui/combobox/combobox.rb
186
203
  - lib/ruby_ui/combobox/combobox_checkbox.rb
187
204
  - lib/ruby_ui/combobox/combobox_controller.js
205
+ - lib/ruby_ui/combobox/combobox_docs.rb
188
206
  - lib/ruby_ui/combobox/combobox_empty_state.rb
189
207
  - lib/ruby_ui/combobox/combobox_item.rb
190
208
  - lib/ruby_ui/combobox/combobox_list.rb
@@ -199,6 +217,7 @@ files:
199
217
  - lib/ruby_ui/command/command_dialog.rb
200
218
  - lib/ruby_ui/command/command_dialog_content.rb
201
219
  - lib/ruby_ui/command/command_dialog_trigger.rb
220
+ - lib/ruby_ui/command/command_docs.rb
202
221
  - lib/ruby_ui/command/command_empty.rb
203
222
  - lib/ruby_ui/command/command_group.rb
204
223
  - lib/ruby_ui/command/command_input.rb
@@ -207,6 +226,7 @@ files:
207
226
  - lib/ruby_ui/context_menu/context_menu.rb
208
227
  - lib/ruby_ui/context_menu/context_menu_content.rb
209
228
  - lib/ruby_ui/context_menu/context_menu_controller.js
229
+ - lib/ruby_ui/context_menu/context_menu_docs.rb
210
230
  - lib/ruby_ui/context_menu/context_menu_item.rb
211
231
  - lib/ruby_ui/context_menu/context_menu_label.rb
212
232
  - lib/ruby_ui/context_menu/context_menu_separator.rb
@@ -215,19 +235,28 @@ files:
215
235
  - lib/ruby_ui/dialog/dialog_content.rb
216
236
  - lib/ruby_ui/dialog/dialog_controller.js
217
237
  - lib/ruby_ui/dialog/dialog_description.rb
238
+ - lib/ruby_ui/dialog/dialog_docs.rb
218
239
  - lib/ruby_ui/dialog/dialog_footer.rb
219
240
  - lib/ruby_ui/dialog/dialog_header.rb
220
241
  - lib/ruby_ui/dialog/dialog_middle.rb
221
242
  - lib/ruby_ui/dialog/dialog_title.rb
222
243
  - lib/ruby_ui/dialog/dialog_trigger.rb
244
+ - lib/ruby_ui/docs/base.rb
245
+ - lib/ruby_ui/docs/component_setup_tabs.rb
246
+ - lib/ruby_ui/docs/components_table.rb
247
+ - lib/ruby_ui/docs/header.rb
248
+ - lib/ruby_ui/docs/sidebar_examples.rb
249
+ - lib/ruby_ui/docs/visual_code_example.rb
223
250
  - lib/ruby_ui/dropdown_menu/dropdown_menu.rb
224
251
  - lib/ruby_ui/dropdown_menu/dropdown_menu_content.rb
225
252
  - lib/ruby_ui/dropdown_menu/dropdown_menu_controller.js
253
+ - lib/ruby_ui/dropdown_menu/dropdown_menu_docs.rb
226
254
  - lib/ruby_ui/dropdown_menu/dropdown_menu_item.rb
227
255
  - lib/ruby_ui/dropdown_menu/dropdown_menu_label.rb
228
256
  - lib/ruby_ui/dropdown_menu/dropdown_menu_separator.rb
229
257
  - lib/ruby_ui/dropdown_menu/dropdown_menu_trigger.rb
230
258
  - lib/ruby_ui/form/form.rb
259
+ - lib/ruby_ui/form/form_docs.rb
231
260
  - lib/ruby_ui/form/form_field.rb
232
261
  - lib/ruby_ui/form/form_field_controller.js
233
262
  - lib/ruby_ui/form/form_field_error.rb
@@ -236,24 +265,33 @@ files:
236
265
  - lib/ruby_ui/hover_card/hover_card.rb
237
266
  - lib/ruby_ui/hover_card/hover_card_content.rb
238
267
  - lib/ruby_ui/hover_card/hover_card_controller.js
268
+ - lib/ruby_ui/hover_card/hover_card_docs.rb
239
269
  - lib/ruby_ui/hover_card/hover_card_trigger.rb
240
270
  - lib/ruby_ui/input/input.rb
271
+ - lib/ruby_ui/input/input_docs.rb
241
272
  - lib/ruby_ui/link/link.rb
273
+ - lib/ruby_ui/link/link_docs.rb
242
274
  - lib/ruby_ui/masked_input/masked_input.rb
243
275
  - lib/ruby_ui/masked_input/masked_input_controller.js
276
+ - lib/ruby_ui/masked_input/masked_input_docs.rb
244
277
  - lib/ruby_ui/pagination/pagination.rb
245
278
  - lib/ruby_ui/pagination/pagination_content.rb
279
+ - lib/ruby_ui/pagination/pagination_docs.rb
246
280
  - lib/ruby_ui/pagination/pagination_ellipsis.rb
247
281
  - lib/ruby_ui/pagination/pagination_item.rb
248
282
  - lib/ruby_ui/popover/popover.rb
249
283
  - lib/ruby_ui/popover/popover_content.rb
250
284
  - lib/ruby_ui/popover/popover_controller.js
285
+ - lib/ruby_ui/popover/popover_docs.rb
251
286
  - lib/ruby_ui/popover/popover_trigger.rb
252
287
  - lib/ruby_ui/progress/progress.rb
288
+ - lib/ruby_ui/progress/progress_docs.rb
253
289
  - lib/ruby_ui/radio_button/radio_button.rb
290
+ - lib/ruby_ui/radio_button/radio_button_docs.rb
254
291
  - lib/ruby_ui/select/select.rb
255
292
  - lib/ruby_ui/select/select_content.rb
256
293
  - lib/ruby_ui/select/select_controller.js
294
+ - lib/ruby_ui/select/select_docs.rb
257
295
  - lib/ruby_ui/select/select_group.rb
258
296
  - lib/ruby_ui/select/select_input.rb
259
297
  - lib/ruby_ui/select/select_item.rb
@@ -262,23 +300,57 @@ files:
262
300
  - lib/ruby_ui/select/select_trigger.rb
263
301
  - lib/ruby_ui/select/select_value.rb
264
302
  - lib/ruby_ui/separator/separator.rb
303
+ - lib/ruby_ui/separator/separator_docs.rb
265
304
  - lib/ruby_ui/sheet/sheet.rb
266
305
  - lib/ruby_ui/sheet/sheet_content.rb
267
306
  - lib/ruby_ui/sheet/sheet_content_controller.js
268
307
  - lib/ruby_ui/sheet/sheet_controller.js
269
308
  - lib/ruby_ui/sheet/sheet_description.rb
309
+ - lib/ruby_ui/sheet/sheet_docs.rb
270
310
  - lib/ruby_ui/sheet/sheet_footer.rb
271
311
  - lib/ruby_ui/sheet/sheet_header.rb
272
312
  - lib/ruby_ui/sheet/sheet_middle.rb
273
313
  - lib/ruby_ui/sheet/sheet_title.rb
274
314
  - lib/ruby_ui/sheet/sheet_trigger.rb
275
315
  - lib/ruby_ui/shortcut_key/shortcut_key.rb
316
+ - lib/ruby_ui/shortcut_key/shortcut_key_docs.rb
317
+ - lib/ruby_ui/sidebar/collapsible_sidebar.rb
318
+ - lib/ruby_ui/sidebar/mobile_sidebar.rb
319
+ - lib/ruby_ui/sidebar/non_collapsible_sidebar.rb
320
+ - lib/ruby_ui/sidebar/sidebar.rb
321
+ - lib/ruby_ui/sidebar/sidebar_content.rb
322
+ - lib/ruby_ui/sidebar/sidebar_controller.js
323
+ - lib/ruby_ui/sidebar/sidebar_docs.rb
324
+ - lib/ruby_ui/sidebar/sidebar_footer.rb
325
+ - lib/ruby_ui/sidebar/sidebar_group.rb
326
+ - lib/ruby_ui/sidebar/sidebar_group_action.rb
327
+ - lib/ruby_ui/sidebar/sidebar_group_content.rb
328
+ - lib/ruby_ui/sidebar/sidebar_group_label.rb
329
+ - lib/ruby_ui/sidebar/sidebar_header.rb
330
+ - lib/ruby_ui/sidebar/sidebar_input.rb
331
+ - lib/ruby_ui/sidebar/sidebar_inset.rb
332
+ - lib/ruby_ui/sidebar/sidebar_menu.rb
333
+ - lib/ruby_ui/sidebar/sidebar_menu_action.rb
334
+ - lib/ruby_ui/sidebar/sidebar_menu_badge.rb
335
+ - lib/ruby_ui/sidebar/sidebar_menu_button.rb
336
+ - lib/ruby_ui/sidebar/sidebar_menu_item.rb
337
+ - lib/ruby_ui/sidebar/sidebar_menu_skeleton.rb
338
+ - lib/ruby_ui/sidebar/sidebar_menu_sub.rb
339
+ - lib/ruby_ui/sidebar/sidebar_menu_sub_button.rb
340
+ - lib/ruby_ui/sidebar/sidebar_menu_sub_item.rb
341
+ - lib/ruby_ui/sidebar/sidebar_rail.rb
342
+ - lib/ruby_ui/sidebar/sidebar_separator.rb
343
+ - lib/ruby_ui/sidebar/sidebar_trigger.rb
344
+ - lib/ruby_ui/sidebar/sidebar_wrapper.rb
276
345
  - lib/ruby_ui/skeleton/skeleton.rb
346
+ - lib/ruby_ui/skeleton/skeleton_docs.rb
277
347
  - lib/ruby_ui/switch/switch.rb
348
+ - lib/ruby_ui/switch/switch_docs.rb
278
349
  - lib/ruby_ui/table/table.rb
279
350
  - lib/ruby_ui/table/table_body.rb
280
351
  - lib/ruby_ui/table/table_caption.rb
281
352
  - lib/ruby_ui/table/table_cell.rb
353
+ - lib/ruby_ui/table/table_docs.rb
282
354
  - lib/ruby_ui/table/table_footer.rb
283
355
  - lib/ruby_ui/table/table_head.rb
284
356
  - lib/ruby_ui/table/table_header.rb
@@ -286,27 +358,31 @@ files:
286
358
  - lib/ruby_ui/tabs/tabs.rb
287
359
  - lib/ruby_ui/tabs/tabs_content.rb
288
360
  - lib/ruby_ui/tabs/tabs_controller.js
361
+ - lib/ruby_ui/tabs/tabs_docs.rb
289
362
  - lib/ruby_ui/tabs/tabs_list.rb
290
363
  - lib/ruby_ui/tabs/tabs_trigger.rb
291
364
  - lib/ruby_ui/textarea/textarea.rb
365
+ - lib/ruby_ui/textarea/textarea_docs.rb
292
366
  - lib/ruby_ui/theme_toggle/set_dark_mode.rb
293
367
  - lib/ruby_ui/theme_toggle/set_light_mode.rb
294
368
  - lib/ruby_ui/theme_toggle/theme_toggle.rb
295
369
  - lib/ruby_ui/theme_toggle/theme_toggle_controller.js
370
+ - lib/ruby_ui/theme_toggle/theme_toggle_docs.rb
296
371
  - lib/ruby_ui/tooltip/tooltip.rb
297
372
  - lib/ruby_ui/tooltip/tooltip_content.rb
298
373
  - lib/ruby_ui/tooltip/tooltip_controller.js
374
+ - lib/ruby_ui/tooltip/tooltip_docs.rb
299
375
  - lib/ruby_ui/tooltip/tooltip_trigger.rb
300
376
  - lib/ruby_ui/typography/heading.rb
301
377
  - lib/ruby_ui/typography/inline_code.rb
302
378
  - lib/ruby_ui/typography/inline_link.rb
303
379
  - lib/ruby_ui/typography/text.rb
304
380
  - lib/ruby_ui/typography/typography_blockquote.rb
381
+ - lib/ruby_ui/typography/typography_docs.rb
305
382
  homepage: https://rubygems.org/gems/ruby_ui
306
383
  licenses:
307
384
  - MIT
308
385
  metadata: {}
309
- post_install_message:
310
386
  rdoc_options: []
311
387
  require_paths:
312
388
  - lib
@@ -321,8 +397,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
321
397
  - !ruby/object:Gem::Version
322
398
  version: '0'
323
399
  requirements: []
324
- rubygems_version: 3.5.16
325
- signing_key:
400
+ rubygems_version: 3.6.9
326
401
  specification_version: 4
327
402
  summary: RubyUI is a UI Component Library for Ruby developers.
328
403
  test_files: []