playbook_ui 14.23.0.pre.alpha.play23129273 → 14.23.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 (188) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +1 -0
  3. data/app/pb_kits/playbook/pb_advanced_table/Components/CustomCell.tsx +6 -7
  4. data/app/pb_kits/playbook/pb_advanced_table/Components/SortIconButton.tsx +25 -24
  5. data/app/pb_kits/playbook/pb_advanced_table/Components/SubRowHeaderRow.tsx +11 -32
  6. data/app/pb_kits/playbook/pb_advanced_table/Components/TableActionBar.tsx +10 -10
  7. data/app/pb_kits/playbook/pb_advanced_table/Components/TableHeaderCell.tsx +12 -11
  8. data/app/pb_kits/playbook/pb_advanced_table/Hooks/useTableState.ts +5 -8
  9. data/app/pb_kits/playbook/pb_advanced_table/SubKits/TableHeader.tsx +1 -1
  10. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +1 -67
  11. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +7 -19
  12. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +1 -1
  13. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +2 -14
  14. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +0 -34
  15. data/app/pb_kits/playbook/pb_advanced_table/advanced_table_action_bar.js +0 -16
  16. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +6 -14
  17. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +0 -5
  18. data/app/pb_kits/playbook/pb_advanced_table/scss_partials/advanced_table_sticky_mixin.scss +1 -7
  19. data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +1 -3
  20. data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +1 -5
  21. data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +0 -36
  22. data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +4 -13
  23. data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +0 -2
  24. data/app/pb_kits/playbook/pb_badge/_badge.scss +6 -5
  25. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_colors.jsx +15 -33
  26. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom.jsx +72 -0
  27. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom.md +6 -0
  28. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_default.jsx +15 -33
  29. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.jsx +22 -52
  30. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_horizontal.jsx +16 -12
  31. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend.jsx +15 -31
  32. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.jsx +16 -39
  33. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.jsx +38 -86
  34. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.md +1 -1
  35. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_negative_numbers.jsx +15 -32
  36. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.jsx +64 -0
  37. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.md +1 -0
  38. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.jsx +22 -72
  39. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.md +1 -1
  40. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_spline.jsx +15 -31
  41. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_stacked.jsx +16 -37
  42. data/app/pb_kits/playbook/pb_bar_graph/docs/_description.md +3 -1
  43. data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +3 -1
  44. data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +2 -0
  45. data/app/pb_kits/playbook/pb_body/docs/_body_truncate.jsx +3 -3
  46. data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +1 -12
  47. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate.html.erb +1 -1
  48. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate_rails.md +1 -2
  49. data/app/pb_kits/playbook/pb_checkbox/index.js +1 -3
  50. data/app/pb_kits/playbook/pb_circle_chart/circleChartTheme.ts +1 -36
  51. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.jsx +26 -71
  52. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.jsx +16 -29
  53. data/app/pb_kits/playbook/pb_circle_chart/docs/{_circle_chart_colors_rails.md → _circle_chart_colors.md} +1 -1
  54. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.jsx +16 -28
  55. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.md +2 -4
  56. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.jsx +15 -23
  57. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_inner_sizes.jsx +51 -81
  58. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.jsx +75 -103
  59. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.md +7 -4
  60. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_live_data.jsx +13 -19
  61. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_pb_styles.jsx +38 -0
  62. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_pb_styles.md +1 -0
  63. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.jsx +17 -30
  64. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_labels.jsx +20 -34
  65. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_legend_kit.jsx +20 -29
  66. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_title.jsx +20 -28
  67. data/app/pb_kits/playbook/pb_circle_chart/docs/example.yml +1 -0
  68. data/app/pb_kits/playbook/pb_circle_chart/docs/index.js +1 -0
  69. data/app/pb_kits/playbook/pb_draggable/context/index.tsx +4 -12
  70. data/app/pb_kits/playbook/pb_draggable/context/types.ts +2 -5
  71. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +1 -17
  72. data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +0 -6
  73. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options.jsx +0 -1
  74. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options_react.md +1 -1
  75. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +2 -3
  76. data/app/pb_kits/playbook/pb_dropdown/docs/index.js +1 -2
  77. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +0 -24
  78. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownOption.tsx +1 -11
  79. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors.jsx +15 -32
  80. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex.jsx +9 -35
  81. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.jsx +14 -26
  82. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.jsx +15 -32
  83. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.jsx +17 -45
  84. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.jsx +22 -59
  85. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_live_data.jsx +9 -40
  86. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.jsx +18 -50
  87. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.jsx +30 -0
  88. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.md +1 -0
  89. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +18 -31
  90. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.jsx +17 -34
  91. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.jsx +23 -64
  92. data/app/pb_kits/playbook/pb_gauge/docs/example.yml +1 -0
  93. data/app/pb_kits/playbook/pb_gauge/docs/index.js +1 -0
  94. data/app/pb_kits/playbook/pb_gauge/gaugeTheme.ts +1 -7
  95. data/app/pb_kits/playbook/pb_line_graph/docs/_description.md +3 -1
  96. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors.jsx +17 -36
  97. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_default.jsx +16 -31
  98. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.jsx +31 -63
  99. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.jsx +16 -35
  100. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.jsx +16 -41
  101. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.jsx +62 -107
  102. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.md +7 -4
  103. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.jsx +52 -0
  104. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.md +1 -0
  105. data/app/pb_kits/playbook/pb_line_graph/docs/example.yml +1 -0
  106. data/app/pb_kits/playbook/pb_line_graph/docs/index.js +1 -0
  107. data/app/pb_kits/playbook/pb_line_graph/lineGraphTheme.ts +1 -16
  108. data/app/pb_kits/playbook/pb_pagination/_pagination.tsx +0 -4
  109. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_default_rails.md +1 -3
  110. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_default_react.md +1 -3
  111. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +17 -30
  112. data/app/pb_kits/playbook/pb_phone_number_input/docs/example.yml +0 -2
  113. data/app/pb_kits/playbook/pb_phone_number_input/docs/index.js +0 -1
  114. data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.rb +0 -3
  115. data/app/pb_kits/playbook/pb_select/select.rb +2 -4
  116. data/app/pb_kits/playbook/pb_table/docs/_table_with_selectable_rows.html.erb +0 -1
  117. data/app/pb_kits/playbook/pb_title/docs/_title_truncate.jsx +3 -3
  118. data/app/pb_kits/playbook/pb_tooltip/docs/example.yml +0 -1
  119. data/app/pb_kits/playbook/pb_tooltip/index.js +36 -59
  120. data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +2 -9
  121. data/app/pb_kits/playbook/pb_walkthrough/_walkthrough.scss +0 -0
  122. data/app/pb_kits/playbook/pb_walkthrough/_walkthrough.tsx +202 -0
  123. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_continuous.jsx +69 -0
  124. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_default.jsx +71 -0
  125. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_multi_beacon.jsx +110 -0
  126. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_no_beacon.jsx +76 -0
  127. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_no_overlay.jsx +76 -0
  128. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_styled.jsx +76 -0
  129. data/app/pb_kits/playbook/pb_walkthrough/docs/example.yml +10 -0
  130. data/app/pb_kits/playbook/pb_walkthrough/docs/index.js +6 -0
  131. data/app/pb_kits/playbook/pb_walkthrough/walkthrough.test.jsx +34 -0
  132. data/dist/chunks/_typeahead-B7FRYVtS.js +22 -0
  133. data/dist/chunks/_weekday_stacked-BNSy7Mo2.js +45 -0
  134. data/dist/chunks/lib-Carqm8Ip.js +29 -0
  135. data/dist/chunks/{pb_form_validation-D3b0JKHH.js → pb_form_validation-DqRmTS8m.js} +1 -1
  136. data/dist/chunks/vendor.js +1 -1
  137. data/dist/menu.yml +15 -68
  138. data/dist/playbook-doc.js +2 -2
  139. data/dist/playbook-rails-react-bindings.js +1 -1
  140. data/dist/playbook-rails.js +1 -1
  141. data/dist/playbook.css +1 -1
  142. data/lib/playbook/version.rb +2 -2
  143. metadata +35 -49
  144. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_custom_sort.jsx +0 -65
  145. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_custom_sort.md +0 -5
  146. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling.html.erb +0 -46
  147. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling_rails.md +0 -7
  148. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_per_column.jsx +0 -55
  149. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_per_column.md +0 -6
  150. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_per_column_for_multi_column.jsx +0 -80
  151. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_per_column_for_multi_column.md +0 -1
  152. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header.jsx +0 -69
  153. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header.md +0 -1
  154. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_multi_header.jsx +0 -107
  155. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_multi_header.md +0 -1
  156. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_rails.html.erb +0 -51
  157. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_rails.md +0 -1
  158. data/app/pb_kits/playbook/pb_bar_graph/barGraphTheme.ts +0 -106
  159. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.md +0 -3
  160. data/app/pb_kits/playbook/pb_body/docs/_body_truncate_react.md +0 -4
  161. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors_react.md +0 -2
  162. data/app/pb_kits/playbook/pb_circle_chart/docs/_description.md +0 -1
  163. data/app/pb_kits/playbook/pb_dropdown/_dropdown_mixin.scss +0 -36
  164. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_active_style_options.jsx +0 -90
  165. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_active_style_options_react.md +0 -4
  166. data/app/pb_kits/playbook/pb_gauge/docs/_description.md +0 -1
  167. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors_react.md +0 -2
  168. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex_react.md +0 -1
  169. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units_react.md +0 -1
  170. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors_react.md +0 -3
  171. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.md +0 -3
  172. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.html.erb +0 -10
  173. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.jsx +0 -26
  174. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.md +0 -3
  175. data/app/pb_kits/playbook/pb_title/docs/_title_truncate_react.md +0 -4
  176. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_click_open.html.erb +0 -14
  177. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_click_open_rails.md +0 -1
  178. data/dist/chunks/_line_graph-BNbgv7cZ.js +0 -1
  179. data/dist/chunks/_typeahead-BjxzQL_-.js +0 -6
  180. data/dist/chunks/_weekday_stacked-DA1-B51Z.js +0 -37
  181. data/dist/chunks/lib-CY5ZPzic.js +0 -29
  182. /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_row_styling_react.md → _advanced_table_row_styling.md} +0 -0
  183. /data/app/pb_kits/playbook/pb_body/docs/{_body_truncate_rails.md → _body_truncate.md} +0 -0
  184. /data/app/pb_kits/playbook/pb_gauge/docs/{_gauge_colors_rails.md → _gauge_colors.md} +0 -0
  185. /data/app/pb_kits/playbook/pb_gauge/docs/{_gauge_complex_rails.md → _gauge_complex.md} +0 -0
  186. /data/app/pb_kits/playbook/pb_line_graph/docs/{_line_graph_colors_rails.md → _line_graph_colors.md} +0 -0
  187. /data/app/pb_kits/playbook/pb_title/docs/{_title_truncate_rails.md → _title_truncate.md} +0 -0
  188. /data/app/pb_kits/playbook/pb_tooltip/docs/{_tooltip_click_open_react.md → _tooltip_click_open.md} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 124f739909c5e2fe0067d014f5ed9eca1c7281b2f77c4c0a933a83f2f42c05a7
4
- data.tar.gz: d19e993110eb2d39b129009c3b9fa6bf71d08b7a5199e4ac8254bacfce845d07
3
+ metadata.gz: 06a5151f2506f00ce8b3b6fde205e30e2ce7c3757880be36f71771df2ed45de7
4
+ data.tar.gz: 3978b2a37843efd4325d39a02e868534252a1c5e5c255b10210525724d1d38bd
5
5
  SHA512:
6
- metadata.gz: fa1601b98d111df7c8ca951d41b852cad90210e7400262108da809b6eead49ef35f0c0df1ad939d708cd3e2e3dea3d0438844bf7e784ad6bc18781e61d3597c7
7
- data.tar.gz: 46bb6228b7fd93d317fb3311f1715f85c1f724195c090e2b679c398504f57add3b2302bef682dc56a2e0d1417b89137d4210d4f1e2332ac9e391b7a368861e66
6
+ metadata.gz: c20beee96d95e76212aab4bea50bfd3d7cd9a4544eca713b17873362ada80a8076a02180b8dc90f8593ab9e639d3c04bc7db81259da34d09ac48919440e1e3ae
7
+ data.tar.gz: bc7fd4e83d537f8a162039cd3f2c748d3463cc7698099ef44b5d1c41713f378ab5b481000ec2aa5751f5d3fb7adaaffb34fce379bb11b726dca30086f85b9dec
@@ -107,6 +107,7 @@
107
107
  @import 'pb_typeahead/typeahead';
108
108
  @import 'pb_user/user';
109
109
  @import 'pb_user_badge/user_badge';
110
+ @import 'pb_walkthrough/walkthrough';
110
111
  @import 'pb_weekday_stacked/weekday_stacked';
111
112
  @import 'pb_empty_state/empty_state';
112
113
  @import 'utilities/mixins';
@@ -20,7 +20,7 @@ interface CustomCellProps {
20
20
  customRenderer?: (row: Row<GenericObject>, value: string | undefined) => React.ReactNode
21
21
  selectableRows?: boolean
22
22
  customStyle?: GenericObject
23
- }
23
+ }
24
24
 
25
25
  export const CustomCell = ({
26
26
  getValue,
@@ -35,7 +35,7 @@ export const CustomCell = ({
35
35
 
36
36
  const handleOnExpand = (row: Row<GenericObject>) => {
37
37
  onRowToggleClick && onRowToggleClick(row);
38
-
38
+
39
39
  if (!expandedControl) {
40
40
  setExpanded({ ...expanded, [row.id]: !row.getIsExpanded() });
41
41
  }
@@ -46,8 +46,8 @@ export const CustomCell = ({
46
46
 
47
47
  return (
48
48
  <div style={{ paddingLeft: `${row.depth * 1.25}em`}}>
49
- <Flex
50
- alignItems="center"
49
+ <Flex
50
+ alignItems="center"
51
51
  columnGap="xs"
52
52
  justify="start"
53
53
  orientation="row"
@@ -71,12 +71,11 @@ export const CustomCell = ({
71
71
  >
72
72
  {row.getIsExpanded() ? (
73
73
  <Icon cursor="pointer"
74
- icon="circle-play"
75
- rotation={90}
74
+ icon="circle-play-down"
76
75
  />
77
76
  ) : (
78
77
  <Icon cursor="pointer"
79
- icon="circle-play"
78
+ icon="circle-play"
80
79
  />
81
80
  )}
82
81
  </button>
@@ -4,48 +4,49 @@ import { Header } from "@tanstack/react-table"
4
4
  import { GenericObject } from "../../types"
5
5
 
6
6
  import Icon from "../../pb_icon/_icon"
7
+ import { getAllIcons } from "../../utilities/icons/allicons"
7
8
 
8
9
  import { displayIcon } from "../Utilities/IconHelpers"
9
10
 
10
11
  type SortIconButtonProps = {
11
12
  header: Header<GenericObject, unknown>
12
13
  sortIcon?: string | string[]
13
- enableSortingRemoval?: boolean
14
14
  }
15
15
 
16
- export const SortIconButton = ({ header, sortIcon, enableSortingRemoval }: SortIconButtonProps) => {
17
- const firstIcon = displayIcon(sortIcon)[0]
18
- const secondIcon = displayIcon(sortIcon)[1]
16
+ export const SortIconButton = ({ header, sortIcon }: SortIconButtonProps) => {
17
+
18
+ const firstIcon = displayIcon(sortIcon)[0]
19
+ const secondIcon = displayIcon(sortIcon)[1]
20
+ const upIcon = getAllIcons()["arrowUpShortWide"].icon as unknown as { [key: string]: SVGElement }
21
+ const downIcon = getAllIcons()["arrowDownShortWide"].icon as unknown as { [key: string]: SVGElement }
19
22
 
20
23
  return (
21
24
  <>
22
- {header.column.getIsSorted() === "desc" && (
23
- <div
24
- className="sort-button-icon"
25
+ {header.column.getIsSorted() === "desc" ? (
26
+ <div className="sort-button-icon"
25
27
  key={firstIcon}
26
- style={{ paddingLeft: `${header?.index === 0 ? "2px" : "4px"}` }}
27
28
  >
29
+ { firstIcon === "arrow-up-short-wide" ? (
30
+ <Icon
31
+ className="svg-inline--fa"
32
+ customIcon={upIcon}
33
+ /> ) : (
28
34
  <Icon icon={firstIcon} />
35
+ )}
29
36
  </div>
30
- )}
31
- {header.column.getIsSorted() === "asc" && (
32
- <div
33
- className="sort-button-icon"
37
+ ) : (
38
+ <div className="sort-button-icon"
34
39
  key={secondIcon}
35
- style={{ paddingLeft: `${header?.index === 0 ? "2px" : "4px"}` }}
36
40
  >
41
+ { secondIcon === "arrow-down-short-wide" ? (
42
+ <Icon
43
+ className="svg-inline--fa"
44
+ customIcon={downIcon}
45
+ /> ) : (
37
46
  <Icon icon={secondIcon} />
38
- </div>
39
- )}
40
- {header.column.getIsSorted() === false && (
41
- <div
42
- className="sort-button-icon"
43
- key={enableSortingRemoval ? "arrow-up-arrow-down" : secondIcon}
44
- style={{ paddingLeft: `${header?.index === 0 ? "2px" : "4px"}` }}
45
- >
46
- <Icon icon={enableSortingRemoval ? "arrow-up-arrow-down" : secondIcon} />
47
+ )}
47
48
  </div>
48
49
  )}
49
50
  </>
50
- );
51
- };
51
+ )
52
+ }
@@ -7,7 +7,6 @@ import { GlobalProps } from "../../utilities/globalProps"
7
7
 
8
8
  import Flex from "../../pb_flex/_flex"
9
9
  import Caption from "../../pb_caption/_caption"
10
- import Icon from "../../pb_icon/_icon"
11
10
 
12
11
  import { ToggleIconButton } from "./ToggleIconButton"
13
12
  import { renderCollapsibleTrail } from "./CollapsibleTrail"
@@ -33,19 +32,17 @@ export const SubRowHeaderRow = ({
33
32
  subRowHeaders,
34
33
  table,
35
34
  }: SubRowHeaderRowProps & GlobalProps) => {
36
- const { inlineRowLoading, customSort, onCustomSortClick } = useContext(AdvancedTableContext)
35
+ const { inlineRowLoading } = useContext(AdvancedTableContext)
37
36
 
38
37
  const numberOfColumns = table.getAllFlatColumns().length
39
38
  const rowHasChildren = row.original.children ? true : false
40
39
  const canExpand = inlineRowLoading ? rowHasChildren : row.getCanExpand()
41
- const hasSubrowsToSort = row.getParentRow()?.subRows
42
-
43
40
 
44
41
  return (
45
42
  <tr className="custom-row bg-silver">
46
43
  <td
47
44
  className={`custom-row-first-column ${
48
- isChrome() ? "chrome-styles" : ""
45
+ isChrome() ? "chrome-styles" : ""
49
46
  }`}
50
47
  colSpan={1}
51
48
  >
@@ -53,39 +50,21 @@ export const SubRowHeaderRow = ({
53
50
  <div style={{ paddingLeft: `${row.depth * 1.25}em` }}>
54
51
  <Flex align="center"
55
52
  columnGap="xs"
56
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
57
- //@ts-ignore
58
- justifyContent={customSort && hasSubrowsToSort && hasSubrowsToSort.length > 1 ? "between" : undefined}
59
53
  >
60
- <Flex columnGap="xs">
61
- {enableToggleExpansion === "all" && canExpand ? (
62
- <ToggleIconButton onClick={onClick}
63
- row={row}
64
- />
65
- ) : null}
66
- <Caption
67
- marginLeft={canExpand ? "none" : "xs"}
68
- text={subRowHeaders[row.depth - 1]}
54
+ {enableToggleExpansion === "all" && canExpand ? (
55
+ <ToggleIconButton onClick={onClick}
56
+ row={row}
69
57
  />
70
- </Flex>
71
- {customSort && hasSubrowsToSort && hasSubrowsToSort.length > 1 && (
72
- <button
73
- aria-label="Sort this group"
74
- className="sort-button-icon gray-icon"
75
- onClick={() => { onCustomSortClick && onCustomSortClick(row.getParentRow()?.subRows)}}
76
- >
77
- <Icon
78
- cursor="pointer"
79
- fixedWidth
80
- icon="sort"
81
- />
82
- </button>
83
- )}
58
+ ) : null}
59
+ <Caption
60
+ marginLeft={canExpand ? "none" : "xs"}
61
+ text={subRowHeaders[row.depth - 1]}
62
+ />
84
63
  </Flex>
85
64
  </div>
86
65
  </td>
87
66
 
88
67
  <td colSpan={numberOfColumns - 1} />
89
68
  </tr>
90
- );
69
+ )
91
70
  }
@@ -112,7 +112,7 @@ const TableActionBar: React.FC<TableActionBarProps> = ({
112
112
  paddingBottom="xs"
113
113
  text={node.label}
114
114
  />
115
- <Flex flexDirection="column"
115
+ <Flex flexDirection="column"
116
116
  paddingLeft="lg"
117
117
  >
118
118
  {node?.children?.map((child) =>
@@ -141,8 +141,8 @@ const TableActionBar: React.FC<TableActionBarProps> = ({
141
141
  setShowPopover(!shouldClose)
142
142
 
143
143
  const popoverReference = (
144
- <Tooltip
145
- placement="top"
144
+ <Tooltip
145
+ placement="top"
146
146
  text="Column Configuration"
147
147
  >
148
148
  <div onClick={togglePopover}>
@@ -170,8 +170,8 @@ const TableActionBar: React.FC<TableActionBarProps> = ({
170
170
  >
171
171
  {type === "row-selection" ? (
172
172
  <>
173
- <Caption color="light"
174
- paddingLeft="xs"
173
+ <Caption color="light"
174
+ paddingLeft="xs"
175
175
  size="xs"
176
176
  >
177
177
  {selectedCount} Selected
@@ -188,15 +188,15 @@ const TableActionBar: React.FC<TableActionBarProps> = ({
188
188
  zIndex={3}
189
189
  >
190
190
  <>
191
- <Caption
192
- paddingY="sm"
191
+ <Caption
192
+ paddingY="sm"
193
193
  text="Columns Config"
194
- textAlign="center"
194
+ textAlign="center"
195
195
  />
196
196
  <SectionSeparator paddingBottom="xs" />
197
197
  {tree.map((node: VisibilityNode) => (
198
- <Flex cursor="pointer"
199
- flexDirection="column"
198
+ <Flex cursor="pointer"
199
+ flexDirection="column"
200
200
  key={node.id}
201
201
  paddingX="xs"
202
202
  >
@@ -50,7 +50,6 @@ export const TableHeaderCell = ({
50
50
  expanded,
51
51
  setExpanded,
52
52
  expandByDepth,
53
- enableSortingRemoval,
54
53
  onExpandByDepthClick,
55
54
  toggleExpansionIcon,
56
55
  sortControl,
@@ -65,7 +64,6 @@ export const TableHeaderCell = ({
65
64
 
66
65
  type justifyTypes = "none" | "center" | "start" | "end" | "between" | "around" | "evenly"
67
66
 
68
-
69
67
  const toggleSortButton = (event: React.SyntheticEvent) => {
70
68
  if (sortControl) {
71
69
  const sortIsDesc = header?.column.getIsSorted() === "desc"
@@ -103,6 +101,7 @@ export const TableHeaderCell = ({
103
101
  if (!header) return false;
104
102
 
105
103
  if (header.colSpan > 1 && header.column.parent !== undefined) return true;
104
+
106
105
  const parent = header.column.parent;
107
106
 
108
107
  if (!parent) {
@@ -112,8 +111,7 @@ export const TableHeaderCell = ({
112
111
  const visibleSiblings = parent.columns.filter(columnHasVisibleLeaf);
113
112
  return visibleSiblings.at(-1) === header.column;
114
113
  })();
115
-
116
-
114
+
117
115
  const cellClassName = classnames(
118
116
  "table-header-cells",
119
117
  `${showActionsBar && isActionBarVisible && "header-cells-with-actions"}`,
@@ -259,9 +257,12 @@ const isToggleExpansionEnabled =
259
257
  )}
260
258
 
261
259
  <Flex
262
- className={`${header?.index === 0 && enableSorting && "header-sort-button pb_th_link"} ${header?.index !== 0 && header?.column.getCanSort() && "header-sort-secondary-columns"}`}
263
- cursor={((header?.index !== 0 && header?.column.getCanSort()) || (header?.index === 0 && enableSorting) ? "pointer" : "default")}
264
- {...(((header?.index !== 0 && header?.column.getCanSort()) || (header?.index === 0 && enableSorting)) && {
260
+ className={`${header?.index === 0 &&
261
+ enableSorting &&
262
+ "header-sort-button pb_th_link"}`}
263
+ cursor={header?.index === 0 && enableSorting ? "pointer" : "default"}
264
+ {...(header?.index === 0 &&
265
+ enableSorting && {
265
266
  htmlOptions: {
266
267
  onClick: (event: React.MouseEvent) => toggleSortButton(event),
267
268
  onKeyDown: (event: React.KeyboardEvent) => {
@@ -279,13 +280,13 @@ const isToggleExpansionEnabled =
279
280
  {flexRender(header?.column.columnDef.header, header?.getContext())}
280
281
  </div>
281
282
 
282
- {((header?.index !== 0 && header?.column.getCanSort()) || (header?.index === 0 && enableSorting)) &&
283
+ {header?.index === 0 &&
284
+ header.column.getCanSort() &&
285
+ enableSorting &&
283
286
  (loading ? (
284
287
  <div className="loading-toggle-icon" />
285
288
  ) : (
286
- <SortIconButton
287
- enableSortingRemoval={enableSortingRemoval}
288
- header={header}
289
+ <SortIconButton header={header}
289
290
  sortIcon={sortIcon}
290
291
  />
291
292
  ))}
@@ -16,10 +16,8 @@ import { createCellFunction } from "../Utilities/CellRendererUtils";
16
16
  interface UseTableStateProps {
17
17
  tableData: GenericObject[];
18
18
  columnDefinitions: GenericObject[];
19
- enableSortingRemoval?: boolean;
20
19
  expandedControl?: GenericObject;
21
20
  sortControl?: GenericObject;
22
- firstColumnSort?: boolean;
23
21
  onRowToggleClick?: (arg: Row<GenericObject>) => void;
24
22
  selectableRows?: boolean;
25
23
  initialLoadingRowsCount?: number;
@@ -40,7 +38,6 @@ interface UseTableStateProps {
40
38
  export function useTableState({
41
39
  tableData,
42
40
  columnDefinitions,
43
- enableSortingRemoval,
44
41
  expandedControl,
45
42
  sortControl,
46
43
  onRowToggleClick,
@@ -86,19 +83,19 @@ export function useTableState({
86
83
  const buildColumns = useCallback((columnDefinitions: GenericObject[], isRoot = true): any[] => {
87
84
  return columnDefinitions?.map((column, index) => {
88
85
  const isFirstColumn = isRoot && index === 0;
86
+
89
87
  // Handle grouped columns
90
88
  if (column.columns && column.columns.length > 0) {
91
89
  return {
92
- header: column.header ?? column.label ?? "",
93
- id: column.id ?? column.label ?? `group-${index}`,
90
+ header: column.label || "",
94
91
  columns: buildColumns(column.columns, false),
95
92
  };
96
93
  }
94
+
97
95
  // Define the base column structure
98
96
  const columnStructure = {
99
97
  ...columnHelper.accessor(column.accessor, {
100
- header: column.header ?? column.label ?? "",
101
- enableSorting: isFirstColumn || column.enableSort === true,
98
+ header: column.label || "",
102
99
  }),
103
100
  };
104
101
 
@@ -169,7 +166,7 @@ export function useTableState({
169
166
  getCoreRowModel: getCoreRowModel(),
170
167
  getExpandedRowModel: getExpandedRowModel(),
171
168
  getSortedRowModel: getSortedRowModel(),
172
- enableSortingRemoval: enableSortingRemoval,
169
+ enableSortingRemoval: false,
173
170
  sortDescFirst: true,
174
171
  onRowSelectionChange: setRowSelection,
175
172
  onRowPinningChange,
@@ -28,7 +28,7 @@ export const TableHeader = ({
28
28
  dark = false,
29
29
  enableSorting = false,
30
30
  id,
31
- sortIcon = ["arrow-up-wide-short", "arrow-down-short-wide"],
31
+ sortIcon = ["arrow-up-short-wide", "arrow-down-short-wide"],
32
32
  ...props
33
33
  }: TableHeaderProps) => {
34
34
  const {
@@ -124,65 +124,13 @@
124
124
  -ms-overflow-style: none !important;
125
125
  scrollbar-width: none !important;
126
126
  }
127
-
128
- // When action bar is hidden, ensure proper border radius for header corners
129
- &.hidden-action-bar {
130
- .pb_advanced_table_header {
131
- > tr:first-child {
132
- th:first-child {
133
- border-top-left-radius: 4px !important;
134
- }
135
- th:last-child {
136
- border-top-right-radius: 4px !important;
137
- }
138
- }
139
- }
140
-
141
- // Also handle the case when there are multiple header rows
142
- .pb_advanced_table_header {
143
- > tr:first-child {
144
- th:first-child,
145
- .table-header-cells:first-child,
146
- .table-header-cells-custom:first-child {
147
- border-top-left-radius: 4px !important;
148
- }
149
- th:last-child,
150
- .table-header-cells:last-child,
151
- .table-header-cells-custom:last-child {
152
- border-top-right-radius: 4px !important;
153
- }
154
- }
155
- }
156
- }
157
-
158
- // When action bar is shown, remove border radius from header
159
- .row-selection-actions-card.is-visible ~ * .pb_advanced_table_header,
160
- .row-selection-actions-card.show-action-card ~ * .pb_advanced_table_header {
161
- > tr:first-child {
162
- th:first-child,
163
- th:last-child,
164
- .table-header-cells:first-child,
165
- .table-header-cells:last-child,
166
- .table-header-cells-custom:first-child,
167
- .table-header-cells-custom:last-child {
168
- border-top-left-radius: 0 !important;
169
- border-top-right-radius: 0 !important;
170
- }
171
- }
172
- }
173
-
127
+
174
128
 
175
129
  .row-selection-actions-card {
176
130
  border-bottom-right-radius: 0px !important;
177
131
  border-bottom-left-radius: 0px !important;
178
132
  border-bottom-color: transparent;
179
133
  transition: height 300ms ease;
180
-
181
- &.is-visible,
182
- &.show-action-card {
183
- border-top-left-radius: 4px !important;
184
- border-top-right-radius: 4px !important;
185
- }
186
134
  }
187
135
  .table-header-cells:first-child {
188
136
  min-width: 180px;
@@ -241,11 +189,6 @@
241
189
  box-sizing: border-box !important;
242
190
  }
243
191
  }
244
- // Fixes for tooltip picking up th styling from Table kit
245
- .pb_tooltip_kit {
246
- font-weight: unset;
247
- text-transform: unset;
248
- }
249
192
  }
250
193
 
251
194
  .pb_advanced_table_body {
@@ -422,15 +365,6 @@
422
365
  padding: 2px;
423
366
  }
424
367
 
425
- .header-sort-secondary-columns {
426
- color: $primary !important;
427
-
428
- &:hover {
429
- background-color: rgba($primary, 0.03);
430
- border-radius: $border_radius_md;
431
- }
432
- }
433
-
434
368
  .toggle-all-icon {
435
369
  @extend .button-icon;
436
370
  @extend %primary-color-pseudo;
@@ -36,11 +36,9 @@ type AdvancedTableProps = {
36
36
  columnDefinitions: GenericObject[]
37
37
  columnGroupBorderColor?: "text_lt_default" | "text_lt_light" | "text_lt_lighter" | "text_dk_default" | "text_dk_light" | "text_dk_lighter"
38
38
  columnVisibilityControl?: GenericObject
39
- customSort?:boolean;
40
39
  dark?: boolean
41
40
  data?: { [key: string]: string }
42
41
  enableToggleExpansion?: "all" | "header" | "none"
43
- enableSortingRemoval?: boolean
44
42
  expandedControl?: GenericObject
45
43
  expandByDepth?: { [key: string]: string | number }
46
44
  onExpandByDepthClick?: (arg: number, arg1: any) => void
@@ -69,7 +67,6 @@ type AdvancedTableProps = {
69
67
  tableProps?: GenericObject
70
68
  toggleExpansionIcon?: string | string[]
71
69
  onRowSelectionChange?: (arg: RowSelectionState) => void
72
- onCustomSortClick?: (arg: GenericObject[]) => void
73
70
  virtualizedRows?: boolean
74
71
  allowFullScreen?: boolean
75
72
  fullScreenControl?: (controls: FullscreenControls) => void
@@ -84,11 +81,9 @@ const AdvancedTable = (props: AdvancedTableProps) => {
84
81
  columnDefinitions,
85
82
  columnGroupBorderColor,
86
83
  columnVisibilityControl,
87
- customSort,
88
84
  dark = false,
89
85
  data = {},
90
86
  enableToggleExpansion = "header",
91
- enableSortingRemoval = false,
92
87
  expandedControl,
93
88
  expandByDepth,
94
89
  onExpandByDepthClick,
@@ -100,7 +95,6 @@ const AdvancedTable = (props: AdvancedTableProps) => {
100
95
  maxHeight,
101
96
  onRowToggleClick,
102
97
  onToggleExpansionClick,
103
- onCustomSortClick,
104
98
  pagination = false,
105
99
  paginationProps,
106
100
  pinnedRows,
@@ -124,6 +118,7 @@ const AdvancedTable = (props: AdvancedTableProps) => {
124
118
  // Component refs
125
119
  const tableWrapperRef = useRef<HTMLDivElement>(null);
126
120
 
121
+ // Initialize table state
127
122
  const {
128
123
  table,
129
124
  expanded,
@@ -138,7 +133,6 @@ const AdvancedTable = (props: AdvancedTableProps) => {
138
133
  } = useTableState({
139
134
  tableData,
140
135
  columnDefinitions,
141
- enableSortingRemoval,
142
136
  expandedControl,
143
137
  sortControl,
144
138
  onRowToggleClick,
@@ -220,10 +214,10 @@ const AdvancedTable = (props: AdvancedTableProps) => {
220
214
  )
221
215
 
222
216
  return (
223
- <Card
217
+ <Card
224
218
  borderNone
225
219
  borderRadius="none"
226
- className="advanced-table-fullscreen-header"
220
+ className="advanced-table-fullscreen-header"
227
221
  {...props}
228
222
  >
229
223
  <Flex justify="end">
@@ -252,10 +246,6 @@ const AdvancedTable = (props: AdvancedTableProps) => {
252
246
  const ariaProps = buildAriaProps(aria);
253
247
  const dataProps = buildDataProps(data);
254
248
  const htmlProps = buildHtmlProps(htmlOptions);
255
-
256
- // Visibility flag for action bar
257
- const isActionBarVisible = (selectableRows && showActionsBar && selectedRowsLength > 0) || columnVisibilityControl;
258
-
259
249
  const classes = classnames(
260
250
  buildCss("pb_advanced_table"),
261
251
  `advanced-table-responsive-${responsive}`,
@@ -263,8 +253,6 @@ const AdvancedTable = (props: AdvancedTableProps) => {
263
253
  {
264
254
  'advanced-table-fullscreen': isFullscreen,
265
255
  'advanced-table-allow-fullscreen': allowFullScreen,
266
- // Add the hidden-action-bar class when action bar functionality exists but is not visible
267
- 'hidden-action-bar': (selectableRows || columnVisibilityControl) && !isActionBarVisible,
268
256
  },
269
257
  {'advanced-table-sticky-left-columns': stickyLeftColumn && stickyLeftColumn.length > 0},
270
258
  columnGroupBorderColor ? `column-group-border-${columnGroupBorderColor}` : '',
@@ -278,6 +266,9 @@ const AdvancedTable = (props: AdvancedTableProps) => {
278
266
  ? getVirtualizedContainerStyles(maxHeight)
279
267
  : {};
280
268
 
269
+ // Visibility flag for action bar
270
+ const isActionBarVisible = (selectableRows && showActionsBar && selectedRowsLength > 0) || columnVisibilityControl;
271
+
281
272
  // The actual Main <Table /> element
282
273
  const tableElement = (
283
274
  <Table
@@ -293,7 +284,7 @@ const AdvancedTable = (props: AdvancedTableProps) => {
293
284
  ) : (
294
285
  <>
295
286
  <TableHeader />
296
- <TableBody
287
+ <TableBody
297
288
  isFetching={isFetching}
298
289
  />
299
290
  </>
@@ -334,8 +325,6 @@ const AdvancedTable = (props: AdvancedTableProps) => {
334
325
  columnDefinitions={columnDefinitions}
335
326
  columnGroupBorderColor={columnGroupBorderColor}
336
327
  columnVisibilityControl={columnVisibilityControl}
337
- customSort={customSort}
338
- enableSortingRemoval={enableSortingRemoval}
339
328
  enableToggleExpansion={enableToggleExpansion}
340
329
  enableVirtualization={virtualizedRows}
341
330
  expandByDepth={expandByDepth}
@@ -347,7 +336,6 @@ const AdvancedTable = (props: AdvancedTableProps) => {
347
336
  isActionBarVisible={isActionBarVisible}
348
337
  isFullscreen={isFullscreen}
349
338
  loading={loading}
350
- onCustomSortClick={onCustomSortClick}
351
339
  onExpandByDepthClick={onExpandByDepthClick}
352
340
  pinnedRows={pinnedRows}
353
341
  responsive={responsive}
@@ -12,7 +12,7 @@
12
12
  <% content.presence %>
13
13
  <% else %>
14
14
  <%= pb_rails("advanced_table/table_header", props: { 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 }) %>
15
- <%= pb_rails("advanced_table/table_body", props: { 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 }) %>
15
+ <%= pb_rails("advanced_table/table_body", props: { 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 }) %>
16
16
  <% end %>
17
17
  <% end %>
18
18
  <% end %>
@@ -31,16 +31,9 @@ module Playbook
31
31
  default: []
32
32
  prop :scroll_bar_none, type: Playbook::Props::Boolean,
33
33
  default: false
34
- prop :row_styling, type: Playbook::Props::Array,
35
- default: []
36
34
 
37
35
  def classname
38
- additional_classes = [
39
- responsive_classname,
40
- max_height_classname,
41
- hide_scroll_bar_class,
42
- hidden_action_bar_class,
43
- ]
36
+ additional_classes = [responsive_classname, max_height_classname, hide_scroll_bar_class]
44
37
  additional_classes << "column-group-border-#{column_group_border_color}" if column_group_border_color != "none"
45
38
  generate_classname("pb_advanced_table", *additional_classes, separator: " ")
46
39
  end
@@ -54,12 +47,7 @@ module Playbook
54
47
  end
55
48
 
56
49
  def hide_scroll_bar_class
57
- scroll_bar_none ? "advanced-table-hide-scrollbar" : ""
58
- end
59
-
60
- def hidden_action_bar_class
61
- # Add hidden-action-bar class when action bar functionality is enabled but not currently visible
62
- selectable_rows && !is_action_bar_visible ? "hidden-action-bar" : ""
50
+ scroll_bar_none ? "advanced-table-hide-scrollbar " : ""
63
51
  end
64
52
 
65
53
  def selected_rows