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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e302ceb0860d9a0dd010d22c212858cff56a067c2c6ccc4b8f7ec9f8c16b378e
4
- data.tar.gz: b34866ab289b9eb9ec6d145354b156bf033179258d85d50b3ad8363c1bc4b037
3
+ metadata.gz: 2851c07d23768f59137cd7cb0ba34884e25960c1bc8700573a62c3aaa1004f83
4
+ data.tar.gz: 74e6d86e0807f31e01ece7b7f3d620cea86367dfee7150493273543fb1ed682d
5
5
  SHA512:
6
- metadata.gz: 32a0f7ba69fbbff0b5e2a5443ddf424800c073c4038a587665b7ec5164823fe11b700e043d099493bf81b4e0daad8f17c2540fc9eefd9d4e63bd2ead10a0f21a
7
- data.tar.gz: 858970d601259150588c859de166393421522eb26896277f4f7af7c7703b142fb6eeab927368057187980043ad23c8f625386a0de10265a7ceb702c6e3d88429
6
+ metadata.gz: a38283f21f3c2b2f2bb7132f27f6cf8fc161cd9f1fd3476f4521df857859c15960bd1e5b82857839d214b8c531adcf0082834eb6daf6a0fbc3df1ffb93b26d08
7
+ data.tar.gz: 3e9aff80d60e0f20a4ce59810a631d167798f0abe3a3d54962b0ba66c9d9267dfc1bbcddbb3d9b6a03c66d3467cf1c6f0be574254344773b04b47359fc90a564
@@ -63,11 +63,10 @@ const TableCellRenderer = ({
63
63
 
64
64
  const { column } = cell;
65
65
 
66
- // Find the "owning" colDefinition by accessor. Needed for multi column logic
66
+ // Find the owning colDefinition by accessor. Needed for multi column logic
67
67
  const colDef = findColumnDefByAccessor(columnDefinitions ?? [], column.id)
68
68
  const cellAlignment = colDef?.columnStyling?.cellAlignment ?? "right"
69
69
  const cellFontColor = colDef?.columnStyling?.fontColor
70
- const cellBackgroundColor = colDef?.columnStyling?.cellBackgroundColor
71
70
  const paddingValue = colDef?.columnStyling?.cellPadding ?? customRowStyle?.cellPadding
72
71
  const paddingClass = paddingValue ? `p_${paddingValue}` : undefined
73
72
 
@@ -89,7 +88,7 @@ const TableCellRenderer = ({
89
88
  ? '180px'
90
89
  : `${column.getStart("left")}px`
91
90
  : undefined,
92
- backgroundColor: cellBackgroundColor || (i === 0 && customRowStyle?.backgroundColor),
91
+ backgroundColor: i === 0 && customRowStyle?.backgroundColor,
93
92
  color: cellFontColor || customRowStyle?.fontColor,
94
93
  }}
95
94
  >
@@ -90,8 +90,6 @@ export const TableHeaderCell = ({
90
90
  : undefined
91
91
 
92
92
  const headerAlignment = colDef?.columnStyling?.headerAlignment ?? colDef?.columnStyling?.headerAligment
93
- const headerBackgroundColor = colDef?.columnStyling?.headerBackgroundColor
94
- const headerFontColor = colDef?.columnStyling?.headerFontColor
95
93
 
96
94
  const isLeafColumn =
97
95
  header?.column.getLeafColumns().length === 1 &&
@@ -196,8 +194,6 @@ const isToggleExpansionEnabled =
196
194
  id={cellId}
197
195
  key={`${header?.id}-header`}
198
196
  style={{
199
- backgroundColor: headerBackgroundColor,
200
- color: headerFontColor,
201
197
  left: isPinnedLeft
202
198
  ? header?.index === 1 //Accounting for set min-width for first column
203
199
  ? '180px'
@@ -888,98 +888,3 @@ test("Sort icon renders with enableSort on individual columns", () => {
888
888
  expect(sortButton).toBeInTheDocument();
889
889
  });
890
890
 
891
- test("columnStyling.backgroundColor works as excpected", () => {
892
- const styledColumnDefs = [
893
- {
894
- accessor: "year",
895
- label: "Year",
896
- cellAccessors: ["quarter", "month", "day"],
897
- },
898
- {
899
- accessor: "newEnrollments",
900
- label: "New Enrollments",
901
- columnStyling: {
902
- cellBackgroundColor: colors.error_subtle,
903
- },
904
- },
905
- {
906
- accessor: "scheduledMeetings",
907
- label: "Scheduled Meetings",
908
- },
909
- ];
910
-
911
- render(
912
- <AdvancedTable
913
- columnDefinitions={styledColumnDefs}
914
- data={{ testid: testId }}
915
- tableData={MOCK_DATA}
916
- />
917
- );
918
-
919
- const firstEnrollmentCell = screen.getAllByText("20")[0].closest("td");
920
- expect(firstEnrollmentCell).toHaveStyle({ backgroundColor: colors.error_subtle });
921
- });
922
-
923
- test("columnStyling.headerBackgroundColor works as excpected", () => {
924
- const styledColumnDefs = [
925
- {
926
- accessor: "year",
927
- label: "Year",
928
- cellAccessors: ["quarter", "month", "day"],
929
- },
930
- {
931
- accessor: "newEnrollments",
932
- label: "New Enrollments",
933
- columnStyling: {
934
- headerBackgroundColor: colors.error_subtle,
935
- },
936
- },
937
- {
938
- accessor: "scheduledMeetings",
939
- label: "Scheduled Meetings",
940
- },
941
- ];
942
-
943
- render(
944
- <AdvancedTable
945
- columnDefinitions={styledColumnDefs}
946
- data={{ testid: testId }}
947
- tableData={MOCK_DATA}
948
- />
949
- );
950
-
951
- const firstEnrollmentHeader = screen.getAllByText("New Enrollments")[0].closest("th");
952
- expect(firstEnrollmentHeader).toHaveStyle({ backgroundColor: colors.error_subtle });
953
- });
954
-
955
- test("columnStyling.headerFontColor works as excpected", () => {
956
- const styledColumnDefs = [
957
- {
958
- accessor: "year",
959
- label: "Year",
960
- cellAccessors: ["quarter", "month", "day"],
961
- },
962
- {
963
- accessor: "newEnrollments",
964
- label: "New Enrollments",
965
- columnStyling: {
966
- headerFontColor: colors.white,
967
- },
968
- },
969
- {
970
- accessor: "scheduledMeetings",
971
- label: "Scheduled Meetings",
972
- },
973
- ];
974
-
975
- render(
976
- <AdvancedTable
977
- columnDefinitions={styledColumnDefs}
978
- data={{ testid: testId }}
979
- tableData={MOCK_DATA}
980
- />
981
- );
982
-
983
- const firstEnrollmentHeader = screen.getAllByText("New Enrollments")[0].closest("th");
984
- expect(firstEnrollmentHeader).toHaveStyle({ color: colors.white });
985
- });
@@ -8,26 +8,16 @@
8
8
  accessor: "newEnrollments",
9
9
  label: "New Enrollments",
10
10
  column_styling: {
11
- cell_background_color: "error_subtle",
12
- header_background_color: "error_subtle"
11
+ cell_background_color: ->(row) { row[:newEnrollments].to_i > 20 ? "success_secondary" : "warning_secondary" }
13
12
  }
14
13
  },
15
14
  {
16
15
  accessor: "scheduledMeetings",
17
16
  label: "Scheduled Meetings",
18
- column_styling: {
19
- cell_background_color: "info_subtle",
20
- }
21
17
  },
22
18
  {
23
19
  accessor: "attendanceRate",
24
20
  label: "Attendance Rate",
25
- column_styling: {
26
- cell_background_color: "info",
27
- header_background_color: "info",
28
- header_font_color: "white",
29
- font_color: "white"
30
- }
31
21
  },
32
22
  {
33
23
  accessor: "completedClasses",
@@ -36,6 +26,10 @@
36
26
  {
37
27
  accessor: "classCompletionRate",
38
28
  label: "Class Completion Rate",
29
+ column_styling: {
30
+ cell_background_color: "category_1",
31
+ font_color: "white"
32
+ }
39
33
  },
40
34
  {
41
35
  accessor: "graduatedStudents",
@@ -1,7 +1 @@
1
- `column_styling` can also be used to control the background color on all cells in a given column. Use the following key/values pairs to achieve this:
2
-
3
- 1) `cell_background_color`: use this to control the background color of all cells in the given column
4
- 2) `font_color`: use this to control font color for all cells in the given column if needed, for example if using a darker background color
5
- 3) `header_background_color`: use this to control the background color of the column header
6
- 4) `header_font_color`: use this to control font color for the header in the given column if needed, for example if using a darker background color.
7
-
1
+ `column_styling` can also be used to control the background color on all cells in a given column via the use of the `cell_background_color` key/value pair. Use `cell_background_color` to achieve custom background colors for individual cells as seen here. Use `font_color` to achieve better contrast between cell content and background for darker backgrounds.
@@ -29,5 +29,167 @@
29
29
  label: "Graduated Students",
30
30
  }
31
31
  ] %>
32
+ <%= pb_rails("caption", props: { text: "Advanced Table Vertical Border Table Props" }) %>
33
+ <%= pb_rails("advanced_table", props: { id: "table_props_table", table_data: @table_data, margin_bottom: "md", column_definitions: column_definitions, table_props: { vertical_border: true, container: false }}) %>
32
34
 
33
- <%= pb_rails("advanced_table", props: { id: "table_props_table", table_data: @table_data, column_definitions: column_definitions, table_props: { vertical_border: true, container: false }}) %>
35
+ <% column_definitions_two = [
36
+ {
37
+ accessor: "year",
38
+ label: "Year",
39
+ cellAccessors: ["quarter", "month", "day"],
40
+ },
41
+ {
42
+ label: "Enrollment Data",
43
+ columns: [
44
+ {
45
+ accessor: "newEnrollments",
46
+ label: "New Enrollments",
47
+ },
48
+ {
49
+ accessor: "scheduledMeetings",
50
+ label: "Scheduled Meetings",
51
+ },
52
+ ],
53
+ },
54
+ {
55
+ label: "Performance Data",
56
+ columns: [
57
+ {
58
+ accessor: "attendanceRate",
59
+ label: "Attendance Rate",
60
+ },
61
+ {
62
+ accessor: "completedClasses",
63
+ label: "Completed Classes",
64
+ },
65
+ {
66
+ accessor: "classCompletionRate",
67
+ label: "Class Completion Rate",
68
+ },
69
+ {
70
+ accessor: "graduatedStudents",
71
+ label: "Graduated Students",
72
+ },
73
+ ],
74
+ },
75
+ ] %>
76
+ <%= pb_rails("caption", props: { text: "Advanced Table Vertical Border Multi Header" }) %>
77
+ <%= pb_rails("advanced_table", props: { id: "table_multi_headers_vertical_borders", margin_bottom: "md", table_data: @table_data, column_definitions: column_definitions_two, table_props: { vertical_border: true } }) %>
78
+
79
+ <% column_definitions_three = [
80
+ {
81
+ accessor: "year",
82
+ label: "Year",
83
+ cellAccessors: ["quarter", "month", "day"],
84
+ },
85
+ {
86
+ label: "Enrollment Data",
87
+ columns: [
88
+ {
89
+ label: "Enrollment Stats",
90
+ columns: [
91
+ {
92
+ accessor: "newEnrollments",
93
+ label: "New Enrollments",
94
+ },
95
+ {
96
+ accessor: "scheduledMeetings",
97
+ label: "Scheduled Meetings",
98
+ },
99
+ ],
100
+ },
101
+ ],
102
+ },
103
+ {
104
+ label: "Performance Data",
105
+ columns: [
106
+ {
107
+ label: "Completion Metrics",
108
+ columns: [
109
+ {
110
+ accessor: "completedClasses",
111
+ label: "Completed Classes",
112
+ },
113
+ {
114
+ accessor: "classCompletionRate",
115
+ label: "Class Completion Rate",
116
+ },
117
+ ],
118
+ },
119
+ {
120
+ label: "Attendance",
121
+ columns: [
122
+ {
123
+ accessor: "attendanceRate",
124
+ label: "Attendance Rate",
125
+ },
126
+ {
127
+ accessor: "scheduledMeetings",
128
+ label: "Scheduled Meetings",
129
+ },
130
+ ],
131
+ },
132
+ ],
133
+ },
134
+ ] %>
135
+ <%= pb_rails("caption", props: { text: "Advanced Table Vertical Border Multi Header with Column Group Border Color" }) %>
136
+ <%= pb_rails("advanced_table", props: { id: "beta_table_with_color_headers", margin_bottom: "md", table_data: @table_data, column_definitions: column_definitions_three, column_group_border_color: "text_lt_default", table_props: { vertical_border: true } }) %>
137
+
138
+ <% column_definitions_four = [
139
+ {
140
+ accessor: "year",
141
+ label: "Year",
142
+ cellAccessors: ["quarter", "month", "day"],
143
+ },
144
+ {
145
+ label: "Enrollment Data",
146
+ columns: [
147
+ {
148
+ label: "Enrollment Stats",
149
+ columns: [
150
+ {
151
+ accessor: "newEnrollments",
152
+ label: "New Enrollments",
153
+ },
154
+ {
155
+ accessor: "scheduledMeetings",
156
+ label: "Scheduled Meetings",
157
+ },
158
+ ],
159
+ },
160
+ ],
161
+ },
162
+ {
163
+ label: "Performance Data",
164
+ columns: [
165
+ {
166
+ label: "Completion Metrics",
167
+ columns: [
168
+ {
169
+ accessor: "completedClasses",
170
+ label: "Completed Classes",
171
+ },
172
+ {
173
+ accessor: "classCompletionRate",
174
+ label: "Class Completion Rate",
175
+ },
176
+ ],
177
+ },
178
+ {
179
+ label: "Attendance",
180
+ columns: [
181
+ {
182
+ accessor: "attendanceRate",
183
+ label: "Attendance Rate",
184
+ },
185
+ {
186
+ accessor: "scheduledMeetings",
187
+ label: "Scheduled Meetings",
188
+ },
189
+ ],
190
+ },
191
+ ],
192
+ },
193
+ ] %>
194
+ <%= pb_rails("caption", props: { text: "Advanced Table Vertical Border Multi Header No Vertical Border" }) %>
195
+ <%= pb_rails("advanced_table", props: {id: "beta_table_with_muilti_headers", table_data: @table_data, column_definitions: column_definitions_four }) %>
@@ -1,6 +1,7 @@
1
1
  import React from "react"
2
2
  import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
3
  import MOCK_DATA from "./advanced_table_mock_data.json"
4
+ import Caption from "../../pb_caption/_caption"
4
5
 
5
6
  const AdvancedTableTableProps = (props) => {
6
7
  const columnDefinitions = [
@@ -40,14 +41,203 @@ const AdvancedTableTableProps = (props) => {
40
41
  verticalBorder: true
41
42
  }
42
43
 
44
+ const columnDefinitionsTwo = [
45
+ {
46
+ accessor: "year",
47
+ label: "Year",
48
+ cellAccessors: ["quarter", "month", "day"],
49
+ },
50
+ {
51
+ label: "Enrollment Data",
52
+ columns: [
53
+ {
54
+ accessor: "newEnrollments",
55
+ label: "New Enrollments",
56
+ },
57
+ {
58
+ accessor: "scheduledMeetings",
59
+ label: "Scheduled Meetings",
60
+ },
61
+ ],
62
+ },
63
+ {
64
+ label: "Performance Data",
65
+ columns: [
66
+ {
67
+ accessor: "attendanceRate",
68
+ label: "Attendance Rate",
69
+ },
70
+ {
71
+ accessor: "completedClasses",
72
+ label: "Completed Classes",
73
+ },
74
+ {
75
+ accessor: "classCompletionRate",
76
+ label: "Class Completion Rate",
77
+ },
78
+ {
79
+ accessor: "graduatedStudents",
80
+ label: "Graduated Students",
81
+ },
82
+ ],
83
+ },
84
+ ];
85
+
86
+ const tablePropsTwo = {
87
+ verticalBorder: true,
88
+ }
89
+
90
+ const columnDefinitionsThree = [
91
+ {
92
+ accessor: "year",
93
+ label: "Year",
94
+ cellAccessors: ["quarter", "month", "day"],
95
+ },
96
+ {
97
+ label: "Enrollment Data",
98
+ columns: [
99
+ {
100
+ label: "Enrollment Stats",
101
+ columns: [
102
+ {
103
+ accessor: "newEnrollments",
104
+ label: "New Enrollments",
105
+ },
106
+ {
107
+ accessor: "scheduledMeetings",
108
+ label: "Scheduled Meetings",
109
+ },
110
+ ],
111
+ },
112
+ ],
113
+ },
114
+ {
115
+ label: "Performance Data",
116
+ columns: [
117
+ {
118
+ label: "Completion Metrics",
119
+ columns: [
120
+ {
121
+ accessor: "completedClasses",
122
+ label: "Completed Classes",
123
+ },
124
+ {
125
+ accessor: "classCompletionRate",
126
+ label: "Class Completion Rate",
127
+ },
128
+ ],
129
+ },
130
+ {
131
+ label: "Attendance",
132
+ columns: [
133
+ {
134
+ accessor: "attendanceRate",
135
+ label: "Attendance Rate",
136
+ },
137
+ {
138
+ accessor: "scheduledMeetings",
139
+ label: "Scheduled Meetings",
140
+ },
141
+ ],
142
+ },
143
+ ],
144
+ },
145
+ ];
146
+
147
+ const tablePropsThree = {
148
+ verticalBorder: true
149
+ }
150
+
151
+ const columnDefinitionsFour = [
152
+ {
153
+ accessor: "year",
154
+ label: "Year",
155
+ cellAccessors: ["quarter", "month", "day"],
156
+ },
157
+ {
158
+ label: "Enrollment Data",
159
+ columns: [
160
+ {
161
+ label: "Enrollment Stats",
162
+ columns: [
163
+ {
164
+ accessor: "newEnrollments",
165
+ label: "New Enrollments",
166
+ },
167
+ {
168
+ accessor: "scheduledMeetings",
169
+ label: "Scheduled Meetings",
170
+ },
171
+ ],
172
+ },
173
+ ],
174
+ },
175
+ {
176
+ label: "Performance Data",
177
+ columns: [
178
+ {
179
+ label: "Completion Metrics",
180
+ columns: [
181
+ {
182
+ accessor: "completedClasses",
183
+ label: "Completed Classes",
184
+ },
185
+ {
186
+ accessor: "classCompletionRate",
187
+ label: "Class Completion Rate",
188
+ },
189
+ ],
190
+ },
191
+ {
192
+ label: "Attendance",
193
+ columns: [
194
+ {
195
+ accessor: "attendanceRate",
196
+ label: "Attendance Rate",
197
+ },
198
+ {
199
+ accessor: "scheduledMeetings",
200
+ label: "Scheduled Meetings",
201
+ },
202
+ ],
203
+ },
204
+ ],
205
+ },
206
+ ];
207
+
43
208
  return (
44
209
  <div>
210
+ <Caption text="Advanced Table Vertical Border Table Props" />
45
211
  <AdvancedTable
46
212
  columnDefinitions={columnDefinitions}
213
+ marginBottom="md"
47
214
  tableData={MOCK_DATA}
48
215
  tableProps={tableProps}
49
216
  {...props}
50
217
  />
218
+ <Caption text="Advanced Table Vertical Border Multi Header" />
219
+ <AdvancedTable
220
+ columnDefinitions={columnDefinitionsTwo}
221
+ marginBottom="md"
222
+ tableData={MOCK_DATA}
223
+ tableProps={tablePropsTwo}
224
+ {...props}
225
+ />
226
+ <Caption text="Advanced Table Vertical Border Multi Header with Column Group Border Color" />
227
+ <AdvancedTable
228
+ columnDefinitions={columnDefinitionsThree}
229
+ columnGroupBorderColor="text_lt_default"
230
+ marginBottom="md"
231
+ tableData={MOCK_DATA}
232
+ tableProps={tablePropsThree}
233
+ {...props}
234
+ />
235
+ <Caption text="Advanced Table Vertical Border Multi Header No Vertical Border" />
236
+ <AdvancedTable
237
+ columnDefinitions={columnDefinitionsFour}
238
+ tableData={MOCK_DATA}
239
+ {...props}
240
+ />
51
241
  </div>
52
242
  )
53
243
  }
@@ -26,8 +26,7 @@ examples:
26
26
  - advanced_table_column_styling_rails: Column Styling
27
27
  - advanced_table_column_styling_column_headers_rails: Column Styling with Multiple Headers
28
28
  - advanced_table_padding_control_rails: Padding Control using Column Styling
29
- - advanced_table_background_control_rails: Column Styling Background Color
30
- - advanced_table_background_colors_rails: Column Styling Individual Cell Background Color
29
+ - advanced_table_background_control_rails: Background Control using Column Styling
31
30
  - advanced_table_column_border_color_rails: Column Group Border Color
32
31
 
33
32
 
@@ -76,8 +75,6 @@ examples:
76
75
  - advanced_table_padding_control_per_row: Padding Control using Row Styling
77
76
  - advanced_table_column_styling: Column Styling
78
77
  - advanced_table_column_styling_column_headers: Column Styling with Multiple Headers
79
- - advanced_table_column_styling_background: Column Styling Background Color
80
- - advanced_table_column_styling_background_multi: Column Styling Background Color with Multiple Headers
81
78
  - advanced_table_padding_control: Padding Control using Column Styling
82
79
  - advanced_table_column_border_color: Column Group Border Color
83
80
  - advanced_table_fullscreen: Fullscreen
@@ -45,6 +45,4 @@ export { default as AdvancedTableWithCustomHeaderMultiHeader } from './_advanced
45
45
  export { default as AdvancedTableSortPerColumn } from './_advanced_table_sort_per_column.jsx'
46
46
  export { default as AdvancedTableSortPerColumnForMultiColumn } from './_advanced_table_sort_per_column_for_multi_column.jsx'
47
47
  export { default as AdvancedTablePaddingControl } from './_advanced_table_padding_control.jsx'
48
- export { default as AdvancedTablePaddingControlPerRow } from './_advanced_table_padding_control_per_row.jsx'
49
- export { default as AdvancedTableColumnStylingBackground } from './_advanced_table_column_styling_background.jsx'
50
- export { default as AdvancedTableColumnStylingBackgroundMulti } from './_advanced_table_column_styling_background_multi.jsx'
48
+ export { default as AdvancedTablePaddingControlPerRow } from './_advanced_table_padding_control_per_row.jsx'
@@ -5,8 +5,8 @@
5
5
  <%= object.render_select_all_header %>
6
6
  <% end %>
7
7
  <% header_row.each_with_index do |cell, cell_index| %>
8
- <% header_component = object.header_component_info(cell, cell_index, row_index) %>
9
- <%= pb_rails(header_component[:name], props: header_component[:props]) do %>
8
+ <% header_id = cell[:accessor].present? ? cell[:accessor] : "header_#{row_index}_#{cell_index}" %>
9
+ <%= pb_rails("table/table_header", props: { id: header_id, colspan: cell[:colspan], classname: [object.th_classname(is_first_column: cell_index.zero?), ('last-header-cell' if cell[:is_last_in_group] && cell_index != 0)].compact.join(' '), sort_menu: cell[:accessor] ? cell[:sort_menu] : nil }) do %>
10
10
  <%= pb_rails("flex", props: { align: "center", justify: cell_index.zero? ? "start" : row_index === header_rows.size - 1 ? "end" : "center", text_align: (cell[:header_alignment] || "end") }) do %>
11
11
  <% if cell_index.zero? && row_index === header_rows.size - 1 %>
12
12
  <% if object.selectable_rows && object.enable_toggle_expansion != "none" %>