phlex_kit 0.2.2 → 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.
- checksums.yaml +4 -4
- data/README.md +22 -4
- data/config/importmap.rb +17 -3
- data/lib/generators/phlex_kit/component/component_generator.rb +42 -10
- data/lib/phlex_kit/engine.rb +7 -2
- data/lib/phlex_kit/version.rb +1 -1
- metadata +39 -39
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/accordion}/accordion_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/alert_dialog}/alert_dialog_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/attachment}/scroll_fade_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/avatar}/avatar_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/calendar}/calendar_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/calendar}/calendar_input_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/carousel}/carousel_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/chart}/chart_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/clipboard}/clipboard_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/collapsible}/collapsible_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/combobox}/combobox_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/command}/command_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/command}/command_dialog_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/context_menu}/context_menu_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/data_table}/data_table_column_visibility_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/data_table}/data_table_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/data_table}/data_table_search_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/dialog}/dialog_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/dropdown_menu}/dropdown_menu_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/form_field}/form_field_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/hover_card}/hover_card_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/input_otp}/input_otp_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/masked_input}/masked_input_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/menubar}/menubar_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/message_scroller}/message_scroller_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/popover}/popover_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/resizable}/resizable_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/select}/select_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/select}/select_item_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/sheet}/sheet_content_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/sheet}/sheet_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/slider}/slider_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/tabs}/tabs_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/theme_toggle}/theme_toggle_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/toast}/toast_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/toast}/toaster_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/toggle}/toggle_controller.js +0 -0
- /data/app/{javascript/phlex_kit/controllers → components/phlex_kit/toggle_group}/toggle_group_controller.js +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c45b2de6be65de34864a76e477a59011047aedbcd60622748301fba338ab61bf
|
|
4
|
+
data.tar.gz: 91d2611e8b3d7aaecaae5a123065efaac66e53ae67a8c60d8b4264bba8cbb34c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2528e616b1d5d55ee66f8089cb016207e505601e2be03cca6e9f706f4c68c29622414e9fcd96717354222e142c570806dc85290842eff2570e3d2120f7cc97ce
|
|
7
|
+
data.tar.gz: 9c218687c79045dc1cf070b40b37f4706fb023c878a142a86c5c2f05cd88f99516a81f00d5cb382d97aae2c9b48dc8c7e0a680f4b43a09146a5a8bcddde3668f
|
data/README.md
CHANGED
|
@@ -9,6 +9,12 @@ instead of Tailwind**. The full [ruby_ui](https://ruby-ui.com) catalog plus
|
|
|
9
9
|
shadcn's own additions — 70 component families, 38 Stimulus controllers —
|
|
10
10
|
with the default theme lifted verbatim from shadcn/ui's current token system.
|
|
11
11
|
|
|
12
|
+

|
|
13
|
+
|
|
14
|
+
*Every pixel above is PhlexKit: [shadcn's /create demo](https://ui.shadcn.com/create)
|
|
15
|
+
rebuilt in the dummy app from kit components — cards, charts, sliders,
|
|
16
|
+
switches, nav menu, command palette — at `/create` in [the docs site](#the-docs-site).*
|
|
17
|
+
|
|
12
18
|
- **No build step.** Components are plain Ruby classes with co-located vanilla
|
|
13
19
|
CSS, served precompiled-static through Propshaft. No Tailwind, no Node, no
|
|
14
20
|
PostCSS.
|
|
@@ -52,6 +58,11 @@ registerPhlexKitControllers(application)
|
|
|
52
58
|
|
|
53
59
|
That's it — no Tailwind config, no content globs, no bundler.
|
|
54
60
|
|
|
61
|
+
For a full step-by-step walkthrough on the default Propshaft + importmap stack —
|
|
62
|
+
including how the `@import` chain and the Stimulus registration wire up, and how
|
|
63
|
+
to verify the install — see
|
|
64
|
+
[docs/05-PROPSHAFT-INSTALL.md](docs/05-PROPSHAFT-INSTALL.md).
|
|
65
|
+
|
|
55
66
|
## Usage
|
|
56
67
|
|
|
57
68
|
```ruby
|
|
@@ -207,8 +218,14 @@ Want to own and edit a component's source? Eject it into your app:
|
|
|
207
218
|
bin/rails g phlex_kit:component button
|
|
208
219
|
```
|
|
209
220
|
|
|
210
|
-
This copies `button.rb` + `button.css
|
|
211
|
-
and
|
|
221
|
+
This copies the whole component folder — `button.rb` (+ any parts), `button.css`,
|
|
222
|
+
and, for interactive components, `button_controller.js` — into
|
|
223
|
+
`app/components/phlex_kit/button/`, prepends its `@import`, and wires
|
|
224
|
+
`config/application.rb` once so your copy fully shadows the gem's — **Ruby, CSS,
|
|
225
|
+
and JS**. (It Zeitwerk-collapses the folder so `button/button.rb` autoloads as
|
|
226
|
+
`PhlexKit::Button`, and puts `app/components` ahead of the gem on Propshaft's
|
|
227
|
+
asset path so the ejected CSS/JS resolve to your copy, not the gem's.) Re-running
|
|
228
|
+
for another component reuses the same wiring — it's injected only once.
|
|
212
229
|
|
|
213
230
|
## The docs site
|
|
214
231
|
|
|
@@ -278,8 +295,9 @@ fully mirrored overlay alignment in RTL may need small host-side overrides.
|
|
|
278
295
|
Four engine initializers make the zero-build story hold:
|
|
279
296
|
|
|
280
297
|
1. `app/components`, the stylesheet dir, and `app/javascript` go on
|
|
281
|
-
Propshaft's load path, so
|
|
282
|
-
resolve
|
|
298
|
+
Propshaft's load path, so each component's `.css` and `_controller.js` sit
|
|
299
|
+
beside its `.rb` and the importmap pins resolve (`app/javascript` still serves
|
|
300
|
+
the central `controllers/index.js` registry).
|
|
283
301
|
2. Component folders are Zeitwerk-`collapse`d, so `button/button.rb` is
|
|
284
302
|
`PhlexKit::Button` and `card/card_header.rb` is `PhlexKit::CardHeader`.
|
|
285
303
|
3. A guard keeps Propshaft from serving Ruby source out of `public/assets/`.
|
data/config/importmap.rb
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
# Pins the PhlexKit Stimulus controllers so importmap-rails hosts can register
|
|
4
4
|
# them. The engine appends this file to the host's importmap paths.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
#
|
|
6
|
+
# Each controller is co-located with its component under
|
|
7
|
+
# app/components/phlex_kit/<name>/<name>_controller.js, but we keep the flat
|
|
8
|
+
# `phlex_kit/controllers/*` module namespace stable so index.js imports and the
|
|
9
|
+
# host-facing API (`import … from "phlex_kit/controllers"`) never change. Basenames
|
|
10
|
+
# are globally unique, so the flat module IDs don't collide. app/components is
|
|
11
|
+
# already on the asset path (see Engine), so these logical paths resolve and
|
|
12
|
+
# get fingerprinted.
|
|
13
|
+
components_root = PhlexKit::Engine.root.join("app/components")
|
|
14
|
+
Dir.glob(components_root.join("phlex_kit/*/*_controller.js")).sort.each do |path|
|
|
15
|
+
name = File.basename(path, ".js") # e.g. "button_controller"
|
|
16
|
+
logical = path.sub("#{components_root}/", "") # e.g. "phlex_kit/button/button_controller.js"
|
|
17
|
+
pin "phlex_kit/controllers/#{name}", to: logical
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# The aggregator that hosts import from ("phlex_kit/controllers"); stays central.
|
|
21
|
+
pin "phlex_kit/controllers", to: "phlex_kit/controllers/index.js"
|
|
@@ -5,13 +5,17 @@ require "rails/generators/named_base"
|
|
|
5
5
|
module PhlexKit
|
|
6
6
|
module Generators
|
|
7
7
|
# `rails g phlex_kit:component button` — the shadcn-style "eject": copies a
|
|
8
|
-
# component's folder (.rb parts + co-located .css) out of the
|
|
9
|
-
# host app so the team owns and can edit the source. Appends
|
|
10
|
-
# application.css
|
|
11
|
-
# copy shadows the gem's
|
|
8
|
+
# component's folder (.rb parts + co-located .css + _controller.js) out of the
|
|
9
|
+
# gem and into the host app so the team owns and can edit the source. Appends
|
|
10
|
+
# its @import to application.css and wires config/application.rb (once) so the
|
|
11
|
+
# ejected copy fully shadows the gem's — Ruby, CSS, and JS alike.
|
|
12
12
|
class ComponentGenerator < Rails::Generators::NamedBase
|
|
13
13
|
source_root PhlexKit::Engine.root.join("app/components/phlex_kit").to_s
|
|
14
14
|
|
|
15
|
+
# Marker that `wire_host_app` is idempotent against — presence means an
|
|
16
|
+
# earlier eject already wired config/application.rb.
|
|
17
|
+
COLLAPSE_LINE = %(Rails.autoloaders.main.collapse(Rails.root.join("app/components/phlex_kit/*")))
|
|
18
|
+
|
|
15
19
|
def eject_component
|
|
16
20
|
unless File.directory?(File.join(self.class.source_root, file_name))
|
|
17
21
|
say_status :error, "no PhlexKit component named '#{file_name}'", :red
|
|
@@ -27,14 +31,42 @@ module PhlexKit
|
|
|
27
31
|
prepend_to_file(css, line) unless File.read(css).include?(line.strip)
|
|
28
32
|
end
|
|
29
33
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
# Make an ejected component fully editable, in one step. Two things are
|
|
35
|
+
# needed and neither is on by default in a host app:
|
|
36
|
+
# 1. Zeitwerk collapse — so app/components/phlex_kit/button/button.rb
|
|
37
|
+
# autoloads as PhlexKit::Button (not ::Button::Button). Fixes Ruby.
|
|
38
|
+
# 2. Host app/components ahead of the gem on Propshaft's asset path — so
|
|
39
|
+
# the ejected <name>.css and <name>_controller.js resolve to the host
|
|
40
|
+
# copy instead of the gem's. Without this the Ruby shadows but the CSS
|
|
41
|
+
# and JS silently keep serving the gem's originals.
|
|
42
|
+
# Injected once (idempotent) right after config.load_defaults, where
|
|
43
|
+
# config.assets is available.
|
|
44
|
+
def wire_host_app
|
|
45
|
+
app_rb = "config/application.rb"
|
|
46
|
+
unless File.exist?(app_rb)
|
|
47
|
+
say_status :skip, "#{app_rb} not found — wire ejected components manually (see docs/05-PROPSHAFT-INSTALL.md)", :yellow
|
|
48
|
+
return
|
|
49
|
+
end
|
|
50
|
+
if File.read(app_rb).include?(COLLAPSE_LINE)
|
|
51
|
+
say_status :identical, "#{app_rb} already wired for ejected components", :blue
|
|
52
|
+
return
|
|
53
|
+
end
|
|
54
|
+
inject_into_file app_rb, after: /^\s*config\.load_defaults.*\n/ do
|
|
55
|
+
# Indent only non-empty lines so the blank separator carries no trailing space.
|
|
56
|
+
<<~RUBY.gsub(/^(?=.)/, " ")
|
|
34
57
|
|
|
35
|
-
|
|
58
|
+
# PhlexKit: make ejected components under app/components/phlex_kit/
|
|
59
|
+
# fully editable — collapse so <name>/<name>.rb autoloads as
|
|
60
|
+
# PhlexKit::<Name>, and put the dir ahead of the gem on the asset path
|
|
61
|
+
# so the ejected <name>.css and <name>_controller.js shadow the gem's.
|
|
62
|
+
#{COLLAPSE_LINE}
|
|
63
|
+
config.assets.paths.unshift(Rails.root.join("app/components"))
|
|
64
|
+
RUBY
|
|
65
|
+
end
|
|
66
|
+
end
|
|
36
67
|
|
|
37
|
-
|
|
68
|
+
def confirm
|
|
69
|
+
say_status :phlex_kit, "ejected phlex_kit/#{file_name} — your copy now shadows the gem (Ruby, CSS, JS)", :green
|
|
38
70
|
end
|
|
39
71
|
end
|
|
40
72
|
end
|
data/lib/phlex_kit/engine.rb
CHANGED
|
@@ -14,8 +14,10 @@ module PhlexKit
|
|
|
14
14
|
if app.config.respond_to?(:assets)
|
|
15
15
|
app.config.assets.paths << root.join("app/components")
|
|
16
16
|
app.config.assets.paths << root.join("app/assets/stylesheets")
|
|
17
|
-
# The Stimulus controllers
|
|
18
|
-
#
|
|
17
|
+
# The Stimulus controllers are co-located under app/components (served via
|
|
18
|
+
# the path above); this keeps the central registry (controllers/index.js)
|
|
19
|
+
# servable too, or the "phlex_kit/controllers" pin from (4) resolves to a
|
|
20
|
+
# missing asset and gets silently skipped.
|
|
19
21
|
app.config.assets.paths << root.join("app/javascript")
|
|
20
22
|
end
|
|
21
23
|
end
|
|
@@ -38,6 +40,9 @@ module PhlexKit
|
|
|
38
40
|
initializer "phlex_kit.importmap", before: "importmap" do |app|
|
|
39
41
|
if app.respond_to?(:config) && app.config.respond_to?(:importmap)
|
|
40
42
|
app.config.importmap.paths << root.join("config/importmap.rb")
|
|
43
|
+
# Colocated controllers change under app/components; the central registry
|
|
44
|
+
# lives under app/javascript. Sweep both so edits bust the importmap cache.
|
|
45
|
+
app.config.importmap.cache_sweepers << root.join("app/components")
|
|
41
46
|
app.config.importmap.cache_sweepers << root.join("app/javascript")
|
|
42
47
|
end
|
|
43
48
|
end
|
data/lib/phlex_kit/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: phlex_kit
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Matt Kennedy
|
|
@@ -126,6 +126,7 @@ files:
|
|
|
126
126
|
- app/components/phlex_kit/accordion/accordion.css
|
|
127
127
|
- app/components/phlex_kit/accordion/accordion.rb
|
|
128
128
|
- app/components/phlex_kit/accordion/accordion_content.rb
|
|
129
|
+
- app/components/phlex_kit/accordion/accordion_controller.js
|
|
129
130
|
- app/components/phlex_kit/accordion/accordion_default_content.rb
|
|
130
131
|
- app/components/phlex_kit/accordion/accordion_default_trigger.rb
|
|
131
132
|
- app/components/phlex_kit/accordion/accordion_icon.rb
|
|
@@ -140,6 +141,7 @@ files:
|
|
|
140
141
|
- app/components/phlex_kit/alert_dialog/alert_dialog_action.rb
|
|
141
142
|
- app/components/phlex_kit/alert_dialog/alert_dialog_cancel.rb
|
|
142
143
|
- app/components/phlex_kit/alert_dialog/alert_dialog_content.rb
|
|
144
|
+
- app/components/phlex_kit/alert_dialog/alert_dialog_controller.js
|
|
143
145
|
- app/components/phlex_kit/alert_dialog/alert_dialog_description.rb
|
|
144
146
|
- app/components/phlex_kit/alert_dialog/alert_dialog_footer.rb
|
|
145
147
|
- app/components/phlex_kit/alert_dialog/alert_dialog_header.rb
|
|
@@ -158,8 +160,10 @@ files:
|
|
|
158
160
|
- app/components/phlex_kit/attachment/attachment_media.rb
|
|
159
161
|
- app/components/phlex_kit/attachment/attachment_title.rb
|
|
160
162
|
- app/components/phlex_kit/attachment/attachment_trigger.rb
|
|
163
|
+
- app/components/phlex_kit/attachment/scroll_fade_controller.js
|
|
161
164
|
- app/components/phlex_kit/avatar/avatar.css
|
|
162
165
|
- app/components/phlex_kit/avatar/avatar.rb
|
|
166
|
+
- app/components/phlex_kit/avatar/avatar_controller.js
|
|
163
167
|
- app/components/phlex_kit/avatar/avatar_fallback.rb
|
|
164
168
|
- app/components/phlex_kit/avatar/avatar_group.rb
|
|
165
169
|
- app/components/phlex_kit/avatar/avatar_image.rb
|
|
@@ -185,8 +189,10 @@ files:
|
|
|
185
189
|
- app/components/phlex_kit/calendar/calendar.css
|
|
186
190
|
- app/components/phlex_kit/calendar/calendar.rb
|
|
187
191
|
- app/components/phlex_kit/calendar/calendar_body.rb
|
|
192
|
+
- app/components/phlex_kit/calendar/calendar_controller.js
|
|
188
193
|
- app/components/phlex_kit/calendar/calendar_days.rb
|
|
189
194
|
- app/components/phlex_kit/calendar/calendar_header.rb
|
|
195
|
+
- app/components/phlex_kit/calendar/calendar_input_controller.js
|
|
190
196
|
- app/components/phlex_kit/calendar/calendar_next.rb
|
|
191
197
|
- app/components/phlex_kit/calendar/calendar_prev.rb
|
|
192
198
|
- app/components/phlex_kit/calendar/calendar_title.rb
|
|
@@ -202,15 +208,18 @@ files:
|
|
|
202
208
|
- app/components/phlex_kit/carousel/carousel.css
|
|
203
209
|
- app/components/phlex_kit/carousel/carousel.rb
|
|
204
210
|
- app/components/phlex_kit/carousel/carousel_content.rb
|
|
211
|
+
- app/components/phlex_kit/carousel/carousel_controller.js
|
|
205
212
|
- app/components/phlex_kit/carousel/carousel_item.rb
|
|
206
213
|
- app/components/phlex_kit/carousel/carousel_next.rb
|
|
207
214
|
- app/components/phlex_kit/carousel/carousel_previous.rb
|
|
208
215
|
- app/components/phlex_kit/chart/chart.css
|
|
209
216
|
- app/components/phlex_kit/chart/chart.rb
|
|
217
|
+
- app/components/phlex_kit/chart/chart_controller.js
|
|
210
218
|
- app/components/phlex_kit/checkbox/checkbox.css
|
|
211
219
|
- app/components/phlex_kit/checkbox/checkbox.rb
|
|
212
220
|
- app/components/phlex_kit/clipboard/clipboard.css
|
|
213
221
|
- app/components/phlex_kit/clipboard/clipboard.rb
|
|
222
|
+
- app/components/phlex_kit/clipboard/clipboard_controller.js
|
|
214
223
|
- app/components/phlex_kit/clipboard/clipboard_popover.rb
|
|
215
224
|
- app/components/phlex_kit/clipboard/clipboard_source.rb
|
|
216
225
|
- app/components/phlex_kit/clipboard/clipboard_trigger.rb
|
|
@@ -219,6 +228,7 @@ files:
|
|
|
219
228
|
- app/components/phlex_kit/collapsible/collapsible.css
|
|
220
229
|
- app/components/phlex_kit/collapsible/collapsible.rb
|
|
221
230
|
- app/components/phlex_kit/collapsible/collapsible_content.rb
|
|
231
|
+
- app/components/phlex_kit/collapsible/collapsible_controller.js
|
|
222
232
|
- app/components/phlex_kit/collapsible/collapsible_trigger.rb
|
|
223
233
|
- app/components/phlex_kit/combobox/combobox.css
|
|
224
234
|
- app/components/phlex_kit/combobox/combobox.rb
|
|
@@ -226,6 +236,7 @@ files:
|
|
|
226
236
|
- app/components/phlex_kit/combobox/combobox_badge_trigger.rb
|
|
227
237
|
- app/components/phlex_kit/combobox/combobox_checkbox.rb
|
|
228
238
|
- app/components/phlex_kit/combobox/combobox_clear_button.rb
|
|
239
|
+
- app/components/phlex_kit/combobox/combobox_controller.js
|
|
229
240
|
- app/components/phlex_kit/combobox/combobox_empty_state.rb
|
|
230
241
|
- app/components/phlex_kit/combobox/combobox_input_trigger.rb
|
|
231
242
|
- app/components/phlex_kit/combobox/combobox_item.rb
|
|
@@ -239,8 +250,10 @@ files:
|
|
|
239
250
|
- app/components/phlex_kit/combobox/combobox_trigger.rb
|
|
240
251
|
- app/components/phlex_kit/command/command.css
|
|
241
252
|
- app/components/phlex_kit/command/command.rb
|
|
253
|
+
- app/components/phlex_kit/command/command_controller.js
|
|
242
254
|
- app/components/phlex_kit/command/command_dialog.rb
|
|
243
255
|
- app/components/phlex_kit/command/command_dialog_content.rb
|
|
256
|
+
- app/components/phlex_kit/command/command_dialog_controller.js
|
|
244
257
|
- app/components/phlex_kit/command/command_dialog_trigger.rb
|
|
245
258
|
- app/components/phlex_kit/command/command_empty.rb
|
|
246
259
|
- app/components/phlex_kit/command/command_group.rb
|
|
@@ -250,6 +263,7 @@ files:
|
|
|
250
263
|
- app/components/phlex_kit/context_menu/context_menu.css
|
|
251
264
|
- app/components/phlex_kit/context_menu/context_menu.rb
|
|
252
265
|
- app/components/phlex_kit/context_menu/context_menu_content.rb
|
|
266
|
+
- app/components/phlex_kit/context_menu/context_menu_controller.js
|
|
253
267
|
- app/components/phlex_kit/context_menu/context_menu_item.rb
|
|
254
268
|
- app/components/phlex_kit/context_menu/context_menu_label.rb
|
|
255
269
|
- app/components/phlex_kit/context_menu/context_menu_separator.rb
|
|
@@ -258,6 +272,8 @@ files:
|
|
|
258
272
|
- app/components/phlex_kit/data_table/data_table.rb
|
|
259
273
|
- app/components/phlex_kit/data_table/data_table_bulk_actions.rb
|
|
260
274
|
- app/components/phlex_kit/data_table/data_table_column_toggle.rb
|
|
275
|
+
- app/components/phlex_kit/data_table/data_table_column_visibility_controller.js
|
|
276
|
+
- app/components/phlex_kit/data_table/data_table_controller.js
|
|
261
277
|
- app/components/phlex_kit/data_table/data_table_expand_toggle.rb
|
|
262
278
|
- app/components/phlex_kit/data_table/data_table_form.rb
|
|
263
279
|
- app/components/phlex_kit/data_table/data_table_kaminari_adapter.rb
|
|
@@ -268,6 +284,7 @@ files:
|
|
|
268
284
|
- app/components/phlex_kit/data_table/data_table_per_page_select.rb
|
|
269
285
|
- app/components/phlex_kit/data_table/data_table_row_checkbox.rb
|
|
270
286
|
- app/components/phlex_kit/data_table/data_table_search.rb
|
|
287
|
+
- app/components/phlex_kit/data_table/data_table_search_controller.js
|
|
271
288
|
- app/components/phlex_kit/data_table/data_table_select_all_checkbox.rb
|
|
272
289
|
- app/components/phlex_kit/data_table/data_table_selection_summary.rb
|
|
273
290
|
- app/components/phlex_kit/data_table/data_table_sort_head.rb
|
|
@@ -277,6 +294,7 @@ files:
|
|
|
277
294
|
- app/components/phlex_kit/dialog/dialog.css
|
|
278
295
|
- app/components/phlex_kit/dialog/dialog.rb
|
|
279
296
|
- app/components/phlex_kit/dialog/dialog_content.rb
|
|
297
|
+
- app/components/phlex_kit/dialog/dialog_controller.js
|
|
280
298
|
- app/components/phlex_kit/dialog/dialog_description.rb
|
|
281
299
|
- app/components/phlex_kit/dialog/dialog_footer.rb
|
|
282
300
|
- app/components/phlex_kit/dialog/dialog_header.rb
|
|
@@ -296,6 +314,7 @@ files:
|
|
|
296
314
|
- app/components/phlex_kit/dropdown_menu/dropdown_menu.rb
|
|
297
315
|
- app/components/phlex_kit/dropdown_menu/dropdown_menu_checkbox_item.rb
|
|
298
316
|
- app/components/phlex_kit/dropdown_menu/dropdown_menu_content.rb
|
|
317
|
+
- app/components/phlex_kit/dropdown_menu/dropdown_menu_controller.js
|
|
299
318
|
- app/components/phlex_kit/dropdown_menu/dropdown_menu_group.rb
|
|
300
319
|
- app/components/phlex_kit/dropdown_menu/dropdown_menu_item.rb
|
|
301
320
|
- app/components/phlex_kit/dropdown_menu/dropdown_menu_label.rb
|
|
@@ -318,12 +337,14 @@ files:
|
|
|
318
337
|
- app/components/phlex_kit/form/form.rb
|
|
319
338
|
- app/components/phlex_kit/form_field/form_field.css
|
|
320
339
|
- app/components/phlex_kit/form_field/form_field.rb
|
|
340
|
+
- app/components/phlex_kit/form_field/form_field_controller.js
|
|
321
341
|
- app/components/phlex_kit/form_field/form_field_error.rb
|
|
322
342
|
- app/components/phlex_kit/form_field/form_field_hint.rb
|
|
323
343
|
- app/components/phlex_kit/form_field/form_field_label.rb
|
|
324
344
|
- app/components/phlex_kit/hover_card/hover_card.css
|
|
325
345
|
- app/components/phlex_kit/hover_card/hover_card.rb
|
|
326
346
|
- app/components/phlex_kit/hover_card/hover_card_content.rb
|
|
347
|
+
- app/components/phlex_kit/hover_card/hover_card_controller.js
|
|
327
348
|
- app/components/phlex_kit/hover_card/hover_card_trigger.rb
|
|
328
349
|
- app/components/phlex_kit/icon/icon.rb
|
|
329
350
|
- app/components/phlex_kit/input/input.css
|
|
@@ -334,6 +355,7 @@ files:
|
|
|
334
355
|
- app/components/phlex_kit/input_group/input_group_text.rb
|
|
335
356
|
- app/components/phlex_kit/input_otp/input_otp.css
|
|
336
357
|
- app/components/phlex_kit/input_otp/input_otp.rb
|
|
358
|
+
- app/components/phlex_kit/input_otp/input_otp_controller.js
|
|
337
359
|
- app/components/phlex_kit/input_otp/input_otp_group.rb
|
|
338
360
|
- app/components/phlex_kit/input_otp/input_otp_separator.rb
|
|
339
361
|
- app/components/phlex_kit/input_otp/input_otp_slot.rb
|
|
@@ -357,9 +379,11 @@ files:
|
|
|
357
379
|
- app/components/phlex_kit/marker/marker_content.rb
|
|
358
380
|
- app/components/phlex_kit/marker/marker_icon.rb
|
|
359
381
|
- app/components/phlex_kit/masked_input/masked_input.rb
|
|
382
|
+
- app/components/phlex_kit/masked_input/masked_input_controller.js
|
|
360
383
|
- app/components/phlex_kit/menubar/menubar.css
|
|
361
384
|
- app/components/phlex_kit/menubar/menubar.rb
|
|
362
385
|
- app/components/phlex_kit/menubar/menubar_content.rb
|
|
386
|
+
- app/components/phlex_kit/menubar/menubar_controller.js
|
|
363
387
|
- app/components/phlex_kit/menubar/menubar_item.rb
|
|
364
388
|
- app/components/phlex_kit/menubar/menubar_menu.rb
|
|
365
389
|
- app/components/phlex_kit/menubar/menubar_separator.rb
|
|
@@ -373,6 +397,7 @@ files:
|
|
|
373
397
|
- app/components/phlex_kit/message/message_header.rb
|
|
374
398
|
- app/components/phlex_kit/message_scroller/message_scroller.css
|
|
375
399
|
- app/components/phlex_kit/message_scroller/message_scroller.rb
|
|
400
|
+
- app/components/phlex_kit/message_scroller/message_scroller_controller.js
|
|
376
401
|
- app/components/phlex_kit/native_select/native_select.css
|
|
377
402
|
- app/components/phlex_kit/native_select/native_select.rb
|
|
378
403
|
- app/components/phlex_kit/native_select/native_select_group.rb
|
|
@@ -393,6 +418,7 @@ files:
|
|
|
393
418
|
- app/components/phlex_kit/popover/popover.css
|
|
394
419
|
- app/components/phlex_kit/popover/popover.rb
|
|
395
420
|
- app/components/phlex_kit/popover/popover_content.rb
|
|
421
|
+
- app/components/phlex_kit/popover/popover_controller.js
|
|
396
422
|
- app/components/phlex_kit/popover/popover_trigger.rb
|
|
397
423
|
- app/components/phlex_kit/progress/progress.css
|
|
398
424
|
- app/components/phlex_kit/progress/progress.rb
|
|
@@ -401,6 +427,7 @@ files:
|
|
|
401
427
|
- app/components/phlex_kit/radio_group/radio_group.css
|
|
402
428
|
- app/components/phlex_kit/radio_group/radio_group.rb
|
|
403
429
|
- app/components/phlex_kit/resizable/resizable.css
|
|
430
|
+
- app/components/phlex_kit/resizable/resizable_controller.js
|
|
404
431
|
- app/components/phlex_kit/resizable/resizable_handle.rb
|
|
405
432
|
- app/components/phlex_kit/resizable/resizable_panel.rb
|
|
406
433
|
- app/components/phlex_kit/resizable/resizable_panel_group.rb
|
|
@@ -409,9 +436,11 @@ files:
|
|
|
409
436
|
- app/components/phlex_kit/select/select.css
|
|
410
437
|
- app/components/phlex_kit/select/select.rb
|
|
411
438
|
- app/components/phlex_kit/select/select_content.rb
|
|
439
|
+
- app/components/phlex_kit/select/select_controller.js
|
|
412
440
|
- app/components/phlex_kit/select/select_group.rb
|
|
413
441
|
- app/components/phlex_kit/select/select_input.rb
|
|
414
442
|
- app/components/phlex_kit/select/select_item.rb
|
|
443
|
+
- app/components/phlex_kit/select/select_item_controller.js
|
|
415
444
|
- app/components/phlex_kit/select/select_label.rb
|
|
416
445
|
- app/components/phlex_kit/select/select_trigger.rb
|
|
417
446
|
- app/components/phlex_kit/select/select_value.rb
|
|
@@ -420,6 +449,8 @@ files:
|
|
|
420
449
|
- app/components/phlex_kit/sheet/sheet.css
|
|
421
450
|
- app/components/phlex_kit/sheet/sheet.rb
|
|
422
451
|
- app/components/phlex_kit/sheet/sheet_content.rb
|
|
452
|
+
- app/components/phlex_kit/sheet/sheet_content_controller.js
|
|
453
|
+
- app/components/phlex_kit/sheet/sheet_controller.js
|
|
423
454
|
- app/components/phlex_kit/sheet/sheet_description.rb
|
|
424
455
|
- app/components/phlex_kit/sheet/sheet_footer.rb
|
|
425
456
|
- app/components/phlex_kit/sheet/sheet_header.rb
|
|
@@ -454,6 +485,7 @@ files:
|
|
|
454
485
|
- app/components/phlex_kit/skeleton/skeleton.rb
|
|
455
486
|
- app/components/phlex_kit/slider/slider.css
|
|
456
487
|
- app/components/phlex_kit/slider/slider.rb
|
|
488
|
+
- app/components/phlex_kit/slider/slider_controller.js
|
|
457
489
|
- app/components/phlex_kit/spinner/spinner.css
|
|
458
490
|
- app/components/phlex_kit/spinner/spinner.rb
|
|
459
491
|
- app/components/phlex_kit/switch/switch.css
|
|
@@ -470,25 +502,31 @@ files:
|
|
|
470
502
|
- app/components/phlex_kit/tabs/tabs.css
|
|
471
503
|
- app/components/phlex_kit/tabs/tabs.rb
|
|
472
504
|
- app/components/phlex_kit/tabs/tabs_content.rb
|
|
505
|
+
- app/components/phlex_kit/tabs/tabs_controller.js
|
|
473
506
|
- app/components/phlex_kit/tabs/tabs_list.rb
|
|
474
507
|
- app/components/phlex_kit/tabs/tabs_trigger.rb
|
|
475
508
|
- app/components/phlex_kit/textarea/textarea.css
|
|
476
509
|
- app/components/phlex_kit/textarea/textarea.rb
|
|
477
510
|
- app/components/phlex_kit/theme_toggle/theme_toggle.rb
|
|
511
|
+
- app/components/phlex_kit/theme_toggle/theme_toggle_controller.js
|
|
478
512
|
- app/components/phlex_kit/toast/toast.css
|
|
479
513
|
- app/components/phlex_kit/toast/toast.rb
|
|
480
514
|
- app/components/phlex_kit/toast/toast_action.rb
|
|
481
515
|
- app/components/phlex_kit/toast/toast_cancel.rb
|
|
482
516
|
- app/components/phlex_kit/toast/toast_close.rb
|
|
517
|
+
- app/components/phlex_kit/toast/toast_controller.js
|
|
483
518
|
- app/components/phlex_kit/toast/toast_description.rb
|
|
484
519
|
- app/components/phlex_kit/toast/toast_icon.rb
|
|
485
520
|
- app/components/phlex_kit/toast/toast_item.rb
|
|
486
521
|
- app/components/phlex_kit/toast/toast_region.rb
|
|
487
522
|
- app/components/phlex_kit/toast/toast_title.rb
|
|
523
|
+
- app/components/phlex_kit/toast/toaster_controller.js
|
|
488
524
|
- app/components/phlex_kit/toggle/toggle.css
|
|
489
525
|
- app/components/phlex_kit/toggle/toggle.rb
|
|
526
|
+
- app/components/phlex_kit/toggle/toggle_controller.js
|
|
490
527
|
- app/components/phlex_kit/toggle_group/toggle_group.css
|
|
491
528
|
- app/components/phlex_kit/toggle_group/toggle_group.rb
|
|
529
|
+
- app/components/phlex_kit/toggle_group/toggle_group_controller.js
|
|
492
530
|
- app/components/phlex_kit/toggle_group/toggle_group_item.rb
|
|
493
531
|
- app/components/phlex_kit/tooltip/tooltip.css
|
|
494
532
|
- app/components/phlex_kit/tooltip/tooltip.rb
|
|
@@ -500,45 +538,7 @@ files:
|
|
|
500
538
|
- app/components/phlex_kit/typography/inline_link.rb
|
|
501
539
|
- app/components/phlex_kit/typography/text.rb
|
|
502
540
|
- app/components/phlex_kit/typography/typography.css
|
|
503
|
-
- app/javascript/phlex_kit/controllers/accordion_controller.js
|
|
504
|
-
- app/javascript/phlex_kit/controllers/alert_dialog_controller.js
|
|
505
|
-
- app/javascript/phlex_kit/controllers/avatar_controller.js
|
|
506
|
-
- app/javascript/phlex_kit/controllers/calendar_controller.js
|
|
507
|
-
- app/javascript/phlex_kit/controllers/calendar_input_controller.js
|
|
508
|
-
- app/javascript/phlex_kit/controllers/carousel_controller.js
|
|
509
|
-
- app/javascript/phlex_kit/controllers/chart_controller.js
|
|
510
|
-
- app/javascript/phlex_kit/controllers/clipboard_controller.js
|
|
511
|
-
- app/javascript/phlex_kit/controllers/collapsible_controller.js
|
|
512
|
-
- app/javascript/phlex_kit/controllers/combobox_controller.js
|
|
513
|
-
- app/javascript/phlex_kit/controllers/command_controller.js
|
|
514
|
-
- app/javascript/phlex_kit/controllers/command_dialog_controller.js
|
|
515
|
-
- app/javascript/phlex_kit/controllers/context_menu_controller.js
|
|
516
|
-
- app/javascript/phlex_kit/controllers/data_table_column_visibility_controller.js
|
|
517
|
-
- app/javascript/phlex_kit/controllers/data_table_controller.js
|
|
518
|
-
- app/javascript/phlex_kit/controllers/data_table_search_controller.js
|
|
519
|
-
- app/javascript/phlex_kit/controllers/dialog_controller.js
|
|
520
|
-
- app/javascript/phlex_kit/controllers/dropdown_menu_controller.js
|
|
521
|
-
- app/javascript/phlex_kit/controllers/form_field_controller.js
|
|
522
|
-
- app/javascript/phlex_kit/controllers/hover_card_controller.js
|
|
523
541
|
- app/javascript/phlex_kit/controllers/index.js
|
|
524
|
-
- app/javascript/phlex_kit/controllers/input_otp_controller.js
|
|
525
|
-
- app/javascript/phlex_kit/controllers/masked_input_controller.js
|
|
526
|
-
- app/javascript/phlex_kit/controllers/menubar_controller.js
|
|
527
|
-
- app/javascript/phlex_kit/controllers/message_scroller_controller.js
|
|
528
|
-
- app/javascript/phlex_kit/controllers/popover_controller.js
|
|
529
|
-
- app/javascript/phlex_kit/controllers/resizable_controller.js
|
|
530
|
-
- app/javascript/phlex_kit/controllers/scroll_fade_controller.js
|
|
531
|
-
- app/javascript/phlex_kit/controllers/select_controller.js
|
|
532
|
-
- app/javascript/phlex_kit/controllers/select_item_controller.js
|
|
533
|
-
- app/javascript/phlex_kit/controllers/sheet_content_controller.js
|
|
534
|
-
- app/javascript/phlex_kit/controllers/sheet_controller.js
|
|
535
|
-
- app/javascript/phlex_kit/controllers/slider_controller.js
|
|
536
|
-
- app/javascript/phlex_kit/controllers/tabs_controller.js
|
|
537
|
-
- app/javascript/phlex_kit/controllers/theme_toggle_controller.js
|
|
538
|
-
- app/javascript/phlex_kit/controllers/toast_controller.js
|
|
539
|
-
- app/javascript/phlex_kit/controllers/toaster_controller.js
|
|
540
|
-
- app/javascript/phlex_kit/controllers/toggle_controller.js
|
|
541
|
-
- app/javascript/phlex_kit/controllers/toggle_group_controller.js
|
|
542
542
|
- config/importmap.rb
|
|
543
543
|
- lib/generators/phlex_kit/component/component_generator.rb
|
|
544
544
|
- lib/generators/phlex_kit/install/install_generator.rb
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/data/app/{javascript/phlex_kit/controllers → components/phlex_kit/avatar}/avatar_controller.js
RENAMED
|
File without changes
|
/data/app/{javascript/phlex_kit/controllers → components/phlex_kit/calendar}/calendar_controller.js
RENAMED
|
File without changes
|
|
File without changes
|
/data/app/{javascript/phlex_kit/controllers → components/phlex_kit/carousel}/carousel_controller.js
RENAMED
|
File without changes
|
/data/app/{javascript/phlex_kit/controllers → components/phlex_kit/chart}/chart_controller.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/data/app/{javascript/phlex_kit/controllers → components/phlex_kit/combobox}/combobox_controller.js
RENAMED
|
File without changes
|
/data/app/{javascript/phlex_kit/controllers → components/phlex_kit/command}/command_controller.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/data/app/{javascript/phlex_kit/controllers → components/phlex_kit/dialog}/dialog_controller.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/data/app/{javascript/phlex_kit/controllers → components/phlex_kit/menubar}/menubar_controller.js
RENAMED
|
File without changes
|
|
File without changes
|
/data/app/{javascript/phlex_kit/controllers → components/phlex_kit/popover}/popover_controller.js
RENAMED
|
File without changes
|
|
File without changes
|
/data/app/{javascript/phlex_kit/controllers → components/phlex_kit/select}/select_controller.js
RENAMED
|
File without changes
|
/data/app/{javascript/phlex_kit/controllers → components/phlex_kit/select}/select_item_controller.js
RENAMED
|
File without changes
|
|
File without changes
|
/data/app/{javascript/phlex_kit/controllers → components/phlex_kit/sheet}/sheet_controller.js
RENAMED
|
File without changes
|
/data/app/{javascript/phlex_kit/controllers → components/phlex_kit/slider}/slider_controller.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/data/app/{javascript/phlex_kit/controllers → components/phlex_kit/toast}/toast_controller.js
RENAMED
|
File without changes
|
/data/app/{javascript/phlex_kit/controllers → components/phlex_kit/toast}/toaster_controller.js
RENAMED
|
File without changes
|
/data/app/{javascript/phlex_kit/controllers → components/phlex_kit/toggle}/toggle_controller.js
RENAMED
|
File without changes
|
|
File without changes
|