playbook_ui 7.5.1 → 7.6.2.pre.alpha1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/sample_screenshot.svg +7 -0
  3. data/app/controllers/playbook/application_controller.rb +0 -2
  4. data/app/pb_kits/playbook/_playbook.scss +2 -1
  5. data/app/pb_kits/playbook/data/menu.yml +2 -6
  6. data/app/pb_kits/playbook/index.js +3 -0
  7. data/app/pb_kits/playbook/pb_avatar/_avatar.scss +0 -2
  8. data/app/pb_kits/playbook/pb_background/_background.html.erb +18 -12
  9. data/app/pb_kits/playbook/pb_background/_background.jsx +14 -10
  10. data/app/pb_kits/playbook/pb_background/docs/_background_dark.jsx +4 -6
  11. data/app/pb_kits/playbook/pb_background/docs/_background_gradient.jsx +4 -6
  12. data/app/pb_kits/playbook/pb_background/docs/_background_image.jsx +20 -22
  13. data/app/pb_kits/playbook/pb_background/docs/_background_light.jsx +4 -6
  14. data/app/pb_kits/playbook/pb_background/docs/_background_white.jsx +1 -1
  15. data/app/pb_kits/playbook/pb_button/_button.scss +0 -1
  16. data/app/pb_kits/playbook/pb_checkbox/_checkbox.html.erb +1 -1
  17. data/app/pb_kits/playbook/pb_form_group/_form_group.html.erb +7 -0
  18. data/app/pb_kits/playbook/pb_form_group/_form_group.jsx +41 -0
  19. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +115 -0
  20. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_button.html.erb +12 -0
  21. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_button.jsx +37 -0
  22. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_date_picker.html.erb +6 -0
  23. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_date_picker.jsx +19 -0
  24. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_default.html.erb +7 -0
  25. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_default.jsx +23 -0
  26. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_select.html.erb +19 -0
  27. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_select.jsx +33 -0
  28. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_selectable_card.html.erb +21 -0
  29. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_selectable_card.jsx +40 -0
  30. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_selectable_card_icon.html.erb +19 -0
  31. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_selectable_card_icon.jsx +33 -0
  32. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_typeahead.html.erb +14 -0
  33. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_typeahead.jsx +30 -0
  34. data/app/pb_kits/playbook/pb_form_group/docs/example.yml +20 -0
  35. data/app/pb_kits/playbook/pb_form_group/docs/index.js +7 -0
  36. data/app/pb_kits/playbook/pb_form_group/form_group.rb +15 -0
  37. data/app/pb_kits/playbook/pb_image/_image.html.erb +2 -1
  38. data/app/pb_kits/playbook/pb_image/_image.jsx +7 -1
  39. data/app/pb_kits/playbook/pb_image/_image.scss +40 -14
  40. data/app/pb_kits/playbook/pb_image/docs/_default_image.html.erb +12 -0
  41. data/app/pb_kits/playbook/pb_image/docs/_default_image.jsx +25 -3
  42. data/app/pb_kits/playbook/pb_image/docs/_rounded_image.html.erb +17 -0
  43. data/app/pb_kits/playbook/pb_image/docs/_rounded_image.jsx +36 -0
  44. data/app/pb_kits/playbook/pb_image/docs/example.yml +2 -0
  45. data/app/pb_kits/playbook/pb_image/docs/index.js +1 -0
  46. data/app/pb_kits/playbook/pb_image/image.rb +16 -1
  47. data/app/pb_kits/playbook/pb_list/_list.jsx +9 -2
  48. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_image.html.erb +27 -0
  49. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_image.jsx +61 -0
  50. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_image.md +1 -0
  51. data/app/pb_kits/playbook/pb_selectable_card/docs/example.yml +2 -0
  52. data/app/pb_kits/playbook/pb_selectable_card/docs/index.js +1 -0
  53. data/app/pb_kits/playbook/pb_selectable_list/_item.jsx +90 -0
  54. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.html.erb +11 -0
  55. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.jsx +47 -0
  56. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.scss +17 -0
  57. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list_item.html.erb +18 -0
  58. data/app/pb_kits/playbook/pb_selectable_list/docs/_selectable_list_checkbox.html.erb +27 -0
  59. data/app/pb_kits/playbook/pb_selectable_list/docs/_selectable_list_checkbox.jsx +29 -0
  60. data/app/pb_kits/playbook/pb_selectable_list/docs/_selectable_list_radio.html.erb +27 -0
  61. data/app/pb_kits/playbook/pb_selectable_list/docs/_selectable_list_radio.jsx +29 -0
  62. data/app/pb_kits/playbook/pb_selectable_list/docs/example.yml +12 -0
  63. data/app/pb_kits/playbook/pb_selectable_list/docs/index.js +2 -0
  64. data/app/pb_kits/playbook/pb_selectable_list/selectable_list.rb +24 -0
  65. data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.rb +28 -0
  66. data/lib/playbook/version.rb +1 -1
  67. metadata +47 -9
@@ -8,6 +8,4 @@ module Playbook
8
8
  helper Playbook::PbSampleHelper
9
9
  append_view_path Playbook::Engine.root + "app/pb_kits"
10
10
  end
11
-
12
-
13
11
  end
@@ -29,6 +29,7 @@
29
29
  @import 'pb_filter/filter';
30
30
  @import 'pb_fixed_confirmation_toast/fixed_confirmation_toast';
31
31
  @import 'pb_form/form';
32
+ @import 'pb_form_group/form_group';
32
33
  @import 'pb_form_pill/form_pill';
33
34
  @import 'pb_flex/flex';
34
35
  @import 'pb_gauge/gauge';
@@ -64,6 +65,7 @@
64
65
  @import 'pb_selectable_card/selectable_card';
65
66
  @import 'pb_selectable_card_icon/selectable_card_icon';
66
67
  @import 'pb_selectable_icon/selectable_icon';
68
+ @import 'pb_selectable_list/selectable_list';
67
69
  @import 'pb_source/source';
68
70
  @import 'pb_star_rating/star_rating';
69
71
  @import 'pb_stat_change/stat_change';
@@ -85,4 +87,3 @@
85
87
  @import 'pb_time_stacked/time_stacked';
86
88
  @import 'pb_weekday_stacked/weekday_stacked';
87
89
  @import './utilities/spacing';
88
-
@@ -1,9 +1,3 @@
1
- samples:
2
- - dashboards
3
- - registration
4
- - filter_table
5
- - collection_detail
6
-
7
1
  kits:
8
2
  - avatar
9
3
  - avatar_action_button
@@ -28,12 +22,14 @@ kits:
28
22
  - date_picker
29
23
  - file_upload
30
24
  - form
25
+ - form_group
31
26
  - form_pill
32
27
  - radio
33
28
  - select
34
29
  - selectable_card
35
30
  - selectable_card_icon
36
31
  - selectable_icon
32
+ - selectable_list
37
33
  - text_input
38
34
  - textarea
39
35
  - typeahead
@@ -33,6 +33,7 @@ export Filter from './pb_filter/_filter.jsx'
33
33
  export FixedConfirmationToast from './pb_fixed_confirmation_toast/_fixed_confirmation_toast.jsx'
34
34
  export Flex from './pb_flex/_flex.jsx'
35
35
  export FlexItem from './pb_flex/_flex_item.jsx'
36
+ export FormGroup from './pb_form_group/_form_group.jsx'
36
37
  export FormPill from './pb_form_pill/_form_pill.jsx'
37
38
  export Gauge from './pb_gauge/_gauge.jsx'
38
39
  export Hashtag from './pb_hashtag/_hashtag.jsx'
@@ -70,6 +71,8 @@ export Select from './pb_select/_select.jsx'
70
71
  export SelectableCard from './pb_selectable_card/_selectable_card.jsx'
71
72
  export SelectableCardIcon from './pb_selectable_card_icon/_selectable_card_icon.jsx'
72
73
  export SelectableIcon from './pb_selectable_icon/_selectable_icon.jsx'
74
+ export SelectableList from './pb_selectable_list/_selectable_list.jsx'
75
+ export SelectableListItem from './pb_selectable_list/_item.jsx'
73
76
  export Source from './pb_source/_source.jsx'
74
77
  export StarRating from './pb_star_rating/_star_rating.jsx'
75
78
  export StatChange from './pb_stat_change/_stat_change.jsx'
@@ -1,8 +1,6 @@
1
1
  @import "../tokens/border_radius";
2
2
  @import "../tokens/colors";
3
3
  @import "../tokens/typography";
4
- @import "../pb_online_status/online_status";
5
- @import "../pb_image/image";
6
4
 
7
5
  $avatar-sizes: (
8
6
  "xs": 28px,
@@ -1,14 +1,20 @@
1
- <%= content_tag(object.tag,
2
- aria: object.aria,
3
- data: object.data,
4
- id: object.id) do %>
5
- <% if object.image_url.present? %>
6
- <div class="<%= object.classname %>" style="background-image: url(<%= object.image_url %>);">
7
- <%= capture(&object.children) %>
8
- </div>
9
- <% else %>
10
- <div class="<%= object.classname %>">
11
- <%= capture(&object.children) %>
12
- </div>
1
+ <% if object.image_url.present? %>
2
+ <%= content_tag(object.tag,
3
+ aria: object.aria,
4
+ data: object.data,
5
+ id: object.id,
6
+ class: object.classname,
7
+ style: `background-image: url(#{object.image_url});`
8
+ ) do %>
9
+ <%= capture(&object.children) %>
10
+ <% end %>
11
+ <% else %>
12
+ <%= content_tag(object.tag,
13
+ aria: object.aria,
14
+ data: object.data,
15
+ id: object.id,
16
+ class: object.classname
17
+ ) do %>
18
+ <%= capture(&object.children) %>
13
19
  <% end %>
14
20
  <% end %>
@@ -39,24 +39,28 @@ const Background = (props: BackgroundProps) => {
39
39
  }
40
40
 
41
41
  return (
42
- <Tag
43
- {...ariaProps}
44
- {...dataProps}
45
- id={id}
46
- >
42
+ <>
47
43
  <If condition={imageUrl}>
48
- <div
44
+ <Tag
49
45
  className={classes + 'lazyload blur_up'}
50
46
  style={backgroundStyle}
47
+ {...ariaProps}
48
+ {...dataProps}
49
+ id={id}
51
50
  >
52
51
  { children }
53
- </div>
52
+ </Tag>
54
53
  <Else />
55
- <div className={classes}>
54
+ <Tag
55
+ className={classes}
56
+ {...ariaProps}
57
+ {...dataProps}
58
+ id={id}
59
+ >
56
60
  { children }
57
- </div>
61
+ </Tag>
58
62
  </If>
59
- </Tag>
63
+ </>
60
64
  )
61
65
  }
62
66
 
@@ -2,12 +2,10 @@ import React from 'react'
2
2
  import { Background } from '../..'
3
3
 
4
4
  const BackgroundDark = () => (
5
- <div>
6
- <Background
7
- backgroundColor="dark"
8
- padding="xl"
9
- />
10
- </div>
5
+ <Background
6
+ backgroundColor="dark"
7
+ padding="xl"
8
+ />
11
9
  )
12
10
 
13
11
  export default BackgroundDark
@@ -2,12 +2,10 @@ import React from 'react'
2
2
  import { Background } from '../..'
3
3
 
4
4
  const BackgroundGradient = () => (
5
- <div>
6
- <Background
7
- backgroundColor="gradient"
8
- padding="xl"
9
- />
10
- </div>
5
+ <Background
6
+ backgroundColor="gradient"
7
+ padding="xl"
8
+ />
11
9
  )
12
10
 
13
11
  export default BackgroundGradient
@@ -3,28 +3,26 @@ import { Background } from '../..'
3
3
  import { Card, Flex, FlexItem, Title } from '../..'
4
4
 
5
5
  const BackgroundImage = () => (
6
- <div>
7
- <Background imageUrl="https://images.unsplash.com/photo-1528459801416-a9e53bbf4e17?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1000&q=80">
8
- <Flex
9
- orientation="column"
10
- vertical="center"
11
- >
12
- <FlexItem>
13
- <Title
14
- dark
15
- padding="lg"
16
- size={1}
17
- text="Background Kit Image"
18
- />
19
- </FlexItem>
20
- <FlexItem padding="lg">
21
- <Card shadow="deepest">
22
- {'We cannot seek achievement for ourselves and forget about progress and prosperity for our community... Our ambitions must be broad enough to include the aspirations and needs of others, for their sakes and for our own. - Cesar Chavez'}
23
- </Card>
24
- </FlexItem>
25
- </Flex>
26
- </Background>
27
- </div>
6
+ <Background imageUrl="https://images.unsplash.com/photo-1528459801416-a9e53bbf4e17?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1000&q=80">
7
+ <Flex
8
+ orientation="column"
9
+ vertical="center"
10
+ >
11
+ <FlexItem>
12
+ <Title
13
+ dark
14
+ padding="lg"
15
+ size={1}
16
+ text="Background Kit Image"
17
+ />
18
+ </FlexItem>
19
+ <FlexItem padding="lg">
20
+ <Card shadow="deepest">
21
+ {'We cannot seek achievement for ourselves and forget about progress and prosperity for our community... Our ambitions must be broad enough to include the aspirations and needs of others, for their sakes and for our own. - Cesar Chavez'}
22
+ </Card>
23
+ </FlexItem>
24
+ </Flex>
25
+ </Background>
28
26
  )
29
27
 
30
28
  export default BackgroundImage
@@ -2,12 +2,10 @@ import React from 'react'
2
2
  import { Background } from '../..'
3
3
 
4
4
  const BackgroundLight = () => (
5
- <div>
6
- <Background
7
- backgroundColor="light"
8
- padding="xl"
9
- />
10
- </div>
5
+ <Background
6
+ backgroundColor="light"
7
+ padding="xl"
8
+ />
11
9
  )
12
10
 
13
11
  export default BackgroundLight
@@ -5,7 +5,7 @@ const BackgroundWhite = () => (
5
5
  <div>
6
6
  <Background
7
7
  backgroundColor="white"
8
- className="blah"
8
+ padding="xl"
9
9
  />
10
10
  </div>
11
11
 
@@ -1,5 +1,4 @@
1
1
  @import "./button_mixins";
2
- @import "../pb_icon/icon";
3
2
 
4
3
  [class^=pb_button_kit]{
5
4
  // Variants =================
@@ -4,7 +4,7 @@
4
4
  class: object.classname) do %>
5
5
  <% if object.children %>
6
6
  <%= capture(&object.children) %>
7
- <% else %>
7
+ <% else %>
8
8
  <%= object.input %>
9
9
  <% end %>
10
10
  <span class="pb_checkbox_checkmark">
@@ -0,0 +1,7 @@
1
+ <%= content_tag(:div,
2
+ aria: object.aria,
3
+ class: object.classname,
4
+ data: object.data,
5
+ id: object.id) do %>
6
+ <%= capture(&object.children) %>
7
+ <% end %>
@@ -0,0 +1,41 @@
1
+ /* @flow */
2
+
3
+ import React from 'react'
4
+ import classnames from 'classnames'
5
+ import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
6
+ import { globalProps } from '../utilities/globalProps.js'
7
+
8
+ type FormGroupProps = {
9
+ aria?: object,
10
+ children?: Node,
11
+ className?: string,
12
+ data?: object,
13
+ id?: string
14
+ }
15
+
16
+ const FormGroup = (props: FormGroupProps) => {
17
+ const {
18
+ aria = {},
19
+ className,
20
+ data = {},
21
+ id,
22
+ children,
23
+ } = props
24
+
25
+ const ariaProps = buildAriaProps(aria)
26
+ const dataProps = buildDataProps(data)
27
+ const classes = classnames(buildCss('pb_form_group_kit'), globalProps(props), className)
28
+
29
+ return (
30
+ <div
31
+ {...ariaProps}
32
+ {...dataProps}
33
+ className={classes}
34
+ id={id}
35
+ >
36
+ {children}
37
+ </div>
38
+ )
39
+ }
40
+
41
+ export default FormGroup
@@ -0,0 +1,115 @@
1
+ [class^=pb_form_group_kit] {
2
+ display: inline-flex;
3
+ flex-direction: row;
4
+ align-items: flex-end;
5
+ justify-content: flex-start;
6
+
7
+ & [class^=pb_text_input_kit] .text_input_wrapper,
8
+ & [class^=pb_date_picker_kit] .input_wrapper,
9
+ & [class^=pb_select] {
10
+ margin-bottom: 0;
11
+ }
12
+
13
+ & > [class^=pb_text_input_kit]:not(:last-child) {
14
+ .text_input_wrapper input, [class^=pb_text_input_kit] .text_input_wrapper .text_input {
15
+ border-bottom-right-radius: 0;
16
+ border-top-right-radius: 0;
17
+ border-right-width: 0;
18
+ }
19
+ }
20
+
21
+ & > [class^=pb_text_input_kit]:not(:first-child) {
22
+ .text_input_wrapper input, [class^=pb_text_input_kit] .text_input_wrapper .text_input {
23
+ border-bottom-left-radius: 0;
24
+ border-top-left-radius: 0;
25
+ }
26
+ }
27
+
28
+ & > [class^=pb_button_kit]:not(:last-child) {
29
+ border-bottom-right-radius: 0;
30
+ border-top-right-radius: 0;
31
+ min-height: 45px;
32
+ }
33
+
34
+ & > [class^=pb_button_kit]:not(:first-child) {
35
+ border-bottom-left-radius: 0;
36
+ border-top-left-radius: 0;
37
+ border-left-width: 0;
38
+ min-height: 45px;
39
+ }
40
+
41
+ & > [class^=pb_date_picker_kit]:not(:last-child) {
42
+ .text_input_wrapper input, [class^=pb_text_input_kit] .text_input_wrapper .flatpickr-wrapper {
43
+ border-bottom-right-radius: 0;
44
+ border-top-right-radius: 0;
45
+ border-right-width: 0;
46
+ }
47
+ }
48
+
49
+ & > [class^=pb_date_picker_kit]:not(:first-child) {
50
+ .text_input_wrapper input, [class^=pb_text_input_kit] .text_input_wrapper .flatpickr-wrapper {
51
+ border-bottom-left-radius: 0;
52
+ border-top-left-radius: 0;
53
+ }
54
+ }
55
+
56
+ & > [class^=pb_select]:not(:last-child) {
57
+ margin-bottom: 0px;
58
+ .pb_select_kit_wrapper select {
59
+ border-bottom-right-radius: 0;
60
+ border-top-right-radius: 0;
61
+ border-right-width: 0;
62
+ }
63
+ }
64
+
65
+ & > [class^=pb_select]:not(:first-child) {
66
+ margin-bottom: 0px;
67
+ .pb_select_kit_wrapper select {
68
+ border-bottom-left-radius: 0;
69
+ border-top-left-radius: 0;
70
+ }
71
+ }
72
+
73
+ & > [class^=pb_selectable_card_kit]:not(:last-child) label {
74
+ border-bottom-right-radius: 0;
75
+ border-top-right-radius: 0;
76
+ border-right-width: 0;
77
+ }
78
+
79
+ & > [class^=pb_selectable_card_kit]:not(:first-child) label {
80
+ border-bottom-left-radius: 0;
81
+ border-top-left-radius: 0;
82
+ }
83
+
84
+ & > [class^=pb_selectable_card_icon_kit]:not(:last-child) [class^=pb_selectable_card_kit] label {
85
+ border-bottom-right-radius: 0;
86
+ border-top-right-radius: 0;
87
+ }
88
+
89
+ & > [class^=pb_selectable_card_icon_kit]:not(:first-child) [class^=pb_selectable_card_kit] label {
90
+ border-bottom-left-radius: 0;
91
+ border-top-left-radius: 0;
92
+ }
93
+
94
+ & > [class^=pb_selectable_card_icon_kit]:not(:last-child) {
95
+ [class^=pb_selectable_card_kit] input[type="checkbox"]:not(:checked) ~ label, [class^=pb_selectable_card_kit] input[type="radio"]:not(:checked)~ label {
96
+ border-right-width: 0;
97
+ }
98
+ }
99
+
100
+ & > [class^=pb_typeahead_kit]:not(:last-child) {
101
+ [class^=pb_text_input_kit] .text_input_wrapper input, [class^=pb_text_input_kit] .text_input_wrapper .text_input {
102
+ border-bottom-right-radius: 0;
103
+ border-top-right-radius: 0;
104
+ border-right-width: 0;
105
+ min-height: 26px;
106
+ }
107
+ }
108
+
109
+ & > [class^=pb_typeahead_kit]:not(:first-child) {
110
+ [class^=pb_text_input_kit] .text_input_wrapper input, [class^=pb_text_input_kit] .text_input_wrapper .text_input {
111
+ border-bottom-left-radius: 0;
112
+ border-top-left-radius: 0;
113
+ }
114
+ }
115
+ }
@@ -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,37 @@
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
+ />
12
+ <Button
13
+ onClick={() => alert('Button Clicked!')}
14
+ text="Submit"
15
+ variant="secondary"
16
+ {...props}
17
+ />
18
+ </FormGroup>
19
+ </div>
20
+ <br />
21
+ <div>
22
+ <FormGroup>
23
+ <TextInput
24
+ placeholder="Search"
25
+ />
26
+ <Button
27
+ onClick={() => alert('Button Clicked!')}
28
+ text="Submit"
29
+ variant="secondary"
30
+ {...props}
31
+ />
32
+ </FormGroup>
33
+ </div>
34
+ </div>
35
+ )
36
+
37
+ 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,19 @@
1
+ import React from 'react'
2
+ import { DatePicker, FormGroup, TextInput } from '../../'
3
+
4
+ const FormGroupDatePicker = () => (
5
+ <div>
6
+ <FormGroup>
7
+ <TextInput
8
+ label="Event"
9
+ placeholder="Event Name"
10
+ />
11
+ <DatePicker
12
+ label="event date"
13
+ pickerId="date-picker-default"
14
+ />
15
+ </FormGroup>
16
+ </div>
17
+ )
18
+
19
+ 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,23 @@
1
+ import React from 'react'
2
+ import { FormGroup, TextInput } from '../../'
3
+
4
+ const FormGroupDefault = () => (
5
+ <div>
6
+ <FormGroup>
7
+ <TextInput
8
+ label="First Name"
9
+ placeholder="Enter First Name"
10
+ />
11
+ <TextInput
12
+ label="Middle Intial"
13
+ placeholder="Enter Middle Initial"
14
+ />
15
+ <TextInput
16
+ label="Last Name"
17
+ placeholder="Enter Last Name"
18
+ />
19
+ </FormGroup>
20
+ </div>
21
+ )
22
+
23
+ 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: "Select 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,33 @@
1
+ import React from 'react'
2
+ import { FormGroup, Select, TextInput } from '../../'
3
+
4
+ const FormGroupSelect = () => {
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
+ />
24
+ <Select
25
+ blankSelection="Select Genre"
26
+ options={options}
27
+ />
28
+ </FormGroup>
29
+ </div>
30
+ )
31
+ }
32
+
33
+ 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>