playbook_ui 16.1.0.pre.alpha.play264213818 → 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 (159) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/Components/RegularTableView.tsx +12 -2
  3. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +33 -0
  4. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background_custom.jsx +71 -0
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background_custom.md +4 -0
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +1 -0
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +2 -1
  8. data/app/pb_kits/playbook/pb_card/docs/_card_light.html.erb +3 -35
  9. data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +1 -1
  10. data/app/pb_kits/playbook/pb_checkbox/_checkbox.tsx +17 -0
  11. data/app/pb_kits/playbook/pb_checkbox/checkbox.html.erb +10 -1
  12. data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +2 -0
  13. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_required_indicator.html.erb +6 -0
  14. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_required_indicator.jsx +17 -0
  15. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_required_indicator.md +3 -0
  16. data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +2 -0
  17. data/app/pb_kits/playbook/pb_checkbox/docs/index.js +1 -0
  18. data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +14 -5
  19. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.md +1 -0
  20. data/app/pb_kits/playbook/pb_dialog/_dialog.scss +8 -6
  21. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +6 -0
  22. data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +83 -13
  23. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection_rails.md +3 -0
  24. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection_react.md +3 -0
  25. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_clearable.html.erb +52 -0
  26. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_clearable.jsx +72 -0
  27. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_clearable.md +5 -0
  28. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height.jsx +33 -0
  29. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height_rails.html.erb +20 -0
  30. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height_rails.md +8 -0
  31. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height_react.md +8 -0
  32. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.html.erb +6 -3
  33. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.jsx +1 -0
  34. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.md +3 -1
  35. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_placeholder.html.erb +9 -0
  36. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_placeholder.jsx +33 -0
  37. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_placeholder.md +3 -0
  38. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +6 -0
  39. data/app/pb_kits/playbook/pb_dropdown/docs/index.js +4 -1
  40. data/app/pb_kits/playbook/pb_dropdown/dropdown.html.erb +11 -5
  41. data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +15 -0
  42. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +94 -0
  43. data/app/pb_kits/playbook/pb_dropdown/dropdown_container.rb +5 -1
  44. data/app/pb_kits/playbook/pb_dropdown/dropdown_trigger.html.erb +7 -2
  45. data/app/pb_kits/playbook/pb_dropdown/dropdown_trigger.rb +4 -0
  46. data/app/pb_kits/playbook/pb_dropdown/index.js +184 -77
  47. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownContainer.tsx +3 -0
  48. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownTrigger.tsx +18 -1
  49. data/app/pb_kits/playbook/pb_dropdown/utilities/clickOutsideHelper.tsx +6 -0
  50. data/app/pb_kits/playbook/pb_filter/Filter/SortMenu.tsx +1 -1
  51. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.html.erb +2 -2
  52. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.jsx +16 -9
  53. data/app/pb_kits/playbook/pb_filter/filter.rb +2 -2
  54. data/app/pb_kits/playbook/pb_form/docs/_form_with_required_indicator.html.erb +6 -2
  55. data/app/pb_kits/playbook/pb_form/pb_form_validation.js +9 -2
  56. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.html.erb +5 -5
  57. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.jsx +4 -4
  58. data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +4 -0
  59. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.scss +7 -0
  60. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +638 -549
  61. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.html.erb +3 -3
  62. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.jsx +4 -7
  63. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.md +3 -0
  64. data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.test.jsx +4 -4
  65. data/app/pb_kits/playbook/pb_passphrase/_passphrase.tsx +40 -7
  66. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_meter_settings.jsx +1 -0
  67. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_required_indicator.html.erb +7 -0
  68. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_required_indicator.jsx +24 -0
  69. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_required_indicator.md +3 -0
  70. data/app/pb_kits/playbook/pb_passphrase/docs/example.yml +2 -0
  71. data/app/pb_kits/playbook/pb_passphrase/docs/index.js +1 -0
  72. data/app/pb_kits/playbook/pb_passphrase/passphrase.rb +2 -0
  73. data/app/pb_kits/playbook/pb_passphrase/passphrase.test.jsx +30 -1
  74. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +3 -0
  75. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_required_indicator.html.erb +5 -0
  76. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_required_indicator.jsx +14 -0
  77. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_required_indicator.md +3 -0
  78. data/app/pb_kits/playbook/pb_phone_number_input/docs/example.yml +2 -0
  79. data/app/pb_kits/playbook/pb_phone_number_input/docs/index.js +1 -0
  80. data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.rb +3 -0
  81. data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.test.js +34 -3
  82. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.tsx +71 -34
  83. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_label.jsx +44 -0
  84. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_label.md +1 -0
  85. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_required_indicator.jsx +1 -0
  86. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_attributes.jsx +4 -0
  87. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_default.jsx +4 -0
  88. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_focus.jsx +5 -0
  89. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_inline.jsx +4 -0
  90. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_label.jsx +33 -0
  91. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_label.md +1 -0
  92. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.jsx +4 -0
  93. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.jsx +5 -0
  94. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_simple.jsx +4 -0
  95. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_sticky.jsx +4 -0
  96. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_templates.jsx +4 -0
  97. data/app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml +23 -20
  98. data/app/pb_kits/playbook/pb_rich_text_editor/docs/index.js +2 -1
  99. data/app/pb_kits/playbook/pb_table/index.ts +29 -27
  100. data/app/pb_kits/playbook/pb_text_input/text_input.html.erb +10 -10
  101. data/app/pb_kits/playbook/pb_textarea/_textarea.tsx +10 -0
  102. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_default.html.erb +3 -3
  103. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_default.jsx +3 -0
  104. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_default.md +1 -0
  105. data/app/pb_kits/playbook/pb_textarea/textarea.html.erb +25 -9
  106. data/app/pb_kits/playbook/pb_textarea/textarea.rb +7 -1
  107. data/app/pb_kits/playbook/pb_time_picker/_time_picker.tsx +97 -11
  108. data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_on_handler.jsx +5 -2
  109. data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_required_indicator.html.erb +6 -0
  110. data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_required_indicator.jsx +16 -0
  111. data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_required_indicator.md +3 -0
  112. data/app/pb_kits/playbook/pb_time_picker/docs/example.yml +2 -0
  113. data/app/pb_kits/playbook/pb_time_picker/docs/index.js +1 -0
  114. data/app/pb_kits/playbook/pb_time_picker/time_picker.rb +3 -0
  115. data/app/pb_kits/playbook/pb_time_picker/time_picker.test.jsx +47 -1
  116. data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +24 -1
  117. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +412 -324
  118. data/app/pb_kits/playbook/pb_typeahead/components/Control.tsx +2 -0
  119. data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.tsx +4 -1
  120. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.html.erb +16 -0
  121. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.jsx +23 -0
  122. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.md +3 -0
  123. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.html.erb +1 -1
  124. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.jsx +1 -1
  125. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +2 -0
  126. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +22 -21
  127. data/app/pb_kits/playbook/pb_typeahead/typeahead.html.erb +3 -2
  128. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +7 -1
  129. data/dist/chunks/{_pb_line_graph-BgKF_zz1.js → _pb_line_graph-DuJNCf7N.js} +1 -1
  130. data/dist/chunks/_typeahead-Cx2lp7TD.js +1 -0
  131. data/dist/chunks/{globalProps-BhVYCqRf.js → globalProps-Bc-FVsRt.js} +1 -1
  132. data/dist/chunks/lib-BwX82vim.js +29 -0
  133. data/dist/chunks/vendor.js +3 -3
  134. data/dist/menu.yml +2 -2
  135. data/dist/playbook-rails-react-bindings.js +1 -1
  136. data/dist/playbook-rails.js +1 -1
  137. data/dist/playbook.css +1 -1
  138. data/lib/playbook/forms/builder/form_field_builder.rb +1 -1
  139. data/lib/playbook/forms/builder/phone_number_field.rb +9 -0
  140. data/lib/playbook/forms/builder/typeahead_field.rb +15 -1
  141. data/lib/playbook/forms/builder.rb +2 -2
  142. data/lib/playbook/truncate.rb +1 -1
  143. data/lib/playbook/version.rb +1 -1
  144. metadata +42 -19
  145. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_attributes.html.erb +0 -5
  146. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_default.html.erb +0 -1
  147. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_focus.html.erb +0 -3
  148. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_inline.html.erb +0 -6
  149. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.html.erb +0 -35
  150. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.html.erb +0 -10
  151. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_simple.html.erb +0 -1
  152. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_sticky.html.erb +0 -1
  153. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_templates.html.erb +0 -115
  154. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_bottom.html.erb +0 -4
  155. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_bottom.jsx +0 -14
  156. data/app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor.html.erb +0 -5
  157. data/app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor.rb +0 -63
  158. data/dist/chunks/_typeahead-B9a6ZsEP.js +0 -1
  159. data/dist/chunks/lib-DD34ZrWL.js +0 -29
@@ -61,7 +61,7 @@ module Playbook
61
61
  name.to_s.humanize
62
62
  end
63
63
  else
64
- # Legacy behavior (generate full label HTML) left untouched
64
+ # Legacy behavior .(generate full label HTML) left untouched
65
65
  @template.label(@object_name, name)
66
66
  end
67
67
  elsif props[:label].is_a?(String)
@@ -5,6 +5,15 @@ module Playbook
5
5
  class Builder
6
6
  def phone_number_field(name, props: {})
7
7
  props[:name] = name
8
+
9
+ if props[:label] == true && props[:required_indicator]
10
+ props[:label] = if @object && @object.class.respond_to?(:human_attribute_name)
11
+ @object.class.human_attribute_name(name)
12
+ else
13
+ name.to_s.humanize
14
+ end
15
+ end
16
+
8
17
  @template.pb_rails("phone_number_input", props: props)
9
18
  end
10
19
  end
@@ -10,7 +10,21 @@ module Playbook
10
10
  props[:input_options] ||= {}
11
11
  props[:input_options][:id] ||= input_id
12
12
 
13
- props[:label] = @template.label(@object_name, name, for: props[:input_options][:id]) if props[:label] == true
13
+ # Determine if this will use React rendering
14
+ # React is used when: pills || !is_multi || wrapped || input_display == "none"
15
+ will_use_react = props[:pills] || props[:is_multi] == false || props[:wrapped] || props[:input_display] == "none"
16
+
17
+ if props[:label] == true
18
+ # Extract just the text for label
19
+ props[:label] = if @object && @object.class.respond_to?(:human_attribute_name)
20
+ @object.class.human_attribute_name(name)
21
+ else
22
+ name.to_s.humanize
23
+ end
24
+ elsif props[:label].is_a?(String) && !will_use_react && !props[:required_indicator]
25
+ # Only Rails (non-React) text_input without required_indicator: text_input creates its own label, so keep as plain text
26
+ end
27
+ # Keep label as plain text for both React and Rails (they handle their own label rendering)
14
28
 
15
29
  if props[:validation]
16
30
  validation_message = props[:validation][:message]
@@ -7,16 +7,16 @@ module Playbook
7
7
  require_relative "builder/checkbox_field"
8
8
  require_relative "builder/collection_select_field"
9
9
  require_relative "builder/date_picker_field"
10
+ require_relative "builder/dropdown_field"
10
11
  require_relative "builder/form_field_builder"
11
12
  require_relative "builder/select_field"
12
- require_relative "builder/typeahead_field"
13
13
  require_relative "builder/intl_telephone_field"
14
14
  require_relative "builder/multi_level_select_field"
15
15
  require_relative "builder/phone_number_field"
16
- require_relative "builder/dropdown_field"
17
16
  require_relative "builder/star_rating_field"
18
17
  require_relative "builder/time_zone_select_field"
19
18
  require_relative "builder/time_picker_field"
19
+ require_relative "builder/typeahead_field"
20
20
 
21
21
  prepend(FormFieldBuilder.new(:email_field, kit_name: "text_input"))
22
22
  prepend(FormFieldBuilder.new(:number_field, kit_name: "text_input"))
@@ -11,7 +11,7 @@ module Playbook
11
11
  return nil unless selected_props.present?
12
12
 
13
13
  selected_props.map do |k|
14
- truncate_value = send(k)
14
+ truncate_value = send(k).to_s
15
15
  "truncate_#{truncate_value}" if truncate_values.include? truncate_value
16
16
  end.compact.join(" ")
17
17
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Playbook
4
4
  PREVIOUS_VERSION = "16.1.0"
5
- VERSION = "16.1.0.pre.alpha.play264213818"
5
+ VERSION = "16.1.0.pre.alpha.play274314102"
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playbook_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 16.1.0.pre.alpha.play264213818
4
+ version: 16.1.0.pre.alpha.play274314102
5
5
  platform: ruby
6
6
  authors:
7
7
  - Power UX
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2026-01-26 00:00:00.000000000 Z
12
+ date: 2026-02-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -304,6 +304,8 @@ files:
304
304
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling.md
305
305
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background.jsx
306
306
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background.md
307
+ - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background_custom.jsx
308
+ - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background_custom.md
307
309
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background_multi.jsx
308
310
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background_multi.md
309
311
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_column_headers.jsx
@@ -739,6 +741,9 @@ files:
739
741
  - app/pb_kits/playbook/pb_checkbox/docs/_checkbox_props_swift.md
740
742
  - app/pb_kits/playbook/pb_checkbox/docs/_checkbox_react_hook.jsx
741
743
  - app/pb_kits/playbook/pb_checkbox/docs/_checkbox_react_hook.md
744
+ - app/pb_kits/playbook/pb_checkbox/docs/_checkbox_required_indicator.html.erb
745
+ - app/pb_kits/playbook/pb_checkbox/docs/_checkbox_required_indicator.jsx
746
+ - app/pb_kits/playbook/pb_checkbox/docs/_checkbox_required_indicator.md
742
747
  - app/pb_kits/playbook/pb_checkbox/docs/_description.md
743
748
  - app/pb_kits/playbook/pb_checkbox/docs/example.yml
744
749
  - app/pb_kits/playbook/pb_checkbox/docs/index.js
@@ -955,6 +960,7 @@ files:
955
960
  - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_anti_patterns.html.erb
956
961
  - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.html.erb
957
962
  - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.jsx
963
+ - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.md
958
964
  - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.html.erb
959
965
  - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.jsx
960
966
  - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.md
@@ -1310,6 +1316,8 @@ files:
1310
1316
  - app/pb_kits/playbook/pb_dropdown/context/index.tsx
1311
1317
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection.html.erb
1312
1318
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection.jsx
1319
+ - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection_rails.md
1320
+ - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection_react.md
1313
1321
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_clear_selection.jsx
1314
1322
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_clear_selection.md
1315
1323
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default.jsx
@@ -1371,6 +1379,13 @@ files:
1371
1379
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_with_subcomponents.html.erb
1372
1380
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_with_subcomponents.jsx
1373
1381
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_with_subcomponents.md
1382
+ - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_clearable.html.erb
1383
+ - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_clearable.jsx
1384
+ - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_clearable.md
1385
+ - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height.jsx
1386
+ - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height_rails.html.erb
1387
+ - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height_rails.md
1388
+ - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height_react.md
1374
1389
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_active_style_options.jsx
1375
1390
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_active_style_options_react.md
1376
1391
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display.jsx
@@ -1401,6 +1416,9 @@ files:
1401
1416
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.html.erb
1402
1417
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.jsx
1403
1418
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.md
1419
+ - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_placeholder.html.erb
1420
+ - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_placeholder.jsx
1421
+ - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_placeholder.md
1404
1422
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_search.jsx
1405
1423
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_search.md
1406
1424
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_search_rails.html.erb
@@ -2101,6 +2119,7 @@ files:
2101
2119
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.md
2102
2120
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.html.erb
2103
2121
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.jsx
2122
+ - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.md
2104
2123
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_react_hook.jsx
2105
2124
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_react_hook.md
2106
2125
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_reset.html.erb
@@ -2352,6 +2371,9 @@ files:
2352
2371
  - app/pb_kits/playbook/pb_passphrase/docs/_passphrase_meter_settings.html.erb
2353
2372
  - app/pb_kits/playbook/pb_passphrase/docs/_passphrase_meter_settings.jsx
2354
2373
  - app/pb_kits/playbook/pb_passphrase/docs/_passphrase_meter_settings.md
2374
+ - app/pb_kits/playbook/pb_passphrase/docs/_passphrase_required_indicator.html.erb
2375
+ - app/pb_kits/playbook/pb_passphrase/docs/_passphrase_required_indicator.jsx
2376
+ - app/pb_kits/playbook/pb_passphrase/docs/_passphrase_required_indicator.md
2355
2377
  - app/pb_kits/playbook/pb_passphrase/docs/_passphrase_strength_change.html.erb
2356
2378
  - app/pb_kits/playbook/pb_passphrase/docs/_passphrase_strength_change.jsx
2357
2379
  - app/pb_kits/playbook/pb_passphrase/docs/_passphrase_strength_change.md
@@ -2554,6 +2576,9 @@ files:
2554
2576
  - app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_preferred_countries.html.erb
2555
2577
  - app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_preferred_countries.jsx
2556
2578
  - app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_preferred_countries.md
2579
+ - app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_required_indicator.html.erb
2580
+ - app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_required_indicator.jsx
2581
+ - app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_required_indicator.md
2557
2582
  - app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.html.erb
2558
2583
  - app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.jsx
2559
2584
  - app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.md
@@ -2739,6 +2764,8 @@ files:
2739
2764
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_height.md
2740
2765
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_inline.jsx
2741
2766
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_inline.md
2767
+ - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_label.jsx
2768
+ - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_label.md
2742
2769
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_min_height.jsx
2743
2770
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_min_height.md
2744
2771
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_preview.jsx
@@ -2749,37 +2776,26 @@ files:
2749
2776
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_sticky.md
2750
2777
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_templates.jsx
2751
2778
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_templates.md
2752
- - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_attributes.html.erb
2753
2779
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_attributes.jsx
2754
- - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_default.html.erb
2755
2780
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_default.jsx
2756
- - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_focus.html.erb
2757
2781
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_focus.jsx
2758
- - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_inline.html.erb
2759
2782
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_inline.jsx
2783
+ - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_label.jsx
2784
+ - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_label.md
2760
2785
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_more_extensions.jsx
2761
2786
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_more_extensions.md
2762
- - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.html.erb
2763
2787
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.jsx
2764
- - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.html.erb
2765
2788
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.jsx
2766
2789
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.md
2767
- - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_simple.html.erb
2768
2790
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_simple.jsx
2769
- - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_sticky.html.erb
2770
2791
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_sticky.jsx
2771
- - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_templates.html.erb
2772
2792
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_templates.jsx
2773
- - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_bottom.html.erb
2774
- - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_bottom.jsx
2775
2793
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_disabled.jsx
2776
2794
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_disabled.md
2777
2795
  - app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml
2778
2796
  - app/pb_kits/playbook/pb_rich_text_editor/docs/index.js
2779
2797
  - app/pb_kits/playbook/pb_rich_text_editor/docs/templates.js
2780
2798
  - app/pb_kits/playbook/pb_rich_text_editor/inlineFocus.ts
2781
- - app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor.html.erb
2782
- - app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor.rb
2783
2799
  - app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor.test.js
2784
2800
  - app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor_advanced.test.js
2785
2801
  - app/pb_kits/playbook/pb_rich_text_editor/types.d.ts
@@ -3289,6 +3305,7 @@ files:
3289
3305
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_custom.jsx
3290
3306
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_default.html.erb
3291
3307
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_default.jsx
3308
+ - app/pb_kits/playbook/pb_textarea/docs/_textarea_default.md
3292
3309
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_default_swift.md
3293
3310
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_emoji_mask.html.erb
3294
3311
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_emoji_mask.jsx
@@ -3359,6 +3376,9 @@ files:
3359
3376
  - app/pb_kits/playbook/pb_time_picker/docs/_time_picker_min_max_time.md
3360
3377
  - app/pb_kits/playbook/pb_time_picker/docs/_time_picker_on_handler.jsx
3361
3378
  - app/pb_kits/playbook/pb_time_picker/docs/_time_picker_on_handler.md
3379
+ - app/pb_kits/playbook/pb_time_picker/docs/_time_picker_required_indicator.html.erb
3380
+ - app/pb_kits/playbook/pb_time_picker/docs/_time_picker_required_indicator.jsx
3381
+ - app/pb_kits/playbook/pb_time_picker/docs/_time_picker_required_indicator.md
3362
3382
  - app/pb_kits/playbook/pb_time_picker/docs/_time_picker_timezone.html.erb
3363
3383
  - app/pb_kits/playbook/pb_time_picker/docs/_time_picker_timezone.jsx
3364
3384
  - app/pb_kits/playbook/pb_time_picker/docs/_time_picker_timezone.md
@@ -3640,6 +3660,9 @@ files:
3640
3660
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_preserve_input_react.md
3641
3661
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_react_hook.jsx
3642
3662
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_react_hook.md
3663
+ - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.html.erb
3664
+ - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.jsx
3665
+ - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.md
3643
3666
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.html.erb
3644
3667
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.jsx
3645
3668
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.md
@@ -3858,12 +3881,12 @@ files:
3858
3881
  - app/pb_kits/playbook/utilities/test/globalProps/zIndex.test.js
3859
3882
  - app/pb_kits/playbook/utilities/text.ts
3860
3883
  - app/pb_kits/playbook/utilities/validEmojiChecker.ts
3861
- - dist/chunks/_pb_line_graph-BgKF_zz1.js
3862
- - dist/chunks/_typeahead-B9a6ZsEP.js
3884
+ - dist/chunks/_pb_line_graph-DuJNCf7N.js
3885
+ - dist/chunks/_typeahead-Cx2lp7TD.js
3863
3886
  - dist/chunks/componentRegistry-DzmmLR2x.js
3864
- - dist/chunks/globalProps-BhVYCqRf.js
3887
+ - dist/chunks/globalProps-Bc-FVsRt.js
3865
3888
  - dist/chunks/lazysizes-B7xYodB-.js
3866
- - dist/chunks/lib-DD34ZrWL.js
3889
+ - dist/chunks/lib-BwX82vim.js
3867
3890
  - dist/chunks/vendor.js
3868
3891
  - dist/menu.yml
3869
3892
  - dist/playbook-rails-react-bindings.js
@@ -1,5 +0,0 @@
1
- <%= pb_rails("rich_text_editor", props: {
2
- aria: { label: "rich-textarea" },
3
- data: { key: "value", key2: "value2" },
4
- name: "textarea-label",
5
- }) %>
@@ -1 +0,0 @@
1
- <%= pb_rails("rich_text_editor", props: {input_options: { id: 'hidden_input_id', name: "hidden_input_name" }, value: "Add your text here. You can format your text, add links, quotes, and bullets."}) %>
@@ -1,3 +0,0 @@
1
- <%= pb_rails("rich_text_editor", props: {focus: true}) %>
2
- <br>
3
- <%= pb_rails("rich_text_editor", props: {focus: true}) %>
@@ -1,6 +0,0 @@
1
- <%= pb_rails("rich_text_editor", props: {
2
- id: "inline",
3
- inline: true,
4
- toolbar_bottom: true,
5
- value: "Try hovering over this text. Then try modifying it or adding more of your own text."
6
- }) %>
@@ -1,35 +0,0 @@
1
-
2
- <%= pb_rails("rich_text_editor", props: { id: "content-preview-editor" }) %>
3
- <div id="card-obfuscation" style="display:none">
4
- <%= pb_rails("card", props: { margin_top: "md", max_width: "md", padding: "sm" }) do %>
5
- <div id="content-preview" class="trix-content">
6
- </div>
7
- <% end %>
8
- </div>
9
- <%= pb_rails("button", props: { id: "preview-button", variant: "secondary", margin_top: "md" }) do %>
10
- <span>Preview Output</span>
11
- <% end %>
12
-
13
- <script>
14
- document.addEventListener('DOMContentLoaded', () => {
15
- function handleButtonClick() {
16
- const editorContainer = [...document.querySelectorAll('[data-pb-react-props]')]
17
- .find(element => element.getAttribute('data-pb-react-props')?.includes('"id":"content-preview-editor"'))
18
-
19
- const editorElement = editorContainer?.querySelector('trix-editor')
20
- const inputId = editorElement?.getAttribute('input')
21
- const inputElement = inputId && document.getElementById(inputId)
22
-
23
- const editorContent = inputElement?.value || ''
24
- const previewArea = document.getElementById('content-preview')
25
- const cardDiv = document.getElementById('card-obfuscation')
26
-
27
- if (previewArea && cardDiv) {
28
- previewArea.innerHTML = editorContent
29
- cardDiv.style.display = 'block'
30
- }
31
- }
32
-
33
- document.getElementById('preview-button')?.addEventListener('click', handleButtonClick)
34
- })
35
- </script>
@@ -1,10 +0,0 @@
1
- <%= pb_rails("rich_text_editor", props: {
2
- id: "required-indicator",
3
- input_options: {
4
- id: 'hidden_input_id',
5
- name: "hidden_input_name"
6
- },
7
- label: "Label",
8
- required_indicator: true,
9
- value: "Add your text here. You can format your text, add links, quotes, and bullets."
10
- }) %>
@@ -1 +0,0 @@
1
- <%= pb_rails("rich_text_editor", props: {simple: true, id: "simple"}) %>
@@ -1 +0,0 @@
1
- <%= pb_rails("rich_text_editor", props: {id: "sticky", sticky: true, 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."}) %>
@@ -1,115 +0,0 @@
1
- <% changelog = "<div>
2
- <strong>Changelog:<br></strong>
3
- [INSERT LINK]<br><br>
4
- You can test the normal spots of Playbook rails and react on
5
- dev docs plus the following:
6
- </div>
7
- <div>
8
- <br>
9
- </div>" %>
10
-
11
- <% release = "<div>
12
- <div>
13
- <strong>Story Background</strong>
14
- </div>
15
- <div>
16
- Follow the{' '}
17
- <a href='https://github.com/powerhome/playbook/wiki/Release-Team-Guide'>
18
- release process
19
- </a>{' '}
20
- to create a new version, create a gem, and package. Create a Ninja testing
21
- plan, then update Nitro with the new version.
22
- </div>
23
- <div>
24
- <br />
25
- </div>
26
- <div>
27
- <strong>Timeline / Due Date</strong>
28
- </div>
29
- <div>
30
- <em>Release End of business Thursday</em>
31
- </div>
32
- <div>
33
- <em>Testing on Nitro End of business Friday</em>
34
- </div>
35
- <div>
36
- <br />
37
- </div>
38
- <div>
39
- <strong>Definition of done</strong>
40
- </div>
41
- <ol>
42
- <li>Merge all PR’s</li>
43
- <li>Update the final CHANGELOG</li>
44
- <li>Version up and generate NPM, and RubyGem</li>
45
- <li>Create next version branch and milestone</li>
46
- <li>Update default branch and branch protection rules&nbsp;</li>
47
- <li>Notify Everyone of new version</li>
48
- <li>
49
- Generate testing plan and pages to test for Ninjas (update runway
50
- ticket)
51
- </li>
52
- <li>Update version on Nitro and get on Demo</li>
53
- <li>Send Ninjas demo and runway ticket for testing</li>
54
- <li>Ninja Approved + PR Approved</li>
55
- </ol>
56
- <div>
57
- <br />
58
- </div>
59
- <div>
60
- <strong>Stakeholders / Sign-off</strong>
61
- </div>
62
- <ul>
63
- <li>Code Owners</li>
64
- </ul>
65
- <div>
66
- <br />
67
- <strong>Cadence</strong>
68
- <br />
69
- Jason, Jon, Stephen, Jasper, Brendan, Cole
70
- </div>
71
- </div>" %>
72
-
73
- <%= pb_rails("select", props: {
74
- id: "rails-select-dropdown",
75
- label: "",
76
- name: "",
77
- blank_selection: "Select a template",
78
- options: [
79
- {
80
- value: release,
81
- value_text: "Playbook Release",
82
- },
83
- {
84
- value: changelog,
85
- value_text: "Changelog",
86
- },
87
- ]
88
- }) %>
89
-
90
-
91
-
92
-
93
-
94
- <%= pb_rails("rich_text_editor", props: {classname: 'template-test', id: "template", template: '' }) %>
95
-
96
-
97
- <script>
98
- const updateContent = (template) => {
99
- const trix = document.querySelector('.template-test trix-editor');
100
- const editor = trix.editor;
101
- console.log(editor)
102
- editor.loadHTML("")
103
- editor.setSelectedRange([0, 0])
104
- editor.insertHTML(template)
105
- }
106
-
107
- window.addEventListener('DOMContentLoaded', () => {
108
- const editor = document.querySelector("#rails-select-dropdown")
109
- editor.addEventListener('change', function() {
110
- console.log('You selected: ', this.value);
111
- const template = this.value
112
- updateContent(template);
113
- });
114
- });
115
- </script>
@@ -1,4 +0,0 @@
1
- <%= pb_rails("rich_text_editor", props: {
2
- id: "toolbar-bottom",
3
- toolbar_bottom: true
4
- }) %>
@@ -1,14 +0,0 @@
1
- import React from 'react'
2
- import RichTextEditor from '../../pb_rich_text_editor/_rich_text_editor'
3
-
4
- const RichTextEditorToolbarBottom = (props) => (
5
- <div>
6
- <RichTextEditor
7
- id="bottom-toolbar"
8
- toolbarBottom
9
- {...props}
10
- />
11
- </div>
12
- )
13
-
14
- export default RichTextEditorToolbarBottom
@@ -1,5 +0,0 @@
1
- <%= react_component('RichTextEditor',
2
- object.rich_text_options,
3
- aria: object.aria,
4
- data: object.data
5
- ) %>
@@ -1,63 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Playbook
4
- module PbRichTextEditor
5
- class RichTextEditor < Playbook::KitBase
6
- prop :focus, type: Playbook::Props::Boolean,
7
- default: false
8
-
9
- prop :inline, type: Playbook::Props::Boolean,
10
- default: false
11
-
12
- prop :simple, type: Playbook::Props::Boolean,
13
- default: false
14
-
15
- prop :sticky, type: Playbook::Props::Boolean,
16
- default: false
17
- prop :toolbar_bottom, type: Playbook::Props::Boolean,
18
- default: false
19
-
20
- prop :value
21
- prop :template
22
- prop :placeholder
23
- prop :input_options
24
- prop :label
25
- prop :required_indicator, type: Playbook::Props::Boolean,
26
- default: false
27
-
28
- def classname
29
- generate_classname("pb_rich_text_editor_kit", simple_class, focus_class, sticky_class, separator: " ")
30
- end
31
-
32
- def focus_class
33
- focus ? "focus-editor-targets" : nil
34
- end
35
-
36
- def simple_class
37
- simple ? "simple" : nil
38
- end
39
-
40
- def sticky_class
41
- sticky ? "sticky" : nil
42
- end
43
-
44
- def rich_text_options
45
- {
46
- id: id,
47
- inline: inline,
48
- className: classname,
49
- focus: focus,
50
- simple: simple,
51
- sticky: sticky,
52
- toolbarBottom: toolbar_bottom,
53
- value: value,
54
- template: template,
55
- placeholder: placeholder,
56
- inputOptions: input_options,
57
- label: label,
58
- requiredIndicator: required_indicator,
59
- }
60
- end
61
- end
62
- end
63
- end