playbook_ui 16.1.0.pre.alpha.play277814027 → 16.1.0.pre.rc.0

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 (178) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/Components/RegularTableView.tsx +2 -12
  3. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +2 -2
  4. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +0 -4
  5. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +0 -33
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading.md +2 -2
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +0 -2
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +1 -2
  9. data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +1 -51
  10. data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +1 -1
  11. data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +0 -34
  12. data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +1 -1
  13. data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +0 -19
  14. data/app/pb_kits/playbook/pb_background/docs/example.yml +0 -1
  15. data/app/pb_kits/playbook/pb_background/docs/index.js +0 -1
  16. data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +5 -14
  17. data/app/pb_kits/playbook/pb_dialog/_dialog.scss +6 -8
  18. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +0 -6
  19. data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +2 -37
  20. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +0 -6
  21. data/app/pb_kits/playbook/pb_dropdown/docs/index.js +1 -4
  22. data/app/pb_kits/playbook/pb_dropdown/dropdown.html.erb +2 -2
  23. data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +0 -6
  24. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +0 -94
  25. data/app/pb_kits/playbook/pb_dropdown/dropdown_container.rb +1 -5
  26. data/app/pb_kits/playbook/pb_dropdown/index.js +4 -59
  27. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownContainer.tsx +0 -3
  28. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownTrigger.tsx +1 -2
  29. data/app/pb_kits/playbook/pb_filter/Filter/SortMenu.tsx +1 -1
  30. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.html.erb +2 -2
  31. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.jsx +9 -16
  32. data/app/pb_kits/playbook/pb_filter/filter.rb +2 -2
  33. data/app/pb_kits/playbook/pb_form/docs/_form_with_required_indicator.html.erb +1 -5
  34. data/app/pb_kits/playbook/pb_form/pb_form_validation.js +2 -9
  35. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.html.erb +5 -5
  36. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.jsx +4 -4
  37. data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +0 -4
  38. data/app/pb_kits/playbook/pb_icon/icon.rb +1 -6
  39. data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +33 -35
  40. data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +0 -1
  41. data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.jsx +1 -1
  42. data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.md +1 -1
  43. data/app/pb_kits/playbook/pb_multiple_users/docs/example.yml +0 -1
  44. data/app/pb_kits/playbook/pb_multiple_users/multiple_users.html.erb +7 -51
  45. data/app/pb_kits/playbook/pb_multiple_users/multiple_users.rb +0 -1
  46. data/app/pb_kits/playbook/pb_passphrase/_passphrase.tsx +5 -20
  47. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_meter_settings.jsx +0 -1
  48. data/app/pb_kits/playbook/pb_passphrase/docs/example.yml +0 -2
  49. data/app/pb_kits/playbook/pb_passphrase/docs/index.js +0 -1
  50. data/app/pb_kits/playbook/pb_passphrase/passphrase.rb +0 -2
  51. data/app/pb_kits/playbook/pb_passphrase/passphrase.test.jsx +1 -30
  52. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +0 -3
  53. data/app/pb_kits/playbook/pb_phone_number_input/docs/example.yml +0 -2
  54. data/app/pb_kits/playbook/pb_phone_number_input/docs/index.js +0 -1
  55. data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.rb +0 -3
  56. data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.test.js +3 -34
  57. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.tsx +6 -33
  58. data/app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml +0 -3
  59. data/app/pb_kits/playbook/pb_rich_text_editor/docs/index.js +0 -2
  60. data/app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor.rb +0 -5
  61. data/app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor.test.js +18 -33
  62. data/app/pb_kits/playbook/pb_textarea/_textarea.tsx +11 -39
  63. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_default.html.erb +3 -3
  64. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_default.jsx +0 -3
  65. data/app/pb_kits/playbook/pb_textarea/docs/example.yml +1 -4
  66. data/app/pb_kits/playbook/pb_textarea/docs/index.js +0 -1
  67. data/app/pb_kits/playbook/pb_textarea/index.ts +5 -12
  68. data/app/pb_kits/playbook/pb_textarea/textarea.html.erb +14 -30
  69. data/app/pb_kits/playbook/pb_textarea/textarea.rb +0 -36
  70. data/app/pb_kits/playbook/pb_textarea/textarea.test.js +1 -18
  71. data/app/pb_kits/playbook/pb_time_picker/_time_picker.tsx +11 -97
  72. data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_on_handler.jsx +2 -5
  73. data/app/pb_kits/playbook/pb_time_picker/docs/example.yml +0 -2
  74. data/app/pb_kits/playbook/pb_time_picker/docs/index.js +0 -1
  75. data/app/pb_kits/playbook/pb_time_picker/time_picker.rb +0 -3
  76. data/app/pb_kits/playbook/pb_time_picker/time_picker.test.jsx +1 -47
  77. data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +1 -24
  78. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +1 -2
  79. data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.tsx +1 -4
  80. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.html.erb +1 -1
  81. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.jsx +1 -1
  82. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +0 -4
  83. data/dist/chunks/{_pb_line_graph-BgKF_zz1.js → _pb_line_graph-hxi01lk7.js} +1 -1
  84. data/dist/chunks/_typeahead-BgLnlhzP.js +1 -0
  85. data/dist/chunks/{globalProps-BhVYCqRf.js → globalProps-DgYwLYNx.js} +1 -1
  86. data/dist/chunks/{lib-DD34ZrWL.js → lib-NLxTo8OB.js} +1 -1
  87. data/dist/chunks/vendor.js +3 -3
  88. data/dist/menu.yml +2 -2
  89. data/dist/playbook-rails-react-bindings.js +1 -1
  90. data/dist/playbook-rails.js +1 -1
  91. data/dist/playbook.css +1 -1
  92. data/lib/playbook/align_content.rb +3 -13
  93. data/lib/playbook/align_items.rb +3 -13
  94. data/lib/playbook/align_self.rb +3 -13
  95. data/lib/playbook/display.rb +0 -5
  96. data/lib/playbook/flex.rb +3 -13
  97. data/lib/playbook/flex_direction.rb +3 -13
  98. data/lib/playbook/flex_grow.rb +3 -13
  99. data/lib/playbook/flex_shrink.rb +3 -13
  100. data/lib/playbook/flex_wrap.rb +3 -13
  101. data/lib/playbook/forms/builder/phone_number_field.rb +0 -9
  102. data/lib/playbook/justify_content.rb +3 -13
  103. data/lib/playbook/justify_self.rb +3 -13
  104. data/lib/playbook/order.rb +3 -13
  105. data/lib/playbook/spacing.rb +9 -39
  106. data/lib/playbook/text_align.rb +3 -13
  107. data/lib/playbook/truncate.rb +1 -1
  108. data/lib/playbook/version.rb +2 -2
  109. data/lib/playbook/vertical_align.rb +3 -13
  110. data/lib/playbook/z_index.rb +0 -5
  111. metadata +6 -72
  112. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background_custom.jsx +0 -71
  113. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background_custom.md +0 -4
  114. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading_rails.html.erb +0 -64
  115. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading_rails.md +0 -18
  116. data/app/pb_kits/playbook/pb_background/docs/_background_responsive.jsx +0 -30
  117. data/app/pb_kits/playbook/pb_background/docs/_background_responsive.md +0 -1
  118. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.md +0 -1
  119. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection_rails.md +0 -3
  120. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection_react.md +0 -3
  121. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_clearable.html.erb +0 -52
  122. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_clearable.jsx +0 -72
  123. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_clearable.md +0 -5
  124. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height.jsx +0 -33
  125. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height_rails.html.erb +0 -20
  126. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height_rails.md +0 -8
  127. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height_react.md +0 -8
  128. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_placeholder.html.erb +0 -9
  129. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_placeholder.jsx +0 -33
  130. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_placeholder.md +0 -3
  131. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.html.erb +0 -74
  132. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.jsx +0 -87
  133. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.md +0 -3
  134. data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.html.erb +0 -30
  135. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_required_indicator.html.erb +0 -7
  136. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_required_indicator.jsx +0 -24
  137. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_required_indicator.md +0 -3
  138. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_required_indicator.html.erb +0 -5
  139. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_required_indicator.jsx +0 -14
  140. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_required_indicator.md +0 -3
  141. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_required_indicator.jsx +0 -35
  142. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_required_indicator.md +0 -3
  143. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.html.erb +0 -10
  144. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.jsx +0 -21
  145. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.md +0 -3
  146. data/app/pb_kits/playbook/pb_table/docs/_sections.yml +0 -68
  147. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_default.md +0 -1
  148. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_input_options.html.erb +0 -39
  149. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_input_options.md +0 -3
  150. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_required_indicator.html.erb +0 -5
  151. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_required_indicator.jsx +0 -25
  152. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_required_indicator.md +0 -3
  153. data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_required_indicator.html.erb +0 -6
  154. data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_required_indicator.jsx +0 -16
  155. data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_required_indicator.md +0 -3
  156. data/app/pb_kits/playbook/utilities/test/globalProps/borderRadius.test.js +0 -33
  157. data/app/pb_kits/playbook/utilities/test/globalProps/bottom.test.js +0 -60
  158. data/app/pb_kits/playbook/utilities/test/globalProps/cursor.test.js +0 -42
  159. data/app/pb_kits/playbook/utilities/test/globalProps/dark.test.js +0 -33
  160. data/app/pb_kits/playbook/utilities/test/globalProps/gap.test.js +0 -87
  161. data/app/pb_kits/playbook/utilities/test/globalProps/globalProps.integration.test.js +0 -936
  162. data/app/pb_kits/playbook/utilities/test/globalProps/height.test.js +0 -68
  163. data/app/pb_kits/playbook/utilities/test/globalProps/htmlOptions.test.js +0 -510
  164. data/app/pb_kits/playbook/utilities/test/globalProps/left.test.js +0 -60
  165. data/app/pb_kits/playbook/utilities/test/globalProps/lineHeight.test.js +0 -33
  166. data/app/pb_kits/playbook/utilities/test/globalProps/margin.test.js +0 -95
  167. data/app/pb_kits/playbook/utilities/test/globalProps/numberSpacing.test.js +0 -33
  168. data/app/pb_kits/playbook/utilities/test/globalProps/overflow.test.js +0 -68
  169. data/app/pb_kits/playbook/utilities/test/globalProps/padding.test.js +0 -95
  170. data/app/pb_kits/playbook/utilities/test/globalProps/position.test.js +0 -33
  171. data/app/pb_kits/playbook/utilities/test/globalProps/right.test.js +0 -60
  172. data/app/pb_kits/playbook/utilities/test/globalProps/shadow.test.js +0 -33
  173. data/app/pb_kits/playbook/utilities/test/globalProps/textAlign.test.js +0 -41
  174. data/app/pb_kits/playbook/utilities/test/globalProps/top.test.js +0 -60
  175. data/app/pb_kits/playbook/utilities/test/globalProps/verticalAlign.test.js +0 -40
  176. data/app/pb_kits/playbook/utilities/test/globalProps/width.test.js +0 -66
  177. data/app/pb_kits/playbook/utilities/test/globalProps/zIndex.test.js +0 -50
  178. data/dist/chunks/_typeahead-CWA5wlah.js +0 -1
@@ -1,55 +1,11 @@
1
1
  <%= pb_content_tag do %>
2
- <% if object.with_tooltip %>
3
- <% object.users.take(object.display_count).each_with_index do |user, index| %>
4
- <% user_id = "multiple-users-#{object.object_id}-user-#{index}" %>
5
- <div id="<%= user_id %>" class="pb_multiple_users_item">
6
- <%= pb_rails("avatar", props: user.except(:tooltip).merge({size: object.size, dark: object.dark})) %>
7
- </div>
8
- <% end %>
9
-
10
- <% if object.more_than_four %>
11
- <% badge_id = "multiple-users-#{object.object_id}-badge" %>
12
- <div id="<%= badge_id %>" class="pb_multiple_users_item multiple_users_badge_<%= object.size %><%= object.dark ? " dark" : "" %>">
13
- <%= "+#{object.users.count - object.display_count}" %>
14
- </div>
15
- <% end %>
16
-
17
- <% object.users.take(object.display_count).each_with_index do |user, index| %>
18
- <% if user[:tooltip].present? %>
19
- <% user_id = "multiple-users-#{object.object_id}-user-#{index}" %>
20
- <%= pb_rails("tooltip", props: {
21
- trigger_element_selector: "##{user_id}",
22
- tooltip_id: "#{user_id}-tooltip",
23
- position: "top",
24
- z_index: "10"
25
- }) do %>
26
- <%= user[:tooltip] %>
27
- <% end %>
28
- <% end %>
29
- <% end %>
30
-
31
- <% if object.more_than_four %>
32
- <% badge_id = "multiple-users-#{object.object_id}-badge" %>
33
- <%= pb_rails("tooltip", props: {
34
- trigger_element_selector: "##{badge_id}",
35
- tooltip_id: "#{badge_id}-tooltip",
36
- position: "top",
37
- z_index: "10"
38
- }) do %>
39
- <% object.users.drop(object.display_count).each do |user| %>
40
- <div><%= user[:tooltip] || user[:name] %></div>
41
- <% end %>
42
- <% end %>
43
- <% end %>
44
- <% else %>
45
- <% object.users.take(object.display_count).each do |user| %>
46
- <%= pb_rails("avatar", props: user.merge({size: object.size, classname: "pb_multiple_users_item", dark: object.dark})) %>
47
- <% end %>
2
+ <% object.users.take(object.display_count).each do |user| %>
3
+ <%= pb_rails("avatar", props: user.merge({size: object.size, classname: "pb_multiple_users_item", dark: object.dark}) ) %>
4
+ <% end %>
48
5
 
49
- <% if object.more_than_four %>
50
- <div class="pb_multiple_users_item multiple_users_badge_<%= object.size %><%= object.dark ? " dark" : "" %>">
51
- <%= "+#{object.users.count - object.display_count}" %>
52
- </div>
53
- <% end %>
6
+ <% if object.more_than_four %>
7
+ <div class="pb_multiple_users_item multiple_users_badge_<%= object.size %><%= object.dark ? " dark" : "" %>">
8
+ <%= "+#{object.users.count - object.display_count}" %>
9
+ </div>
54
10
  <% end %>
55
11
  <% end %>
@@ -8,7 +8,6 @@ module Playbook
8
8
  values: %w[xxs xs],
9
9
  default: "xs"
10
10
  prop :users, type: Playbook::Props::HashArray, required: true
11
- prop :with_tooltip, type: Playbook::Props::Boolean, default: false
12
11
 
13
12
  def more_than_four
14
13
  users.count > 4
@@ -7,7 +7,6 @@ import { globalProps } from "../utilities/globalProps"
7
7
  import Body from '../pb_body/_body'
8
8
  import Caption from '../pb_caption/_caption'
9
9
  import CircleIconButton from '../pb_circle_icon_button/_circle_icon_button'
10
- import colors from '../tokens/exports/_colors.module.scss'
11
10
  import Flex from '../pb_flex/_flex'
12
11
  import Icon from '../pb_icon/_icon'
13
12
  import PbReactPopover from '../pb_popover/_popover'
@@ -26,7 +25,6 @@ type PassphraseProps = {
26
25
  inputProps?: GenericObject,
27
26
  label?: string,
28
27
  onChange: (inputValue: string) => void,
29
- requiredIndicator?: boolean,
30
28
  showTipsBelow?: "always" | "xs" | "sm" | "md" | "lg" | "xl",
31
29
  tips?: Array<string>,
32
30
  uncontrolled?: boolean,
@@ -45,7 +43,6 @@ const Passphrase = (props: PassphraseProps): React.ReactElement => {
45
43
  inputProps = {},
46
44
  label = confirmation ? "Confirm Passphrase" : "Passphrase",
47
45
  onChange = () => undefined,
48
- requiredIndicator = false,
49
46
  showTipsBelow = "always",
50
47
  tips = [],
51
48
  uncontrolled = false,
@@ -102,7 +99,6 @@ const Passphrase = (props: PassphraseProps): React.ReactElement => {
102
99
 
103
100
  const shieldIcon = getAllIcons()["shieldCheck"]
104
101
  const eyeIcon = getAllIcons()["eye"]
105
- const hasLabel = label && label !== ""
106
102
 
107
103
  return (
108
104
  <div
@@ -113,22 +109,11 @@ const Passphrase = (props: PassphraseProps): React.ReactElement => {
113
109
  id={id}
114
110
  >
115
111
  <label>
116
- <Flex
117
- align="baseline"
118
- {...(hasLabel ? { marginBottom: "xs" } : {})}
119
- >
120
- {hasLabel && (requiredIndicator ? (
121
- <Caption
122
- className="passphrase-label"
123
- >
124
- {label} <span style={{ color: `${colors.error}` }}>*</span>
125
- </Caption>
126
- ) : (
127
- <Caption
128
- className="passphrase-label"
129
- text={label}
130
- />
131
- ))}
112
+ <Flex align="baseline">
113
+ <Caption
114
+ className="passphrase-label"
115
+ text={label}
116
+ />
132
117
  {tips.length > 0 && !confirmation &&
133
118
  <PbReactPopover
134
119
  className="passphrase-tips"
@@ -120,7 +120,6 @@ const PassphraseMeterSettings = (props) => {
120
120
  "These examples will all share the same input value. Type in any of the inputs to see how the strength meter changes in response to different settings."
121
121
  }
122
122
  </Body>
123
- <br/>
124
123
  <Passphrase
125
124
  label={"Type your passphrase"}
126
125
  onChange={handleChange}
@@ -9,7 +9,6 @@ examples:
9
9
  - passphrase_strength_change: Strength Change
10
10
  - passphrase_common: Common Passphrases
11
11
  - passphrase_breached: Breached Passphrases
12
- - passphrase_required_indicator: Required Indicator
13
12
 
14
13
  react:
15
14
  - passphrase_default: Default
@@ -20,4 +19,3 @@ examples:
20
19
  - passphrase_strength_change: Strength Change
21
20
  - passphrase_common: Common Passphrases
22
21
  - passphrase_breached: Breached Passphrases
23
- - passphrase_required_indicator: Required Indicator
@@ -6,4 +6,3 @@ export { default as PassphraseTips } from './_passphrase_tips'
6
6
  export { default as PassphraseStrengthChange } from './_passphrase_strength_change'
7
7
  export { default as PassphraseCommon } from './_passphrase_common'
8
8
  export { default as PassphraseBreached } from './_passphrase_breached'
9
- export { default as PassphraseRequiredIndicator } from './_passphrase_required_indicator.jsx'
@@ -10,7 +10,6 @@ module Playbook
10
10
  values: %w[always xs sm md lg xl],
11
11
  default: "always"
12
12
  prop :tips, type: Playbook::Props::Array, default: []
13
- prop :required_indicator, type: Playbook::Props::Boolean, default: false
14
13
  prop :value, type: Playbook::Props::String
15
14
 
16
15
  def classname
@@ -24,7 +23,6 @@ module Playbook
24
23
  confirmation: confirmation,
25
24
  inputProps: input_props,
26
25
  label: label,
27
- requiredIndicator: required_indicator,
28
26
  showTipsBelow: show_tips_below,
29
27
  tips: tips,
30
28
  uncontrolled: true,
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import { render, screen, within } from '../utilities/test-utils'
2
+ import { render, screen } from '../utilities/test-utils'
3
3
  import { Passphrase } from 'playbook-ui'
4
4
 
5
5
  const testId = 'text-input1',
@@ -86,32 +86,3 @@ test('popover target does not show when tips are not given', () => {
86
86
  const kit = screen.getByTestId(testId)
87
87
  expect(kit.querySelector('[class^=pb_popover_reference_wrapper]')).toBeNull()
88
88
  })
89
-
90
- test('renders required indicator asterisk when requiredIndicator is true', () => {
91
- render(
92
- <Passphrase
93
- data={{ testid: testId }}
94
- label="Passphrase"
95
- requiredIndicator
96
- />
97
- )
98
-
99
- const kit = screen.getByTestId(testId)
100
- const label = within(kit).getByText(/Passphrase/)
101
- expect(label).toBeInTheDocument()
102
- expect(kit).toHaveTextContent('*')
103
- })
104
-
105
- test('does not render required indicator asterisk when requiredIndicator is false', () => {
106
- render(
107
- <Passphrase
108
- data={{ testid: testId }}
109
- label="Passphrase"
110
- />
111
- )
112
-
113
- const kit = screen.getByTestId(testId)
114
- const label = within(kit).getByText(/Passphrase/)
115
- expect(label).toBeInTheDocument()
116
- expect(kit).not.toHaveTextContent('*')
117
- })
@@ -36,7 +36,6 @@ type PhoneNumberInputProps = {
36
36
  excludeCountries: string[],
37
37
  preferredCountries?: string[],
38
38
  required?: boolean,
39
- requiredIndicator?: boolean,
40
39
  value?: string,
41
40
  formatAsYouType?: boolean,
42
41
  strictMode?: boolean,
@@ -92,7 +91,6 @@ const PhoneNumberInput = (props: PhoneNumberInputProps, ref?: React.Ref<unknown>
92
91
  onlyCountries = [],
93
92
  excludeCountries = [],
94
93
  required = false,
95
- requiredIndicator = false,
96
94
  preferredCountries = [],
97
95
  value = "",
98
96
  formatAsYouType = false,
@@ -535,7 +533,6 @@ const PhoneNumberInput = (props: PhoneNumberInputProps, ref?: React.Ref<unknown>
535
533
  validateErrors()
536
534
  },
537
535
  onChange: formatAsYouType ? undefined : handleOnChange,
538
- requiredIndicator,
539
536
  value: inputValue
540
537
  }
541
538
 
@@ -12,7 +12,6 @@ examples:
12
12
  - phone_number_input_format: Format as You Type
13
13
  - phone_number_input_strict_mode: Strict Mode
14
14
  - phone_number_input_country_search: Country Search
15
- - phone_number_input_required_indicator: Required Indicator
16
15
 
17
16
  rails:
18
17
  - phone_number_input_default: Default
@@ -25,4 +24,3 @@ examples:
25
24
  - phone_number_input_strict_mode: Strict Mode
26
25
  - phone_number_input_hidden_inputs: Hidden Inputs
27
26
  - phone_number_input_country_search: Country Search
28
- - phone_number_input_required_indicator: Required Indicator
@@ -9,4 +9,3 @@ export { default as PhoneNumberInputAccessInputElement } from './_phone_number_i
9
9
  export { default as PhoneNumberInputFormat } from './_phone_number_input_format'
10
10
  export { default as PhoneNumberInputStrictMode } from './_phone_number_input_strict_mode'
11
11
  export { default as PhoneNumberInputCountrySearch } from './_phone_number_input_country_search'
12
- export { default as PhoneNumberInputRequiredIndicator } from './_phone_number_input_required_indicator.jsx'
@@ -7,8 +7,6 @@ module Playbook
7
7
  default: false
8
8
  prop :required, type: Playbook::Props::Boolean,
9
9
  default: false
10
- prop :required_indicator, type: Playbook::Props::Boolean,
11
- default: false
12
10
  prop :initial_country, type: Playbook::Props::String,
13
11
  default: ""
14
12
  prop :label, type: Playbook::Props::String,
@@ -54,7 +52,6 @@ module Playbook
54
52
  excludeCountries: exclude_countries,
55
53
  preferredCountries: preferred_countries,
56
54
  required: required,
57
- requiredIndicator: required_indicator,
58
55
  value: value,
59
56
  countrySearch: country_search,
60
57
  }
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { render, screen, act, within } from "../utilities/test-utils";
2
+ import { render, screen, act } from "../utilities/test-utils";
3
3
  import PhoneNumberInput from "./_phone_number_input";
4
4
 
5
5
  const testId = "phoneNumberInput";
@@ -129,7 +129,7 @@ test("should format phone number as '555-555-5555' with formatAsYouType and 'us'
129
129
  };
130
130
 
131
131
  render(<PhoneNumberInput {...props} />);
132
-
132
+
133
133
  const input = screen.getByRole("textbox");
134
134
 
135
135
  act(() => {
@@ -154,38 +154,7 @@ test("should pass countrySearch prop to component", () => {
154
154
  };
155
155
 
156
156
  render(<PhoneNumberInput {...props} />);
157
-
157
+
158
158
  const wrapper = screen.getByTestId('phone-input-with-search');
159
159
  expect(wrapper).toBeInTheDocument();
160
160
  });
161
-
162
- test("renders required indicator asterisk when requiredIndicator is true", () => {
163
- const props = {
164
- data: { testid: testId },
165
- id: testId,
166
- label: "Required Phone Number",
167
- requiredIndicator: true,
168
- };
169
-
170
- render(<PhoneNumberInput {...props} />);
171
-
172
- const kit = screen.getByTestId(testId);
173
- const label = within(kit).getByText(/Required Phone Number/);
174
- expect(label).toBeInTheDocument();
175
- expect(kit).toHaveTextContent("*");
176
- });
177
-
178
- test("does not render required indicator asterisk when requiredIndicator is false", () => {
179
- const props = {
180
- data: { testid: testId },
181
- id: testId,
182
- label: "Phone Number",
183
- };
184
-
185
- render(<PhoneNumberInput {...props} />);
186
-
187
- const kit = screen.getByTestId(testId);
188
- const label = within(kit).getByText(/Phone Number/);
189
- expect(label).toBeInTheDocument();
190
- expect(kit).not.toHaveTextContent("*");
191
- });
@@ -4,8 +4,6 @@ import { TrixEditor } from 'react-trix'
4
4
 
5
5
  import inlineFocus from './inlineFocus'
6
6
  import useFocus from './useFocus'
7
- import Caption from '../pb_caption/_caption'
8
- import colors from '../tokens/exports/_colors.module.scss'
9
7
  import { globalProps, GlobalProps } from '../utilities/globalProps'
10
8
  import { buildAriaProps, buildDataProps, noop, buildHtmlProps } from '../utilities/props'
11
9
 
@@ -42,14 +40,12 @@ type RichTextEditorProps = {
42
40
  inputOptions?: { [key: string]: string | number | boolean | (() => void) },
43
41
  id?: string,
44
42
  inline?: boolean,
45
- label?: string,
46
43
  extensions?: { [key: string]: string }[],
47
44
  name?: string,
48
45
  onChange: (html: string, text: string) => void,
49
46
  placeholder?: string,
50
47
  inputHeight?: "sm" | "md" | "lg",
51
48
  inputMinHeight?: "sm" | "md" | "lg",
52
- requiredIndicator?: boolean,
53
49
  simple?: boolean,
54
50
  sticky?: boolean,
55
51
  template: string,
@@ -68,7 +64,6 @@ const RichTextEditor = (props: RichTextEditorProps): React.ReactElement => {
68
64
  data = {},
69
65
  focus = false,
70
66
  htmlOptions = {},
71
- id,
72
67
  inputOptions = {},
73
68
  inline = false,
74
69
  extensions,
@@ -81,9 +76,7 @@ const RichTextEditor = (props: RichTextEditorProps): React.ReactElement => {
81
76
  sticky = false,
82
77
  template = '',
83
78
  value = '',
84
- maxWidth = "md",
85
- requiredIndicator = false,
86
- label,
79
+ maxWidth = "md"
87
80
  } = props
88
81
 
89
82
  const ariaProps = buildAriaProps(aria),
@@ -93,7 +86,7 @@ const RichTextEditor = (props: RichTextEditorProps): React.ReactElement => {
93
86
  containerRef = useRef<HTMLDivElement>(null)
94
87
 
95
88
  const htmlProps = buildHtmlProps(htmlOptions)
96
-
89
+
97
90
  const handleOnEditorReady = (editorInstance: Editor) => {
98
91
  setEditor(editorInstance)
99
92
  setTimeout(() => {
@@ -101,7 +94,7 @@ const RichTextEditor = (props: RichTextEditorProps): React.ReactElement => {
101
94
  if (oldId) {
102
95
  const hiddenInput = document.getElementById(oldId)
103
96
  if (hiddenInput) {
104
- const newId = (inputOptions.id as string) || oldId
97
+ const newId = (inputOptions.id as string) || oldId
105
98
  hiddenInput.id = newId
106
99
  editorInstance.element.setAttribute('input', newId)
107
100
 
@@ -126,7 +119,7 @@ const RichTextEditor = (props: RichTextEditorProps): React.ReactElement => {
126
119
  // set button attributes
127
120
  inlineCodeButton.dataset.trixAttribute = 'inlineCode'
128
121
  blockCodeButton.insertAdjacentElement('afterend', inlineCodeButton)
129
- }
122
+ }
130
123
 
131
124
  if (toolbarBottom) editor.element.after(toolbarElement)
132
125
 
@@ -154,7 +147,7 @@ const RichTextEditor = (props: RichTextEditorProps): React.ReactElement => {
154
147
  if (!advancedEditor || !focus) return
155
148
 
156
149
  const handleFocus = () => setShowToolbarOnFocus(true)
157
-
150
+
158
151
  const handleClickOutside = (event: Event) => {
159
152
  if (isClickInContainer(event) || isClickInPopover(event)) return
160
153
  setShowToolbarOnFocus(false)
@@ -222,29 +215,9 @@ const RichTextEditor = (props: RichTextEditorProps): React.ReactElement => {
222
215
  className={css}
223
216
  ref={focus ? containerRef : undefined}
224
217
  >
225
- {label && (
226
- <label htmlFor={id}>
227
- {
228
- requiredIndicator ? (
229
- <Caption className="pb_text_input_kit_label"
230
- marginBottom="xs"
231
- >
232
- {label} <span style={{ color: `${colors.error}` }}>*</span>
233
- </Caption>
234
- ) : (
235
- <Caption
236
- className="pb_text_input_kit_label"
237
- marginBottom="xs"
238
- text={label}
239
- />
240
- )
241
- }
242
-
243
- </label>
244
- )}
245
218
  {
246
219
  advancedEditor ? (
247
- <div
220
+ <div
248
221
  className={classnames(
249
222
  "pb_rich_text_editor_advanced_container",
250
223
  { [`input_height_${inputHeight}`]: !!inputHeight,[`input_min_height_${inputMinHeight}`]: !!inputMinHeight ,["toolbar-active"]: shouldShowToolbar }
@@ -9,7 +9,6 @@ examples:
9
9
  - rich_text_editor_templates: Templates
10
10
  # - rich_text_editor_toolbar_bottom: Toolbar Bottom
11
11
  - rich_text_editor_inline: Inline
12
- - rich_text_editor_required_indicator: Required Indicator
13
12
  - rich_text_editor_preview: Preview
14
13
 
15
14
  react:
@@ -32,7 +31,5 @@ examples:
32
31
  - rich_text_editor_advanced_inline: Advanced (Inline)
33
32
  - rich_text_editor_advanced_height: Advanced Height
34
33
  - rich_text_editor_advanced_min_height: Advanced Min Height
35
- - rich_text_editor_required_indicator: Required Indicator
36
- - rich_text_editor_advanced_required_indicator: Advanced Required Indicator
37
34
  - rich_text_editor_preview: Preview
38
35
  - rich_text_editor_advanced_preview: Advanced Preview
@@ -19,5 +19,3 @@ export { default as RichTextEditorAdvancedSticky } from './_rich_text_editor_adv
19
19
  export { default as RichTextEditorAdvancedInline } from './_rich_text_editor_advanced_inline.jsx'
20
20
  export { default as RichTextEditorAdvancedHeight } from './_rich_text_editor_advanced_height.jsx'
21
21
  export { default as RichTextEditorAdvancedMinHeight } from './_rich_text_editor_advanced_min_height.jsx'
22
- export { default as RichTextEditorRequiredIndicator } from './_rich_text_editor_required_indicator.jsx'
23
- export { default as RichTextEditorAdvancedRequiredIndicator } from './_rich_text_editor_advanced_required_indicator.jsx'
@@ -21,9 +21,6 @@ module Playbook
21
21
  prop :template
22
22
  prop :placeholder
23
23
  prop :input_options
24
- prop :label
25
- prop :required_indicator, type: Playbook::Props::Boolean,
26
- default: false
27
24
 
28
25
  def classname
29
26
  generate_classname("pb_rich_text_editor_kit", simple_class, focus_class, sticky_class, separator: " ")
@@ -54,8 +51,6 @@ module Playbook
54
51
  template: template,
55
52
  placeholder: placeholder,
56
53
  inputOptions: input_options,
57
- label: label,
58
- requiredIndicator: required_indicator,
59
54
  }
60
55
  end
61
56
  end
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import { render, screen, fireEvent, waitFor, within } from '../utilities/test-utils'
2
+ import { render, screen, fireEvent, waitFor } from '../utilities/test-utils'
3
3
  import { useEditor, EditorContent } from "@tiptap/react"
4
4
  import StarterKit from "@tiptap/starter-kit"
5
5
 
@@ -89,14 +89,14 @@ const TestAdvancedEditor = ({ toolbarOnFocus = false, ...props }) => {
89
89
  describe('Advanced TipTap Editor works as expected', () => {
90
90
  test('renders advanced editor with toolbar', () => {
91
91
  render(<TestAdvancedEditor />)
92
-
92
+
93
93
  const kit = screen.getByTestId(testId)
94
94
  expect(kit).toHaveClass(kitClass)
95
-
95
+
96
96
  // Check for advanced container
97
97
  const advancedContainer = kit.querySelector('.pb_rich_text_editor_advanced_container')
98
98
  expect(advancedContainer).toBeInTheDocument()
99
-
99
+
100
100
  // Check for toolbar
101
101
  const toolbar = kit.querySelector('.toolbar')
102
102
  expect(toolbar).toBeInTheDocument()
@@ -104,7 +104,7 @@ describe('Advanced TipTap Editor works as expected', () => {
104
104
 
105
105
  test('renders advanced editor without toolbar when advancedEditorToolbar is false', () => {
106
106
  render(<TestAdvancedEditor advancedEditorToolbar={false} />)
107
-
107
+
108
108
  const kit = screen.getByTestId(testId)
109
109
  const toolbar = kit.querySelector('.toolbar')
110
110
  expect(toolbar).not.toBeInTheDocument()
@@ -112,17 +112,17 @@ describe('Advanced TipTap Editor works as expected', () => {
112
112
 
113
113
  test('shows/hides toolbar on focus when focus is enabled', async () => {
114
114
  render(<TestAdvancedEditor focus />)
115
-
115
+
116
116
  const kit = screen.getByTestId(testId)
117
-
117
+
118
118
  // Initially toolbar should be hidden
119
119
  let toolbar = kit.querySelector('.toolbar')
120
120
  expect(toolbar).not.toBeInTheDocument()
121
-
121
+
122
122
  const editorElement = kit.querySelector('.ProseMirror')
123
123
  // Focus the editor
124
124
  fireEvent.focus(editorElement)
125
-
125
+
126
126
  // Toolbar should now be visible
127
127
  await waitFor(() => {
128
128
  toolbar = kit.querySelector('.toolbar')
@@ -133,7 +133,7 @@ describe('Advanced TipTap Editor works as expected', () => {
133
133
 
134
134
  test('supports simple prop with advanced editor', () => {
135
135
  render(<TestAdvancedEditor simple />)
136
-
136
+
137
137
  const kit = screen.getByTestId(testId)
138
138
  const toolbar = kit.querySelector('.toolbar')
139
139
  expect(toolbar).toBeInTheDocument()
@@ -144,7 +144,7 @@ describe('Advanced TipTap Editor works as expected', () => {
144
144
 
145
145
  test('supports sticky prop with advanced editor', () => {
146
146
  render(<TestAdvancedEditor sticky />)
147
-
147
+
148
148
  const kit = screen.getByTestId(testId)
149
149
  const stickyToolbar = kit.querySelector('.pb_rich_text_editor_tiptap_toolbar_sticky')
150
150
  expect(stickyToolbar).toBeInTheDocument()
@@ -154,52 +154,37 @@ describe('Advanced TipTap Editor works as expected', () => {
154
154
  test('applies aria-label when provided', () => {
155
155
  const ariaLabel = 'Rich Text Editor'
156
156
  render(<TestAdvancedEditor aria={{ label: ariaLabel }} />)
157
-
157
+
158
158
  const kit = screen.getByTestId(testId)
159
159
  expect(kit).toHaveAttribute('aria-label', ariaLabel)
160
160
  })
161
161
 
162
162
  test('supports inline prop with advanced editor', () => {
163
163
  render(<TestAdvancedEditor inline />)
164
-
164
+
165
165
  const kit = screen.getByTestId(testId)
166
166
  const toolbar = kit.querySelector('.toolbar')
167
167
  expect(toolbar).toBeInTheDocument()
168
168
  expect(kit).toHaveClass(`${kitClass} inline`)
169
169
  })
170
170
 
171
- test('renders required indicator asterisk when requiredIndicator is true', () => {
172
- render(
173
- <RichTextEditor
174
- data={{ testid: testId }}
175
- label="Label"
176
- requiredIndicator
177
- />
178
- )
179
-
180
- const kit = screen.getByTestId(testId)
181
- const label = within(kit).getByText(/Label/)
182
-
183
- expect(label).toBeInTheDocument()
184
- expect(kit).toHaveTextContent('*')
185
- })
186
-
187
171
  describe('TipTap Editor Functionality', () => {
188
172
  test('can type and update content', async () => {
189
173
  render(<TestAdvancedEditor />)
190
-
174
+
191
175
  const kit = screen.getByTestId(testId)
192
176
  const editorContent = kit.querySelector('.ProseMirror')
193
-
177
+
194
178
  // Focus and type in the editor
195
179
  fireEvent.focus(editorContent)
196
- fireEvent.input(editorContent, {
180
+ fireEvent.input(editorContent, {
197
181
  target: { textContent: 'New content' }
198
182
  })
199
-
183
+
200
184
  await waitFor(() => {
201
185
  expect(editorContent).toHaveTextContent('New content')
202
186
  })
203
187
  })
204
188
  })
205
189
  })
190
+