stimulus_plumbers 0.2.8 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +52 -0
  3. data/README.md +8 -4
  4. data/app/assets/javascripts/stimulus-plumbers/stimulus-plumbers-controllers.es.js +450 -436
  5. data/app/assets/javascripts/stimulus-plumbers/stimulus-plumbers-controllers.umd.js +1 -1
  6. data/lib/stimulus_plumbers/components/action_list/item.rb +27 -0
  7. data/lib/stimulus_plumbers/components/action_list/section.rb +21 -0
  8. data/lib/stimulus_plumbers/components/action_list.rb +23 -0
  9. data/lib/stimulus_plumbers/components/avatar.rb +73 -0
  10. data/lib/stimulus_plumbers/components/button/group.rb +17 -0
  11. data/lib/stimulus_plumbers/components/button.rb +27 -0
  12. data/lib/stimulus_plumbers/components/calendar/month/turbo/days_of_month.rb +60 -41
  13. data/lib/stimulus_plumbers/components/calendar/month/turbo/days_of_week.rb +15 -12
  14. data/lib/stimulus_plumbers/components/calendar/month/turbo.rb +55 -0
  15. data/lib/stimulus_plumbers/components/calendar.rb +56 -0
  16. data/lib/stimulus_plumbers/components/card/section.rb +25 -0
  17. data/lib/stimulus_plumbers/components/card.rb +27 -0
  18. data/lib/stimulus_plumbers/components/combobox/autocomplete.rb +30 -34
  19. data/lib/stimulus_plumbers/components/combobox/date.rb +16 -18
  20. data/lib/stimulus_plumbers/components/combobox/dropdown.rb +13 -16
  21. data/lib/stimulus_plumbers/components/combobox/options/option.rb +34 -0
  22. data/lib/stimulus_plumbers/components/combobox/options/option_group.rb +29 -0
  23. data/lib/stimulus_plumbers/components/combobox/options.rb +59 -0
  24. data/lib/stimulus_plumbers/components/combobox/popover.rb +20 -0
  25. data/lib/stimulus_plumbers/components/combobox/time/drum.rb +37 -0
  26. data/lib/stimulus_plumbers/components/combobox/time.rb +32 -15
  27. data/lib/stimulus_plumbers/components/combobox/trigger.rb +38 -0
  28. data/lib/stimulus_plumbers/components/combobox.rb +59 -0
  29. data/lib/stimulus_plumbers/components/date_picker/navigation.rb +14 -22
  30. data/lib/stimulus_plumbers/components/date_picker/navigator.rb +1 -1
  31. data/lib/stimulus_plumbers/components/icon.rb +43 -0
  32. data/lib/stimulus_plumbers/components/popover/builder.rb +25 -0
  33. data/lib/stimulus_plumbers/components/popover.rb +31 -0
  34. data/lib/stimulus_plumbers/configuration.rb +3 -18
  35. data/lib/stimulus_plumbers/engine.rb +2 -2
  36. data/lib/stimulus_plumbers/form/builder.rb +8 -6
  37. data/lib/stimulus_plumbers/form/{field_component.rb → field.rb} +1 -1
  38. data/lib/stimulus_plumbers/form/fields/combobox.rb +7 -4
  39. data/lib/stimulus_plumbers/form/fields/error.rb +14 -0
  40. data/lib/stimulus_plumbers/form/fields/group.rb +14 -0
  41. data/lib/stimulus_plumbers/form/fields/hint.rb +14 -0
  42. data/lib/stimulus_plumbers/form/fields/label.rb +21 -0
  43. data/lib/stimulus_plumbers/form/fields/renderer.rb +20 -21
  44. data/lib/stimulus_plumbers/form/fields/search.rb +23 -9
  45. data/lib/stimulus_plumbers/form/fields/submit.rb +23 -0
  46. data/lib/stimulus_plumbers/helpers/action_list_helper.rb +2 -2
  47. data/lib/stimulus_plumbers/helpers/avatar_helper.rb +2 -2
  48. data/lib/stimulus_plumbers/helpers/button_helper.rb +2 -2
  49. data/lib/stimulus_plumbers/helpers/calendar_helper.rb +1 -1
  50. data/lib/stimulus_plumbers/helpers/calendar_turbo_helper.rb +1 -1
  51. data/lib/stimulus_plumbers/helpers/card_helper.rb +2 -2
  52. data/lib/stimulus_plumbers/helpers/combobox_helper.rb +5 -5
  53. data/lib/stimulus_plumbers/helpers/popover_helper.rb +2 -2
  54. data/lib/stimulus_plumbers/plumber/base.rb +20 -0
  55. data/lib/stimulus_plumbers/plumber/dispatcher/callable_inspector.rb +19 -0
  56. data/lib/stimulus_plumbers/plumber/dispatcher/instance_exec.rb +35 -0
  57. data/lib/stimulus_plumbers/plumber/dispatcher/klass_proxy.rb +34 -0
  58. data/lib/stimulus_plumbers/plumber/dispatcher/method_call.rb +36 -0
  59. data/lib/stimulus_plumbers/plumber/dispatcher.rb +28 -0
  60. data/lib/stimulus_plumbers/plumber/html_options.rb +52 -0
  61. data/lib/stimulus_plumbers/plumber/renderer.rb +89 -0
  62. data/lib/stimulus_plumbers/themes/base.rb +34 -20
  63. data/lib/stimulus_plumbers/themes/configuration.rb +38 -0
  64. data/lib/stimulus_plumbers/themes/schema/form/ranges.rb +14 -0
  65. data/lib/stimulus_plumbers/themes/schema/icon.rb +32 -0
  66. data/lib/stimulus_plumbers/themes/schema/ranges.rb +5 -5
  67. data/lib/stimulus_plumbers/themes/schema.rb +103 -0
  68. data/lib/stimulus_plumbers/version.rb +1 -1
  69. data/lib/stimulus_plumbers.rb +29 -19
  70. metadata +40 -34
  71. data/lib/stimulus_plumbers/components/action_list/renderer.rb +0 -47
  72. data/lib/stimulus_plumbers/components/avatar/renderer.rb +0 -74
  73. data/lib/stimulus_plumbers/components/button/renderer.rb +0 -33
  74. data/lib/stimulus_plumbers/components/calendar/month/turbo/renderer.rb +0 -57
  75. data/lib/stimulus_plumbers/components/calendar/renderer.rb +0 -35
  76. data/lib/stimulus_plumbers/components/card/renderer.rb +0 -41
  77. data/lib/stimulus_plumbers/components/combobox/option.rb +0 -27
  78. data/lib/stimulus_plumbers/components/combobox/option_group.rb +0 -52
  79. data/lib/stimulus_plumbers/components/combobox/renderer.rb +0 -78
  80. data/lib/stimulus_plumbers/components/icon/renderer.rb +0 -51
  81. data/lib/stimulus_plumbers/components/plumber/base.rb +0 -22
  82. data/lib/stimulus_plumbers/components/plumber/dispatcher.rb +0 -113
  83. data/lib/stimulus_plumbers/components/plumber/html_options.rb +0 -53
  84. data/lib/stimulus_plumbers/components/plumber/renderer.rb +0 -91
  85. data/lib/stimulus_plumbers/components/popover/renderer.rb +0 -46
  86. data/lib/stimulus_plumbers/components/time_picker/renderer.rb +0 -38
  87. data/lib/stimulus_plumbers/themes/base/action_list.rb +0 -14
  88. data/lib/stimulus_plumbers/themes/base/avatar.rb +0 -14
  89. data/lib/stimulus_plumbers/themes/base/button.rb +0 -18
  90. data/lib/stimulus_plumbers/themes/base/calendar.rb +0 -15
  91. data/lib/stimulus_plumbers/themes/base/card.rb +0 -12
  92. data/lib/stimulus_plumbers/themes/base/form.rb +0 -34
  93. data/lib/stimulus_plumbers/themes/base/layout.rb +0 -12
  94. data/lib/stimulus_plumbers/themes/tailwind/action_list.rb +0 -33
  95. data/lib/stimulus_plumbers/themes/tailwind/avatar.rb +0 -52
  96. data/lib/stimulus_plumbers/themes/tailwind/button.rb +0 -89
  97. data/lib/stimulus_plumbers/themes/tailwind/calendar.rb +0 -34
  98. data/lib/stimulus_plumbers/themes/tailwind/card.rb +0 -24
  99. data/lib/stimulus_plumbers/themes/tailwind/form.rb +0 -108
  100. data/lib/stimulus_plumbers/themes/tailwind/layout.rb +0 -25
  101. data/lib/stimulus_plumbers/themes/tailwind_theme.rb +0 -29
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 876f74ed0fa1cd369bf07b4e9aae7ab22c8aa8b7002ef2fdf73e5d629970a989
4
- data.tar.gz: 4e450baaa66973e5bace682594b37098951358f9fa365b96baaae236b1ce57f3
3
+ metadata.gz: 24b44f53bd74bf3d60b97cbf5957a3f759f1f67f9e107a0073283c84d042ec4d
4
+ data.tar.gz: 3a25d7f60c7e1060ad50702ecf1246a92a0c1aff61ece5c3b5d00b4d84e14b02
5
5
  SHA512:
6
- metadata.gz: 9d1d75ed7a6e9e2a11e438e35fb58be3648b8c3f6f7641f74b6bb311ef96e7604397b6af8ce49c12fd65d90c79998b9a12c4dbab1ae5d082c066a3663b51f28a
7
- data.tar.gz: c9f34a4dbe3ab3cb1ce08a391b34696ccb5b11a2e761d5902171e8395023949e25fdb10c423e9617505f97dc7586e15fce39d4da40de2f9d871af40dce10aba5
6
+ metadata.gz: 1d63614d10f54fe15f692b7047c4ab638151b979fd1e4491fc2d7d9df5f8f2131eb0525e49d57ca482204a2bf3850953f24704a2262afad7c0c45cb6b7b0bdc8
7
+ data.tar.gz: edbf1b318041423db316becab23d992ae44d215ae0ad4df73fa2953c8f22c2106879d4d6c55d766f3d25c96899a29c1a00104cc10ff95e60615b0061aafd97db
data/CHANGELOG.md CHANGED
@@ -2,6 +2,58 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.
4
4
 
5
+ ---
6
+ ## [0.3.0](https://github.com/ryancyq/stimulus-plumbers/compare/stimulus-plumbers-rails/v0.2.9..stimulus-plumbers-rails/v0.3.0) - 2026-05-18
7
+
8
+ ### Bug Fixes
9
+
10
+ - reduce complexity violations raised by rubocop ([#65](https://github.com/ryancyq/stimulus-plumbers/issues/65)) - ([f540d38](https://github.com/ryancyq/stimulus-plumbers/commit/f540d3820158229661249c2c9095eca95c638ff1)) - Ryan Chang
11
+ - default theme to base ([#71](https://github.com/ryancyq/stimulus-plumbers/issues/71)) - ([3ba50fe](https://github.com/ryancyq/stimulus-plumbers/commit/3ba50feb8233083c3cca40467940ebf99eab7178)) - Ryan Chang
12
+ - update calendar + combobox documentation and test coverage ([#72](https://github.com/ryancyq/stimulus-plumbers/issues/72)) - ([3fb4a6f](https://github.com/ryancyq/stimulus-plumbers/commit/3fb4a6f93f049bb7d88ed7de2dcbb592f8a58185)) - Ryan Chang
13
+
14
+ ### Dependencies
15
+
16
+ - replace runtime dep from railties to actionview ([#66](https://github.com/ryancyq/stimulus-plumbers/issues/66)) - ([c58dff5](https://github.com/ryancyq/stimulus-plumbers/commit/c58dff56149319f97247a4078fba766218c7bf9b)) - Ryan Chang
17
+
18
+ ### Documentation
19
+
20
+ - update readme with rake task cmds - ([8bbb0f8](https://github.com/ryancyq/stimulus-plumbers/commit/8bbb0f855d4b0a1cd2c115b071f6b1e6388d47d2)) - Ryan Chang
21
+
22
+ ### Features
23
+
24
+ - icon schema for theme ([#70](https://github.com/ryancyq/stimulus-plumbers/issues/70)) - ([ff952c6](https://github.com/ryancyq/stimulus-plumbers/commit/ff952c6eb390b249e4605a9ddc178709133b8bbc)) - Ryan Chang
25
+ - theme config ([#73](https://github.com/ryancyq/stimulus-plumbers/issues/73)) - ([2745309](https://github.com/ryancyq/stimulus-plumbers/commit/27453095d7c6140cda49dc24eb86b12bab5894c7)) - Ryan Chang
26
+
27
+ ### Style
28
+
29
+ - add calendar week + combobox trigger theme option ([#67](https://github.com/ryancyq/stimulus-plumbers/issues/67)) - ([e7f52e3](https://github.com/ryancyq/stimulus-plumbers/commit/e7f52e3c394138b146da96d22381e06008fd0f6b)) - Ryan Chang
30
+
31
+ ### Tests
32
+
33
+ - rename system tests as a11y test to reflect its usage accurately ([#64](https://github.com/ryancyq/stimulus-plumbers/issues/64)) - ([4bd7563](https://github.com/ryancyq/stimulus-plumbers/commit/4bd7563aea00543cfdb01bebe9d2491e8846caca)) - Ryan Chang
34
+ - playwright snapshot ([#68](https://github.com/ryancyq/stimulus-plumbers/issues/68)) - ([d0ef50e](https://github.com/ryancyq/stimulus-plumbers/commit/d0ef50e7bf8fd86d67f1b19b453a56ed8a0d9349)) - Ryan Chang
35
+
36
+ ---
37
+ ## [0.2.9](https://github.com/ryancyq/stimulus-plumbers/compare/stimulus-plumbers-rails/v0.2.8..stimulus-plumbers-rails/v0.2.9) - 2026-05-15
38
+
39
+ ### Bug Fixes
40
+
41
+ - combobox options + theme ([#53](https://github.com/ryancyq/stimulus-plumbers/issues/53)) - ([38b8f56](https://github.com/ryancyq/stimulus-plumbers/commit/38b8f5632fd62ed62947d62567e704a0b8b46f74)) - Ryan Chang
42
+ - update broken ruby action bindings ([#55](https://github.com/ryancyq/stimulus-plumbers/issues/55)) - ([f2259df](https://github.com/ryancyq/stimulus-plumbers/commit/f2259dfd8f2369bb588ee24fec3d9e8a8f854093)) - Ryan Chang
43
+
44
+ ### Documentation
45
+
46
+ - update form input ([#49](https://github.com/ryancyq/stimulus-plumbers/issues/49)) - ([dd35b7f](https://github.com/ryancyq/stimulus-plumbers/commit/dd35b7fdadf5ffb8808b00c0c5b75542bcde4d02)) - Ryan Chang
47
+ - update theme to align with implementation ([#57](https://github.com/ryancyq/stimulus-plumbers/issues/57)) - ([0645cfa](https://github.com/ryancyq/stimulus-plumbers/commit/0645cfa9896aa65082b7f2fd9e619d2216c13f75)) - Ryan Chang
48
+
49
+ ### Features
50
+
51
+ - form input search ([#50](https://github.com/ryancyq/stimulus-plumbers/issues/50)) - ([130b966](https://github.com/ryancyq/stimulus-plumbers/commit/130b9666a644a54b94da5ba23f5d0b32a0458f53)) - Ryan Chang
52
+
53
+ ### Tests
54
+
55
+ - code coverage report ([#48](https://github.com/ryancyq/stimulus-plumbers/issues/48)) - ([78950e6](https://github.com/ryancyq/stimulus-plumbers/commit/78950e603ac7e003b5c6361ab6016796caca3397)) - Ryan Chang
56
+
5
57
  ---
6
58
  ## [0.2.8](https://github.com/ryancyq/stimulus-plumbers/compare/stimulus-plumbers-rails/v0.2.7..stimulus-plumbers-rails/v0.2.8) - 2026-05-10
7
59
 
data/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  [![Version][rubygems_badge]][rubygems]
4
4
  [![CI][ci_badge]][ci]
5
+ [![Coverage][coverage_badge]][coverage]
5
6
 
6
7
  Rails helpers for accessible, WCAG 2.1 AA compliant UI components built on [Stimulus](https://stimulus.hotwired.dev/). Pairs with the [`@stimulus-plumbers/controllers`](../stimulus-plumbers) npm package.
7
8
 
@@ -59,7 +60,7 @@ config.action_view.default_form_builder = StimulusPlumbers::Form::Builder
59
60
 
60
61
  ## Theming
61
62
 
62
- Includes a Tailwind CSS theme out of the box. Supports custom themes by subclassing `Themes::Base`.
63
+ Supports custom themes by subclassing `StimulusPlumbers::Themes::Base`. A ready-made Tailwind CSS v4 theme is available via the [`stimulus_plumbers_tailwind`](../stimulus-plumbers-tailwind) gem.
63
64
 
64
65
  → [docs/component/theme.md](docs/component/theme.md)
65
66
 
@@ -68,9 +69,10 @@ Includes a Tailwind CSS theme out of the box. Supports custom themes by subclass
68
69
  ```bash
69
70
  bundle install
70
71
 
71
- bundle exec rake test:unit # unit tests
72
- bundle exec rake test:system # accessibility system tests
73
- bundle exec rake rubocop # lint
72
+ bundle exec rake test:unit # unit tests
73
+ bundle exec rake test:accessibility # accessibility tests (Capybara + axe-core)
74
+ bundle exec rake rubocop # lint
75
+ bundle exec rake coverage # run tests with coverage + collate report
74
76
  ```
75
77
 
76
78
  Test against a specific Rails version:
@@ -89,3 +91,5 @@ Available appraisals: `rails_6.1`, `rails_7.0`, `rails_7.1`, `rails_7.2`, `rails
89
91
  [rubygems]: https://rubygems.org/gems/stimulus_plumbers
90
92
  [ci_badge]: https://github.com/ryancyq/stimulus-plumbers/actions/workflows/ci-rails.yml/badge.svg
91
93
  [ci]: https://github.com/ryancyq/stimulus-plumbers/actions/workflows/ci-rails.yml
94
+ [coverage_badge]: https://codecov.io/gh/ryancyq/stimulus-plumbers/graph/badge.svg?token=Z77H6M5GER&flag=ruby
95
+ [coverage]: https://codecov.io/gh/ryancyq/stimulus-plumbers