playbook_ui 7.7.0 → 7.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/{sample_screenshot.svg → full_page_samples.svg} +0 -0
  3. data/app/pb_kits/playbook/_playbook.scss +3 -1
  4. data/app/pb_kits/playbook/data/menu.yml +3 -0
  5. data/app/pb_kits/playbook/index.js +4 -1
  6. data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +1 -1
  7. data/app/pb_kits/playbook/pb_avatar/avatar.test.js +27 -0
  8. data/app/pb_kits/playbook/pb_filter/Filter/CurrentFilters.jsx +8 -2
  9. data/app/pb_kits/playbook/pb_filter/Filter/FilterBackground.jsx +9 -2
  10. data/app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx +17 -6
  11. data/app/pb_kits/playbook/pb_filter/Filter/FilterSingle.jsx +15 -5
  12. data/app/pb_kits/playbook/pb_filter/Filter/FiltersPopover.jsx +2 -1
  13. data/app/pb_kits/playbook/pb_filter/Filter/ResultsCount.jsx +4 -1
  14. data/app/pb_kits/playbook/pb_filter/Filter/SortMenu.jsx +9 -4
  15. data/app/pb_kits/playbook/pb_filter/Filter/index.jsx +0 -1
  16. data/app/pb_kits/playbook/pb_filter/_filter.scss +44 -23
  17. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.html.erb +3 -2
  18. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.jsx +5 -4
  19. data/app/pb_kits/playbook/pb_filter/docs/_filter_no_background.html.erb +6 -4
  20. data/app/pb_kits/playbook/pb_filter/docs/_filter_no_background.jsx +73 -28
  21. data/app/pb_kits/playbook/pb_filter/docs/_filter_only.jsx +3 -7
  22. data/app/pb_kits/playbook/pb_filter/docs/_filter_single.jsx +4 -3
  23. data/app/pb_kits/playbook/pb_filter/docs/_sort_only.html.erb +1 -2
  24. data/app/pb_kits/playbook/pb_filter/docs/_sort_only.jsx +3 -3
  25. data/app/pb_kits/playbook/pb_filter/docs/example.yml +4 -5
  26. data/app/pb_kits/playbook/pb_form_group/_form_group.html.erb +7 -0
  27. data/app/pb_kits/playbook/pb_form_group/_form_group.jsx +41 -0
  28. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +123 -0
  29. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_button.html.erb +12 -0
  30. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_button.jsx +39 -0
  31. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_date_picker.html.erb +6 -0
  32. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_date_picker.jsx +21 -0
  33. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_default.html.erb +7 -0
  34. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_default.jsx +26 -0
  35. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_select.html.erb +19 -0
  36. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_select.jsx +35 -0
  37. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_selectable_card.html.erb +21 -0
  38. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_selectable_card.jsx +42 -0
  39. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_selectable_card_icon.html.erb +19 -0
  40. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_selectable_card_icon.jsx +35 -0
  41. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_typeahead.html.erb +42 -0
  42. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_typeahead.jsx +31 -0
  43. data/app/pb_kits/playbook/pb_form_group/docs/example.yml +20 -0
  44. data/app/pb_kits/playbook/pb_form_group/docs/index.js +7 -0
  45. data/app/pb_kits/playbook/pb_form_group/form_group.rb +15 -0
  46. data/app/pb_kits/playbook/pb_icon_stat_value/_icon_stat_value.html.erb +24 -0
  47. data/app/pb_kits/playbook/pb_icon_stat_value/_icon_stat_value.jsx +105 -0
  48. data/app/pb_kits/playbook/pb_icon_stat_value/_icon_stat_value.scss +64 -0
  49. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_color.html.erb +49 -0
  50. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_color.jsx +67 -0
  51. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_default.html.erb +11 -0
  52. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_default.jsx +25 -0
  53. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_sizes.html.erb +20 -0
  54. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_sizes.jsx +35 -0
  55. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_vertical.html.erb +7 -0
  56. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_vertical.jsx +19 -0
  57. data/app/pb_kits/playbook/pb_icon_stat_value/docs/example.yml +15 -0
  58. data/app/pb_kits/playbook/pb_icon_stat_value/docs/index.js +4 -0
  59. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.rb +52 -0
  60. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.html.erb +1 -0
  61. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.jsx +123 -0
  62. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +216 -0
  63. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_default.html.erb +1 -0
  64. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_default.jsx +10 -0
  65. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_focus.html.erb +3 -0
  66. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_focus.jsx +11 -0
  67. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_simple.html.erb +1 -0
  68. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_simple.jsx +10 -0
  69. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_sticky.html.erb +1 -0
  70. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_sticky.jsx +14 -0
  71. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_templates.html.erb +115 -0
  72. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_templates.jsx +39 -0
  73. data/app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml +15 -0
  74. data/app/pb_kits/playbook/pb_rich_text_editor/docs/index.js +5 -0
  75. data/app/pb_kits/playbook/pb_rich_text_editor/docs/templates.js +75 -0
  76. data/app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor.rb +55 -0
  77. data/app/pb_kits/playbook/pb_rich_text_editor/useFocus.js +20 -0
  78. data/app/pb_kits/playbook/pb_table/_table.scss +45 -13
  79. data/app/pb_kits/playbook/pb_table/docs/_description.md +1 -0
  80. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_column.html.erb +34 -0
  81. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_column.jsx +43 -0
  82. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_column.md +2 -0
  83. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_row.html.erb +34 -0
  84. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_row.jsx +43 -0
  85. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_row.md +2 -0
  86. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data.html.erb +63 -0
  87. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data.jsx +70 -0
  88. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data.md +2 -0
  89. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_row.html.erb +52 -0
  90. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_row.jsx +61 -0
  91. data/app/pb_kits/playbook/pb_table/docs/example.yml +9 -1
  92. data/app/pb_kits/playbook/pb_table/docs/index.js +4 -1
  93. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.html.erb +3 -6
  94. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.jsx +15 -21
  95. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.scss +0 -17
  96. data/app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_default.html.erb +4 -1
  97. data/app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_default.jsx +12 -1
  98. data/app/pb_kits/playbook/pb_time_stacked/docs/example.yml +1 -4
  99. data/app/pb_kits/playbook/pb_time_stacked/docs/index.js +0 -1
  100. data/app/pb_kits/playbook/pb_time_stacked/time_stacked.rb +7 -11
  101. data/app/pb_kits/playbook/react_rails_kits.js +1 -0
  102. data/app/pb_kits/playbook/utilities/globalProps.js +9 -0
  103. data/app/pb_kits/playbook/utilities/test-utils.js +24 -0
  104. data/app/pb_kits/playbook/vendor.js +2 -0
  105. data/lib/playbook/version.rb +1 -1
  106. metadata +72 -10
  107. data/app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_caption.html.erb +0 -2
  108. data/app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_caption.jsx +0 -15
@@ -0,0 +1,12 @@
1
+ <div>
2
+ <%= pb_rails("form_group") do %>
3
+ <%= pb_rails("text_input", props: { label: "with label", placeholder: "Search" }) %>
4
+ <%= pb_rails("button", props: { text: "Submit", variant: "secondary" }) %>
5
+ <% end %>
6
+ <br/>
7
+ <br/>
8
+ <%= pb_rails("form_group") do %>
9
+ <%= pb_rails("text_input", props: { placeholder: "Search" }) %>
10
+ <%= pb_rails("button", props: { text: "Submit", variant: "secondary" }) %>
11
+ <% end %>
12
+ </div>
@@ -0,0 +1,39 @@
1
+ import React from 'react'
2
+ import { Button, FormGroup, TextInput } from '../../'
3
+
4
+ const FormGroupButton = (props) => (
5
+ <div>
6
+ <div>
7
+ <FormGroup>
8
+ <TextInput
9
+ label="With Label"
10
+ placeholder="Search"
11
+ {...props}
12
+ />
13
+ <Button
14
+ onClick={() => alert('Button Clicked!')}
15
+ text="Submit"
16
+ variant="secondary"
17
+ {...props}
18
+ />
19
+ </FormGroup>
20
+ </div>
21
+ <br />
22
+ <div>
23
+ <FormGroup>
24
+ <TextInput
25
+ placeholder="Search"
26
+ {...props}
27
+ />
28
+ <Button
29
+ onClick={() => alert('Button Clicked!')}
30
+ text="Submit"
31
+ variant="secondary"
32
+ {...props}
33
+ />
34
+ </FormGroup>
35
+ </div>
36
+ </div>
37
+ )
38
+
39
+ export default FormGroupButton
@@ -0,0 +1,6 @@
1
+ <div>
2
+ <%= pb_rails("form_group") do %>
3
+ <%= pb_rails("text_input", props: { label: "Event", placeholder: "Event Name" }) %>
4
+ <%= pb_rails("date_picker", props: { label: "Event Date", picker_id: "date-picker-default" }) %>
5
+ <% end %>
6
+ </div>
@@ -0,0 +1,21 @@
1
+ import React from 'react'
2
+ import { DatePicker, FormGroup, TextInput } from '../../'
3
+
4
+ const FormGroupDatePicker = (props) => (
5
+ <div>
6
+ <FormGroup>
7
+ <TextInput
8
+ label="Event"
9
+ placeholder="Event Name"
10
+ {...props}
11
+ />
12
+ <DatePicker
13
+ label="event date"
14
+ pickerId="date-picker-default"
15
+ {...props}
16
+ />
17
+ </FormGroup>
18
+ </div>
19
+ )
20
+
21
+ export default FormGroupDatePicker
@@ -0,0 +1,7 @@
1
+ <div>
2
+ <%= pb_rails("form_group") do %>
3
+ <%= pb_rails("text_input", props: { label: "First Name", placeholder: "Enter First Name" }) %>
4
+ <%= pb_rails("text_input", props: { label: "Middle Intial", placeholder: "Enter Middle Initial" }) %>
5
+ <%= pb_rails("text_input", props: { label: "Last Name", placeholder: "Enter Last Name" }) %>
6
+ <% end %>
7
+ </div>
@@ -0,0 +1,26 @@
1
+ import React from 'react'
2
+ import { FormGroup, TextInput } from '../../'
3
+
4
+ const FormGroupDefault = (props) => (
5
+ <div>
6
+ <FormGroup>
7
+ <TextInput
8
+ label="First Name"
9
+ placeholder="Enter First Name"
10
+ {...props}
11
+ />
12
+ <TextInput
13
+ label="Middle Intial"
14
+ placeholder="Enter Middle Initial"
15
+ {...props}
16
+ />
17
+ <TextInput
18
+ label="Last Name"
19
+ placeholder="Enter Last Name"
20
+ {...props}
21
+ />
22
+ </FormGroup>
23
+ </div>
24
+ )
25
+
26
+ export default FormGroupDefault
@@ -0,0 +1,19 @@
1
+ <div>
2
+ <%= pb_rails("form_group") do %>
3
+ <%= pb_rails("text_input", props: { label: "Artist", placeholder: "Enter Artist Name" }) %>
4
+ <%= pb_rails("select", props: {
5
+ blank_selection: "Genre",
6
+ options: [
7
+ { value: "Country" },
8
+ { value: "Pop" },
9
+ { value: "Rock" },
10
+ { value: "Hip-Hop/Rap" },
11
+ { value: "Classical" },
12
+ { value: "Gospel" },
13
+ { value: "Alternative" },
14
+ { value: "Indie" },
15
+ { value: "Other" },
16
+ ]
17
+ }) %>
18
+ <% end %>
19
+ </div>
@@ -0,0 +1,35 @@
1
+ import React from 'react'
2
+ import { FormGroup, Select, TextInput } from '../../'
3
+
4
+ const FormGroupSelect = (props) => {
5
+ const options = [
6
+ { value: 'Country' },
7
+ { value: 'Pop' },
8
+ { value: 'Rock' },
9
+ { value: 'Hip-Hop/Rap' },
10
+ { value: 'Classical' },
11
+ { value: 'Gospel' },
12
+ { value: 'Alternative' },
13
+ { value: 'Indie' },
14
+ { value: 'Other' },
15
+ ]
16
+
17
+ return (
18
+ <div>
19
+ <FormGroup>
20
+ <TextInput
21
+ label="Artist"
22
+ placeholder="Enter Artist Name"
23
+ {...props}
24
+ />
25
+ <Select
26
+ blankSelection="Genre"
27
+ options={options}
28
+ {...props}
29
+ />
30
+ </FormGroup>
31
+ </div>
32
+ )
33
+ }
34
+
35
+ export default FormGroupSelect
@@ -0,0 +1,21 @@
1
+ <div>
2
+ <%= pb_rails("form_group") do %>
3
+ <%= pb_rails("selectable_card", props: {
4
+ input_id: "cat1",
5
+ name: "animal",
6
+ value: "cat",
7
+ multi: false
8
+ }) do %>
9
+ Cat
10
+ <% end %>
11
+
12
+ <%= pb_rails("selectable_card", props: {
13
+ input_id: "dog1",
14
+ name: "animal",
15
+ value: "dog",
16
+ multi: false
17
+ }) do %>
18
+ Dog
19
+ <% end %>
20
+ <% end %>
21
+ </div>
@@ -0,0 +1,42 @@
1
+ import React, { useState } from 'react'
2
+ import { FormGroup, SelectableCard } from '../../'
3
+
4
+ const FormGroupSelectableCard = (props) => {
5
+ const [value, setValue] = useState('')
6
+
7
+ const handleSelect = (event) => {
8
+ setValue(event.target.value)
9
+ }
10
+
11
+ return (
12
+ <div>
13
+ <FormGroup>
14
+ <SelectableCard
15
+ checked={value === 'cat'}
16
+ inputId="cat1"
17
+ multi={false}
18
+ name="animal"
19
+ onChange={handleSelect}
20
+ value="cat"
21
+ {...props}
22
+ >
23
+ {'Cat'}
24
+ </SelectableCard>
25
+
26
+ <SelectableCard
27
+ checked={value === 'dog'}
28
+ inputId="dog1"
29
+ multi={false}
30
+ name="animal"
31
+ onChange={handleSelect}
32
+ value="dog"
33
+ {...props}
34
+ >
35
+ {'Dog'}
36
+ </SelectableCard>
37
+ </FormGroup>
38
+ </div>
39
+ )
40
+ }
41
+
42
+ export default FormGroupSelectableCard
@@ -0,0 +1,19 @@
1
+ <div>
2
+ <%= pb_rails("form_group") do %>
3
+ <%= pb_rails("selectable_card_icon", props: {
4
+ icon: "basketball-ball",
5
+ title_text: "Basketball",
6
+ input_id: 7,
7
+ multi: false,
8
+ name: "select",
9
+ }) %>
10
+
11
+ <%= pb_rails("selectable_card_icon", props: {
12
+ icon: "football-ball",
13
+ title_text: "Football",
14
+ input_id: 8,
15
+ multi: false,
16
+ name: "select",
17
+ }) %>
18
+ <% end %>
19
+ </div>
@@ -0,0 +1,35 @@
1
+ import React, { useState } from 'react'
2
+ import { FormGroup, SelectableCardIcon } from '../../'
3
+
4
+ const FormGroupSelectableCardIcon = (props) => {
5
+ const [selectedFormat, toggleFormat] = useState(null)
6
+
7
+ return (
8
+ <div>
9
+ <FormGroup>
10
+ <SelectableCardIcon
11
+ checked={selectedFormat === 'basketball'}
12
+ icon="basketball-ball"
13
+ inputId={7}
14
+ name="select"
15
+ onChange={() => toggleFormat('basketball')}
16
+ titleText="Basketball"
17
+ value="basketball"
18
+ {...props}
19
+ />
20
+ <SelectableCardIcon
21
+ checked={selectedFormat === 'football'}
22
+ icon="football-ball"
23
+ inputId={8}
24
+ name="select"
25
+ onChange={() => toggleFormat('football')}
26
+ titleText="Football"
27
+ value="football"
28
+ {...props}
29
+ />
30
+ </FormGroup>
31
+ </div>
32
+ )
33
+ }
34
+
35
+ export default FormGroupSelectableCardIcon
@@ -0,0 +1,42 @@
1
+ <div>
2
+ <%= pb_rails("form_group") do %>
3
+ <%
4
+ options = [
5
+ { label: 'Windows', value: 'windows' },
6
+ { label: 'Roof', value: 'roof' },
7
+ { label: 'Siding', value: 'siding' },
8
+ { label: 'Doors', value: 'doors' },
9
+ ]
10
+ %>
11
+ <%= pb_rails("typeahead", props: {
12
+ default_options: [options.first],
13
+ id: "form-group-typeahead-example",
14
+ label: "Products",
15
+ options: options,
16
+ }) %>
17
+ <%= pb_rails("button", props: {
18
+ id: "form-group-button",
19
+ text: "Add",
20
+ variant: "secondary"
21
+ }) %>
22
+ <% end %>
23
+ </div>
24
+
25
+ <!-- This section is an example of the available JavaScript event hooks -->
26
+ <%= javascript_tag defer: "defer" do %>
27
+ document.addEventListener("pb-form-group-kit-form-group-typeahead-example-result-option-select", function(event) {
28
+ console.log('Option selected')
29
+ console.dir(event.detail)
30
+ })
31
+ document.addEventListener("pb-form-group-kit-form-group-typeahead-example-result-option-remove", function(event) {
32
+ console.log('Option removed')
33
+ console.dir(event.detail)
34
+ })
35
+ document.addEventListener("pb-form-group-kit-form-group-typeahead-example-result-option-clear", function() {
36
+ console.log('All options cleared')
37
+ })
38
+
39
+ document.querySelector('#form-group-button').addEventListener('click', function() {
40
+ document.dispatchEvent(new CustomEvent('pb-form-group-kit-form-group-typeahead:clear'))
41
+ })
42
+ <% end %>
@@ -0,0 +1,31 @@
1
+ import React from 'react'
2
+ import { Button, FormGroup, Typeahead } from '../../'
3
+
4
+ const FormGroupTypeahead = (props) => {
5
+ const options = [
6
+ { label: 'Windows', value: 'windows' },
7
+ { label: 'Roof', value: 'roof' },
8
+ { label: 'Siding', value: 'siding' },
9
+ { label: 'Doors', value: 'doors' },
10
+ ]
11
+
12
+ return (
13
+ <div>
14
+ <FormGroup>
15
+ <Typeahead
16
+ label="Products"
17
+ options={options}
18
+ {...props}
19
+ />
20
+ <Button
21
+ onClick={() => alert('Button Clicked!')}
22
+ text="Add"
23
+ variant="secondary"
24
+ {...props}
25
+ />
26
+ </FormGroup>
27
+ </div>
28
+ )
29
+ }
30
+
31
+ export default FormGroupTypeahead
@@ -0,0 +1,20 @@
1
+ examples:
2
+
3
+ rails:
4
+ - form_group_default: Default
5
+ - form_group_button: Button
6
+ - form_group_date_picker: Date Picker
7
+ # - form_group_typeahead: Typeahead
8
+ - form_group_select: Select
9
+ - form_group_selectable_card: Selectable Card
10
+ - form_group_selectable_card_icon: Selectable Card Icon
11
+
12
+
13
+ react:
14
+ - form_group_default: Default
15
+ - form_group_button: Button
16
+ - form_group_date_picker: Date Picker
17
+ # - form_group_typeahead: Typeahead
18
+ - form_group_select: Select
19
+ - form_group_selectable_card: Selectable Card
20
+ - form_group_selectable_card_icon: Selectable Card Icon
@@ -0,0 +1,7 @@
1
+ export { default as FormGroupDefault } from './_form_group_default.jsx'
2
+ export { default as FormGroupButton } from './_form_group_button.jsx'
3
+ export { default as FormGroupDatePicker } from './_form_group_date_picker.jsx'
4
+ // export { default as FormGroupTypeahead } from './_form_group_typeahead.jsx'
5
+ export { default as FormGroupSelect } from './_form_group_select.jsx'
6
+ export { default as FormGroupSelectableCard } from './_form_group_selectable_card.jsx'
7
+ export { default as FormGroupSelectableCardIcon } from './_form_group_selectable_card_icon.jsx'
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Playbook
4
+ module PbFormGroup
5
+ class FormGroup
6
+ include Playbook::Props
7
+
8
+ partial "pb_form_group/form_group"
9
+
10
+ def classname
11
+ generate_classname("pb_form_group_kit")
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,24 @@
1
+ <%= content_tag(:div,
2
+ aria: object.aria,
3
+ id: object.id,
4
+ data: object.data,
5
+ class: object.classname) do %>
6
+
7
+ <%= pb_rails "icon_circle", props: {
8
+ icon: object.icon,
9
+ size: object.size,
10
+ variant: object.variant } %>
11
+
12
+ <div>
13
+ <%= pb_rails("flex", props: { vertical: "bottom" }) do %>
14
+ <%= pb_rails "title", props: {
15
+ text: object.value_string,
16
+ size: object.title_size } %>
17
+ &nbsp;
18
+ <%= pb_rails "body", props: {
19
+ text: object.unit } %>
20
+ <% end %>
21
+ <%= pb_rails "caption", props: {
22
+ text: object.text } %>
23
+ </div>
24
+ <% end %>