playbook_ui 2.9.9 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (155) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +10 -4
  3. data/app/pb_kits/playbook/index.js +10 -0
  4. data/app/pb_kits/playbook/kits/pb_circle_icon_button.js +4 -0
  5. data/app/pb_kits/playbook/kits/pb_select.js +4 -0
  6. data/app/pb_kits/playbook/kits/pb_selectable_card.js +4 -0
  7. data/app/pb_kits/playbook/kits/pb_textarea.js +4 -0
  8. data/app/pb_kits/playbook/packs/examples.js +8 -0
  9. data/app/pb_kits/playbook/packs/kits.js +4 -2
  10. data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +1 -1
  11. data/app/pb_kits/playbook/pb_body/_body_mixins.scss +3 -0
  12. data/app/pb_kits/playbook/pb_button/_button.jsx +4 -0
  13. data/app/pb_kits/playbook/pb_card/_card.scss +50 -17
  14. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.html.erb +10 -0
  15. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.jsx +30 -0
  16. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.scss +32 -0
  17. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.rb +22 -0
  18. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_dark.html.erb +29 -0
  19. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_dark.jsx +38 -0
  20. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_default.html.erb +25 -0
  21. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_default.jsx +34 -0
  22. data/app/pb_kits/playbook/pb_circle_icon_button/docs/example.yml +9 -0
  23. data/app/pb_kits/playbook/pb_circle_icon_button/docs/index.js +2 -0
  24. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.html.erb +1 -1
  25. data/app/pb_kits/playbook/pb_dashboard_value/dashboard_value.rb +4 -0
  26. data/app/pb_kits/playbook/pb_date/_date.jsx +51 -17
  27. data/app/pb_kits/playbook/pb_date/docs/_date_default.jsx +10 -2
  28. data/app/pb_kits/playbook/pb_form/_form.scss +11 -0
  29. data/app/pb_kits/playbook/pb_form/_form_form_with.html.erb +3 -0
  30. data/app/pb_kits/playbook/pb_form/_form_simple_form.html.erb +3 -0
  31. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +14 -0
  32. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +36 -0
  33. data/app/pb_kits/playbook/pb_form/docs/example.yml +5 -0
  34. data/app/pb_kits/playbook/pb_form/form.rb +28 -0
  35. data/app/pb_kits/playbook/pb_form/form/form_with_form.rb +38 -0
  36. data/app/pb_kits/playbook/pb_form/form/simple_form_form.rb +45 -0
  37. data/app/pb_kits/playbook/pb_form/form_builder.rb +23 -0
  38. data/app/pb_kits/playbook/pb_form/form_builder/action_area.rb +40 -0
  39. data/app/pb_kits/playbook/pb_form/form_builder/form_with_form_builder.rb +11 -0
  40. data/app/pb_kits/playbook/pb_form/form_builder/simple_form_builder.rb +25 -0
  41. data/app/pb_kits/playbook/pb_form/form_builder/text_input_builder.rb +22 -0
  42. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.jsx +19 -14
  43. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_color.jsx +19 -0
  44. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_default.jsx +5 -4
  45. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_size.jsx +16 -0
  46. data/app/pb_kits/playbook/pb_icon_circle/docs/example.yml +2 -1
  47. data/app/pb_kits/playbook/pb_icon_circle/docs/index.js +2 -0
  48. data/app/pb_kits/playbook/pb_kit/dateTime.js +4 -0
  49. data/app/pb_kits/playbook/pb_layout/_layout.jsx +50 -48
  50. data/app/pb_kits/playbook/pb_layout/_layout.scss +8 -12
  51. data/app/pb_kits/playbook/pb_layout/_layout_mixin.scss +6 -0
  52. data/app/pb_kits/playbook/pb_layout/docs/_layout_colors.html.erb +24 -0
  53. data/app/pb_kits/playbook/pb_layout/docs/_layout_default.jsx +15 -0
  54. data/app/pb_kits/playbook/pb_layout/docs/_layout_sizes.html.erb +32 -0
  55. data/app/pb_kits/playbook/pb_layout/docs/_layout_sizes_dark.html.erb +32 -0
  56. data/app/pb_kits/playbook/pb_layout/docs/_layout_transparent.html.erb +8 -0
  57. data/app/pb_kits/playbook/pb_layout/docs/example.yml +5 -11
  58. data/app/pb_kits/playbook/pb_layout/docs/index.js +1 -1
  59. data/app/pb_kits/playbook/pb_layout/layout.rb +5 -7
  60. data/app/pb_kits/playbook/pb_message/_message.jsx +68 -11
  61. data/app/pb_kits/playbook/pb_message/docs/_message_default.jsx +59 -2
  62. data/app/pb_kits/playbook/pb_section_separator/_section_separator.jsx +23 -16
  63. data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +15 -6
  64. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_line.jsx +10 -0
  65. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text.jsx +10 -0
  66. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text_background.html.erb +1 -0
  67. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text_background.jsx +12 -0
  68. data/app/pb_kits/playbook/pb_section_separator/docs/example.yml +4 -2
  69. data/app/pb_kits/playbook/pb_section_separator/docs/index.js +3 -1
  70. data/app/pb_kits/playbook/pb_section_separator/section_separator.rb +4 -1
  71. data/app/pb_kits/playbook/pb_select/_select.html.erb +33 -0
  72. data/app/pb_kits/playbook/pb_select/_select.jsx +110 -0
  73. data/app/pb_kits/playbook/pb_select/_select.scss +50 -0
  74. data/app/pb_kits/playbook/pb_select/docs/_select_blank.html.erb +19 -0
  75. data/app/pb_kits/playbook/pb_select/docs/_select_blank.jsx +30 -0
  76. data/app/pb_kits/playbook/pb_select/docs/_select_custom_select.html.erb +8 -0
  77. data/app/pb_kits/playbook/pb_select/docs/_select_custom_select.jsx +19 -0
  78. data/app/pb_kits/playbook/pb_select/docs/_select_dark.html.erb +24 -0
  79. data/app/pb_kits/playbook/pb_select/docs/_select_dark.jsx +31 -0
  80. data/app/pb_kits/playbook/pb_select/docs/_select_default.html.erb +23 -0
  81. data/app/pb_kits/playbook/pb_select/docs/_select_default.jsx +30 -0
  82. data/app/pb_kits/playbook/pb_select/docs/_select_disabled.html.erb +19 -0
  83. data/app/pb_kits/playbook/pb_select/docs/_select_disabled.jsx +30 -0
  84. data/app/pb_kits/playbook/pb_select/docs/_select_disabled_options.html.erb +33 -0
  85. data/app/pb_kits/playbook/pb_select/docs/_select_disabled_options.jsx +44 -0
  86. data/app/pb_kits/playbook/pb_select/docs/_select_required.html.erb +17 -0
  87. data/app/pb_kits/playbook/pb_select/docs/_select_required.jsx +28 -0
  88. data/app/pb_kits/playbook/pb_select/docs/_select_value_text_same.html.erb +18 -0
  89. data/app/pb_kits/playbook/pb_select/docs/_select_value_text_same.jsx +29 -0
  90. data/app/pb_kits/playbook/pb_select/docs/example.yml +22 -0
  91. data/app/pb_kits/playbook/pb_select/docs/index.js +8 -0
  92. data/app/pb_kits/playbook/pb_select/docs/nitro_theme.gemspec +41 -0
  93. data/app/pb_kits/playbook/pb_select/select.rb +60 -0
  94. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.html.erb +25 -0
  95. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.jsx +97 -0
  96. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +87 -0
  97. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_block.html.erb +25 -0
  98. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_block.jsx +48 -0
  99. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_dark.html.erb +45 -0
  100. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_dark.jsx +68 -0
  101. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_default.html.erb +39 -0
  102. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_default.jsx +67 -0
  103. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_single_select.html.erb +30 -0
  104. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_single_select.jsx +54 -0
  105. data/app/pb_kits/playbook/pb_selectable_card/docs/example.yml +13 -0
  106. data/app/pb_kits/playbook/pb_selectable_card/docs/index.js +4 -0
  107. data/app/pb_kits/playbook/pb_selectable_card/selectable_card.rb +51 -0
  108. data/app/pb_kits/playbook/pb_stat_value/_stat_value.html.erb +1 -1
  109. data/app/pb_kits/playbook/pb_stat_value/stat_value.rb +5 -0
  110. data/app/pb_kits/playbook/pb_text_input/_text_input.html.erb +13 -9
  111. data/app/pb_kits/playbook/pb_text_input/_text_input.jsx +12 -6
  112. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +44 -44
  113. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_default.jsx +68 -12
  114. data/app/pb_kits/playbook/pb_textarea/_textarea.html.erb +20 -0
  115. data/app/pb_kits/playbook/pb_textarea/_textarea.jsx +54 -0
  116. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +31 -0
  117. data/app/pb_kits/playbook/pb_textarea/_textarea_mixin.scss +51 -0
  118. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_custom.html.erb +3 -0
  119. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_custom.jsx +16 -0
  120. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_dark.html.erb +9 -0
  121. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_dark.jsx +21 -0
  122. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_default.html.erb +9 -0
  123. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_default.jsx +21 -0
  124. data/app/pb_kits/playbook/pb_textarea/docs/example.yml +15 -0
  125. data/app/pb_kits/playbook/pb_textarea/docs/index.js +3 -0
  126. data/app/pb_kits/playbook/pb_textarea/textarea.rb +30 -0
  127. data/app/pb_kits/playbook/pb_title/_title_mixin.scss +3 -1
  128. data/app/pb_kits/playbook/pb_user/_user.html.erb +3 -1
  129. data/app/pb_kits/playbook/pb_user/_user.jsx +76 -16
  130. data/app/pb_kits/playbook/pb_user/docs/_user_default.jsx +42 -1
  131. data/app/pb_kits/playbook/pb_user/docs/_user_size.jsx +31 -0
  132. data/app/pb_kits/playbook/pb_user/docs/_user_text_only.jsx +24 -0
  133. data/app/pb_kits/playbook/pb_user/docs/_user_vertical_size.jsx +37 -0
  134. data/app/pb_kits/playbook/pb_user/docs/_user_with_territory.html.erb +40 -0
  135. data/app/pb_kits/playbook/pb_user/docs/_user_with_territory.jsx +57 -0
  136. data/app/pb_kits/playbook/pb_user/docs/example.yml +8 -0
  137. data/app/pb_kits/playbook/pb_user/docs/index.js +5 -0
  138. data/app/pb_kits/playbook/pb_user/user.rb +12 -1
  139. data/app/pb_kits/playbook/props.rb +11 -3
  140. data/app/pb_kits/playbook/tokens/_colors.scss +16 -0
  141. data/app/pb_kits/playbook/tokens/_transition.scss +1 -0
  142. data/lib/playbook/version.rb +1 -1
  143. metadata +117 -15
  144. data/app/pb_kits/playbook/pb_layout/docs/_layout_lg.html.erb +0 -4
  145. data/app/pb_kits/playbook/pb_layout/docs/_layout_lg_dark.html.erb +0 -4
  146. data/app/pb_kits/playbook/pb_layout/docs/_layout_md.html.erb +0 -4
  147. data/app/pb_kits/playbook/pb_layout/docs/_layout_md_dark.html.erb +0 -4
  148. data/app/pb_kits/playbook/pb_layout/docs/_layout_sm.html.erb +0 -4
  149. data/app/pb_kits/playbook/pb_layout/docs/_layout_sm_dark.html.erb +0 -4
  150. data/app/pb_kits/playbook/pb_layout/docs/_layout_xl.html.erb +0 -4
  151. data/app/pb_kits/playbook/pb_layout/docs/_layout_xl_dark.html.erb +0 -4
  152. data/app/pb_kits/playbook/pb_layout/docs/_layout_xs.html.erb +0 -4
  153. data/app/pb_kits/playbook/pb_layout/docs/_layout_xs.jsx +0 -15
  154. data/app/pb_kits/playbook/pb_layout/docs/_layout_xs_dark.html.erb +0 -4
  155. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_default.jsx +0 -10
@@ -1 +1,3 @@
1
- export {default as SectionSeparatorDefault} from './_section_separator_default.jsx';
1
+ export {default as SectionSeparatorLine} from './_section_separator_line.jsx'
2
+ export {default as SectionSeparatorText} from './_section_separator_text.jsx'
3
+ export {default as SectionSeparatorTextBackground} from './_section_separator_text_background.jsx'
@@ -8,9 +8,12 @@ module Playbook
8
8
  partial "pb_section_separator/section_separator"
9
9
 
10
10
  prop :text
11
+ prop :variant, type: Playbook::Props::Enum,
12
+ values: %w[card background],
13
+ default: "card"
11
14
 
12
15
  def classname
13
- generate_classname("pb_section_separator_kit")
16
+ generate_classname("pb_section_separator_kit",variant)
14
17
  end
15
18
  end
16
19
  end
@@ -0,0 +1,33 @@
1
+ <%= content_tag(:div,
2
+ id: object.id,
3
+ data: object.data,
4
+ aria: object.aria,
5
+ class: object.classname) do %>
6
+ <% if object.label %>
7
+ <label class="pb_select_kit_label" for="<%= object.name %>">
8
+ <%= pb_rails("caption", props: { text: object.label, dark: object.dark, }) %>
9
+ </label>
10
+ <% end %>
11
+ <label class="pb_select_kit_wrapper" for="<%= object.name %>">
12
+ <% if object.children %>
13
+ <%= capture(&object.children) %>
14
+ <% else %>
15
+ <%= select_tag(
16
+ object.name,
17
+ options_for_select(
18
+ object.options_to_array,
19
+ selected: object.selected,
20
+ disabled: object.disabled_options,
21
+ ),
22
+ prompt: object.blank_selection,
23
+ disabled: object.disabled,
24
+ required: object.required,
25
+ multiple: object.multiple,
26
+ onchange: object.onchange,
27
+ include_blank: object.include_blank,
28
+ )
29
+ %>
30
+ <% end %>
31
+ <%= pb_rails("icon", props: { icon: "angle-down", fixed_width: true, classname: "pb_select_kit_caret"}) %>
32
+ </label>
33
+ <% end %>
@@ -0,0 +1,110 @@
1
+ /* @flow */
2
+ /*eslint-disable react/no-multi-comp, flowtype/space-before-type-colon */
3
+
4
+ import React from 'react'
5
+ import classnames from 'classnames'
6
+
7
+ import {
8
+ Caption,
9
+ Icon,
10
+ } from "../"
11
+
12
+ import {
13
+ buildAriaProps,
14
+ buildDataProps,
15
+ buildCss,
16
+ } from '../utilities/props'
17
+
18
+ type SelectProps = {
19
+ className?: String,
20
+ aria?: object,
21
+ data?: object,
22
+ onChange: PropTypes.func,
23
+ children?: Array<React.ReactChild>,
24
+ options: Array<Object>,
25
+ id?: String,
26
+ label?: String,
27
+ value?: String,
28
+ name?: String,
29
+ dark?: Boolean,
30
+ includeBlank?: String,
31
+ blankSelection?: String,
32
+ required?: Boolean,
33
+ disabled?: Boolean,
34
+ multiple?: Boolean,
35
+ }
36
+
37
+
38
+ const optionsArray = ({options=[]}: SelectProps) => {
39
+ return options.map((optionObject, index) => {
40
+ return (
41
+ <option
42
+ value={optionObject.value}
43
+ selected={optionObject.selected}
44
+ disabled={optionObject.disabled}
45
+ >{optionObject.valueText || optionObject.value}</option>
46
+ );
47
+ })
48
+ }
49
+
50
+ const Select = ( props: SelectProps) => {
51
+
52
+ const {
53
+ className,
54
+ children,
55
+ label,
56
+ value,
57
+ dark=false,
58
+ name,
59
+ id,
60
+ options,
61
+ includeBlank,
62
+ blankSelection,
63
+ required=false,
64
+ disabled=false,
65
+ multiple=false,
66
+ onChange=() => {},
67
+ aria = {},
68
+ data = {},
69
+ } = props
70
+
71
+ const css = buildCss({
72
+ 'pb_select': true,
73
+ 'dark': dark === true,
74
+ })
75
+ const ariaProps = buildAriaProps(aria)
76
+ const dataProps = buildDataProps(data)
77
+ const optionsList = optionsArray({options})
78
+
79
+ return (
80
+ <div {...ariaProps} {...dataProps} className={css}>
81
+ <If condition={label}>
82
+ <label className='pb_select_kit_label' htmlFor={name}>
83
+ <Caption text={label} dark={dark}/>
84
+ </label>
85
+ </If>
86
+ <label className='pb_select_kit_wrapper' htmlFor={name}>
87
+ <If condition={children}>
88
+ {children}
89
+ <Else/>
90
+ <select
91
+ name={name}
92
+ id={name}
93
+ disabled={disabled}
94
+ required={required}
95
+ multiple={multiple}
96
+ onChange={onChange}>
97
+ <If condition={blankSelection}>
98
+ <option value="">{blankSelection}</option>
99
+ </If>
100
+ {optionsList}
101
+ </select>
102
+ </If>
103
+ <Icon icon="angle-down" className='pb_select_kit_caret' fixedWidth />
104
+ </label>
105
+ </div>
106
+ )
107
+ }
108
+
109
+
110
+ export default Select
@@ -0,0 +1,50 @@
1
+ @import "../pb_body/body_mixins";
2
+ @import "../pb_textarea/textarea_mixin";
3
+ @import "../tokens/colors";
4
+
5
+ [class^=pb_select] {
6
+ margin-bottom: $space_sm;
7
+ select {
8
+ @include pb_textarea_light;
9
+ appearance: none;
10
+ cursor: pointer;
11
+ box-shadow: inset 0 -11px 20px rgba($primary, 0.05);
12
+ padding-right: $space_lg;
13
+ &:hover, &:active, &:focus {
14
+ background-color: $focus_input_light;
15
+ }
16
+ &:disabled ~ .pb_select_kit_caret {
17
+ opacity: 0.5;
18
+ }
19
+ }
20
+ .pb_select_kit_label {
21
+ margin-bottom: $space_xs;
22
+ display: block;
23
+ }
24
+ .pb_select_kit_wrapper {
25
+ position: relative;
26
+ display: block;
27
+ }
28
+ .pb_select_kit_caret {
29
+ position: absolute;
30
+ right: $space_sm;
31
+ top: 50%;
32
+ display: block;
33
+ color: $text_lt_default;
34
+ font-size: ($font_large + 3);
35
+ transform: translateY(-50%);
36
+ }
37
+ &[class*=_dark] {
38
+ select {
39
+ @include pb_textarea_dark;
40
+ background: $focus_input_dark;
41
+ box-shadow: inset 0 -11px 20px rgba($white, 0.05);
42
+ &:hover, &:active, &:focus {
43
+ background-color: tint($focus_input_dark, 5%);
44
+ }
45
+ }
46
+ .pb_select_kit_caret {
47
+ color: $white;
48
+ }
49
+ }
50
+ }
@@ -0,0 +1,19 @@
1
+ <%= pb_rails("select", props: {
2
+ label: "Where do you live",
3
+ name: "location",
4
+ blank_selection: "Select One...",
5
+ options: [
6
+ {
7
+ value: "USA",
8
+ },
9
+ {
10
+ value: "Canada",
11
+ },
12
+ {
13
+ value: "Brazil",
14
+ },
15
+ {
16
+ value: "Philippines",
17
+ },
18
+ ]
19
+ }) %>
@@ -0,0 +1,30 @@
1
+ import React from 'react'
2
+ import {Select} from '../../'
3
+
4
+ function SelectBlank() {
5
+ return (
6
+ <div>
7
+ <Select
8
+ label='Where do you live'
9
+ name='location'
10
+ blankSelection='Select One...'
11
+ options={[
12
+ {
13
+ value: 'USA',
14
+ },
15
+ {
16
+ value: 'Canada',
17
+ },
18
+ {
19
+ value: 'Brazil',
20
+ },
21
+ {
22
+ value: 'Philippines',
23
+ },
24
+ ]}
25
+ />
26
+ </div>
27
+ )
28
+ }
29
+
30
+ export default SelectBlank
@@ -0,0 +1,8 @@
1
+ <%= pb_rails("select", props: { label: "Favorite Holiday" }) do %>
2
+ <select name="holiday" id="holiday">
3
+ <option value="1">Christmas</option>
4
+ <option value="2">Thanksgiving</option>
5
+ <option value="3">Halloween</option>
6
+ <option value="4">Fourth of July</option>
7
+ </select>
8
+ <% end %>
@@ -0,0 +1,19 @@
1
+ import React from 'react'
2
+ import {Select} from '../../'
3
+
4
+ function SelectCustomSelect() {
5
+ return (
6
+ <div>
7
+ <Select label='Favorite Holiday'>
8
+ <select name="holiday" id="holiday">
9
+ <option value="1">Christmas</option>
10
+ <option value="2">Thanksgiving</option>
11
+ <option value="3">Halloween</option>
12
+ <option value="4">Fourth of July</option>
13
+ </select>
14
+ </Select>
15
+ </div>
16
+ )
17
+ }
18
+
19
+ export default SelectCustomSelect
@@ -0,0 +1,24 @@
1
+ <%= pb_rails("select", props: {
2
+ label: "Favorite Food",
3
+ name: "food",
4
+ dark: true,
5
+ options: [
6
+ {
7
+ value: "1",
8
+ value_text: "Burgers",
9
+ },
10
+ {
11
+ value: "2",
12
+ selected: true,
13
+ value_text: "Pizza",
14
+ },
15
+ {
16
+ value: "3",
17
+ value_text: "Tacos",
18
+ },
19
+ {
20
+ value: "4",
21
+ value_text: "BBQ",
22
+ },
23
+ ]
24
+ }) %>
@@ -0,0 +1,31 @@
1
+ import React from 'react'
2
+ import {Select} from '../../'
3
+
4
+ function SelectDark() {
5
+ return (
6
+ <div>
7
+ <Select
8
+ label='Favorite Food'
9
+ name='food'
10
+ dark
11
+ options={[
12
+ {
13
+ value: '1',
14
+ valueText: 'Burgers',
15
+ },
16
+ {
17
+ value: '2',
18
+ selected: true,
19
+ valueText: 'Pizza',
20
+ },
21
+ {
22
+ value: '3',
23
+ valueText: 'Tacos',
24
+ },
25
+ ]}
26
+ />
27
+ </div>
28
+ )
29
+ }
30
+
31
+ export default SelectDark
@@ -0,0 +1,23 @@
1
+ <%= pb_rails("select", props: {
2
+ label: "Favorite Food",
3
+ name: "food",
4
+ options: [
5
+ {
6
+ value: "1",
7
+ value_text: "Burgers",
8
+ },
9
+ {
10
+ value: "2",
11
+ selected: true,
12
+ value_text: "Pizza",
13
+ },
14
+ {
15
+ value: "3",
16
+ value_text: "Tacos",
17
+ },
18
+ {
19
+ value: "4",
20
+ value_text: "BBQ",
21
+ },
22
+ ]
23
+ }) %>
@@ -0,0 +1,30 @@
1
+ import React from 'react'
2
+ import {Select} from '../../'
3
+
4
+ function SelectDefault() {
5
+ return (
6
+ <div>
7
+ <Select
8
+ label='Favorite Food'
9
+ name='food'
10
+ options={[
11
+ {
12
+ value: '1',
13
+ valueText: 'Burgers',
14
+ },
15
+ {
16
+ value: '2',
17
+ selected: true,
18
+ valueText: 'Pizza',
19
+ },
20
+ {
21
+ value: '3',
22
+ valueText: 'Tacos',
23
+ },
24
+ ]}
25
+ />
26
+ </div>
27
+ )
28
+ }
29
+
30
+ export default SelectDefault
@@ -0,0 +1,19 @@
1
+ <%= pb_rails("select", props: {
2
+ label: "Favorite Dessert",
3
+ disabled: true,
4
+ name: "dessert",
5
+ options: [
6
+ {
7
+ value: "Apple Pie",
8
+ },
9
+ {
10
+ value: "Cookies",
11
+ },
12
+ {
13
+ value: "Ice Cream",
14
+ },
15
+ {
16
+ value: "Brownies",
17
+ },
18
+ ]
19
+ }) %>
@@ -0,0 +1,30 @@
1
+ import React from 'react'
2
+ import {Select} from '../../'
3
+
4
+ function SelectDisabled() {
5
+ return (
6
+ <div>
7
+ <Select
8
+ label='Favorite Dessert'
9
+ disabled
10
+ name='dessert'
11
+ options={[
12
+ {
13
+ value: 'Apple Pie',
14
+ },
15
+ {
16
+ value: 'Cookies',
17
+ },
18
+ {
19
+ value: 'Ice Cream',
20
+ },
21
+ {
22
+ value: 'Brownies',
23
+ },
24
+ ]}
25
+ />
26
+ </div>
27
+ )
28
+ }
29
+
30
+ export default SelectDisabled