playbook_ui 15.6.0.pre.alpha.play266913088 → 15.6.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 (169) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/Components/RegularTableView.tsx +2 -3
  3. data/app/pb_kits/playbook/pb_advanced_table/Components/TableHeaderCell.tsx +0 -4
  4. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +0 -95
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_background_control_rails.html.erb +5 -11
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_background_control_rails.md +1 -7
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.html.erb +163 -1
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.jsx +190 -0
  9. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +1 -4
  10. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +1 -3
  11. data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +2 -2
  12. data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +0 -57
  13. data/app/pb_kits/playbook/pb_background/_background.tsx +6 -6
  14. data/app/pb_kits/playbook/pb_background/background.test.js +1 -5
  15. data/app/pb_kits/playbook/pb_background/docs/_background_light.html.erb +1 -1
  16. data/app/pb_kits/playbook/pb_background/docs/_background_light.jsx +1 -0
  17. data/app/pb_kits/playbook/pb_background/docs/example.yml +2 -2
  18. data/app/pb_kits/playbook/pb_card/docs/_card_header.md +1 -1
  19. data/app/pb_kits/playbook/pb_card/docs/_card_highlight.md +1 -1
  20. data/app/pb_kits/playbook/pb_collapsible/__snapshots__/collapsible.test.js.snap +2 -2
  21. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleIcon.tsx +8 -10
  22. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_icons.jsx +1 -0
  23. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_state.jsx +3 -0
  24. data/app/pb_kits/playbook/pb_contact/_contact.tsx +24 -51
  25. data/app/pb_kits/playbook/pb_contact/contact.html.erb +19 -53
  26. data/app/pb_kits/playbook/pb_contact/contact.rb +1 -11
  27. data/app/pb_kits/playbook/pb_contact/contact.test.js +0 -76
  28. data/app/pb_kits/playbook/pb_contact/docs/example.yml +0 -2
  29. data/app/pb_kits/playbook/pb_contact/docs/index.js +0 -1
  30. data/app/pb_kits/playbook/pb_date_picker/date_picker.test.js +0 -24
  31. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +7 -197
  32. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range_pattern_rails.html.erb +14 -23
  33. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range_pattern_rails.md +1 -1
  34. data/app/pb_kits/playbook/pb_dialog/_dialog.tsx +1 -2
  35. data/app/pb_kits/playbook/pb_dialog/dialog.html.erb +1 -1
  36. data/app/pb_kits/playbook/pb_dialog/dialog.rb +0 -1
  37. data/app/pb_kits/playbook/pb_dialog/dialog.test.jsx +0 -14
  38. data/app/pb_kits/playbook/pb_dialog/dialog_header.html.erb +4 -5
  39. data/app/pb_kits/playbook/pb_dialog/dialog_header.rb +0 -2
  40. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.html.erb +0 -31
  41. data/app/pb_kits/playbook/pb_dialog/docs/example.yml +0 -4
  42. data/app/pb_kits/playbook/pb_dialog/docs/index.js +1 -3
  43. data/app/pb_kits/playbook/pb_distribution_bar/docs/_distribution_bar_custom_colors.md +1 -1
  44. data/app/pb_kits/playbook/pb_draggable/context/index.tsx +7 -458
  45. data/app/pb_kits/playbook/pb_draggable/context/types.ts +3 -8
  46. data/app/pb_kits/playbook/pb_draggable/docs/example.yml +2 -3
  47. data/app/pb_kits/playbook/pb_draggable/docs/index.js +1 -2
  48. data/app/pb_kits/playbook/pb_draggable/draggable.test.jsx +1 -77
  49. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default_rails.html.erb +5 -7
  50. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display_rails.html.erb +1 -3
  51. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +0 -5
  52. data/app/pb_kits/playbook/pb_dropdown/dropdown.html.erb +0 -4
  53. data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +5 -39
  54. data/app/pb_kits/playbook/pb_dropdown/index.js +3 -171
  55. data/app/pb_kits/playbook/pb_file_upload/_file_upload.scss +4 -4
  56. data/app/pb_kits/playbook/pb_filter/Filter/FilterBackground.tsx +3 -3
  57. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.tsx +22 -34
  58. data/app/pb_kits/playbook/pb_home_address_street/city_emphasis.html.erb +12 -16
  59. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_default.html.erb +1 -1
  60. data/app/pb_kits/playbook/pb_home_address_street/none_emphasis.html.erb +12 -16
  61. data/app/pb_kits/playbook/pb_home_address_street/street_emphasis.html.erb +12 -16
  62. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.scss +0 -10
  63. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.tsx +15 -66
  64. data/app/pb_kits/playbook/pb_multiple_users/docs/example.yml +0 -1
  65. data/app/pb_kits/playbook/pb_multiple_users/docs/index.js +0 -1
  66. data/app/pb_kits/playbook/pb_multiple_users/multiple_users.test.js +0 -25
  67. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +10 -44
  68. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_validation.html.erb +4 -34
  69. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_validation.jsx +7 -16
  70. data/app/pb_kits/playbook/pb_radio/docs/_radio_error.md +1 -1
  71. data/app/pb_kits/playbook/pb_select/_select.tsx +3 -8
  72. data/app/pb_kits/playbook/pb_select/docs/_select_error.md +1 -1
  73. data/app/pb_kits/playbook/pb_select/docs/example.yml +0 -2
  74. data/app/pb_kits/playbook/pb_select/docs/index.js +0 -1
  75. data/app/pb_kits/playbook/pb_select/select.html.erb +2 -2
  76. data/app/pb_kits/playbook/pb_select/select.rb +1 -3
  77. data/app/pb_kits/playbook/pb_select/select.test.js +0 -23
  78. data/app/pb_kits/playbook/pb_table/_table.tsx +33 -187
  79. data/app/pb_kits/playbook/pb_table/docs/example.yml +0 -4
  80. data/app/pb_kits/playbook/pb_table/docs/index.js +0 -2
  81. data/app/pb_kits/playbook/pb_table/table.html.erb +12 -68
  82. data/app/pb_kits/playbook/pb_table/table.rb +3 -22
  83. data/app/pb_kits/playbook/pb_table/table.test.js +0 -143
  84. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_error.md +1 -1
  85. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_error.md +1 -1
  86. data/app/pb_kits/playbook/pb_timeline/_item.tsx +0 -3
  87. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_date.md +1 -1
  88. data/app/pb_kits/playbook/pb_timeline/docs/example.yml +0 -2
  89. data/app/pb_kits/playbook/pb_timeline/docs/index.js +0 -1
  90. data/app/pb_kits/playbook/pb_timeline/item.html.erb +1 -1
  91. data/app/pb_kits/playbook/pb_timeline/item.rb +0 -2
  92. data/app/pb_kits/playbook/pb_timeline/label.html.erb +1 -2
  93. data/app/pb_kits/playbook/pb_timeline/label.rb +0 -2
  94. data/app/pb_kits/playbook/pb_timeline/subcomponents/Label.tsx +0 -3
  95. data/app/pb_kits/playbook/pb_timeline/timeline.test.js +0 -51
  96. data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +0 -15
  97. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +0 -3
  98. data/app/pb_kits/playbook/pb_typeahead/components/ClearIndicator.tsx +2 -13
  99. data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.tsx +1 -6
  100. data/app/pb_kits/playbook/pb_typeahead/components/ValueContainer.tsx +7 -34
  101. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +0 -2
  102. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +1 -2
  103. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +1 -6
  104. data/app/pb_kits/playbook/tokens/_colors.scss +1 -2
  105. data/dist/chunks/_typeahead-kRdz5zPn.js +6 -0
  106. data/dist/chunks/lib-CgpqUb6l.js +29 -0
  107. data/dist/chunks/vendor.js +3 -3
  108. data/dist/menu.yml +1 -1
  109. data/dist/playbook-rails-react-bindings.js +1 -1
  110. data/dist/playbook-rails.js +1 -1
  111. data/dist/playbook.css +1 -1
  112. data/lib/playbook/forms/builder/collection_select_field.rb +1 -9
  113. data/lib/playbook/forms/builder/select_field.rb +1 -9
  114. data/lib/playbook/forms/builder/time_zone_select_field.rb +1 -9
  115. data/lib/playbook/pb_kit_helper.rb +0 -35
  116. data/lib/playbook/version.rb +2 -2
  117. metadata +4 -54
  118. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_background_colors_rails.html.erb +0 -43
  119. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_background_colors_rails.md +0 -1
  120. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background.jsx +0 -54
  121. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background.md +0 -9
  122. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background_multi.jsx +0 -80
  123. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background_multi.md +0 -3
  124. data/app/pb_kits/playbook/pb_background/docs/_background_light.md +0 -1
  125. data/app/pb_kits/playbook/pb_contact/docs/_contact_unstyled.html.erb +0 -33
  126. data/app/pb_kits/playbook/pb_contact/docs/_contact_unstyled.jsx +0 -46
  127. data/app/pb_kits/playbook/pb_contact/docs/_contact_unstyled_rails.md +0 -2
  128. data/app/pb_kits/playbook/pb_contact/docs/_contact_unstyled_react.md +0 -2
  129. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_closeable.html.erb +0 -24
  130. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_closeable.jsx +0 -60
  131. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_closeable.md +0 -3
  132. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_overflow_visible.html.erb +0 -71
  133. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_overflow_visible.jsx +0 -57
  134. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_overflow_visible_rails.md +0 -1
  135. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_overflow_visible_react.md +0 -1
  136. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_multiple_containers_dropzone.jsx +0 -180
  137. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_multiple_containers_dropzone.md +0 -22
  138. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_default_dates.html.erb +0 -19
  139. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_rails.html.erb +0 -12
  140. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_rails.md +0 -26
  141. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_range_end_rails.html.erb +0 -19
  142. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_range_end_rails.md +0 -1
  143. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_with_date_pickers_default_rails.html.erb +0 -30
  144. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_with_date_pickers_default_rails.md +0 -3
  145. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_with_date_pickers_rails.html.erb +0 -29
  146. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_with_date_pickers_rails.md +0 -13
  147. data/app/pb_kits/playbook/pb_dropdown/quickpick_helper.rb +0 -75
  148. data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.jsx +0 -42
  149. data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.md +0 -1
  150. data/app/pb_kits/playbook/pb_select/docs/_select_input_options.html.erb +0 -16
  151. data/app/pb_kits/playbook/pb_select/docs/_select_input_options.jsx +0 -30
  152. data/app/pb_kits/playbook/pb_select/docs/_select_input_options.md +0 -1
  153. data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant.jsx +0 -134
  154. data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant.md +0 -34
  155. data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_rails.html.erb +0 -101
  156. data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_rails.md +0 -33
  157. data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_with_pagination.jsx +0 -180
  158. data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_with_pagination.md +0 -3
  159. data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_with_pagination_rails.html.erb +0 -122
  160. data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_with_pagination_rails.md +0 -3
  161. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_show_current_year.html.erb +0 -60
  162. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_show_current_year.jsx +0 -118
  163. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_show_current_year.md +0 -1
  164. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_input_display.html.erb +0 -30
  165. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_input_display.jsx +0 -37
  166. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_input_display.md +0 -3
  167. data/app/pb_kits/playbook/utilities/deprecated.ts +0 -73
  168. data/dist/chunks/_typeahead-CbjBmIDu.js +0 -6
  169. data/dist/chunks/lib-DxDBrGZX.js +0 -29
@@ -47,7 +47,7 @@
47
47
  %>
48
48
 
49
49
 
50
- <%= pb_rails("dropdown", props: {id: "user-dropdown", options: options}) do %>
50
+ <%= pb_rails("dropdown", props: {options: options}) do %>
51
51
  <%= pb_rails("dropdown/dropdown_trigger", props: {placeholder: "Select a User", custom_display: custom_display}) %>
52
52
  <%= pb_rails("dropdown/dropdown_container") do %>
53
53
  <% options.each do |option| %>
@@ -71,8 +71,6 @@
71
71
 
72
72
  <script>
73
73
  document.addEventListener("pb:dropdown:selected", (e) => {
74
- if (e.target.id !== "user-dropdown") return;
75
-
76
74
  const option = e.detail;
77
75
  const dropdown = e.target;
78
76
 
@@ -22,11 +22,6 @@ examples:
22
22
  - dropdown_multi_select_with_default: Multi Select Default Value
23
23
  - dropdown_blank_selection: Blank Selection
24
24
  - dropdown_separators_hidden: Separators Hidden
25
- - dropdown_quickpick_rails: Quick Pick Variant
26
- - dropdown_quickpick_range_end_rails: Quick Pick Variant (Range Ends Today)
27
- - dropdown_quickpick_default_dates: Quick Pick Variant (Default Dates)
28
- - dropdown_quickpick_with_date_pickers_rails: Quick Pick with Date Pickers
29
- - dropdown_quickpick_with_date_pickers_default_rails: Quick Pick with Date Pickers (Default Value)
30
25
 
31
26
  react:
32
27
  - dropdown_default: Default
@@ -10,10 +10,6 @@
10
10
  style="display: none"
11
11
  <%= object.required ? "required" : ""%>
12
12
  />
13
- <% if object.variant == "quickpick" %>
14
- <input id="<%= object.start_date_id %>" name="<%= object.start_date_name %>" style="display: none">
15
- <input id="<%= object.end_date_id %>" name="<%= object.end_date_name %>" style="display: none">
16
- <% end %>
17
13
  <% if content.present? %>
18
14
  <%= content.presence %>
19
15
  <%= pb_rails("body", props: { status: "negative", text: object.error }) %>
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "quickpick_helper"
4
-
5
3
  module Playbook
6
4
  module PbDropdown
7
5
  class Dropdown < Playbook::KitBase
@@ -16,7 +14,7 @@ module Playbook
16
14
  prop :blank_selection, type: Playbook::Props::String,
17
15
  default: ""
18
16
  prop :variant, type: Playbook::Props::Enum,
19
- values: %w[default subtle quickpick],
17
+ values: %w[default subtle],
20
18
  default: "default"
21
19
  prop :separators, type: Playbook::Props::Boolean,
22
20
  default: true
@@ -28,32 +26,13 @@ module Playbook
28
26
  default: false
29
27
  prop :form_pill_props, type: Playbook::Props::HashProp,
30
28
  default: {}
31
- prop :range_ends_today, type: Playbook::Props::Boolean,
32
- default: false
33
- prop :controls_end_id, type: Playbook::Props::String,
34
- default: ""
35
- prop :controls_start_id, type: Playbook::Props::String,
36
- default: ""
37
- prop :start_date_id, type: Playbook::Props::String,
38
- default: "start_date_id"
39
- prop :start_date_name, type: Playbook::Props::String,
40
- default: "start_date_name"
41
- prop :end_date_id, type: Playbook::Props::String,
42
- default: "end_date_id"
43
- prop :end_date_name, type: Playbook::Props::String,
44
- default: "end_date_name"
45
29
 
46
30
  def data
47
31
  Hash(prop(:data)).merge(
48
32
  pb_dropdown: true,
49
33
  pb_dropdown_multi_select: multi_select,
50
- pb_dropdown_variant: variant,
51
- form_pill_props: form_pill_props.to_json,
52
- start_date_id: variant == "quickpick" ? start_date_id : nil,
53
- end_date_id: variant == "quickpick" ? end_date_id : nil,
54
- controls_start_id: variant == "quickpick" && controls_start_id.present? ? controls_start_id : nil,
55
- controls_end_id: variant == "quickpick" && controls_end_id.present? ? controls_end_id : nil
56
- ).compact
34
+ form_pill_props: form_pill_props.to_json
35
+ )
57
36
  end
58
37
 
59
38
  def classname
@@ -69,15 +48,7 @@ module Playbook
69
48
  def input_default_value
70
49
  return "" unless default_value.present?
71
50
 
72
- if variant == "quickpick"
73
- d = default_value.to_s.downcase
74
- matched_option = quickpick_options.find do |opt|
75
- opt[:label].downcase == d
76
- end
77
- return matched_option[:id] if matched_option
78
-
79
- ""
80
- elsif multi_select
51
+ if multi_select
81
52
  default_value.map { |v| v.transform_keys(&:to_s)["id"] }.join(",")
82
53
  else
83
54
  default_value.transform_keys(&:to_s)["id"]
@@ -89,12 +60,7 @@ module Playbook
89
60
  end
90
61
 
91
62
  def options_with_blank
92
- dropdown_options = variant == "quickpick" ? quickpick_options : options
93
- blank_selection.present? ? [{ id: "", value: "", label: blank_selection }] + dropdown_options : dropdown_options
94
- end
95
-
96
- def quickpick_options
97
- QuickpickHelper.get_quickpick_options(range_ends_today: range_ends_today)
63
+ blank_selection.present? ? [{ id: "", value: "", label: blank_selection }] + options : options
98
64
  end
99
65
  end
100
66
  end
@@ -28,9 +28,6 @@ export default class PbDropdown extends PbEnhancedElement {
28
28
  clearBtn = null;
29
29
 
30
30
  connect() {
31
- // Store instance on element for DatePicker sync
32
- this.element._pbDropdownInstance = this;
33
-
34
31
  this.keyboardHandler = new PbDropdownKeyboard(this);
35
32
  this.isMultiSelect = this.element.dataset.pbDropdownMultiSelect === "true";
36
33
  this.formPillProps = this.element.dataset.formPillProps
@@ -255,67 +252,6 @@ export default class PbDropdown extends PbEnhancedElement {
255
252
  const selectedLabel = JSON.parse(value).label;
256
253
  triggerElement.textContent = selectedLabel;
257
254
  this.emitSelectionChange();
258
-
259
- // Handle quickpick variant: populate start/end date hidden inputs
260
- const optionData = JSON.parse(value);
261
- const startDateId = this.element.dataset.startDateId;
262
- const endDateId = this.element.dataset.endDateId;
263
- const controlsStartId = this.element.dataset.controlsStartId;
264
- const controlsEndId = this.element.dataset.controlsEndId;
265
-
266
- if (optionData.formatted_start_date && optionData.formatted_end_date) {
267
- // Populate date inputs when option has date fields
268
- if (startDateId) {
269
- const startDateInput = document.getElementById(startDateId);
270
- if (startDateInput) startDateInput.value = optionData.formatted_start_date;
271
- }
272
-
273
- if (endDateId) {
274
- const endDateInput = document.getElementById(endDateId);
275
- if (endDateInput) endDateInput.value = optionData.formatted_end_date;
276
- }
277
-
278
- // Sync with DatePickers if controlsStartId/controlsEndId are present
279
- if (controlsStartId) {
280
- const startPicker = document.querySelector(`#${controlsStartId}`)?._flatpickr;
281
- if (startPicker) {
282
- startPicker.setDate(optionData.formatted_start_date, true, "m/d/Y");
283
- }
284
- }
285
-
286
- if (controlsEndId) {
287
- const endPicker = document.querySelector(`#${controlsEndId}`)?._flatpickr;
288
- if (endPicker) {
289
- endPicker.setDate(optionData.formatted_end_date, true, "m/d/Y");
290
- }
291
- }
292
- } else if (startDateId || endDateId) {
293
- // Clear date inputs when option doesn't have date fields (e.g., blank selection)
294
- if (startDateId) {
295
- const startDateInput = document.getElementById(startDateId);
296
- if (startDateInput) startDateInput.value = "";
297
- }
298
-
299
- if (endDateId) {
300
- const endDateInput = document.getElementById(endDateId);
301
- if (endDateInput) endDateInput.value = "";
302
- }
303
-
304
- // Clear DatePickers as well
305
- if (controlsStartId) {
306
- const startPicker = document.querySelector(`#${controlsStartId}`)?._flatpickr;
307
- if (startPicker) {
308
- startPicker.clear();
309
- }
310
- }
311
-
312
- if (controlsEndId) {
313
- const endPicker = document.querySelector(`#${controlsEndId}`)?._flatpickr;
314
- if (endPicker) {
315
- endPicker.clear();
316
- }
317
- }
318
- }
319
255
  }
320
256
  if (customDisplayElement) {
321
257
  triggerElement.textContent = "";
@@ -496,50 +432,9 @@ export default class PbDropdown extends PbEnhancedElement {
496
432
  if (!selectedOption) return;
497
433
 
498
434
  selectedOption.classList.add("pb_dropdown_option_selected");
499
- const optionData = JSON.parse(selectedOption.dataset.dropdownOptionLabel);
500
- this.setTriggerElementText(optionData.label);
501
-
502
- // Handle quickpick variant: populate start/end date hidden inputs and sync DatePickers
503
- if (optionData.formatted_start_date && optionData.formatted_end_date) {
504
- const startDateId = this.element.dataset.startDateId;
505
- const endDateId = this.element.dataset.endDateId;
506
- const controlsStartId = this.element.dataset.controlsStartId;
507
- const controlsEndId = this.element.dataset.controlsEndId;
508
-
509
- if (startDateId) {
510
- const startDateInput = document.getElementById(startDateId);
511
- if (startDateInput) startDateInput.value = optionData.formatted_start_date;
512
- }
513
-
514
- if (endDateId) {
515
- const endDateInput = document.getElementById(endDateId);
516
- if (endDateInput) endDateInput.value = optionData.formatted_end_date;
517
- }
518
-
519
- // Sync with DatePickers - retry with delays to ensure DatePickers are initialized
520
- const syncDatePickers = () => {
521
- if (controlsStartId) {
522
- const startPicker = document.querySelector(`#${controlsStartId}`)?._flatpickr;
523
- if (startPicker) {
524
- startPicker.setDate(optionData.formatted_start_date, true, "m/d/Y");
525
- }
526
- }
527
-
528
- if (controlsEndId) {
529
- const endPicker = document.querySelector(`#${controlsEndId}`)?._flatpickr;
530
- if (endPicker) {
531
- endPicker.setDate(optionData.formatted_end_date, true, "m/d/Y");
532
- }
533
- }
534
- };
535
-
536
- // Try immediately
537
- syncDatePickers();
538
-
539
- // Retry after short delay in case DatePickers aren't ready yet
540
- setTimeout(syncDatePickers, 100);
541
- setTimeout(syncDatePickers, 300);
542
- }
435
+ this.setTriggerElementText(
436
+ JSON.parse(selectedOption.dataset.dropdownOptionLabel).label
437
+ );
543
438
  }
544
439
  }
545
440
 
@@ -676,37 +571,6 @@ export default class PbDropdown extends PbEnhancedElement {
676
571
  if (customDisplay) {
677
572
  customDisplay.style.display = "none";
678
573
  }
679
-
680
- // Clear quickpick hidden inputs
681
- const startDateId = this.element.dataset.startDateId;
682
- const endDateId = this.element.dataset.endDateId;
683
- const controlsStartId = this.element.dataset.controlsStartId;
684
- const controlsEndId = this.element.dataset.controlsEndId;
685
-
686
- if (startDateId) {
687
- const startDateInput = document.getElementById(startDateId);
688
- if (startDateInput) startDateInput.value = "";
689
- }
690
- if (endDateId) {
691
- const endDateInput = document.getElementById(endDateId);
692
- if (endDateInput) endDateInput.value = "";
693
- }
694
-
695
- // Clear linked DatePickers if controlsStartId/controlsEndId are present
696
- if (controlsStartId) {
697
- const startPicker = document.querySelector(`#${controlsStartId}`)?._flatpickr;
698
- if (startPicker) {
699
- startPicker.clear();
700
- }
701
- }
702
-
703
- if (controlsEndId) {
704
- const endPicker = document.querySelector(`#${controlsEndId}`)?._flatpickr;
705
- if (endPicker) {
706
- endPicker.clear();
707
- }
708
- }
709
-
710
574
  this.resetDropdownValue();
711
575
  this.updatePills();
712
576
  this.updateClearButton();
@@ -714,38 +578,6 @@ export default class PbDropdown extends PbEnhancedElement {
714
578
  this.emitSelectionChange();
715
579
  }
716
580
 
717
- // Method for DatePicker sync - only clears the dropdown, not the DatePickers
718
- clearSelected() {
719
- // Only clear if this is a single-select quickpick variant
720
- if (this.element.dataset.pbDropdownVariant !== "quickpick" || this.isMultiSelect) {
721
- return;
722
- }
723
-
724
- const customDisplay = this.element.querySelector(
725
- "#dropdown_trigger_custom_display"
726
- );
727
- if (customDisplay) {
728
- customDisplay.style.display = "none";
729
- }
730
-
731
- // Clear quickpick hidden inputs only (not the DatePickers)
732
- const startDateId = this.element.dataset.startDateId;
733
- const endDateId = this.element.dataset.endDateId;
734
-
735
- if (startDateId) {
736
- const startDateInput = document.getElementById(startDateId);
737
- if (startDateInput) startDateInput.value = "";
738
- }
739
- if (endDateId) {
740
- const endDateInput = document.getElementById(endDateId);
741
- if (endDateInput) endDateInput.value = "";
742
- }
743
-
744
- this.resetDropdownValue();
745
- this.updateClearButton();
746
- this.emitSelectionChange();
747
- }
748
-
749
581
  syncHiddenInputs() {
750
582
  if (!this.isMultiSelect) return;
751
583
  this.element
@@ -1,5 +1,5 @@
1
1
  .pb_file_upload_kit {
2
- .pb_card_kit {
2
+ .pb_card_kit_deselected_border_radius_md {
3
3
  border: 1px #ccc dashed;
4
4
  text-align: center;
5
5
  }
@@ -11,7 +11,7 @@
11
11
  }
12
12
  &.error,
13
13
  &.pb_file_upload_kit_error {
14
- .pb_card_kit {
14
+ .pb_card_kit_deselected_border_radius_md {
15
15
  border-color: $error;
16
16
  }
17
17
  .pb_body_kit_negative {
@@ -30,12 +30,12 @@
30
30
  }
31
31
 
32
32
  .dark .pb_file_upload_kit {
33
- .pb_card_kit {
33
+ .pb_card_kit_deselected_border_radius_md {
34
34
  border: 1px $text_dk_lighter dashed;
35
35
  }
36
36
  &.error,
37
37
  &.pb_file_upload_kit_error {
38
- .pb_card_kit {
38
+ .pb_card_kit_deselected_border_radius_md {
39
39
  border-color: $error_dark;
40
40
  }
41
41
  }
@@ -6,10 +6,10 @@ import { GlobalProps, globalProps } from '../../utilities/globalProps'
6
6
  import Card from '../../pb_card/_card'
7
7
 
8
8
  export type FilterBackgroundProps = {
9
- background?: boolean,
10
- className?: string,
9
+ background: boolean,
10
+ className: string,
11
11
  children?: React.ReactChild[] | React.ReactChild,
12
- dark?: boolean,
12
+ dark: boolean,
13
13
  } & GlobalProps
14
14
 
15
15
  const FilterBackground = (props: FilterBackgroundProps): React.ReactElement => {
@@ -96,24 +96,20 @@ const HomeAddressStreet = (props: HomeAddressStreetProps): React.ReactElement =>
96
96
  {hasAllEmptyProps && '—'}
97
97
  {emphasis == 'street' && !hasAllEmptyProps &&
98
98
  <div>
99
- {(address || houseStyle) && (
100
- <Title
101
- className="pb_home_address_street_address"
102
- dark={dark}
103
- size={4}
104
- >
105
- {joinPresent([formatStreetAdr(address), houseStyle], ' · ')}
106
- </Title>
107
- )}
108
- {addressCont && (
109
- <Title
110
- className="pb_home_address_street_address"
111
- dark={dark}
112
- size={4}
113
- >
114
- {titleize(addressCont)}
115
- </Title>
116
- )}
99
+ <Title
100
+ className="pb_home_address_street_address"
101
+ dark={dark}
102
+ size={4}
103
+ >
104
+ {joinPresent([formatStreetAdr(address), houseStyle], ' · ')}
105
+ </Title>
106
+ <Title
107
+ className="pb_home_address_street_address"
108
+ dark={dark}
109
+ size={4}
110
+ >
111
+ {titleize(addressCont)}
112
+ </Title>
117
113
  <Body color="light">
118
114
  {`${city ? `${titleize(city)}, ` : ''}${uppercaseState}${zipcode ? ` ${zipcode}` : ''}`}
119
115
  </Body>
@@ -121,14 +117,10 @@ const HomeAddressStreet = (props: HomeAddressStreetProps): React.ReactElement =>
121
117
  }
122
118
  {emphasis == 'city' && !hasAllEmptyProps &&
123
119
  <div>
124
- {(address || houseStyle) && (
125
- <Body color="light">
126
- {joinPresent([formatStreetAdr(address), houseStyle], ' · ')}
127
- </Body>
128
- )}
129
- {addressCont && (
130
- <Body color="light">{titleize(addressCont)}</Body>
131
- )}
120
+ <Body color="light">
121
+ {joinPresent([formatStreetAdr(address), houseStyle], ' · ')}
122
+ </Body>
123
+ <Body color="light">{titleize(addressCont)}</Body>
132
124
  <div>
133
125
  <Title
134
126
  className="pb_home_address_street_address"
@@ -149,14 +141,10 @@ const HomeAddressStreet = (props: HomeAddressStreetProps): React.ReactElement =>
149
141
  }
150
142
  {emphasis == 'none' && !hasAllEmptyProps &&
151
143
  <div>
152
- {(address || houseStyle) && (
153
- <Body dark={dark}>
154
- {joinPresent([formatStreetAdr(address), houseStyle], ' · ')}
155
- </Body>
156
- )}
157
- {addressCont && (
158
- <Body dark={dark}>{formatStreetAdr(addressCont)}</Body>
159
- )}
144
+ <Body dark={dark}>
145
+ {joinPresent([formatStreetAdr(address), houseStyle], ' · ')}
146
+ </Body>
147
+ <Body dark={dark}>{formatStreetAdr(addressCont)}</Body>
160
148
  <div>
161
149
  <Body
162
150
  color="light"
@@ -1,19 +1,15 @@
1
- <% if object.address_house_style.present? %>
2
- <%= pb_rails "body", props: {
3
- classname: "pb_home_address_street_address",
4
- color: "light",
5
- text: object.address_house_style,
6
- dark: object.dark
7
- } %>
8
- <% end %>
9
- <% if object.address_house_style2.present? %>
10
- <%= pb_rails "body", props: {
11
- classname: "pb_home_address_street_address",
12
- color: "light",
13
- text: object.address_house_style2,
14
- dark: object.dark
15
- } %>
16
- <% end %>
1
+ <%= pb_rails "body", props: {
2
+ classname: "pb_home_address_street_address",
3
+ color: "light",
4
+ text: object.address_house_style,
5
+ dark: object.dark
6
+ } %>
7
+ <%= pb_rails "body", props: {
8
+ classname: "pb_home_address_street_address",
9
+ color: "light",
10
+ text: object.address_house_style2,
11
+ dark: object.dark
12
+ } %>
17
13
  <div>
18
14
  <%= pb_rails "title", props: {
19
15
  tag: "span",
@@ -8,4 +8,4 @@
8
8
  state: "PA",
9
9
  zipcode: "19382",
10
10
  territory: "PHL",
11
- }) %>
11
+ }) %>
@@ -1,19 +1,15 @@
1
- <% if object.address_house_style.present? %>
2
- <%= pb_rails "body", props: {
3
- classname: "pb_home_address_street_address",
4
- size: 4,
5
- text: object.address_house_style,
6
- dark: object.dark
7
- } %>
8
- <% end %>
9
- <% if object.address_house_style2.present? %>
10
- <%= pb_rails "body", props: {
11
- classname: "pb_home_address_street_address",
12
- size: 4,
13
- text: object.address_house_style2,
14
- dark: object.dark
15
- } %>
16
- <% end %>
1
+ <%= pb_rails "body", props: {
2
+ classname: "pb_home_address_street_address",
3
+ size: 4,
4
+ text: object.address_house_style,
5
+ dark: object.dark
6
+ } %>
7
+ <%= pb_rails "body", props: {
8
+ classname: "pb_home_address_street_address",
9
+ size: 4,
10
+ text: object.address_house_style2,
11
+ dark: object.dark
12
+ } %>
17
13
  <%= pb_rails "body", props: {
18
14
  color: "light",
19
15
  text: object.city_state_zip,
@@ -1,19 +1,15 @@
1
- <% if object.address_house_style.present? %>
2
- <%= pb_rails "title", props: {
3
- classname: "pb_home_address_street_address",
4
- size: 4,
5
- text: object.address_house_style,
6
- dark: object.dark
7
- } %>
8
- <% end %>
9
- <% if object.address_house_style2.present? %>
10
- <%= pb_rails "title", props: {
11
- classname: "pb_home_address_street_address",
12
- size: 4,
13
- text: object.address_house_style2,
14
- dark: object.dark
15
- } %>
16
- <% end %>
1
+ <%= pb_rails "title", props: {
2
+ classname: "pb_home_address_street_address",
3
+ size: 4,
4
+ text: object.address_house_style,
5
+ dark: object.dark
6
+ } %>
7
+ <%= pb_rails "title", props: {
8
+ classname: "pb_home_address_street_address",
9
+ size: 4,
10
+ text: object.address_house_style2,
11
+ dark: object.dark
12
+ } %>
17
13
  <%= pb_rails "body", props: {
18
14
  color: "light",
19
15
  text: object.city_state_zip,
@@ -36,16 +36,6 @@ $pb_multiple_users_size_xxs: map-get($avatar-sizes, "xxs");
36
36
  height: $pb_multiple_users_size_xxs;
37
37
  }
38
38
 
39
-
40
- .user_tooltip {
41
- margin-left: $pb_multiple_users_overlap !important;
42
- }
43
-
44
- .user_count_tooltip {
45
- margin-left: $pb_multiple_users_overlap !important;
46
- position: relative;
47
- }
48
-
49
39
  .pb_multiple_users_item {
50
40
  margin-left: $pb_multiple_users_overlap;
51
41
  margin-right: 0;