ruby_ui 1.0.0.beta1 → 1.0.0.rc1
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 +4 -4
- data/LICENSE.txt +21 -0
- data/README.md +85 -0
- data/lib/generators/ruby_ui/component_generator.rb +4 -40
- data/lib/generators/ruby_ui/dependencies.yml +74 -0
- data/lib/generators/ruby_ui/install/install_generator.rb +21 -22
- data/lib/generators/ruby_ui/install/templates/ruby_ui.rb.erb +18 -0
- data/lib/generators/ruby_ui/install/templates/tailwind.css.erb +156 -0
- data/lib/generators/ruby_ui/javascript_utils.rb +21 -0
- data/lib/ruby_ui/accordion/accordion_controller.js +97 -0
- data/lib/ruby_ui/alert/alert.rb +1 -1
- data/lib/ruby_ui/alert_dialog/alert_dialog_content.rb +1 -1
- data/lib/ruby_ui/alert_dialog/alert_dialog_controller.js +31 -0
- data/lib/ruby_ui/alert_dialog/alert_dialog_footer.rb +1 -1
- data/lib/ruby_ui/alert_dialog/alert_dialog_header.rb +1 -1
- data/lib/ruby_ui/breadcrumb/breadcrumb.rb +17 -0
- data/lib/ruby_ui/breadcrumb/breadcrumb_ellipsis.rb +39 -0
- data/lib/ruby_ui/breadcrumb/breadcrumb_item.rb +17 -0
- data/lib/ruby_ui/breadcrumb/breadcrumb_link.rb +22 -0
- data/lib/ruby_ui/breadcrumb/breadcrumb_list.rb +17 -0
- data/lib/ruby_ui/breadcrumb/breadcrumb_page.rb +19 -0
- data/lib/ruby_ui/breadcrumb/breadcrumb_separator.rb +38 -0
- data/lib/ruby_ui/calendar/calendar_controller.js +249 -0
- data/lib/ruby_ui/calendar/calendar_input_controller.js +8 -0
- data/lib/ruby_ui/carousel/carousel.rb +44 -0
- data/lib/ruby_ui/carousel/carousel_content.rb +23 -0
- data/lib/ruby_ui/carousel/carousel_controller.js +60 -0
- data/lib/ruby_ui/carousel/carousel_item.rb +23 -0
- data/lib/ruby_ui/carousel/carousel_next.rb +48 -0
- data/lib/ruby_ui/carousel/carousel_previous.rb +49 -0
- data/lib/ruby_ui/chart/chart_controller.js +103 -0
- data/lib/ruby_ui/checkbox/checkbox_group_controller.js +21 -0
- data/lib/ruby_ui/clipboard/clipboard_controller.js +54 -0
- data/lib/ruby_ui/collapsible/collapsible_controller.js +47 -0
- data/lib/ruby_ui/combobox/combobox.rb +8 -6
- data/lib/ruby_ui/combobox/combobox_checkbox.rb +25 -0
- data/lib/ruby_ui/combobox/combobox_controller.js +176 -0
- data/lib/ruby_ui/combobox/{combobox_empty.rb → combobox_empty_state.rb} +2 -2
- data/lib/ruby_ui/combobox/combobox_item.rb +9 -37
- data/lib/ruby_ui/combobox/combobox_list.rb +2 -11
- data/lib/ruby_ui/combobox/combobox_list_group.rb +20 -0
- data/lib/ruby_ui/combobox/combobox_popover.rb +30 -0
- data/lib/ruby_ui/combobox/combobox_radio.rb +26 -0
- data/lib/ruby_ui/combobox/combobox_search_input.rb +21 -24
- data/lib/ruby_ui/combobox/combobox_toggle_all_checkbox.rb +25 -0
- data/lib/ruby_ui/combobox/combobox_trigger.rb +25 -20
- data/lib/ruby_ui/command/command_controller.js +136 -0
- data/lib/ruby_ui/context_menu/context_menu_controller.js +144 -0
- data/lib/ruby_ui/dialog/dialog_content.rb +2 -2
- data/lib/ruby_ui/dialog/dialog_controller.js +32 -0
- data/lib/ruby_ui/dialog/dialog_footer.rb +1 -1
- data/lib/ruby_ui/dialog/dialog_header.rb +1 -1
- data/lib/ruby_ui/dropdown_menu/dropdown_menu_controller.js +120 -0
- data/lib/ruby_ui/form/form_field_controller.js +61 -0
- data/lib/ruby_ui/hover_card/hover_card_controller.js +144 -0
- data/lib/ruby_ui/masked_input/masked_input_controller.js +9 -0
- data/lib/ruby_ui/popover/popover_controller.js +107 -0
- data/lib/ruby_ui/progress/progress.rb +37 -0
- data/lib/ruby_ui/radio_button/radio_button.rb +4 -1
- data/lib/ruby_ui/select/select_content.rb +1 -1
- data/lib/ruby_ui/select/select_controller.js +171 -0
- data/lib/ruby_ui/select/select_item_controller.js +11 -0
- data/lib/ruby_ui/select/select_value.rb +1 -1
- data/lib/ruby_ui/separator/separator.rb +38 -0
- data/lib/ruby_ui/sheet/sheet_content.rb +1 -1
- data/lib/ruby_ui/sheet/sheet_content_controller.js +7 -0
- data/lib/ruby_ui/sheet/sheet_controller.js +9 -0
- data/lib/ruby_ui/{combobox/combobox_separator.rb → skeleton/skeleton.rb} +4 -2
- data/lib/ruby_ui/switch/switch.rb +24 -0
- data/lib/ruby_ui/tabs/tabs_controller.js +45 -0
- data/lib/ruby_ui/theme_toggle/theme_toggle_controller.js +30 -0
- data/lib/ruby_ui/tooltip/tooltip_controller.js +37 -0
- data/lib/ruby_ui.rb +1 -1
- metadata +57 -11
- data/lib/ruby_ui/combobox/combobox_content.rb +0 -31
- data/lib/ruby_ui/combobox/combobox_group.rb +0 -38
- data/lib/ruby_ui/combobox/combobox_input.rb +0 -22
- data/lib/ruby_ui/combobox/combobox_value.rb +0 -27
@@ -0,0 +1,30 @@
|
|
1
|
+
import { Controller } from "@hotwired/stimulus"
|
2
|
+
|
3
|
+
export default class extends Controller {
|
4
|
+
initialize() {
|
5
|
+
this.setTheme()
|
6
|
+
}
|
7
|
+
|
8
|
+
setTheme() {
|
9
|
+
// On page load or when changing themes, best to add inline in `head` to avoid FOUC
|
10
|
+
if (localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
|
11
|
+
document.documentElement.classList.add('dark')
|
12
|
+
document.documentElement.classList.remove('light')
|
13
|
+
} else {
|
14
|
+
document.documentElement.classList.remove('dark')
|
15
|
+
document.documentElement.classList.add('light')
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
setLightTheme() {
|
20
|
+
// Whenever the user explicitly chooses light mode
|
21
|
+
localStorage.theme = 'light'
|
22
|
+
this.setTheme()
|
23
|
+
}
|
24
|
+
|
25
|
+
setDarkTheme() {
|
26
|
+
// Whenever the user explicitly chooses dark mode
|
27
|
+
localStorage.theme = 'dark'
|
28
|
+
this.setTheme()
|
29
|
+
}
|
30
|
+
}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import { Controller } from "@hotwired/stimulus";
|
2
|
+
import { computePosition, autoUpdate, offset } from "@floating-ui/dom";
|
3
|
+
|
4
|
+
export default class extends Controller {
|
5
|
+
static targets = ["trigger", "content"];
|
6
|
+
static values = { placement: String }
|
7
|
+
|
8
|
+
constructor(...args) {
|
9
|
+
super(...args);
|
10
|
+
this.cleanup;
|
11
|
+
}
|
12
|
+
|
13
|
+
connect() {
|
14
|
+
this.setFloatingElement();
|
15
|
+
|
16
|
+
const tooltipId = this.contentTarget.getAttribute("id");
|
17
|
+
this.triggerTarget.setAttribute("aria-describedby", tooltipId);
|
18
|
+
|
19
|
+
}
|
20
|
+
|
21
|
+
disconnect() {
|
22
|
+
this.cleanup();
|
23
|
+
}
|
24
|
+
|
25
|
+
setFloatingElement() {
|
26
|
+
console.log(this.placementValue);
|
27
|
+
|
28
|
+
this.cleanup = autoUpdate(this.triggerTarget, this.contentTarget, () => {
|
29
|
+
computePosition(this.triggerTarget, this.contentTarget, { placement: this.placementValue, middleware: [offset(4)] }).then(({ x, y }) => {
|
30
|
+
Object.assign(this.contentTarget.style, {
|
31
|
+
left: `${x}px`,
|
32
|
+
top: `${y}px`,
|
33
|
+
});
|
34
|
+
});
|
35
|
+
});
|
36
|
+
}
|
37
|
+
}
|
data/lib/ruby_ui.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_ui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- George Kettle
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: phlex
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.
|
19
|
+
version: 2.1.2
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.
|
26
|
+
version: 2.1.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rouge
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -101,12 +101,18 @@ executables: []
|
|
101
101
|
extensions: []
|
102
102
|
extra_rdoc_files: []
|
103
103
|
files:
|
104
|
+
- LICENSE.txt
|
105
|
+
- README.md
|
104
106
|
- lib/generators/ruby_ui/component_generator.rb
|
107
|
+
- lib/generators/ruby_ui/dependencies.yml
|
105
108
|
- lib/generators/ruby_ui/install/install_generator.rb
|
109
|
+
- lib/generators/ruby_ui/install/templates/ruby_ui.rb.erb
|
110
|
+
- lib/generators/ruby_ui/install/templates/tailwind.css.erb
|
106
111
|
- lib/generators/ruby_ui/javascript_utils.rb
|
107
112
|
- lib/ruby_ui.rb
|
108
113
|
- lib/ruby_ui/accordion/accordion.rb
|
109
114
|
- lib/ruby_ui/accordion/accordion_content.rb
|
115
|
+
- lib/ruby_ui/accordion/accordion_controller.js
|
110
116
|
- lib/ruby_ui/accordion/accordion_default_content.rb
|
111
117
|
- lib/ruby_ui/accordion/accordion_default_trigger.rb
|
112
118
|
- lib/ruby_ui/accordion/accordion_icon.rb
|
@@ -119,6 +125,7 @@ files:
|
|
119
125
|
- lib/ruby_ui/alert_dialog/alert_dialog_action.rb
|
120
126
|
- lib/ruby_ui/alert_dialog/alert_dialog_cancel.rb
|
121
127
|
- lib/ruby_ui/alert_dialog/alert_dialog_content.rb
|
128
|
+
- lib/ruby_ui/alert_dialog/alert_dialog_controller.js
|
122
129
|
- lib/ruby_ui/alert_dialog/alert_dialog_description.rb
|
123
130
|
- lib/ruby_ui/alert_dialog/alert_dialog_footer.rb
|
124
131
|
- lib/ruby_ui/alert_dialog/alert_dialog_header.rb
|
@@ -130,11 +137,20 @@ files:
|
|
130
137
|
- lib/ruby_ui/avatar/avatar_image.rb
|
131
138
|
- lib/ruby_ui/badge/badge.rb
|
132
139
|
- lib/ruby_ui/base.rb
|
140
|
+
- lib/ruby_ui/breadcrumb/breadcrumb.rb
|
141
|
+
- lib/ruby_ui/breadcrumb/breadcrumb_ellipsis.rb
|
142
|
+
- lib/ruby_ui/breadcrumb/breadcrumb_item.rb
|
143
|
+
- lib/ruby_ui/breadcrumb/breadcrumb_link.rb
|
144
|
+
- lib/ruby_ui/breadcrumb/breadcrumb_list.rb
|
145
|
+
- lib/ruby_ui/breadcrumb/breadcrumb_page.rb
|
146
|
+
- lib/ruby_ui/breadcrumb/breadcrumb_separator.rb
|
133
147
|
- lib/ruby_ui/button/button.rb
|
134
148
|
- lib/ruby_ui/calendar/calendar.rb
|
135
149
|
- lib/ruby_ui/calendar/calendar_body.rb
|
150
|
+
- lib/ruby_ui/calendar/calendar_controller.js
|
136
151
|
- lib/ruby_ui/calendar/calendar_days.rb
|
137
152
|
- lib/ruby_ui/calendar/calendar_header.rb
|
153
|
+
- lib/ruby_ui/calendar/calendar_input_controller.js
|
138
154
|
- lib/ruby_ui/calendar/calendar_next.rb
|
139
155
|
- lib/ruby_ui/calendar/calendar_prev.rb
|
140
156
|
- lib/ruby_ui/calendar/calendar_title.rb
|
@@ -145,29 +161,41 @@ files:
|
|
145
161
|
- lib/ruby_ui/card/card_footer.rb
|
146
162
|
- lib/ruby_ui/card/card_header.rb
|
147
163
|
- lib/ruby_ui/card/card_title.rb
|
164
|
+
- lib/ruby_ui/carousel/carousel.rb
|
165
|
+
- lib/ruby_ui/carousel/carousel_content.rb
|
166
|
+
- lib/ruby_ui/carousel/carousel_controller.js
|
167
|
+
- lib/ruby_ui/carousel/carousel_item.rb
|
168
|
+
- lib/ruby_ui/carousel/carousel_next.rb
|
169
|
+
- lib/ruby_ui/carousel/carousel_previous.rb
|
148
170
|
- lib/ruby_ui/chart/chart.rb
|
171
|
+
- lib/ruby_ui/chart/chart_controller.js
|
149
172
|
- lib/ruby_ui/checkbox/checkbox.rb
|
150
173
|
- lib/ruby_ui/checkbox/checkbox_group.rb
|
174
|
+
- lib/ruby_ui/checkbox/checkbox_group_controller.js
|
151
175
|
- lib/ruby_ui/clipboard/clipboard.rb
|
176
|
+
- lib/ruby_ui/clipboard/clipboard_controller.js
|
152
177
|
- lib/ruby_ui/clipboard/clipboard_popover.rb
|
153
178
|
- lib/ruby_ui/clipboard/clipboard_source.rb
|
154
179
|
- lib/ruby_ui/clipboard/clipboard_trigger.rb
|
155
180
|
- lib/ruby_ui/codeblock/codeblock.rb
|
156
181
|
- lib/ruby_ui/collapsible/collapsible.rb
|
157
182
|
- lib/ruby_ui/collapsible/collapsible_content.rb
|
183
|
+
- lib/ruby_ui/collapsible/collapsible_controller.js
|
158
184
|
- lib/ruby_ui/collapsible/collapsible_trigger.rb
|
159
185
|
- lib/ruby_ui/combobox/combobox.rb
|
160
|
-
- lib/ruby_ui/combobox/
|
161
|
-
- lib/ruby_ui/combobox/
|
162
|
-
- lib/ruby_ui/combobox/
|
163
|
-
- lib/ruby_ui/combobox/combobox_input.rb
|
186
|
+
- lib/ruby_ui/combobox/combobox_checkbox.rb
|
187
|
+
- lib/ruby_ui/combobox/combobox_controller.js
|
188
|
+
- lib/ruby_ui/combobox/combobox_empty_state.rb
|
164
189
|
- lib/ruby_ui/combobox/combobox_item.rb
|
165
190
|
- lib/ruby_ui/combobox/combobox_list.rb
|
191
|
+
- lib/ruby_ui/combobox/combobox_list_group.rb
|
192
|
+
- lib/ruby_ui/combobox/combobox_popover.rb
|
193
|
+
- lib/ruby_ui/combobox/combobox_radio.rb
|
166
194
|
- lib/ruby_ui/combobox/combobox_search_input.rb
|
167
|
-
- lib/ruby_ui/combobox/
|
195
|
+
- lib/ruby_ui/combobox/combobox_toggle_all_checkbox.rb
|
168
196
|
- lib/ruby_ui/combobox/combobox_trigger.rb
|
169
|
-
- lib/ruby_ui/combobox/combobox_value.rb
|
170
197
|
- lib/ruby_ui/command/command.rb
|
198
|
+
- lib/ruby_ui/command/command_controller.js
|
171
199
|
- lib/ruby_ui/command/command_dialog.rb
|
172
200
|
- lib/ruby_ui/command/command_dialog_content.rb
|
173
201
|
- lib/ruby_ui/command/command_dialog_trigger.rb
|
@@ -178,12 +206,14 @@ files:
|
|
178
206
|
- lib/ruby_ui/command/command_list.rb
|
179
207
|
- lib/ruby_ui/context_menu/context_menu.rb
|
180
208
|
- lib/ruby_ui/context_menu/context_menu_content.rb
|
209
|
+
- lib/ruby_ui/context_menu/context_menu_controller.js
|
181
210
|
- lib/ruby_ui/context_menu/context_menu_item.rb
|
182
211
|
- lib/ruby_ui/context_menu/context_menu_label.rb
|
183
212
|
- lib/ruby_ui/context_menu/context_menu_separator.rb
|
184
213
|
- lib/ruby_ui/context_menu/context_menu_trigger.rb
|
185
214
|
- lib/ruby_ui/dialog/dialog.rb
|
186
215
|
- lib/ruby_ui/dialog/dialog_content.rb
|
216
|
+
- lib/ruby_ui/dialog/dialog_controller.js
|
187
217
|
- lib/ruby_ui/dialog/dialog_description.rb
|
188
218
|
- lib/ruby_ui/dialog/dialog_footer.rb
|
189
219
|
- lib/ruby_ui/dialog/dialog_header.rb
|
@@ -192,39 +222,50 @@ files:
|
|
192
222
|
- lib/ruby_ui/dialog/dialog_trigger.rb
|
193
223
|
- lib/ruby_ui/dropdown_menu/dropdown_menu.rb
|
194
224
|
- lib/ruby_ui/dropdown_menu/dropdown_menu_content.rb
|
225
|
+
- lib/ruby_ui/dropdown_menu/dropdown_menu_controller.js
|
195
226
|
- lib/ruby_ui/dropdown_menu/dropdown_menu_item.rb
|
196
227
|
- lib/ruby_ui/dropdown_menu/dropdown_menu_label.rb
|
197
228
|
- lib/ruby_ui/dropdown_menu/dropdown_menu_separator.rb
|
198
229
|
- lib/ruby_ui/dropdown_menu/dropdown_menu_trigger.rb
|
199
230
|
- lib/ruby_ui/form/form.rb
|
200
231
|
- lib/ruby_ui/form/form_field.rb
|
232
|
+
- lib/ruby_ui/form/form_field_controller.js
|
201
233
|
- lib/ruby_ui/form/form_field_error.rb
|
202
234
|
- lib/ruby_ui/form/form_field_hint.rb
|
203
235
|
- lib/ruby_ui/form/form_field_label.rb
|
204
236
|
- lib/ruby_ui/hover_card/hover_card.rb
|
205
237
|
- lib/ruby_ui/hover_card/hover_card_content.rb
|
238
|
+
- lib/ruby_ui/hover_card/hover_card_controller.js
|
206
239
|
- lib/ruby_ui/hover_card/hover_card_trigger.rb
|
207
240
|
- lib/ruby_ui/input/input.rb
|
208
241
|
- lib/ruby_ui/link/link.rb
|
209
242
|
- lib/ruby_ui/masked_input/masked_input.rb
|
243
|
+
- lib/ruby_ui/masked_input/masked_input_controller.js
|
210
244
|
- lib/ruby_ui/pagination/pagination.rb
|
211
245
|
- lib/ruby_ui/pagination/pagination_content.rb
|
212
246
|
- lib/ruby_ui/pagination/pagination_ellipsis.rb
|
213
247
|
- lib/ruby_ui/pagination/pagination_item.rb
|
214
248
|
- lib/ruby_ui/popover/popover.rb
|
215
249
|
- lib/ruby_ui/popover/popover_content.rb
|
250
|
+
- lib/ruby_ui/popover/popover_controller.js
|
216
251
|
- lib/ruby_ui/popover/popover_trigger.rb
|
252
|
+
- lib/ruby_ui/progress/progress.rb
|
217
253
|
- lib/ruby_ui/radio_button/radio_button.rb
|
218
254
|
- lib/ruby_ui/select/select.rb
|
219
255
|
- lib/ruby_ui/select/select_content.rb
|
256
|
+
- lib/ruby_ui/select/select_controller.js
|
220
257
|
- lib/ruby_ui/select/select_group.rb
|
221
258
|
- lib/ruby_ui/select/select_input.rb
|
222
259
|
- lib/ruby_ui/select/select_item.rb
|
260
|
+
- lib/ruby_ui/select/select_item_controller.js
|
223
261
|
- lib/ruby_ui/select/select_label.rb
|
224
262
|
- lib/ruby_ui/select/select_trigger.rb
|
225
263
|
- lib/ruby_ui/select/select_value.rb
|
264
|
+
- lib/ruby_ui/separator/separator.rb
|
226
265
|
- lib/ruby_ui/sheet/sheet.rb
|
227
266
|
- lib/ruby_ui/sheet/sheet_content.rb
|
267
|
+
- lib/ruby_ui/sheet/sheet_content_controller.js
|
268
|
+
- lib/ruby_ui/sheet/sheet_controller.js
|
228
269
|
- lib/ruby_ui/sheet/sheet_description.rb
|
229
270
|
- lib/ruby_ui/sheet/sheet_footer.rb
|
230
271
|
- lib/ruby_ui/sheet/sheet_header.rb
|
@@ -232,6 +273,8 @@ files:
|
|
232
273
|
- lib/ruby_ui/sheet/sheet_title.rb
|
233
274
|
- lib/ruby_ui/sheet/sheet_trigger.rb
|
234
275
|
- lib/ruby_ui/shortcut_key/shortcut_key.rb
|
276
|
+
- lib/ruby_ui/skeleton/skeleton.rb
|
277
|
+
- lib/ruby_ui/switch/switch.rb
|
235
278
|
- lib/ruby_ui/table/table.rb
|
236
279
|
- lib/ruby_ui/table/table_body.rb
|
237
280
|
- lib/ruby_ui/table/table_caption.rb
|
@@ -242,12 +285,15 @@ files:
|
|
242
285
|
- lib/ruby_ui/table/table_row.rb
|
243
286
|
- lib/ruby_ui/tabs/tabs.rb
|
244
287
|
- lib/ruby_ui/tabs/tabs_content.rb
|
288
|
+
- lib/ruby_ui/tabs/tabs_controller.js
|
245
289
|
- lib/ruby_ui/tabs/tabs_list.rb
|
246
290
|
- lib/ruby_ui/tabs/tabs_trigger.rb
|
247
291
|
- lib/ruby_ui/textarea/textarea.rb
|
248
292
|
- lib/ruby_ui/theme_toggle/theme_toggle.rb
|
293
|
+
- lib/ruby_ui/theme_toggle/theme_toggle_controller.js
|
249
294
|
- lib/ruby_ui/tooltip/tooltip.rb
|
250
295
|
- lib/ruby_ui/tooltip/tooltip_content.rb
|
296
|
+
- lib/ruby_ui/tooltip/tooltip_controller.js
|
251
297
|
- lib/ruby_ui/tooltip/tooltip_trigger.rb
|
252
298
|
- lib/ruby_ui/typography/heading.rb
|
253
299
|
- lib/ruby_ui/typography/inline_code.rb
|
@@ -273,7 +319,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
273
319
|
- !ruby/object:Gem::Version
|
274
320
|
version: '0'
|
275
321
|
requirements: []
|
276
|
-
rubygems_version: 3.5.
|
322
|
+
rubygems_version: 3.5.11
|
277
323
|
signing_key:
|
278
324
|
specification_version: 4
|
279
325
|
summary: RubyUI is a UI Component Library for Ruby developers.
|
@@ -1,31 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RubyUI
|
4
|
-
class ComboboxContent < Base
|
5
|
-
def initialize(**attrs)
|
6
|
-
@id = "content#{SecureRandom.hex(4)}"
|
7
|
-
super
|
8
|
-
end
|
9
|
-
|
10
|
-
def view_template(&)
|
11
|
-
div(**attrs) do
|
12
|
-
div(class: "min-w-max max-h-[300px] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md outline-none animate-out group-data-[ruby-ui--combobox-open-value=true]/combobox:animate-in fade-out-0 group-data-[ruby-ui--combobox-open-value=true]/combobox:fade-in-0 zoom-out-95 group-data-[ruby-ui--combobox-open-value=true]/combobox:zoom-in-95 slide-in-from-top-2", &)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
private
|
17
|
-
|
18
|
-
def default_attrs
|
19
|
-
{
|
20
|
-
id: @id,
|
21
|
-
role: "listbox",
|
22
|
-
data: {
|
23
|
-
controller: "ruby-ui--combobox-content",
|
24
|
-
ruby_ui__combobox_target: "content",
|
25
|
-
action: "keydown.enter->ruby-ui--combobox#onKeyEnter keydown.esc->ruby-ui--combobox#onEscKey keydown.down->ruby-ui--combobox#onKeyDown keydown.up->ruby-ui--combobox#onKeyUp"
|
26
|
-
},
|
27
|
-
class: "combobox-content hidden w-full absolute top-0 left-0 z-50"
|
28
|
-
}
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,38 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RubyUI
|
4
|
-
class ComboboxGroup < Base
|
5
|
-
def initialize(heading: nil, **attrs)
|
6
|
-
@heading = heading
|
7
|
-
super(**attrs)
|
8
|
-
end
|
9
|
-
|
10
|
-
def view_template(&block)
|
11
|
-
div(**attrs) do
|
12
|
-
render_header if @heading
|
13
|
-
render_items(&block)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
|
-
def render_header
|
20
|
-
div(group_heading: @heading, class: "px-2 py-1.5 text-xs font-medium text-muted-foreground") { @heading }
|
21
|
-
end
|
22
|
-
|
23
|
-
def render_items(&)
|
24
|
-
div(group_items: "", role: "group", &)
|
25
|
-
end
|
26
|
-
|
27
|
-
def default_attrs
|
28
|
-
{
|
29
|
-
class: "overflow-hidden p-1 text-foreground",
|
30
|
-
role: "presentation",
|
31
|
-
data: {
|
32
|
-
value: @heading,
|
33
|
-
ruby_ui__combobox_content_target: "group"
|
34
|
-
}
|
35
|
-
}
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RubyUI
|
4
|
-
class ComboboxInput < Base
|
5
|
-
def view_template
|
6
|
-
input(**attrs)
|
7
|
-
end
|
8
|
-
|
9
|
-
private
|
10
|
-
|
11
|
-
def default_attrs
|
12
|
-
{
|
13
|
-
class: "hidden",
|
14
|
-
data: {
|
15
|
-
ruby_ui__combobox_target: "input",
|
16
|
-
ruby_ui__form_field_target: "input",
|
17
|
-
action: "change->ruby-ui--form-field#onChange invalid->ruby-ui--form-field#onInvalid"
|
18
|
-
}
|
19
|
-
}
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RubyUI
|
4
|
-
class ComboboxValue < Base
|
5
|
-
def initialize(placeholder: nil, **attrs)
|
6
|
-
@placeholder = placeholder
|
7
|
-
super(**attrs)
|
8
|
-
end
|
9
|
-
|
10
|
-
def view_template(&block)
|
11
|
-
span(**attrs) do
|
12
|
-
block ? block.call : @placeholder
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
private
|
17
|
-
|
18
|
-
def default_attrs
|
19
|
-
{
|
20
|
-
data: {
|
21
|
-
ruby_ui__combobox_target: "value"
|
22
|
-
},
|
23
|
-
class: "pointer-events-none"
|
24
|
-
}
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|