playbook_ui 14.23.0.pre.alpha.PLAY2329atstickypinnedborderbug9195 → 14.23.0.pre.alpha.PLAY2329atstickypinnedborderbug9290

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 (28) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +0 -1
  3. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +72 -202
  4. data/app/pb_kits/playbook/pb_advanced_table/scss_partials/advanced_table_sticky_mixin.scss +23 -82
  5. data/app/pb_kits/playbook/pb_pagination/_pagination.tsx +4 -0
  6. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_default_rails.md +3 -1
  7. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_default_react.md +3 -1
  8. data/app/pb_kits/playbook/pb_table/styles/_vertical_border.scss +49 -1
  9. data/dist/chunks/_weekday_stacked-9aguRqOv.js +37 -0
  10. data/dist/chunks/vendor.js +1 -1
  11. data/dist/menu.yml +0 -7
  12. data/dist/playbook-doc.js +2 -2
  13. data/dist/playbook-rails-react-bindings.js +1 -1
  14. data/dist/playbook.css +1 -1
  15. data/lib/playbook/version.rb +1 -1
  16. metadata +3 -14
  17. data/app/pb_kits/playbook/pb_walkthrough/_walkthrough.scss +0 -0
  18. data/app/pb_kits/playbook/pb_walkthrough/_walkthrough.tsx +0 -202
  19. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_continuous.jsx +0 -69
  20. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_default.jsx +0 -71
  21. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_multi_beacon.jsx +0 -110
  22. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_no_beacon.jsx +0 -76
  23. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_no_overlay.jsx +0 -76
  24. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_styled.jsx +0 -76
  25. data/app/pb_kits/playbook/pb_walkthrough/docs/example.yml +0 -10
  26. data/app/pb_kits/playbook/pb_walkthrough/docs/index.js +0 -6
  27. data/app/pb_kits/playbook/pb_walkthrough/walkthrough.test.jsx +0 -34
  28. data/dist/chunks/_weekday_stacked-DknbEzxo.js +0 -61
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b96d3a0381d1287381a4e4710195c3de301ad5111d253b7696bcc924ee07d64b
4
- data.tar.gz: a7edecaa9a5b25b1ade245fcc75f676b81afba59a1854de383e21455a59cd457
3
+ metadata.gz: ec6e22d146bd1ff341e56765b3e1560989c9764ac462948b960e1192750b2d43
4
+ data.tar.gz: 21ec675f83a591ace91910d47d2a6c6302384b208dac33ee0d38b6ac4fc80ec6
5
5
  SHA512:
6
- metadata.gz: 423154dcdaf011bd7a264a4d8c99a8c39325369b06f1ff532b8441560efec2d5e160cd71280cc5666fa2cdf5dea1e442c434c7352fd940d148f83c346c3cda03
7
- data.tar.gz: 29ed4759baa9ed51cc06f4aa1dc98996b9fed1ccb2b4da994be9cc4ef68055300cc19048751b7e8615a24ae9fd7930d129df8a60fc74ea02241b3213e0737b30
6
+ metadata.gz: 82a316c9f93430aab135a5ed1cd7dd71f451a3d0886f1507911e9d0d995a83b69e128fb89544d568d65185357999dc8ff0a183c75ba9f9ea6f6d79338ee390df
7
+ data.tar.gz: e5c123abef4b47a1179c95032a11cba418f63880a67823f33dec64805f1b585b64cd95951e5eaafb6bd377646e41149ff01a009cbf9cfd56123740bafe7088d7
@@ -107,7 +107,6 @@
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';
111
110
  @import 'pb_weekday_stacked/weekday_stacked';
112
111
  @import 'pb_empty_state/empty_state';
113
112
  @import 'utilities/mixins';
@@ -593,115 +593,6 @@
593
593
  }
594
594
  }
595
595
 
596
- // Ensure vertical borders work with non-container tables
597
- .pb_table:not(.table-card) {
598
- &.vertical-border {
599
- // Sticky header with vertical borders
600
- &.sticky-header {
601
- thead th:not(:last-child) {
602
- border-right: 1px solid $border_light !important;
603
- }
604
- }
605
-
606
- // Regular table cells with vertical borders
607
- td:not(:last-child),
608
- th:not(:last-child),
609
- .pb_table_td:not(:last-child),
610
- .pb_table_th:not(:last-child) {
611
- border-right: 1px solid $border_light !important;
612
- }
613
- }
614
- }
615
-
616
- // Pinned rows should maintain vertical borders regardless of container prop
617
- .pinned-row {
618
- position: sticky !important;
619
- z-index: 2 !important;
620
-
621
- &.pb_table_tr,
622
- tr {
623
- // Apply right border to ALL cells including last one when verticalBorder is true
624
- td,
625
- .pb_table_td {
626
- border-right: 1px solid var(--column-border-color, $border_light) !important;
627
- }
628
- }
629
- }
630
-
631
- // Specific fixes for vertical borders with sticky elements
632
- .pb_table.vertical-border {
633
-
634
- &.sticky-header {
635
- thead th {
636
- border-right: 1px solid $border_light !important;
637
- border-left: none !important;
638
- border-top: none !important;
639
- }
640
- }
641
-
642
- .pinned-row {
643
- td,
644
- .pb_table_td {
645
- border-right: 1px solid var(--column-border-color, $border_light) !important;
646
- border-left: none !important;
647
- border-top: none !important;
648
- }
649
- }
650
-
651
- // Ensure non-container tables don't get unwanted borders
652
- &:not(.table-card) {
653
- thead th,
654
- td,
655
- .pb_table_td {
656
- border-left: none !important;
657
- border-top: none !important;
658
- }
659
- }
660
- }
661
-
662
- // Firefox-specific
663
- @-moz-document url-prefix() {
664
- .pb_table.vertical-border {
665
-
666
- &.sticky-header {
667
- thead th {
668
- border: none !important;
669
- // Use box-shadow for both right border AND bottom border
670
- box-shadow:
671
- inset -1px 0 0 0 $border_light, // Right border
672
- inset 0 -1px 0 0 $border_light !important; // Bottom border
673
- }
674
- }
675
-
676
- .pinned-row {
677
- td,
678
- .pb_table_td {
679
- border: none !important;
680
- // Use box-shadow for right border on ALL cells including last
681
- box-shadow: inset -1px 0 0 0 var(--column-border-color, $border_light) !important;
682
- }
683
- }
684
-
685
- // Override regular table cells to use consistent border method
686
- &:not(.table-card) {
687
- td:not(.pinned-row td),
688
- .pb_table_td:not(.pinned-row .pb_table_td) {
689
- // Remove conflicting borders and use box-shadow instead
690
- border-right: none !important;
691
- border-left: none !important;
692
- border-top: none !important;
693
- // Apply consistent right border using box-shadow
694
- box-shadow: inset -1px 0 0 0 $border_light !important;
695
- }
696
- }
697
-
698
- // Override the original left border shadow from main style, but keep other shadows
699
- .pb_table_td:nth-child(2) {
700
- box-shadow: none !important;
701
- }
702
- }
703
- }
704
-
705
596
  @include chrome_styles($border-color);
706
597
 
707
598
  tr:hover {
@@ -881,102 +772,11 @@
881
772
  box-shadow: 1px 0px 0px 0px var(--column-border-color) !important;
882
773
  }
883
774
 
884
- // Dark mode adjustments for non-container tables
885
- .pb_table:not(.table-card) {
886
- &.vertical-border {
887
- &.sticky-header {
888
- thead th:not(:last-child) {
889
- border-right: 1px solid $border_dark !important;
890
- }
891
- }
892
-
893
- td:not(:last-child),
894
- th:not(:last-child),
895
- .pb_table_td:not(:last-child),
896
- .pb_table_th:not(:last-child) {
897
- border-right: 1px solid $border_dark !important;
898
- }
899
- }
900
- }
901
-
902
- // Dark mode pinned rows
903
- .pinned-row {
904
- &.pb_table_tr,
905
- tr {
906
- // Apply right border to ALL cells including last one in dark mode
907
- td,
908
- .pb_table_td {
909
- border-right: 1px solid var(--column-border-color, $border_dark) !important;
910
- }
911
- }
912
- }
913
-
914
- // Dark mode browser-specific fixes
915
- .pb_table.vertical-border {
916
- &.sticky-header {
917
- thead th {
918
- border-right: 1px solid $border_dark !important;
919
- border-left: none !important;
920
- border-top: none !important;
921
- }
922
- }
923
-
924
- .pinned-row {
925
- td,
926
- .pb_table_td {
927
- border-right: 1px solid var(--column-border-color, $border_dark) !important;
928
- border-left: none !important;
929
- border-top: none !important;
930
- }
931
- }
932
- }
933
-
934
- // Dark mode Firefox
935
- @-moz-document url-prefix() {
936
- .pb_table.vertical-border {
937
-
938
- &.sticky-header {
939
- thead th {
940
- border: none !important;
941
- // Use box-shadow for both right border AND bottom border
942
- box-shadow:
943
- inset -1px 0 0 0 $border_dark, // Right border
944
- inset 0 -1px 0 0 $border_dark !important; // Bottom border
945
- }
946
- }
947
-
948
- .pinned-row {
949
- td,
950
- .pb_table_td {
951
- border: none !important;
952
- // Use box-shadow for right border on ALL cells including last
953
- box-shadow: inset -1px 0 0 0 var(--column-border-color, $border_dark) !important;
954
- }
955
- }
956
-
957
- // Override regular table cells to use consistent border method in dark mode
958
- &:not(.table-card) {
959
- td:not(.pinned-row td),
960
- .pb_table_td:not(.pinned-row .pb_table_td) {
961
- // Remove conflicting borders and use box-shadow instead
962
- border-right: none !important;
963
- border-left: none !important;
964
- border-top: none !important;
965
- // Apply consistent right border using box-shadow
966
- box-shadow: inset -1px 0 0 0 $border_dark !important;
967
- }
968
- }
969
-
970
- // Override the original left border shadow from main CSS, but keep other shadows
971
- .pb_table_td:nth-child(2) {
972
- box-shadow: none !important;
973
- }
974
- }
975
- }
976
-
977
775
  // Apply border colors in dark mode
978
776
  &[class*="column-group-border-"] {
777
+ // For top-level column groups (ENROLLMENT DATA, PERFORMANCE DATA)
979
778
  .pb_advanced_table_header {
779
+ // The main column group headers - NOT the last column
980
780
  > tr:first-child {
981
781
  th[colspan]:not([colspan="1"]):not(:last-child) {
982
782
  border-right: 1px solid var(--column-border-color) !important;
@@ -1162,6 +962,76 @@
1162
962
  }
1163
963
  }
1164
964
  }
965
+
966
+ // Firefox-specific fix for last-header-cell and last-cell vertical borders
967
+ @-moz-document url-prefix() {
968
+ .pb_advanced_table_header {
969
+ .last-header-cell {
970
+ border-right: none !important;
971
+ box-shadow: 1px 0 0 0 $border_light !important;
972
+ }
973
+ }
974
+
975
+ .pb_advanced_table_body {
976
+ .last-cell {
977
+ border-right: none !important;
978
+ box-shadow: 1px 0 0 0 $border_light !important;
979
+ }
980
+ }
981
+
982
+ // Handle the custom column border colors for last cells in Firefox
983
+ &[class*="column-group-border-"] {
984
+ .pb_advanced_table_header {
985
+ .last-header-cell{
986
+ border-right: none !important;
987
+ box-shadow: 1px 0 0 0 var(--column-border-color) !important;
988
+ }
989
+ }
990
+
991
+ .pb_advanced_table_body {
992
+ .last-cell,
993
+ tr.virtualized-table-row .last-cell {
994
+ border-right: none !important;
995
+ box-shadow: 1px 0 0 0 var(--column-border-color) !important;
996
+ }
997
+ }
998
+ }
999
+
1000
+ // Dark mode Firefox fixes
1001
+ &.dark {
1002
+ .pb_advanced_table_header {
1003
+ .last-header-cell {
1004
+ border-right: none !important;
1005
+ box-shadow: 1px 0 0 0 $border_dark !important;
1006
+ }
1007
+ }
1008
+
1009
+ .pb_advanced_table_body {
1010
+ .last-cell {
1011
+ border-right: none !important;
1012
+ box-shadow: 1px 0 0 0 $border_dark !important;
1013
+ }
1014
+ }
1015
+
1016
+ // Handle the custom column border colors for last cells in dark mode Firefox
1017
+ &[class*="column-group-border-"] {
1018
+ .pb_advanced_table_header {
1019
+ .last-header-cell {
1020
+ border-right: none !important;
1021
+ box-shadow: 1px 0 0 0 var(--column-border-color) !important;
1022
+ }
1023
+ }
1024
+
1025
+ .pb_advanced_table_body {
1026
+ .last-cell,
1027
+ tr.virtualized-table-row .last-cell {
1028
+ border-right: none !important;
1029
+ box-shadow: 1px 0 0 0 var(--column-border-color) !important;
1030
+ }
1031
+ }
1032
+ }
1033
+ }
1034
+ }
1165
1035
  }
1166
1036
 
1167
1037
  // Outside of the pb_advanced_table class for popover
@@ -8,31 +8,27 @@
8
8
  border-radius: 4px;
9
9
  box-shadow: 1px 0 0 0px $border-color, -1px 0 0 0px $border-color;
10
10
  display: block;
11
-
12
- // Handle both table-card and non-table-card cases
13
11
  [class^="pb_table"].table-sm.table-card thead tr th:first-child,
14
- [class^="pb_table"].table-sm:not(.no-hover).table-card tbody tr td:first-child,
15
- [class^="pb_table"].table-sm:not(.table-card) thead tr th:first-child,
16
- [class^="pb_table"].table-sm:not(.no-hover):not(.table-card) tbody tr td:first-child {
12
+ [class^="pb_table"].table-sm:not(.no-hover).table-card
13
+ tbody
14
+ tr
15
+ td:first-child {
17
16
  border-left-width: 0px !important;
18
17
  }
19
-
20
18
  [class^="pb_table"].table-sm.table-card thead tr th:last-child,
21
- [class^="pb_table"].table-sm:not(.no-hover).table-card tbody tr td:last-child,
22
- [class^="pb_table"].table-sm:not(.table-card) thead tr th:last-child,
23
- [class^="pb_table"].table-sm:not(.no-hover):not(.table-card) tbody tr td:last-child {
19
+ [class^="pb_table"].table-sm:not(.no-hover).table-card
20
+ tbody
21
+ tr
22
+ td:last-child {
24
23
  border-right-width: 0px;
25
24
  }
26
-
27
25
  [class^="pb_table"].table-sm.table-card tbody tr:last-child td:first-child,
28
- [class^="pb_table"].table-sm.table-card tbody tr:last-child td:last-child,
29
- [class^="pb_table"].table-sm:not(.table-card) tbody tr:last-child td:first-child,
30
- [class^="pb_table"].table-sm:not(.table-card) tbody tr:last-child td:last-child {
26
+ [class^="pb_table"].table-sm.table-card tbody tr:last-child td:last-child {
31
27
  border-radius: 0 0 0 0;
32
28
  }
33
-
34
- // Only apply sticky positioning to specific elements
35
29
  .table-header-cells:first-child,
30
+ td:first-child,
31
+ .pb_table_td:first-child,
36
32
  .checkbox-cell.checkbox-cell-header:first-child,
37
33
  .table-header-cells.sticky-left,
38
34
  [class*="pinned-left"] {
@@ -43,87 +39,35 @@
43
39
  z-index: 2;
44
40
  }
45
41
 
46
- // Only apply to pinned rows
47
- .pinned-row {
48
- td:first-child,
49
- .pb_table_td:first-child {
50
- background-color: $bg-main;
51
- box-shadow: $shadow_deep !important;
52
- position: sticky !important;
53
- left: 0;
54
- z-index: 3; // Higher z-index for pinned rows
55
- }
56
- }
57
-
58
- // For tables with verticalBorder, ensure sticky elements maintain their borders
59
- [class^="pb_table"].vertical-border {
60
- .table-header-cells:first-child,
61
- .checkbox-cell.checkbox-cell-header:first-child,
62
- .table-header-cells.sticky-left {
63
- // Maintain right border for vertical border styling when sticky
64
- &:not(:last-child) {
65
- border-right: 1px solid $border-color !important;
66
- }
67
- }
68
-
69
- // Ensure pinned rows maintain vertical borders
70
- .pinned-row {
71
- td:not(:last-child),
72
- .pb_table_td:not(:last-child) {
73
- border-right: 1px solid $border-color !important;
74
- }
75
- }
76
-
77
- // Handle sticky header with vertical borders
78
- &.sticky-header thead th {
79
- &:not(:last-child) {
80
- border-right: 1px solid $border-color !important;
81
- }
82
- }
83
- }
84
-
85
42
  .bg-silver {
86
- .table-header-cells:first-child,
87
- .pinned-row td:first-child,
88
- .pinned-row .pb_table_td:first-child,
43
+ td:first-child,
89
44
  .sticky-left {
90
45
  background-color: $bg-secondary;
91
46
  }
92
47
  }
93
-
94
48
  .bg-row-selection {
95
- .table-header-cells:first-child,
96
- .pinned-row td:first-child,
97
- .pinned-row .pb_table_td:first-child,
49
+ td:first-child,
98
50
  .sticky-left {
99
51
  background-color: $highlight;
100
52
  }
101
53
  }
102
54
 
103
55
  .bg-white {
104
- .table-header-cells:first-child,
105
- .pinned-row td:first-child,
106
- .pinned-row .pb_table_td:first-child,
56
+ td:first-child,
107
57
  .sticky-left {
108
58
  background-color: $bg-main;
109
59
  }
110
60
  }
111
61
 
112
62
  .virtualized-table-row {
113
- &.bg-silver {
114
- &.pinned-row td:first-child {
115
- background-color: $bg-secondary;
116
- }
63
+ &.bg-silver td:first-child {
64
+ background-color: $bg-secondary;
117
65
  }
118
- &.bg-white {
119
- &.pinned-row td:first-child {
120
- background-color: $bg-main;
121
- }
66
+ &.bg-white td:first-child {
67
+ background-color: $bg-main;
122
68
  }
123
- &.bg-row-selection {
124
- &.pinned-row td:first-child {
125
- background-color: $highlight;
126
- }
69
+ &.bg-row-selection td:first-child {
70
+ background-color: $highlight;
127
71
  }
128
72
  }
129
73
 
@@ -161,17 +105,14 @@
161
105
 
162
106
  &.dark {
163
107
  .bg-row-selection {
164
- .pinned-row td:first-child,
165
- .pinned-row .pb_table_td:first-child,
108
+ td:first-child,
166
109
  .sticky-left {
167
110
  background-color: $highlight-dark;
168
111
  }
169
112
  }
170
113
  .virtualized-table-row {
171
- &.bg-row-selection {
172
- &.pinned-row td:first-child {
173
- background-color: $highlight-dark;
174
- }
114
+ &.bg-row-selection td:first-child {
115
+ background-color: $highlight-dark;
175
116
  }
176
117
  }
177
118
  }
@@ -134,6 +134,10 @@ const Pagination = ( props: PaginationProps) => {
134
134
  className
135
135
  )
136
136
 
137
+ if (total <= 1) {
138
+ return null;
139
+ }
140
+
137
141
  return (
138
142
  <div
139
143
  {...ariaProps}
@@ -3,4 +3,6 @@ Our Pagination kit depends on the <a href="https://github.com/mislav/will_pagina
3
3
 
4
4
  Once you have perfomed the paginated query in your controller file you can use our kit (see code example below) instead of `<%= will_paginate @users %>` in your view file.
5
5
 
6
- You need to add: <code>require "playbook/pagination_renderer"</code> in your apps controller file.
6
+ You need to add: <code>require "playbook/pagination_renderer"</code> in your apps controller file.
7
+
8
+ Note: If the total page count is 0 or 1, the Pagination kit will not be displayed as there aren't multiple pages to navigate.
@@ -1 +1,3 @@
1
- The `range` prop determines how many pages to display in the Pagination component. Regardless of this value, the first two and last two pages are always visible to facilitate navigation to the beginning and end of the pagination. If these always-visible pages fall within the specified range, they are included in the display. If they fall outside the range, the pagination will show additional pages up to the number defined by the `range` prop.
1
+ The `range` prop determines how many pages to display in the Pagination component. Regardless of this value, the first two and last two pages are always visible to facilitate navigation to the beginning and end of the pagination. If these always-visible pages fall within the specified range, they are included in the display. If they fall outside the range, the pagination will show additional pages up to the number defined by the `range` prop.
2
+
3
+ Note: If the `total` pages prop is 0 or 1, the Pagination component will not be displayed, as there aren't multiple pages to navigate.
@@ -7,7 +7,7 @@
7
7
  thead tr:not(:first-child) th {
8
8
  border-right: 1px solid $border_light !important;
9
9
  }
10
-
10
+
11
11
  @media screen and (min-width: $screen-xs-min) {
12
12
  tr:hover, .pb_table_tr:hover {
13
13
  td:last-child, .pb_table_td:last-child {
@@ -15,5 +15,53 @@
15
15
  }
16
16
  }
17
17
  }
18
+
19
+ // Firefox-specific fix for sticky elements
20
+ @-moz-document url-prefix() {
21
+ // Target sticky headers
22
+ &.sticky-header {
23
+ th:not(:last-child) {
24
+ border-right: none !important;
25
+ box-shadow: 1px 0 0 0 $border_light !important;
26
+ }
27
+
28
+ .pb_advanced_table_body {
29
+ .pinned-row {
30
+ td:not(:first-child):not(:last-child) {
31
+ border-right: none !important;
32
+ box-shadow: 1px 0 0 0 $border_light !important;
33
+ }
34
+ }
35
+ }
36
+ }
37
+
38
+ // Target sticky left columns
39
+ &.sticky-left-column {
40
+ td[style="left"], th[style="left"] {
41
+ border-right: none !important;
42
+ box-shadow: 1px 0 0 0 $border_light !important;
43
+ }
44
+ }
45
+
46
+ // Target sticky right columns
47
+ &.sticky-right-column {
48
+ td[style="right"], th[style="right"] {
49
+ border-right: none !important;
50
+ box-shadow: 1px 0 0 0 $border_light !important;
51
+ }
52
+ }
53
+
54
+ // Handle hover states in Firefox
55
+ @media screen and (min-width: $screen-xs-min) {
56
+ tr:hover, .pb_table_tr:hover {
57
+ td:last-child, .pb_table_td:last-child {
58
+ &[style="left"], &[style="right"] {
59
+ border-right: none !important;
60
+ box-shadow: 1px 0 0 0 darken($border_light, 10%) !important;
61
+ }
62
+ }
63
+ }
64
+ }
65
+ }
18
66
  }
19
67
  }