playbook_ui 13.21.0.pre.alpha.PLAY12582474 → 13.21.0.pre.alpha.PLAY12652489

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 (163) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/Components/CustomCell.tsx +19 -21
  3. data/app/pb_kits/playbook/pb_advanced_table/Components/SortIconButton.tsx +3 -6
  4. data/app/pb_kits/playbook/pb_advanced_table/Components/SubRowHeaderRow.tsx +8 -12
  5. data/app/pb_kits/playbook/pb_advanced_table/Components/TableHeaderCell.tsx +9 -14
  6. data/app/pb_kits/playbook/pb_advanced_table/Components/ToggleIconButton.tsx +5 -9
  7. data/app/pb_kits/playbook/pb_advanced_table/README.md +2 -2
  8. data/app/pb_kits/playbook/pb_advanced_table/SubKits/TableBody.tsx +11 -15
  9. data/app/pb_kits/playbook/pb_advanced_table/SubKits/TableHeader.tsx +8 -12
  10. data/app/pb_kits/playbook/pb_advanced_table/Utilities/ExpansionControlHelpers.tsx +37 -23
  11. data/app/pb_kits/playbook/pb_advanced_table/Utilities/types.ts +2 -0
  12. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +9 -7
  13. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +80 -83
  14. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +61 -67
  15. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_collapsible_trail.jsx +7 -7
  16. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_default.jsx +7 -7
  17. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_expanded_control.jsx +7 -7
  18. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading.jsx +7 -7
  19. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading.md +1 -1
  20. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading.jsx +7 -7
  21. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort.jsx +7 -7
  22. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_control.jsx +7 -7
  23. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_subrow_headers.jsx +7 -7
  24. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_options.jsx +7 -7
  25. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.jsx +7 -7
  26. data/app/pb_kits/playbook/pb_advanced_table/docs/_mock_data.js +1 -1
  27. data/app/pb_kits/playbook/pb_advanced_table/docs/_mock_data_inline_loading.js +1 -1
  28. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +0 -2
  29. data/app/pb_kits/playbook/pb_avatar/avatar.html.erb +1 -2
  30. data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.html.erb +1 -2
  31. data/app/pb_kits/playbook/pb_background/background.html.erb +1 -2
  32. data/app/pb_kits/playbook/pb_badge/badge.html.erb +1 -2
  33. data/app/pb_kits/playbook/pb_body/body.html.erb +1 -2
  34. data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumbs.scss +7 -0
  35. data/app/pb_kits/playbook/pb_bread_crumbs/bread_crumb_item.html.erb +1 -2
  36. data/app/pb_kits/playbook/pb_bread_crumbs/bread_crumbs.html.erb +1 -2
  37. data/app/pb_kits/playbook/pb_button/button.html.erb +1 -2
  38. data/app/pb_kits/playbook/pb_button/button.rb +3 -2
  39. data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.html.erb +1 -2
  40. data/app/pb_kits/playbook/pb_caption/caption.html.erb +1 -2
  41. data/app/pb_kits/playbook/pb_card/card.html.erb +1 -2
  42. data/app/pb_kits/playbook/pb_card/card_body.html.erb +1 -2
  43. data/app/pb_kits/playbook/pb_card/card_header.html.erb +1 -2
  44. data/app/pb_kits/playbook/pb_checkbox/checkbox.html.erb +1 -3
  45. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.html.erb +1 -2
  46. data/app/pb_kits/playbook/pb_collapsible/collapsible.html.erb +1 -2
  47. data/app/pb_kits/playbook/pb_collapsible/collapsible_content.html.erb +1 -2
  48. data/app/pb_kits/playbook/pb_collapsible/collapsible_main.html.erb +1 -2
  49. data/app/pb_kits/playbook/pb_contact/contact.html.erb +1 -2
  50. data/app/pb_kits/playbook/pb_currency/currency.html.erb +1 -2
  51. data/app/pb_kits/playbook/pb_dashboard_value/dashboard_value.html.erb +1 -2
  52. data/app/pb_kits/playbook/pb_date/date.html.erb +1 -2
  53. data/app/pb_kits/playbook/pb_date_picker/date_picker.html.erb +1 -2
  54. data/app/pb_kits/playbook/pb_date_range_inline/date_range_inline.html.erb +1 -2
  55. data/app/pb_kits/playbook/pb_date_range_stacked/date_range_stacked.html.erb +1 -2
  56. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.html.erb +1 -2
  57. data/app/pb_kits/playbook/pb_date_time/date_time.html.erb +1 -2
  58. data/app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.html.erb +2 -3
  59. data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.html.erb +1 -2
  60. data/app/pb_kits/playbook/pb_detail/detail.html.erb +1 -2
  61. data/app/pb_kits/playbook/pb_dialog/dialog.html.erb +1 -2
  62. data/app/pb_kits/playbook/pb_dialog/dialog_body.html.erb +2 -3
  63. data/app/pb_kits/playbook/pb_dialog/dialog_footer.html.erb +1 -2
  64. data/app/pb_kits/playbook/pb_dialog/dialog_header.html.erb +2 -3
  65. data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +1 -2
  66. data/app/pb_kits/playbook/pb_filter/filter.html.erb +1 -2
  67. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +3 -8
  68. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +0 -1
  69. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line.html.erb +1 -51
  70. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line.jsx +11 -62
  71. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_positions.html.erb +2 -7
  72. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.html.erb +3 -4
  73. data/app/pb_kits/playbook/pb_flex/docs/_flex_spacing.html.erb +4 -0
  74. data/app/pb_kits/playbook/pb_flex/flex.html.erb +1 -2
  75. data/app/pb_kits/playbook/pb_flex/flex_item.html.erb +1 -2
  76. data/app/pb_kits/playbook/pb_form_group/form_group.html.erb +1 -2
  77. data/app/pb_kits/playbook/pb_form_pill/form_pill.html.erb +2 -2
  78. data/app/pb_kits/playbook/pb_hashtag/hashtag.html.erb +1 -2
  79. data/app/pb_kits/playbook/pb_highlight/highlight.html.erb +1 -2
  80. data/app/pb_kits/playbook/pb_home_address_street/home_address_street.html.erb +1 -2
  81. data/app/pb_kits/playbook/pb_icon/icon.html.erb +1 -2
  82. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.html.erb +1 -2
  83. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.html.erb +1 -2
  84. data/app/pb_kits/playbook/pb_icon_value/icon_value.html.erb +1 -2
  85. data/app/pb_kits/playbook/pb_image/image.html.erb +1 -2
  86. data/app/pb_kits/playbook/pb_label_pill/label_pill.html.erb +1 -2
  87. data/app/pb_kits/playbook/pb_label_value/label_value.html.erb +2 -3
  88. data/app/pb_kits/playbook/pb_layout/body.html.erb +1 -2
  89. data/app/pb_kits/playbook/pb_layout/footer.html.erb +1 -2
  90. data/app/pb_kits/playbook/pb_layout/header.html.erb +1 -2
  91. data/app/pb_kits/playbook/pb_layout/item.html.erb +1 -2
  92. data/app/pb_kits/playbook/pb_layout/layout.html.erb +1 -2
  93. data/app/pb_kits/playbook/pb_layout/sidebar.html.erb +1 -2
  94. data/app/pb_kits/playbook/pb_legend/legend.html.erb +1 -2
  95. data/app/pb_kits/playbook/pb_list/item.html.erb +1 -2
  96. data/app/pb_kits/playbook/pb_list/list.html.erb +1 -2
  97. data/app/pb_kits/playbook/pb_loading_inline/loading_inline.html.erb +1 -2
  98. data/app/pb_kits/playbook/pb_message/message.html.erb +1 -2
  99. data/app/pb_kits/playbook/pb_message/message_mention.html.erb +2 -3
  100. data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.html.erb +1 -2
  101. data/app/pb_kits/playbook/pb_multiple_users/multiple_users.html.erb +1 -2
  102. data/app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.html.erb +1 -2
  103. data/app/pb_kits/playbook/pb_nav/item.html.erb +2 -4
  104. data/app/pb_kits/playbook/pb_nav/nav.html.erb +1 -2
  105. data/app/pb_kits/playbook/pb_online_status/online_status.html.erb +1 -2
  106. data/app/pb_kits/playbook/pb_pagination/pagination.html.erb +1 -2
  107. data/app/pb_kits/playbook/pb_passphrase/passphrase.html.erb +1 -1
  108. data/app/pb_kits/playbook/pb_person/person.html.erb +1 -2
  109. data/app/pb_kits/playbook/pb_person_contact/person_contact.html.erb +1 -2
  110. data/app/pb_kits/playbook/pb_pill/pill.html.erb +1 -2
  111. data/app/pb_kits/playbook/pb_popover/popover.html.erb +1 -2
  112. data/app/pb_kits/playbook/pb_progress_pills/progress_pills.html.erb +1 -2
  113. data/app/pb_kits/playbook/pb_progress_simple/progress_simple.html.erb +1 -2
  114. data/app/pb_kits/playbook/pb_progress_step/progress_step.html.erb +1 -2
  115. data/app/pb_kits/playbook/pb_progress_step/progress_step_item.html.erb +1 -2
  116. data/app/pb_kits/playbook/pb_radio/radio.html.erb +1 -2
  117. data/app/pb_kits/playbook/pb_section_separator/section_separator.html.erb +1 -2
  118. data/app/pb_kits/playbook/pb_select/select.html.erb +1 -2
  119. data/app/pb_kits/playbook/pb_selectable_card/selectable_card.html.erb +1 -2
  120. data/app/pb_kits/playbook/pb_selectable_card_icon/selectable_card_icon.html.erb +1 -2
  121. data/app/pb_kits/playbook/pb_selectable_icon/selectable_icon.html.erb +1 -2
  122. data/app/pb_kits/playbook/pb_selectable_list/selectable_list.html.erb +1 -2
  123. data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.html.erb +1 -2
  124. data/app/pb_kits/playbook/pb_source/source.html.erb +1 -2
  125. data/app/pb_kits/playbook/pb_star_rating/star_rating.html.erb +1 -2
  126. data/app/pb_kits/playbook/pb_stat_change/stat_change.html.erb +1 -2
  127. data/app/pb_kits/playbook/pb_stat_value/stat_value.html.erb +1 -2
  128. data/app/pb_kits/playbook/pb_table/table.html.erb +2 -4
  129. data/app/pb_kits/playbook/pb_table/table_body.html.erb +3 -5
  130. data/app/pb_kits/playbook/pb_table/table_cell.html.erb +3 -5
  131. data/app/pb_kits/playbook/pb_table/table_head.html.erb +3 -5
  132. data/app/pb_kits/playbook/pb_table/table_header.html.erb +3 -5
  133. data/app/pb_kits/playbook/pb_table/table_row.html.erb +3 -5
  134. data/app/pb_kits/playbook/pb_text_input/text_input.html.erb +1 -2
  135. data/app/pb_kits/playbook/pb_textarea/textarea.html.erb +1 -2
  136. data/app/pb_kits/playbook/pb_time/time.html.erb +1 -2
  137. data/app/pb_kits/playbook/pb_time_range_inline/time_range_inline.html.erb +2 -3
  138. data/app/pb_kits/playbook/pb_time_stacked/time_stacked.html.erb +1 -2
  139. data/app/pb_kits/playbook/pb_timeline/item.html.erb +1 -2
  140. data/app/pb_kits/playbook/pb_timeline/timeline.html.erb +1 -2
  141. data/app/pb_kits/playbook/pb_timestamp/timestamp.html.erb +1 -2
  142. data/app/pb_kits/playbook/pb_title/title.html.erb +2 -3
  143. data/app/pb_kits/playbook/pb_title_count/title_count.html.erb +1 -2
  144. data/app/pb_kits/playbook/pb_title_detail/title_detail.html.erb +1 -2
  145. data/app/pb_kits/playbook/pb_toggle/toggle.html.erb +1 -2
  146. data/app/pb_kits/playbook/pb_tooltip/tooltip.html.erb +1 -2
  147. data/app/pb_kits/playbook/pb_typeahead/typeahead.html.erb +1 -2
  148. data/app/pb_kits/playbook/pb_user/user.html.erb +1 -2
  149. data/app/pb_kits/playbook/pb_user_badge/user_badge.html.erb +1 -2
  150. data/app/pb_kits/playbook/pb_weekday_stacked/weekday_stacked.html.erb +1 -2
  151. data/dist/playbook-rails.js +3 -3
  152. data/lib/playbook/kit_base.rb +0 -18
  153. data/lib/playbook/version.rb +1 -1
  154. metadata +15 -24
  155. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +0 -14
  156. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +0 -19
  157. data/app/pb_kits/playbook/pb_advanced_table/scss_partials/_chrome_styles.scss +0 -13
  158. data/app/pb_kits/playbook/pb_advanced_table/table_body.html.erb +0 -9
  159. data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +0 -30
  160. data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +0 -20
  161. data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +0 -21
  162. data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +0 -37
  163. data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +0 -32
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1cac7b0753d888ee1b718932bbbb638ebad8f37d7e3b30dfb683dd0a575cbcad
4
- data.tar.gz: d9e47ec1c043e9358f3618c0510484ebfce1d346743377228ca016336072dd3f
3
+ metadata.gz: e901bf0252c31cd287c2b7f72539a6b0104bc879ad732eea8d322cd179aa6202
4
+ data.tar.gz: 704137859afad5edcae51a9d62ea2728413e4d036e77ee5f872b2282004545d9
5
5
  SHA512:
6
- metadata.gz: f07bcb349a1e387b6497cbc75fdc31fb39ee33c259515670723642d7484d8da526f20f6484c5beda1086e7d8aa36ecc0b25f0e1b6aa3e021095571949a839e07
7
- data.tar.gz: b6c92cff8163105411b1d21bb9b065b725f775af4fea9f760ba945a04437e0f00da16b80cf346a37f5e681da3884f97c30cfa373621ab7409c277704daf2016a
6
+ metadata.gz: 41d7bc34cdbd68489a93f7fa91b5b30598a87152cd3b2a736920307c42aa10430a00ef9d84e52a0904f2a612d12bbdb9d405af3f1eaf60687e83680137c5bd04
7
+ data.tar.gz: fce579d636b206c0355bcc8001ba445bb2b78d6e7f4b6266e0817ae3f1260a7f7da2896eb1a36798f0380c63db7b6c86390bd0d21b0a9f16908b33c1282572c1
@@ -1,21 +1,19 @@
1
- import React, { useContext } from "react"
2
- import { Getter, Row } from "@tanstack/react-table"
1
+ import React, { useContext } from "react";
3
2
 
4
- import { GenericObject } from "../../types"
3
+ import Flex from "../../pb_flex/_flex";
4
+ import FlexItem from "../../pb_flex/_flex_item";
5
+ import Icon from "../../pb_icon/_icon";
6
+ import { GlobalProps } from "../../utilities/globalProps";
5
7
 
6
- import { GlobalProps } from "../../utilities/globalProps"
7
-
8
- import Flex from "../../pb_flex/_flex"
9
- import FlexItem from "../../pb_flex/_flex_item"
10
- import Icon from "../../pb_icon/_icon"
11
-
12
- import AdvancedTableContext from "../Context/AdvancedTableContext"
8
+ import { Getter, Row } from "@tanstack/react-table";
9
+ import { DataType } from "../Utilities/types";
10
+ import AdvancedTableContext from "../Context/AdvancedTableContext";
13
11
 
14
12
  interface CustomCellProps {
15
- getValue?: Getter<string>
16
- onRowToggleClick?: (arg: Row<GenericObject>) => void
17
- row: Row<GenericObject>
18
- value?: string
13
+ getValue?: Getter<string>;
14
+ onRowToggleClick?: (arg: Row<DataType>) => void;
15
+ row: Row<DataType>;
16
+ value?: string;
19
17
  }
20
18
 
21
19
  export const CustomCell = ({
@@ -24,12 +22,12 @@ export const CustomCell = ({
24
22
  row,
25
23
  value,
26
24
  }: CustomCellProps & GlobalProps) => {
27
- const { setExpanded, expanded, inlineRowLoading } = useContext(AdvancedTableContext)
25
+ const { setExpanded, expanded, inlineRowLoading } = useContext(AdvancedTableContext);
28
26
 
29
- const handleOnExpand = (row: Row<GenericObject>) => {
30
- onRowToggleClick && onRowToggleClick(row)
31
- setExpanded({ ...expanded, [row.id]: !row.getIsExpanded() })
32
- }
27
+ const handleOnExpand = (row: Row<DataType>) => {
28
+ onRowToggleClick && onRowToggleClick(row);
29
+ setExpanded({ ...expanded, [row.id]: !row.getIsExpanded() });
30
+ };
33
31
  const RowHasChildren = row.original.children ? true : false
34
32
  const renderButton = inlineRowLoading ? RowHasChildren : row.getCanExpand()
35
33
 
@@ -61,5 +59,5 @@ export const CustomCell = ({
61
59
  </FlexItem>
62
60
  </Flex>
63
61
  </div>
64
- )
65
- }
62
+ );
63
+ };
@@ -1,14 +1,11 @@
1
1
  import React from "react"
2
- import { Header } from "@tanstack/react-table"
3
-
4
- import { GenericObject } from "../../types"
5
-
6
2
  import Icon from "../../pb_icon/_icon"
7
-
3
+ import { Header } from "@tanstack/react-table"
4
+ import { DataType } from "../Utilities/types"
8
5
  import { displayIcon } from "../Utilities/IconHelpers"
9
6
 
10
7
  type SortIconButtonProps = {
11
- header: Header<GenericObject, unknown>
8
+ header: Header<DataType, unknown>
12
9
  sortIcon?: string | string[]
13
10
  }
14
11
  export const SortIconButton = ({ header, sortIcon }: SortIconButtonProps) => {
@@ -1,27 +1,23 @@
1
1
  import React, { useContext } from "react"
2
- import { Row, Table } from "@tanstack/react-table"
3
-
4
- import { GenericObject } from "../../types"
5
-
6
- import { GlobalProps } from "../../utilities/globalProps"
7
-
8
2
  import Flex from "../../pb_flex/_flex"
9
3
  import Caption from "../../pb_caption/_caption"
4
+ import { Row, Table } from "@tanstack/react-table"
10
5
 
6
+ import AdvancedTableContext from "../Context/AdvancedTableContext";
11
7
  import { ToggleIconButton } from "./ToggleIconButton"
12
8
  import { renderCollapsibleTrail } from "./CollapsibleTrail"
13
9
 
14
10
  import { isChrome } from "../Utilities/BrowserCheck"
15
-
16
- import AdvancedTableContext from "../Context/AdvancedTableContext"
11
+ import { DataType } from "../Utilities/types"
12
+ import { GlobalProps } from "../../utilities/globalProps"
17
13
 
18
14
  interface SubRowHeaderRowProps {
19
15
  collapsibleTrail?: boolean
20
16
  enableToggleExpansion?: "all" | "header" | "none"
21
- onClick: (row: Row<GenericObject>) => void
22
- row: Row<GenericObject>
17
+ onClick: (row: Row<DataType>) => void
18
+ row: Row<DataType>
23
19
  subRowHeaders?: string[]
24
- table: Table<GenericObject>
20
+ table: Table<DataType>
25
21
  }
26
22
 
27
23
  export const SubRowHeaderRow = ({
@@ -32,7 +28,7 @@ export const SubRowHeaderRow = ({
32
28
  subRowHeaders,
33
29
  table,
34
30
  }: SubRowHeaderRowProps & GlobalProps) => {
35
- const { inlineRowLoading } = useContext(AdvancedTableContext)
31
+ const { inlineRowLoading } = useContext(AdvancedTableContext);
36
32
 
37
33
  const numberOfColumns = table.getAllFlatColumns().length
38
34
  const rowHasChildren = row.original.children ? true : false
@@ -1,25 +1,20 @@
1
1
  import React, { useContext } from "react"
2
- import classnames from "classnames"
3
- import { flexRender, Header } from "@tanstack/react-table"
4
-
5
- import { GenericObject } from "../../types"
6
-
7
- import { GlobalProps } from "../../utilities/globalProps"
8
-
2
+ import classnames from "classnames";
9
3
  import Flex from "../../pb_flex/_flex"
4
+ import { flexRender, Header } from "@tanstack/react-table"
10
5
 
11
6
  import { SortIconButton } from "./SortIconButton"
12
7
  import { ToggleIconButton } from "./ToggleIconButton"
13
-
14
8
  import { isChrome } from "../Utilities/BrowserCheck"
15
-
9
+ import { DataType } from "../Utilities/types"
16
10
  import AdvancedTableContext from "../Context/AdvancedTableContext"
11
+ import { GlobalProps } from "../../utilities/globalProps"
17
12
 
18
13
  type TableHeaderCellProps = {
19
14
  enableSorting?: boolean
20
15
  enableToggleExpansion?: "all" | "header" | "none"
21
16
  handleExpandOrCollapse?: () => void
22
- header?: Header<GenericObject, unknown>
17
+ header?: Header<DataType, unknown>
23
18
  headerChildren?: React.ReactNode | React.ReactNode[]
24
19
  loading?: boolean
25
20
  sortIcon?: string | string[]
@@ -50,24 +45,24 @@ export const TableHeaderCell = ({
50
45
  const cellClassName = classnames("table-header-cells",
51
46
  `${isChrome() ? "chrome-styles" : ""}`,
52
47
  `${enableSorting ? "table-header-cells-active" : ""}`
53
- )
48
+ );
54
49
 
55
50
  const cellId = `${loading ?
56
51
  `loading-${header.id}`
57
52
  : `${header.id}`
58
- }`
53
+ }`;
59
54
 
60
55
  const isToggleExpansionEnabledLoading =
61
56
  header.index === 0 &&
62
57
  loading &&
63
58
  (enableToggleExpansion === "all" || "header") &&
64
- enableToggleExpansion !== "none"
59
+ enableToggleExpansion !== "none";
65
60
 
66
61
  const isToggleExpansionEnabled =
67
62
  header.index === 0 &&
68
63
  !loading &&
69
64
  (enableToggleExpansion === "all" || "header") &&
70
- enableToggleExpansion !== "none"
65
+ enableToggleExpansion !== "none";
71
66
 
72
67
  return (
73
68
  <th
@@ -1,17 +1,13 @@
1
1
  import React, { useContext } from "react"
2
- import { Row } from "@tanstack/react-table"
3
-
4
- import { GenericObject } from "../../types"
5
-
6
2
  import Icon from "../../pb_icon/_icon"
7
-
8
- import { displayIcon } from "../Utilities/IconHelpers"
9
-
3
+ import { Row } from "@tanstack/react-table"
10
4
  import AdvancedTableContext from "../Context/AdvancedTableContext"
5
+ import { DataType } from "../Utilities/types"
6
+ import { displayIcon } from "../Utilities/IconHelpers"
11
7
 
12
8
  interface ToggleIconButtonProps {
13
- onClick: (row: Row<GenericObject>) => void
14
- row?: Row<GenericObject>
9
+ onClick: (row: Row<DataType>) => void
10
+ row?: Row<DataType>
15
11
  }
16
12
 
17
13
  export const ToggleIconButton = ({ row, onClick }: ToggleIconButtonProps) => {
@@ -81,7 +81,7 @@ const MOCK_DATA = [
81
81
  graduatedStudents: "43",
82
82
  children: [
83
83
  {
84
- year: "2021",
84
+ year: "2011",
85
85
  quarter: "Q1",
86
86
  month: "February",
87
87
  day: "15",
@@ -173,7 +173,7 @@ const MOCK_DATA = [
173
173
  graduatedStudents: "43",
174
174
  children: [
175
175
  {
176
- year: "2022",
176
+ year: "2011",
177
177
  quarter: "Q1",
178
178
  month: "May",
179
179
  day: "2",
@@ -1,26 +1,22 @@
1
1
  import React, { useContext } from "react"
2
- import classnames from "classnames"
3
- import { flexRender, Row } from "@tanstack/react-table"
4
-
5
- import { GenericObject } from "../../types"
6
-
7
- import { buildCss } from "../../utilities/props"
8
- import { globalProps } from "../../utilities/globalProps"
9
- import { isChrome } from "../Utilities/BrowserCheck"
10
-
2
+ import classnames from "classnames";
3
+ import { buildCss } from "../../utilities/props";
4
+ import { globalProps } from "../../utilities/globalProps";
11
5
  import LoadingInline from "../../pb_loading_inline/_loading_inline"
6
+ import { flexRender, Row } from "@tanstack/react-table"
12
7
 
13
8
  import { SubRowHeaderRow } from "../Components/SubRowHeaderRow"
14
9
  import { LoadingCell } from "../Components/LoadingCell"
15
10
  import { renderCollapsibleTrail } from "../Components/CollapsibleTrail"
16
-
17
11
  import AdvancedTableContext from "../Context/AdvancedTableContext"
12
+ import { isChrome } from "../Utilities/BrowserCheck"
13
+ import { DataType } from "../Utilities/types"
18
14
 
19
15
  type TableBodyProps = {
20
- className?: string
16
+ className?: string;
21
17
  collapsibleTrail?: boolean
22
- dark?: boolean
23
- id?: string
18
+ dark?: boolean,
19
+ id?: string;
24
20
  subRowHeaders?: string[]
25
21
  }
26
22
 
@@ -46,14 +42,14 @@ export const TableBody = ({
46
42
  buildCss("pb_advanced_table_body"),
47
43
  globalProps(props),
48
44
  className
49
- )
45
+ );
50
46
 
51
47
  return (
52
48
  <>
53
49
  <tbody className={classes}
54
50
  id={id}
55
51
  >
56
- {table.getRowModel().rows.map((row: Row<GenericObject>) => {
52
+ {table.getRowModel().rows.map((row: Row<DataType>) => {
57
53
  const isExpandable = row.getIsExpanded()
58
54
  const isFirstChildofSubrow = row.depth > 0 && row.index === 0
59
55
  const rowHasNoChildren = row.original.children && !row.original.children.length ? true : false
@@ -1,22 +1,18 @@
1
1
  import React, { useContext } from "react"
2
- import classnames from "classnames"
2
+ import classnames from "classnames";
3
+ import { buildCss } from "../../utilities/props";
4
+ import { globalProps } from "../../utilities/globalProps";
3
5
  import { HeaderGroup } from "@tanstack/react-table"
4
-
5
- import { GenericObject } from "../../types"
6
-
7
- import { buildCss } from "../../utilities/props"
8
- import { globalProps } from "../../utilities/globalProps"
9
-
10
- import { TableHeaderCell } from "../Components/TableHeaderCell"
11
-
12
6
  import AdvancedTableContext from "../Context/AdvancedTableContext"
7
+ import { TableHeaderCell } from "../Components/TableHeaderCell"
8
+ import { DataType } from "../Utilities/types"
13
9
 
14
10
  type TableHeaderProps = {
15
11
  children?: React.ReactNode | React.ReactNode[]
16
12
  className?: string
17
13
  dark?: boolean,
18
14
  enableSorting?: boolean
19
- id?: string
15
+ id?: string;
20
16
  sortIcon?: string | string[]
21
17
  }
22
18
 
@@ -40,7 +36,7 @@ export const TableHeader = ({
40
36
  buildCss("pb_advanced_table_header"),
41
37
  globalProps(props),
42
38
  className
43
- )
39
+ );
44
40
 
45
41
 
46
42
  return (
@@ -49,7 +45,7 @@ export const TableHeader = ({
49
45
  id={id}
50
46
  >
51
47
  {/* Get the header groups (only one in this example) */}
52
- {table.getHeaderGroups().map((headerGroup: HeaderGroup<GenericObject>) => (
48
+ {table.getHeaderGroups().map((headerGroup: HeaderGroup<DataType>) => (
53
49
  <tr key={`${headerGroup.id}-headerGroup`}>
54
50
  {headerGroup.headers.map(header => (
55
51
  <TableHeaderCell
@@ -1,6 +1,5 @@
1
1
  import { RowModel } from "@tanstack/react-table"
2
- import { ExpandedStateObject } from "./types"
3
- import { GenericObject } from "../../types"
2
+ import { DataType, ExpandedStateObject } from "./types"
4
3
 
5
4
  const filterExpandableRows = (expandedState: Record<string, boolean>) => {
6
5
  for (const expandedRow in expandedState) {
@@ -12,31 +11,46 @@ const filterExpandableRows = (expandedState: Record<string, boolean>) => {
12
11
  }
13
12
 
14
13
  export const updateExpandAndCollapseState = (
15
- tableRows: RowModel<GenericObject>,
14
+ tableRows: RowModel<DataType>,
16
15
  expanded: Record<string, boolean>,
17
16
  targetParent: string
18
17
  ) => {
19
- const updateExpandedRows: Record<string, boolean> = {};
20
- const rows = tableRows.rows;
21
-
22
- let isExpansionConsistent = true;
23
- const areRowsExpanded = new Set<boolean>();
18
+ const updateExpandedRows: Record<string, boolean> = {}
19
+ const rows = tableRows.flatRows
20
+ // Variable checks if all rows in a section have same expansion state or not
21
+ let isExpansionConsistent = true
22
+ const areRowsExpanded = new Set<boolean>()
24
23
 
24
+ // Update isExpansionConsistent variable
25
25
  for (const row of rows) {
26
- const shouldBeUpdated = targetParent === undefined ? row.depth === 0 : targetParent === row.parentId;
27
-
28
- if (shouldBeUpdated) {
29
- const isExpanded = row.getIsExpanded();
30
- areRowsExpanded.add(isExpanded);
31
-
32
- updateExpandedRows[row.id] = !isExpansionConsistent ? true : !isExpanded;
33
-
26
+ if (
27
+ targetParent === undefined
28
+ ? row.depth === 0
29
+ : targetParent === row.parentId
30
+ ) {
31
+ areRowsExpanded.add(row.getIsExpanded())
34
32
  if (areRowsExpanded.size > 1) {
35
- isExpansionConsistent = false;
36
- // If expansion inconsistent, ensure all target rows are set to expand
37
- for (const key in updateExpandedRows) {
38
- updateExpandedRows[key] = true;
39
- }
33
+ isExpansionConsistent = false
34
+ break
35
+ }
36
+ }
37
+ }
38
+
39
+ // The if statement runs only for row depth 0, the else statement for the rest
40
+ if (targetParent === undefined) {
41
+ rows.forEach(row => {
42
+ if (row.depth === 0) {
43
+ updateExpandedRows[row.id] = !isExpansionConsistent
44
+ ? true
45
+ : !row.getIsExpanded()
46
+ }
47
+ })
48
+ } else {
49
+ for (const row of rows) {
50
+ if (targetParent === row.parentId) {
51
+ updateExpandedRows[row.id] = !isExpansionConsistent
52
+ ? true
53
+ : !row.getIsExpanded()
40
54
  }
41
55
  }
42
56
  }
@@ -44,5 +58,5 @@ export const updateExpandAndCollapseState = (
44
58
  return filterExpandableRows({
45
59
  ...(expanded as ExpandedStateObject),
46
60
  ...updateExpandedRows,
47
- });
48
- };
61
+ })
62
+ }
@@ -4,3 +4,5 @@ export type ExpandedStateObject = Extract<
4
4
  ExpandedState,
5
5
  Record<string, boolean>
6
6
  >
7
+
8
+ export type DataType = { [key: string]: any }
@@ -4,7 +4,6 @@
4
4
  @import "../tokens/spacing";
5
5
  @import "./scss_partials/loading";
6
6
  @import "./scss_partials/pseudo_states";
7
- @import "./scss_partials/chrome_styles";
8
7
 
9
8
  .pb_advanced_table {
10
9
  $border-color: 1px solid $border_light !important;
@@ -83,15 +82,18 @@
83
82
 
84
83
  // Vertical separator
85
84
  .table-header-cells:first-child,
86
- td:first-child,
87
- .pb_table_td:first-child {
88
- box-shadow: 1px 0px 0px 0px $border_light !important;
85
+ td:first-child {
86
+ box-shadow: 1px 0px 0px 0px #e4e8f0 !important;
89
87
  }
90
88
 
91
- @include chrome_styles($border-color);
89
+ .chrome-styles:first-child {
90
+ border-right: $border-color;
91
+ }
92
92
 
93
- tr:hover {
94
- position: relative;
93
+ .table-card {
94
+ .chrome-styles:first-child {
95
+ border-right: $transparent !important;
96
+ }
95
97
  }
96
98
 
97
99
  &.dark {