playbook_ui 16.4.0.pre.alpha.testingmetadata15488 → 16.4.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 (294) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/Context/AdvancedTableContext.tsx +2 -5
  3. data/app/pb_kits/playbook/pb_advanced_table/Hooks/useTableState.ts +2 -5
  4. data/app/pb_kits/playbook/pb_advanced_table/SubKits/TableHeader.tsx +11 -9
  5. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +1 -65
  6. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +1 -7
  7. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +2 -2
  8. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +0 -9
  9. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +1 -35
  10. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +0 -3
  11. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +1 -3
  12. data/app/pb_kits/playbook/pb_advanced_table/index.js +29 -130
  13. data/app/pb_kits/playbook/pb_advanced_table/scss_partials/advanced_table_sticky_mixin.scss +2 -6
  14. data/app/pb_kits/playbook/pb_advanced_table/table_body.html.erb +4 -21
  15. data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +9 -115
  16. data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +1 -3
  17. data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +1 -12
  18. data/app/pb_kits/playbook/pb_advanced_table/table_subrow_header.html.erb +1 -4
  19. data/app/pb_kits/playbook/pb_advanced_table/table_subrow_header.rb +1 -9
  20. data/app/pb_kits/playbook/pb_button/_button_mixins.scss +1 -6
  21. data/app/pb_kits/playbook/pb_button/docs/_button_full_width.md +1 -0
  22. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.scss +0 -5
  23. data/app/pb_kits/playbook/pb_collapsible/index.js +26 -15
  24. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +1 -3
  25. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.html.erb +1 -1
  26. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.jsx +3 -6
  27. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_full_height.html.erb +3 -3
  28. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_full_height.jsx +3 -6
  29. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_full_height_placement.html.erb +3 -3
  30. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_full_height_placement.jsx +3 -6
  31. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +0 -3
  32. data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +0 -1
  33. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +0 -2
  34. data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +1 -8
  35. data/app/pb_kits/playbook/pb_dropdown/index.js +46 -255
  36. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownTrigger.tsx +14 -19
  37. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +0 -4
  38. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +0 -3
  39. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/example.yml +0 -2
  40. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/index.js +1 -2
  41. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.rb +1 -7
  42. data/app/pb_kits/playbook/pb_icon/icon.rb +1 -7
  43. data/app/pb_kits/playbook/pb_list/_list_mixin.scss +4 -4
  44. data/app/pb_kits/playbook/pb_multi_level_select/_helper_functions.tsx +1 -1
  45. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +16 -27
  46. data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +0 -2
  47. data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +0 -1
  48. data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.rb +0 -3
  49. data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.test.jsx +0 -27
  50. data/app/pb_kits/playbook/pb_popover/docs/example.yml +0 -2
  51. data/app/pb_kits/playbook/pb_popover/docs/index.js +1 -2
  52. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.tsx +134 -35
  53. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_attributes.html.erb +5 -0
  54. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_attributes.jsx +15 -0
  55. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_default.html.erb +1 -0
  56. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_default.jsx +0 -56
  57. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_focus.html.erb +3 -0
  58. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_focus.jsx +17 -0
  59. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_inline.html.erb +6 -0
  60. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_inline.jsx +16 -0
  61. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_label.jsx +28 -0
  62. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_label.md +1 -0
  63. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.html.erb +35 -0
  64. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.jsx +45 -0
  65. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.html.erb +10 -0
  66. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.jsx +22 -0
  67. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.md +3 -0
  68. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_simple.html.erb +1 -0
  69. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_simple.jsx +13 -0
  70. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_sticky.html.erb +1 -0
  71. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_sticky.jsx +15 -0
  72. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_templates.html.erb +115 -0
  73. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_templates.jsx +42 -0
  74. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_bottom.html.erb +4 -0
  75. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_bottom.jsx +14 -0
  76. data/app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml +21 -13
  77. data/app/pb_kits/playbook/pb_rich_text_editor/docs/index.js +10 -0
  78. data/app/pb_kits/playbook/pb_rich_text_editor/inlineFocus.ts +4 -5
  79. data/app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor.html.erb +5 -0
  80. data/app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor.rb +63 -0
  81. data/app/pb_kits/playbook/pb_select/docs/_select_attributes.html.erb +0 -1
  82. data/app/pb_kits/playbook/pb_select/docs/_select_blank.html.erb +0 -1
  83. data/app/pb_kits/playbook/pb_select/docs/_select_custom_select.html.erb +1 -1
  84. data/app/pb_kits/playbook/pb_select/docs/_select_custom_select_subheaders.html.erb +1 -1
  85. data/app/pb_kits/playbook/pb_select/docs/_select_default.html.erb +0 -1
  86. data/app/pb_kits/playbook/pb_select/docs/_select_disabled.html.erb +0 -1
  87. data/app/pb_kits/playbook/pb_select/docs/_select_disabled_options.html.erb +0 -1
  88. data/app/pb_kits/playbook/pb_select/docs/_select_error.html.erb +0 -1
  89. data/app/pb_kits/playbook/pb_select/docs/_select_inline.html.erb +0 -1
  90. data/app/pb_kits/playbook/pb_select/docs/_select_inline_compact.html.erb +0 -1
  91. data/app/pb_kits/playbook/pb_select/docs/_select_inline_show_arrow.html.erb +0 -1
  92. data/app/pb_kits/playbook/pb_select/docs/_select_multiple.html.erb +0 -1
  93. data/app/pb_kits/playbook/pb_select/docs/_select_required.html.erb +0 -1
  94. data/app/pb_kits/playbook/pb_select/docs/_select_required_indicator.html.erb +0 -1
  95. data/app/pb_kits/playbook/pb_select/docs/_select_value_text_same.html.erb +0 -1
  96. data/app/pb_kits/playbook/pb_select/select.html.erb +5 -5
  97. data/app/pb_kits/playbook/pb_select/select.rb +0 -5
  98. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +0 -39
  99. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.scss +1 -19
  100. data/app/pb_kits/playbook/pb_table/docs/_sections.yml +0 -1
  101. data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_rails.md +1 -2
  102. data/app/pb_kits/playbook/pb_table/docs/example.yml +0 -1
  103. data/app/pb_kits/playbook/pb_table/table.html.erb +2 -5
  104. data/app/pb_kits/playbook/pb_table/table.rb +0 -4
  105. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +1 -4
  106. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_highlight.jsx +8 -20
  107. data/app/pb_kits/playbook/utilities/_hover.scss +3 -6
  108. data/dist/chunks/{_pb_line_graph-D6s5rymw.js → _pb_line_graph-BGY7jEks.js} +1 -1
  109. data/dist/chunks/_typeahead-tG1K5JPP.js +1 -0
  110. data/dist/chunks/{globalProps-Ds_6HBhX.js → globalProps-CK2YuA9O.js} +1 -1
  111. data/dist/chunks/{lib-BaO72ugL.js → lib-DspaUdlc.js} +1 -1
  112. data/dist/chunks/vendor.js +4 -4
  113. data/dist/menu.yml +40 -79
  114. data/dist/playbook-rails-react-bindings.js +1 -1
  115. data/dist/playbook-rails.js +1 -1
  116. data/dist/playbook.css +1 -1
  117. data/lib/playbook/align_content.rb +28 -17
  118. data/lib/playbook/align_items.rb +28 -17
  119. data/lib/playbook/align_self.rb +28 -17
  120. data/lib/playbook/border_radius.rb +10 -7
  121. data/lib/playbook/bottom.rb +12 -8
  122. data/lib/playbook/classnames.rb +49 -65
  123. data/lib/playbook/cursor.rb +10 -7
  124. data/lib/playbook/display.rb +22 -16
  125. data/lib/playbook/flex.rb +28 -17
  126. data/lib/playbook/flex_direction.rb +28 -17
  127. data/lib/playbook/flex_grow.rb +28 -17
  128. data/lib/playbook/flex_shrink.rb +28 -17
  129. data/lib/playbook/flex_wrap.rb +28 -17
  130. data/lib/playbook/height.rb +10 -7
  131. data/lib/playbook/hover.rb +27 -31
  132. data/lib/playbook/justify_content.rb +28 -17
  133. data/lib/playbook/justify_self.rb +28 -17
  134. data/lib/playbook/kit_base.rb +16 -33
  135. data/lib/playbook/left.rb +12 -8
  136. data/lib/playbook/line_height.rb +10 -7
  137. data/lib/playbook/max_height.rb +10 -7
  138. data/lib/playbook/min_height.rb +10 -7
  139. data/lib/playbook/number_spacing.rb +10 -7
  140. data/lib/playbook/order.rb +28 -17
  141. data/lib/playbook/overflow.rb +12 -13
  142. data/lib/playbook/position.rb +12 -7
  143. data/lib/playbook/props.rb +5 -24
  144. data/lib/playbook/right.rb +12 -8
  145. data/lib/playbook/shadow.rb +10 -7
  146. data/lib/playbook/spacing.rb +128 -100
  147. data/lib/playbook/text_align.rb +28 -17
  148. data/lib/playbook/top.rb +12 -8
  149. data/lib/playbook/truncate.rb +10 -7
  150. data/lib/playbook/version.rb +2 -2
  151. data/lib/playbook/vertical_align.rb +28 -17
  152. data/lib/playbook/z_index.rb +26 -17
  153. metadata +31 -146
  154. data/app/pb_kits/playbook/pb_advanced_table/Utilities/RowModelUtils.ts +0 -100
  155. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_grouped_headers_composition.jsx +0 -235
  156. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_grouped_headers_composition.md +0 -17
  157. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows_rails.html.erb +0 -57
  158. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows_rails.md +0 -7
  159. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_parent_only.jsx +0 -175
  160. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_parent_only.md +0 -5
  161. data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_grouped_headers_composition_mock_data.json +0 -98
  162. data/app/pb_kits/playbook/pb_advanced_table/kit.schema.json +0 -278
  163. data/app/pb_kits/playbook/pb_avatar/kit.schema.json +0 -86
  164. data/app/pb_kits/playbook/pb_background/kit.schema.json +0 -208
  165. data/app/pb_kits/playbook/pb_badge/kit.schema.json +0 -73
  166. data/app/pb_kits/playbook/pb_body/kit.schema.json +0 -101
  167. data/app/pb_kits/playbook/pb_bread_crumbs/kit.schema.json +0 -28
  168. data/app/pb_kits/playbook/pb_button/docs/_button_full_width_rails.md +0 -19
  169. data/app/pb_kits/playbook/pb_button/docs/_button_full_width_react.md +0 -23
  170. data/app/pb_kits/playbook/pb_button/kit.schema.json +0 -207
  171. data/app/pb_kits/playbook/pb_button_toolbar/kit.schema.json +0 -67
  172. data/app/pb_kits/playbook/pb_caption/kit.schema.json +0 -91
  173. data/app/pb_kits/playbook/pb_card/kit.schema.json +0 -168
  174. data/app/pb_kits/playbook/pb_checkbox/kit.schema.json +0 -143
  175. data/app/pb_kits/playbook/pb_circle_icon_button/kit.schema.json +0 -117
  176. data/app/pb_kits/playbook/pb_collapsible/kit.schema.json +0 -90
  177. data/app/pb_kits/playbook/pb_contact/kit.schema.json +0 -59
  178. data/app/pb_kits/playbook/pb_copy_button/kit.schema.json +0 -94
  179. data/app/pb_kits/playbook/pb_currency/kit.schema.json +0 -142
  180. data/app/pb_kits/playbook/pb_dashboard_value/kit.schema.json +0 -54
  181. data/app/pb_kits/playbook/pb_date/kit.schema.json +0 -98
  182. data/app/pb_kits/playbook/pb_date_picker/kit.schema.json +0 -375
  183. data/app/pb_kits/playbook/pb_date_range_inline/kit.schema.json +0 -76
  184. data/app/pb_kits/playbook/pb_date_range_stacked/kit.schema.json +0 -36
  185. data/app/pb_kits/playbook/pb_date_stacked/kit.schema.json +0 -78
  186. data/app/pb_kits/playbook/pb_date_time/kit.schema.json +0 -96
  187. data/app/pb_kits/playbook/pb_date_time_stacked/kit.schema.json +0 -62
  188. data/app/pb_kits/playbook/pb_date_year_stacked/kit.schema.json +0 -42
  189. data/app/pb_kits/playbook/pb_detail/kit.schema.json +0 -72
  190. data/app/pb_kits/playbook/pb_dialog/kit.schema.json +0 -186
  191. data/app/pb_kits/playbook/pb_distribution_bar/kit.schema.json +0 -48
  192. data/app/pb_kits/playbook/pb_draggable/kit.schema.json +0 -60
  193. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_closing_options_rails.html.erb +0 -16
  194. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_closing_options_rails.md +0 -1
  195. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_custom_event_type.html.erb +0 -224
  196. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_custom_event_type.md +0 -7
  197. data/app/pb_kits/playbook/pb_dropdown/kit.schema.json +0 -244
  198. data/app/pb_kits/playbook/pb_empty_state/kit.schema.json +0 -117
  199. data/app/pb_kits/playbook/pb_file_upload/kit.schema.json +0 -124
  200. data/app/pb_kits/playbook/pb_filter/kit.schema.json +0 -87
  201. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_nav_margin.html.erb +0 -46
  202. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_nav_margin.jsx +0 -42
  203. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_nav_margin_rails.md +0 -1
  204. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_nav_margin_react.md +0 -1
  205. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/kit.schema.json +0 -118
  206. data/app/pb_kits/playbook/pb_flex/kit.schema.json +0 -151
  207. data/app/pb_kits/playbook/pb_form/kit.schema.json +0 -53
  208. data/app/pb_kits/playbook/pb_form_group/kit.schema.json +0 -30
  209. data/app/pb_kits/playbook/pb_form_pill/kit.schema.json +0 -132
  210. data/app/pb_kits/playbook/pb_hashtag/kit.schema.json +0 -71
  211. data/app/pb_kits/playbook/pb_highlight/kit.schema.json +0 -35
  212. data/app/pb_kits/playbook/pb_home_address_street/kit.schema.json +0 -121
  213. data/app/pb_kits/playbook/pb_icon/kit.schema.json +0 -180
  214. data/app/pb_kits/playbook/pb_icon_button/kit.schema.json +0 -116
  215. data/app/pb_kits/playbook/pb_icon_circle/kit.schema.json +0 -65
  216. data/app/pb_kits/playbook/pb_icon_stat_value/kit.schema.json +0 -96
  217. data/app/pb_kits/playbook/pb_icon_value/kit.schema.json +0 -49
  218. data/app/pb_kits/playbook/pb_image/kit.schema.json +0 -74
  219. data/app/pb_kits/playbook/pb_label_pill/kit.schema.json +0 -52
  220. data/app/pb_kits/playbook/pb_label_value/kit.schema.json +0 -84
  221. data/app/pb_kits/playbook/pb_layout/kit.schema.json +0 -107
  222. data/app/pb_kits/playbook/pb_legend/kit.schema.json +0 -44
  223. data/app/pb_kits/playbook/pb_link/kit.schema.json +0 -118
  224. data/app/pb_kits/playbook/pb_list/kit.schema.json +0 -110
  225. data/app/pb_kits/playbook/pb_loading_inline/kit.schema.json +0 -55
  226. data/app/pb_kits/playbook/pb_map/kit.schema.json +0 -51
  227. data/app/pb_kits/playbook/pb_message/kit.schema.json +0 -104
  228. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_placeholder.html.erb +0 -109
  229. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_placeholder.jsx +0 -127
  230. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_placeholder.md +0 -1
  231. data/app/pb_kits/playbook/pb_multi_level_select/kit.schema.json +0 -190
  232. data/app/pb_kits/playbook/pb_multiple_users/kit.schema.json +0 -67
  233. data/app/pb_kits/playbook/pb_multiple_users_stacked/kit.schema.json +0 -55
  234. data/app/pb_kits/playbook/pb_nav/kit.schema.json +0 -104
  235. data/app/pb_kits/playbook/pb_online_status/kit.schema.json +0 -62
  236. data/app/pb_kits/playbook/pb_overlay/kit.schema.json +0 -99
  237. data/app/pb_kits/playbook/pb_pagination/kit.schema.json +0 -56
  238. data/app/pb_kits/playbook/pb_passphrase/kit.schema.json +0 -94
  239. data/app/pb_kits/playbook/pb_pb_bar_graph/kit.schema.json +0 -29
  240. data/app/pb_kits/playbook/pb_pb_circle_chart/kit.schema.json +0 -29
  241. data/app/pb_kits/playbook/pb_pb_gauge_chart/kit.schema.json +0 -29
  242. data/app/pb_kits/playbook/pb_pb_line_graph/kit.schema.json +0 -29
  243. data/app/pb_kits/playbook/pb_person/kit.schema.json +0 -36
  244. data/app/pb_kits/playbook/pb_person_contact/kit.schema.json +0 -43
  245. data/app/pb_kits/playbook/pb_phone_number_input/kit.schema.json +0 -157
  246. data/app/pb_kits/playbook/pb_pill/kit.schema.json +0 -57
  247. data/app/pb_kits/playbook/pb_popover/docs/_popover_placement.jsx +0 -81
  248. data/app/pb_kits/playbook/pb_popover/docs/_popover_placement_react.md +0 -1
  249. data/app/pb_kits/playbook/pb_popover/docs/_popover_position.html.erb +0 -128
  250. data/app/pb_kits/playbook/pb_popover/docs/_popover_position_rails.md +0 -1
  251. data/app/pb_kits/playbook/pb_popover/kit.schema.json +0 -82
  252. data/app/pb_kits/playbook/pb_progress_pills/kit.schema.json +0 -60
  253. data/app/pb_kits/playbook/pb_progress_simple/kit.schema.json +0 -78
  254. data/app/pb_kits/playbook/pb_progress_step/kit.schema.json +0 -74
  255. data/app/pb_kits/playbook/pb_radio/kit.schema.json +0 -104
  256. data/app/pb_kits/playbook/pb_rich_text_editor/_tiptap_editor.tsx +0 -51
  257. data/app/pb_kits/playbook/pb_rich_text_editor/_trix_editor.tsx +0 -206
  258. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_default.md +0 -1
  259. data/app/pb_kits/playbook/pb_rich_text_editor/kit.schema.json +0 -151
  260. data/app/pb_kits/playbook/pb_section_separator/kit.schema.json +0 -77
  261. data/app/pb_kits/playbook/pb_select/kit.schema.json +0 -157
  262. data/app/pb_kits/playbook/pb_selectable_card/kit.schema.json +0 -116
  263. data/app/pb_kits/playbook/pb_selectable_card_icon/kit.schema.json +0 -116
  264. data/app/pb_kits/playbook/pb_selectable_icon/kit.schema.json +0 -103
  265. data/app/pb_kits/playbook/pb_selectable_list/kit.schema.json +0 -54
  266. data/app/pb_kits/playbook/pb_skeleton_loading/kit.schema.json +0 -42
  267. data/app/pb_kits/playbook/pb_source/kit.schema.json +0 -61
  268. data/app/pb_kits/playbook/pb_star_rating/kit.schema.json +0 -152
  269. data/app/pb_kits/playbook/pb_stat_change/kit.schema.json +0 -49
  270. data/app/pb_kits/playbook/pb_stat_value/kit.schema.json +0 -42
  271. data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_external_filter_rails.html.erb +0 -45
  272. data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_external_filter_rails.md +0 -39
  273. data/app/pb_kits/playbook/pb_table/kit.schema.json +0 -238
  274. data/app/pb_kits/playbook/pb_text_input/kit.schema.json +0 -155
  275. data/app/pb_kits/playbook/pb_textarea/kit.schema.json +0 -163
  276. data/app/pb_kits/playbook/pb_time/kit.schema.json +0 -96
  277. data/app/pb_kits/playbook/pb_time_picker/kit.schema.json +0 -143
  278. data/app/pb_kits/playbook/pb_time_range_inline/kit.schema.json +0 -77
  279. data/app/pb_kits/playbook/pb_time_stacked/kit.schema.json +0 -60
  280. data/app/pb_kits/playbook/pb_timeline/kit.schema.json +0 -57
  281. data/app/pb_kits/playbook/pb_timestamp/kit.schema.json +0 -126
  282. data/app/pb_kits/playbook/pb_title/kit.schema.json +0 -106
  283. data/app/pb_kits/playbook/pb_title_count/kit.schema.json +0 -61
  284. data/app/pb_kits/playbook/pb_title_detail/kit.schema.json +0 -49
  285. data/app/pb_kits/playbook/pb_toggle/kit.schema.json +0 -76
  286. data/app/pb_kits/playbook/pb_tooltip/kit.schema.json +0 -110
  287. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_highlight.md +0 -3
  288. data/app/pb_kits/playbook/pb_typeahead/kit.schema.json +0 -279
  289. data/app/pb_kits/playbook/pb_user/kit.schema.json +0 -147
  290. data/app/pb_kits/playbook/pb_user_badge/kit.schema.json +0 -47
  291. data/app/pb_kits/playbook/pb_weekday_stacked/kit.schema.json +0 -63
  292. data/app/pb_kits/playbook/utilities/domHelpers.ts +0 -50
  293. data/app/pb_kits/playbook/utilities/global-props.schema.json +0 -759
  294. data/dist/chunks/_typeahead-BNp_YiTh.js +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cc0b57d6f8358986f32d12c21883fec8044e2d68665ea18b7afb64d1d4e463b1
4
- data.tar.gz: 54556178be28af1a7cea9e1e2d584e9e21cda6c2201cb7311c882dd88b10caf3
3
+ metadata.gz: 0f7d056170ce6b317f95c9d7ad73a63c8f7f3210c6cd02d17414534b2bff7c80
4
+ data.tar.gz: f2cb5edafbb6d1fb4ffacc6985d1422f5e3ce14930195b01dc9e08b8e41dd691
5
5
  SHA512:
6
- metadata.gz: caf1ed836f3ea9ad0d7bd9bdd11696863d0093bb4460e401a946185d0deb8facc55a9dc6b870cb43c40f46d7e92d7c956aa5bd3ac7cf23221f6f28b53553eb9a
7
- data.tar.gz: 8666d01061e0658f8676e02be7298a9b76f1c12971660be88aa18f05be202e764f39b9ee0ed9e62b65ff2f601fc72748fcb5635115afd7d2d738619329b8704b
6
+ metadata.gz: 802232b2891b04f6890eec0e1810274a5faab50b2bba3067ccb7bc393226e70239733f941db20c0deba832bddc8591aad4782c66367389c823a7347eb1399169
7
+ data.tar.gz: 60a018fbfc411d74df9c01f63d419a2950069cd9cf21b90a1655baa7dcbc6690f22a67755120640e6215af7f7665dea8709bd866e58e5e3d4075cfc53d401c23
@@ -33,8 +33,7 @@ export const AdvancedTableProvider = ({ children, ...props }: {
33
33
 
34
34
  const measureHeights = useCallback(() => {
35
35
  if (headerRef.current) {
36
- const headerElement = headerRef.current as HTMLElement;
37
- const headerRect = headerElement.getBoundingClientRect();
36
+ const headerRect = headerRef.current.getBoundingClientRect();
38
37
  if (headerRect.height > 0) {
39
38
  setHeaderHeight(headerRect.height);
40
39
  }
@@ -68,11 +67,9 @@ export const AdvancedTableProvider = ({ children, ...props }: {
68
67
  };
69
68
  }, [measureHeights]);
70
69
 
71
- const headerGroupCount = table?.getHeaderGroups()?.length ?? 0;
72
-
73
70
  useEffect(() => {
74
71
  measureHeights();
75
- }, [table?.getRowModel().rows.length, headerGroupCount, measureHeights]);
72
+ }, [table?.getRowModel().rows.length, measureHeights]);
76
73
 
77
74
 
78
75
  // Create a flattened data array that includes ALL components for virtualization
@@ -12,7 +12,6 @@ import {
12
12
  import { GenericObject } from "../../types";
13
13
  import { createColumnHelper } from "@tanstack/react-table";
14
14
  import { createCellFunction } from "../Utilities/CellRendererUtils";
15
- import { getParentOnlySortedRowModel } from "../Utilities/RowModelUtils";
16
15
 
17
16
  interface UseTableStateProps {
18
17
  tableData: GenericObject[];
@@ -37,7 +36,6 @@ interface UseTableStateProps {
37
36
  columnVisibilityControl?: GenericObject;
38
37
  rowStyling?: GenericObject;
39
38
  inlineRowLoading?: boolean;
40
- sortParentOnly?: boolean;
41
39
  }
42
40
 
43
41
  export function useTableState({
@@ -57,8 +55,7 @@ export function useTableState({
57
55
  columnVisibilityControl,
58
56
  pinnedRows,
59
57
  rowStyling,
60
- inlineRowLoading = false,
61
- sortParentOnly = false
58
+ inlineRowLoading = false
62
59
  }: UseTableStateProps) {
63
60
 
64
61
  // Create a local state for expanded and setExpanded if expandedControl not used
@@ -193,7 +190,7 @@ export function useTableState({
193
190
  getSubRows: (row: GenericObject) => row.children,
194
191
  getCoreRowModel: getCoreRowModel(),
195
192
  getExpandedRowModel: getExpandedRowModel(),
196
- getSortedRowModel: sortParentOnly ? getParentOnlySortedRowModel() : getSortedRowModel(),
193
+ getSortedRowModel: getSortedRowModel(),
197
194
  enableSortingRemoval: enableSortingRemoval,
198
195
  sortDescFirst: true,
199
196
  onRowSelectionChange: setRowSelection,
@@ -64,12 +64,14 @@ export const TableHeader = ({
64
64
  );
65
65
 
66
66
  const renderRegularTableHeader = () => (
67
- <thead className={classes}
67
+ <thead className={classes}
68
68
  id={id}
69
- ref={headerRef}
70
69
  >
71
- {table.getHeaderGroups().map((headerGroup: HeaderGroup<GenericObject>) => (
72
- <tr key={`${headerGroup.id}-headerGroup`}>
70
+ {table.getHeaderGroups().map((headerGroup: HeaderGroup<GenericObject>, index: number) => (
71
+ <tr
72
+ key={`${headerGroup.id}-headerGroup`}
73
+ ref={index === 0 ? headerRef : null}
74
+ >
73
75
  {!hasAnySubRows && selectableRows && (
74
76
  <th className={customCellClassnames}>
75
77
  <Checkbox
@@ -103,16 +105,16 @@ export const TableHeader = ({
103
105
  );
104
106
 
105
107
  const renderVirtualizedTableHeader = () => (
106
- <thead
107
- className={classes}
108
+ <thead
109
+ className={classes}
108
110
  data-virtualized="true"
109
111
  id={id}
110
- ref={headerRef}
111
112
  >
112
- {table.getHeaderGroups().map((headerGroup: HeaderGroup<GenericObject>) => (
113
- <tr
113
+ {table.getHeaderGroups().map((headerGroup: HeaderGroup<GenericObject>, index: number) => (
114
+ <tr
114
115
  className="virtualized-header-row-header"
115
116
  key={`${headerGroup.id}-headerGroup-virtualized`}
117
+ ref={index === 0 ? headerRef : null}
116
118
  >
117
119
  {!hasAnySubRows && selectableRows && (
118
120
  <th className={classnames(customCellClassnames, "virtualized-header-cell")}>
@@ -63,51 +63,6 @@
63
63
  width: 100%;
64
64
  }
65
65
 
66
- // Override pb_table endcap: first and last column use same padding as rest of row
67
- // First column
68
- .pb_table.table-sm tbody tr td:first-child,
69
- .pb_table.table-sm tbody tr .pb_table_td:first-child,
70
- .pb_table.table-sm tbody .pb_table_tr td:first-child,
71
- .pb_table.table-sm tbody .pb_table_tr .pb_table_td:first-child,
72
- .pb_table.table-sm .pb_table_tbody tr td:first-child,
73
- .pb_table.table-sm .pb_table_tbody tr .pb_table_td:first-child,
74
- .pb_table.table-sm .pb_table_tbody .pb_table_tr td:first-child,
75
- .pb_table.table-sm .pb_table_tbody .pb_table_tr .pb_table_td:first-child {
76
- padding-left: $space-xs;
77
- }
78
- .pb_table.table-md tbody tr td:first-child,
79
- .pb_table.table-md tbody tr .pb_table_td:first-child,
80
- .pb_table.table-md tbody .pb_table_tr td:first-child,
81
- .pb_table.table-md tbody .pb_table_tr .pb_table_td:first-child,
82
- .pb_table.table-md .pb_table_tbody tr td:first-child,
83
- .pb_table.table-md .pb_table_tbody tr .pb_table_td:first-child,
84
- .pb_table.table-md .pb_table_tbody .pb_table_tr td:first-child,
85
- .pb_table.table-md .pb_table_tbody .pb_table_tr .pb_table_td:first-child {
86
- padding-left: $space-sm;
87
- }
88
-
89
- // Last column
90
- .pb_table.table-sm tbody tr td:last-child,
91
- .pb_table.table-sm tbody tr .pb_table_td:last-child,
92
- .pb_table.table-sm tbody .pb_table_tr td:last-child,
93
- .pb_table.table-sm tbody .pb_table_tr .pb_table_td:last-child,
94
- .pb_table.table-sm .pb_table_tbody tr td:last-child,
95
- .pb_table.table-sm .pb_table_tbody tr .pb_table_td:last-child,
96
- .pb_table.table-sm .pb_table_tbody .pb_table_tr td:last-child,
97
- .pb_table.table-sm .pb_table_tbody .pb_table_tr .pb_table_td:last-child {
98
- padding-right: $space-xs;
99
- }
100
- .pb_table.table-md tbody tr td:last-child,
101
- .pb_table.table-md tbody tr .pb_table_td:last-child,
102
- .pb_table.table-md tbody .pb_table_tr td:last-child,
103
- .pb_table.table-md tbody .pb_table_tr .pb_table_td:last-child,
104
- .pb_table.table-md .pb_table_tbody tr td:last-child,
105
- .pb_table.table-md .pb_table_tbody tr .pb_table_td:last-child,
106
- .pb_table.table-md .pb_table_tbody .pb_table_tr td:last-child,
107
- .pb_table.table-md .pb_table_tbody .pb_table_tr .pb_table_td:last-child {
108
- padding-right: $space-sm;
109
- }
110
-
111
66
  // Virtualized Table and Rows for Infinite Scroll
112
67
  scrollbar-gutter: stable right-edges;
113
68
  .virtualized-header-row-header {
@@ -674,18 +629,12 @@
674
629
  @each $color_name, $color_value in $border_color_options {
675
630
  &.column-group-border-#{$color_name} {
676
631
  @if $theme == "light" {
677
- &:not(.advanced-table-no-table-container) {
678
- @include advanced-table-sticky-wrapper-frame($color_value);
679
- }
680
632
  @include advanced-table-sticky-mixin(
681
633
  $color_value,
682
634
  $white,
683
635
  lighten($silver, $opacity_7)
684
636
  );
685
637
  } @else if $theme == "dark" {
686
- &:not(.advanced-table-no-table-container) {
687
- @include advanced-table-sticky-wrapper-frame($color_value);
688
- }
689
638
  @include advanced-table-sticky-mixin(
690
639
  $color_value,
691
640
  $bg_dark_card,
@@ -721,10 +670,6 @@
721
670
  width: 100%;
722
671
  @include scrollbar-styling;
723
672
 
724
- &:not(.advanced-table-no-table-container) {
725
- @include advanced-table-sticky-wrapper-frame($border_light);
726
- }
727
-
728
673
  // These are the responsive borders that should NOT inherit the custom color
729
674
  @include advanced-table-sticky-mixin(
730
675
  $border_light,
@@ -775,7 +720,7 @@
775
720
  }
776
721
  }
777
722
 
778
- // Row Pinning - React uses inline style; Rails passes same style via html_options from table_body
723
+ // Row Pinning - additional inline styles in RegularTableView.tsx
779
724
  .pinned-row {
780
725
  box-shadow: 0 4px 10px 0 rgba($shadow, 0.16) !important;
781
726
  }
@@ -1018,11 +963,6 @@
1018
963
  .sticky-left {
1019
964
  background-color: $bg_dark;
1020
965
  }
1021
-
1022
- &:not(.advanced-table-no-table-container) {
1023
- @include advanced-table-sticky-wrapper-frame($border_dark);
1024
- }
1025
-
1026
966
  @include advanced-table-sticky-mixin(
1027
967
  $border_dark,
1028
968
  $bg_dark_card,
@@ -1041,10 +981,6 @@
1041
981
  }
1042
982
  }
1043
983
 
1044
- &:not(.advanced-table-no-table-container) {
1045
- @include advanced-table-sticky-wrapper-frame($border_dark);
1046
- }
1047
-
1048
984
  // These are the responsive borders that should NOT inherit the custom color
1049
985
  @include advanced-table-sticky-mixin(
1050
986
  $border_dark,
@@ -66,7 +66,6 @@ type AdvancedTableProps = {
66
66
  showActionsBar?: boolean,
67
67
  persistToggleExpansionButton?: boolean,
68
68
  sortControl?: GenericObject
69
- sortParentOnly?: boolean
70
69
  tableData: GenericObject[]
71
70
  tableOptions?: GenericObject
72
71
  tableProps?: GenericObject
@@ -115,7 +114,6 @@ const AdvancedTable = (props: AdvancedTableProps) => {
115
114
  selectableRows,
116
115
  persistToggleExpansionButton = false,
117
116
  sortControl,
118
- sortParentOnly = false,
119
117
  stickyLeftColumn,
120
118
  tableData,
121
119
  tableOptions,
@@ -127,8 +125,6 @@ const AdvancedTable = (props: AdvancedTableProps) => {
127
125
  fullScreenControl,
128
126
  } = props;
129
127
 
130
- const noTableCardContainer = tableProps?.container === false;
131
-
132
128
  // Component refs
133
129
  const tableWrapperRef = useRef<HTMLDivElement>(null);
134
130
 
@@ -163,8 +159,7 @@ const AdvancedTable = (props: AdvancedTableProps) => {
163
159
  columnVisibilityControl,
164
160
  pinnedRows,
165
161
  rowStyling,
166
- inlineRowLoading,
167
- sortParentOnly
162
+ inlineRowLoading
168
163
  });
169
164
 
170
165
  // Initialize table actions
@@ -283,7 +278,6 @@ const AdvancedTable = (props: AdvancedTableProps) => {
283
278
  'hidden-action-bar': (selectableRows || columnVisibilityControl) && !isActionBarVisible,
284
279
  },
285
280
  {'advanced-table-sticky-left-columns': stickyLeftColumn && stickyLeftColumn.length > 0},
286
- { 'advanced-table-no-table-container': noTableCardContainer },
287
281
  columnGroupBorderColor ? `column-group-border-${columnGroupBorderColor}` : '',
288
282
  scrollBarNone ? 'advanced-table-hide-scrollbar' : '',
289
283
  globalProps(props),
@@ -7,12 +7,12 @@
7
7
  }) %>
8
8
  <% end %>
9
9
 
10
- <%= pb_rails("table", props: { size: "sm", data_table: true, number_spacing:"tabular", responsive:"none", dark: dark, classname: object.loading ? "content-loading" : "" }.merge(object.table_props || {})) do %>
10
+ <%= pb_rails("table", props: { size: "sm", data_table: true, number_spacing:"tabular", responsive:"none", dark: dark, classname: object.loading ? "content-loading" : "" }.merge(object.table_props)) do %>
11
11
  <% if content.present? %>
12
12
  <% content.presence %>
13
13
  <% else %>
14
14
  <%= pb_rails("advanced_table/table_header", props: { table_id: object.id, column_definitions: object.column_definitions, enable_toggle_expansion: object.enable_toggle_expansion, responsive: object.responsive, loading: object.loading, selectable_rows: object.selectable_rows, show_actions_bar: object.show_actions_bar, inline_row_loading: object.inline_row_loading, persist_toggle_expansion_button: object.persist_toggle_expansion_button, table_data: object.table_data }) %>
15
- <%= pb_rails("advanced_table/table_body", props: { table_id: object.id, table_data: object.table_data, column_definitions: object.column_definitions, responsive: object.responsive, loading: object.loading, selectable_rows: object.selectable_rows, enable_toggle_expansion: object.enable_toggle_expansion, row_styling: object.row_styling, inline_row_loading: object.inline_row_loading, pinned_rows: object.pinned_rows }) %>
15
+ <%= pb_rails("advanced_table/table_body", props: { table_id: object.id, table_data: object.table_data, column_definitions: object.column_definitions, responsive: object.responsive, loading: object.loading, selectable_rows: object.selectable_rows, enable_toggle_expansion: object.enable_toggle_expansion, row_styling: object.row_styling, inline_row_loading: object.inline_row_loading }) %>
16
16
  <% end %>
17
17
  <% end %>
18
18
  <% end %>
@@ -37,8 +37,6 @@ module Playbook
37
37
  default: false
38
38
  prop :persist_toggle_expansion_button, type: Playbook::Props::Boolean,
39
39
  default: false
40
- prop :pinned_rows, type: Playbook::Props::HashProp,
41
- default: {}
42
40
 
43
41
  def classname
44
42
  additional_classes = [
@@ -48,16 +46,9 @@ module Playbook
48
46
  hidden_action_bar_class,
49
47
  ]
50
48
  additional_classes << "column-group-border-#{column_group_border_color}" if column_group_border_color != "none"
51
- additional_classes << "advanced-table-no-table-container" if no_table_card_container?
52
49
  generate_classname("pb_advanced_table", *additional_classes, separator: " ")
53
50
  end
54
51
 
55
- def no_table_card_container?
56
- return false unless table_props.is_a?(Hash)
57
-
58
- table_props[:container] == false || table_props["container"] == false
59
- end
60
-
61
52
  def responsive_classname
62
53
  responsive == "scroll" ? "advanced-table-responsive-scroll" : "advanced-table-responsive-none"
63
54
  end
@@ -495,41 +495,7 @@ test("sort button exists and sorts column data", () => {
495
495
 
496
496
  const row2 = kit.getElementsByTagName('tr')[2]
497
497
  expect(row2.id).toBe("0-0-0-row")
498
- })
499
-
500
- test("sortParentOnly sorts only parent rows and keeps children grouped under parent", () => {
501
- render(
502
- <AdvancedTable
503
- columnDefinitions={columnDefinitions}
504
- data={{ testid: testId }}
505
- sortParentOnly
506
- tableData={MOCK_DATA}
507
- >
508
- <AdvancedTable.Header enableSorting />
509
- <AdvancedTable.Body />
510
- </AdvancedTable>
511
- )
512
-
513
- const kit = screen.getByTestId(testId)
514
- const sortButton = kit.querySelector(".header-sort-button.pb_th_link")
515
- expect(sortButton).toBeInTheDocument()
516
-
517
- const tbody = kit.querySelector('tbody')
518
- const rowsBefore = tbody.getElementsByTagName('tr')
519
- expect(rowsBefore[0]).toHaveTextContent('2021')
520
-
521
- sortButton.click()
522
-
523
- const rowsAfter = tbody.getElementsByTagName('tr')
524
- expect(rowsAfter[0]).toHaveTextContent('2022')
525
-
526
- const expandButton = kit.querySelector(".gray-icon.expand-toggle-icon")
527
- expandButton.click()
528
-
529
- const rowsExpanded = tbody.getElementsByTagName('tr')
530
- expect(rowsExpanded.length).toBeGreaterThan(1)
531
- expect(rowsExpanded[1]).toHaveTextContent('Q1')
532
- })
498
+ })
533
499
 
534
500
  test("Generates Table.Header default + custom classname", () => {
535
501
  render(
@@ -7,7 +7,6 @@ examples:
7
7
  - advanced_table_table_props: Table Props
8
8
  - advanced_table_sticky_header_rails: Sticky Header
9
9
  - advanced_table_table_props_sticky_header: Sticky Header for Responsive Table
10
- - advanced_table_pinned_rows_rails: Pinned Rows
11
10
  - advanced_table_beta_sort: Enable Sorting
12
11
  - advanced_table_responsive: Responsive Tables
13
12
  - advanced_table_custom_cell_rails: Custom Components for Cells
@@ -40,7 +39,6 @@ examples:
40
39
  - advanced_table_sort_per_column: Enable Sort By Column
41
40
  - advanced_table_sort_per_column_for_multi_column: Enable Sort By Column (Multi-Column)
42
41
  - advanced_table_custom_sort: Custom Sort
43
- - advanced_table_sort_parent_only: Sort Parent Only
44
42
  - advanced_table_expanded_control: Expanded Control
45
43
  - advanced_table_expand_by_depth: Expand by Depth
46
44
  - advanced_table_subrow_headers: SubRow Headers
@@ -75,7 +73,6 @@ examples:
75
73
  - advanced_table_column_visibility_with_state: Column Visibility Control With State
76
74
  - advanced_table_column_visibility_custom: Column Visibility Control with Custom Dropdown
77
75
  - advanced_table_column_visibility_multi: Column Visibility Control with Multi-Header Columns
78
- - advanced_table_grouped_headers_composition: Grouped headers, custom headers, sort, and pinned rows
79
76
  - advanced_table_scrollbar_none: Advanced Table Scrollbar None
80
77
  - advanced_table_row_styling: Row Styling
81
78
  - advanced_table_padding_control_per_row: Padding Control using Row Styling
@@ -42,7 +42,6 @@ export { default as AdvancedTableInfiniteScroll} from './_advanced_table_infinit
42
42
  export {default as AdvancedTableWithCustomHeader} from './_advanced_table_with_custom_header.jsx'
43
43
  export { default as AdvancedTableCustomSort } from './_advanced_table_custom_sort.jsx'
44
44
  export { default as AdvancedTableWithCustomHeaderMultiHeader } from './_advanced_table_with_custom_header_multi_header.jsx'
45
- export { default as AdvancedTableGroupedHeadersComposition } from './_advanced_table_grouped_headers_composition.jsx'
46
45
  export { default as AdvancedTableSortPerColumn } from './_advanced_table_sort_per_column.jsx'
47
46
  export { default as AdvancedTableSortPerColumnForMultiColumn } from './_advanced_table_sort_per_column_for_multi_column.jsx'
48
47
  export { default as AdvancedTablePaddingControl } from './_advanced_table_padding_control.jsx'
@@ -50,5 +49,4 @@ export { default as AdvancedTablePaddingControlPerRow } from './_advanced_table_
50
49
  export { default as AdvancedTableColumnStylingBackground } from './_advanced_table_column_styling_background.jsx'
51
50
  export { default as AdvancedTableColumnStylingBackgroundMulti } from './_advanced_table_column_styling_background_multi.jsx'
52
51
  export { default as AdvancedTableColumnStylingBackgroundCustom } from './_advanced_table_column_styling_background_custom.jsx'
53
- export { default as AdvancedTableCascadeCollapse } from './_advanced_table_cascade_collapse.jsx'
54
- export { default as AdvancedTableSortParentOnly } from './_advanced_table_sort_parent_only.jsx'
52
+ export { default as AdvancedTableCascadeCollapse } from './_advanced_table_cascade_collapse.jsx'
@@ -1,6 +1,5 @@
1
1
  import PbEnhancedElement from "../pb_enhanced_element";
2
2
  import { updateSelectionActionBar } from "./advanced_table_action_bar";
3
- import { setArrowVisibility, toggleVisibility } from "../utilities/domHelpers";
4
3
 
5
4
  const ADVANCED_TABLE_SELECTOR = "[data-advanced-table]";
6
5
  const DOWN_ARROW_SELECTOR = "#advanced-table_open_icon";
@@ -21,18 +20,10 @@ export default class PbAdvancedTable extends PbEnhancedElement {
21
20
  this.childRowsMap = new Map();
22
21
  }
23
22
 
24
- get table() {
25
- return this.cachedTable || (this.cachedTable = this.element.closest("table"));
26
- }
27
-
28
- get mainTable() {
29
- return this.cachedMainTable || (this.cachedMainTable = this.element.closest(".pb_advanced_table"));
30
- }
31
-
32
23
  // Fetch and cache child rows for a given parent row ID
33
24
  childRowsFor(parentId) {
34
25
  if (!this.childRowsMap.has(parentId)) {
35
- const table = this.table;
26
+ const table = this.element.closest("table");
36
27
  const rows = Array.from(
37
28
  table.querySelectorAll(`tr[data-row-parent="${parentId}"]`)
38
29
  );
@@ -42,8 +33,7 @@ export default class PbAdvancedTable extends PbEnhancedElement {
42
33
  }
43
34
 
44
35
  updateTableSelectedRowsAttribute() {
45
- const mainTable = this.mainTable;
46
- if (!mainTable) return;
36
+ const mainTable = this.element.closest(".pb_advanced_table");
47
37
  mainTable.dataset.selectedRows = JSON.stringify(
48
38
  Array.from(PbAdvancedTable.selectedRows)
49
39
  );
@@ -51,8 +41,7 @@ export default class PbAdvancedTable extends PbEnhancedElement {
51
41
 
52
42
  // Recalculate selected count based on all checked checkboxes
53
43
  recalculateSelectedCount() {
54
- const table = this.table;
55
- if (!table) return;
44
+ const table = this.element.closest("table");
56
45
 
57
46
  // Get all checkboxes that could be part of the selection
58
47
  // This includes row checkboxes and any parent checkboxes that might be programmatically checked
@@ -106,7 +95,7 @@ export default class PbAdvancedTable extends PbEnhancedElement {
106
95
  });
107
96
 
108
97
  this.updateTableSelectedRowsAttribute();
109
- updateSelectionActionBar(this.mainTable, PbAdvancedTable.selectedRows.size);
98
+ updateSelectionActionBar(table.closest(".pb_advanced_table"), PbAdvancedTable.selectedRows.size);
110
99
 
111
100
  // Sync header select-all state
112
101
  if (selectAllCheckbox) {
@@ -150,7 +139,7 @@ export default class PbAdvancedTable extends PbEnhancedElement {
150
139
 
151
140
  this.updateTableSelectedRowsAttribute();
152
141
 
153
- const table = this.table;
142
+ const table = checkbox.closest("table");
154
143
  const selectAllCheckbox = table.querySelector("#select-all-rows");
155
144
 
156
145
  if (selectAllCheckbox) {
@@ -164,7 +153,7 @@ export default class PbAdvancedTable extends PbEnhancedElement {
164
153
  );
165
154
  selectAllInput.checked = allChecked;
166
155
  }
167
- updateSelectionActionBar(this.mainTable, PbAdvancedTable.selectedRows.size);
156
+ updateSelectionActionBar(table.closest(".pb_advanced_table"), PbAdvancedTable.selectedRows.size);
168
157
  }
169
158
 
170
159
  get target() {
@@ -172,11 +161,10 @@ export default class PbAdvancedTable extends PbEnhancedElement {
172
161
  }
173
162
 
174
163
  connect() {
175
- const table = this.table;
176
- if (!table) return;
164
+ const table = this.element.closest("table");
177
165
 
178
166
  this.hideCloseIcon();
179
- const mainTable = this.mainTable;
167
+ const mainTable = this.element.closest(".pb_advanced_table");
180
168
 
181
169
  // This so it is hidden on first render
182
170
  if (mainTable) {
@@ -196,17 +184,6 @@ export default class PbAdvancedTable extends PbEnhancedElement {
196
184
  if (table.dataset.pbAdvancedTableInitialized) return;
197
185
  table.dataset.pbAdvancedTableInitialized = "true";
198
186
 
199
- // Measure header height so pinned rows don't overlap when header wraps (e.g. mobile)
200
- if (mainTable) {
201
- PbAdvancedTable.updateStickyHeaderRowHeights(mainTable);
202
- const resizeObserver = new ResizeObserver(() => {
203
- PbAdvancedTable.updateStickyHeaderRowHeights(mainTable);
204
- PbAdvancedTable.updatePinnedRowsStickyTops(mainTable);
205
- });
206
- resizeObserver.observe(table);
207
- mainTable._advancedTableHeaderResizeObserver = resizeObserver;
208
- }
209
-
210
187
  // Delegate checkbox changes
211
188
  table.addEventListener("change", (event) => {
212
189
  const checkbox = event.target.closest('input[type="checkbox"]');
@@ -294,7 +271,9 @@ export default class PbAdvancedTable extends PbEnhancedElement {
294
271
  }
295
272
 
296
273
  // Find direct child rows
297
- const childRows = this.childRowsFor(toggleBtn.id);
274
+ const childRows = Array.from(
275
+ table.querySelectorAll(`[data-row-parent="${toggleBtn.id}"]`)
276
+ );
298
277
  this.toggleElement(childRows);
299
278
 
300
279
  // Restore original element context
@@ -305,8 +284,7 @@ export default class PbAdvancedTable extends PbEnhancedElement {
305
284
  }
306
285
 
307
286
  addBorderRadiusOnLastVisibleRow() {
308
- const parentElement = this.mainTable;
309
- if (!parentElement) return;
287
+ const parentElement = this.element.closest(".pb_advanced_table");
310
288
 
311
289
  const table = document.getElementById(parentElement.id);
312
290
 
@@ -326,64 +304,9 @@ export default class PbAdvancedTable extends PbEnhancedElement {
326
304
  lastVisibleRow.classList.add("last-visible-row");
327
305
  lastVisibleRow.classList.add("last-row-cell");
328
306
  }
329
-
330
- PbAdvancedTable.updateStickyHeaderRowHeights(parentElement);
331
- PbAdvancedTable.updatePinnedRowsStickyTops(table);
332
307
  }
333
308
  }
334
309
 
335
- /**
336
- * Measure thead height and set --advanced-table-header-height so pinned rows and
337
- * multi-row sticky headers use the correct offset. Re-run when header wraps (e.g. mobile).
338
- */
339
- static updateStickyHeaderRowHeights(advancedTableWrapper) {
340
- if (!advancedTableWrapper) return;
341
- const table = advancedTableWrapper.querySelector("table.pb_table");
342
- const thead = table?.querySelector("thead");
343
- if (!thead) return;
344
-
345
- const rows = Array.from(thead.querySelectorAll("tr"));
346
- let totalHeight = 0;
347
- rows.forEach((tr, index) => {
348
- const h = tr.offsetHeight;
349
- if (index === 0) {
350
- advancedTableWrapper.style.setProperty(
351
- "--advanced-table-header-row-0-height",
352
- `${h}px`
353
- );
354
- } else if (index === 1) {
355
- advancedTableWrapper.style.setProperty(
356
- "--advanced-table-header-row-1-height",
357
- `${h}px`
358
- );
359
- }
360
- totalHeight += h;
361
- });
362
- advancedTableWrapper.style.setProperty(
363
- "--advanced-table-header-height",
364
- `${totalHeight}px`
365
- );
366
- }
367
-
368
- /**
369
- * Recompute sticky top for visible pinned rows so collapsed rows don't leave a gap.
370
- * Call after expand/collapse and on load.
371
- */
372
- static updatePinnedRowsStickyTops(advancedTableWrapper) {
373
- const pinnedTbody = advancedTableWrapper?.querySelector("tbody.pinned-rows-tbody");
374
- if (!pinnedTbody) return;
375
-
376
- const pinnedRows = Array.from(pinnedTbody.querySelectorAll("tr.pinned-row"));
377
- const visibleRows = pinnedRows.filter(
378
- (tr) => tr.style.display !== "none" && tr.offsetParent !== null
379
- );
380
-
381
- const headerOffset = "var(--advanced-table-header-height, 44px)";
382
- visibleRows.forEach((tr, index) => {
383
- tr.style.top = `calc(${headerOffset} + 2.5em * ${index})`;
384
- });
385
- }
386
-
387
310
  hideCloseIcon() {
388
311
  const closeIcon = this.element.querySelector(UP_ARROW_SELECTOR);
389
312
  closeIcon.style.display = "none";
@@ -393,9 +316,11 @@ export default class PbAdvancedTable extends PbEnhancedElement {
393
316
  elements.forEach((elem) => {
394
317
  elem.style.display = "table-row";
395
318
  elem.classList.add("is-visible");
396
- const childRowsAll = this.table.querySelectorAll(
397
- `[data-advanced-table-content^="${elem.dataset.advancedTableContent}-"]`
398
- );
319
+ const childRowsAll = this.element
320
+ .closest("table")
321
+ .querySelectorAll(
322
+ `[data-advanced-table-content^="${elem.dataset.advancedTableContent}-"]`
323
+ );
399
324
 
400
325
  childRowsAll.forEach((childRow) => {
401
326
  const dataContent = childRow.dataset.advancedTableContent;
@@ -457,7 +382,8 @@ export default class PbAdvancedTable extends PbEnhancedElement {
457
382
  const currentDepth = parseInt(elem.dataset.rowDepth);
458
383
  if (childrenArray.length > currentDepth) {
459
384
  // Find the child rows corresponding to this parent row
460
- const childRows = this.table
385
+ const childRows = this.element
386
+ .closest("table")
461
387
  .querySelectorAll(
462
388
  `[data-advanced-table-content^="${elem.dataset.advancedTableContent}-"]`
463
389
  );
@@ -475,39 +401,28 @@ export default class PbAdvancedTable extends PbEnhancedElement {
475
401
 
476
402
  const isVisible = elements[0].classList.contains("is-visible");
477
403
 
478
- const isExpanded = toggleVisibility({
479
- isVisible,
480
- onHide: () => this.hideElement(elements),
481
- onShow: () => this.showElement(elements),
482
- });
483
-
484
- isExpanded ? this.displayUpArrow() : this.displayDownArrow();
404
+ isVisible ? this.hideElement(elements) : this.showElement(elements);
405
+ isVisible ? this.displayDownArrow() : this.displayUpArrow();
485
406
 
486
407
  const row = this.element.closest("tr");
487
408
  if (row) {
488
- row.classList.toggle("bg-silver", isExpanded);
489
- row.classList.toggle("pb-bg-row-white", !isExpanded);
409
+ row.classList.toggle("bg-silver", !isVisible);
410
+ row.classList.toggle("pb-bg-row-white", isVisible);
490
411
  }
491
412
 
492
413
  this.addBorderRadiusOnLastVisibleRow();
493
414
  }
494
415
 
495
416
  displayDownArrow() {
496
- setArrowVisibility({
497
- rootElement: this.element,
498
- downSelector: DOWN_ARROW_SELECTOR,
499
- upSelector: UP_ARROW_SELECTOR,
500
- showDownArrow: true,
501
- });
417
+ this.element.querySelector(DOWN_ARROW_SELECTOR).style.display =
418
+ "inline-block";
419
+ this.element.querySelector(UP_ARROW_SELECTOR).style.display = "none";
502
420
  }
503
421
 
504
422
  displayUpArrow() {
505
- setArrowVisibility({
506
- rootElement: this.element,
507
- downSelector: DOWN_ARROW_SELECTOR,
508
- upSelector: UP_ARROW_SELECTOR,
509
- showDownArrow: false,
510
- });
423
+ this.element.querySelector(UP_ARROW_SELECTOR).style.display =
424
+ "inline-block";
425
+ this.element.querySelector(DOWN_ARROW_SELECTOR).style.display = "none";
511
426
  }
512
427
 
513
428
  static handleToggleAllHeaders(element) {
@@ -585,19 +500,3 @@ window.expandAllRows = (element) => {
585
500
  window.expandAllSubRows = (element, rowDepth) => {
586
501
  PbAdvancedTable.handleToggleAllSubRows(element, rowDepth);
587
502
  };
588
-
589
- // Fix header height and pinned row sticky tops on load (header wrap + collapsed rows)
590
- function updateAllAdvancedTableStickyHeights() {
591
- document.querySelectorAll(".pb_advanced_table").forEach((wrapper) => {
592
- PbAdvancedTable.updateStickyHeaderRowHeights(wrapper);
593
- PbAdvancedTable.updatePinnedRowsStickyTops(wrapper);
594
- });
595
- }
596
-
597
- if (typeof document !== "undefined") {
598
- if (document.readyState === "loading") {
599
- document.addEventListener("DOMContentLoaded", updateAllAdvancedTableStickyHeights);
600
- } else {
601
- updateAllAdvancedTableStickyHeights();
602
- }
603
- }