@@ -21,86 +21,123 @@ div.needstable_wrapper {
2121 padding : 0 ;
2222}
2323
24- /* These are "overrides" for CSS added by the bundled https://datatables.net JS package */
24+ table .docutils .docutils td , table .docutils .docutils th {
25+ background : var (--sn-color-datatable-body-bg );
26+ border : 1px solid var (--sn-color-table-border );
27+ color : var (--sn-color-datatable-label );
28+ }
2529
26- table .dataTable {
27- border-collapse : collapse;
28- border : none;
30+ table .docutils .docutils th {
31+ border-bottom : 1px solid var (--sn-color-datatable-btn-border );
2932}
33+ /* GridJS styles for to override the default GridJS styles
34+ to match the Sphinx Needs theme and to ensure a consistent look and feel
35+ with the rest of the Sphinx Needs documentation.
3036
31- table .dataTable tbody tr {
32- background-color : var (--sn-color-datatable-body-bg );
37+ The 3 sections of a GridJS container .gridjs-head, .gridjs-wrapper and .gridjs-footer */
38+ div .gridjs-container {
39+ color : var (--sn-color-datatable-label );
3340}
3441
35- div .dataTables_length {
36- margin-bottom : 10px ;
42+ div .gridjs-wrapper {
43+ border-radius : 0px ;
44+ box-shadow : none;
3745}
3846
39- div .dataTables_wrapper {
40- overflow-x : auto;
41- padding : 0px 5px ;
42- /*Space needed for table borders */
47+ div .gridjs-footer {
48+ background-color : var (--sn-color-datatable-body-bg );
49+ border : 1px solid var (--sn-color-datatable-btn-border );
50+ box-shadow : none;
51+ padding : 12px ;
52+ border-top-width : 0px ;
4353}
4454
45- . dataTables_wrapper . dataTables_paginate . paginate_button {
46- padding : 0.15 em 0.75 em ;
47- background : none ;
55+ /* .gridjs-head */
56+ . gridjs-search {
57+ float : left ;
4858}
4959
50- .dataTables_wrapper .dataTables_paginate .paginate_button .current ,
51- .dataTables_wrapper .dataTables_paginate .paginate_button .current : hover {
52- background : none;
60+ div .gridjs-download-btns {
61+ float : right;
5362}
5463
55- div .dataTables_length select {
56- background : none;
57- color : var (--sn-color-datatable-label );
58- border : 1px solid var (--sn-color-datatable-btn-border );
59- border-radius : 2px ;
64+ div .gridjs-download-btns button {
65+ border-radius : 6px ;
66+ outline : 0 ;
67+ -webkit-user-select : none;
68+ -moz-user-select : none;
69+ user-select : none;
6070 cursor : pointer;
71+ margin-left : 10px ;
6172}
6273
63- div .dt-buttons {
64- margin-left : 0.5em ;
74+ /* .gridjs-wrapper */
75+ .gridjs-wrapper .scrolled .gridjs-th-fixed {
76+ background-color : # 4f4f4f54 ;
77+ z-index : 999 ;
78+ outline : 1px solid var (--sn-color-table-border );
6579}
6680
67- div .dt-buttons button {
68- padding : 0.1em 1em ;
69- border : 1px solid var (--sn-color-datatable-btn-border );
70- border-radius : 2px ;
71- font-size : 0.88em ;
72- line-height : inherit;
81+ table thead .gridjs-thead th .gridjs-th {
82+ padding : 8px ;
83+ }
84+
85+ th .gridjs-th .gridjs-th-content {
86+ text-overflow : initial;
87+ white-space : normal;
88+ word-wrap : break-word;
89+ }
90+
91+ button .gridjs-sort-neutral , button .gridjs-sort-asc , button .gridjs-sort-desc {
92+ filter : brightness (0 ) saturate (100% ) invert (40% ) sepia (10% ) saturate (366% ) hue-rotate (182deg ) brightness (94% ) contrast (89% );
93+ }
94+ tbody .gridjs-tbody {
95+ background-color : var (--sn-color-datatable-body-bg );
96+ }
97+
98+ table tbody .gridjs-tbody td .gridjs-td {
99+ padding : 8px ;
100+ }
101+ /* .gridjs-footer */
102+ .gridjs-pagination {
73103 color : var (--sn-color-datatable-label );
74- white-space : nowrap;
75- overflow : hidden;
76- background-color : inherit;
77- background-image : none;
78104}
79105
80- .dataTables_wrapper .dataTables_filter input {
81- max-width : 100px ;
106+ .gridjs-pagination .gridjs-pages button {
107+ background-color : var (--sn-color-datatable-body-bg );
108+ color : var (--sn-color-datatable-label );
82109 border : 1px solid var (--sn-color-datatable-btn-border );
83- margin-bottom : 10px ;
84- background-color : transparent;
85- border-radius : 2px ;
110+ padding : 8px ;
111+ border-right : none
86112}
87113
88- .dataTables_wrapper .dataTables_wrapper .dataTables_length ,
89- .dataTables_wrapper .dataTables_wrapper .dataTables_filter ,
90- .dataTables_wrapper .dataTables_wrapper .dataTables_info ,
91- .dataTables_wrapper .dataTables_wrapper .dataTables_processing {
114+ .gridjs-pagination .gridjs-pages button : hover {
115+ background-color : var (--sn-color-datatable-body-bg );
92116 color : var (--sn-color-datatable-label );
117+ opacity : 0.7 ;
93118}
94119
95- .dataTables_wrapper .dataTables_wrapper .dataTables_paginate ,
96- .dataTables_wrapper .dataTables_wrapper .dataTables_paginate a .paginate_button ,
97- .dataTables_wrapper .dataTables_wrapper .dataTables_paginate a .paginate_button .current {
98- /* datatables set this as !important, so unfortunately we have to do the same */
99- color : var (--sn-color-datatable-label ) !important ;
120+ .gridjs-pagination .gridjs-pages button : disabled , .gridjs-pagination .gridjs-pages button : hover : disabled , .gridjs-pagination .gridjs-pages button [disabled ] {
121+ background-color : var (--sn-color-datatable-body-bg );
122+ filter : saturate (0.25 );
123+ }
124+ .gridjs-pagination .gridjs-pages button .gridjs-currentPage {
125+ background-color : var (--sn-color-datatable-body-bg );
126+ color : var (--sn-color-datatable-label );
127+ font-weight : bolder;
128+ }
129+ .gridjs-pagination .gridjs-pages button .gridjs-spread {
130+ background-color : var (--sn-color-datatable-body-bg );
100131}
101132
102- .dataTables_wrapper . dataTables_wrapper . dataTables_paginate a . paginate_button . disabled {
103- filter : saturate ( 0.5 );
133+ .gridjs-pagination . gridjs-pages button : last-child {
134+ border : 1 px solid var ( --sn-color-datatable-btn-border );
104135}
105136
106- /* TODO: Ideally, if there is only one page, then the paginate buttons should be hidden. */
137+ /* Other GridJS style override */
138+ input .gridjs-input , div .gridjs-download-btns button {
139+ background-color : var (--sn-color-datatable-body-bg );
140+ color : var (--sn-color-datatable-label );
141+ border : 1px solid var (--sn-color-datatable-btn-border );
142+ padding : 8px ;
143+ }
0 commit comments