view_component_storybook 0.8.0 → 0.11.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 (41) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -128
  3. data/app/controllers/view_component/storybook/stories_controller.rb +10 -11
  4. data/app/views/view_component/storybook/stories/show.html.erb +8 -1
  5. data/config/locales/en.yml +32 -0
  6. data/lib/view_component/storybook/content_concern.rb +42 -0
  7. data/lib/view_component/storybook/controls/base_options_config.rb +41 -0
  8. data/lib/view_component/storybook/controls/boolean_config.rb +7 -6
  9. data/lib/view_component/storybook/controls/color_config.rb +4 -5
  10. data/lib/view_component/storybook/controls/control_config.rb +24 -36
  11. data/lib/view_component/storybook/controls/controls_helpers.rb +76 -0
  12. data/lib/view_component/storybook/controls/custom_config.rb +52 -0
  13. data/lib/view_component/storybook/controls/date_config.rb +14 -11
  14. data/lib/view_component/storybook/controls/multi_options_config.rb +46 -0
  15. data/lib/view_component/storybook/controls/number_config.rb +9 -9
  16. data/lib/view_component/storybook/controls/object_config.rb +13 -5
  17. data/lib/view_component/storybook/controls/options_config.rb +17 -30
  18. data/lib/view_component/storybook/controls/simple_control_config.rb +48 -0
  19. data/lib/view_component/storybook/controls/text_config.rb +1 -1
  20. data/lib/view_component/storybook/controls.rb +5 -1
  21. data/lib/view_component/storybook/dsl/{controls_dsl.rb → legacy_controls_dsl.rb} +18 -21
  22. data/lib/view_component/storybook/dsl.rb +1 -2
  23. data/lib/view_component/storybook/engine.rb +13 -2
  24. data/lib/view_component/storybook/method_args/component_constructor_args.rb +23 -0
  25. data/lib/view_component/storybook/method_args/control_method_args.rb +91 -0
  26. data/lib/view_component/storybook/method_args/dry_initializer_component_constructor_args.rb +45 -0
  27. data/lib/view_component/storybook/method_args/method_args.rb +52 -0
  28. data/lib/view_component/storybook/method_args/method_parameters_names.rb +97 -0
  29. data/lib/view_component/storybook/method_args.rb +17 -0
  30. data/lib/view_component/storybook/slots/slot.rb +24 -0
  31. data/lib/view_component/storybook/slots/slot_config.rb +79 -0
  32. data/lib/view_component/storybook/slots.rb +14 -0
  33. data/lib/view_component/storybook/stories.rb +60 -10
  34. data/lib/view_component/storybook/story.rb +18 -0
  35. data/lib/view_component/storybook/story_config.rb +143 -15
  36. data/lib/view_component/storybook/tasks/write_stories_json.rake +6 -0
  37. data/lib/view_component/storybook/version.rb +1 -1
  38. data/lib/view_component/storybook.rb +25 -0
  39. metadata +64 -20
  40. data/lib/view_component/storybook/controls/array_config.rb +0 -36
  41. data/lib/view_component/storybook/dsl/story_dsl.rb +0 -39
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: view_component_storybook
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Palmer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-09 00:00:00.000000000 Z
11
+ date: 2022-02-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: view_component
@@ -16,28 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '2.2'
19
+ version: '2.36'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '2.2'
26
+ version: '2.36'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.14'
33
+ version: '2.2'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.2'
41
+ - !ruby/object:Gem::Dependency
42
+ name: capybara
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3'
55
+ - !ruby/object:Gem::Dependency
56
+ name: dry-initializer
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 3.0.4
34
62
  type: :development
35
63
  prerelease: false
36
64
  version_requirements: !ruby/object:Gem::Requirement
37
65
  requirements:
38
66
  - - "~>"
39
67
  - !ruby/object:Gem::Version
40
- version: '1.14'
68
+ version: 3.0.4
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: rake
43
71
  requirement: !ruby/object:Gem::Requirement
@@ -72,56 +100,56 @@ dependencies:
72
100
  requirements:
73
101
  - - "~>"
74
102
  - !ruby/object:Gem::Version
75
- version: '3.9'
103
+ version: '3.10'
76
104
  type: :development
77
105
  prerelease: false
78
106
  version_requirements: !ruby/object:Gem::Requirement
79
107
  requirements:
80
108
  - - "~>"
81
109
  - !ruby/object:Gem::Version
82
- version: '3.9'
110
+ version: '3.10'
83
111
  - !ruby/object:Gem::Dependency
84
112
  name: rspec-rails
85
113
  requirement: !ruby/object:Gem::Requirement
86
114
  requirements:
87
115
  - - "~>"
88
116
  - !ruby/object:Gem::Version
89
- version: '3.9'
117
+ version: '5.0'
90
118
  type: :development
91
119
  prerelease: false
92
120
  version_requirements: !ruby/object:Gem::Requirement
93
121
  requirements:
94
122
  - - "~>"
95
123
  - !ruby/object:Gem::Version
96
- version: '3.9'
124
+ version: '5.0'
97
125
  - !ruby/object:Gem::Dependency
98
126
  name: rubocop
99
127
  requirement: !ruby/object:Gem::Requirement
100
128
  requirements:
101
129
  - - "~>"
102
130
  - !ruby/object:Gem::Version
103
- version: '1.9'
131
+ version: '1.18'
104
132
  type: :development
105
133
  prerelease: false
106
134
  version_requirements: !ruby/object:Gem::Requirement
107
135
  requirements:
108
136
  - - "~>"
109
137
  - !ruby/object:Gem::Version
110
- version: '1.9'
138
+ version: '1.18'
111
139
  - !ruby/object:Gem::Dependency
112
140
  name: rubocop-rails
113
141
  requirement: !ruby/object:Gem::Requirement
114
142
  requirements:
115
143
  - - "~>"
116
144
  - !ruby/object:Gem::Version
117
- version: 2.9.1
145
+ version: '2.11'
118
146
  type: :development
119
147
  prerelease: false
120
148
  version_requirements: !ruby/object:Gem::Requirement
121
149
  requirements:
122
150
  - - "~>"
123
151
  - !ruby/object:Gem::Version
124
- version: 2.9.1
152
+ version: '2.11'
125
153
  - !ruby/object:Gem::Dependency
126
154
  name: rubocop-rspec
127
155
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +170,14 @@ dependencies:
142
170
  requirements:
143
171
  - - "~>"
144
172
  - !ruby/object:Gem::Version
145
- version: 0.18.5
173
+ version: 0.21.2
146
174
  type: :development
147
175
  prerelease: false
148
176
  version_requirements: !ruby/object:Gem::Requirement
149
177
  requirements:
150
178
  - - "~>"
151
179
  - !ruby/object:Gem::Version
152
- version: 0.18.5
180
+ version: 0.21.2
153
181
  - !ruby/object:Gem::Dependency
154
182
  name: simplecov-console
155
183
  requirement: !ruby/object:Gem::Requirement
@@ -175,22 +203,37 @@ files:
175
203
  - README.md
176
204
  - app/controllers/view_component/storybook/stories_controller.rb
177
205
  - app/views/view_component/storybook/stories/show.html.erb
206
+ - config/locales/en.yml
178
207
  - lib/view_component/storybook.rb
208
+ - lib/view_component/storybook/content_concern.rb
179
209
  - lib/view_component/storybook/controls.rb
180
- - lib/view_component/storybook/controls/array_config.rb
210
+ - lib/view_component/storybook/controls/base_options_config.rb
181
211
  - lib/view_component/storybook/controls/boolean_config.rb
182
212
  - lib/view_component/storybook/controls/color_config.rb
183
213
  - lib/view_component/storybook/controls/control_config.rb
214
+ - lib/view_component/storybook/controls/controls_helpers.rb
215
+ - lib/view_component/storybook/controls/custom_config.rb
184
216
  - lib/view_component/storybook/controls/date_config.rb
217
+ - lib/view_component/storybook/controls/multi_options_config.rb
185
218
  - lib/view_component/storybook/controls/number_config.rb
186
219
  - lib/view_component/storybook/controls/object_config.rb
187
220
  - lib/view_component/storybook/controls/options_config.rb
221
+ - lib/view_component/storybook/controls/simple_control_config.rb
188
222
  - lib/view_component/storybook/controls/text_config.rb
189
223
  - lib/view_component/storybook/dsl.rb
190
- - lib/view_component/storybook/dsl/controls_dsl.rb
191
- - lib/view_component/storybook/dsl/story_dsl.rb
224
+ - lib/view_component/storybook/dsl/legacy_controls_dsl.rb
192
225
  - lib/view_component/storybook/engine.rb
226
+ - lib/view_component/storybook/method_args.rb
227
+ - lib/view_component/storybook/method_args/component_constructor_args.rb
228
+ - lib/view_component/storybook/method_args/control_method_args.rb
229
+ - lib/view_component/storybook/method_args/dry_initializer_component_constructor_args.rb
230
+ - lib/view_component/storybook/method_args/method_args.rb
231
+ - lib/view_component/storybook/method_args/method_parameters_names.rb
232
+ - lib/view_component/storybook/slots.rb
233
+ - lib/view_component/storybook/slots/slot.rb
234
+ - lib/view_component/storybook/slots/slot_config.rb
193
235
  - lib/view_component/storybook/stories.rb
236
+ - lib/view_component/storybook/story.rb
194
237
  - lib/view_component/storybook/story_config.rb
195
238
  - lib/view_component/storybook/tasks/write_stories_json.rake
196
239
  - lib/view_component/storybook/version.rb
@@ -201,6 +244,7 @@ metadata:
201
244
  allowed_push_host: https://rubygems.org
202
245
  homepage_uri: https://github.com/jonspalmer/view_component_storybook
203
246
  source_code_uri: https://github.com/jonspalmer/view_component_storybook
247
+ rubygems_mfa_required: 'true'
204
248
  post_install_message:
205
249
  rdoc_options: []
206
250
  require_paths:
@@ -209,7 +253,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
209
253
  requirements:
210
254
  - - ">="
211
255
  - !ruby/object:Gem::Version
212
- version: 2.4.0
256
+ version: 2.5.0
213
257
  required_rubygems_version: !ruby/object:Gem::Requirement
214
258
  requirements:
215
259
  - - ">="
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ViewComponent
4
- module Storybook
5
- module Controls
6
- class ArrayConfig < ControlConfig
7
- attr_reader :separator
8
-
9
- validates :separator, presence: true
10
-
11
- def initialize(component, param, value, separator = ",", name: nil)
12
- super(component, param, value, name: name)
13
- @separator = separator
14
- end
15
-
16
- def type
17
- :array
18
- end
19
-
20
- def value_from_param(param)
21
- if param.is_a?(String)
22
- param.split(separator)
23
- else
24
- super(param)
25
- end
26
- end
27
-
28
- private
29
-
30
- def csf_control_params
31
- super.merge(separator: separator)
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,39 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ViewComponent
4
- module Storybook
5
- module Dsl
6
- class StoryDsl
7
- def self.evaluate!(story_config, &block)
8
- new(story_config).instance_eval(&block)
9
- end
10
-
11
- def parameters(**params)
12
- @story_config.parameters = params
13
- end
14
-
15
- def controls(&block)
16
- controls_dsl = ControlsDsl.new(story_config.component)
17
- controls_dsl.instance_eval(&block)
18
- @story_config.controls = controls_dsl.controls
19
- end
20
-
21
- def layout(layout)
22
- @story_config.layout = layout
23
- end
24
-
25
- def content(&block)
26
- @story_config.content_block = block
27
- end
28
-
29
- private
30
-
31
- attr_reader :story_config
32
-
33
- def initialize(story_config)
34
- @story_config = story_config
35
- end
36
- end
37
- end
38
- end
39
- end