playbook_ui 14.19.0.pre.alpha.borderfixadvancedtable7816 → 14.19.0.pre.alpha.play1997dropdownenablepillsinselection7702

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 (93) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/Components/RegularTableView.tsx +1 -11
  3. data/app/pb_kits/playbook/pb_advanced_table/Components/TableActionBar.tsx +15 -148
  4. data/app/pb_kits/playbook/pb_advanced_table/Components/TableHeaderCell.tsx +3 -20
  5. data/app/pb_kits/playbook/pb_advanced_table/Hooks/useTableState.ts +13 -23
  6. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +3 -10
  7. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +2 -7
  8. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +8 -16
  9. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +0 -9
  10. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +0 -6
  11. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +1 -5
  12. data/app/pb_kits/playbook/pb_advanced_table/index.js +52 -355
  13. data/app/pb_kits/playbook/pb_advanced_table/scss_partials/advanced_table_sticky_mixin.scss +0 -1
  14. data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +0 -4
  15. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownContainer.tsx +2 -2
  16. data/app/pb_kits/playbook/pb_file_upload/_file_upload.scss +0 -13
  17. data/app/pb_kits/playbook/pb_file_upload/_file_upload.tsx +1 -11
  18. data/app/pb_kits/playbook/pb_file_upload/docs/example.yml +0 -2
  19. data/app/pb_kits/playbook/pb_file_upload/docs/index.js +0 -1
  20. data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +0 -1
  21. data/app/pb_kits/playbook/pb_file_upload/file_upload.rb +1 -7
  22. data/app/pb_kits/playbook/pb_file_upload/fileupload.test.js +0 -18
  23. data/app/pb_kits/playbook/pb_form_group/_error_state_mixin.scss +2 -2
  24. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +12 -19
  25. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.tsx +7 -13
  26. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +2 -2
  27. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_color.html.erb +11 -11
  28. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_color.jsx +11 -11
  29. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_default.html.erb +11 -11
  30. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_default.jsx +11 -11
  31. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled.html.erb +11 -11
  32. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled.jsx +11 -11
  33. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options.html.erb +11 -11
  34. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options.jsx +11 -11
  35. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_default.html.erb +11 -11
  36. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_default.jsx +11 -11
  37. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent.html.erb +11 -11
  38. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent.jsx +11 -11
  39. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent_default.html.erb +11 -11
  40. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent_default.jsx +11 -11
  41. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_error.html.erb +11 -11
  42. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_error.jsx +11 -11
  43. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.html.erb +11 -11
  44. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.jsx +11 -11
  45. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_react_hook.jsx +11 -11
  46. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_reset.html.erb +11 -11
  47. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_return_all_selected.html.erb +11 -11
  48. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_return_all_selected.jsx +11 -11
  49. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids.html.erb +11 -11
  50. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids.md +0 -2
  51. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids_react.jsx +11 -11
  52. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids_react.md +1 -3
  53. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single.html.erb +22 -22
  54. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single.jsx +22 -22
  55. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single_children_only.html.erb +22 -22
  56. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single_children_only.jsx +22 -22
  57. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_with_children.jsx +11 -11
  58. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_with_children_with_radios.jsx +11 -11
  59. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_with_form.html.erb +11 -11
  60. data/app/pb_kits/playbook/pb_person/_person.tsx +2 -12
  61. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +9 -9
  62. data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +2 -2
  63. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +2 -4
  64. data/dist/chunks/_typeahead-BQV04mOl.js +22 -0
  65. data/dist/chunks/_weekday_stacked-BdaYw6Ra.js +45 -0
  66. data/dist/chunks/{lib-B20MXZcW.js → lib-DwFasxbk.js} +2 -2
  67. data/dist/chunks/{pb_form_validation-WWvUXPKD.js → pb_form_validation-nnXW3T-3.js} +1 -1
  68. data/dist/chunks/vendor.js +1 -1
  69. data/dist/playbook-doc.js +1 -1
  70. data/dist/playbook-rails-react-bindings.js +1 -1
  71. data/dist/playbook-rails.js +1 -1
  72. data/dist/playbook.css +1 -1
  73. data/lib/playbook/version.rb +1 -1
  74. metadata +6 -23
  75. data/app/pb_kits/playbook/pb_advanced_table/Utilities/VisibilityTree.ts +0 -47
  76. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility.jsx +0 -57
  77. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility.md +0 -4
  78. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_custom.jsx +0 -62
  79. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_custom.md +0 -1
  80. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_multi.jsx +0 -82
  81. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_multi.md +0 -1
  82. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_with_state.jsx +0 -65
  83. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_with_state.md +0 -1
  84. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_actions_rails.html.erb +0 -137
  85. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_actions_rails.md +0 -3
  86. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_header_rails.html.erb +0 -40
  87. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_header_rails.md +0 -1
  88. data/app/pb_kits/playbook/pb_advanced_table/table_action_bar.html.erb +0 -23
  89. data/app/pb_kits/playbook/pb_advanced_table/table_action_bar.rb +0 -19
  90. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_error.html.erb +0 -1
  91. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_error.jsx +0 -41
  92. data/dist/chunks/_typeahead-B9-s4j4U.js +0 -22
  93. data/dist/chunks/_weekday_stacked-CvzpmXD5.js +0 -45
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ef1378b88aac8a24d63b1c024f6df3b4b42536def72fd15a2c45ec1d31c5c45f
4
- data.tar.gz: b97b6bc05dd55054977f491d17a7359b68884e2cb19ee025e50e4f70327a6cc8
3
+ metadata.gz: 5e1acc819228475b290eaea87ff0b86b2b62cea0c8d53baa8527c2bab9714a3a
4
+ data.tar.gz: 6ae3b6b23aae3dd4f27fc2b4ffd1c575f6bdfe51710fe5814661e81a36d8d810
5
5
  SHA512:
6
- metadata.gz: 86cf679b210ca9d9eed69f2cfed5b6bd8529f9621c34af5389dc7a05f1d05a5daad70e5345bfd71c4c2210ecf829396b681b6b86c613319a66abd5814b79aad5
7
- data.tar.gz: 5f7be00d7226069d440d62e4cb65f21556598b22920578634039729b6106ee4bd766d2e815344bfc735dec54e4971901588d454bdffd7121ee64f4a40c27b727
6
+ metadata.gz: a60e87407b7cdc3186cc515e4a0e783343b7e7257278f8dc3fa711c91447a5c3711911371121e4c3075799c305dc2da709b18f87e10cb9d51825c528ad797dec
7
+ data.tar.gz: '05912e775970c5b43a34112f4338c7269863c251a10cac6078c1a263db1a11b4d8207e363ab6377f1ea598fb8528bcc23a7d6e73a72c5f930f0b7fc15a276278'
@@ -93,17 +93,7 @@ export const RegularTableView = ({
93
93
 
94
94
  {row.getVisibleCells().map((cell: Cell<GenericObject, unknown>, i: number) => {
95
95
  const isPinnedLeft = columnPinning.left.includes(cell.column.id);
96
- const isLastCell = (() => {
97
- const parent = cell.column.parent;
98
- if (!parent) {
99
- const last = row.getVisibleCells().at(-1);
100
- return last?.column.id === cell.column.id;
101
- }
102
-
103
- const visibleSiblings = parent.columns.filter(col => col.getIsVisible());
104
- return visibleSiblings.at(-1)?.id === cell.column.id;
105
- })();
106
-
96
+ const isLastCell = cell.column.parent?.columns?.at(-1)?.id === cell.column.id;
107
97
  const { column } = cell;
108
98
  return (
109
99
  <td
@@ -1,112 +1,25 @@
1
- import React, { useEffect, useRef, useContext } from "react";
2
-
3
- import AdvancedTableContext from "../Context/AdvancedTableContext";
4
- import { buildVisibilityTree } from "../Utilities/VisibilityTree";
5
-
1
+ import React, { useEffect, useRef } from "react";
6
2
  import Card from "../../pb_card/_card";
7
3
  import Caption from "../../pb_caption/_caption";
8
4
  import Flex from "../../pb_flex/_flex";
9
5
  import FlexItem from "../../pb_flex/_flex_item";
10
- import Dropdown from "../../pb_dropdown/_dropdown";
11
- import DropdownContainer from "../../pb_dropdown/subcomponents/DropdownContainer";
12
- import DropdownTrigger from "../../pb_dropdown/subcomponents/DropdownTrigger";
13
- import Icon from "../../pb_icon/_icon";
14
- import Checkbox from "../../pb_checkbox/_checkbox";
15
- import SectionSeparator from "../../pb_section_separator/_section_separator";
16
- import Tooltip from "../../pb_tooltip/_tooltip";
17
-
18
- import {
19
- showActionBar,
20
- hideActionBar,
21
- } from "../Utilities/ActionBarAnimationHelper";
22
- import { GenericObject } from "../../types";
6
+ import { showActionBar, hideActionBar } from "../Utilities/ActionBarAnimationHelper";
23
7
 
24
8
  interface TableActionBarProps {
25
- isVisible: boolean | GenericObject | undefined;
9
+ isVisible: boolean;
26
10
  selectedCount: number;
27
11
  actions?: React.ReactNode[] | React.ReactNode;
28
- type?: string;
29
- }
30
-
31
- interface VisibilityNode {
32
- id?: string | undefined;
33
- label?: string | undefined;
34
- children?: VisibilityNode[];
35
12
  }
36
13
 
37
14
  const TableActionBar: React.FC<TableActionBarProps> = ({
38
15
  isVisible,
39
16
  selectedCount,
40
- actions,
41
- type = "row-selection",
17
+ actions
42
18
  }) => {
43
19
  const cardRef = useRef(null);
44
- const { table, columnVisibilityControl, columnDefinitions } =
45
- useContext(AdvancedTableContext);
46
-
47
- // ----------- Column visibility logic -----------
48
- const includeIds = columnVisibilityControl?.includeIds;
49
- const firstLeafId = table.getAllLeafColumns()[0]?.id;
50
- // Get the first leaf column ID to exclude it from the visibility tree
51
- // This is to avoid showing the first column in the dropdown
52
- // as toggling it's visibility breaks the expanded row functionality
53
- const tree = buildVisibilityTree(columnDefinitions, includeIds).filter(node => node.id !== firstLeafId);
54
-
55
- const renderLeaf = (id: string, label: string) => {
56
- const col = table.getColumn(id);
57
- const show = col.getIsVisible();
58
-
59
- return (
60
- <Checkbox
61
- checked={show}
62
- key={id}
63
- onChange={() => col.toggleVisibility()}
64
- paddingBottom="xs"
65
- text={label}
66
- />
67
- );
68
- };
69
-
70
- const gatherLeafIds = (node: VisibilityNode): string[] =>
71
- node.children && node.children.length
72
- ? node.children.flatMap(gatherLeafIds)
73
- : node.id
74
- ? [node.id]
75
- : [];
76
-
77
- const renderGroup = (node: VisibilityNode ) => {
78
- const leaves = gatherLeafIds(node);
79
- const visibleArray = leaves.map((id) => table.getColumn(id).getIsVisible());
80
- const allOn = visibleArray.every(Boolean);
81
- const someOn = visibleArray.some(Boolean);
82
-
83
- return (
84
- <>
85
- <Checkbox
86
- checked={allOn}
87
- indeterminate={!allOn && someOn}
88
- onChange={() =>
89
- leaves.forEach((id) =>
90
- table.getColumn(id).toggleVisibility(!allOn),
91
- )
92
- }
93
- paddingBottom="xs"
94
- text={node.label}
95
- />
96
- <Flex flexDirection="column"
97
- paddingLeft="lg"
98
- >
99
- {node?.children?.map((child) =>
100
- child.children ? renderGroup(child) : renderLeaf(child.id, child.label),
101
- )}
102
- </Flex>
103
- </>
104
- );
105
- };
106
- // ------------ End of column visibility logic --------
107
20
 
108
21
  useEffect(() => {
109
- if (cardRef.current && type === "row-selection") {
22
+ if (cardRef.current) {
110
23
  if (isVisible) {
111
24
  showActionBar(cardRef.current);
112
25
  } else {
@@ -118,68 +31,22 @@ const TableActionBar: React.FC<TableActionBarProps> = ({
118
31
  return (
119
32
  <Card
120
33
  borderNone={!isVisible}
121
- className={`${
122
- isVisible && "show-action-card row-selection-actions-card"
123
- }`}
34
+ className={`${isVisible && "show-action-card row-selection-actions-card"}`}
124
35
  htmlOptions={{ ref: cardRef as any }}
125
36
  padding={`${isVisible ? "xs" : "none"}`}
126
37
  >
127
38
  <Flex
128
39
  alignItems="center"
129
- justify={type === "row-selection" ? "between" : "end"}
40
+ justify="between"
130
41
  >
131
- {type === "row-selection" ? (
132
- <>
133
- <Caption color="light"
134
- paddingLeft="xs"
135
- size="xs"
136
- >
137
- {selectedCount} Selected
138
- </Caption>
139
- <FlexItem>{actions}</FlexItem>
140
- </>
141
- ) : (
142
- <Dropdown
143
- className="column-visibility-dropdown-wrapper"
144
- options={columnDefinitions}
145
- >
146
- <DropdownTrigger>
147
- <Tooltip
148
- placement='top'
149
- text="Column Configuration"
150
- zIndex={10}
151
- >
152
- <Icon
153
- color="primary"
154
- cursor="pointer"
155
- icon="sliders-h"
156
- />
157
- </Tooltip>
158
- </DropdownTrigger>
159
- <DropdownContainer
160
- className="column-visibility-dropdown"
161
- paddingTop="sm"
162
- >
163
- <>
164
- <Caption
165
- paddingBottom="sm"
166
- text="Columns Config"
167
- textAlign="center"
168
- />
169
- <SectionSeparator paddingBottom="xs" />
170
- {tree.map((node: VisibilityNode) => (
171
- <Flex cursor="pointer"
172
- flexDirection="column"
173
- key={node.id}
174
- paddingX="xs"
175
- >
176
- {node.children ? renderGroup(node) : renderLeaf(node.id, node.label)}
177
- </Flex>
178
- ))}
179
- </>
180
- </DropdownContainer>
181
- </Dropdown>
182
- )}
42
+ <Caption
43
+ color="light"
44
+ paddingLeft="xs"
45
+ size="xs"
46
+ >
47
+ {selectedCount} Selected
48
+ </Caption>
49
+ <FlexItem>{actions}</FlexItem>
183
50
  </Flex>
184
51
  </Card>
185
52
  );
@@ -79,26 +79,9 @@ export const TableHeaderCell = ({
79
79
  header?.column.getLeafColumns().length === 1 &&
80
80
  header?.column.getLeafColumns()[0].id === header.column.id
81
81
 
82
- const columnHasVisibleLeaf = (col: any): boolean =>
83
- col.getIsVisible?.() ||
84
- (Array.isArray(col.columns) &&
85
- col.columns.some((child: any) => columnHasVisibleLeaf(child)));
86
-
87
- // Check on column position in stack + visibility to add the vertical border
88
- const isLastHeaderCell = (() => {
89
- if (!header) return false;
90
-
91
- if (header.colSpan > 1 && header.column.parent !== undefined) return true;
92
-
93
- const parent = header.column.parent;
94
-
95
- if (!parent) {
96
- const topHeaders = table?.getHeaderGroups()[0].headers.filter((h: any) => columnHasVisibleLeaf(h.column));
97
- return topHeaders?.at(-1)?.id === header.id;
98
- }
99
- const visibleSiblings = parent.columns.filter(columnHasVisibleLeaf);
100
- return visibleSiblings.at(-1) === header.column;
101
- })();
82
+ const isLastHeaderCell =
83
+ header?.column.parent?.columns.at(-1) === header?.column ||
84
+ (header?.colSpan > 1 && header?.column.parent !== undefined);
102
85
 
103
86
  const cellClassName = classnames(
104
87
  "table-header-cells",
@@ -26,8 +26,6 @@ interface UseTableStateProps {
26
26
  virtualizedRows?: boolean;
27
27
  tableOptions?: GenericObject;
28
28
  onRowSelectionChange?: (arg: RowSelectionState) => void;
29
- columnVisibilityControl?: GenericObject;
30
-
31
29
  }
32
30
 
33
31
  export function useTableState({
@@ -42,19 +40,16 @@ export function useTableState({
42
40
  pagination = false,
43
41
  paginationProps,
44
42
  virtualizedRows = false,
45
- tableOptions,
46
- columnVisibilityControl
43
+ tableOptions
47
44
  }: UseTableStateProps) {
48
45
  // Create a local state for expanded and setExpanded if expandedControl not used
49
46
  const [localExpanded, setLocalExpanded] = useState({});
50
47
  const [loadingStateRowCount, setLoadingStateRowCount] = useState(initialLoadingRowsCount);
51
48
  const [rowSelection, setRowSelection] = useState<RowSelectionState>({});
52
- const [localColumnVisibility, setLocalColumnVisibility] = useState({});
49
+
53
50
  // Determine whether to use the prop or the local state
54
51
  const expanded = expandedControl ? expandedControl.value : localExpanded;
55
52
  const setExpanded = expandedControl ? expandedControl.onChange : setLocalExpanded;
56
- const columnVisibility = (columnVisibilityControl && columnVisibilityControl.value) ? columnVisibilityControl.value : localColumnVisibility;
57
- const setColumnVisibility = (columnVisibilityControl && columnVisibilityControl.onChange) ? columnVisibilityControl.onChange : setLocalColumnVisibility;
58
53
 
59
54
  // Virtualized data handling (chunked loading)
60
55
  const fetchSize = 20; // Number of rows per "page"
@@ -109,21 +104,17 @@ export function useTableState({
109
104
  }]), [columnDefinitions, sortControl]);
110
105
 
111
106
  // Custom state based on features enabled
112
- const customState = useCallback(() => ({
113
- state: {
114
- expanded,
115
- ...(sortControl && { sorting }),
116
- ...(selectableRows && { rowSelection }),
117
- ...(columnVisibility && { columnVisibility }),
118
- },
119
- }), [
120
- expanded,
121
- sortControl,
122
- sorting,
123
- selectableRows,
124
- rowSelection,
125
- columnVisibility,
126
- ]);
107
+ const customState = useCallback(() => {
108
+ if (sortControl && selectableRows) {
109
+ return { state: { expanded, sorting, rowSelection } };
110
+ } else if (sortControl) {
111
+ return { state: { expanded, sorting } };
112
+ } else if (selectableRows) {
113
+ return { state: { expanded, rowSelection } };
114
+ } else {
115
+ return { state: { expanded } };
116
+ }
117
+ }, [expanded, rowSelection, sortControl, selectableRows, sorting]);
127
118
 
128
119
  // Pagination configuration
129
120
  const paginationInitializer = useMemo(() => {
@@ -154,7 +145,6 @@ export function useTableState({
154
145
  sortDescFirst: true,
155
146
  onRowSelectionChange: setRowSelection,
156
147
  getRowId: selectableRows ? row => row.id : undefined,
157
- onColumnVisibilityChange: setColumnVisibility,
158
148
  meta: {
159
149
  columnDefinitions
160
150
  },
@@ -53,15 +53,6 @@
53
53
  width: 100%;
54
54
  }
55
55
 
56
- .column-visibility-dropdown-wrapper {
57
- position: unset !important;
58
- }
59
- .column-visibility-dropdown {
60
- width: unset !important;
61
- right: $space_xxs;
62
- text-align: left;
63
- }
64
-
65
56
  // Virtualized table styles
66
57
  .virtualized-table-row {
67
58
  display: table !important;
@@ -554,12 +545,14 @@
554
545
  background-color: $white;
555
546
  box-shadow: $shadow_deep;
556
547
  }
557
-
558
548
  @include advanced-table-sticky-mixin(
559
549
  $border_light,
560
550
  $white,
561
551
  lighten($silver, $opacity_7)
562
552
  );
553
+
554
+ // Apply border colors for sticky columns
555
+ @include apply-sticky-colors("light");
563
556
  }
564
557
 
565
558
  // Responsive Styles
@@ -35,7 +35,6 @@ type AdvancedTableProps = {
35
35
  className?: string
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
- columnVisibilityControl?: GenericObject
39
38
  dark?: boolean
40
39
  data?: { [key: string]: string }
41
40
  enableToggleExpansion?: "all" | "header" | "none"
@@ -74,7 +73,6 @@ const AdvancedTable = (props: AdvancedTableProps) => {
74
73
  className,
75
74
  columnDefinitions,
76
75
  columnGroupBorderColor,
77
- columnVisibilityControl,
78
76
  dark = false,
79
77
  data = {},
80
78
  enableToggleExpansion = "header",
@@ -134,8 +132,7 @@ const AdvancedTable = (props: AdvancedTableProps) => {
134
132
  paginationProps,
135
133
  virtualizedRows,
136
134
  tableOptions,
137
- onRowSelectionChange,
138
- columnVisibilityControl,
135
+ onRowSelectionChange
139
136
  });
140
137
 
141
138
  // Initialize table actions
@@ -255,7 +252,7 @@ const AdvancedTable = (props: AdvancedTableProps) => {
255
252
  : {};
256
253
 
257
254
  // Visibility flag for action bar
258
- const isActionBarVisible = (selectableRows && showActionsBar && selectedRowsLength > 0) || columnVisibilityControl;
255
+ const isActionBarVisible = selectableRows && showActionsBar && selectedRowsLength > 0;
259
256
 
260
257
  return (
261
258
  <>
@@ -289,7 +286,6 @@ const AdvancedTable = (props: AdvancedTableProps) => {
289
286
  <AdvancedTableProvider
290
287
  columnDefinitions={columnDefinitions}
291
288
  columnGroupBorderColor={columnGroupBorderColor}
292
- columnVisibilityControl={columnVisibilityControl}
293
289
  enableToggleExpansion={enableToggleExpansion}
294
290
  enableVirtualization={virtualizedRows}
295
291
  expandByDepth={expandByDepth}
@@ -320,7 +316,6 @@ const AdvancedTable = (props: AdvancedTableProps) => {
320
316
  actions={actions}
321
317
  isVisible={isActionBarVisible}
322
318
  selectedCount={selectedRowsLength}
323
- type={columnVisibilityControl ? "column-visibility" : "row-selection"}
324
319
  />
325
320
 
326
321
  {/* Main Table */}
@@ -1,18 +1,10 @@
1
1
  <%= pb_content_tag do %>
2
- <% if object.selectable_rows && object.show_actions_bar %>
3
- <%= pb_rails("advanced_table/table_action_bar", props: {
4
- actions: object.actions,
5
- is_visible: false,
6
- selected_count: 0
7
- }) %>
8
- <% end %>
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 %>
11
- <% if content.present? %>
12
- <% content.presence %>
13
- <% else %>
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 }) %>
16
- <% end %>
17
- <% end %>
2
+ <%= 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 %>
3
+ <% if content.present? %>
4
+ <% content.presence %>
5
+ <% else %>
6
+ <%= 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 }) %>
7
+ <%= 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 }) %>
8
+ <% end %>
9
+ <% end %>
18
10
  <% end %>
@@ -25,10 +25,6 @@ module Playbook
25
25
  default: "auto"
26
26
  prop :selectable_rows, type: Playbook::Props::Boolean,
27
27
  default: false
28
- prop :show_actions_bar, type: Playbook::Props::Boolean,
29
- default: true
30
- prop :actions, type: Playbook::Props::Array,
31
- default: []
32
28
 
33
29
  def classname
34
30
  additional_classes = [responsive_classname, max_height_classname]
@@ -51,11 +47,6 @@ module Playbook
51
47
  def selected_rows_length
52
48
  selected_rows.length
53
49
  end
54
-
55
- def is_action_bar_visible
56
- # Action bar visibility is controlled by JS based on selection
57
- false
58
- end
59
50
  end
60
51
  end
61
52
  end
@@ -15,8 +15,6 @@ examples:
15
15
  - advanced_table_column_border_color_rails: Column Group Border Color
16
16
  - advanced_table_selectable_rows_rails: Selectable Rows
17
17
  - advanced_table_selectable_rows_no_subrows_rails: Selectable Rows (No Subrows)
18
- - advanced_table_selectable_rows_actions_rails: Selectable Rows (With Actions)
19
- - advanced_table_selectable_rows_header_rails: Selectable Rows (No Actions Bar)
20
18
 
21
19
  react:
22
20
  - advanced_table_default: Default (Required Props)
@@ -49,7 +47,3 @@ examples:
49
47
  - advanced_table_selectable_rows_header: Selectable Rows (No Actions Bar)
50
48
  - advanced_table_inline_editing: Inline Cell Editing
51
49
  - advanced_table_fullscreen: Fullscreen
52
- - advanced_table_column_visibility: Column Visibility Control
53
- - advanced_table_column_visibility_with_state: Column Visibility Control With State
54
- - advanced_table_column_visibility_custom: Column Visibility Control with Custom Dropdown
55
- - advanced_table_column_visibility_multi: Column Visibility Control with Multi-Header Columns
@@ -27,8 +27,4 @@ export { default as AdvancedTableStickyColumns } from './_advanced_table_sticky_
27
27
  export { default as AdvancedTableStickyHeader } from './_advanced_table_sticky_header.jsx'
28
28
  export { default as AdvancedTableStickyColumnsAndHeader } from './_advanced_table_sticky_columns_and_header.jsx'
29
29
  export { default as AdvancedTableExpandByDepth } from './_advanced_table_expand_by_depth.jsx'
30
- export { default as AdvancedTableColumnBorderColor} from './_advanced_table_column_border_color.jsx'
31
- export { default as AdvancedTableColumnVisibility } from './_advanced_table_column_visibility.jsx'
32
- export { default as AdvancedTableColumnVisibilityCustom } from './_advanced_table_column_visibility_custom.jsx'
33
- export { default as AdvancedTableColumnVisibilityMulti } from './_advanced_table_column_visibility_multi.jsx'
34
- export { default as AdvancedTableColumnVisibilityWithState } from './_advanced_table_column_visibility_with_state.jsx'
30
+ export { default as AdvancedTableColumnBorderColor} from './_advanced_table_column_border_color.jsx'