playbook_ui 8.4.0.alpha.dependencies.2 → 9.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) 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_form/docs/_description.md +2 -6
  7. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +1 -1
  8. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -4
  9. data/app/pb_kits/playbook/pb_form/docs/example.yml +2 -4
  10. data/app/pb_kits/playbook/pb_form/form.rb +14 -20
  11. data/app/pb_kits/playbook/pb_highlight/_highlight.jsx +1 -1
  12. data/app/pb_kits/playbook/pb_highlight/highlight.html.erb +3 -1
  13. data/app/pb_kits/playbook/pb_icon_stat_value/_icon_stat_value.jsx +3 -0
  14. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.html.erb +1 -0
  15. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.jsx +1 -1
  16. data/app/pb_kits/playbook/pb_progress_pills/docs/_description.md +3 -1
  17. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_default.html.erb +1 -1
  18. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_default.jsx +1 -0
  19. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_status.html.erb +1 -1
  20. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_status.jsx +1 -0
  21. data/app/pb_kits/playbook/pb_progress_pills/progress_pills.html.erb +1 -1
  22. data/app/pb_kits/playbook/pb_progress_pills/progress_pills.rb +5 -0
  23. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +69 -54
  24. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.jsx +2 -1
  25. data/app/pb_kits/playbook/pb_select/_select.scss +15 -5
  26. data/app/pb_kits/playbook/pb_select/docs/_select_custom_select.jsx +4 -1
  27. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +1 -1
  28. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_input.jsx +145 -135
  29. data/app/pb_kits/playbook/pb_stat_value/_stat_value.jsx +2 -0
  30. data/app/pb_kits/playbook/pb_stat_value/stat_value.html.erb +2 -0
  31. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +17 -18
  32. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +29 -19
  33. data/app/pb_kits/playbook/pb_textarea/_textarea_mixin.scss +9 -4
  34. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_character_counter.jsx +5 -1
  35. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_custom.jsx +4 -2
  36. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +20 -14
  37. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.jsx +1 -0
  38. data/app/pb_kits/playbook/tokens/_colors.scss +1 -1
  39. data/lib/playbook.rb +4 -1
  40. data/lib/playbook/forms.rb +3 -0
  41. data/lib/playbook/forms/builder.rb +31 -0
  42. data/{app/pb_kits/playbook/pb_form/form_builder → lib/playbook/forms/builder}/action_area.rb +2 -2
  43. data/lib/playbook/forms/builder/checkbox_field.rb +32 -0
  44. data/lib/playbook/forms/builder/collection_select_field.rb +19 -0
  45. data/lib/playbook/forms/builder/date_picker_field.rb +37 -0
  46. data/{app/pb_kits/playbook/pb_form/form_builder → lib/playbook/forms/builder}/form_field_builder.rb +2 -2
  47. data/lib/playbook/forms/builder/select_field.rb +19 -0
  48. data/lib/playbook/forms/builder/typeahead_field.rb +12 -0
  49. data/lib/playbook/pb_forms_helper.rb +41 -0
  50. data/lib/playbook/pb_kit_helper.rb +2 -0
  51. data/lib/playbook/props/base.rb +1 -1
  52. data/lib/playbook/version.rb +1 -2
  53. metadata +90 -61
  54. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +0 -60
  55. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb +0 -61
  56. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.md +0 -1
  57. data/app/pb_kits/playbook/pb_form/form_builder.rb +0 -31
  58. data/app/pb_kits/playbook/pb_form/form_builder/checkbox_field.rb +0 -34
  59. data/app/pb_kits/playbook/pb_form/form_builder/collection_select_field.rb +0 -21
  60. data/app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb +0 -39
  61. data/app/pb_kits/playbook/pb_form/form_builder/select_field.rb +0 -21
  62. data/app/pb_kits/playbook/pb_form/form_builder/typeahead_field.rb +0 -14
  63. data/app/pb_kits/playbook/pb_form/form_with.html.erb +0 -11
  64. data/app/pb_kits/playbook/pb_form/form_with.rb +0 -40
  65. data/app/pb_kits/playbook/pb_form/simple_form.html.erb +0 -11
  66. data/app/pb_kits/playbook/pb_form/simple_form.rb +0 -67
@@ -5,7 +5,7 @@ import {
5
5
  RichTextEditor,
6
6
  } from '../../'
7
7
 
8
- const RichTextEditorPreview = () => {
8
+ const RichTextEditorPreview = (props) => {
9
9
  const [showPreview, setShowPreview] = useState(false)
10
10
  const [previewText, setPreviewText] = useState(<div />)
11
11
 
@@ -19,6 +19,7 @@ const RichTextEditorPreview = () => {
19
19
  <RichTextEditor
20
20
  id="content-preview-editor"
21
21
  onChange={handleChange}
22
+ {...props}
22
23
  />
23
24
  <If condition={showPreview}>
24
25
  <Card marginTop="md">
@@ -7,7 +7,9 @@
7
7
  margin-bottom: $space_sm;
8
8
  select {
9
9
  @include pb_textarea_light;
10
- @include pb_title_4;
10
+ @include pb_body_light;
11
+ background: none;
12
+ background-color: $white;
11
13
  appearance: none;
12
14
  cursor: pointer;
13
15
  box-shadow: inset 0 -11px 20px rgba($primary, 0.05);
@@ -17,11 +19,16 @@
17
19
  white-space: nowrap;
18
20
  overflow: hidden;
19
21
  text-overflow: ellipsis;
22
+ max-height: 45px;
20
23
  @media (hover:hover) {
21
24
  &:hover, &:active, &:focus {
22
25
  background-color: $focus_input_light;
23
26
  }
24
27
  }
28
+ &:focus{
29
+ border-color: $primary;
30
+ @include transition_default;
31
+ }
25
32
  &:disabled ~ .pb_select_kit_caret {
26
33
  opacity: 0.5;
27
34
  }
@@ -61,9 +68,9 @@
61
68
  &.dark {
62
69
  select {
63
70
  @include pb_textarea_dark;
64
- @include pb_title_4;
65
- @include pb_title_dark;
66
- background: $focus_input_dark;
71
+ @include pb_body_light_dark;
72
+ background: none;
73
+ background-color: rgba($white,.10);
67
74
  box-shadow: inset 0 -11px 20px rgba($white, 0.05);
68
75
  text-shadow: 0 0 0 $text_dk_default;
69
76
  padding-right: $space_xl;
@@ -72,9 +79,12 @@
72
79
  text-overflow: ellipsis;
73
80
  @media (hover:hover) {
74
81
  &:hover, &:active, &:focus {
75
- background-color: tint($focus_input_dark, 5%);
82
+ background-color: rgba($white,.05);
76
83
  }
77
84
  }
85
+ &:focus{
86
+ border-color: $active_dark;
87
+ }
78
88
  }
79
89
  .pb_select_kit_caret {
80
90
  color: $white;
@@ -4,7 +4,10 @@ import { Select } from '../../'
4
4
  const SelectCustomSelect = (props) => {
5
5
  return (
6
6
  <div>
7
- <Select label="Favorite Holiday">
7
+ <Select
8
+ label="Favorite Holiday"
9
+ {...props}
10
+ >
8
11
  <select
9
12
  id="holiday"
10
13
  name="holiday"
@@ -111,7 +111,7 @@ $pb_selectable_card_border: 2px;
111
111
  }
112
112
 
113
113
  .separator {
114
- background: $bg_dark;
114
+ background: rgba($white,.1);
115
115
  }
116
116
 
117
117
  &.error {
@@ -1,158 +1,168 @@
1
- import React from 'react'
1
+ import React, { useState } from 'react'
2
2
  import {
3
3
  Body,
4
4
  SelectableCard,
5
5
  Title,
6
6
  } from '../../'
7
7
 
8
- class SelectableCardInput extends React.Component {
9
- state = {
8
+ const SelectableCardInput = (props) => {
9
+ const [state, setState] = useState({
10
10
  firstCheckbox: true,
11
11
  secondCheckbox: true,
12
12
  thirdCheckbox: false,
13
13
  forthCheckbox: false,
14
14
  radioSelected: 'first',
15
- }
15
+ })
16
16
 
17
- handleSelect = (event) => {
18
- this.setState({
17
+ const handleSelect = (event) => {
18
+ setState({ ...state,
19
19
  [event.target.name]: event.target.checked,
20
20
  })
21
21
  }
22
22
 
23
- handleRadioSelect = (event) => {
24
- this.setState({
23
+ const handleRadioSelect = (event) => {
24
+ setState({
25
+ ...state,
25
26
  radioSelected: event.target.value,
26
27
  })
27
28
  }
28
29
 
29
- render() {
30
- return (
31
- <>
32
- <Title
33
- size={3}
34
- text="What programming languages do you know?"
35
- />
36
-
37
- <br />
38
-
39
- <SelectableCard
40
- checked={this.state.firstCheckbox}
41
- inputId="firstCheckbox"
42
- name="firstCheckbox"
43
- onChange={this.handleSelect}
44
- value="firstCheckbox"
45
- variant="displayInput"
46
- >
47
- <Body>{'Ruby'}</Body>
48
- </SelectableCard>
49
-
50
- <SelectableCard
51
- checked={this.state.secondCheckbox}
52
- inputId="secondCheckbox"
53
- name="secondCheckbox"
54
- onChange={this.handleSelect}
55
- value="secondCheckbox"
56
- variant="displayInput"
57
- >
58
- <Body>{'JavaScript'}</Body>
59
- </SelectableCard>
60
-
61
- <SelectableCard
62
- checked={this.state.thirdCheckbox}
63
- inputId="thirdCheckbox"
64
- name="thirdCheckbox"
65
- onChange={this.handleSelect}
66
- value="thirdCheckbox"
67
- variant="displayInput"
68
- >
69
- <Body>{'TypeScript'}</Body>
70
- </SelectableCard>
71
-
72
- <SelectableCard
73
- checked={this.state.fourthCheckbox}
74
- inputId="fourthCheckbox"
75
- name="fourthCheckbox"
76
- onChange={this.handleSelect}
77
- value="fourthCheckbox"
78
- variant="displayInput"
79
- >
80
- <Body>{'Swift'}</Body>
81
- </SelectableCard>
82
-
83
- <br />
84
-
85
- <Title
86
- size={3}
87
- text="How likely are you to recommend Playbook to a friend?"
88
- />
89
-
90
- <br />
91
-
92
- <SelectableCard
93
- checked={this.state.radioSelected === 'first'}
94
- inputId="radio-1"
95
- multi={false}
96
- name="radio"
97
- onChange={this.handleRadioSelect}
98
- value="first"
99
- variant="displayInput"
100
- >
101
- <Body>{'5'}</Body>
102
- </SelectableCard>
103
-
104
- <SelectableCard
105
- checked={this.state.radioSelected === 'second'}
106
- inputId="radio-2"
107
- multi={false}
108
- name="radio"
109
- onChange={this.handleRadioSelect}
110
- value="second"
111
- variant="displayInput"
112
- >
113
- <Body>
114
- {'4'}
115
- </Body>
116
- </SelectableCard>
117
-
118
- <SelectableCard
119
- checked={this.state.radioSelected === 'third'}
120
- inputId="radio-3"
121
- multi={false}
122
- name="radio"
123
- onChange={this.handleRadioSelect}
124
- value="third"
125
- variant="displayInput"
126
- >
127
- <Body>{'3'}</Body>
128
- </SelectableCard>
129
-
130
- <SelectableCard
131
- checked={this.state.radioSelected === 'fourth'}
132
- inputId="radio-4"
133
- multi={false}
134
- name="radio"
135
- onChange={this.handleRadioSelect}
136
- value="fourth"
137
- variant="displayInput"
138
- >
139
- <Body>{'2'}</Body>
140
- </SelectableCard>
141
-
142
- <SelectableCard
143
- checked={this.state.radioSelected === 'fifth'}
144
- inputId="radio-5"
145
- multi={false}
146
- name="radio"
147
- onChange={this.handleRadioSelect}
148
- value="fifth"
149
- variant="displayInput"
150
- >
151
- <Body>{'1'}</Body>
152
- </SelectableCard>
153
- </>
154
- )
155
- }
30
+ return (
31
+ <>
32
+ <Title
33
+ size={3}
34
+ text="What programming languages do you know?"
35
+ {...props}
36
+ />
37
+
38
+ <br />
39
+
40
+ <SelectableCard
41
+ checked={state.firstCheckbox}
42
+ inputId="firstCheckbox"
43
+ name="firstCheckbox"
44
+ onChange={handleSelect}
45
+ value="firstCheckbox"
46
+ variant="displayInput"
47
+ {...props}
48
+ >
49
+ <Body {...props}>{'Ruby'}</Body>
50
+ </SelectableCard>
51
+
52
+ <SelectableCard
53
+ checked={state.secondCheckbox}
54
+ inputId="secondCheckbox"
55
+ name="secondCheckbox"
56
+ onChange={handleSelect}
57
+ value="secondCheckbox"
58
+ variant="displayInput"
59
+ {...props}
60
+ >
61
+ <Body {...props}>{'JavaScript'}</Body>
62
+ </SelectableCard>
63
+
64
+ <SelectableCard
65
+ checked={state.thirdCheckbox}
66
+ inputId="thirdCheckbox"
67
+ name="thirdCheckbox"
68
+ onChange={handleSelect}
69
+ value="thirdCheckbox"
70
+ variant="displayInput"
71
+ {...props}
72
+ >
73
+ <Body {...props}>{'TypeScript'}</Body>
74
+ </SelectableCard>
75
+
76
+ <SelectableCard
77
+ checked={state.fourthCheckbox}
78
+ inputId="fourthCheckbox"
79
+ name="fourthCheckbox"
80
+ onChange={handleSelect}
81
+ value="fourthCheckbox"
82
+ variant="displayInput"
83
+ {...props}
84
+ >
85
+ <Body {...props}>{'Swift'}</Body>
86
+ </SelectableCard>
87
+
88
+ <br />
89
+
90
+ <Title
91
+ size={3}
92
+ text="How likely are you to recommend Playbook to a friend?"
93
+ {...props}
94
+ />
95
+
96
+ <br />
97
+
98
+ <SelectableCard
99
+ checked={state.radioSelected === 'first'}
100
+ inputId="radio-1"
101
+ multi={false}
102
+ name="radio"
103
+ onChange={handleRadioSelect}
104
+ value="first"
105
+ variant="displayInput"
106
+ {...props}
107
+ >
108
+ <Body {...props}>{'5'}</Body>
109
+ </SelectableCard>
110
+
111
+ <SelectableCard
112
+ checked={state.radioSelected === 'second'}
113
+ inputId="radio-2"
114
+ multi={false}
115
+ name="radio"
116
+ onChange={handleRadioSelect}
117
+ value="second"
118
+ variant="displayInput"
119
+ {...props}
120
+ >
121
+ <Body {...props}>
122
+ {'4'}
123
+ </Body>
124
+ </SelectableCard>
125
+
126
+ <SelectableCard
127
+ checked={state.radioSelected === 'third'}
128
+ inputId="radio-3"
129
+ multi={false}
130
+ name="radio"
131
+ onChange={handleRadioSelect}
132
+ value="third"
133
+ variant="displayInput"
134
+ {...props}
135
+ >
136
+ <Body {...props}>{'3'}</Body>
137
+ </SelectableCard>
138
+
139
+ <SelectableCard
140
+ checked={state.radioSelected === 'fourth'}
141
+ inputId="radio-4"
142
+ multi={false}
143
+ name="radio"
144
+ onChange={handleRadioSelect}
145
+ value="fourth"
146
+ variant="displayInput"
147
+ {...props}
148
+ >
149
+ <Body {...props}>{'2'}</Body>
150
+ </SelectableCard>
151
+
152
+ <SelectableCard
153
+ checked={state.radioSelected === 'fifth'}
154
+ inputId="radio-5"
155
+ multi={false}
156
+ name="radio"
157
+ onChange={handleRadioSelect}
158
+ value="fifth"
159
+ variant="displayInput"
160
+ {...props}
161
+ >
162
+ <Body {...props}>{'1'}</Body>
163
+ </SelectableCard>
164
+ </>
165
+ )
156
166
  }
157
167
 
158
168
  export default SelectableCardInput
@@ -25,6 +25,7 @@ const StatValue = (props: StatValueProps) => {
25
25
  return (
26
26
  <Title
27
27
  size={1}
28
+ tag="span"
28
29
  text={`${value}`}
29
30
  />
30
31
  )
@@ -36,6 +37,7 @@ const StatValue = (props: StatValueProps) => {
36
37
  return (
37
38
  <Title
38
39
  size={3}
40
+ tag="span"
39
41
  text={unit}
40
42
  />
41
43
  )
@@ -6,10 +6,12 @@
6
6
  <%= pb_rails "title", props: {
7
7
  classname: "pb_stat_value_kit",
8
8
  size: 1,
9
+ tag: "span",
9
10
  text: object.formatted_value } %>
10
11
  &nbsp;
11
12
  <%= pb_rails "title", props: {
12
13
  classname: "pb_stat_value_kit",
14
+ tag: "span",
13
15
  size: 3,
14
16
  text: object.unit } %>
15
17
  </div>
@@ -8,59 +8,59 @@
8
8
  margin-bottom: $space_xs;
9
9
  display: block;
10
10
  }
11
-
12
11
  .text_input_wrapper {
13
12
  margin-bottom: $space_sm;
14
13
  display: block;
15
-
16
14
  input::placeholder,
17
15
  .text_input .placeholder {
18
16
  @include pb_body_light;
19
17
  }
20
-
21
18
  input,
22
19
  .text_input {
20
+ max-height: 45px;
23
21
  @include pb_textarea_light;
24
- @include pb_title_4;
25
22
  overflow: hidden;
26
23
  }
27
-
24
+ input:hover,
25
+ .text_input:hover{
26
+ background-color: rgba($focus_input_light,$opacity_5);
27
+ }
28
28
  input:focus,
29
29
  .text_input:focus,
30
30
  input:-webkit-autofill:focus,
31
31
  .text_input:-webkit-autofill:focus {
32
32
  @include pb_textarea_focus;
33
- -webkit-box-shadow: 0 0 0px 1000px $focus_input_light inset;
34
- transition: background-color 5000s ease-in-out 0s;
33
+ @include transition_default;
34
+ border-color: $primary;
35
+ background-color: rgba($focus_input_light,$opacity_5);
35
36
  }
36
37
  }
37
-
38
38
  &.dark {
39
39
  .text_input_wrapper {
40
40
  margin-bottom: 1rem;
41
-
42
41
  input::placeholder,
43
42
  .text_input .placeholder {
44
43
  @include pb_body_light_dark;
45
44
  }
46
-
47
45
  input, .text_input {
48
46
  @include pb_textarea_dark;
49
- @include pb_title_4;
50
- @include pb_title_dark;
47
+ @include pb_body_dark;
51
48
  overflow: hidden;
49
+ background-color: rgba($white,$opacity_1);
50
+ border-color: rgba($white, 0.15);
51
+ }
52
+ input:hover,
53
+ .text_input:hover{
54
+ background-color: rgba($white, 0.15);
52
55
  }
53
-
54
56
  input:focus,
55
57
  .text_input:focus,
56
58
  input:-webkit-autofill:focus,
57
59
  .text_input:-webkit-autofill:focus {
58
- @include pb_textarea_focus_dark;
59
- -webkit-box-shadow: 0 0 0px 1000px $focus_input_dark inset;
60
- transition: background-color 5000s ease-in-out 0s;
60
+ border-color: $active_dark;
61
+ background-color: rgba($white, 0.025);
61
62
  }
62
63
  }
63
-
64
64
  &.error {
65
65
  .text_input_wrapper {
66
66
  input, .text_input {
@@ -69,7 +69,6 @@
69
69
  }
70
70
  }
71
71
  }
72
-
73
72
  &.error {
74
73
  .text_input_wrapper {
75
74
  [class*=pb_body_kit] {