stimulus_plumbers 0.4.0 → 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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +11 -4
  4. data/app/assets/javascripts/stimulus-plumbers/controllers.manifest.json +125 -12
  5. data/app/assets/javascripts/stimulus-plumbers/stimulus-plumbers-controllers.es.js +681 -312
  6. data/app/assets/javascripts/stimulus-plumbers/stimulus-plumbers-controllers.umd.js +1 -1
  7. data/app/assets/stylesheets/stimulus_plumbers/tokens.css +26 -22
  8. data/config/locales/en.yml +21 -0
  9. data/lib/stimulus_plumbers/components/avatar.rb +13 -5
  10. data/lib/stimulus_plumbers/components/calendar/turbo/days_of_month.rb +47 -7
  11. data/lib/stimulus_plumbers/components/calendar/turbo/months_of_year.rb +56 -18
  12. data/lib/stimulus_plumbers/components/calendar/turbo/years_of_decade.rb +44 -16
  13. data/lib/stimulus_plumbers/components/calendar/turbo.rb +59 -12
  14. data/lib/stimulus_plumbers/components/calendar.rb +48 -64
  15. data/lib/stimulus_plumbers/components/card.rb +7 -7
  16. data/lib/stimulus_plumbers/components/combobox/date/navigation.rb +16 -8
  17. data/lib/stimulus_plumbers/components/combobox/date/navigator.rb +3 -1
  18. data/lib/stimulus_plumbers/components/combobox/date.rb +35 -18
  19. data/lib/stimulus_plumbers/components/combobox/time.rb +56 -50
  20. data/lib/stimulus_plumbers/components/input_group.rb +2 -2
  21. data/lib/stimulus_plumbers/components/list/item.rb +2 -2
  22. data/lib/stimulus_plumbers/components/list/section.rb +1 -1
  23. data/lib/stimulus_plumbers/components/popover.rb +1 -1
  24. data/lib/stimulus_plumbers/components/timeline/event/slots.rb +18 -0
  25. data/lib/stimulus_plumbers/components/timeline/event.rb +189 -0
  26. data/lib/stimulus_plumbers/components/timeline/group.rb +42 -0
  27. data/lib/stimulus_plumbers/components/timeline.rb +40 -0
  28. data/lib/stimulus_plumbers/form/builder.rb +11 -3
  29. data/lib/stimulus_plumbers/form/field.rb +4 -5
  30. data/lib/stimulus_plumbers/form/fields/inputs/checkbox.rb +1 -1
  31. data/lib/stimulus_plumbers/form/fields/inputs/combobox.rb +2 -2
  32. data/lib/stimulus_plumbers/form/fields/inputs/datetime.rb +13 -1
  33. data/lib/stimulus_plumbers/form/fields/inputs/file.rb +9 -4
  34. data/lib/stimulus_plumbers/form/fields/inputs/password.rb +35 -24
  35. data/lib/stimulus_plumbers/form/fields/inputs/radio.rb +15 -3
  36. data/lib/stimulus_plumbers/form/fields/inputs/search.rb +62 -31
  37. data/lib/stimulus_plumbers/form/fields/inputs/select.rb +3 -1
  38. data/lib/stimulus_plumbers/form/fields/inputs/submit.rb +4 -4
  39. data/lib/stimulus_plumbers/form/fields/inputs/text.rb +9 -4
  40. data/lib/stimulus_plumbers/form/fields/inputs/text_area.rb +9 -4
  41. data/lib/stimulus_plumbers/form/fields/label/floating.rb +3 -3
  42. data/lib/stimulus_plumbers/helpers/calendar_helper.rb +1 -1
  43. data/lib/stimulus_plumbers/helpers/calendar_turbo_helper.rb +22 -2
  44. data/lib/stimulus_plumbers/helpers/timeline_helper.rb +15 -0
  45. data/lib/stimulus_plumbers/helpers.rb +2 -0
  46. data/lib/stimulus_plumbers/plumber/renderer.rb +2 -2
  47. data/lib/stimulus_plumbers/themes/base.rb +2 -1
  48. data/lib/stimulus_plumbers/themes/schema/form/floating/ranges.rb +15 -0
  49. data/lib/stimulus_plumbers/themes/schema.rb +63 -16
  50. data/lib/stimulus_plumbers/version.rb +1 -1
  51. data/lib/stimulus_plumbers.rb +4 -1
  52. metadata +7 -2
  53. data/lib/stimulus_plumbers/components/combobox/time/drum.rb +0 -43
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f41446b6a214a9ebbb68ba9b8c908e15b84469bd3689dd2811ca008f5b373fe9
4
- data.tar.gz: a5494033a661bdeca0d4744365c2997b1697e1e692b39219ed3a18e6030fd8ec
3
+ metadata.gz: ecc83e617f3b346fb715446c4bc5cab05ba0844aa53df55817250bb4100d769f
4
+ data.tar.gz: 423aabf68b08b182f4995c6704a7950dcb8a2d0a0d7bdedaff97fb6f52feee58
5
5
  SHA512:
6
- metadata.gz: '08ebea2df2045c0628424f56a884c2b3ca0177ad79958e84b9cf717dbf4c1a3e718c1666b27f8d2b690f26e3bee6f925715af38371cd4385c3919a3b2d123db1'
7
- data.tar.gz: 6ee0905402aa5a907b3749f0ea3a006ab24a6f74dbff2f7cfe1c3b163f0067b6f5261e2806edc1f7794974759a6333497088c11ad9281bd4ea585453eb49d8b5
6
+ metadata.gz: 775fd032030121c2deccefd2b2d3d58e48bf33ecc5a54061522288d9ccff6b71e484186c4f147696cf9c9a07f3a3c8a3dbe900b086d087b7a60d7bf8d55de378
7
+ data.tar.gz: 0a427836da60681c4078213152878476e597ceaf46803de4495a6078356ba7f4e0d206a0f5eeca8c7fba615f7c6cc86d5154df3aaeeedca5032247c6ec62242d
data/CHANGELOG.md CHANGED
@@ -2,6 +2,30 @@
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
+
5
29
  ---
6
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
7
31
 
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
 
@@ -1,4 +1,40 @@
1
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
+ },
2
38
  "calendar-month": {
3
39
  "identifier": "calendar-month",
4
40
  "targets": [
@@ -6,6 +42,22 @@
6
42
  "daysOfMonth"
7
43
  ],
8
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
+ },
9
61
  "locales": {
10
62
  "type": "Array",
11
63
  "default": "['default']"
@@ -22,6 +74,34 @@
22
74
  "type": "Boolean",
23
75
  "default": false
24
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": {
25
105
  "today": {
26
106
  "type": "String",
27
107
  "default": ""
@@ -29,17 +109,32 @@
29
109
  "selected": {
30
110
  "type": "String",
31
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"
32
131
  }
33
132
  },
34
133
  "outlets": [],
35
- "classes": [
36
- "dayOfWeek",
37
- "dayOfMonth",
38
- "row"
39
- ]
134
+ "classes": []
40
135
  },
41
- "calendar-observer": {
42
- "identifier": "calendar-observer",
136
+ "calendar-year-selector": {
137
+ "identifier": "calendar-year-selector",
43
138
  "targets": [],
44
139
  "values": {},
45
140
  "outlets": [],
@@ -67,10 +162,7 @@
67
162
  "day",
68
163
  "month",
69
164
  "year",
70
- "viewTitle",
71
- "monthView",
72
- "yearView",
73
- "decadeView"
165
+ "viewTitle"
74
166
  ],
75
167
  "values": {
76
168
  "view": {
@@ -98,7 +190,9 @@
98
190
  }
99
191
  },
100
192
  "outlets": [
101
- "calendar-month"
193
+ "calendar-month",
194
+ "calendar-year",
195
+ "calendar-decade"
102
196
  ],
103
197
  "classes": []
104
198
  },
@@ -249,6 +343,14 @@
249
343
  "type": "Boolean",
250
344
  "default": true
251
345
  },
346
+ "announceOpen": {
347
+ "type": "String",
348
+ "default": "Panel opened"
349
+ },
350
+ "announceClose": {
351
+ "type": "String",
352
+ "default": "Panel closed"
353
+ },
252
354
  "url": {
253
355
  "type": "String"
254
356
  },
@@ -261,6 +363,17 @@
261
363
  "hidden"
262
364
  ]
263
365
  },
366
+ "timeline": {
367
+ "identifier": "timeline",
368
+ "targets": [
369
+ "trigger",
370
+ "detail",
371
+ "time"
372
+ ],
373
+ "values": {},
374
+ "outlets": [],
375
+ "classes": []
376
+ },
264
377
  "visibility": {
265
378
  "identifier": "visibility",
266
379
  "targets": [