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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7342704dc9aeb1cbc3e47ef8d10a47a99bc39e565f714e96c1ccf0cc9fecd127
4
- data.tar.gz: 77a8dbab7c3f84bf5a36ffc8c74cffa5d0a8215a990ac700730517526da964c7
3
+ metadata.gz: 6e9366429ab3c44f1d80714f564bfcb258f57d59f52ff8394cea0fb3c2fdd95c
4
+ data.tar.gz: 8141ba61150a6f617a1a23f69544f5aa91270660b35c5bef6eb99814edfa214a
5
5
  SHA512:
6
- metadata.gz: 8aa628d4789e255f241b737ccdaa58b5b33f9d4819a850289e3eab59672873f5b16a7e34011ca827aba0dcd692478cb72530ed6d5b5369e9b5e955203471ad59
7
- data.tar.gz: 486654de4889824612948ebf2fa92ae8afa9bd5c4e412522ac3f6d84816bffc4722d6fba144d8c39187c7b6f0c67605d5459a7509b7c7ef8792ee4ab1dcab20e
6
+ metadata.gz: a0c62f4bc0a43899d686841f3965d451acc9619ccd9e288f8540ef2a52b066ed291a7f28de0bc9443327b55daf4c532e3c48ddb90d8e3eff561a7ffb88dfad58
7
+ data.tar.gz: 256020def86c309d2eec1fe3a80a92cdd6a7b7b6fa93204bde73bc7cbc69134e3cccdbf93d5b9bcc2c8458ffba6a62fd15a8369e56169bbf703c504d3c945c53
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
-
@@ -48,7 +48,6 @@ $avatar-sizes: (
48
48
  line-height: $size;
49
49
  text-transform: uppercase;
50
50
  position: relative;
51
- z-index: 0;
52
51
  }
53
52
 
54
53
  img {
@@ -57,7 +56,6 @@ $avatar-sizes: (
57
56
  position: absolute;
58
57
  top: 0;
59
58
  left: 0;
60
- z-index: 1;
61
59
  border-radius: $border-rad-mega;
62
60
  object-fit: cover;
63
61
  display: block;
@@ -69,7 +67,6 @@ $avatar-sizes: (
69
67
  top: 0;
70
68
  bottom: auto;
71
69
  left: auto;
72
- z-index: 500;
73
70
 
74
71
  &.size_xs {
75
72
  right: -4px;
@@ -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
@@ -28,7 +28,7 @@ const Highlight = (props: HighlightProps) => {
28
28
  autoEscape
29
29
  data={data}
30
30
  highlightClassName={classnames(globalProps(props), className)}
31
- highlightTag="span"
31
+ highlightTag="mark"
32
32
  id={id}
33
33
  searchWords={highlightedText}
34
34
  textToHighlight={text || children}
@@ -2,5 +2,7 @@
2
2
  id: object.id,
3
3
  data: object.data,
4
4
  class: object.classname) do %>
5
- <%= content.presence || object.text %>
5
+ <mark>
6
+ <%= content.presence || object.text %>
7
+ </mark>
6
8
  <% end %>
@@ -52,6 +52,7 @@ const IconStatValue = (props: IconStatValueProps) => {
52
52
  return (
53
53
  <Title
54
54
  size={1}
55
+ tag="span"
55
56
  text={`${value}`}
56
57
  />
57
58
  )
@@ -59,6 +60,7 @@ const IconStatValue = (props: IconStatValueProps) => {
59
60
  return (
60
61
  <Title
61
62
  size={2}
63
+ tag="span"
62
64
  text={`${value}`}
63
65
  />
64
66
  )
@@ -66,6 +68,7 @@ const IconStatValue = (props: IconStatValueProps) => {
66
68
  return (
67
69
  <Title
68
70
  size={3}
71
+ tag="span"
69
72
  text={`${value}`}
70
73
  />
71
74
  )
@@ -12,6 +12,7 @@
12
12
  <div>
13
13
  <%= pb_rails("flex", props: { vertical: "bottom" }) do %>
14
14
  <%= pb_rails "title", props: {
15
+ tag: "span",
15
16
  text: object.value_string,
16
17
  size: object.title_size } %>
17
18
  &nbsp;
@@ -46,7 +46,7 @@ const ProgressPill = ({ active, dark, step }: ProgressPillProps) => (
46
46
  const ProgressPills = (props: ProgressPillsProps) => {
47
47
  const {
48
48
  active = 0,
49
- aria = {},
49
+ aria = { hidden: true },
50
50
  className,
51
51
  data = {},
52
52
  id,
@@ -1 +1,3 @@
1
- Progress pills indicate a specific point in time of a series of sequential steps. They are used to track progress of something over time.
1
+ Progress pills indicate a specific point in time of a series of sequential steps. They are used to track progress of something over time.
2
+
3
+ Note: be sure to make use of the aria attribute as shown in the example if you want this kit to be web accessible.
@@ -1 +1 @@
1
- <%= pb_rails("progress_pills", props: { steps: 3, active: 2 }) %>
1
+ <%= pb_rails("progress_pills", props: { aria: { label: "2 out of 3 steps complete" }, steps: 3, active: 2 }) %>
@@ -7,6 +7,7 @@ const ProgressPillsDefault = (props) => {
7
7
  <div>
8
8
  <ProgressPills
9
9
  active={2}
10
+ aria={{ label: '2 out of 3 steps complete' }}
10
11
  steps={3}
11
12
  {...props}
12
13
  />
@@ -1 +1 @@
1
- <%= pb_rails("progress_pills", props: { steps: 3, active: 2, title:"Status:", value:"Orientation" }) %>
1
+ <%= pb_rails("progress_pills", props: { aria: { label: "2 out of 3 steps complete" }, steps: 3, active: 2, title:"Status:", value:"Orientation" }) %>
@@ -7,6 +7,7 @@ const ProgressPillsStatus = (props) => {
7
7
  <div>
8
8
  <ProgressPills
9
9
  active={2}
10
+ aria={{ label: '2 out of 3 steps complete' }}
10
11
  steps={3}
11
12
  title="Status:"
12
13
  value="Orientation"
@@ -1,5 +1,5 @@
1
1
  <%= content_tag(:div,
2
- aria: object.aria,
2
+ aria: object.aria_attributes,
3
3
  id: object.id,
4
4
  data: object.data,
5
5
  class: object.classname) do %>
@@ -26,6 +26,11 @@ module Playbook
26
26
  step <= active ? "_active" : "_inactive"
27
27
  end
28
28
 
29
+ def aria_attributes
30
+ return aria if aria.present?
31
+ { hidden: true }
32
+ end
33
+
29
34
  def dark_pill
30
35
  dark ? " dark" : nil
31
36
  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,30 +56,45 @@
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;
71
82
  top: 0;
72
83
  z-index: 1;
84
+ background-color: $white;
73
85
  }
74
86
  }
75
-
76
-
77
87
  trix-editor {
78
- // background-color: $focus_input_light;
79
88
  @include pb_textarea_light;
80
89
  border-top-left-radius: 0;
81
90
  border-top-right-radius: 0;
82
91
  }
83
-
84
92
  trix-toolbar {
85
-
86
93
  .trix-button--icon {
87
94
  height: $space_lg;
88
95
  width: $space_lg;
89
96
  margin: $space_xs / 2;
90
- border-radius: $space_xs / 4;
97
+ border-radius: $border_rad_heavier;
91
98
  &::before {
92
99
  background-size: auto;
93
100
  }
@@ -99,118 +106,126 @@
99
106
  padding: $space_xs / 2;
100
107
  border-top-left-radius: $border_rad_heavier;
101
108
  border-top-right-radius: $border_rad_heavier;
102
-
103
109
  .trix-button-group {
104
110
  margin-bottom: 0 !important;
105
111
  border: none !important;
106
-
107
112
  .trix-button {
108
113
  border: none;
109
-
110
114
  &.trix-active {
111
115
  background: $bg_light;
112
116
  }
113
117
  }
114
118
  }
115
119
  }
120
+ button.trix-button.trix-button--icon.trix-button {
121
+ &:hover{
122
+ background-color: rgba($border_light, 0.50);
123
+ }
124
+ }
116
125
  }
117
-
118
-
119
-
120
126
  // Trix doesn't provide customization to their icons.
121
127
  // https://github.com/basecamp/trix/issues/464#issuecomment-564683997
122
-
123
128
  &[class*=dark] {
124
129
  // Dark SVG Icon Styles
125
130
  .trix-button--icon-bold::before {
126
131
  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
132
  }
128
-
129
133
  .trix-button--icon-italic::before {
130
134
  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
135
  }
132
-
133
136
  .trix-button--icon-strike::before {
134
137
  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
138
  }
136
-
137
139
  .trix-button--icon-link::before {
138
140
  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
141
  }
140
-
141
142
  .trix-button--icon-heading-1::before {
142
143
  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
144
  }
144
-
145
145
  .trix-button--icon-quote::before {
146
146
  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
147
  }
148
-
149
148
  .trix-button--icon-code::before {
150
149
  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
150
  }
152
-
153
151
  .trix-button--icon-bullet-list::before {
154
152
  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
153
  }
156
-
157
154
  .trix-button--icon-number-list::before {
158
155
  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
156
  }
160
-
161
157
  .trix-button--icon-decrease-nesting-level::before {
162
158
  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
159
  }
164
-
165
160
  .trix-button--icon-increase-nesting-level::before {
166
161
  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
162
  }
168
-
169
163
  .trix-button--icon-attach::before {
170
164
  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
165
  }
172
-
173
166
  .trix-button--icon-undo::before {
174
167
  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
168
  }
176
-
177
169
  .trix-button--icon-redo::before {
178
170
  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
171
  }
180
-
181
-
182
-
183
-
184
172
  // Dark Mode Placeholder
185
173
  trix-editor:empty:not(:focus)::before {
186
- color: $text_dk_light;
174
+ color: $focus_input_dark;
187
175
  }
188
-
189
176
  trix-editor {
190
- @include pb_textarea_dark;
191
- background: #2f3968;
177
+ background-color: rgba($white, 0.1);
178
+ border-color: rgba($white, 0.15);
192
179
  border-top-left-radius: 0;
193
180
  border-top-right-radius: 0;
181
+ color: $text_dk_default;
194
182
  }
195
-
196
183
  trix-toolbar {
197
184
  .trix-button-row {
198
- background: #2f3968;
199
- border: 1px solid rgba(255, 255, 255, 0.1) !important;
185
+ background-color: rgba($white, 0.1);
186
+ border: 1px solid rgba($white, 0.15);
187
+ border-bottom: 0;
188
+ }
189
+ .trix-active {
190
+ background: $active_dark !important;
191
+ }
192
+ button.trix-button.trix-button--icon.trix-button{
193
+ &:hover {
194
+ background-color: rgba($white, 0.15);
195
+ }
196
+ &:focus {
197
+ background-color: $active_dark !important;
198
+ }
199
+ }
200
+ &:focus {
201
+ border-color: $active_dark;
200
202
  }
201
203
  }
202
-
203
- trix-editor:focus {
204
- @include pb_textarea_focus_dark;
204
+ &:focus-within {
205
+ .trix-button-row, trix-editor {
206
+ background-color: rgba($white, 0.03);
207
+ border-color: $active_dark !important;
208
+ }
205
209
  }
206
-
207
210
  &.error {
208
- > trix-editor {
211
+ trix-editor {
209
212
  border-color: $error_dark;
210
213
  }
211
214
  }
215
+ &.sticky {
216
+ trix-toolbar {
217
+ background-color: tint($bg_dark, 10%) !important;
218
+ }
219
+ }
220
+ .trix-dialog.trix-dialog--link.trix-active {
221
+ background-color: tint($bg_dark, 10%) !important;
222
+ border: 1px solid rgba($white, 0.1);
223
+ box-shadow: none;
224
+ margin-top: $space_sm;
225
+ margin-left: $space_sm;
226
+ }
227
+ .trix-button--dialog {
228
+ color: $white;
229
+ }
212
230
  }
213
231
  }
214
-
215
-
216
-