view_component 3.25.0 → 4.0.0.alpha1
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/app/controllers/concerns/view_component/preview_actions.rb +2 -9
- data/app/controllers/view_components_system_test_controller.rb +17 -29
- data/app/views/test_mailer/test_asset_email.html.erb +1 -0
- data/app/views/view_components/preview.html.erb +1 -9
- data/docs/CHANGELOG.md +77 -17
- data/lib/view_component/base.rb +49 -100
- data/lib/view_component/collection.rb +12 -19
- data/lib/view_component/compiler.rb +50 -74
- data/lib/view_component/config.rb +0 -21
- data/lib/view_component/deprecation.rb +1 -1
- data/lib/view_component/engine.rb +3 -82
- data/lib/view_component/errors.rb +16 -22
- data/lib/view_component/inline_template.rb +2 -4
- data/lib/view_component/instrumentation.rb +5 -11
- data/lib/view_component/preview.rb +3 -12
- data/lib/view_component/request_details.rb +30 -0
- data/lib/view_component/slot.rb +3 -6
- data/lib/view_component/slotable.rb +30 -37
- data/lib/view_component/system_test_helpers.rb +1 -2
- data/lib/view_component/template.rb +106 -83
- data/lib/view_component/test_helpers.rb +22 -42
- data/lib/view_component/translatable.rb +24 -23
- data/lib/view_component/use_helpers.rb +3 -4
- data/lib/view_component/version.rb +3 -3
- data/lib/view_component.rb +0 -1
- metadata +88 -124
- data/app/assets/vendor/prism.css +0 -4
- data/app/assets/vendor/prism.min.js +0 -12
- data/app/helpers/preview_helper.rb +0 -85
- data/app/views/view_components/_preview_source.html.erb +0 -17
- data/lib/rails/generators/abstract_generator.rb +0 -56
- data/lib/rails/generators/component/component_generator.rb +0 -67
- data/lib/rails/generators/component/templates/component.rb.tt +0 -16
- data/lib/rails/generators/erb/component_generator.rb +0 -33
- data/lib/rails/generators/erb/templates/component.html.erb.tt +0 -1
- data/lib/rails/generators/haml/component_generator.rb +0 -22
- data/lib/rails/generators/haml/templates/component.html.haml.tt +0 -1
- data/lib/rails/generators/locale/component_generator.rb +0 -46
- data/lib/rails/generators/preview/component_generator.rb +0 -39
- data/lib/rails/generators/preview/templates/component_preview.rb.tt +0 -9
- data/lib/rails/generators/rspec/component_generator.rb +0 -31
- data/lib/rails/generators/rspec/templates/component_spec.rb.tt +0 -15
- data/lib/rails/generators/slim/component_generator.rb +0 -22
- data/lib/rails/generators/slim/templates/component.html.slim.tt +0 -1
- data/lib/rails/generators/stimulus/component_generator.rb +0 -44
- data/lib/rails/generators/stimulus/templates/component_controller.js.tt +0 -7
- data/lib/rails/generators/stimulus/templates/component_controller.ts.tt +0 -9
- data/lib/rails/generators/tailwindcss/component_generator.rb +0 -11
- data/lib/rails/generators/tailwindcss/templates/component.html.erb.tt +0 -1
- data/lib/rails/generators/test_unit/component_generator.rb +0 -20
- data/lib/rails/generators/test_unit/templates/component_test.rb.tt +0 -12
- data/lib/view_component/component_error.rb +0 -6
- data/lib/view_component/rails/tasks/view_component.rake +0 -20
- data/lib/view_component/render_component_helper.rb +0 -10
- data/lib/view_component/render_component_to_string_helper.rb +0 -9
- data/lib/view_component/render_monkey_patch.rb +0 -13
- data/lib/view_component/render_to_string_monkey_patch.rb +0 -13
- data/lib/view_component/rendering_component_helper.rb +0 -9
- data/lib/view_component/rendering_monkey_patch.rb +0 -13
|
@@ -12,13 +12,12 @@ module ViewComponent::UseHelpers
|
|
|
12
12
|
helper_method_name = full_helper_method_name(helper_method, prefix: prefix, source: from)
|
|
13
13
|
|
|
14
14
|
class_eval(<<-RUBY, __FILE__, __LINE__ + 1)
|
|
15
|
-
def #{helper_method_name}(
|
|
15
|
+
def #{helper_method_name}(...)
|
|
16
16
|
raise HelpersCalledBeforeRenderError if view_context.nil?
|
|
17
17
|
|
|
18
18
|
#{define_helper(helper_method: helper_method, source: from)}
|
|
19
19
|
end
|
|
20
20
|
RUBY
|
|
21
|
-
ruby2_keywords(helper_method_name) if respond_to?(:ruby2_keywords, true)
|
|
22
21
|
end
|
|
23
22
|
|
|
24
23
|
private
|
|
@@ -34,9 +33,9 @@ module ViewComponent::UseHelpers
|
|
|
34
33
|
end
|
|
35
34
|
|
|
36
35
|
def define_helper(helper_method:, source:)
|
|
37
|
-
return "__vc_original_view_context.#{helper_method}(
|
|
36
|
+
return "__vc_original_view_context.#{helper_method}(...)" unless source.present?
|
|
38
37
|
|
|
39
|
-
"#{source}.instance_method(:#{helper_method}).bind(self).call(
|
|
38
|
+
"#{source}.instance_method(:#{helper_method}).bind(self).call(...)"
|
|
40
39
|
end
|
|
41
40
|
end
|
|
42
41
|
end
|
data/lib/view_component.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: view_component
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 4.0.0.alpha1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- ViewComponent Team
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: activesupport
|
|
@@ -16,34 +15,20 @@ dependencies:
|
|
|
16
15
|
requirements:
|
|
17
16
|
- - ">="
|
|
18
17
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
18
|
+
version: 7.1.0
|
|
20
19
|
- - "<"
|
|
21
20
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: '8.
|
|
21
|
+
version: '8.1'
|
|
23
22
|
type: :runtime
|
|
24
23
|
prerelease: false
|
|
25
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
25
|
requirements:
|
|
27
26
|
- - ">="
|
|
28
27
|
- !ruby/object:Gem::Version
|
|
29
|
-
version:
|
|
28
|
+
version: 7.1.0
|
|
30
29
|
- - "<"
|
|
31
30
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: '8.
|
|
33
|
-
- !ruby/object:Gem::Dependency
|
|
34
|
-
name: method_source
|
|
35
|
-
requirement: !ruby/object:Gem::Requirement
|
|
36
|
-
requirements:
|
|
37
|
-
- - "~>"
|
|
38
|
-
- !ruby/object:Gem::Version
|
|
39
|
-
version: '1.0'
|
|
40
|
-
type: :runtime
|
|
41
|
-
prerelease: false
|
|
42
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
43
|
-
requirements:
|
|
44
|
-
- - "~>"
|
|
45
|
-
- !ruby/object:Gem::Version
|
|
46
|
-
version: '1.0'
|
|
31
|
+
version: '8.1'
|
|
47
32
|
- !ruby/object:Gem::Dependency
|
|
48
33
|
name: concurrent-ruby
|
|
49
34
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -62,44 +47,44 @@ dependencies:
|
|
|
62
47
|
name: allocation_stats
|
|
63
48
|
requirement: !ruby/object:Gem::Requirement
|
|
64
49
|
requirements:
|
|
65
|
-
- - "
|
|
50
|
+
- - ">="
|
|
66
51
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: 0
|
|
52
|
+
version: '0'
|
|
68
53
|
type: :development
|
|
69
54
|
prerelease: false
|
|
70
55
|
version_requirements: !ruby/object:Gem::Requirement
|
|
71
56
|
requirements:
|
|
72
|
-
- - "
|
|
57
|
+
- - ">="
|
|
73
58
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: 0
|
|
59
|
+
version: '0'
|
|
75
60
|
- !ruby/object:Gem::Dependency
|
|
76
61
|
name: appraisal
|
|
77
62
|
requirement: !ruby/object:Gem::Requirement
|
|
78
63
|
requirements:
|
|
79
64
|
- - "~>"
|
|
80
65
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: '2
|
|
66
|
+
version: '2'
|
|
82
67
|
type: :development
|
|
83
68
|
prerelease: false
|
|
84
69
|
version_requirements: !ruby/object:Gem::Requirement
|
|
85
70
|
requirements:
|
|
86
71
|
- - "~>"
|
|
87
72
|
- !ruby/object:Gem::Version
|
|
88
|
-
version: '2
|
|
73
|
+
version: '2'
|
|
89
74
|
- !ruby/object:Gem::Dependency
|
|
90
75
|
name: benchmark-ips
|
|
91
76
|
requirement: !ruby/object:Gem::Requirement
|
|
92
77
|
requirements:
|
|
93
78
|
- - "~>"
|
|
94
79
|
- !ruby/object:Gem::Version
|
|
95
|
-
version: 2
|
|
80
|
+
version: '2'
|
|
96
81
|
type: :development
|
|
97
82
|
prerelease: false
|
|
98
83
|
version_requirements: !ruby/object:Gem::Requirement
|
|
99
84
|
requirements:
|
|
100
85
|
- - "~>"
|
|
101
86
|
- !ruby/object:Gem::Version
|
|
102
|
-
version: 2
|
|
87
|
+
version: '2'
|
|
103
88
|
- !ruby/object:Gem::Dependency
|
|
104
89
|
name: better_html
|
|
105
90
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -144,20 +129,6 @@ dependencies:
|
|
|
144
129
|
version: '3'
|
|
145
130
|
- !ruby/object:Gem::Dependency
|
|
146
131
|
name: cuprite
|
|
147
|
-
requirement: !ruby/object:Gem::Requirement
|
|
148
|
-
requirements:
|
|
149
|
-
- - "~>"
|
|
150
|
-
- !ruby/object:Gem::Version
|
|
151
|
-
version: '0.15'
|
|
152
|
-
type: :development
|
|
153
|
-
prerelease: false
|
|
154
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
155
|
-
requirements:
|
|
156
|
-
- - "~>"
|
|
157
|
-
- !ruby/object:Gem::Version
|
|
158
|
-
version: '0.15'
|
|
159
|
-
- !ruby/object:Gem::Dependency
|
|
160
|
-
name: debug
|
|
161
132
|
requirement: !ruby/object:Gem::Requirement
|
|
162
133
|
requirements:
|
|
163
134
|
- - ">="
|
|
@@ -227,33 +198,33 @@ dependencies:
|
|
|
227
198
|
- !ruby/object:Gem::Version
|
|
228
199
|
version: '1'
|
|
229
200
|
- !ruby/object:Gem::Dependency
|
|
230
|
-
name:
|
|
201
|
+
name: method_source
|
|
231
202
|
requirement: !ruby/object:Gem::Requirement
|
|
232
203
|
requirements:
|
|
233
204
|
- - "~>"
|
|
234
205
|
- !ruby/object:Gem::Version
|
|
235
|
-
version: '
|
|
206
|
+
version: '1'
|
|
236
207
|
type: :development
|
|
237
208
|
prerelease: false
|
|
238
209
|
version_requirements: !ruby/object:Gem::Requirement
|
|
239
210
|
requirements:
|
|
240
211
|
- - "~>"
|
|
241
212
|
- !ruby/object:Gem::Version
|
|
242
|
-
version: '
|
|
213
|
+
version: '1'
|
|
243
214
|
- !ruby/object:Gem::Dependency
|
|
244
|
-
name:
|
|
215
|
+
name: minitest
|
|
245
216
|
requirement: !ruby/object:Gem::Requirement
|
|
246
217
|
requirements:
|
|
247
218
|
- - "~>"
|
|
248
219
|
- !ruby/object:Gem::Version
|
|
249
|
-
version: '
|
|
220
|
+
version: '5'
|
|
250
221
|
type: :development
|
|
251
222
|
prerelease: false
|
|
252
223
|
version_requirements: !ruby/object:Gem::Requirement
|
|
253
224
|
requirements:
|
|
254
225
|
- - "~>"
|
|
255
226
|
- !ruby/object:Gem::Version
|
|
256
|
-
version: '
|
|
227
|
+
version: '5'
|
|
257
228
|
- !ruby/object:Gem::Dependency
|
|
258
229
|
name: puma
|
|
259
230
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -274,140 +245,154 @@ dependencies:
|
|
|
274
245
|
requirements:
|
|
275
246
|
- - "~>"
|
|
276
247
|
- !ruby/object:Gem::Version
|
|
277
|
-
version: '13
|
|
248
|
+
version: '13'
|
|
278
249
|
type: :development
|
|
279
250
|
prerelease: false
|
|
280
251
|
version_requirements: !ruby/object:Gem::Requirement
|
|
281
252
|
requirements:
|
|
282
253
|
- - "~>"
|
|
283
254
|
- !ruby/object:Gem::Version
|
|
284
|
-
version: '13
|
|
255
|
+
version: '13'
|
|
256
|
+
- !ruby/object:Gem::Dependency
|
|
257
|
+
name: redis
|
|
258
|
+
requirement: !ruby/object:Gem::Requirement
|
|
259
|
+
requirements:
|
|
260
|
+
- - ">="
|
|
261
|
+
- !ruby/object:Gem::Version
|
|
262
|
+
version: '0'
|
|
263
|
+
type: :development
|
|
264
|
+
prerelease: false
|
|
265
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
266
|
+
requirements:
|
|
267
|
+
- - ">="
|
|
268
|
+
- !ruby/object:Gem::Version
|
|
269
|
+
version: '0'
|
|
285
270
|
- !ruby/object:Gem::Dependency
|
|
286
271
|
name: rspec-rails
|
|
287
272
|
requirement: !ruby/object:Gem::Requirement
|
|
288
273
|
requirements:
|
|
289
274
|
- - "~>"
|
|
290
275
|
- !ruby/object:Gem::Version
|
|
291
|
-
version: '
|
|
276
|
+
version: '7'
|
|
292
277
|
type: :development
|
|
293
278
|
prerelease: false
|
|
294
279
|
version_requirements: !ruby/object:Gem::Requirement
|
|
295
280
|
requirements:
|
|
296
281
|
- - "~>"
|
|
297
282
|
- !ruby/object:Gem::Version
|
|
298
|
-
version: '
|
|
283
|
+
version: '7'
|
|
299
284
|
- !ruby/object:Gem::Dependency
|
|
300
285
|
name: rubocop-md
|
|
301
286
|
requirement: !ruby/object:Gem::Requirement
|
|
302
287
|
requirements:
|
|
303
288
|
- - "~>"
|
|
304
289
|
- !ruby/object:Gem::Version
|
|
305
|
-
version: '
|
|
290
|
+
version: '2'
|
|
306
291
|
type: :development
|
|
307
292
|
prerelease: false
|
|
308
293
|
version_requirements: !ruby/object:Gem::Requirement
|
|
309
294
|
requirements:
|
|
310
295
|
- - "~>"
|
|
311
296
|
- !ruby/object:Gem::Version
|
|
312
|
-
version: '
|
|
297
|
+
version: '2'
|
|
313
298
|
- !ruby/object:Gem::Dependency
|
|
314
299
|
name: selenium-webdriver
|
|
315
300
|
requirement: !ruby/object:Gem::Requirement
|
|
316
301
|
requirements:
|
|
317
|
-
- -
|
|
302
|
+
- - "~>"
|
|
318
303
|
- !ruby/object:Gem::Version
|
|
319
|
-
version: 4
|
|
304
|
+
version: '4'
|
|
320
305
|
type: :development
|
|
321
306
|
prerelease: false
|
|
322
307
|
version_requirements: !ruby/object:Gem::Requirement
|
|
323
308
|
requirements:
|
|
324
|
-
- -
|
|
309
|
+
- - "~>"
|
|
325
310
|
- !ruby/object:Gem::Version
|
|
326
|
-
version: 4
|
|
311
|
+
version: '4'
|
|
327
312
|
- !ruby/object:Gem::Dependency
|
|
328
|
-
name:
|
|
313
|
+
name: simplecov-console
|
|
329
314
|
requirement: !ruby/object:Gem::Requirement
|
|
330
315
|
requirements:
|
|
331
|
-
- - "
|
|
316
|
+
- - "<"
|
|
332
317
|
- !ruby/object:Gem::Version
|
|
333
|
-
version:
|
|
318
|
+
version: '1'
|
|
334
319
|
type: :development
|
|
335
320
|
prerelease: false
|
|
336
321
|
version_requirements: !ruby/object:Gem::Requirement
|
|
337
322
|
requirements:
|
|
338
|
-
- - "
|
|
323
|
+
- - "<"
|
|
339
324
|
- !ruby/object:Gem::Version
|
|
340
|
-
version:
|
|
325
|
+
version: '1'
|
|
341
326
|
- !ruby/object:Gem::Dependency
|
|
342
|
-
name:
|
|
327
|
+
name: simplecov
|
|
343
328
|
requirement: !ruby/object:Gem::Requirement
|
|
344
329
|
requirements:
|
|
345
|
-
- - "
|
|
330
|
+
- - "<"
|
|
346
331
|
- !ruby/object:Gem::Version
|
|
347
332
|
version: '1'
|
|
348
333
|
type: :development
|
|
349
334
|
prerelease: false
|
|
350
335
|
version_requirements: !ruby/object:Gem::Requirement
|
|
351
336
|
requirements:
|
|
352
|
-
- - "
|
|
337
|
+
- - "<"
|
|
353
338
|
- !ruby/object:Gem::Version
|
|
354
339
|
version: '1'
|
|
355
340
|
- !ruby/object:Gem::Dependency
|
|
356
|
-
name:
|
|
341
|
+
name: slim
|
|
357
342
|
requirement: !ruby/object:Gem::Requirement
|
|
358
343
|
requirements:
|
|
359
344
|
- - "~>"
|
|
360
345
|
- !ruby/object:Gem::Version
|
|
361
|
-
version:
|
|
346
|
+
version: '5'
|
|
362
347
|
type: :development
|
|
363
348
|
prerelease: false
|
|
364
349
|
version_requirements: !ruby/object:Gem::Requirement
|
|
365
350
|
requirements:
|
|
366
351
|
- - "~>"
|
|
367
352
|
- !ruby/object:Gem::Version
|
|
368
|
-
version:
|
|
353
|
+
version: '5'
|
|
369
354
|
- !ruby/object:Gem::Dependency
|
|
370
|
-
name:
|
|
355
|
+
name: sprockets-rails
|
|
371
356
|
requirement: !ruby/object:Gem::Requirement
|
|
372
357
|
requirements:
|
|
373
358
|
- - "~>"
|
|
374
359
|
- !ruby/object:Gem::Version
|
|
375
|
-
version:
|
|
360
|
+
version: '3'
|
|
376
361
|
type: :development
|
|
377
362
|
prerelease: false
|
|
378
363
|
version_requirements: !ruby/object:Gem::Requirement
|
|
379
364
|
requirements:
|
|
380
365
|
- - "~>"
|
|
381
366
|
- !ruby/object:Gem::Version
|
|
382
|
-
version:
|
|
367
|
+
version: '3'
|
|
383
368
|
- !ruby/object:Gem::Dependency
|
|
384
|
-
name:
|
|
369
|
+
name: standard
|
|
385
370
|
requirement: !ruby/object:Gem::Requirement
|
|
386
371
|
requirements:
|
|
387
372
|
- - "~>"
|
|
388
373
|
- !ruby/object:Gem::Version
|
|
389
|
-
version: '
|
|
374
|
+
version: '1'
|
|
390
375
|
type: :development
|
|
391
376
|
prerelease: false
|
|
392
377
|
version_requirements: !ruby/object:Gem::Requirement
|
|
393
378
|
requirements:
|
|
394
379
|
- - "~>"
|
|
395
380
|
- !ruby/object:Gem::Version
|
|
396
|
-
version: '
|
|
381
|
+
version: '1'
|
|
397
382
|
- !ruby/object:Gem::Dependency
|
|
398
383
|
name: turbo-rails
|
|
399
384
|
requirement: !ruby/object:Gem::Requirement
|
|
400
385
|
requirements:
|
|
401
386
|
- - "~>"
|
|
402
387
|
- !ruby/object:Gem::Version
|
|
403
|
-
version: '
|
|
388
|
+
version: '2'
|
|
404
389
|
type: :development
|
|
405
390
|
prerelease: false
|
|
406
391
|
version_requirements: !ruby/object:Gem::Requirement
|
|
407
392
|
requirements:
|
|
408
393
|
- - "~>"
|
|
409
394
|
- !ruby/object:Gem::Version
|
|
410
|
-
version: '
|
|
395
|
+
version: '2'
|
|
411
396
|
- !ruby/object:Gem::Dependency
|
|
412
397
|
name: warning
|
|
413
398
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -422,82 +407,69 @@ dependencies:
|
|
|
422
407
|
- - ">="
|
|
423
408
|
- !ruby/object:Gem::Version
|
|
424
409
|
version: '0'
|
|
410
|
+
- !ruby/object:Gem::Dependency
|
|
411
|
+
name: yard-activesupport-concern
|
|
412
|
+
requirement: !ruby/object:Gem::Requirement
|
|
413
|
+
requirements:
|
|
414
|
+
- - "<"
|
|
415
|
+
- !ruby/object:Gem::Version
|
|
416
|
+
version: '1'
|
|
417
|
+
type: :development
|
|
418
|
+
prerelease: false
|
|
419
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
420
|
+
requirements:
|
|
421
|
+
- - "<"
|
|
422
|
+
- !ruby/object:Gem::Version
|
|
423
|
+
version: '1'
|
|
425
424
|
- !ruby/object:Gem::Dependency
|
|
426
425
|
name: yard
|
|
427
426
|
requirement: !ruby/object:Gem::Requirement
|
|
428
427
|
requirements:
|
|
429
|
-
- - "
|
|
428
|
+
- - "<"
|
|
430
429
|
- !ruby/object:Gem::Version
|
|
431
|
-
version:
|
|
430
|
+
version: '1'
|
|
432
431
|
type: :development
|
|
433
432
|
prerelease: false
|
|
434
433
|
version_requirements: !ruby/object:Gem::Requirement
|
|
435
434
|
requirements:
|
|
436
|
-
- - "
|
|
435
|
+
- - "<"
|
|
437
436
|
- !ruby/object:Gem::Version
|
|
438
|
-
version:
|
|
437
|
+
version: '1'
|
|
439
438
|
- !ruby/object:Gem::Dependency
|
|
440
|
-
name:
|
|
439
|
+
name: propshaft
|
|
441
440
|
requirement: !ruby/object:Gem::Requirement
|
|
442
441
|
requirements:
|
|
443
442
|
- - "~>"
|
|
444
443
|
- !ruby/object:Gem::Version
|
|
445
|
-
version:
|
|
444
|
+
version: '1'
|
|
446
445
|
type: :development
|
|
447
446
|
prerelease: false
|
|
448
447
|
version_requirements: !ruby/object:Gem::Requirement
|
|
449
448
|
requirements:
|
|
450
449
|
- - "~>"
|
|
451
450
|
- !ruby/object:Gem::Version
|
|
452
|
-
version:
|
|
453
|
-
description:
|
|
454
|
-
email:
|
|
451
|
+
version: '1'
|
|
455
452
|
executables: []
|
|
456
453
|
extensions: []
|
|
457
454
|
extra_rdoc_files: []
|
|
458
455
|
files:
|
|
459
456
|
- LICENSE.txt
|
|
460
457
|
- README.md
|
|
461
|
-
- app/assets/vendor/prism.css
|
|
462
|
-
- app/assets/vendor/prism.min.js
|
|
463
458
|
- app/controllers/concerns/view_component/preview_actions.rb
|
|
464
459
|
- app/controllers/view_components_controller.rb
|
|
465
460
|
- app/controllers/view_components_system_test_controller.rb
|
|
466
|
-
- app/
|
|
461
|
+
- app/views/test_mailer/test_asset_email.html.erb
|
|
467
462
|
- app/views/test_mailer/test_email.html.erb
|
|
468
|
-
- app/views/view_components/_preview_source.html.erb
|
|
469
463
|
- app/views/view_components/index.html.erb
|
|
470
464
|
- app/views/view_components/preview.html.erb
|
|
471
465
|
- app/views/view_components/previews.html.erb
|
|
472
466
|
- docs/CHANGELOG.md
|
|
473
|
-
- lib/rails/generators/abstract_generator.rb
|
|
474
|
-
- lib/rails/generators/component/component_generator.rb
|
|
475
|
-
- lib/rails/generators/component/templates/component.rb.tt
|
|
476
|
-
- lib/rails/generators/erb/component_generator.rb
|
|
477
|
-
- lib/rails/generators/erb/templates/component.html.erb.tt
|
|
478
|
-
- lib/rails/generators/haml/component_generator.rb
|
|
479
|
-
- lib/rails/generators/haml/templates/component.html.haml.tt
|
|
480
|
-
- lib/rails/generators/locale/component_generator.rb
|
|
481
|
-
- lib/rails/generators/preview/component_generator.rb
|
|
482
|
-
- lib/rails/generators/preview/templates/component_preview.rb.tt
|
|
483
|
-
- lib/rails/generators/rspec/component_generator.rb
|
|
484
|
-
- lib/rails/generators/rspec/templates/component_spec.rb.tt
|
|
485
|
-
- lib/rails/generators/slim/component_generator.rb
|
|
486
|
-
- lib/rails/generators/slim/templates/component.html.slim.tt
|
|
487
|
-
- lib/rails/generators/stimulus/component_generator.rb
|
|
488
|
-
- lib/rails/generators/stimulus/templates/component_controller.js.tt
|
|
489
|
-
- lib/rails/generators/stimulus/templates/component_controller.ts.tt
|
|
490
|
-
- lib/rails/generators/tailwindcss/component_generator.rb
|
|
491
|
-
- lib/rails/generators/tailwindcss/templates/component.html.erb.tt
|
|
492
|
-
- lib/rails/generators/test_unit/component_generator.rb
|
|
493
|
-
- lib/rails/generators/test_unit/templates/component_test.rb.tt
|
|
494
467
|
- lib/view_component.rb
|
|
495
468
|
- lib/view_component/base.rb
|
|
496
469
|
- lib/view_component/capture_compatibility.rb
|
|
497
470
|
- lib/view_component/collection.rb
|
|
498
471
|
- lib/view_component/compile_cache.rb
|
|
499
472
|
- lib/view_component/compiler.rb
|
|
500
|
-
- lib/view_component/component_error.rb
|
|
501
473
|
- lib/view_component/config.rb
|
|
502
474
|
- lib/view_component/configurable.rb
|
|
503
475
|
- lib/view_component/deprecation.rb
|
|
@@ -506,13 +478,7 @@ files:
|
|
|
506
478
|
- lib/view_component/inline_template.rb
|
|
507
479
|
- lib/view_component/instrumentation.rb
|
|
508
480
|
- lib/view_component/preview.rb
|
|
509
|
-
- lib/view_component/
|
|
510
|
-
- lib/view_component/render_component_helper.rb
|
|
511
|
-
- lib/view_component/render_component_to_string_helper.rb
|
|
512
|
-
- lib/view_component/render_monkey_patch.rb
|
|
513
|
-
- lib/view_component/render_to_string_monkey_patch.rb
|
|
514
|
-
- lib/view_component/rendering_component_helper.rb
|
|
515
|
-
- lib/view_component/rendering_monkey_patch.rb
|
|
481
|
+
- lib/view_component/request_details.rb
|
|
516
482
|
- lib/view_component/slot.rb
|
|
517
483
|
- lib/view_component/slotable.rb
|
|
518
484
|
- lib/view_component/slotable_default.rb
|
|
@@ -532,7 +498,6 @@ metadata:
|
|
|
532
498
|
allowed_push_host: https://rubygems.org
|
|
533
499
|
source_code_uri: https://github.com/viewcomponent/view_component
|
|
534
500
|
changelog_uri: https://github.com/ViewComponent/view_component/blob/main/docs/CHANGELOG.md
|
|
535
|
-
post_install_message:
|
|
536
501
|
rdoc_options: []
|
|
537
502
|
require_paths:
|
|
538
503
|
- lib
|
|
@@ -540,15 +505,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
540
505
|
requirements:
|
|
541
506
|
- - ">="
|
|
542
507
|
- !ruby/object:Gem::Version
|
|
543
|
-
version: 2.
|
|
508
|
+
version: 3.2.0
|
|
544
509
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
545
510
|
requirements:
|
|
546
511
|
- - ">="
|
|
547
512
|
- !ruby/object:Gem::Version
|
|
548
513
|
version: '0'
|
|
549
514
|
requirements: []
|
|
550
|
-
rubygems_version: 3.
|
|
551
|
-
signing_key:
|
|
515
|
+
rubygems_version: 3.6.8
|
|
552
516
|
specification_version: 4
|
|
553
517
|
summary: A framework for building reusable, testable & encapsulated view components
|
|
554
518
|
in Ruby on Rails.
|
data/app/assets/vendor/prism.css
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/* PrismJS 1.28.0
|
|
2
|
-
https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+clike+erb+haml+markup-templating+ruby&plugins=line-highlight+highlight-keywords+normalize-whitespace */
|
|
3
|
-
code[class*=language-],pre[class*=language-]{color:#ccc;background:0 0;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}
|
|
4
|
-
pre[data-line]{position:relative;padding:1em 0 1em 3em}.line-highlight{position:absolute;left:0;right:0;padding:inherit 0;margin-top:1em;background:hsla(24,20%,50%,.08);background:linear-gradient(to right,hsla(24,20%,50%,.1) 70%,hsla(24,20%,50%,0));pointer-events:none;line-height:inherit;white-space:pre}@media print{.line-highlight{-webkit-print-color-adjust:exact;color-adjust:exact}}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;top:.4em;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f4f1ef;font:bold 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}pre[id].linkable-line-numbers span.line-numbers-rows{pointer-events:all}pre[id].linkable-line-numbers span.line-numbers-rows>span:before{cursor:pointer}pre[id].linkable-line-numbers span.line-numbers-rows>span:hover:before{background-color:rgba(128,128,128,.2)}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/* PrismJS 1.28.0
|
|
2
|
-
https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+clike+erb+haml+markup-templating+ruby&plugins=line-highlight+highlight-keywords+normalize-whitespace */
|
|
3
|
-
var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(e){var n=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,r={},a={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof i?new i(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(n,t){var r,i;switch(t=t||{},a.util.type(n)){case"Object":if(i=a.util.objId(n),t[i])return t[i];for(var l in r={},t[i]=r,n)n.hasOwnProperty(l)&&(r[l]=e(n[l],t));return r;case"Array":return i=a.util.objId(n),t[i]?t[i]:(r=[],t[i]=r,n.forEach((function(n,a){r[a]=e(n,t)})),r);default:return n}},getLanguage:function(e){for(;e;){var t=n.exec(e.className);if(t)return t[1].toLowerCase();e=e.parentElement}return"none"},setLanguage:function(e,t){e.className=e.className.replace(RegExp(n,"gi"),""),e.classList.add("language-"+t)},currentScript:function(){if("undefined"==typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(r){var e=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(r.stack)||[])[1];if(e){var n=document.getElementsByTagName("script");for(var t in n)if(n[t].src==e)return n[t]}return null}},isActive:function(e,n,t){for(var r="no-"+n;e;){var a=e.classList;if(a.contains(n))return!0;if(a.contains(r))return!1;e=e.parentElement}return!!t}},languages:{plain:r,plaintext:r,text:r,txt:r,extend:function(e,n){var t=a.util.clone(a.languages[e]);for(var r in n)t[r]=n[r];return t},insertBefore:function(e,n,t,r){var i=(r=r||a.languages)[e],l={};for(var o in i)if(i.hasOwnProperty(o)){if(o==n)for(var s in t)t.hasOwnProperty(s)&&(l[s]=t[s]);t.hasOwnProperty(o)||(l[o]=i[o])}var u=r[e];return r[e]=l,a.languages.DFS(a.languages,(function(n,t){t===u&&n!=e&&(this[n]=l)})),l},DFS:function e(n,t,r,i){i=i||{};var l=a.util.objId;for(var o in n)if(n.hasOwnProperty(o)){t.call(n,o,n[o],r||o);var s=n[o],u=a.util.type(s);"Object"!==u||i[l(s)]?"Array"!==u||i[l(s)]||(i[l(s)]=!0,e(s,t,o,i)):(i[l(s)]=!0,e(s,t,null,i))}}},plugins:{},highlightAll:function(e,n){a.highlightAllUnder(document,e,n)},highlightAllUnder:function(e,n,t){var r={callback:t,container:e,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};a.hooks.run("before-highlightall",r),r.elements=Array.prototype.slice.apply(r.container.querySelectorAll(r.selector)),a.hooks.run("before-all-elements-highlight",r);for(var i,l=0;i=r.elements[l++];)a.highlightElement(i,!0===n,r.callback)},highlightElement:function(n,t,r){var i=a.util.getLanguage(n),l=a.languages[i];a.util.setLanguage(n,i);var o=n.parentElement;o&&"pre"===o.nodeName.toLowerCase()&&a.util.setLanguage(o,i);var s={element:n,language:i,grammar:l,code:n.textContent};function u(e){s.highlightedCode=e,a.hooks.run("before-insert",s),s.element.innerHTML=s.highlightedCode,a.hooks.run("after-highlight",s),a.hooks.run("complete",s),r&&r.call(s.element)}if(a.hooks.run("before-sanity-check",s),(o=s.element.parentElement)&&"pre"===o.nodeName.toLowerCase()&&!o.hasAttribute("tabindex")&&o.setAttribute("tabindex","0"),!s.code)return a.hooks.run("complete",s),void(r&&r.call(s.element));if(a.hooks.run("before-highlight",s),s.grammar)if(t&&e.Worker){var c=new Worker(a.filename);c.onmessage=function(e){u(e.data)},c.postMessage(JSON.stringify({language:s.language,code:s.code,immediateClose:!0}))}else u(a.highlight(s.code,s.grammar,s.language));else u(a.util.encode(s.code))},highlight:function(e,n,t){var r={code:e,grammar:n,language:t};if(a.hooks.run("before-tokenize",r),!r.grammar)throw new Error('The language "'+r.language+'" has no grammar.');return r.tokens=a.tokenize(r.code,r.grammar),a.hooks.run("after-tokenize",r),i.stringify(a.util.encode(r.tokens),r.language)},tokenize:function(e,n){var t=n.rest;if(t){for(var r in t)n[r]=t[r];delete n.rest}var a=new s;return u(a,a.head,e),o(e,a,n,a.head,0),function(e){for(var n=[],t=e.head.next;t!==e.tail;)n.push(t.value),t=t.next;return n}(a)},hooks:{all:{},add:function(e,n){var t=a.hooks.all;t[e]=t[e]||[],t[e].push(n)},run:function(e,n){var t=a.hooks.all[e];if(t&&t.length)for(var r,i=0;r=t[i++];)r(n)}},Token:i};function i(e,n,t,r){this.type=e,this.content=n,this.alias=t,this.length=0|(r||"").length}function l(e,n,t,r){e.lastIndex=n;var a=e.exec(t);if(a&&r&&a[1]){var i=a[1].length;a.index+=i,a[0]=a[0].slice(i)}return a}function o(e,n,t,r,s,g){for(var f in t)if(t.hasOwnProperty(f)&&t[f]){var h=t[f];h=Array.isArray(h)?h:[h];for(var d=0;d<h.length;++d){if(g&&g.cause==f+","+d)return;var v=h[d],p=v.inside,m=!!v.lookbehind,y=!!v.greedy,k=v.alias;if(y&&!v.pattern.global){var x=v.pattern.toString().match(/[imsuy]*$/)[0];v.pattern=RegExp(v.pattern.source,x+"g")}for(var b=v.pattern||v,w=r.next,A=s;w!==n.tail&&!(g&&A>=g.reach);A+=w.value.length,w=w.next){var E=w.value;if(n.length>e.length)return;if(!(E instanceof i)){var P,L=1;if(y){if(!(P=l(b,A,e,m))||P.index>=e.length)break;var S=P.index,O=P.index+P[0].length,j=A;for(j+=w.value.length;S>=j;)j+=(w=w.next).value.length;if(A=j-=w.value.length,w.value instanceof i)continue;for(var C=w;C!==n.tail&&(j<O||"string"==typeof C.value);C=C.next)L++,j+=C.value.length;L--,E=e.slice(A,j),P.index-=A}else if(!(P=l(b,0,E,m)))continue;S=P.index;var N=P[0],_=E.slice(0,S),M=E.slice(S+N.length),W=A+E.length;g&&W>g.reach&&(g.reach=W);var z=w.prev;if(_&&(z=u(n,z,_),A+=_.length),c(n,z,L),w=u(n,z,new i(f,p?a.tokenize(N,p):N,k,N)),M&&u(n,w,M),L>1){var I={cause:f+","+d,reach:W};o(e,n,t,w.prev,A,I),g&&I.reach>g.reach&&(g.reach=I.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function u(e,n,t){var r=n.next,a={value:t,prev:n,next:r};return n.next=a,r.prev=a,e.length++,a}function c(e,n,t){for(var r=n.next,a=0;a<t&&r!==e.tail;a++)r=r.next;n.next=r,r.prev=n,e.length-=a}if(e.Prism=a,i.stringify=function e(n,t){if("string"==typeof n)return n;if(Array.isArray(n)){var r="";return n.forEach((function(n){r+=e(n,t)})),r}var i={type:n.type,content:e(n.content,t),tag:"span",classes:["token",n.type],attributes:{},language:t},l=n.alias;l&&(Array.isArray(l)?Array.prototype.push.apply(i.classes,l):i.classes.push(l)),a.hooks.run("wrap",i);var o="";for(var s in i.attributes)o+=" "+s+'="'+(i.attributes[s]||"").replace(/"/g,""")+'"';return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+o+">"+i.content+"</"+i.tag+">"},!e.document)return e.addEventListener?(a.disableWorkerMessageHandler||e.addEventListener("message",(function(n){var t=JSON.parse(n.data),r=t.language,i=t.code,l=t.immediateClose;e.postMessage(a.highlight(i,a.languages[r],r)),l&&e.close()}),!1),a):a;var g=a.util.currentScript();function f(){a.manual||a.highlightAll()}if(g&&(a.filename=g.src,g.hasAttribute("data-manual")&&(a.manual=!0)),!a.manual){var h=document.readyState;"loading"===h||"interactive"===h&&g&&g.defer?document.addEventListener("DOMContentLoaded",f):window.requestAnimationFrame?window.requestAnimationFrame(f):window.setTimeout(f,16)}return a}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism);
|
|
4
|
-
Prism.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",(function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))})),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={};s["language-"+e]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^<!\[CDATA\[|\]\]>$/i;var t={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:s}};t["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var n={};n[a]={pattern:RegExp("(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[^])*?(?=</__>)".replace(/__/g,(function(){return a})),"i"),lookbehind:!0,greedy:!0,inside:t},Prism.languages.insertBefore("markup","cdata",n)}}),Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(a,e){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp("(^|[\"'\\s])(?:"+a+")\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))","i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[e,"language-"+e],inside:Prism.languages[e]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml;
|
|
5
|
-
Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};
|
|
6
|
-
!function(e){e.languages.ruby=e.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var n={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete e.languages.ruby.function;var t="(?:"+["([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1","\\((?:[^()\\\\]|\\\\[^]|\\((?:[^()\\\\]|\\\\[^])*\\))*\\)","\\{(?:[^{}\\\\]|\\\\[^]|\\{(?:[^{}\\\\]|\\\\[^])*\\})*\\}","\\[(?:[^\\[\\]\\\\]|\\\\[^]|\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\])*\\]","<(?:[^<>\\\\]|\\\\[^]|<(?:[^<>\\\\]|\\\\[^])*>)*>"].join("|")+")",i='(?:"(?:\\\\.|[^"\\\\\r\n])*"|(?:\\b[a-zA-Z_]\\w*|[^\\s\0-\\x7F]+)[?!]?|\\$.)';e.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp("%r"+t+"[egimnosux]{0,6}"),greedy:!0,inside:{interpolation:n,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:n,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp("(^|[^:]):"+i),lookbehind:!0,greedy:!0},{pattern:RegExp("([\r\n{(,][ \t]*)"+i+"(?=:(?!:))"),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp("%[qQiIwWs]?"+t),greedy:!0,inside:{interpolation:n,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:n,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:n,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp("%x"+t),greedy:!0,inside:{interpolation:n,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:n,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete e.languages.ruby.string,e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby}(Prism);
|
|
7
|
-
!function(e){function n(e,n){return"___"+e.toUpperCase()+n+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(t,a,r,o){if(t.language===a){var c=t.tokenStack=[];t.code=t.code.replace(r,(function(e){if("function"==typeof o&&!o(e))return e;for(var r,i=c.length;-1!==t.code.indexOf(r=n(a,i));)++i;return c[i]=e,r})),t.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(t,a){if(t.language===a&&t.tokenStack){t.grammar=e.languages[a];var r=0,o=Object.keys(t.tokenStack);!function c(i){for(var u=0;u<i.length&&!(r>=o.length);u++){var g=i[u];if("string"==typeof g||g.content&&"string"==typeof g.content){var l=o[r],s=t.tokenStack[l],f="string"==typeof g?g:g.content,p=n(a,l),k=f.indexOf(p);if(k>-1){++r;var m=f.substring(0,k),d=new e.Token(a,e.tokenize(s,t.grammar),"language-"+a,s),h=f.substring(k+p.length),v=[];m&&v.push.apply(v,c([m])),v.push(d),h&&v.push.apply(v,c([h])),"string"==typeof g?i.splice.apply(i,[u,1].concat(v)):g.content=v}}else g.content&&c(g.content)}return i}(t.tokens)}}}})}(Prism);
|
|
8
|
-
!function(e){e.languages.erb={delimiter:{pattern:/^(\s*)<%=?|%>(?=\s*$)/,lookbehind:!0,alias:"punctuation"},ruby:{pattern:/\s*\S[\s\S]*/,alias:"language-ruby",inside:e.languages.ruby}},e.hooks.add("before-tokenize",(function(n){e.languages["markup-templating"].buildPlaceholders(n,"erb",/<%=?(?:[^\r\n]|[\r\n](?!=begin)|[\r\n]=begin\s(?:[^\r\n]|[\r\n](?!=end))*[\r\n]=end)+?%>/g)})),e.hooks.add("after-tokenize",(function(n){e.languages["markup-templating"].tokenizePlaceholders(n,"erb")}))}(Prism);
|
|
9
|
-
!function(n){n.languages.haml={"multiline-comment":{pattern:/((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*(?:(?:\r?\n|\r)\2[\t ].+)*/,lookbehind:!0,alias:"comment"},"multiline-code":[{pattern:/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*(?:(?:\r?\n|\r)\2[\t ].*,[\t ]*)*(?:(?:\r?\n|\r)\2[\t ].+)/,lookbehind:!0,inside:n.languages.ruby},{pattern:/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*(?:(?:\r?\n|\r)\2[\t ].*\|[\t ]*)*/,lookbehind:!0,inside:n.languages.ruby}],filter:{pattern:/((?:^|\r?\n|\r)([\t ]*)):[\w-]+(?:(?:\r?\n|\r)(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/,lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"symbol"}}},markup:{pattern:/((?:^|\r?\n|\r)[\t ]*)<.+/,lookbehind:!0,inside:n.languages.markup},doctype:{pattern:/((?:^|\r?\n|\r)[\t ]*)!!!(?: .+)?/,lookbehind:!0},tag:{pattern:/((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^{}])+\}|\[[^\]]+\])*[\/<>]*/,lookbehind:!0,inside:{attributes:[{pattern:/(^|[^#])\{(?:\{[^}]+\}|[^{}])+\}/,lookbehind:!0,inside:n.languages.ruby},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*)(?:"(?:\\.|[^\\"\r\n])*"|[^)\s]+)/,lookbehind:!0},"attr-name":/[\w:-]+(?=\s*!?=|\s*[,)])/,punctuation:/[=(),]/}},{pattern:/\[[^\]]+\]/,inside:n.languages.ruby}],punctuation:/[<>]/}},code:{pattern:/((?:^|\r?\n|\r)[\t ]*(?:[~-]|[&!]?=)).+/,lookbehind:!0,inside:n.languages.ruby},interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},ruby:{pattern:/[\s\S]+/,inside:n.languages.ruby}}},punctuation:{pattern:/((?:^|\r?\n|\r)[\t ]*)[~=\-&!]+/,lookbehind:!0}};for(var e=["css",{filter:"coffee",language:"coffeescript"},"erb","javascript","less","markdown","ruby","scss","textile"],t={},r=0,a=e.length;r<a;r++){var i=e[r];i="string"==typeof i?{filter:i,language:i}:i,n.languages[i.language]&&(t["filter-"+i.filter]={pattern:RegExp("((?:^|\\r?\\n|\\r)([\\t ]*)):{{filter_name}}(?:(?:\\r?\\n|\\r)(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+".replace("{{filter_name}}",(function(){return i.filter}))),lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"symbol"},text:{pattern:/[\s\S]+/,alias:[i.language,"language-"+i.language],inside:n.languages[i.language]}}})}n.languages.insertBefore("haml","filter",t)}(Prism);
|
|
10
|
-
!function(){if("undefined"!=typeof Prism&&"undefined"!=typeof document&&document.querySelector){var e,t="line-numbers",i="linkable-line-numbers",n=/\n(?!$)/g,r=!0;Prism.plugins.lineHighlight={highlightLines:function(o,u,c){var h=(u="string"==typeof u?u:o.getAttribute("data-line")||"").replace(/\s+/g,"").split(",").filter(Boolean),d=+o.getAttribute("data-line-offset")||0,f=(function(){if(void 0===e){var t=document.createElement("div");t.style.fontSize="13px",t.style.lineHeight="1.5",t.style.padding="0",t.style.border="0",t.innerHTML=" <br /> ",document.body.appendChild(t),e=38===t.offsetHeight,document.body.removeChild(t)}return e}()?parseInt:parseFloat)(getComputedStyle(o).lineHeight),p=Prism.util.isActive(o,t),g=o.querySelector("code"),m=p?o:g||o,v=[],y=g.textContent.match(n),b=y?y.length+1:1,A=g&&m!=g?function(e,t){var i=getComputedStyle(e),n=getComputedStyle(t);function r(e){return+e.substr(0,e.length-2)}return t.offsetTop+r(n.borderTopWidth)+r(n.paddingTop)-r(i.paddingTop)}(o,g):0;h.forEach((function(e){var t=e.split("-"),i=+t[0],n=+t[1]||i;if(!((n=Math.min(b,n))<i)){var r=o.querySelector('.line-highlight[data-range="'+e+'"]')||document.createElement("div");if(v.push((function(){r.setAttribute("aria-hidden","true"),r.setAttribute("data-range",e),r.className=(c||"")+" line-highlight"})),p&&Prism.plugins.lineNumbers){var s=Prism.plugins.lineNumbers.getLine(o,i),l=Prism.plugins.lineNumbers.getLine(o,n);if(s){var a=s.offsetTop+A+"px";v.push((function(){r.style.top=a}))}if(l){var u=l.offsetTop-s.offsetTop+l.offsetHeight+"px";v.push((function(){r.style.height=u}))}}else v.push((function(){r.setAttribute("data-start",String(i)),n>i&&r.setAttribute("data-end",String(n)),r.style.top=(i-d-1)*f+A+"px",r.textContent=new Array(n-i+2).join(" \n")}));v.push((function(){r.style.width=o.scrollWidth+"px"})),v.push((function(){m.appendChild(r)}))}}));var P=o.id;if(p&&Prism.util.isActive(o,i)&&P){l(o,i)||v.push((function(){o.classList.add(i)}));var E=parseInt(o.getAttribute("data-start")||"1");s(".line-numbers-rows > span",o).forEach((function(e,t){var i=t+E;e.onclick=function(){var e=P+"."+i;r=!1,location.hash=e,setTimeout((function(){r=!0}),1)}}))}return function(){v.forEach(a)}}};var o=0;Prism.hooks.add("before-sanity-check",(function(e){var t=e.element.parentElement;if(u(t)){var i=0;s(".line-highlight",t).forEach((function(e){i+=e.textContent.length,e.parentNode.removeChild(e)})),i&&/^(?: \n)+$/.test(e.code.slice(-i))&&(e.code=e.code.slice(0,-i))}})),Prism.hooks.add("complete",(function e(i){var n=i.element.parentElement;if(u(n)){clearTimeout(o);var r=Prism.plugins.lineNumbers,s=i.plugins&&i.plugins.lineNumbers;l(n,t)&&r&&!s?Prism.hooks.add("line-numbers",e):(Prism.plugins.lineHighlight.highlightLines(n)(),o=setTimeout(c,1))}})),window.addEventListener("hashchange",c),window.addEventListener("resize",(function(){s("pre").filter(u).map((function(e){return Prism.plugins.lineHighlight.highlightLines(e)})).forEach(a)}))}function s(e,t){return Array.prototype.slice.call((t||document).querySelectorAll(e))}function l(e,t){return e.classList.contains(t)}function a(e){e()}function u(e){return!!(e&&/pre/i.test(e.nodeName)&&(e.hasAttribute("data-line")||e.id&&Prism.util.isActive(e,i)))}function c(){var e=location.hash.slice(1);s(".temporary.line-highlight").forEach((function(e){e.parentNode.removeChild(e)}));var t=(e.match(/\.([\d,-]+)$/)||[,""])[1];if(t&&!document.getElementById(e)){var i=e.slice(0,e.lastIndexOf(".")),n=document.getElementById(i);n&&(n.hasAttribute("data-line")||n.setAttribute("data-line",""),Prism.plugins.lineHighlight.highlightLines(n,t,"temporary ")(),r&&document.querySelector(".temporary.line-highlight").scrollIntoView())}}}();
|
|
11
|
-
"undefined"!=typeof Prism&&Prism.hooks.add("wrap",(function(e){"keyword"===e.type&&e.classes.push("keyword-"+e.content)}));
|
|
12
|
-
!function(){if("undefined"!=typeof Prism){var e=Object.assign||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e},t={"remove-trailing":"boolean","remove-indent":"boolean","left-trim":"boolean","right-trim":"boolean","break-lines":"number",indent:"number","remove-initial-line-feed":"boolean","tabs-to-spaces":"number","spaces-to-tabs":"number"};n.prototype={setDefaults:function(t){this.defaults=e(this.defaults,t)},normalize:function(t,n){for(var r in n=e(this.defaults,n)){var i=r.replace(/-(\w)/g,(function(e,t){return t.toUpperCase()}));"normalize"!==r&&"setDefaults"!==i&&n[r]&&this[i]&&(t=this[i].call(this,t,n[r]))}return t},leftTrim:function(e){return e.replace(/^\s+/,"")},rightTrim:function(e){return e.replace(/\s+$/,"")},tabsToSpaces:function(e,t){return t=0|t||4,e.replace(/\t/g,new Array(++t).join(" "))},spacesToTabs:function(e,t){return t=0|t||4,e.replace(RegExp(" {"+t+"}","g"),"\t")},removeTrailing:function(e){return e.replace(/\s*?$/gm,"")},removeInitialLineFeed:function(e){return e.replace(/^(?:\r?\n|\r)/,"")},removeIndent:function(e){var t=e.match(/^[^\S\n\r]*(?=\S)/gm);return t&&t[0].length?(t.sort((function(e,t){return e.length-t.length})),t[0].length?e.replace(RegExp("^"+t[0],"gm"),""):e):e},indent:function(e,t){return e.replace(/^[^\S\n\r]*(?=\S)/gm,new Array(++t).join("\t")+"$&")},breakLines:function(e,t){t=!0===t?80:0|t||80;for(var n=e.split("\n"),i=0;i<n.length;++i)if(!(r(n[i])<=t)){for(var o=n[i].split(/(\s+)/g),a=0,l=0;l<o.length;++l){var s=r(o[l]);(a+=s)>t&&(o[l]="\n"+o[l],a=s)}n[i]=o.join("")}return n.join("\n")}},"undefined"!=typeof module&&module.exports&&(module.exports=n),Prism.plugins.NormalizeWhitespace=new n({"remove-trailing":!0,"remove-indent":!0,"left-trim":!0,"right-trim":!0}),Prism.hooks.add("before-sanity-check",(function(e){var n=Prism.plugins.NormalizeWhitespace;if((!e.settings||!1!==e.settings["whitespace-normalization"])&&Prism.util.isActive(e.element,"whitespace-normalization",!0))if(e.element&&e.element.parentNode||!e.code){var r=e.element.parentNode;if(e.code&&r&&"pre"===r.nodeName.toLowerCase()){for(var i in null==e.settings&&(e.settings={}),t)if(Object.hasOwnProperty.call(t,i)){var o=t[i];if(r.hasAttribute("data-"+i))try{var a=JSON.parse(r.getAttribute("data-"+i)||"true");typeof a===o&&(e.settings[i]=a)}catch(e){}}for(var l=r.childNodes,s="",c="",u=!1,m=0;m<l.length;++m){var f=l[m];f==e.element?u=!0:"#text"===f.nodeName&&(u?c+=f.nodeValue:s+=f.nodeValue,r.removeChild(f),--m)}if(e.element.children.length&&Prism.plugins.KeepMarkup){var d=s+e.element.innerHTML+c;e.element.innerHTML=n.normalize(d,e.settings),e.code=e.element.textContent}else e.code=s+e.code+c,e.code=n.normalize(e.code,e.settings)}}else e.code=n.normalize(e.code,e.settings)}))}function n(t){this.defaults=e({},t)}function r(e){for(var t=0,n=0;n<e.length;++n)e.charCodeAt(n)=="\t".charCodeAt(0)&&(t+=3);return e.length+t}}();
|