playbook_ui 8.4.0.alpha.dependencies.2 → 9.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) 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_date_picker/_date_picker.scss +7 -0
  5. data/app/pb_kits/playbook/pb_form/docs/_description.md +2 -6
  6. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +1 -1
  7. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -4
  8. data/app/pb_kits/playbook/pb_form/docs/example.yml +2 -4
  9. data/app/pb_kits/playbook/pb_form/form.rb +14 -20
  10. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +63 -54
  11. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.jsx +2 -1
  12. data/app/pb_kits/playbook/pb_select/_select.scss +15 -5
  13. data/app/pb_kits/playbook/pb_select/docs/_select_custom_select.jsx +4 -1
  14. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +1 -1
  15. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_input.jsx +145 -135
  16. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +17 -18
  17. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +29 -19
  18. data/app/pb_kits/playbook/pb_textarea/_textarea_mixin.scss +9 -4
  19. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_character_counter.jsx +5 -1
  20. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_custom.jsx +4 -2
  21. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +17 -15
  22. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.jsx +1 -0
  23. data/app/pb_kits/playbook/tokens/_colors.scss +1 -1
  24. data/lib/playbook.rb +4 -1
  25. data/lib/playbook/forms.rb +3 -0
  26. data/lib/playbook/forms/builder.rb +31 -0
  27. data/{app/pb_kits/playbook/pb_form/form_builder → lib/playbook/forms/builder}/action_area.rb +2 -2
  28. data/lib/playbook/forms/builder/checkbox_field.rb +32 -0
  29. data/lib/playbook/forms/builder/collection_select_field.rb +19 -0
  30. data/lib/playbook/forms/builder/date_picker_field.rb +37 -0
  31. data/{app/pb_kits/playbook/pb_form/form_builder → lib/playbook/forms/builder}/form_field_builder.rb +2 -2
  32. data/lib/playbook/forms/builder/select_field.rb +19 -0
  33. data/lib/playbook/forms/builder/typeahead_field.rb +12 -0
  34. data/lib/playbook/pb_forms_helper.rb +41 -0
  35. data/lib/playbook/pb_kit_helper.rb +2 -0
  36. data/lib/playbook/props/base.rb +1 -1
  37. data/lib/playbook/version.rb +1 -2
  38. metadata +90 -61
  39. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +0 -60
  40. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb +0 -61
  41. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.md +0 -1
  42. data/app/pb_kits/playbook/pb_form/form_builder.rb +0 -31
  43. data/app/pb_kits/playbook/pb_form/form_builder/checkbox_field.rb +0 -34
  44. data/app/pb_kits/playbook/pb_form/form_builder/collection_select_field.rb +0 -21
  45. data/app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb +0 -39
  46. data/app/pb_kits/playbook/pb_form/form_builder/select_field.rb +0 -21
  47. data/app/pb_kits/playbook/pb_form/form_builder/typeahead_field.rb +0 -14
  48. data/app/pb_kits/playbook/pb_form/form_with.html.erb +0 -11
  49. data/app/pb_kits/playbook/pb_form/form_with.rb +0 -40
  50. data/app/pb_kits/playbook/pb_form/simple_form.html.erb +0 -11
  51. data/app/pb_kits/playbook/pb_form/simple_form.rb +0 -67
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7342704dc9aeb1cbc3e47ef8d10a47a99bc39e565f714e96c1ccf0cc9fecd127
4
- data.tar.gz: 77a8dbab7c3f84bf5a36ffc8c74cffa5d0a8215a990ac700730517526da964c7
3
+ metadata.gz: 918cb47e814e7978ac6a342061931cacc4b83de262ed81363eb6637804e71089
4
+ data.tar.gz: 2d8212c508c16ca989b6580d08be07a668c5da4fd7359565ae88009926070eb8
5
5
  SHA512:
6
- metadata.gz: 8aa628d4789e255f241b737ccdaa58b5b33f9d4819a850289e3eab59672873f5b16a7e34011ca827aba0dcd692478cb72530ed6d5b5369e9b5e955203471ad59
7
- data.tar.gz: 486654de4889824612948ebf2fa92ae8afa9bd5c4e412522ac3f6d84816bffc4722d6fba144d8c39187c7b6f0c67605d5459a7509b7c7ef8792ee4ab1dcab20e
6
+ metadata.gz: ef98b4e72003edd7d0146bee12acabb0430e3984982203b73a73a88830f9e1d18f279a625515b13f182fc76722e876e5eb0de070f718a3ac43f793223d8eb903
7
+ data.tar.gz: 024b750c54f9689524bda08510972842cb38e8f2d1f6d884fa163a5ef5efc39dcec02d61c30b757d1b2753081d19ce4e88746b9f9c9afbc7fc3f708e01a30c41
data/Rakefile CHANGED
@@ -4,29 +4,12 @@ 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
-
17
7
  APP_RAKEFILE = File.expand_path("spec/dummy/Rakefile", __dir__)
18
8
  load 'rails/tasks/engine.rake'
19
-
20
9
  load 'rails/tasks/statistics.rake'
21
10
 
22
11
  require 'bundler/gem_tasks'
23
12
 
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
13
+ Dir["private/tasks/*.rake"].each(&method(:load))
31
14
 
32
15
  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
-
@@ -30,4 +30,11 @@
30
30
  }
31
31
  }
32
32
  }
33
+ &:focus,:focus-within{
34
+ div.cal_icon_wrapper, input.text_input{
35
+ @include transition_default;
36
+ border-color: $primary;
37
+ }
38
+ }
39
+
33
40
  }
@@ -1,10 +1,6 @@
1
- The `form` kit provides consumers with a convenient, consistently styled `<form>` wrapper.
1
+ The `form` kit provides consumers with a convenient, consistently styled `<form>` wrapper.
2
2
 
3
3
  ### Form Helpers
4
4
 
5
- There are currently two form helper options for Rails: [`form_with`](https://apidock.com/rails/ActionView/Helpers/FormHelper/form_with) and [`simple_form`](https://github.com/heartcombo/simple_form).
6
-
7
- **Note:** It is suggested to use `form_with` for newer or more progressive Rails applications and `simple_form` for older legacy forms where simple_form is already implemented and a complete overhaul might not make sense.
8
-
9
- This kit does make use of other kits such as text_input, select and typeahead to name a few. Doing so provides UI consistency within forms and makes adding a form to your page easier.
5
+ This kit uses rails `form_with` with our custom builder to render forms using other kits such as text_input, select, and typeahead to name a few. Doing so provides UI consistency within forms and makes adding a form to your page easier.
10
6
 
@@ -13,7 +13,7 @@
13
13
  ]
14
14
  %>
15
15
 
16
- <%= pb_rails("form", props: { form_system_options: { scope: :example, url: "", method: :get } }) do |form| %>
16
+ <%= pb_form_with(scope: :example, url: "", method: :get) do |form| %>
17
17
  <%= form.typeahead :example_user, props: { data: { typeahead_example1: true, user: {} }, placeholder: "Search for a user" } %>
18
18
  <%= form.text_field :example_text_field, props: { label: true } %>
19
19
  <%= form.telephone_field :example_phone_field, props: { label: true } %>
@@ -13,10 +13,7 @@
13
13
  ]
14
14
  %>
15
15
 
16
- <%= pb_rails("form/form_with", props: {
17
- options: { scope: :example, method: :get, url: "" },
18
- validate: true
19
- }) do |form| %>
16
+ <%= pb_form_with(scope: :example, method: :get, url: "", validate: true) do |form| %>
20
17
  <%= form.text_field :example_text_field, props: { label: true, required: true } %>
21
18
  <%= form.telephone_field :example_phone_field, props: { label: true, required: true, validation: { pattern: "[0-9]{3}-[0-9]{3}-[0-9]{4}", message: "Please enter a valid phone number (example: 888-888-8888)." } } %>
22
19
  <%= form.email_field :example_email_field, props: { label: true, required: true } %>
@@ -1,7 +1,5 @@
1
1
  examples:
2
2
 
3
3
  rails:
4
- - form_form_with: Default (Form With)
5
- - form_form_with_validate: Default (Form With) + Validation
6
- - form_simple_form: Default (Simple Form)
7
- - form_simple_form_validate: Default (Simple Form) + Validation
4
+ - form_form_with: Default
5
+ - form_form_with_validate: Default + Validation
@@ -3,33 +3,27 @@
3
3
  module Playbook
4
4
  module PbForm
5
5
  class Form < ::Playbook::KitBase
6
- prop :form_system, type: Playbook::Props::Enum,
7
- values: %w[form_with simple_form],
8
- default: "form_with"
9
- prop :form_system_options, type: Playbook::Props::Base
6
+ prop :form_system, deprecated: "Playbook only supports form_with and this prop is ignored",
7
+ type: Playbook::Props::Base
8
+ prop :form_system_options, deprecated: "Use options instead",
9
+ type: Playbook::Props::Base
10
+ prop :options, type: Playbook::Props::Base
10
11
  prop :validate, type: Playbook::Props::Boolean, default: false
11
12
 
12
- def form_system_options
13
- form_options = prop(:form_system_options)
14
- if form_options.is_a?(::Array)
15
- model, options = *form_options
16
- (options || {}).merge(model: model)
17
- else
18
- form_options
19
- end
20
- end
21
-
22
13
  def render_in(view_context, &block)
23
- form_kit.render_in(view_context, &block)
14
+ view_context.pb_form_with(form_options, &block)
24
15
  end
25
16
 
26
17
  private
27
18
 
28
- def form_kit
29
- @form_system ||= begin
30
- ::Playbook::KitResolver.resolve("form/#{form_system}")
31
- .new(options: form_system_options, validate: validate, children: children)
32
- end
19
+ def form_options
20
+ {
21
+ id: id,
22
+ aria: aria,
23
+ class: classname,
24
+ data: data,
25
+ validate: validate,
26
+ }.merge(prop(:options) || prop(:form_system_options) || { })
33
27
  end
34
28
  end
35
29
  end
@@ -21,18 +21,11 @@
21
21
  color: black !important;
22
22
  overflow-x: auto;
23
23
  }
24
-
25
-
26
24
  [class^=pb_rich_text_editor_kit] {
27
-
28
-
29
-
30
- // trix-toolbar { display: none; }
31
25
  // Disables File Attatchment Button in Toolbar
32
26
  trix-toolbar [data-trix-button-group="file-tools"] {
33
27
  display: none;
34
28
  }
35
-
36
29
  // Simple Mode (shows only BOLD & ITALIC)
37
30
  &.simple {
38
31
  [data-trix-button-group="history-tools"] {
@@ -53,7 +46,6 @@
53
46
  display: none;
54
47
  }
55
48
  }
56
-
57
49
  // Focused Styles for Border Radius
58
50
  &.focus-editor-targets {
59
51
  trix-toolbar {
@@ -64,7 +56,26 @@
64
56
  border-top-right-radius: $border_rad_heavier !important;
65
57
  }
66
58
  }
67
-
59
+ &:focus-within,
60
+ &:focus,&:not(:focus),&:not(:focus-within) {
61
+ .trix-button-row, trix-editor {
62
+ @include transition_default;
63
+ }
64
+ }
65
+ &:focus-within,
66
+ &:focus{
67
+ .trix-button-row, trix-editor {
68
+ background-color: $focus_input_light;
69
+ border-color: $primary;
70
+ }
71
+ }
72
+ .trix-dialog.trix-dialog--link {
73
+ background-color: $white ;
74
+ border: 1px solid $border_light;
75
+ box-shadow: none;
76
+ margin-top: $space_sm;
77
+ margin-left: $space_sm;
78
+ }
68
79
  &.sticky {
69
80
  trix-toolbar {
70
81
  position: sticky;
@@ -72,22 +83,17 @@
72
83
  z-index: 1;
73
84
  }
74
85
  }
75
-
76
-
77
86
  trix-editor {
78
- // background-color: $focus_input_light;
79
87
  @include pb_textarea_light;
80
88
  border-top-left-radius: 0;
81
89
  border-top-right-radius: 0;
82
90
  }
83
-
84
91
  trix-toolbar {
85
-
86
92
  .trix-button--icon {
87
93
  height: $space_lg;
88
94
  width: $space_lg;
89
95
  margin: $space_xs / 2;
90
- border-radius: $space_xs / 4;
96
+ border-radius: $border_rad_heavier;
91
97
  &::before {
92
98
  background-size: auto;
93
99
  }
@@ -99,118 +105,121 @@
99
105
  padding: $space_xs / 2;
100
106
  border-top-left-radius: $border_rad_heavier;
101
107
  border-top-right-radius: $border_rad_heavier;
102
-
103
108
  .trix-button-group {
104
109
  margin-bottom: 0 !important;
105
110
  border: none !important;
106
-
107
111
  .trix-button {
108
112
  border: none;
109
-
110
113
  &.trix-active {
111
114
  background: $bg_light;
112
115
  }
113
116
  }
114
117
  }
115
118
  }
119
+ button.trix-button.trix-button--icon.trix-button {
120
+ &:hover{
121
+ background-color: rgba($border_light, 0.50);
122
+ }
123
+ }
116
124
  }
117
-
118
-
119
-
120
125
  // Trix doesn't provide customization to their icons.
121
126
  // https://github.com/basecamp/trix/issues/464#issuecomment-564683997
122
-
123
127
  &[class*=dark] {
124
128
  // Dark SVG Icon Styles
125
129
  .trix-button--icon-bold::before {
126
130
  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");
127
131
  }
128
-
129
132
  .trix-button--icon-italic::before {
130
133
  background-image: url("data:image/svg+xml,%3Csvg width='12px' height='14px' viewBox='0 0 12 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(-52.000000, -17.000000)' fill='%23FFFFFF' fill-rule='nonzero'%3E%3Cg id='Styling1' transform='translate(7.000000, 7.000000)'%3E%3Cpolygon id='Shape' points='49 10 49 13 51.215 13 47.785 21 45 21 45 24 53 24 53 21 50.785 21 54.215 13 57 13 57 10'%3E%3C/polygon%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
131
134
  }
132
-
133
135
  .trix-button--icon-strike::before {
134
136
  background-image: url("data:image/svg+xml,%3Csvg width='18px' height='15px' viewBox='0 0 18 15' 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(-83.000000, -17.000000)' fill='%23FFFFFF' fill-rule='nonzero'%3E%3Cg id='Styling1' transform='translate(7.000000, 7.000000)'%3E%3Cpath d='M90.938,19.2 C90.979,19.439 91,19.69 91,19.954 C91,20.823 90.753,21.594 90.259,22.268 C89.765,22.942 89.052,23.466 88.121,23.84 C87.19,24.213 86.098,24.4 84.845,24.4 C83.799,24.4 82.9219,24.335 82.2129,24.204 C81.5039,24.073 80.7663,23.844 80,23.519 L80,23.519 L80,20.146 C80.8092,20.517 81.6507,20.806 82.5244,21.013 C83.398,21.221 84.2,21.325 84.931,21.325 C85.561,21.325 86.023,21.227 86.316,21.032 C86.61,20.838 86.757,20.587 86.757,20.28 C86.757,20.089 86.698,19.921 86.58,19.777 C86.461,19.634 86.272,19.488 86.01,19.341 C85.944,19.304 85.85,19.257 85.728,19.2 L85.728,19.2 Z M94,16.2 L94,18.2 L76,18.2 L76,16.2 L94,16.2 Z M86.026,10 C87.652,10 89.31,10.3353 91,11.006 L89.7,13.9281 C88.232,13.3277 86.965,13.0275 85.897,13.0275 C85.346,13.0275 84.945,13.1138 84.694,13.2862 C84.444,13.4587 84.318,13.6727 84.318,13.9281 C84.318,14.2028 84.478,14.4487 84.796,14.6659 C84.975,14.7877 85.326,14.9657 85.848,15.2 L80.2303,15.2 C80.1484,14.8642 80.1074,14.4978 80.1074,14.1006 C80.1074,12.8104 80.6338,11.8044 81.6865,11.0826 C82.7393,10.3609 84.186,10 86.026,10 Z' id='Combined-Shape'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
135
137
  }
136
-
137
138
  .trix-button--icon-link::before {
138
139
  background-image: url("data:image/svg+xml,%3Csvg width='18px' height='18px' viewBox='0 0 18 18' 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(-117.000000, -15.000000)' fill='%23FFFFFF' fill-rule='nonzero'%3E%3Cg id='Styling1' transform='translate(7.000000, 7.000000)'%3E%3Cpath d='M120.695234,15.0178906 C122.367547,16.6902031 122.367547,19.4110156 120.695234,21.0833281 L117.320234,24.4583281 C116.510234,25.2683281 115.433047,25.7143906 114.287234,25.7143906 C113.141422,25.7143906 112.064234,25.2683281 111.254234,24.4583281 C109.581922,22.7860156 109.581922,20.0652031 111.254234,18.3928906 L113.178729,16.4902344 C113.535917,16.1330469 114.114729,16.1330469 114.471354,16.4902344 C114.827979,16.8474219 114.828542,17.4256719 114.471354,17.7828594 L112.546859,19.6855156 C111.587234,20.6451406 111.587234,22.2060781 112.546859,23.1657031 C113.011484,23.6303281 113.629672,23.8862656 114.287234,23.8862656 C114.944797,23.8862656 115.562422,23.6303281 116.027609,23.1657031 L119.402609,19.7907031 C120.362234,18.8310781 120.362234,17.2701406 119.402609,16.3105156 C119.045422,15.9533281 119.045422,15.3750781 119.402609,15.0178906 C119.759797,14.6607031 120.338047,14.6607031 120.695234,15.0178906 Z M123.287234,8 C124.433047,8 125.509672,8.4460625 126.320234,9.2560625 C127.992547,10.928375 127.992547,13.6491875 126.320234,15.3215 L124.358055,17.0365667 C124.000867,17.3937542 123.422617,17.3937542 123.06543,17.0365667 C122.708242,16.6793792 122.708242,16.1011292 123.06543,15.7439417 L125.027609,14.028875 C125.987234,13.06925 125.987234,11.5083125 125.027609,10.5486875 C124.562984,10.0840625 123.944797,9.828125 123.287234,9.828125 C122.629672,9.828125 122.012047,10.0840625 121.546859,10.5486875 L118.171859,13.9236875 C117.212234,14.8833125 117.212234,16.44425 118.171859,17.403875 C118.529047,17.7610625 118.529047,18.3393125 118.171859,18.6965 C117.993547,18.8748125 117.759547,18.96425 117.525547,18.96425 C117.291547,18.96425 117.057547,18.8748125 116.879234,18.6965 C115.206922,17.0241875 115.206922,14.303375 116.879234,12.6310625 L120.254234,9.2560625 C121.064234,8.4460625 122.141422,8 123.287234,8 Z' id='Combined-Shape'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
139
140
  }
140
-
141
141
  .trix-button--icon-heading-1::before {
142
142
  background-image: url("data:image/svg+xml,%3Csvg width='19px' height='15px' viewBox='0 0 19 15' 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(-171.000000, -17.000000)' fill='%23FFFFFF' fill-rule='nonzero'%3E%3Cg id='Styling2' transform='translate(163.000000, 7.000000)'%3E%3Cpath d='M17,15.016 L17,18.016 L14,18.016 L14,25 L11,25 L11,18.016 L8,18.016 L8,15.016 L17,15.016 L17,15.016 Z M13.968,10 L26.999,10 L26.999,13 L21.983,13 L21.983,25 L18.983,25 L18.983,13 L13.967,13 L13.967,10 L13.968,10 Z' id='Shape'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
143
143
  }
144
-
145
144
  .trix-button--icon-quote::before {
146
145
  background-image: url("data:image/svg+xml,%3Csvg width='14px' height='10px' viewBox='0 0 14 10' 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(-207.000000, -19.000000)' fill='%23FFFFFF' fill-rule='nonzero'%3E%3Cg id='Styling2' transform='translate(163.000000, 7.000000)'%3E%3Cpath d='M45,22 L48,22 L50,18 L50,12 L44,12 L44,18 L47,18 L45,22 Z M53,22 L56,22 L58,18 L58,12 L52,12 L52,18 L55,18 L53,22 Z' id='Shape'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
147
146
  }
148
-
149
147
  .trix-button--icon-code::before {
150
148
  background-image: url("data:image/svg+xml,%3Csvg width='18px' height='10px' viewBox='0 0 18 10' 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(-239.000000, -19.000000)' fill='%23FFFFFF' fill-rule='nonzero'%3E%3Cg id='Styling2' transform='translate(163.000000, 7.000000)'%3E%3Cpath d='M91.17,16.585 L88,19.755 L89.415,21.17 L94,16.585 L89.415,12 L88,13.415 L91.17,16.585 Z M78.83,16.585 L82,13.415 L80.585,12 L76,16.585 L80.585,21.17 L82,19.755 L78.83,16.585 L78.83,16.585 Z' id='Shape'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
151
149
  }
152
-
153
150
  .trix-button--icon-bullet-list::before {
154
151
  background-image: url("data:image/svg+xml,%3Csvg width='20px' height='16px' viewBox='0 0 20 16' 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(-272.000000, -16.000000)' fill='%23FFFFFF' fill-rule='nonzero'%3E%3Cg id='Styling2' transform='translate(163.000000, 7.000000)'%3E%3Cpath d='M111,9 C109.8933,9 109,9.8933 109,11 C109,12.1067 109.8933,13 111,13 C112.1067,13 113,12.1067 113,11 C113,9.8933 112.1067,9 111,9 Z M111,15 C109.8933,15 109,15.893 109,17 C109,18.107 109.8933,19 111,19 C112.1067,19 113,18.107 113,17 C113,15.893 112.1067,15 111,15 Z M111,21 C109.8933,21 109,21.893 109,23 C109,24.107 109.8933,25 111,25 C112.1067,25 113,24.107 113,23 C113,21.893 112.1067,21 111,21 Z M115,24 L129,24 L129,22 L115,22 L115,24 Z M115,18 L129,18 L129,16 L115,16 L115,18 Z M115,10 L115,12 L129,12 L129,10 L115,10 Z' id='Shape'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
155
152
  }
156
-
157
153
  .trix-button--icon-number-list::before {
158
154
  background-image: url("data:image/svg+xml,%3Csvg width='19px' height='16px' viewBox='0 0 19 16' 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(-307.000000, -16.000000)' fill='%23FFFFFF' fill-rule='nonzero'%3E%3Cg id='Styling2' transform='translate(163.000000, 7.000000)'%3E%3Cpath d='M144,22 L146,22 L146,22.5 L145,22.5 L145,23.5 L146,23.5 L146,24 L144,24 L144,25 L147,25 L147,21 L144,21 L144,22 Z M145,13 L146,13 L146,9 L144,9 L144,10 L145,10 L145,13 Z M144,16 L145.8,16 L144,18.1 L144,19 L147,19 L147,18 L145.2,18 L147,15.9 L147,15 L144,15 L144,16 Z M149,10 L149,12 L163,12 L163,10 L149,10 Z M149,24 L163,24 L163,22 L149,22 L149,24 Z M149,18 L163,18 L163,16 L149,16 L149,18 Z' id='Shape'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
159
155
  }
160
-
161
156
  .trix-button--icon-decrease-nesting-level::before {
162
157
  background-image: url("data:image/svg+xml,%3Csvg width='21px' height='14px' viewBox='0 0 21 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(-340.000000, -17.000000)' fill='%23FFFFFF' fill-rule='nonzero'%3E%3Cg id='Styling2' transform='translate(163.000000, 7.000000)'%3E%3Cpath d='M179,24 L198,24 L198,22 L179,22 L179,24 L179,24 Z M186,18 L198,18 L198,16 L186,16 L186,18 L186,18 Z M177.707107,17.7426407 L180.535534,20.5710678 L181.949747,19.1568542 L179.828427,17.0355339 L181.949747,14.9142136 L180.535534,13.5 L177,17.0355339 L177.707107,17.7426407 Z M179,10 L179,12 L198,12 L198,10 L179,10 Z' id='Shape'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
163
158
  }
164
-
165
159
  .trix-button--icon-increase-nesting-level::before {
166
160
  background-image: url("data:image/svg+xml,%3Csvg width='21px' height='14px' viewBox='0 0 21 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(-374.000000, -17.000000)' fill='%23FFFFFF' fill-rule='nonzero'%3E%3Cg id='Styling2' transform='translate(163.000000, 7.000000)'%3E%3Cpath d='M213,24 L232,24 L232,22 L213,22 L213,24 L213,24 Z M220,18 L232,18 L232,16 L220,16 L220,18 L220,18 Z M213.12132,17.0355339 L211,19.1568542 L212.414214,20.5710678 L215.949747,17.0355339 L215.242641,16.3284271 L212.414214,13.5 L211,14.9142136 L213.12132,17.0355339 Z M213,10 L213,12 L232,12 L232,10 L213,10 Z' id='Shape-Copy'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
167
161
  }
168
-
169
162
  .trix-button--icon-attach::before {
170
163
  background-image: url("data:image/svg+xml,%3Csvg width='11px' height='22px' viewBox='0 0 11 22' 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'%3E%3Cg id='Rich-Text/Dark/Field-Only/Default' transform='translate(-385.000000, -139.000000)' fill='%23ABAFC2' fill-rule='nonzero'%3E%3Cg id='For-Future' transform='translate(338.000000, 139.000000)'%3E%3Cpath d='M56.5,5 L56.5,16.5 C56.5,18.71 54.71,20.5 52.5,20.5 C50.29,20.5 48.5,18.71 48.5,16.5 L48.5,4 C48.5,2.62 49.62,1.5 51,1.5 C52.38,1.5 53.5,2.62 53.5,4 L53.5,14.5 C53.5,15.05 53.055,15.5 52.5,15.5 C51.945,15.5 51.5,15.05 51.5,14.5 L51.5,5 L50,5 L50,14.5 C50,15.88 51.12,17 52.5,17 C53.88,17 55,15.88 55,14.5 L55,4 C55,1.79 53.21,0 51,0 C48.79,0 47,1.79 47,4 L47,16.5 C47,19.54 49.465,22 52.5,22 C55.535,22 58,19.54 58,16.5 L58,5 L56.5,5 Z' id='Path'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
171
164
  }
172
-
173
165
  .trix-button--icon-undo::before {
174
166
  background-image: url("data:image/svg+xml,%3Csvg width='21px' height='9px' viewBox='0 0 21 9' 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(-666.000000, -20.000000)' fill='%23FFFFFF' fill-rule='nonzero'%3E%3Cg id='Undo/Redo' transform='translate(659.000000, 7.000000)'%3E%3Cpath d='M17.5,14 C14.855,14 12.445,14.985 10.6,16.6 L7,13 L7,22 L16,22 L12.385,18.385 C13.77,17.22 15.545,16.5 17.5,16.5 C21.045,16.5 24.045,18.805 25.095,22 L27.46,21.22 C26.085,17.03 22.15,14 17.5,14 Z' id='Path'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
175
167
  }
176
-
177
168
  .trix-button--icon-redo::before {
178
169
  background-image: url("data:image/svg+xml,%3Csvg width='21px' height='9px' viewBox='0 0 21 9' 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(-700.000000, -20.000000)' fill='%23FFFFFF' fill-rule='nonzero'%3E%3Cg id='Undo/Redo' transform='translate(659.000000, 7.000000)'%3E%3Cpath d='M57.855,16.6 C56.015,14.985 53.605,14 50.96,14 C46.31,14 42.375,17.03 41,21.22 L43.365,22 C44.415,18.805 47.415,16.5 50.96,16.5 C52.915,16.5 54.69,17.22 56.075,18.385 L52.46,22 L61.46,22 L61.46,13 L57.855,16.6 Z' id='Path'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
179
170
  }
180
-
181
-
182
-
183
-
184
171
  // Dark Mode Placeholder
185
172
  trix-editor:empty:not(:focus)::before {
186
- color: $text_dk_light;
173
+ color: $focus_input_dark;
187
174
  }
188
-
189
175
  trix-editor {
190
- @include pb_textarea_dark;
191
- background: #2f3968;
176
+ background-color: rgba($white, 0.1);
177
+ border-color: rgba($white, 0.15);
192
178
  border-top-left-radius: 0;
193
179
  border-top-right-radius: 0;
180
+ color: $text_dk_default;
194
181
  }
195
-
196
182
  trix-toolbar {
197
183
  .trix-button-row {
198
- background: #2f3968;
199
- border: 1px solid rgba(255, 255, 255, 0.1) !important;
184
+ background-color: rgba($white, 0.1);
185
+ border: 1px solid rgba($white, 0.15);
186
+ border-bottom: 0;
187
+ }
188
+ .trix-active {
189
+ background: $active_dark !important;
190
+ }
191
+ button.trix-button.trix-button--icon.trix-button{
192
+ &:hover {
193
+ background-color: rgba($white, 0.15);
194
+ }
195
+ &:focus {
196
+ background-color: $active_dark !important;
197
+ }
198
+ }
199
+ &:focus {
200
+ border-color: $active_dark;
200
201
  }
201
202
  }
202
-
203
- trix-editor:focus {
204
- @include pb_textarea_focus_dark;
203
+ &:focus-within {
204
+ .trix-button-row, trix-editor {
205
+ background-color: rgba($white, 0.03);
206
+ border-color: $active_dark !important;
207
+ }
205
208
  }
206
-
207
209
  &.error {
208
- > trix-editor {
210
+ trix-editor {
209
211
  border-color: $error_dark;
210
212
  }
211
213
  }
214
+ .trix-dialog.trix-dialog--link.trix-active {
215
+ background-color: tint($bg_dark, 10%) !important;
216
+ border: 1px solid rgba($white, 0.1);
217
+ box-shadow: none;
218
+ margin-top: $space_sm;
219
+ margin-left: $space_sm;
220
+ }
221
+ .trix-button--dialog {
222
+ color: $white;
223
+ }
212
224
  }
213
225
  }
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);
@@ -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;