stimulus_plumbers 0.3.3 → 0.4.2

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 (123) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +69 -0
  3. data/README.md +11 -4
  4. data/app/assets/javascripts/stimulus-plumbers/controllers.manifest.json +386 -0
  5. data/app/assets/javascripts/stimulus-plumbers/stimulus-plumbers-controllers.es.js +756 -304
  6. data/app/assets/javascripts/stimulus-plumbers/stimulus-plumbers-controllers.umd.js +1 -1
  7. data/app/assets/stylesheets/stimulus_plumbers/tokens.css +66 -26
  8. data/config/locales/en.yml +31 -0
  9. data/lib/stimulus_plumbers/components/avatar.rb +22 -13
  10. data/lib/stimulus_plumbers/components/button/group.rb +9 -4
  11. data/lib/stimulus_plumbers/components/button/slots.rb +11 -0
  12. data/lib/stimulus_plumbers/components/button.rb +30 -34
  13. data/lib/stimulus_plumbers/components/calendar/turbo/days_of_month.rb +191 -0
  14. data/lib/stimulus_plumbers/components/calendar/turbo/days_of_week.rb +62 -0
  15. data/lib/stimulus_plumbers/components/calendar/turbo/months_of_year.rb +137 -0
  16. data/lib/stimulus_plumbers/components/calendar/turbo/years_of_decade.rb +114 -0
  17. data/lib/stimulus_plumbers/components/calendar/turbo.rb +112 -0
  18. data/lib/stimulus_plumbers/components/calendar.rb +57 -32
  19. data/lib/stimulus_plumbers/components/card/slots.rb +26 -0
  20. data/lib/stimulus_plumbers/components/card.rb +53 -13
  21. data/lib/stimulus_plumbers/components/combobox/builder.rb +45 -0
  22. data/lib/stimulus_plumbers/components/combobox/date/navigation.rb +80 -0
  23. data/lib/stimulus_plumbers/components/combobox/date/navigator.rb +27 -0
  24. data/lib/stimulus_plumbers/components/combobox/date.rb +55 -28
  25. data/lib/stimulus_plumbers/components/combobox/dropdown.rb +27 -24
  26. data/lib/stimulus_plumbers/components/combobox/options/option.rb +1 -1
  27. data/lib/stimulus_plumbers/components/combobox/options/option_group.rb +1 -1
  28. data/lib/stimulus_plumbers/components/combobox/time.rb +83 -78
  29. data/lib/stimulus_plumbers/components/combobox/trigger.rb +17 -12
  30. data/lib/stimulus_plumbers/components/combobox/typeahead.rb +63 -16
  31. data/lib/stimulus_plumbers/components/combobox.rb +58 -38
  32. data/lib/stimulus_plumbers/components/divider.rb +9 -8
  33. data/lib/stimulus_plumbers/components/icon.rb +5 -1
  34. data/lib/stimulus_plumbers/components/input_group.rb +2 -2
  35. data/lib/stimulus_plumbers/components/link/slots.rb +11 -0
  36. data/lib/stimulus_plumbers/components/link.rb +63 -0
  37. data/lib/stimulus_plumbers/components/list/item/slots.rb +13 -0
  38. data/lib/stimulus_plumbers/components/list/item.rb +83 -0
  39. data/lib/stimulus_plumbers/components/list/section.rb +73 -0
  40. data/lib/stimulus_plumbers/components/list.rb +31 -0
  41. data/lib/stimulus_plumbers/components/popover/panel.rb +32 -0
  42. data/lib/stimulus_plumbers/components/popover/trigger.rb +27 -0
  43. data/lib/stimulus_plumbers/components/popover.rb +44 -18
  44. data/lib/stimulus_plumbers/components/timeline/event/slots.rb +18 -0
  45. data/lib/stimulus_plumbers/components/timeline/event.rb +189 -0
  46. data/lib/stimulus_plumbers/components/timeline/group.rb +42 -0
  47. data/lib/stimulus_plumbers/components/timeline.rb +40 -0
  48. data/lib/stimulus_plumbers/engine.rb +1 -0
  49. data/lib/stimulus_plumbers/form/base.rb +103 -0
  50. data/lib/stimulus_plumbers/form/builder.rb +78 -23
  51. data/lib/stimulus_plumbers/form/field.rb +55 -88
  52. data/lib/stimulus_plumbers/form/fields/error.rb +1 -1
  53. data/lib/stimulus_plumbers/form/fields/fieldset.rb +11 -8
  54. data/lib/stimulus_plumbers/form/fields/hint.rb +1 -1
  55. data/lib/stimulus_plumbers/form/fields/inputs/checkbox.rb +115 -0
  56. data/lib/stimulus_plumbers/form/fields/inputs/combobox.rb +24 -0
  57. data/lib/stimulus_plumbers/form/fields/inputs/datetime.rb +52 -58
  58. data/lib/stimulus_plumbers/form/fields/inputs/file.rb +15 -9
  59. data/lib/stimulus_plumbers/form/fields/inputs/password.rb +46 -28
  60. data/lib/stimulus_plumbers/form/fields/inputs/radio.rb +72 -0
  61. data/lib/stimulus_plumbers/form/fields/inputs/search.rb +73 -65
  62. data/lib/stimulus_plumbers/form/fields/inputs/select/grouped.rb +22 -33
  63. data/lib/stimulus_plumbers/form/fields/inputs/select/timezone.rb +3 -46
  64. data/lib/stimulus_plumbers/form/fields/inputs/select/weekday.rb +3 -26
  65. data/lib/stimulus_plumbers/form/fields/inputs/select.rb +64 -61
  66. data/lib/stimulus_plumbers/form/fields/inputs/submit.rb +10 -7
  67. data/lib/stimulus_plumbers/form/fields/inputs/text.rb +34 -22
  68. data/lib/stimulus_plumbers/form/fields/inputs/text_area.rb +15 -9
  69. data/lib/stimulus_plumbers/form/fields/label/floating.rb +41 -0
  70. data/lib/stimulus_plumbers/form/fields/label.rb +9 -3
  71. data/lib/stimulus_plumbers/form/fields/renderer.rb +39 -0
  72. data/lib/stimulus_plumbers/helpers/button_helper.rb +1 -1
  73. data/lib/stimulus_plumbers/helpers/calendar_helper.rb +2 -2
  74. data/lib/stimulus_plumbers/helpers/calendar_turbo_helper.rb +76 -4
  75. data/lib/stimulus_plumbers/helpers/card_helper.rb +1 -11
  76. data/lib/stimulus_plumbers/helpers/combobox_helper.rb +27 -60
  77. data/lib/stimulus_plumbers/helpers/icon_helper.rb +11 -0
  78. data/lib/stimulus_plumbers/helpers/link_helper.rb +11 -0
  79. data/lib/stimulus_plumbers/helpers/list_helper.rb +11 -0
  80. data/lib/stimulus_plumbers/helpers/plumber_helper.rb +3 -6
  81. data/lib/stimulus_plumbers/helpers/timeline_helper.rb +15 -0
  82. data/lib/stimulus_plumbers/helpers.rb +8 -2
  83. data/lib/stimulus_plumbers/logger.rb +4 -3
  84. data/lib/stimulus_plumbers/plumber/base.rb +6 -1
  85. data/lib/stimulus_plumbers/plumber/dispatcher/klass_proxy.rb +4 -3
  86. data/lib/stimulus_plumbers/plumber/dispatcher/method_call.rb +4 -3
  87. data/lib/stimulus_plumbers/plumber/dispatcher.rb +4 -4
  88. data/lib/stimulus_plumbers/plumber/options/aria.rb +17 -0
  89. data/lib/stimulus_plumbers/plumber/options/html.rb +29 -0
  90. data/lib/stimulus_plumbers/plumber/options/stimulus.rb +29 -0
  91. data/lib/stimulus_plumbers/plumber/options/theme.rb +19 -0
  92. data/lib/stimulus_plumbers/plumber/options/token_list.rb +29 -0
  93. data/lib/stimulus_plumbers/plumber/renderer.rb +136 -41
  94. data/lib/stimulus_plumbers/plumber/slots.rb +74 -0
  95. data/lib/stimulus_plumbers/themes/base.rb +6 -7
  96. data/lib/stimulus_plumbers/themes/schema/avatar/ranges.rb +13 -0
  97. data/lib/stimulus_plumbers/themes/schema/button/ranges.rb +16 -0
  98. data/lib/stimulus_plumbers/themes/schema/card/ranges.rb +13 -0
  99. data/lib/stimulus_plumbers/themes/schema/form/checkbox/ranges.rb +16 -0
  100. data/lib/stimulus_plumbers/themes/schema/form/floating/ranges.rb +15 -0
  101. data/lib/stimulus_plumbers/themes/schema/form/radio/ranges.rb +16 -0
  102. data/lib/stimulus_plumbers/themes/schema/form/ranges.rb +1 -2
  103. data/lib/stimulus_plumbers/themes/schema/link/ranges.rb +14 -0
  104. data/lib/stimulus_plumbers/themes/schema/ranges.rb +1 -5
  105. data/lib/stimulus_plumbers/themes/schema.rb +169 -51
  106. data/lib/stimulus_plumbers/version.rb +1 -1
  107. data/lib/stimulus_plumbers.rb +24 -16
  108. metadata +48 -16
  109. data/lib/stimulus_plumbers/components/action_list/item.rb +0 -30
  110. data/lib/stimulus_plumbers/components/action_list/section.rb +0 -28
  111. data/lib/stimulus_plumbers/components/action_list.rb +0 -29
  112. data/lib/stimulus_plumbers/components/calendar/month/turbo/days_of_month.rb +0 -149
  113. data/lib/stimulus_plumbers/components/calendar/month/turbo/days_of_week.rb +0 -43
  114. data/lib/stimulus_plumbers/components/calendar/month/turbo.rb +0 -59
  115. data/lib/stimulus_plumbers/components/card/section.rb +0 -31
  116. data/lib/stimulus_plumbers/components/combobox/popover.rb +0 -47
  117. data/lib/stimulus_plumbers/components/combobox/time/drum.rb +0 -43
  118. data/lib/stimulus_plumbers/components/date_picker/navigation.rb +0 -41
  119. data/lib/stimulus_plumbers/components/date_picker/navigator.rb +0 -23
  120. data/lib/stimulus_plumbers/components/popover/builder.rb +0 -25
  121. data/lib/stimulus_plumbers/form/fields/inputs/choice.rb +0 -69
  122. data/lib/stimulus_plumbers/helpers/action_list_helper.rb +0 -25
  123. data/lib/stimulus_plumbers/plumber/html_options.rb +0 -52
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c0b50e93ab4bf370155a7a5ce7f854c16aea85c36a86fe3f3436f10976dc8cbf
4
- data.tar.gz: bdcf5e14e445cc0ec8e71bc90352cdacd69d6cb630152483fc49e30796426f6d
3
+ metadata.gz: ecc83e617f3b346fb715446c4bc5cab05ba0844aa53df55817250bb4100d769f
4
+ data.tar.gz: 423aabf68b08b182f4995c6704a7950dcb8a2d0a0d7bdedaff97fb6f52feee58
5
5
  SHA512:
6
- metadata.gz: 62760486a85c81bd697bc82582f9127e110cc040b6c63843751d34d073e56a3217fecab4ae305f8dd347d0610dc889d6a1a444852f4237ca940397a5c8260284
7
- data.tar.gz: 4af2f324957ec1f90064b31aea04eece03db7732e3ff3a29986917bcba3659791e853e26e088e0c71b1de3acbaebf19e6288a44cb0b6d499456a7cb8aa72e654
6
+ metadata.gz: 775fd032030121c2deccefd2b2d3d58e48bf33ecc5a54061522288d9ccff6b71e484186c4f147696cf9c9a07f3a3c8a3dbe900b086d087b7a60d7bf8d55de378
7
+ data.tar.gz: 0a427836da60681c4078213152878476e597ceaf46803de4495a6078356ba7f4e0d206a0f5eeca8c7fba615f7c6cc86d5154df3aaeeedca5032247c6ec62242d
data/CHANGELOG.md CHANGED
@@ -2,6 +2,75 @@
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.4.2](https://github.com/ryancyq/stimulus-plumbers/compare/stimulus-plumbers-rails/v0.4.0..stimulus-plumbers-rails/v0.4.2) - 2026-06-30
7
+
8
+ ### Bug Fixes
9
+
10
+ - form submit button style ([#127](https://github.com/ryancyq/stimulus-plumbers/issues/127)) - ([2bbc73f](https://github.com/ryancyq/stimulus-plumbers/commit/2bbc73f15b7ffa2d9d8f87991adead33fab8156e)) - Ryan Chang
11
+ - various component styles ([#128](https://github.com/ryancyq/stimulus-plumbers/issues/128)) - ([011cc69](https://github.com/ryancyq/stimulus-plumbers/commit/011cc69bb6df3770949564521cdf949493d028cc)) - Ryan Chang
12
+ - use generic icon in core gem then provide alias in tailwind gem ([#129](https://github.com/ryancyq/stimulus-plumbers/issues/129)) - ([5c87d0d](https://github.com/ryancyq/stimulus-plumbers/commit/5c87d0da0c012652a3afa5aa8345b58d03e6ce5b)) - Ryan Chang
13
+ - combobox time ([#130](https://github.com/ryancyq/stimulus-plumbers/issues/130)) - ([ff5d968](https://github.com/ryancyq/stimulus-plumbers/commit/ff5d968da34fc723b0112a791bd95ef43f2b1640)) - Ryan Chang
14
+ - i18n for labels ([#131](https://github.com/ryancyq/stimulus-plumbers/issues/131)) - ([47f8366](https://github.com/ryancyq/stimulus-plumbers/commit/47f83662659502cb78cb74d422f4e751d3bc1567)) - Ryan Chang
15
+ - extract img avatar building block ([#132](https://github.com/ryancyq/stimulus-plumbers/issues/132)) - ([c3808b8](https://github.com/ryancyq/stimulus-plumbers/commit/c3808b8df38eecef940b51dab29f50bc815b4e74)) - Ryan Chang
16
+ - update floating style to label/input/group ([#135](https://github.com/ryancyq/stimulus-plumbers/issues/135)) - ([3947f38](https://github.com/ryancyq/stimulus-plumbers/commit/3947f38467e0a498fe51101d1859a573db93349f)) - Ryan Chang
17
+ - accessibility + plumber helpers ([#136](https://github.com/ryancyq/stimulus-plumbers/issues/136)) - ([e84053d](https://github.com/ryancyq/stimulus-plumbers/commit/e84053d43db4726c3704d459a0464f70529fff8b)) - Ryan Chang
18
+ - calendar disabled + out of range ([#148](https://github.com/ryancyq/stimulus-plumbers/issues/148)) - ([7bd1ca2](https://github.com/ryancyq/stimulus-plumbers/commit/7bd1ca21af1b982cf7df9460e0ba1c9e78866a87)) - Ryan Chang
19
+
20
+ ### Documentation
21
+
22
+ - update readme and component doc ([#134](https://github.com/ryancyq/stimulus-plumbers/issues/134)) - ([3e5f462](https://github.com/ryancyq/stimulus-plumbers/commit/3e5f4621c4fbf142af061659cfbb8cd3e99fd093)) - Ryan Chang
23
+ - update component documentation - ([89ecb78](https://github.com/ryancyq/stimulus-plumbers/commit/89ecb786d88eed66ab925921ac182aa84560207d)) - Ryan Chang
24
+
25
+ ### Features
26
+
27
+ - calendar redesign ([#133](https://github.com/ryancyq/stimulus-plumbers/issues/133)) - ([e19df95](https://github.com/ryancyq/stimulus-plumbers/commit/e19df95f3814b3d947142722ff0295f1bdcef6b3)) - Ryan Chang
28
+
29
+ ---
30
+ ## [0.4.0](https://github.com/ryancyq/stimulus-plumbers/compare/stimulus-plumbers-rails/v0.3.3..stimulus-plumbers-rails/v0.4.0) - 2026-06-14
31
+
32
+ ### Bug Fixes
33
+
34
+ - separate form field/choice rendering ([#92](https://github.com/ryancyq/stimulus-plumbers/issues/92)) - ([beedf5f](https://github.com/ryancyq/stimulus-plumbers/commit/beedf5f25849fd8e0411db69733bdb7afda99d9c)) - Ryan Chang
35
+ - redesign combobox + popover integration ([#93](https://github.com/ryancyq/stimulus-plumbers/issues/93)) - ([acffee6](https://github.com/ryancyq/stimulus-plumbers/commit/acffee6e8661daa9245223eb4c95df9d066ff452)) - Ryan Chang
36
+ - align form inputs logic ([#100](https://github.com/ryancyq/stimulus-plumbers/issues/100)) - ([db87ad1](https://github.com/ryancyq/stimulus-plumbers/commit/db87ad14d79fda8da6caa6e8ac05f8ab6712b0ce)) - Ryan Chang
37
+ - avatar image theme ([#102](https://github.com/ryancyq/stimulus-plumbers/issues/102)) - ([8135d9b](https://github.com/ryancyq/stimulus-plumbers/commit/8135d9bf03df72365b66a22d4c4bfad356c3007f)) - Ryan Chang
38
+ - button link with external url will have icon render by default ([#103](https://github.com/ryancyq/stimulus-plumbers/issues/103)) - ([0429cba](https://github.com/ryancyq/stimulus-plumbers/commit/0429cbab170d5a4a7a5009fe0f70023917521725)) - Ryan Chang
39
+ - action list / popover builder ([#105](https://github.com/ryancyq/stimulus-plumbers/issues/105)) - ([fc27045](https://github.com/ryancyq/stimulus-plumbers/commit/fc2704527cec4a8e3f5ea5119de33026c936defb)) - Ryan Chang
40
+ - button group builder ([#107](https://github.com/ryancyq/stimulus-plumbers/issues/107)) - ([c649df2](https://github.com/ryancyq/stimulus-plumbers/commit/c649df22162758958d4bfcd5a13f56c9bbb61eb6)) - Ryan Chang
41
+ - floating label for form inputs ([#109](https://github.com/ryancyq/stimulus-plumbers/issues/109)) - ([16c1c9b](https://github.com/ryancyq/stimulus-plumbers/commit/16c1c9ba2601dbbd9819be2272836a0f56b0b404)) - Ryan Chang
42
+ - calendar + combobox date ([#110](https://github.com/ryancyq/stimulus-plumbers/issues/110)) - ([d47065f](https://github.com/ryancyq/stimulus-plumbers/commit/d47065fc888bd81c2e72066dc98d061ff8a6e5a7)) - Ryan Chang
43
+ - action list with builder ([#111](https://github.com/ryancyq/stimulus-plumbers/issues/111)) - ([8ba6c3f](https://github.com/ryancyq/stimulus-plumbers/commit/8ba6c3f4a4c51d8e95c57fdde5e7ba499cc17e86)) - Ryan Chang
44
+ - icon helper + update doc ([#113](https://github.com/ryancyq/stimulus-plumbers/issues/113)) - ([301adf4](https://github.com/ryancyq/stimulus-plumbers/commit/301adf406102d2d98b8cbd65cb2e3f4f921b5a2e)) - Ryan Chang
45
+ - combobox variant ([#114](https://github.com/ryancyq/stimulus-plumbers/issues/114)) - ([de7984c](https://github.com/ryancyq/stimulus-plumbers/commit/de7984c13dcd43f51c239c0c70901b4df0f02e64)) - Ryan Chang
46
+ - update element id generation for aria across component consistently ([#116](https://github.com/ryancyq/stimulus-plumbers/issues/116)) - ([169b763](https://github.com/ryancyq/stimulus-plumbers/commit/169b7639f8b8fe17b0ee0459fbec594066517d97)) - Ryan Chang
47
+ - remove duplicate defaults that already moved to metadata ([#115](https://github.com/ryancyq/stimulus-plumbers/issues/115)) - ([7d94536](https://github.com/ryancyq/stimulus-plumbers/commit/7d94536db8c1559001f935365656a193ee963cc2)) - Ryan Chang
48
+
49
+ ### Documentation
50
+
51
+ - update feature examples, usage - ([fc5f1be](https://github.com/ryancyq/stimulus-plumbers/commit/fc5f1be79788e21dd646afc169176a649b192da7)) - Ryan Chang
52
+ - update card documentation ([#119](https://github.com/ryancyq/stimulus-plumbers/issues/119)) - ([19e66e5](https://github.com/ryancyq/stimulus-plumbers/commit/19e66e52932c73e5d9330e35f3e1b41971c9e95b)) - Ryan Chang
53
+
54
+ ### Features
55
+
56
+ - add block support to dispatcher ([#90](https://github.com/ryancyq/stimulus-plumbers/issues/90)) - ([9a6a2f5](https://github.com/ryancyq/stimulus-plumbers/commit/9a6a2f52ab16f8ae9488bc72506e575b28ed7aac)) - Ryan Chang
57
+ - form floating label ([#96](https://github.com/ryancyq/stimulus-plumbers/issues/96)) - ([13e9854](https://github.com/ryancyq/stimulus-plumbers/commit/13e985424cd2460820f5ae0e7d5c6debad6392e4)) - Ryan Chang
58
+ - button variant type ([#97](https://github.com/ryancyq/stimulus-plumbers/issues/97)) - ([c680077](https://github.com/ryancyq/stimulus-plumbers/commit/c680077f14df2aad943c84ed2559d87bcf41e12b)) - Ryan Chang
59
+ - calendar with days/months/years views ([#99](https://github.com/ryancyq/stimulus-plumbers/issues/99)) - ([fa530c8](https://github.com/ryancyq/stimulus-plumbers/commit/fa530c8eea38351e08cc27ad66aa6733fdb44f46)) - Ryan Chang
60
+ - button fab outline ([#104](https://github.com/ryancyq/stimulus-plumbers/issues/104)) - ([ba877d8](https://github.com/ryancyq/stimulus-plumbers/commit/ba877d8312fcb8362ccd287173af12651e6b7627)) - Ryan Chang
61
+ - mcp server ([#117](https://github.com/ryancyq/stimulus-plumbers/issues/117)) - ([7f3e67b](https://github.com/ryancyq/stimulus-plumbers/commit/7f3e67b7a9f22adbd3373e1a5fea95a91c9a676c)) - Ryan Chang
62
+
63
+ ### Style
64
+
65
+ - update component styling ([#89](https://github.com/ryancyq/stimulus-plumbers/issues/89)) - ([be240aa](https://github.com/ryancyq/stimulus-plumbers/commit/be240aa2a8e9a92b66c95086a8c5d0cfff067da4)) - Ryan Chang
66
+ - tailwind choice checkbox/radio ([#95](https://github.com/ryancyq/stimulus-plumbers/issues/95)) - ([1c56b75](https://github.com/ryancyq/stimulus-plumbers/commit/1c56b753596f2d28b4d2320004ae32046e474f8a)) - Ryan Chang
67
+ - fix card style across button/link/checkbox/radio ([#108](https://github.com/ryancyq/stimulus-plumbers/issues/108)) - ([6c6f2cc](https://github.com/ryancyq/stimulus-plumbers/commit/6c6f2ccfaca8bffdf186062ad73c38ebee5bdd21)) - Ryan Chang
68
+
69
+ ### Tests
70
+
71
+ - a11y coverage update ([#88](https://github.com/ryancyq/stimulus-plumbers/issues/88)) - ([810bafe](https://github.com/ryancyq/stimulus-plumbers/commit/810bafe0531ea240acb89f0a7d6b1a450b5b96a2)) - Ryan Chang
72
+ - address unit/a11y test gaps ([#101](https://github.com/ryancyq/stimulus-plumbers/issues/101)) - ([68f30e1](https://github.com/ryancyq/stimulus-plumbers/commit/68f30e1ddd1b11a6ab315beb40eb55a4a2946001)) - Ryan Chang
73
+
5
74
  ---
6
75
  ## [0.3.3](https://github.com/ryancyq/stimulus-plumbers/compare/stimulus-plumbers-rails/v0.3.2..stimulus-plumbers-rails/v0.3.3) - 2026-05-26
7
76
 
data/README.md CHANGED
@@ -44,21 +44,28 @@ config.action_view.default_form_builder = StimulusPlumbers::Form::Builder
44
44
 
45
45
  | Component | Helper(s) | Docs |
46
46
  |-----------|-----------|------|
47
+ | Avatar | `sp_avatar` | [docs/component/avatar.md](docs/component/avatar.md) |
47
48
  | Button | `sp_button`, `sp_button_group` | [docs/component/button.md](docs/component/button.md) |
48
- | Action List | `sp_action_list`, `sp_action_list_item`, `sp_action_list_section` | [docs/component/action_list.md](docs/component/action_list.md) |
49
+ | Calendar | `sp_calendar_month` | [docs/component/calendar.md](docs/component/calendar.md) |
50
+ | Calendar (Turbo) | `sp_calendar_turbo`, `sp_calendar_turbo_month`, `sp_calendar_turbo_year`, `sp_calendar_turbo_decade` | [docs/component/calendar.md](docs/component/calendar.md) |
51
+ | Card | `sp_card` | [docs/component/card.md](docs/component/card.md) |
49
52
  | Combobox — date | `sp_combobox_date` | [docs/component/combobox.md](docs/component/combobox.md#sp_combobox_date) |
50
53
  | Combobox — dropdown | `sp_combobox_dropdown` | [docs/component/combobox.md](docs/component/combobox.md#sp_combobox_dropdown) |
51
54
  | Combobox — typeahead | `sp_combobox_typeahead` | [docs/component/combobox.md](docs/component/combobox.md#sp_combobox_typeahead) |
52
55
  | Combobox — time | `sp_combobox_time` | [docs/component/combobox.md](docs/component/combobox.md#sp_combobox_time) |
53
- | Calendar | `sp_calendar_month` | [docs/component/calendar.md](docs/component/calendar.md) |
54
- | Popover | `sp_popover` | [docs/component/popover.md](docs/component/popover.md) |
56
+ | Divider | `sp_divider` | [docs/component/divider.md](docs/component/divider.md) |
57
+ | Icon | `sp_icon` | [docs/component/icon.md](docs/component/icon.md) |
58
+ | Link | `sp_link` | [docs/component/link.md](docs/component/link.md) |
59
+ | List | `sp_list` | [docs/component/list.md](docs/component/list.md) |
55
60
  | Modal | — (JS only) | [docs/component/modal.md](docs/component/modal.md) |
61
+ | Popover | `sp_popover` | [docs/component/popover.md](docs/component/popover.md) |
62
+ | Timeline | `sp_timeline` | [docs/component/timeline.md](docs/component/timeline.md) |
56
63
 
57
64
  ## Form Builder
58
65
 
59
66
  `StimulusPlumbers::Form::Builder` wraps all components as model-aware form fields with automatic label, name/id, error, and ARIA wiring.
60
67
 
61
- → [docs/component/form_builder.md](docs/component/form_builder.md)
68
+ → [docs/component/form.md](docs/component/form.md)
62
69
 
63
70
  ## Theming
64
71
 
@@ -0,0 +1,386 @@
1
+ {
2
+ "calendar-decade": {
3
+ "identifier": "calendar-decade",
4
+ "targets": [
5
+ "grid"
6
+ ],
7
+ "values": {
8
+ "today": {
9
+ "type": "String",
10
+ "default": ""
11
+ },
12
+ "selected": {
13
+ "type": "String",
14
+ "default": ""
15
+ },
16
+ "since": {
17
+ "type": "String",
18
+ "default": ""
19
+ },
20
+ "till": {
21
+ "type": "String",
22
+ "default": ""
23
+ },
24
+ "current": {
25
+ "type": "Number"
26
+ }
27
+ },
28
+ "outlets": [],
29
+ "classes": []
30
+ },
31
+ "calendar-decade-selector": {
32
+ "identifier": "calendar-decade-selector",
33
+ "targets": [],
34
+ "values": {},
35
+ "outlets": [],
36
+ "classes": []
37
+ },
38
+ "calendar-month": {
39
+ "identifier": "calendar-month",
40
+ "targets": [
41
+ "daysOfWeek",
42
+ "daysOfMonth"
43
+ ],
44
+ "values": {
45
+ "today": {
46
+ "type": "String",
47
+ "default": ""
48
+ },
49
+ "selected": {
50
+ "type": "String",
51
+ "default": ""
52
+ },
53
+ "since": {
54
+ "type": "String",
55
+ "default": ""
56
+ },
57
+ "till": {
58
+ "type": "String",
59
+ "default": ""
60
+ },
61
+ "locales": {
62
+ "type": "Array",
63
+ "default": "['default']"
64
+ },
65
+ "weekdayFormat": {
66
+ "type": "String",
67
+ "default": "short"
68
+ },
69
+ "dayFormat": {
70
+ "type": "String",
71
+ "default": "numeric"
72
+ },
73
+ "daysOfOtherMonth": {
74
+ "type": "Boolean",
75
+ "default": false
76
+ },
77
+ "year": {
78
+ "type": "Number"
79
+ },
80
+ "month": {
81
+ "type": "Number"
82
+ }
83
+ },
84
+ "outlets": [],
85
+ "classes": [
86
+ "dayOfWeek",
87
+ "dayOfMonth",
88
+ "dayOfOtherMonth",
89
+ "row"
90
+ ]
91
+ },
92
+ "calendar-month-selector": {
93
+ "identifier": "calendar-month-selector",
94
+ "targets": [],
95
+ "values": {},
96
+ "outlets": [],
97
+ "classes": []
98
+ },
99
+ "calendar-year": {
100
+ "identifier": "calendar-year",
101
+ "targets": [
102
+ "grid"
103
+ ],
104
+ "values": {
105
+ "today": {
106
+ "type": "String",
107
+ "default": ""
108
+ },
109
+ "selected": {
110
+ "type": "String",
111
+ "default": ""
112
+ },
113
+ "since": {
114
+ "type": "String",
115
+ "default": ""
116
+ },
117
+ "till": {
118
+ "type": "String",
119
+ "default": ""
120
+ },
121
+ "locales": {
122
+ "type": "Array",
123
+ "default": "['default']"
124
+ },
125
+ "monthFormat": {
126
+ "type": "String",
127
+ "default": "short"
128
+ },
129
+ "current": {
130
+ "type": "Number"
131
+ }
132
+ },
133
+ "outlets": [],
134
+ "classes": []
135
+ },
136
+ "calendar-year-selector": {
137
+ "identifier": "calendar-year-selector",
138
+ "targets": [],
139
+ "values": {},
140
+ "outlets": [],
141
+ "classes": []
142
+ },
143
+ "clipboard": {
144
+ "identifier": "clipboard",
145
+ "targets": [
146
+ "source"
147
+ ],
148
+ "values": {
149
+ "contentType": {
150
+ "type": "String",
151
+ "default": "text/plain"
152
+ }
153
+ },
154
+ "outlets": [],
155
+ "classes": []
156
+ },
157
+ "combobox-date": {
158
+ "identifier": "combobox-date",
159
+ "targets": [
160
+ "previous",
161
+ "next",
162
+ "day",
163
+ "month",
164
+ "year",
165
+ "viewTitle"
166
+ ],
167
+ "values": {
168
+ "view": {
169
+ "type": "String",
170
+ "default": "month"
171
+ },
172
+ "locales": {
173
+ "type": "Array",
174
+ "default": "['default']"
175
+ },
176
+ "dayFormat": {
177
+ "type": "String",
178
+ "default": "numeric"
179
+ },
180
+ "monthFormat": {
181
+ "type": "String",
182
+ "default": "long"
183
+ },
184
+ "yearFormat": {
185
+ "type": "String",
186
+ "default": "numeric"
187
+ },
188
+ "date": {
189
+ "type": "String"
190
+ }
191
+ },
192
+ "outlets": [
193
+ "calendar-month",
194
+ "calendar-year",
195
+ "calendar-decade"
196
+ ],
197
+ "classes": []
198
+ },
199
+ "combobox-dropdown": {
200
+ "identifier": "combobox-dropdown",
201
+ "targets": [
202
+ "listbox",
203
+ "loading",
204
+ "empty"
205
+ ],
206
+ "values": {
207
+ "url": {
208
+ "type": "String",
209
+ "default": ""
210
+ },
211
+ "field": {
212
+ "type": "String",
213
+ "default": "q"
214
+ },
215
+ "delay": {
216
+ "type": "Number",
217
+ "default": 300
218
+ }
219
+ },
220
+ "outlets": [],
221
+ "classes": []
222
+ },
223
+ "combobox-time": {
224
+ "identifier": "combobox-time",
225
+ "targets": [
226
+ "hour",
227
+ "minute",
228
+ "period"
229
+ ],
230
+ "values": {},
231
+ "outlets": [],
232
+ "classes": []
233
+ },
234
+ "dismisser": {
235
+ "identifier": "dismisser",
236
+ "targets": [
237
+ "trigger"
238
+ ],
239
+ "values": {},
240
+ "outlets": [],
241
+ "classes": []
242
+ },
243
+ "flipper": {
244
+ "identifier": "flipper",
245
+ "targets": [
246
+ "anchor",
247
+ "reference"
248
+ ],
249
+ "values": {
250
+ "placement": {
251
+ "type": "String",
252
+ "default": "bottom"
253
+ },
254
+ "alignment": {
255
+ "type": "String",
256
+ "default": "start"
257
+ },
258
+ "role": {
259
+ "type": "String",
260
+ "default": "tooltip"
261
+ }
262
+ },
263
+ "outlets": [],
264
+ "classes": []
265
+ },
266
+ "input-clearable": {
267
+ "identifier": "input-clearable",
268
+ "targets": [
269
+ "input",
270
+ "clear"
271
+ ],
272
+ "values": {},
273
+ "outlets": [],
274
+ "classes": []
275
+ },
276
+ "input-combobox": {
277
+ "identifier": "input-combobox",
278
+ "targets": [
279
+ "trigger",
280
+ "input"
281
+ ],
282
+ "values": {
283
+ "minLength": {
284
+ "type": "Number",
285
+ "default": 1
286
+ },
287
+ "value": {
288
+ "type": "String"
289
+ }
290
+ },
291
+ "outlets": [
292
+ "combobox-dropdown"
293
+ ],
294
+ "classes": []
295
+ },
296
+ "input-formatter": {
297
+ "identifier": "input-formatter",
298
+ "targets": [
299
+ "input",
300
+ "toggle"
301
+ ],
302
+ "values": {},
303
+ "outlets": [],
304
+ "classes": []
305
+ },
306
+ "modal": {
307
+ "identifier": "modal",
308
+ "targets": [
309
+ "modal",
310
+ "overlay"
311
+ ],
312
+ "values": {},
313
+ "outlets": [],
314
+ "classes": []
315
+ },
316
+ "panner": {
317
+ "identifier": "panner",
318
+ "targets": [
319
+ "content"
320
+ ],
321
+ "values": {},
322
+ "outlets": [],
323
+ "classes": []
324
+ },
325
+ "popover": {
326
+ "identifier": "popover",
327
+ "targets": [
328
+ "trigger",
329
+ "panel",
330
+ "template",
331
+ "loader"
332
+ ],
333
+ "values": {
334
+ "reload": {
335
+ "type": "String",
336
+ "default": "never"
337
+ },
338
+ "staleAfter": {
339
+ "type": "Number",
340
+ "default": 3600
341
+ },
342
+ "closeOnSelect": {
343
+ "type": "Boolean",
344
+ "default": true
345
+ },
346
+ "announceOpen": {
347
+ "type": "String",
348
+ "default": "Panel opened"
349
+ },
350
+ "announceClose": {
351
+ "type": "String",
352
+ "default": "Panel closed"
353
+ },
354
+ "url": {
355
+ "type": "String"
356
+ },
357
+ "loadedAt": {
358
+ "type": "String"
359
+ }
360
+ },
361
+ "outlets": [],
362
+ "classes": [
363
+ "hidden"
364
+ ]
365
+ },
366
+ "timeline": {
367
+ "identifier": "timeline",
368
+ "targets": [
369
+ "trigger",
370
+ "detail",
371
+ "time"
372
+ ],
373
+ "values": {},
374
+ "outlets": [],
375
+ "classes": []
376
+ },
377
+ "visibility": {
378
+ "identifier": "visibility",
379
+ "targets": [
380
+ "content"
381
+ ],
382
+ "values": {},
383
+ "outlets": [],
384
+ "classes": []
385
+ }
386
+ }