playbook_ui 16.1.0.pre.alpha.play273614090 → 16.1.0.pre.alpha.play274314102

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display_rails.html.erb +1 -1
  3. data/app/pb_kits/playbook/pb_dropdown/dropdown.html.erb +1 -1
  4. data/app/pb_kits/playbook/pb_dropdown/dropdown_trigger.html.erb +8 -8
  5. data/app/pb_kits/playbook/pb_dropdown/index.js +10 -11
  6. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.tsx +20 -18
  7. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_attributes.jsx +4 -0
  8. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_default.jsx +4 -0
  9. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_focus.jsx +5 -0
  10. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_inline.jsx +4 -0
  11. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_label.jsx +5 -0
  12. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.jsx +4 -0
  13. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.jsx +4 -0
  14. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_simple.jsx +4 -0
  15. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_sticky.jsx +4 -0
  16. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_templates.jsx +4 -0
  17. data/app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml +22 -21
  18. data/app/pb_kits/playbook/pb_rich_text_editor/docs/index.js +0 -1
  19. data/dist/chunks/_typeahead-Cx2lp7TD.js +1 -0
  20. data/dist/chunks/vendor.js +1 -1
  21. data/dist/playbook-rails-react-bindings.js +1 -1
  22. data/dist/playbook-rails.js +1 -1
  23. data/lib/playbook/version.rb +1 -1
  24. metadata +2 -15
  25. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_attributes.html.erb +0 -5
  26. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_default.html.erb +0 -1
  27. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_focus.html.erb +0 -3
  28. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_inline.html.erb +0 -6
  29. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.html.erb +0 -35
  30. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.html.erb +0 -10
  31. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_simple.html.erb +0 -1
  32. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_sticky.html.erb +0 -1
  33. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_templates.html.erb +0 -115
  34. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_bottom.html.erb +0 -4
  35. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_bottom.jsx +0 -14
  36. data/app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor.html.erb +0 -5
  37. data/app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor.rb +0 -63
  38. data/dist/chunks/_typeahead-BKSzddAX.js +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 33c67b8b945f889b6ccfea5e7b8279f6a865dcfc2463be92d4fc8bd6bbc9c83e
4
- data.tar.gz: e265e657829ea242acf7c0196106f86db4dc37a3eba77ec23ae747d2908f08fa
3
+ metadata.gz: 55c0e17fe1c9ebc070555123e048fad21174f1103ff7c924a70ef6fcbaf10f67
4
+ data.tar.gz: 7e49dfd207ef248a867883cbd4d2dc3c39f93dbb872578493a6732d2906097bf
5
5
  SHA512:
6
- metadata.gz: 042aa299615c7b669b07bc8ba55d273c10074a9dc8e6d89f0ec02a5903a0e9908ff92abe1bfeec1a170e4138436a10e9c68ca7ee951e232c8c6d483ef35228e2
7
- data.tar.gz: f6d08b67113ad1fd61d652ab425e529c6730768bb028d2314f3c4285e207b6303d10c8003c0113d0ffbeec560776d29aa06094f5753caed34dd23764fc3417d3
6
+ metadata.gz: df84055b7fa9e7ba93d1e94fe8c4944033897e8841c05ef21c52191a91083856c072cb1d67a53c184d6cb39e28276eb862eb37818d12b200936b4e6e252d7c2e
7
+ data.tar.gz: 3ad38213a67a4a3c9440db8558c75728d4a6df072070420d1ef93a14efd5f13416addd58c165e5dc92e300ac1c3613870f0812f5bd6896fd10e8323d4eaed27d
@@ -76,7 +76,7 @@
76
76
  const option = e.detail;
77
77
  const dropdown = e.target;
78
78
 
79
- const display = dropdown.querySelector("[data-dropdown-trigger-custom-display]");
79
+ const display = dropdown.querySelector("#dropdown_trigger_custom_display");
80
80
  if (!display) return;
81
81
 
82
82
  const nameEl = display.querySelector("#dropdown-avatar-name");
@@ -7,7 +7,7 @@
7
7
  <div class="dropdown_wrapper<%= error_class %>" style="position: relative">
8
8
  <input
9
9
  data-default-value="<%= input_default_value %>"
10
- data-dropdown-selected-option
10
+ id="dropdown-selected-option"
11
11
  name="<%= object.name %><%= '[]' if object.multi_select %>"
12
12
  style="display: none"
13
13
  <%= object.required ? "required" : ""%>
@@ -23,15 +23,15 @@
23
23
  <%= pb_rails("flex", props: {align: "center"}) do %>
24
24
  <% if object.custom_display.present? %>
25
25
  <%= pb_rails("flex", props: {align: "center"}) do %>
26
- <div data-dropdown-trigger-custom-display style="display: none;">
26
+ <div id="dropdown_trigger_custom_display" style="display: none;">
27
27
  <%= object.custom_display %>
28
28
  </div>
29
- <%= pb_rails("body", props: {text: object.default_display_placeholder, data: { 'dropdown-trigger-display': true }}) %>
29
+ <%= pb_rails("body", props: {text: object.default_display_placeholder, id: "dropdown_trigger_display"}) %>
30
30
  <% end %>
31
31
  <% else %>
32
32
  <% if object.multi_select %>
33
33
  <%= pb_rails("flex", props: { align: "center", wrap: true }) do %>
34
- <%= pb_rails("flex", props: { data: { 'dropdown-pills-wrapper': true }, wrap: true }) do %>
34
+ <%= pb_rails("flex", props: { id:"dropdown_pills_wrapper", wrap: true }) do %>
35
35
  <% end %>
36
36
  <% if object.autocomplete %>
37
37
  <input
@@ -42,7 +42,7 @@
42
42
  autocomplete="off"
43
43
  />
44
44
  <% else %>
45
- <%= pb_rails("body", props: {text: object.default_display_placeholder, data: { "dropdown-trigger-display-multi-select": true }}) %>
45
+ <%= pb_rails("body", props: {text: object.default_display_placeholder, id: "dropdown_trigger_display_multi_select"}) %>
46
46
  <% end %>
47
47
  <% end %>
48
48
  <% else %>
@@ -55,7 +55,7 @@
55
55
  autocomplete="off"
56
56
  />
57
57
  <% else %>
58
- <%= pb_rails("body", props: {text: object.default_display_placeholder, data: { 'dropdown-trigger-display': true }}) %>
58
+ <%= pb_rails("body", props: {text: object.default_display_placeholder, id: "dropdown_trigger_display"}) %>
59
59
  <% end %>
60
60
  <% end %>
61
61
  <% end %>
@@ -63,9 +63,9 @@
63
63
  <% end %>
64
64
  <%= pb_rails("flex/flex_item") do %>
65
65
  <%= pb_rails("body", props: {display: "flex", align_items:"center" }) do %>
66
- <%= pb_rails("icon", props: {icon: "times", cursor: "pointer", size:"sm", data:{'dropdown-clear-icon': true }, padding_right:"xs" }) %>
67
- <%= pb_rails("icon", props: {icon: "chevron-down", cursor: "pointer", size:"sm", data:{'dropdown-open-icon': true }}) %>
68
- <%= pb_rails("icon", props: {icon: "chevron-up", cursor: "pointer", size:"sm", data:{ 'dropdown-close-icon': true }}) %>
66
+ <%= pb_rails("icon", props: {icon: "times", cursor: "pointer", size:"sm", id: "dropdown_clear_icon", padding_right:"xs" }) %>
67
+ <%= pb_rails("icon", props: {icon: "chevron-down", cursor: "pointer", size:"sm", id: "dropdown_open_icon"}) %>
68
+ <%= pb_rails("icon", props: {icon: "chevron-up", cursor: "pointer", size:"sm", id: "dropdown_close_icon"}) %>
69
69
  <% end %>
70
70
  <% end %>
71
71
  <% end %>
@@ -4,19 +4,18 @@ import { PbDropdownKeyboard } from "./keyboard_accessibility";
4
4
  const DROPDOWN_SELECTOR = "[data-pb-dropdown]";
5
5
  const TRIGGER_SELECTOR = "[data-dropdown-trigger]";
6
6
  const CONTAINER_SELECTOR = "[data-dropdown-container]";
7
- const DOWN_ARROW_SELECTOR = "[data-dropdown-open-icon]";
8
- const UP_ARROW_SELECTOR = "[data-dropdown-close-icon]";
7
+ const DOWN_ARROW_SELECTOR = "#dropdown_open_icon";
8
+ const UP_ARROW_SELECTOR = "#dropdown_close_icon";
9
9
  const OPTION_SELECTOR = "[data-dropdown-option-label]";
10
10
  const CUSTOM_DISPLAY_SELECTOR = "[data-dropdown-custom-trigger]";
11
- const DROPDOWN_TRIGGER_DISPLAY = "[data-dropdown-trigger-display]";
11
+ const DROPDOWN_TRIGGER_DISPLAY = "#dropdown_trigger_display";
12
12
  const DROPDOWN_PLACEHOLDER = "[data-dropdown-placeholder]";
13
- const DROPDOWN_INPUT = "[data-dropdown-selected-option]";
13
+ const DROPDOWN_INPUT = "#dropdown-selected-option";
14
14
  const SEARCH_INPUT_SELECTOR = "[data-dropdown-autocomplete]";
15
15
  const SEARCH_BAR_SELECTOR = "[data-dropdown-search]";
16
- const CLEAR_ICON_SELECTOR = "[data-dropdown-clear-icon]";
16
+ const CLEAR_ICON_SELECTOR = "#dropdown_clear_icon";
17
17
  const LABEL_SELECTOR = '[data-dropdown="pb-dropdown-label"]';
18
18
 
19
-
20
19
  export default class PbDropdown extends PbEnhancedElement {
21
20
  static get selector() {
22
21
  return DROPDOWN_SELECTOR;
@@ -306,7 +305,7 @@ export default class PbDropdown extends PbEnhancedElement {
306
305
  onOptionSelected(value, selectedOption) {
307
306
  const triggerElement = this.element.querySelector(DROPDOWN_TRIGGER_DISPLAY);
308
307
  const customDisplayElement = this.element.querySelector(
309
- '[data-dropdown-trigger-custom-display]',
308
+ "#dropdown_trigger_custom_display",
310
309
  );
311
310
 
312
311
  if (triggerElement) {
@@ -694,9 +693,9 @@ export default class PbDropdown extends PbEnhancedElement {
694
693
  updatePills() {
695
694
  if (!this.isMultiSelect) return;
696
695
 
697
- const wrapper = this.element.querySelector('[data-dropdown-pills-wrapper]');
696
+ const wrapper = this.element.querySelector("#dropdown_pills_wrapper");
698
697
  const placeholder = this.element.querySelector(
699
- '[data-dropdown-trigger-display-multi-select]',
698
+ "#dropdown_trigger_display_multi_select",
700
699
  );
701
700
  if (!wrapper) return;
702
701
 
@@ -774,7 +773,7 @@ export default class PbDropdown extends PbEnhancedElement {
774
773
  }
775
774
  }
776
775
  const customDisplay = this.element.querySelector(
777
- '[data-dropdown-trigger-custom-display]',
776
+ "#dropdown_trigger_custom_display",
778
777
  );
779
778
  if (customDisplay) {
780
779
  customDisplay.style.display = "none";
@@ -830,7 +829,7 @@ export default class PbDropdown extends PbEnhancedElement {
830
829
  }
831
830
 
832
831
  const customDisplay = this.element.querySelector(
833
- '[data-dropdown-trigger-custom-display]',
832
+ "#dropdown_trigger_custom_display",
834
833
  );
835
834
  if (customDisplay) {
836
835
  customDisplay.style.display = "none";
@@ -1,6 +1,6 @@
1
1
  import React, { useEffect, useState, useRef } from 'react'
2
2
  import classnames from 'classnames'
3
- import { TrixEditor } from 'react-trix'
3
+ // The user must import and pass TrixEditor as a prop if using the default editor
4
4
 
5
5
  import inlineFocus from './inlineFocus'
6
6
  import useFocus from './useFocus'
@@ -9,14 +9,6 @@ import colors from '../tokens/exports/_colors.module.scss'
9
9
  import { globalProps, GlobalProps } from '../utilities/globalProps'
10
10
  import { buildAriaProps, buildDataProps, noop, buildHtmlProps } from '../utilities/props'
11
11
 
12
- import Trix from 'trix'
13
- import './_dedupe_trix_toolbar'
14
-
15
- Trix.config.textAttributes.inlineCode = {
16
- tagName: 'code',
17
- inheritable: true,
18
- }
19
-
20
12
  import EditorToolbar from './TipTap/Toolbar'
21
13
 
22
14
  type Editor = {
@@ -55,6 +47,7 @@ type RichTextEditorProps = {
55
47
  template: string,
56
48
  value?: string,
57
49
  maxWidth?: string
50
+ TrixEditor?: React.ComponentType<any>,
58
51
  } & GlobalProps
59
52
 
60
53
  const RichTextEditor = (props: RichTextEditorProps): React.ReactElement => {
@@ -84,6 +77,7 @@ const RichTextEditor = (props: RichTextEditorProps): React.ReactElement => {
84
77
  maxWidth = "md",
85
78
  requiredIndicator = false,
86
79
  label,
80
+ TrixEditor,
87
81
  } = props
88
82
 
89
83
  const ariaProps = buildAriaProps(aria),
@@ -295,15 +289,23 @@ const RichTextEditor = (props: RichTextEditorProps): React.ReactElement => {
295
289
  { children }
296
290
  </div>
297
291
  ) : (
298
- <TrixEditor
299
- className=""
300
- fileParamName={name}
301
- mergeTags={[]}
302
- onChange={onChange}
303
- onEditorReady={handleOnEditorReady}
304
- placeholder={placeholder}
305
- value={value}
306
- />
292
+ TrixEditor ? (
293
+ <TrixEditor
294
+ className=""
295
+ fileParamName={name}
296
+ mergeTags={[]}
297
+ onChange={onChange}
298
+ onEditorReady={handleOnEditorReady}
299
+ placeholder={placeholder}
300
+ value={value}
301
+ />
302
+ ) : (
303
+ <div style={{ color: 'red', padding: '1em', border: '1px solid #f00', background: '#fff0f0' }}>
304
+ <strong>Trix Editor is not available.</strong><br />
305
+ Please import <code>TrixEditor</code> from <code>react-trix</code> and pass it as a prop to <code>RichTextEditor</code>.<br />
306
+ <pre>{`import { TrixEditor } from 'react-trix';\n<RichTextEditor TrixEditor={TrixEditor} ... />`}</pre>
307
+ </div>
308
+ )
307
309
  )
308
310
  }
309
311
  </div>
@@ -1,9 +1,13 @@
1
1
  import React from 'react'
2
2
  import RichTextEditor from '../../pb_rich_text_editor/_rich_text_editor'
3
+ import { TrixEditor } from 'react-trix'
4
+ // eslint-disable-next-line no-unused-vars
5
+ import Trix from 'trix'
3
6
 
4
7
  const RichTextEditorAttributes = (props) => (
5
8
  <div>
6
9
  <RichTextEditor
10
+ TrixEditor={TrixEditor}
7
11
  aria={{ label: 'rich textarea' }}
8
12
  data={{ key: 'value', key2: 'value2' }}
9
13
  name="name-attribute"
@@ -1,5 +1,8 @@
1
1
  import React, { useState } from 'react'
2
2
  import RichTextEditor from '../../pb_rich_text_editor/_rich_text_editor'
3
+ import { TrixEditor } from 'react-trix'
4
+ // eslint-disable-next-line no-unused-vars
5
+ import Trix from 'trix'
3
6
 
4
7
  const RichTextEditorDefault = (props) => {
5
8
  const [value, setValue] = useState('Add your text here. You can format your text, add links, quotes, and bullets.'),
@@ -8,6 +11,7 @@ const RichTextEditorDefault = (props) => {
8
11
  return (
9
12
  <div>
10
13
  <RichTextEditor
14
+ TrixEditor={TrixEditor}
11
15
  onChange={handleOnChange}
12
16
  value={value}
13
17
  {...props}
@@ -1,14 +1,19 @@
1
1
  import React from 'react'
2
2
  import RichTextEditor from '../../pb_rich_text_editor/_rich_text_editor'
3
+ import { TrixEditor } from 'react-trix'
4
+ // eslint-disable-next-line no-unused-vars
5
+ import Trix from 'trix'
3
6
 
4
7
  const RichTextEditorFocus = (props) => (
5
8
  <>
6
9
  <RichTextEditor
10
+ TrixEditor={TrixEditor}
7
11
  focus
8
12
  {...props}
9
13
  />
10
14
  <br />
11
15
  <RichTextEditor
16
+ TrixEditor={TrixEditor}
12
17
  focus
13
18
  {...props}
14
19
  />
@@ -1,9 +1,13 @@
1
1
  import React from 'react'
2
2
  import RichTextEditor from '../../pb_rich_text_editor/_rich_text_editor'
3
+ import { TrixEditor } from 'react-trix'
4
+ // eslint-disable-next-line no-unused-vars
5
+ import Trix from 'trix'
3
6
 
4
7
  const RichTextEditorInline = (props) => (
5
8
  <div>
6
9
  <RichTextEditor
10
+ TrixEditor={TrixEditor}
7
11
  id="inline"
8
12
  inline
9
13
  toolbarBottom
@@ -1,5 +1,8 @@
1
1
  import React, { useState } from 'react'
2
2
  import RichTextEditor from '../../pb_rich_text_editor/_rich_text_editor'
3
+ import { TrixEditor } from 'react-trix'
4
+ // eslint-disable-next-line no-unused-vars
5
+ import Trix from 'trix'
3
6
 
4
7
  const RichTextEditorLabel = (props) => {
5
8
  const [value, setValue] = useState(''),
@@ -8,6 +11,7 @@ const RichTextEditorLabel = (props) => {
8
11
  return (
9
12
  <div>
10
13
  <RichTextEditor
14
+ TrixEditor={TrixEditor}
11
15
  id="example"
12
16
  label="Example Label"
13
17
  onChange={handleOnChange}
@@ -16,6 +20,7 @@ const RichTextEditorLabel = (props) => {
16
20
  />
17
21
  <br/>
18
22
  <RichTextEditor
23
+ TrixEditor={TrixEditor}
19
24
  label="Example Label No ID"
20
25
  onChange={handleOnChange}
21
26
  value={value}
@@ -2,6 +2,9 @@ import React, { useState } from 'react'
2
2
  import RichTextEditor from '../../pb_rich_text_editor/_rich_text_editor'
3
3
  import Button from '../../pb_button/_button'
4
4
  import Card from '../../pb_card/_card'
5
+ import { TrixEditor } from 'react-trix'
6
+ // eslint-disable-next-line no-unused-vars
7
+ import Trix from 'trix'
5
8
 
6
9
  const RichTextEditorPreview = (props) => {
7
10
  const [showPreview, setShowPreview] = useState(false)
@@ -15,6 +18,7 @@ const RichTextEditorPreview = (props) => {
15
18
  return (
16
19
  <div>
17
20
  <RichTextEditor
21
+ TrixEditor={TrixEditor}
18
22
  id="content-preview-editor"
19
23
  onChange={handleChange}
20
24
  {...props}
@@ -1,5 +1,8 @@
1
1
  import React, { useState } from 'react'
2
2
  import RichTextEditor from '../../pb_rich_text_editor/_rich_text_editor'
3
+ import { TrixEditor } from 'react-trix'
4
+ // eslint-disable-next-line no-unused-vars
5
+ import Trix from 'trix'
3
6
 
4
7
  const RichTextEditorRequiredIndicator = (props) => {
5
8
  const [value, setValue] = useState('Add your text here. You can format your text, add links, quotes, and bullets.'),
@@ -8,6 +11,7 @@ const RichTextEditorRequiredIndicator = (props) => {
8
11
  return (
9
12
  <div>
10
13
  <RichTextEditor
14
+ TrixEditor={TrixEditor}
11
15
  inputOptions = {{ id: "required" }}
12
16
  label="Label"
13
17
  onChange={handleOnChange}
@@ -1,9 +1,13 @@
1
1
  import React from 'react'
2
2
  import RichTextEditor from '../../pb_rich_text_editor/_rich_text_editor'
3
+ import { TrixEditor } from 'react-trix'
4
+ // eslint-disable-next-line no-unused-vars
5
+ import Trix from 'trix'
3
6
 
4
7
  const RichTextEditorSimple = (props) => (
5
8
  <div>
6
9
  <RichTextEditor
10
+ TrixEditor={TrixEditor}
7
11
  simple
8
12
  {...props}
9
13
  />
@@ -1,9 +1,13 @@
1
1
  import React from 'react'
2
2
  import RichTextEditor from '../../pb_rich_text_editor/_rich_text_editor'
3
+ import { TrixEditor } from 'react-trix'
4
+ // eslint-disable-next-line no-unused-vars
5
+ import Trix from 'trix'
3
6
 
4
7
  const RichTextEditorSticky = (props) => (
5
8
  <div>
6
9
  <RichTextEditor
10
+ TrixEditor={TrixEditor}
7
11
  id="sticky"
8
12
  sticky
9
13
  value="In this example, when you scroll down, the rich text editor's toolbar will scroll along with the page and it will no longer be visible at the top of the page. Dummy text to enable scroll.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ornare lorem ut pellentesque tempor. Vivamus ut ex vestibulum velit rich text editor eleifend fringilla. Sed non metus dictum, elementum mauris wysiwyg html editor non, sagittis odio. Nullam pellentesque leo sit amet ante suscipit wysiwyg html editor sagittis. Donec tempus vulputate suscipit. Ut non felis rich text editor ac dolor pulvinar lacinia eu eget urna. Sed tincidunt sapien vulputate tellus fringilla sodales. Morbi accumsan dui wysiwyg html editor sed massa pellentesque, quis vestibulum lectus scelerisque. Nulla ultrices mi id felis luctus aliquet. Donec nec ligula wysiwyg html editor pretium sapien semper dictum eu id quam. Etiam ut sollicitudin nibh. Quisque eu ultrices dui. Nunc rich text editor congue, enim vitae dictum dignissim, libero nisl sagittis augue, non aliquet nibh tortor sit amet ex. Aliquam cursus maximus rich text editor mi eu consequat. Nullam tincidunt erat et placerat mattis. Nunc rich text editor congue, enim vitae dictum dignissim, libero nisl sagittis augue, non aliquet nibh tortor sit amet ex. Aliquam cursus maximus mi eu consequat. Nullam tincidunt erat et placerat mattis.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ornare lorem ut pellentesque tempor. Vivamus ut ex vestibulum velit rich text editor eleifend fringilla. Sed non metus dictum, elementum mauris wysiwyg html editor non, sagittis odio. Nullam pellentesque leo sit amet ante suscipit wysiwyg html editor sagittis. Donec tempus vulputate suscipit. Ut non felis rich text editor ac dolor pulvinar lacinia eu eget urna. Sed tincidunt sapien vulputate tellus fringilla sodales. Morbi accumsan dui wysiwyg html editor sed massa pellentesque, quis vestibulum lectus scelerisque. Nulla ultrices mi id felis luctus aliquet. Donec nec ligula wysiwyg html editor pretium sapien semper dictum eu id quam. Etiam ut sollicitudin nibh. Quisque eu ultrices dui. Nunc rich text editor congue, enim vitae dictum dignissim, libero nisl sagittis augue, non aliquet nibh tortor vulputate suscipit. Ut non felis rich text editor ac dolor pulvinar lacinia eu eget urna. Sed tincidunt sapien vulputate tellus fringilla sodales. Morbi accumsan dui wysiwyg html editor sed massa pellentesque, quis vestibulum lectus scelerisque. Nulla ultrices mi id felis luctus aliquet. Donec nec ligula wysiwyg html editor pretium sapien semper dictum eu id quam. Etiam ut sollicitudin nibh. Quisque eu ultrices dui. Nunc rich text editor congue, enim vitae dictum dignissim, libero nisl sagittis augue, non aliquet nibh tortor sit amet ex. Aliquam cursus maximus rich text editor mi eu consequat. Nullam tincidunt erat et placerat mattis. Nunc rich text editor congue, enim vitae dictum dignissim, libero nisl sagittis augue, non aliquet nibh tortor sit amet ex. Aliquam cursus maximus mi eu consequat. Nullam tincidunt erat et placerat mattis.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ornare lorem ut pellentesque tempor. Vivamus ut ex vestibulum velit rich text editor eleifend fringilla. Sed non metus dictum, elementum mauris wysiwyg html editor non, sagittis odio. Nullam pellentesque leo sit amet ante suscipit wysiwyg html editor sagittis. Donec tempus vulputate suscipit. Ut non felis rich text editor ac dolor pulvinar lacinia eu eget urna. Sed tincidunt sapien vulputate tellus fringilla sodales. Morbi accumsan dui wysiwyg html editor sed massa pellentesque, quis vestibulum lectus scelerisque. Nulla ultrices mi id felis luctus aliquet. Donec nec ligula wysiwyg html editor pretium sapien semper dictum eu id quam. Etiam ut sollicitudin nibh. Quisque eu ultrices dui. Nunc rich text editor congue, enim vitae dictum dignissim, libero nisl sagittis augue, non aliquet nibh tortor sit amet ex. Aliquam cursus maximus rich text editor mi eu consequat. Nullam tincidunt erat et placerat mattis. Nunc rich text editor congue, enim vitae dictum dignissim, libero nisl sagittis augue, non aliquet nibh tortor sit amet ex. Aliquam cursus maximus mi eu consequat. Nullam tincidunt erat et placerat mattis.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ornare lorem ut pellentesque tempor. Vivamus ut ex vestibulum velit rich text editor eleifend fringilla. Sed non metus dictum, elementum mauris wysiwyg html editor non, sagittis odio. Nullam pellentesque leo sit amet ante suscipit wysiwyg html editor sagittis. Donec tempus vulputate suscipit. Ut non felis rich text editor ac dolor pulvinar lacinia eu eget urna. Sed tincidunt sapien vulputate tellus fringilla sodales. Morbi accumsan dui wysiwyg html editor sed massa pellentesque, quis vestibulum lectus scelerisque. Nulla ultrices mi id felis luctus aliquet. Donec nec ligula wysiwyg html editor pretium sapien semper dictum eu id quam. Etiam ut sollicitudin nibh. Quisque eu ultrices dui. Nunc rich text editor congue, enim vitae dictum dignissim, libero nisl sagittis augue, non aliquet nibh tortor sit amet ex. Aliquam cursus maximus rich text editor mi eu consequat. Nullam tincidunt erat et placerat mattis. Nunc rich text editor congue, enim vitae dictum dignissim, libero nisl sagittis augue, non aliquet nibh tortor sit amet ex. Aliquam cursus maximus mi eu consequat. Nullam tincidunt erat et placerat mattis.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ornare lorem ut pellentesque tempor. Vivamus ut ex vestibulum velit rich text editor eleifend fringilla. Sed non metus dictum, elementum mauris wysiwyg html editor non, sagittis odio. Nullam pellentesque leo sit amet ante suscipit wysiwyg html editor sagittis. Donec tempus vulputate suscipit. Ut non felis rich text editor ac dolor pulvinar lacinia eu eget urna. Sed tincidunt sapien vulputate tellus fringilla sodales. Morbi accumsan dui wysiwyg html editor sed massa pellentesque, quis vestibulum lectus scelerisque. Nulla ultrices mi id felis luctus aliquet. Donec nec ligula wysiwyg html editor pretium sapien semper dictum eu id quam. Etiam ut sollicitudin nibh. Quisque eu ultrices dui. Nunc rich text editor congue, enim vitae dictum dignissim, libero nisl sagittis augue, non aliquet nibh tortor sit amet ex. Aliquam cursus maximus rich text editor mi eu consequat. Nullam tincidunt erat et placerat mattis. Nunc rich text editor congue, enim vitae dictum dignissim, libero nisl sagittis augue, non aliquet nibh tortor sit amet ex. Aliquam cursus maximus mi eu consequat. Nullam tincidunt erat et placerat mattis.sit amet ex. Aliquam cursus maximus rich text editor mi eu consequat. Nullam tincidunt erat et placerat mattis. Nunc rich text editor congue, enim vitae dictum dignissim, libero nisl sagittis augue, non aliquet nibh tortor sit amet ex. Aliquam cursus maximus mi eu consequat. Nullam tincidunt erat et placerat mattis.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ornare lorem ut pellentesque tempor. Vivamus ut ex vestibulum velit rich text editor eleifend fringilla. Sed non metus dictum, elementum mauris wysiwyg html editor non, sagittis odio. Nullam pellentesque leo sit amet ante suscipit wysiwyg html editor sagittis. Donec tempus vulputate suscipit. Ut non felis rich text editor ac dolor pulvinar lacinia eu eget urna. Sed tincidunt sapien vulputate tellus fringilla sodales. Morbi accumsan dui wysiwyg html editor sed massa pellentesque, quis vestibulum lectus scelerisque. Nulla ultrices mi id felis luctus aliquet. Donec nec ligula wysiwyg html editor pretium sapien semper dictum eu id quam. Etiam ut sollicitudin nibh. Quisque eu ultrices dui. Nunc rich text editor congue, enim vitae dictum dignissim, libero nisl sagittis augue, non aliquet nibh tortor sit amet ex. Aliquam cursus maximus rich text editor mi eu consequat. Nullam tincidunt erat et placerat mattis. Nunc rich text editor congue, enim vitae dictum dignissim, libero nisl sagittis augue, non aliquet nibh tortor sit amet ex. Aliquam cursus maximus mi eu consequat. Nullam tincidunt erat et placerat mattis.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ornare lorem ut pellentesque tempor. Vivamus ut ex vestibulum velit rich text editor eleifend fringilla. Sed non metus dictum, elementum mauris wysiwyg html editor non, sagittis odio. Nullam pellentesque leo sit amet ante suscipit wysiwyg html editor sagittis. Donec tempus vulputate suscipit. Ut non felis rich text editor ac dolor pulvinar lacinia eu eget urna. Sed tincidunt sapien vulputate tellus fringilla sodales. Morbi accumsan dui wysiwyg html editor sed massa pellentesque, quis vestibulum lectus scelerisque. Nulla ultrices mi id felis luctus aliquet. Donec nec ligula wysiwyg html editor pretium sapien semper dictum eu id quam. Etiam ut sollicitudin nibh. Quisque eu ultrices dui. Nunc rich text editor congue, enim vitae dictum dignissim, libero nisl sagittis augue, non aliquet nibh tortor sit amet ex. Aliquam cursus maximus rich text editor mi eu consequat. Nullam tincidunt erat et placerat mattis. Nunc rich text editor congue, enim vitae dictum dignissim, libero nisl sagittis augue, non aliquet nibh tortor sit amet ex. Aliquam cursus maximus mi eu consequat. Nullam tincidunt erat et placerat mattis."
@@ -2,6 +2,9 @@ import React, { useState } from 'react'
2
2
  import RichTextEditor from '../../pb_rich_text_editor/_rich_text_editor'
3
3
  import Select from '../../pb_select/_select'
4
4
  import { changelog, release } from './templates.js'
5
+ import { TrixEditor } from 'react-trix'
6
+ // eslint-disable-next-line no-unused-vars
7
+ import Trix from 'trix'
5
8
 
6
9
  const RichTextEditorTemplates = (props) => {
7
10
  const [editorContent, setEditorContent] = useState('')
@@ -31,6 +34,7 @@ const RichTextEditorTemplates = (props) => {
31
34
  {...props}
32
35
  />
33
36
  <RichTextEditor
37
+ TrixEditor={TrixEditor}
34
38
  id="template"
35
39
  template={editorContent}
36
40
  {...props}
@@ -1,40 +1,41 @@
1
1
  examples:
2
2
 
3
3
  rails:
4
- - rich_text_editor_default: Default
5
- - rich_text_editor_simple: Simple
6
- - rich_text_editor_attributes: Attributes
7
- - rich_text_editor_focus: Focus
8
- - rich_text_editor_sticky: Sticky
9
- - rich_text_editor_templates: Templates
10
- # - rich_text_editor_toolbar_bottom: Toolbar Bottom
11
- - rich_text_editor_inline: Inline
12
- - rich_text_editor_required_indicator: Required Indicator
13
- - rich_text_editor_preview: Preview
14
4
 
15
5
  react:
16
- - rich_text_editor_default: Default
17
6
  - rich_text_editor_advanced_default: Advanced Default
18
7
  - rich_text_editor_more_extensions: Advanced (Extra Extensions)
19
8
  - rich_text_editor_toolbar_disabled: Advanced (Toolbar disabled)
20
- - rich_text_editor_simple: Simple
21
9
  - rich_text_editor_advanced_simple: Advanced (Simple)
22
- - rich_text_editor_attributes: Attributes
23
10
  - rich_text_editor_advanced_attributes: Advanced (Attributes)
24
- - rich_text_editor_focus: Focus
25
11
  - rich_text_editor_advanced_focus: Advanced (Focus)
26
- - rich_text_editor_sticky: Sticky
27
12
  - rich_text_editor_advanced_sticky: Advanced (Sticky)
28
- - rich_text_editor_templates: Templates
29
13
  - rich_text_editor_advanced_templates: Advanced (Templates)
30
- # - rich_text_editor_toolbar_bottom: Toolbar Bottom
31
- - rich_text_editor_inline: Inline
32
14
  - rich_text_editor_advanced_inline: Advanced (Inline)
33
15
  - rich_text_editor_advanced_height: Advanced Height
34
16
  - rich_text_editor_advanced_min_height: Advanced Min Height
35
- - rich_text_editor_label: Label
36
17
  - rich_text_editor_advanced_label: Advanced (Label)
37
- - rich_text_editor_required_indicator: Required Indicator
38
18
  - rich_text_editor_advanced_required_indicator: Advanced Required Indicator
39
- - rich_text_editor_preview: Preview
40
19
  - rich_text_editor_advanced_preview: Advanced Preview
20
+ - rich_text_editor_default: Legacy Default (Trix)
21
+ - rich_text_editor_simple: Legacy Simple (Trix)
22
+ - rich_text_editor_attributes: Legacy Attributes (Trix)
23
+ - rich_text_editor_focus: Legacy Focus (Trix)
24
+ - rich_text_editor_sticky: Legacy Sticky (Trix)
25
+ - rich_text_editor_templates: Legacy Templates (Trix)
26
+ - rich_text_editor_inline: Legacy Inline (Trix)
27
+ - rich_text_editor_label: Legacy Label (Trix)
28
+ - rich_text_editor_required_indicator: Legacy Required Indicator (Trix)
29
+ - rich_text_editor_preview: Legacy Preview (Trix)
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
@@ -4,7 +4,6 @@ export { default as RichTextEditorAttributes } from './_rich_text_editor_attribu
4
4
  export { default as RichTextEditorFocus } from './_rich_text_editor_focus.jsx'
5
5
  export { default as RichTextEditorSticky } from './_rich_text_editor_sticky.jsx'
6
6
  export { default as RichTextEditorTemplates } from './_rich_text_editor_templates.jsx'
7
- export { default as RichTextEditorToolbarBottom } from './_rich_text_editor_toolbar_bottom.jsx'
8
7
  export { default as RichTextEditorInline } from './_rich_text_editor_inline.jsx'
9
8
  export { default as RichTextEditorPreview } from './_rich_text_editor_preview.jsx'
10
9
  export { default as RichTextEditorAdvancedDefault } from './_rich_text_editor_advanced_default.jsx'