playbook_ui 8.3.0.deps2 → 8.3.0.pre.alpha1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9ec789bb91a24cba8a449733dd2695b067f1aa224e3b871b917bc5a95a896382
4
- data.tar.gz: bf501dfb78c8cc977d1f7ddde8a1314ac93dbf64bf9bd57105cd58a7d0dde406
3
+ metadata.gz: ce6fc42c5e35b98e211b6039d6cfe3f638ceffb3a108b1491b91109202b2f111
4
+ data.tar.gz: 4f9bc62b51a8e6c8a72f8d5351645e8bd9a06447c3f8806b0f2bd22c587d02e8
5
5
  SHA512:
6
- metadata.gz: c59c45f9a192416934d4c442641e9f94d75f6fed0df1ac210d7d62ffd126abf7eb500ac28e55ccf13218f29d19db767c1963aed03fac1492dfd8077a73a8b830
7
- data.tar.gz: f6f81ef9765baa467cf99697747bc262171c972ac46e3cc99a227cfc2445bd9141799509b4b5461d31bdfc484e20720f73f7896dd98da74f2c812088c3b19de3
6
+ metadata.gz: 50867043ffa155cfed91f6a84b349de9da8ab9ed05848feda20b2a198895376e0c3b11f98386a729d6b7016c2a369cf99b441bb08cca6441ad8600b5cd9da7c0
7
+ data.tar.gz: a8711b9503e9aa150fb5edf7c588a13a986a39e91aa92cbd6a65fbc0e1165632dd323433dc6dca2ea425d19e261e71a51febde3a2ea8fe04ea3f3b7af2ff227f
data/Rakefile CHANGED
@@ -4,12 +4,29 @@ rescue LoadError
4
4
  puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
5
  end
6
6
 
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'Playbook'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.md')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
7
17
  APP_RAKEFILE = File.expand_path("spec/dummy/Rakefile", __dir__)
8
18
  load 'rails/tasks/engine.rake'
19
+
9
20
  load 'rails/tasks/statistics.rake'
10
21
 
11
22
  require 'bundler/gem_tasks'
12
23
 
13
- Dir["private/tasks/*.rake"].each(&method(:load))
24
+ require 'rake/testtask'
25
+
26
+ Rake::TestTask.new(:test) do |t|
27
+ t.libs << 'test'
28
+ t.pattern = 'spec/**/*_spec.rb'
29
+ t.verbose = false
30
+ end
14
31
 
15
32
  task default: :test
@@ -7,7 +7,6 @@ kits:
7
7
  - button_toolbar
8
8
  - circle_icon_button
9
9
  - card
10
- - checkbox
11
10
  - collapsible
12
11
  - charts_and_graphs:
13
12
  - bar_graph
@@ -21,12 +20,14 @@ kits:
21
20
  - fixed_confirmation_toast
22
21
  - flex
23
22
  - forms:
23
+ - checkbox
24
24
  - date_picker
25
25
  - file_upload
26
26
  - form
27
27
  - form_group
28
28
  - form_pill
29
29
  - radio
30
+ - rich_text_editor
30
31
  - select
31
32
  - selectable_card
32
33
  - selectable_card_icon
@@ -57,7 +58,6 @@ kits:
57
58
  - progress_pills
58
59
  - progress_simple
59
60
  - progress_step
60
- - rich_text_editor
61
61
  - section_separator
62
62
  - source
63
63
  - star_rating
@@ -96,4 +96,3 @@ kits:
96
96
  - weekday_stacked
97
97
  - user
98
98
  - user_badge
99
-
@@ -9,6 +9,7 @@
9
9
  @import "./trix_styles";
10
10
 
11
11
 
12
+
12
13
  .trix-content pre {
13
14
  display: inline-block;
14
15
  width: 100%;
@@ -25,9 +26,6 @@
25
26
 
26
27
  [class^=pb_rich_text_editor_kit] {
27
28
 
28
-
29
-
30
- // trix-toolbar { display: none; }
31
29
  // Disables File Attatchment Button in Toolbar
32
30
  trix-toolbar [data-trix-button-group="file-tools"] {
33
31
  display: none;
@@ -64,6 +62,19 @@
64
62
  border-top-right-radius: $border_rad_heavier !important;
65
63
  }
66
64
  }
65
+ &:focus-within{
66
+ .trix-button-row, trix-editor {
67
+ background-color: $focus_input_light;
68
+ border-color: $primary;
69
+ }
70
+ }
71
+ .trix-dialog.trix-dialog--link{
72
+ background-color: $white ;
73
+ border: 1px solid $border_light;
74
+ box-shadow: none;
75
+ margin-top: $space_sm;
76
+ margin-left: $space_sm;
77
+ }
67
78
 
68
79
  &.sticky {
69
80
  trix-toolbar {
@@ -87,7 +98,7 @@
87
98
  height: $space_lg;
88
99
  width: $space_lg;
89
100
  margin: $space_xs / 2;
90
- border-radius: $space_xs / 4;
101
+ border-radius: $border_rad_heavier;
91
102
  &::before {
92
103
  background-size: auto;
93
104
  }
@@ -113,6 +124,12 @@
113
124
  }
114
125
  }
115
126
  }
127
+
128
+ button.trix-button.trix-button--icon.trix-button{
129
+ &:hover{
130
+ background-color: rgba($border_light, 0.50);
131
+ }
132
+ }
116
133
  }
117
134
 
118
135
 
@@ -121,6 +138,7 @@
121
138
  // https://github.com/basecamp/trix/issues/464#issuecomment-564683997
122
139
 
123
140
  &[class*=dark] {
141
+
124
142
  // Dark SVG Icon Styles
125
143
  .trix-button--icon-bold::before {
126
144
  background-image: url("data:image/svg+xml,%3Csvg width='11px' height='14px' viewBox='0 0 11 14' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg id='Symbols' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' fill-opacity='0.6'%3E%3Cg id='Rich-Text/Dark/Field-Only/Empty' transform='translate(-19.000000, -17.000000)' fill='%23FFFFFF' fill-rule='nonzero'%3E%3Cg id='Styling1' transform='translate(7.000000, 7.000000)'%3E%3Cpath d='M20.6,16.79 C21.565,16.115 22.25,15.025 22.25,14 C22.25,11.745 20.505,10 18.25,10 L12,10 L12,24 L19.04,24 C21.135,24 22.75,22.3 22.75,20.21 C22.75,18.69 21.885,17.395 20.6,16.79 Z M15,12.5 L18,12.5 C18.83,12.5 19.5,13.17 19.5,14 C19.5,14.83 18.83,15.5 18,15.5 L15,15.5 L15,12.5 L15,12.5 Z M18.5,21.5 L15,21.5 L15,18.5 L18.5,18.5 C19.33,18.5 20,19.17 20,20 C20,20.83 19.33,21.5 18.5,21.5 Z' id='Shape'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
@@ -183,34 +201,62 @@
183
201
 
184
202
  // Dark Mode Placeholder
185
203
  trix-editor:empty:not(:focus)::before {
186
- color: $text_dk_light;
204
+ color: $focus_input_dark;
187
205
  }
188
206
 
189
207
  trix-editor {
190
- @include pb_textarea_dark;
191
- background: #2f3968;
208
+ background-color: rgba($white, 0.1);
209
+ border-color: rgba($white, 0.15);
192
210
  border-top-left-radius: 0;
193
211
  border-top-right-radius: 0;
212
+ color: $text_dk_default;
194
213
  }
195
214
 
196
215
  trix-toolbar {
197
216
  .trix-button-row {
198
- background: #2f3968;
199
- border: 1px solid rgba(255, 255, 255, 0.1) !important;
217
+ background-color: rgba($white, 0.1);
218
+ border: 1px solid rgba($white, 0.15);
219
+ border-bottom: 0;
220
+ }
221
+ .trix-active{
222
+ background: $active_dark !important;
223
+ }
224
+ button.trix-button.trix-button--icon.trix-button{
225
+ &:hover{
226
+ background-color: rgba($white, 0.15);
227
+ }
228
+ &:focus{
229
+ background-color: $active_dark !important;
230
+ }
231
+ }
232
+ &:focus{
233
+ border-color:$active_dark;
200
234
  }
201
- }
202
235
 
203
- trix-editor:focus {
204
- @include pb_textarea_focus_dark;
236
+ }
237
+
238
+ &:focus-within{
239
+ .trix-button-row, trix-editor {
240
+ background-color: rgba($white, 0.03);
241
+ border-color: $active_dark !important;
242
+ }
205
243
  }
206
244
 
207
245
  &.error {
208
- > trix-editor {
246
+ trix-editor {
209
247
  border-color: $error_dark;
210
248
  }
211
249
  }
250
+
251
+ .trix-dialog.trix-dialog--link.trix-active{
252
+ background-color: tint($bg_dark, 10%) !important;
253
+ border: 1px solid rgba($white, 0.1);
254
+ box-shadow: none;
255
+ margin-top: $space_sm;
256
+ margin-left: $space_sm;
257
+ }
258
+ .trix-button--dialog{
259
+ color: $white;
260
+ }
212
261
  }
213
262
  }
214
-
215
-
216
-
@@ -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);
@@ -22,6 +24,9 @@
22
24
  background-color: $focus_input_light;
23
25
  }
24
26
  }
27
+ &:focus{
28
+ border-color: $primary;
29
+ }
25
30
  &:disabled ~ .pb_select_kit_caret {
26
31
  opacity: 0.5;
27
32
  }
@@ -61,9 +66,10 @@
61
66
  &.dark {
62
67
  select {
63
68
  @include pb_textarea_dark;
64
- @include pb_title_4;
65
- @include pb_title_dark;
66
- background: $focus_input_dark;
69
+ @include pb_body_light_dark;
70
+ background: none;
71
+
72
+ background-color: rgba($white,.10);
67
73
  box-shadow: inset 0 -11px 20px rgba($white, 0.05);
68
74
  text-shadow: 0 0 0 $text_dk_default;
69
75
  padding-right: $space_xl;
@@ -72,9 +78,12 @@
72
78
  text-overflow: ellipsis;
73
79
  @media (hover:hover) {
74
80
  &:hover, &:active, &:focus {
75
- background-color: tint($focus_input_dark, 5%);
81
+ background-color: rgba($white,.05);
76
82
  }
77
83
  }
84
+ &:focus{
85
+ border-color: $active_dark;
86
+ }
78
87
  }
79
88
  .pb_select_kit_caret {
80
89
  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
@@ -21,15 +21,20 @@
21
21
  input,
22
22
  .text_input {
23
23
  @include pb_textarea_light;
24
- @include pb_title_4;
25
24
  overflow: hidden;
26
25
  }
27
26
 
27
+ input:hover,
28
+ .text_input:hover{
29
+ background-color: rgba($focus_input_light,$opacity_5);
30
+ }
31
+
28
32
  input:focus,
29
33
  .text_input:focus,
30
34
  input:-webkit-autofill:focus,
31
35
  .text_input:-webkit-autofill:focus {
32
36
  @include pb_textarea_focus;
37
+ border-color: $primary;
33
38
  -webkit-box-shadow: 0 0 0px 1000px $focus_input_light inset;
34
39
  transition: background-color 5000s ease-in-out 0s;
35
40
  }
@@ -46,18 +51,25 @@
46
51
 
47
52
  input, .text_input {
48
53
  @include pb_textarea_dark;
49
- @include pb_title_4;
50
- @include pb_title_dark;
54
+ @include pb_body_dark;
51
55
  overflow: hidden;
56
+ background-color: rgba($white,$opacity_1);
57
+ border-color: rgba($white, 0.15);
58
+ }
59
+
60
+ input:hover,
61
+ .text_input:hover{
62
+ background-color: rgba($white, 0.15);
52
63
  }
53
64
 
54
65
  input:focus,
55
66
  .text_input:focus,
56
67
  input:-webkit-autofill:focus,
57
68
  .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;
69
+ border-color: $active_dark;
70
+ background-color: rgba($white, 0.025);
71
+ -webkit-box-shadow: none;
72
+
61
73
  }
62
74
  }
63
75
 
@@ -5,28 +5,31 @@
5
5
 
6
6
  [class^=pb_textarea_kit] {
7
7
  margin-bottom: $space_sm;
8
+
8
9
  [class^=pb_caption_kit] {
9
10
  margin-bottom: $space_xs;
10
11
  display: block;
11
12
  }
12
- textarea::placeholder {
13
+ textarea::placeholder,
14
+ .pb_text_area_kit::placeholder {
13
15
  @include pb_body_light;
14
16
  }
15
- > textarea {
17
+ textarea,
18
+ .pb_text_area_kit {
16
19
  @include pb_textarea_light;
17
20
  }
18
- textarea:focus {
21
+ textarea:focus,
22
+ .pb_text_area_kit:focus {
23
+ border-color: $primary;
19
24
  @include pb_textarea_focus_light;
20
25
  }
21
26
 
22
- &.error {
23
- [class*=pb_body_kit] {
24
- margin-top: $space_xs / 2;
25
- }
26
- > textarea {
27
- border-color: $error;
28
- }
27
+ textarea:hover,
28
+ .pb_text_area_kit:hover {
29
+ background-color: rgba($focus_input_light,$opacity_5);
29
30
  }
31
+
32
+
30
33
  &.resize_both > textarea {
31
34
  resize: both;
32
35
  overflow: auto;
@@ -44,16 +47,29 @@
44
47
  textarea::placeholder {
45
48
  @include pb_body_light_dark;
46
49
  }
47
- > textarea {
48
- @include pb_textarea_dark;
50
+ textarea,
51
+ .pb_text_area_kit {
52
+ @include pb_body_dark;
53
+ background-color: rgba($white, $opacity_1);
54
+ border-color: rgba($white, 0.15);
49
55
  }
50
- textarea:focus {
51
- @include pb_textarea_focus_dark;
56
+ textarea:focus, .pb_text_area_kit:focus {
57
+ border-color: $active_dark;
58
+ background-color: rgba($white, 0.025);
59
+ -webkit-box-shadow: none;
52
60
  }
53
- &.error {
54
- > textarea {
55
- border-color: $error_dark;
56
- }
61
+ textarea:hover,
62
+ .pb_text_area_kit:hover {
63
+ background-color: rgba($white, 0.15);
64
+ }
65
+ }
66
+
67
+ &.error {
68
+ [class*=pb_body_kit] {
69
+ margin-top: $space_xs / 2;
70
+ }
71
+ textarea {
72
+ border-color: $error;
57
73
  }
58
74
  }
59
75
 
@@ -1,7 +1,7 @@
1
1
  import React, { useState } from 'react'
2
2
  import { Textarea } from '../../'
3
3
 
4
- const TextareaCharacterCounter = () => {
4
+ const TextareaCharacterCounter = (props) => {
5
5
  const [value1, setValue1] = useState('Counting characters!')
6
6
  const [value2, setValue2] = useState('This counter prevents the user from exceeding the maximum number of allowed characters. Just try it!')
7
7
  const [value3, setValue3] = useState('This counter alerts the user that they have exceeded the maximum number of allowed characters.')
@@ -41,6 +41,7 @@ const TextareaCharacterCounter = () => {
41
41
  label="Count Only"
42
42
  onChange={(event) => setCount1(event.target.value.length)}
43
43
  rows={4}
44
+ {...props}
44
45
  />
45
46
 
46
47
  <br />
@@ -52,6 +53,7 @@ const TextareaCharacterCounter = () => {
52
53
  onChange={() => handleMaxCount(event)}
53
54
  rows={4}
54
55
  value={value1}
56
+ {...props}
55
57
  />
56
58
 
57
59
  <br />
@@ -63,6 +65,7 @@ const TextareaCharacterCounter = () => {
63
65
  onChange={() => handleMaxCountWithBlocker(event, 100)}
64
66
  rows={4}
65
67
  value={value2}
68
+ {...props}
66
69
  />
67
70
 
68
71
  <br />
@@ -75,6 +78,7 @@ const TextareaCharacterCounter = () => {
75
78
  onChange={() => handleMaxCountWithError(event, 75)}
76
79
  rows={4}
77
80
  value={value3}
81
+ {...props}
78
82
  />
79
83
  </>
80
84
  )
@@ -4,12 +4,14 @@ import { Textarea } from '../../'
4
4
  const TextareaCustom = (props) => {
5
5
  return (
6
6
  <div>
7
- <Textarea label="Label">
7
+ <Textarea
8
+ label="Label"
9
+ {...props}
10
+ >
8
11
  <textarea
9
12
  className="my_custom_class"
10
13
  name="custom_textarea"
11
14
  rows={4}
12
- {...props}
13
15
  >
14
16
  {'Content goes here.'}
15
17
  </textarea>
@@ -4,9 +4,23 @@
4
4
  @import "../tokens/shadows";
5
5
 
6
6
  [class^=pb_typeahead_kit] {
7
+ .typeahead-kit-select__option {
8
+ cursor: pointer;
9
+ }
7
10
  .pb_typeahead_wrapper {
8
11
  position: relative;
9
12
 
13
+ .text_input_value_container{
14
+ cursor: text;
15
+ }
16
+ .text_input_indicators,
17
+ .pb_list_kit{
18
+ cursor: pointer;
19
+ }
20
+
21
+
22
+
23
+
10
24
  .pb_typeahead_loading_indicator {
11
25
  position: absolute;
12
26
  width: min-content;
@@ -97,8 +111,12 @@
97
111
  color: $white;
98
112
  }
99
113
  .typeahead-kit-select__option:hover {
100
- background-color: tint($focus_input_dark, 5%);
114
+ background-color: $active_dark;
115
+ }
116
+ .typeahead-kit-select__indicator:hover{
117
+ color: $white;
101
118
  }
119
+
102
120
  .typeahead-kit-select__input {
103
121
  color: white;
104
122
  input:focus {
@@ -109,7 +127,7 @@
109
127
  color: white;
110
128
  }
111
129
  .typeahead-kit-select__option--is-focused {
112
- background-color: tint($focus_input_dark, 5%);
130
+ background-color: $active_dark;
113
131
  }
114
132
 
115
133
  [class^=pb_list_kit] {
@@ -121,7 +139,7 @@
121
139
  }
122
140
  @media (hover:hover) {
123
141
  &:hover {
124
- background-color: tint($focus_input_dark, 5%);
142
+ background-color: rgba($white,.1);
125
143
  }
126
144
  }
127
145
  }
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Playbook
4
- VERSION = "8.3.0.deps2"
4
+ VERSION = "8.3.0.pre.alpha1"
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.3.0.deps2
4
+ version: 8.3.0.pre.alpha1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Power UX
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-03-30 00:00:00.000000000 Z
12
+ date: 2021-03-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -75,128 +75,128 @@ dependencies:
75
75
  name: react-rails
76
76
  requirement: !ruby/object:Gem::Requirement
77
77
  requirements:
78
- - - "~>"
78
+ - - '='
79
79
  - !ruby/object:Gem::Version
80
- version: '2.6'
80
+ version: 2.6.0
81
81
  type: :runtime
82
82
  prerelease: false
83
83
  version_requirements: !ruby/object:Gem::Requirement
84
84
  requirements:
85
- - - "~>"
85
+ - - '='
86
86
  - !ruby/object:Gem::Version
87
- version: '2.6'
87
+ version: 2.6.0
88
88
  - !ruby/object:Gem::Dependency
89
89
  name: redcarpet
90
90
  requirement: !ruby/object:Gem::Requirement
91
91
  requirements:
92
- - - "~>"
92
+ - - '='
93
93
  - !ruby/object:Gem::Version
94
- version: '3.5'
94
+ version: 3.5.1
95
95
  type: :runtime
96
96
  prerelease: false
97
97
  version_requirements: !ruby/object:Gem::Requirement
98
98
  requirements:
99
- - - "~>"
99
+ - - '='
100
100
  - !ruby/object:Gem::Version
101
- version: '3.5'
101
+ version: 3.5.1
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: rouge
104
104
  requirement: !ruby/object:Gem::Requirement
105
105
  requirements:
106
- - - "~>"
106
+ - - '='
107
107
  - !ruby/object:Gem::Version
108
- version: '3.15'
108
+ version: 3.15.0
109
109
  type: :runtime
110
110
  prerelease: false
111
111
  version_requirements: !ruby/object:Gem::Requirement
112
112
  requirements:
113
- - - "~>"
113
+ - - '='
114
114
  - !ruby/object:Gem::Version
115
- version: '3.15'
115
+ version: 3.15.0
116
116
  - !ruby/object:Gem::Dependency
117
117
  name: sassc-rails
118
118
  requirement: !ruby/object:Gem::Requirement
119
119
  requirements:
120
- - - "~>"
120
+ - - '='
121
121
  - !ruby/object:Gem::Version
122
- version: '1.3'
122
+ version: 1.3.0
123
123
  type: :runtime
124
124
  prerelease: false
125
125
  version_requirements: !ruby/object:Gem::Requirement
126
126
  requirements:
127
- - - "~>"
127
+ - - '='
128
128
  - !ruby/object:Gem::Version
129
- version: '1.3'
129
+ version: 1.3.0
130
130
  - !ruby/object:Gem::Dependency
131
131
  name: slim-rails
132
132
  requirement: !ruby/object:Gem::Requirement
133
133
  requirements:
134
- - - "~>"
134
+ - - '='
135
135
  - !ruby/object:Gem::Version
136
- version: '3.2'
136
+ version: 3.2.0
137
137
  type: :runtime
138
138
  prerelease: false
139
139
  version_requirements: !ruby/object:Gem::Requirement
140
140
  requirements:
141
- - - "~>"
141
+ - - '='
142
142
  - !ruby/object:Gem::Version
143
- version: '3.2'
143
+ version: 3.2.0
144
144
  - !ruby/object:Gem::Dependency
145
145
  name: sprockets-rails
146
146
  requirement: !ruby/object:Gem::Requirement
147
147
  requirements:
148
- - - "~>"
148
+ - - '='
149
149
  - !ruby/object:Gem::Version
150
- version: '2.3'
150
+ version: 2.3.3
151
151
  type: :runtime
152
152
  prerelease: false
153
153
  version_requirements: !ruby/object:Gem::Requirement
154
154
  requirements:
155
- - - "~>"
155
+ - - '='
156
156
  - !ruby/object:Gem::Version
157
- version: '2.3'
157
+ version: 2.3.3
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: view_component
160
160
  requirement: !ruby/object:Gem::Requirement
161
161
  requirements:
162
- - - "~>"
162
+ - - '='
163
163
  - !ruby/object:Gem::Version
164
- version: '2.23'
164
+ version: 2.23.2
165
165
  type: :runtime
166
166
  prerelease: false
167
167
  version_requirements: !ruby/object:Gem::Requirement
168
168
  requirements:
169
- - - "~>"
169
+ - - '='
170
170
  - !ruby/object:Gem::Version
171
- version: '2.23'
171
+ version: 2.23.2
172
172
  - !ruby/object:Gem::Dependency
173
173
  name: webpacker
174
174
  requirement: !ruby/object:Gem::Requirement
175
175
  requirements:
176
- - - "~>"
176
+ - - '='
177
177
  - !ruby/object:Gem::Version
178
- version: '4.2'
178
+ version: 4.2.2
179
179
  type: :runtime
180
180
  prerelease: false
181
181
  version_requirements: !ruby/object:Gem::Requirement
182
182
  requirements:
183
- - - "~>"
183
+ - - '='
184
184
  - !ruby/object:Gem::Version
185
- version: '4.2'
185
+ version: 4.2.2
186
186
  - !ruby/object:Gem::Dependency
187
187
  name: webpacker-react
188
188
  requirement: !ruby/object:Gem::Requirement
189
189
  requirements:
190
190
  - - "~>"
191
191
  - !ruby/object:Gem::Version
192
- version: '0.3'
192
+ version: 0.3.2
193
193
  type: :runtime
194
194
  prerelease: false
195
195
  version_requirements: !ruby/object:Gem::Requirement
196
196
  requirements:
197
197
  - - "~>"
198
198
  - !ruby/object:Gem::Version
199
- version: '0.3'
199
+ version: 0.3.2
200
200
  - !ruby/object:Gem::Dependency
201
201
  name: better_errors
202
202
  requirement: !ruby/object:Gem::Requirement