playbook_ui 8.4.0.alpha.dependencies.2 → 9.2.2.pre.alpha.margin

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -18
  3. data/app/pb_kits/playbook/data/menu.yml +2 -3
  4. data/app/pb_kits/playbook/pb_avatar/_avatar.scss +0 -3
  5. data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +7 -0
  6. data/app/pb_kits/playbook/pb_dialog/dialog_header.rb +23 -24
  7. data/app/pb_kits/playbook/pb_form/docs/_description.md +2 -6
  8. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +1 -1
  9. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -4
  10. data/app/pb_kits/playbook/pb_form/docs/example.yml +2 -4
  11. data/app/pb_kits/playbook/pb_form/form.rb +14 -20
  12. data/app/pb_kits/playbook/pb_highlight/_highlight.jsx +1 -1
  13. data/app/pb_kits/playbook/pb_highlight/highlight.html.erb +3 -1
  14. data/app/pb_kits/playbook/pb_icon_stat_value/_icon_stat_value.jsx +3 -0
  15. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.html.erb +1 -0
  16. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.jsx +1 -1
  17. data/app/pb_kits/playbook/pb_progress_pills/docs/_description.md +3 -1
  18. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_default.html.erb +1 -1
  19. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_default.jsx +1 -0
  20. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_status.html.erb +1 -1
  21. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_status.jsx +1 -0
  22. data/app/pb_kits/playbook/pb_progress_pills/progress_pills.html.erb +1 -1
  23. data/app/pb_kits/playbook/pb_progress_pills/progress_pills.rb +5 -0
  24. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +69 -54
  25. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.jsx +2 -1
  26. data/app/pb_kits/playbook/pb_select/_select.jsx +10 -1
  27. data/app/pb_kits/playbook/pb_select/_select.scss +35 -28
  28. data/app/pb_kits/playbook/pb_select/docs/_select_custom_select.jsx +4 -1
  29. data/app/pb_kits/playbook/pb_select/select.rb +5 -1
  30. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +1 -1
  31. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_input.jsx +145 -135
  32. data/app/pb_kits/playbook/pb_stat_value/_stat_value.jsx +2 -0
  33. data/app/pb_kits/playbook/pb_stat_value/stat_value.html.erb +2 -0
  34. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +17 -18
  35. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +29 -19
  36. data/app/pb_kits/playbook/pb_textarea/_textarea_mixin.scss +9 -4
  37. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_character_counter.jsx +5 -1
  38. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_custom.jsx +4 -2
  39. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +20 -14
  40. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.jsx +1 -0
  41. data/app/pb_kits/playbook/tokens/_colors.scss +1 -1
  42. data/lib/playbook.rb +4 -1
  43. data/lib/playbook/forms.rb +3 -0
  44. data/lib/playbook/forms/builder.rb +31 -0
  45. data/{app/pb_kits/playbook/pb_form/form_builder → lib/playbook/forms/builder}/action_area.rb +2 -2
  46. data/lib/playbook/forms/builder/checkbox_field.rb +32 -0
  47. data/lib/playbook/forms/builder/collection_select_field.rb +19 -0
  48. data/lib/playbook/forms/builder/date_picker_field.rb +37 -0
  49. data/{app/pb_kits/playbook/pb_form/form_builder → lib/playbook/forms/builder}/form_field_builder.rb +2 -2
  50. data/lib/playbook/forms/builder/select_field.rb +19 -0
  51. data/lib/playbook/forms/builder/typeahead_field.rb +12 -0
  52. data/lib/playbook/pb_forms_helper.rb +41 -0
  53. data/lib/playbook/pb_kit_helper.rb +2 -0
  54. data/lib/playbook/props/base.rb +1 -1
  55. data/lib/playbook/version.rb +1 -2
  56. metadata +88 -59
  57. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +0 -60
  58. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb +0 -61
  59. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.md +0 -1
  60. data/app/pb_kits/playbook/pb_form/form_builder.rb +0 -31
  61. data/app/pb_kits/playbook/pb_form/form_builder/checkbox_field.rb +0 -34
  62. data/app/pb_kits/playbook/pb_form/form_builder/collection_select_field.rb +0 -21
  63. data/app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb +0 -39
  64. data/app/pb_kits/playbook/pb_form/form_builder/select_field.rb +0 -21
  65. data/app/pb_kits/playbook/pb_form/form_builder/typeahead_field.rb +0 -14
  66. data/app/pb_kits/playbook/pb_form/form_with.html.erb +0 -11
  67. data/app/pb_kits/playbook/pb_form/form_with.rb +0 -40
  68. data/app/pb_kits/playbook/pb_form/simple_form.html.erb +0 -11
  69. data/app/pb_kits/playbook/pb_form/simple_form.rb +0 -67
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Playbook
4
- module PbForm
5
- module FormBuilder
4
+ module Forms
5
+ class Builder
6
6
  class ActionArea
7
7
  def initialize(view_context, submit_default_value)
8
8
  self.view_context = view_context
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Playbook
4
+ module Forms
5
+ class Builder
6
+ def check_box(name, props: {}, **options)
7
+ label_text = @template.label(@object_name, name) if props[:label] == true
8
+ options[:required] = true if props[:required]
9
+ props[:margin_bottom] = "sm"
10
+ props[:form_spacing] = true
11
+
12
+ checked_value = options[:checked_value]
13
+ unchecked_value = options[:unchecked_value]
14
+ options.delete(:checked_value)
15
+ options.delete(:unchecked_value)
16
+
17
+ input = super(name, options, checked_value, unchecked_value)
18
+
19
+ if props[:label]
20
+ @template.pb_rails("caption", props: { text: label_text, margin_bottom: "xs" }) +
21
+ @template.pb_rails("checkbox", props: props) do
22
+ input
23
+ end
24
+ else
25
+ @template.pb_rails("checkbox", props: props) do
26
+ input
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Playbook
4
+ module Forms
5
+ class Builder
6
+ def collection_select(name, collection, value_method, text_method, options = {}, html_options = {}, props: {} )
7
+ props[:label] = @template.label(@object_name, name) if props[:label] == true
8
+ options[:skip_default_ids] = false unless options.has_key?(:skip_default_ids)
9
+ options[:prompt] = props[:blank_selection] || ""
10
+ html_options[:required] = "required" if props[:required]
11
+ input = super(name, collection, value_method, text_method, options, html_options)
12
+
13
+ @template.pb_rails("select", props: props) do
14
+ input
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Playbook
4
+ module Forms
5
+ class Builder
6
+ def date_picker(name, props: {})
7
+ prefix = @object_name
8
+ html_attribute_name = "#{prefix}[#{name}]"
9
+ html_id = "#{prefix}_#{name}"
10
+
11
+ props[:label] = @template.label(@object_name, name) if props[:label] == true
12
+ props[:label] = "Date Picker" if props[:label].nil?
13
+
14
+ props[:name] = html_attribute_name
15
+ props[:picker_id] = html_id
16
+
17
+ input = text_field(
18
+ name,
19
+ autocomplete: "off",
20
+ disabled: props[:disable_input],
21
+ data: props[:input_data],
22
+ aria: props[:input_aria],
23
+ props: {
24
+ error: props[:error],
25
+ label: props[:hide_label] ? nil : props[:label],
26
+ placeholder: props[:placeholder],
27
+ required: props[:required],
28
+ }
29
+ )
30
+
31
+ @template.pb_rails("date_picker", props: props) do
32
+ input
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Playbook
4
- module PbForm
5
- module FormBuilder
4
+ module Forms
5
+ class Builder
6
6
  class FormFieldBuilder < Module
7
7
  def initialize(method_name, kit_name:)
8
8
  define_method method_name do |name, props: {}, **options, &block|
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Playbook
4
+ module Forms
5
+ class Builder
6
+ def select(name, choices = nil, options = {}, html_options = {}, props: {}, &block)
7
+ props[:label] = @template.label(@object_name, name) if props[:label] == true
8
+ options[:skip_default_ids] = false unless options.has_key?(:skip_default_ids)
9
+ options[:prompt] = props[:blank_selection] || ""
10
+ html_options[:required] = "required" if props[:required]
11
+ input = super(name, choices, options, html_options, &block)
12
+
13
+ @template.pb_rails("select", props: props) do
14
+ input
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Playbook
4
+ module Forms
5
+ class Builder
6
+ def typeahead(name, _options = {}, _html_options = {}, props: {})
7
+ props[:name] = name
8
+ @template.pb_rails("typeahead", props: props)
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Playbook
4
+ module PbFormsHelper
5
+ # Renders a pb form with ::Playbook::Forms::Builder, that can render
6
+ # Playbook kits in the most railsie way.
7
+ #
8
+ # I.e.:
9
+ #
10
+ # pb_form_with model: @user do |f|
11
+ # f.text_field :name
12
+ # end
13
+ #
14
+ # The form can also validate the fields, and trigger the validation automatically:
15
+ #
16
+ # I.e.:
17
+ #
18
+ # pb_form_with model: @user, validate: true do |f|
19
+ # f.text_field :name, required: true
20
+ # end
21
+ #
22
+ # @param data [Hash] hash of data attributes
23
+ # @param validate [Boolean] whether validation should be triggered or not
24
+ # @see [#form_with] for other options
25
+ def pb_form_with(data: {}, validate: false, **kwargs, &block)
26
+ data = data.merge("pb-form-validation" => validate)
27
+ classname = ["pb-form", kwargs[:class]].join(" ")
28
+ options = kwargs.merge(
29
+ class: classname,
30
+ data: data,
31
+ builder: ::Playbook::Forms::Builder
32
+ )
33
+
34
+ content_for(:pb_js, javascript_tag(<<~JS))
35
+ window.addEventListener("DOMContentLoaded", function() { PbFormValidation.start() })
36
+ JS
37
+
38
+ form_with(**options, &block)
39
+ end
40
+ end
41
+ end
@@ -2,6 +2,8 @@
2
2
 
3
3
  module Playbook
4
4
  module PbKitHelper
5
+ include ::Playbook::PbFormsHelper
6
+
5
7
  def pb_rails(kit_name, props: {}, &block)
6
8
  kit = Playbook::KitResolver.resolve(kit_name.to_s)
7
9
  render_component kit.new(props, &block), &block
@@ -20,7 +20,7 @@ module Playbook
20
20
  end
21
21
 
22
22
  def validate!(input_value)
23
- warn("#{kit} Kit: The prop '#{name}' is deprecated and will be removed in a future release!") if deprecated #TODO: add some color for pop
23
+ warn("#{kit} Kit: The prop '#{name}' is deprecated and will be removed in a future release!") if deprecated && input_value #TODO: add some color for pop
24
24
 
25
25
  raise(Playbook::Props::Error, "#{kit} prop '#{name}' of type #{inspect.class} is required and needs a value") if required && input_value.nil?
26
26
 
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Playbook
4
- VERSION = "8.4.0.alpha.dependencies.2"
4
+ VERSION = "9.2.2.pre.alpha.margin"
5
5
  end
6
-
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playbook_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.4.0.alpha.dependencies.2
4
+ version: 9.2.2.pre.alpha.margin
5
5
  platform: ruby
6
6
  authors:
7
7
  - Power UX
@@ -9,15 +9,55 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-03-18 00:00:00.000000000 Z
12
+ date: 2021-04-08 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: actionpack
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: 5.2.4.4
21
+ - - "<"
22
+ - !ruby/object:Gem::Version
23
+ version: '7.0'
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ version: 5.2.4.4
31
+ - - "<"
32
+ - !ruby/object:Gem::Version
33
+ version: '7.0'
34
+ - !ruby/object:Gem::Dependency
35
+ name: actionview
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 5.2.4.4
41
+ - - "<"
42
+ - !ruby/object:Gem::Version
43
+ version: '7.0'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 5.2.4.4
51
+ - - "<"
52
+ - !ruby/object:Gem::Version
53
+ version: '7.0'
14
54
  - !ruby/object:Gem::Dependency
15
55
  name: activesupport
16
56
  requirement: !ruby/object:Gem::Requirement
17
57
  requirements:
18
58
  - - ">="
19
59
  - !ruby/object:Gem::Version
20
- version: 5.1.6
60
+ version: 5.2.4.4
21
61
  - - "<"
22
62
  - !ruby/object:Gem::Version
23
63
  version: '7.0'
@@ -27,7 +67,7 @@ dependencies:
27
67
  requirements:
28
68
  - - ">="
29
69
  - !ruby/object:Gem::Version
30
- version: 5.1.6
70
+ version: 5.2.4.4
31
71
  - - "<"
32
72
  - !ruby/object:Gem::Version
33
73
  version: '7.0'
@@ -87,6 +127,34 @@ dependencies:
87
127
  - - '='
88
128
  - !ruby/object:Gem::Version
89
129
  version: 1.3.0
130
+ - !ruby/object:Gem::Dependency
131
+ name: slim-rails
132
+ requirement: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - '='
135
+ - !ruby/object:Gem::Version
136
+ version: 3.2.0
137
+ type: :runtime
138
+ prerelease: false
139
+ version_requirements: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - '='
142
+ - !ruby/object:Gem::Version
143
+ version: 3.2.0
144
+ - !ruby/object:Gem::Dependency
145
+ name: sprockets-rails
146
+ requirement: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - '='
149
+ - !ruby/object:Gem::Version
150
+ version: 2.3.3
151
+ type: :runtime
152
+ prerelease: false
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - '='
156
+ - !ruby/object:Gem::Version
157
+ version: 2.3.3
90
158
  - !ruby/object:Gem::Dependency
91
159
  name: view_component
92
160
  requirement: !ruby/object:Gem::Requirement
@@ -234,53 +302,33 @@ dependencies:
234
302
  - !ruby/object:Gem::Version
235
303
  version: 3.8.0
236
304
  - !ruby/object:Gem::Dependency
237
- name: rubocop
305
+ name: rspec-html-matchers
238
306
  requirement: !ruby/object:Gem::Requirement
239
307
  requirements:
240
308
  - - '='
241
309
  - !ruby/object:Gem::Version
242
- version: 0.81.0
310
+ version: 0.9.1
243
311
  type: :development
244
312
  prerelease: false
245
313
  version_requirements: !ruby/object:Gem::Requirement
246
314
  requirements:
247
315
  - - '='
248
316
  - !ruby/object:Gem::Version
249
- version: 0.81.0
250
- - !ruby/object:Gem::Dependency
251
- name: simple_form
252
- requirement: !ruby/object:Gem::Requirement
253
- requirements:
254
- - - ">="
255
- - !ruby/object:Gem::Version
256
- version: 5.0.1
257
- - - "<"
258
- - !ruby/object:Gem::Version
259
- version: 6.0.0
260
- type: :development
261
- prerelease: false
262
- version_requirements: !ruby/object:Gem::Requirement
263
- requirements:
264
- - - ">="
265
- - !ruby/object:Gem::Version
266
- version: 5.0.1
267
- - - "<"
268
- - !ruby/object:Gem::Version
269
- version: 6.0.0
317
+ version: 0.9.1
270
318
  - !ruby/object:Gem::Dependency
271
- name: slim-rails
319
+ name: rubocop
272
320
  requirement: !ruby/object:Gem::Requirement
273
321
  requirements:
274
322
  - - '='
275
323
  - !ruby/object:Gem::Version
276
- version: 3.2.0
324
+ version: 0.81.0
277
325
  type: :development
278
326
  prerelease: false
279
327
  version_requirements: !ruby/object:Gem::Requirement
280
328
  requirements:
281
329
  - - '='
282
330
  - !ruby/object:Gem::Version
283
- version: 3.2.0
331
+ version: 0.81.0
284
332
  - !ruby/object:Gem::Dependency
285
333
  name: spring
286
334
  requirement: !ruby/object:Gem::Requirement
@@ -309,20 +357,6 @@ dependencies:
309
357
  - - '='
310
358
  - !ruby/object:Gem::Version
311
359
  version: 2.0.1
312
- - !ruby/object:Gem::Dependency
313
- name: sprockets-rails
314
- requirement: !ruby/object:Gem::Requirement
315
- requirements:
316
- - - '='
317
- - !ruby/object:Gem::Version
318
- version: 2.3.3
319
- type: :development
320
- prerelease: false
321
- version_requirements: !ruby/object:Gem::Requirement
322
- requirements:
323
- - - '='
324
- - !ruby/object:Gem::Version
325
- version: 2.3.3
326
360
  - !ruby/object:Gem::Dependency
327
361
  name: tzinfo-data
328
362
  requirement: !ruby/object:Gem::Requirement
@@ -959,24 +993,9 @@ files:
959
993
  - app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb
960
994
  - app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb
961
995
  - app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.md
962
- - app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb
963
- - app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb
964
- - app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.md
965
996
  - app/pb_kits/playbook/pb_form/docs/example.yml
966
997
  - app/pb_kits/playbook/pb_form/form.rb
967
- - app/pb_kits/playbook/pb_form/form_builder.rb
968
- - app/pb_kits/playbook/pb_form/form_builder/action_area.rb
969
- - app/pb_kits/playbook/pb_form/form_builder/checkbox_field.rb
970
- - app/pb_kits/playbook/pb_form/form_builder/collection_select_field.rb
971
- - app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb
972
- - app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
973
- - app/pb_kits/playbook/pb_form/form_builder/select_field.rb
974
- - app/pb_kits/playbook/pb_form/form_builder/typeahead_field.rb
975
- - app/pb_kits/playbook/pb_form/form_with.html.erb
976
- - app/pb_kits/playbook/pb_form/form_with.rb
977
998
  - app/pb_kits/playbook/pb_form/pb_form_validation.js
978
- - app/pb_kits/playbook/pb_form/simple_form.html.erb
979
- - app/pb_kits/playbook/pb_form/simple_form.rb
980
999
  - app/pb_kits/playbook/pb_form_group/_form_group.jsx
981
1000
  - app/pb_kits/playbook/pb_form_group/_form_group.scss
982
1001
  - app/pb_kits/playbook/pb_form_group/docs/_form_group_button.html.erb
@@ -2034,12 +2053,22 @@ files:
2034
2053
  - lib/playbook.rb
2035
2054
  - lib/playbook/classnames.rb
2036
2055
  - lib/playbook/engine.rb
2056
+ - lib/playbook/forms.rb
2057
+ - lib/playbook/forms/builder.rb
2058
+ - lib/playbook/forms/builder/action_area.rb
2059
+ - lib/playbook/forms/builder/checkbox_field.rb
2060
+ - lib/playbook/forms/builder/collection_select_field.rb
2061
+ - lib/playbook/forms/builder/date_picker_field.rb
2062
+ - lib/playbook/forms/builder/form_field_builder.rb
2063
+ - lib/playbook/forms/builder/select_field.rb
2064
+ - lib/playbook/forms/builder/typeahead_field.rb
2037
2065
  - lib/playbook/kit_base.rb
2038
2066
  - lib/playbook/kit_resolver.rb
2039
2067
  - lib/playbook/markdown.rb
2040
2068
  - lib/playbook/markdown/helper.rb
2041
2069
  - lib/playbook/markdown/template_handler.rb
2042
2070
  - lib/playbook/pb_doc_helper.rb
2071
+ - lib/playbook/pb_forms_helper.rb
2043
2072
  - lib/playbook/pb_kit_helper.rb
2044
2073
  - lib/playbook/props.rb
2045
2074
  - lib/playbook/props/array.rb