tabulator-tables 6.5.0 → 6.5.1

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 (222) hide show
  1. package/dist/js/tabulator.js +1 -1
  2. package/dist/js/tabulator.min.js +1 -1
  3. package/dist/js/tabulator_esm.js +1 -1
  4. package/dist/js/tabulator_esm.min.js +1 -1
  5. package/dist/js/tabulator_esm.min.mjs +1 -1
  6. package/dist/js/tabulator_esm.mjs +1 -1
  7. package/package.json +2 -1
  8. package/src/js/builds/esm.js +16 -0
  9. package/src/js/builds/jquery_wrapper.js +63 -0
  10. package/src/js/builds/usd.js +1 -0
  11. package/src/js/core/ColumnManager.js +789 -0
  12. package/src/js/core/CoreFeature.js +140 -0
  13. package/src/js/core/FooterManager.js +102 -0
  14. package/src/js/core/Module.js +140 -0
  15. package/src/js/core/RowManager.js +1140 -0
  16. package/src/js/core/Tabulator.js +928 -0
  17. package/src/js/core/TabulatorFull.js +21 -0
  18. package/src/js/core/cell/Cell.js +299 -0
  19. package/src/js/core/cell/CellComponent.js +79 -0
  20. package/src/js/core/column/Column.js +978 -0
  21. package/src/js/core/column/ColumnComponent.js +151 -0
  22. package/src/js/core/column/defaults/options.js +18 -0
  23. package/src/js/core/defaults/options.js +66 -0
  24. package/src/js/core/modules/core.js +3 -0
  25. package/src/js/core/modules/optional.js +37 -0
  26. package/src/js/core/rendering/Renderer.js +204 -0
  27. package/src/js/core/rendering/renderers/BasicHorizontal.js +27 -0
  28. package/src/js/core/rendering/renderers/BasicVertical.js +103 -0
  29. package/src/js/core/rendering/renderers/VirtualDomHorizontal.js +587 -0
  30. package/src/js/core/rendering/renderers/VirtualDomVertical.js +642 -0
  31. package/src/js/core/row/PseudoRow.js +47 -0
  32. package/src/js/core/row/Row.js +487 -0
  33. package/src/js/core/row/RowComponent.js +94 -0
  34. package/src/js/core/tools/Alert.js +66 -0
  35. package/src/js/core/tools/ComponentFunctionBinder.js +32 -0
  36. package/src/js/core/tools/DataLoader.js +128 -0
  37. package/src/js/core/tools/DependencyRegistry.js +82 -0
  38. package/src/js/core/tools/DeprecationAdvisor.js +51 -0
  39. package/src/js/core/tools/ExternalEventBus.js +105 -0
  40. package/src/js/core/tools/Helpers.js +66 -0
  41. package/src/js/core/tools/InteractionMonitor.js +329 -0
  42. package/src/js/core/tools/InternalEventBus.js +162 -0
  43. package/src/js/core/tools/ModuleBinder.js +153 -0
  44. package/src/js/core/tools/OptionsList.js +45 -0
  45. package/src/js/core/tools/Popup.js +317 -0
  46. package/src/js/core/tools/TableRegistry.js +65 -0
  47. package/src/js/modules/Accessor/Accessor.js +115 -0
  48. package/src/js/modules/Accessor/defaults/accessors.js +5 -0
  49. package/src/js/modules/Ajax/Ajax.js +142 -0
  50. package/src/js/modules/Ajax/defaults/config.js +3 -0
  51. package/src/js/modules/Ajax/defaults/contentTypeFormatters.js +45 -0
  52. package/src/js/modules/Ajax/defaults/loaderPromise.js +87 -0
  53. package/src/js/modules/Ajax/defaults/urlGenerator.js +44 -0
  54. package/src/js/modules/Clipboard/Clipboard.js +282 -0
  55. package/src/js/modules/Clipboard/defaults/pasteActions.js +11 -0
  56. package/src/js/modules/Clipboard/defaults/pasteParsers.js +75 -0
  57. package/src/js/modules/Clipboard/extensions/extensions.js +9 -0
  58. package/src/js/modules/Clipboard/extensions/keybindings/actions.js +9 -0
  59. package/src/js/modules/Clipboard/extensions/keybindings/bindings.js +3 -0
  60. package/src/js/modules/ColumnCalcs/CalcComponent.js +46 -0
  61. package/src/js/modules/ColumnCalcs/ColumnCalcs.js +586 -0
  62. package/src/js/modules/ColumnCalcs/defaults/calculations.js +93 -0
  63. package/src/js/modules/Comms/Comms.js +49 -0
  64. package/src/js/modules/DataTree/DataTree.js +620 -0
  65. package/src/js/modules/Download/Download.js +146 -0
  66. package/src/js/modules/Download/defaults/downloaders/csv.js +61 -0
  67. package/src/js/modules/Download/defaults/downloaders/html.js +5 -0
  68. package/src/js/modules/Download/defaults/downloaders/json.js +34 -0
  69. package/src/js/modules/Download/defaults/downloaders/jsonLines.js +32 -0
  70. package/src/js/modules/Download/defaults/downloaders/pdf.js +113 -0
  71. package/src/js/modules/Download/defaults/downloaders/xlsx.js +103 -0
  72. package/src/js/modules/Download/defaults/downloaders.js +15 -0
  73. package/src/js/modules/Edit/Edit.js +845 -0
  74. package/src/js/modules/Edit/List.js +1060 -0
  75. package/src/js/modules/Edit/defaults/editors/adaptable.js +37 -0
  76. package/src/js/modules/Edit/defaults/editors/date.js +144 -0
  77. package/src/js/modules/Edit/defaults/editors/datetime.js +131 -0
  78. package/src/js/modules/Edit/defaults/editors/input.js +77 -0
  79. package/src/js/modules/Edit/defaults/editors/list.js +7 -0
  80. package/src/js/modules/Edit/defaults/editors/number.js +110 -0
  81. package/src/js/modules/Edit/defaults/editors/progress.js +127 -0
  82. package/src/js/modules/Edit/defaults/editors/range.js +81 -0
  83. package/src/js/modules/Edit/defaults/editors/star.js +146 -0
  84. package/src/js/modules/Edit/defaults/editors/textarea.js +123 -0
  85. package/src/js/modules/Edit/defaults/editors/tickCross.js +95 -0
  86. package/src/js/modules/Edit/defaults/editors/time.js +132 -0
  87. package/src/js/modules/Edit/defaults/editors.js +27 -0
  88. package/src/js/modules/Edit/inputMask.js +74 -0
  89. package/src/js/modules/Export/Export.js +654 -0
  90. package/src/js/modules/Export/ExportColumn.js +9 -0
  91. package/src/js/modules/Export/ExportRow.js +8 -0
  92. package/src/js/modules/Export/defaults/columnLookups.js +3 -0
  93. package/src/js/modules/Export/defaults/rowLookups.js +18 -0
  94. package/src/js/modules/Filter/Filter.js +902 -0
  95. package/src/js/modules/Filter/defaults/filters.js +215 -0
  96. package/src/js/modules/Format/Format.js +200 -0
  97. package/src/js/modules/Format/defaults/formatters/adaptable.js +32 -0
  98. package/src/js/modules/Format/defaults/formatters/array.js +30 -0
  99. package/src/js/modules/Format/defaults/formatters/buttonCross.js +3 -0
  100. package/src/js/modules/Format/defaults/formatters/buttonTick.js +3 -0
  101. package/src/js/modules/Format/defaults/formatters/color.js +4 -0
  102. package/src/js/modules/Format/defaults/formatters/datetime.js +39 -0
  103. package/src/js/modules/Format/defaults/formatters/datetimediff.js +43 -0
  104. package/src/js/modules/Format/defaults/formatters/handle.js +4 -0
  105. package/src/js/modules/Format/defaults/formatters/html.js +3 -0
  106. package/src/js/modules/Format/defaults/formatters/image.js +40 -0
  107. package/src/js/modules/Format/defaults/formatters/json.js +12 -0
  108. package/src/js/modules/Format/defaults/formatters/link.js +82 -0
  109. package/src/js/modules/Format/defaults/formatters/lookup.js +10 -0
  110. package/src/js/modules/Format/defaults/formatters/money.js +44 -0
  111. package/src/js/modules/Format/defaults/formatters/plaintext.js +3 -0
  112. package/src/js/modules/Format/defaults/formatters/progress.js +133 -0
  113. package/src/js/modules/Format/defaults/formatters/rownum.js +14 -0
  114. package/src/js/modules/Format/defaults/formatters/star.js +38 -0
  115. package/src/js/modules/Format/defaults/formatters/textarea.js +4 -0
  116. package/src/js/modules/Format/defaults/formatters/tickCross.js +22 -0
  117. package/src/js/modules/Format/defaults/formatters/toggle.js +48 -0
  118. package/src/js/modules/Format/defaults/formatters/traffic.js +47 -0
  119. package/src/js/modules/Format/defaults/formatters.js +47 -0
  120. package/src/js/modules/FrozenColumns/FrozenColumns.js +302 -0
  121. package/src/js/modules/FrozenRows/FrozenRows.js +175 -0
  122. package/src/js/modules/GroupRows/Group.js +615 -0
  123. package/src/js/modules/GroupRows/GroupComponent.js +69 -0
  124. package/src/js/modules/GroupRows/GroupRows.js +636 -0
  125. package/src/js/modules/History/History.js +172 -0
  126. package/src/js/modules/History/defaults/redoers.js +31 -0
  127. package/src/js/modules/History/defaults/undoers.js +33 -0
  128. package/src/js/modules/History/extensions/extensions.js +9 -0
  129. package/src/js/modules/History/extensions/keybindings/actions.js +27 -0
  130. package/src/js/modules/History/extensions/keybindings/bindings.js +4 -0
  131. package/src/js/modules/HtmlTableImport/HtmlTableImport.js +180 -0
  132. package/src/js/modules/Import/Import.js +303 -0
  133. package/src/js/modules/Import/defaults/importers/array.js +3 -0
  134. package/src/js/modules/Import/defaults/importers/csv.js +61 -0
  135. package/src/js/modules/Import/defaults/importers/json.js +8 -0
  136. package/src/js/modules/Import/defaults/importers/xlsx.js +7 -0
  137. package/src/js/modules/Import/defaults/importers.js +11 -0
  138. package/src/js/modules/Interaction/Interaction.js +339 -0
  139. package/src/js/modules/Keybindings/Keybindings.js +198 -0
  140. package/src/js/modules/Keybindings/defaults/actions.js +90 -0
  141. package/src/js/modules/Keybindings/defaults/bindings.js +12 -0
  142. package/src/js/modules/Layout/Layout.js +66 -0
  143. package/src/js/modules/Layout/defaults/modes/fitColumns.js +171 -0
  144. package/src/js/modules/Layout/defaults/modes/fitData.js +10 -0
  145. package/src/js/modules/Layout/defaults/modes/fitDataGeneral.js +10 -0
  146. package/src/js/modules/Layout/defaults/modes/fitDataStretch.js +40 -0
  147. package/src/js/modules/Layout/defaults/modes.js +12 -0
  148. package/src/js/modules/Localize/Localize.js +184 -0
  149. package/src/js/modules/Localize/defaults/langs.js +37 -0
  150. package/src/js/modules/Menu/Menu.js +302 -0
  151. package/src/js/modules/MoveColumns/MoveColumns.js +311 -0
  152. package/src/js/modules/MoveRows/MoveRows.js +604 -0
  153. package/src/js/modules/MoveRows/defaults/receivers.js +30 -0
  154. package/src/js/modules/MoveRows/defaults/senders.js +5 -0
  155. package/src/js/modules/Mutator/Mutator.js +164 -0
  156. package/src/js/modules/Mutator/defaults/mutators.js +1 -0
  157. package/src/js/modules/Page/Page.js +891 -0
  158. package/src/js/modules/Page/defaults/pageCounters/pages.js +33 -0
  159. package/src/js/modules/Page/defaults/pageCounters/rows.js +40 -0
  160. package/src/js/modules/Page/defaults/pageCounters.js +8 -0
  161. package/src/js/modules/Persistence/Persistence.js +473 -0
  162. package/src/js/modules/Persistence/defaults/readers.js +29 -0
  163. package/src/js/modules/Persistence/defaults/writers.js +13 -0
  164. package/src/js/modules/Popup/Popup.js +227 -0
  165. package/src/js/modules/Print/Print.js +136 -0
  166. package/src/js/modules/ReactiveData/ReactiveData.js +416 -0
  167. package/src/js/modules/ResizeColumns/ResizeColumns.js +365 -0
  168. package/src/js/modules/ResizeRows/ResizeRows.js +145 -0
  169. package/src/js/modules/ResizeTable/ResizeTable.js +158 -0
  170. package/src/js/modules/ResponsiveLayout/ResponsiveLayout.js +354 -0
  171. package/src/js/modules/ResponsiveLayout/extensions/extensions.js +9 -0
  172. package/src/js/modules/ResponsiveLayout/extensions/formatters/responsiveCollapse.js +44 -0
  173. package/src/js/modules/SelectRange/Range.js +366 -0
  174. package/src/js/modules/SelectRange/RangeComponent.js +91 -0
  175. package/src/js/modules/SelectRange/SelectRange.js +993 -0
  176. package/src/js/modules/SelectRange/extensions/clipboard/pasteActions.js +45 -0
  177. package/src/js/modules/SelectRange/extensions/clipboard/pasteParsers.js +57 -0
  178. package/src/js/modules/SelectRange/extensions/export/columnLookups.js +11 -0
  179. package/src/js/modules/SelectRange/extensions/export/rowLookups.js +5 -0
  180. package/src/js/modules/SelectRange/extensions/extensions.js +21 -0
  181. package/src/js/modules/SelectRange/extensions/keybindings/actions.js +38 -0
  182. package/src/js/modules/SelectRange/extensions/keybindings/bindings.js +14 -0
  183. package/src/js/modules/SelectRow/SelectRow.js +499 -0
  184. package/src/js/modules/SelectRow/extensions/extensions.js +9 -0
  185. package/src/js/modules/SelectRow/extensions/formatters/rowSelection.js +60 -0
  186. package/src/js/modules/Sort/Sort.js +480 -0
  187. package/src/js/modules/Sort/defaults/sorters/alphanum.js +44 -0
  188. package/src/js/modules/Sort/defaults/sorters/array.js +82 -0
  189. package/src/js/modules/Sort/defaults/sorters/boolean.js +7 -0
  190. package/src/js/modules/Sort/defaults/sorters/date.js +10 -0
  191. package/src/js/modules/Sort/defaults/sorters/datetime.js +48 -0
  192. package/src/js/modules/Sort/defaults/sorters/exists.js +7 -0
  193. package/src/js/modules/Sort/defaults/sorters/number.js +40 -0
  194. package/src/js/modules/Sort/defaults/sorters/string.js +34 -0
  195. package/src/js/modules/Sort/defaults/sorters/time.js +10 -0
  196. package/src/js/modules/Sort/defaults/sorters.js +21 -0
  197. package/src/js/modules/Spreadsheet/GridCalculator.js +64 -0
  198. package/src/js/modules/Spreadsheet/Sheet.js +243 -0
  199. package/src/js/modules/Spreadsheet/SheetComponent.js +59 -0
  200. package/src/js/modules/Spreadsheet/Spreadsheet.js +309 -0
  201. package/src/js/modules/Tooltip/Tooltip.js +128 -0
  202. package/src/js/modules/Validate/Validate.js +303 -0
  203. package/src/js/modules/Validate/defaults/validators.js +150 -0
  204. package/src/scss/tabulator.scss +1693 -0
  205. package/src/scss/themes/bootstrap/tabulator_bootstrap3.scss +302 -0
  206. package/src/scss/themes/bootstrap/tabulator_bootstrap4.scss +589 -0
  207. package/src/scss/themes/bootstrap/tabulator_bootstrap5.scss +979 -0
  208. package/src/scss/themes/bootstrap/variables3.scss +872 -0
  209. package/src/scss/themes/bootstrap/variables4.scss +1059 -0
  210. package/src/scss/themes/bootstrap/variables5.scss +1967 -0
  211. package/src/scss/themes/bulma/tabulator_bulma.scss +316 -0
  212. package/src/scss/themes/bulma/variables.scss +198 -0
  213. package/src/scss/themes/materialize/tabulator_materialize.scss +318 -0
  214. package/src/scss/themes/materialize/variables.scss +71 -0
  215. package/src/scss/themes/semanticui/tabulator_semanticui.scss +623 -0
  216. package/src/scss/themes/semanticui/variables.scss +843 -0
  217. package/src/scss/themes/semanticui/variables_table.scss +248 -0
  218. package/src/scss/themes/tabulator_midnight.scss +235 -0
  219. package/src/scss/themes/tabulator_modern.scss +308 -0
  220. package/src/scss/themes/tabulator_simple.scss +143 -0
  221. package/src/scss/themes/tabulator_site.scss +267 -0
  222. package/src/scss/themes/tabulator_site_dark.scss +496 -0
@@ -0,0 +1,979 @@
1
+ @use "variables5.scss" as *;
2
+ @use "sass:map";
3
+ @use "sass:color";
4
+
5
+ // Style conversion file, bootstrap to tabulator
6
+
7
+ //Main Theme Variables
8
+ $backgroundColor: $table-bg !default; //background color of tabulator
9
+ $borderColor:$table-border-color !default; //border to tabulator
10
+ $textSize:16px !default; //table text size
11
+
12
+ //header theming
13
+ $headerBackgroundColor:$table-bg !default; //border to tabulator
14
+ $headerForegroundColor:inherit !default; //border to tabulator
15
+ $headerSeparatorColor:$table-border-color !default; //header bottom separator color
16
+
17
+ $cellPadding:12px !default; //padding round header
18
+
19
+ //column header arrows
20
+ $sortArrowActive: #666 !default;
21
+ $sortArrowInactive: #bbb !default;
22
+
23
+ //row theming
24
+ $rowBackgroundColor:$backgroundColor !default; //table row background color
25
+ $rowAltBackgroundColor: $table-striped-bg !default; //table row background color
26
+ $rowBorderColor:$table-border-color !default; //table border color
27
+ $rowHoverBackground:$table-hover-bg !default; //row background color on hover
28
+
29
+ $rowSelectedBackground: #9ABCEA !default; //row background color when selected
30
+ $rowSelectedBackgroundHover: #769BCC !default;//row background color when selected and hovered
31
+
32
+
33
+ $editBoxColor:#1D68CD !default; //border color for edit boxes
34
+ $errorColor:#dd0000 !default; //error indication
35
+
36
+ //footer theming
37
+ $footerBorderColor:$pagination-border-color !default; //footer border color
38
+ $footerSeparatorColor:$table-border-color !default; //footer bottom separator color
39
+ $footerActiveColor:$pagination-active-color !default; //footer bottom active text color
40
+
41
+ $table-cell-padding-sm: 5px !default; // cell padding in table-sm
42
+
43
+ @use "../../tabulator.scss" with (
44
+ $backgroundColor: $backgroundColor,
45
+ $borderColor: $borderColor,
46
+ $textSize: $textSize,
47
+ $headerBackgroundColor: $headerBackgroundColor,
48
+ $headerSeparatorColor: $headerSeparatorColor,
49
+ $sortArrowActive: $sortArrowActive,
50
+ $sortArrowInactive: $sortArrowInactive,
51
+ $rowBackgroundColor: $rowBackgroundColor,
52
+ $rowAltBackgroundColor: $rowAltBackgroundColor,
53
+ $rowBorderColor: $rowBorderColor,
54
+ $rowHoverBackground: $rowHoverBackground,
55
+ $rowSelectedBackground: $rowSelectedBackground,
56
+ $rowSelectedBackgroundHover: $rowSelectedBackgroundHover,
57
+ $editBoxColor: $editBoxColor,
58
+ $errorColor: $errorColor,
59
+ $footerBorderColor: $footerBorderColor,
60
+ $footerSeparatorColor: $footerSeparatorColor,
61
+ $footerActiveColor: $footerActiveColor
62
+ );
63
+
64
+ .tabulator{
65
+ background-color: $backgroundColor;
66
+ border:none;
67
+
68
+ .tabulator-header{
69
+ border-top:1px solid $headerSeparatorColor;
70
+ border-bottom:2px solid $headerSeparatorColor;
71
+ color:$headerForegroundColor;
72
+
73
+ .tabulator-col{
74
+ border-right:none;
75
+ background-color: $headerBackgroundColor;
76
+
77
+ .tabulator-col-content{
78
+ padding:$cellPadding;
79
+
80
+ .tabulator-col-sorter{
81
+ right:0;
82
+ }
83
+ }
84
+
85
+ &.tabulator-col-group{
86
+ .tabulator-col-group-cols{
87
+ border-top:1px solid $borderColor;
88
+ }
89
+ }
90
+
91
+ .tabulator-header-filter{
92
+ input{
93
+ padding: .375rem .75rem;
94
+
95
+ background-color: $input-bg;
96
+ background-clip: padding-box;
97
+
98
+ border: $input-border-width solid $input-border-color;
99
+ border-radius: $input-border-radius;
100
+
101
+ transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
102
+
103
+ font-size: 1rem;
104
+ line-height: 1.5;
105
+ color: $input-color;
106
+
107
+ &:focus {
108
+ color: $input-focus-color;
109
+ background-color: $input-focus-bg;
110
+ border-color: $input-focus-border-color;
111
+ outline: 0;
112
+ }
113
+ }
114
+ }
115
+ }
116
+
117
+ .tabulator-calcs-holder{
118
+ width:100%;
119
+ border-bottom:1px solid $headerSeparatorColor;
120
+ }
121
+ }
122
+
123
+ .tabulator-tableholder{
124
+ .tabulator-placeholder{
125
+ span{
126
+ color:$body-color;
127
+ }
128
+ }
129
+
130
+ .tabulator-table{
131
+ color:inherit;
132
+ }
133
+ }
134
+
135
+ .tabulator-footer{
136
+ color:inherit;
137
+
138
+ .tabulator-spreadsheet-tabs{
139
+ .tabulator-spreadsheet-tab{
140
+ background-color: tabulator.$spreadsheetActiveTabColor;
141
+ font-weight: normal;
142
+
143
+ &.tabulator-spreadsheet-tab-active{
144
+ background-color:$table-hover-bg;
145
+ }
146
+ }
147
+ }
148
+
149
+ .tabulator-paginator{
150
+ color:inherit;
151
+ }
152
+
153
+ .tabulator-pages{
154
+ margin:0;
155
+ }
156
+
157
+ .tabulator-page{
158
+ margin:0;
159
+ margin-top:5px;
160
+ padding:8px 12px;
161
+
162
+ &[data-page="first"]{
163
+ border-top-left-radius:4px;
164
+ border-bottom-left-radius:4px;
165
+ }
166
+
167
+ &[data-page="last"]{
168
+ border:1px solid $footerBorderColor;
169
+ border-top-right-radius:4px;
170
+ border-bottom-right-radius:4px;
171
+ }
172
+
173
+ &.active{
174
+ border-color:var(--bs-emphasis-color);
175
+ background-color:var(--bs-emphasis-color);
176
+ color:var(--bs-body-bg);
177
+ }
178
+
179
+ &:disabled{
180
+ border-color:var(--bs-border-color);
181
+ background:var(--bs-tertiary-bg);
182
+ color:var(--bs-secondary-color);
183
+ }
184
+
185
+ &:not(.disabled){
186
+ @media (hover:hover) and (pointer:fine){
187
+ &:hover{
188
+ border-color:var(--bs-tertiary-bg);
189
+ background:var(--bs-tertiary-bg);
190
+ color:var(--bs-body-color);
191
+ }
192
+ }
193
+ }
194
+ }
195
+ }
196
+
197
+ //Bootstrap theming classes
198
+
199
+ &.table{
200
+ background-color: $backgroundColor;
201
+
202
+ &:not(.thead-light) .tabulator-header{
203
+ border-color: $borderColor;
204
+ background-color: $backgroundColor;
205
+ color: $table-color;
206
+
207
+ .tabulator-col{
208
+ border-color: $borderColor;
209
+ background-color: $backgroundColor;
210
+ color: $table-color;
211
+ }
212
+ }
213
+
214
+ .tabulator-tableholder{
215
+ color: $table-color;
216
+ }
217
+
218
+
219
+ .tabulator-row{
220
+ border-color: $borderColor;
221
+ background-color: $backgroundColor;
222
+ color: $table-color;
223
+
224
+ @media (hover:hover) and (pointer:fine){
225
+ &:hover{
226
+ background-color: $borderColor;
227
+
228
+ .tabulator-cell{
229
+ background-color: $table-hover-bg;
230
+ }
231
+ }
232
+ }
233
+
234
+ &.tabulator-selected{
235
+ background-color:$rowSelectedBackground;
236
+ }
237
+ }
238
+
239
+ .tabulator-footer{
240
+ border-color: $borderColor !important;
241
+
242
+ .tabulator-calcs-holder{
243
+ border-color: $borderColor !important;
244
+ background:$backgroundColor !important;
245
+
246
+ .tabulator-row{
247
+ border-color: $borderColor !important;
248
+ background-color: $backgroundColor !important;
249
+ color: $table-color !important;
250
+ }
251
+ }
252
+ }
253
+ }
254
+
255
+ &.table-striped{
256
+ &:not(.table){
257
+ .tabulator-row{
258
+ &.tabulator-row-even{
259
+ background-color: $rowAltBackgroundColor;
260
+
261
+ &.tabulator-selected{
262
+ background-color:$rowSelectedBackground;
263
+ }
264
+
265
+ @media (hover:hover) and (pointer:fine){
266
+ &.tabulator-selectable:hover{
267
+ background-color:$rowHoverBackground;
268
+ cursor: pointer;
269
+ }
270
+
271
+ &.tabulator-selected:hover{
272
+ background-color:$rowSelectedBackgroundHover;
273
+ cursor: pointer;
274
+ }
275
+ }
276
+ }
277
+ }
278
+ }
279
+
280
+ &.table{
281
+ .tabulator-row{
282
+ &:nth-child(even){
283
+ .tabulator-cell{
284
+ background-color: $table-accent-bg;
285
+ }
286
+ }
287
+ }
288
+ }
289
+ }
290
+
291
+ &.table-bordered{
292
+ border:1px solid $borderColor;
293
+
294
+ .tabulator-header{
295
+ .tabulator-col{
296
+ border-right:1px solid $borderColor;
297
+ }
298
+ }
299
+
300
+ .tabulator-tableholder{
301
+ .tabulator-table{
302
+ .tabulator-row{
303
+ .tabulator-cell{
304
+ border-right:1px solid $borderColor;
305
+ }
306
+ }
307
+ }
308
+ }
309
+ }
310
+
311
+
312
+ &.table-borderless{
313
+ .tabulator-header{
314
+ border:none;
315
+ }
316
+
317
+ .tabulator-row{
318
+ border:none;
319
+ }
320
+ }
321
+
322
+ &.table-sm{
323
+ .tabulator-header{
324
+ .tabulator-col{
325
+ .tabulator-col-content{
326
+ padding:$table-cell-padding-sm !important;
327
+ }
328
+ }
329
+ }
330
+
331
+ .tabulator-tableholder{
332
+ .tabulator-table{
333
+ .tabulator-row{
334
+ min-height:$textSize + ($table-cell-padding-sm * 2);
335
+
336
+ .tabulator-cell{
337
+ padding:$table-cell-padding-sm !important;
338
+ }
339
+ }
340
+ }
341
+ }
342
+
343
+ .tabulator-row{
344
+ padding-top: 0;
345
+ padding-bottom: 0;
346
+ }
347
+
348
+ .tabulator-col-resize-handle{
349
+ padding:0;
350
+ }
351
+ }
352
+
353
+
354
+
355
+ &.thead-dark{
356
+ .tabulator-header{
357
+ border-color: $table-dark-border-color;
358
+ background-color: $table-dark-bg;
359
+ color: $table-dark-color;
360
+
361
+ .tabulator-col{
362
+ border-color: $table-dark-border-color;
363
+ background-color: $table-dark-bg;
364
+ color: $table-dark-color;
365
+ }
366
+ }
367
+ }
368
+
369
+ &.table-striped{
370
+ &:not(.table-dark),
371
+ html:not([data-bs-theme="dark"]) &{
372
+ .tabulator-row{
373
+ &.tabulator-row-even{
374
+ background-color: $rowAltBackgroundColor;
375
+
376
+ &.tabulator-selected{
377
+ background-color:$rowSelectedBackground;
378
+ }
379
+
380
+ @media (hover:hover) and (pointer:fine){
381
+ &.tabulator-selectable:hover{
382
+ background-color:$rowHoverBackground;
383
+ cursor: pointer;
384
+ }
385
+
386
+ &.tabulator-selected:hover{
387
+ background-color:$rowSelectedBackgroundHover;
388
+ cursor: pointer;
389
+ }
390
+ }
391
+ }
392
+ }
393
+ }
394
+
395
+ &.table-dark{
396
+ .tabulator-row{
397
+ &:nth-child(even){
398
+ background-color: $table-dark-striped-bg !important;
399
+ .tabulator-cell{
400
+ background-color: inherit;
401
+ }
402
+
403
+ @media (hover:hover) and (pointer:fine){
404
+ &:hover{
405
+ background-color: $table-dark-hover-bg !important;
406
+
407
+ .tabulator-cell{
408
+ background-color: inherit;
409
+ }
410
+ }
411
+ }
412
+ }
413
+ }
414
+ }
415
+
416
+ html[data-bs-theme="dark"] & {
417
+ .tabulator-row{
418
+ &:nth-child(even){
419
+ background-color: var(--bs-tertiary-bg) !important;
420
+ .tabulator-cell{
421
+ background-color: inherit;
422
+ }
423
+
424
+ @media (hover:hover) and (pointer:fine){
425
+ &:hover{
426
+ background-color: var(--bs-secondary-bg) !important;
427
+
428
+ .tabulator-cell{
429
+ background-color: inherit;
430
+ }
431
+ }
432
+ }
433
+ }
434
+ }
435
+ }
436
+ }
437
+
438
+ @mixin dark-mode($bg, $color, $border, $hover-bg, $active-bg, $emphasis, $disabled-color, $focus-border, $active-tab-bg, $active-page-bg, $active-page-border, $footer-bg){
439
+ background-color: $bg;
440
+
441
+ &:not(.thead-light) .tabulator-header{
442
+ border-color: $border;
443
+ background-color: $bg;
444
+ color: $color;
445
+
446
+ .tabulator-col{
447
+ border-color: $border;
448
+ background-color: $bg;
449
+ color: $color;
450
+
451
+ &.tabulator-frozen-left{
452
+ border-right-color: $border;
453
+ }
454
+
455
+ &.tabulator-frozen-right{
456
+ border-left-color: $border;
457
+ }
458
+
459
+ @media (hover:hover) and (pointer:fine){
460
+ &.tabulator-col-sorter-element:hover{
461
+ background-color: $hover-bg;
462
+ }
463
+ }
464
+ }
465
+ }
466
+
467
+ .tabulator-tableholder{
468
+ color: $color;
469
+ }
470
+
471
+ .tabulator-cell {
472
+ background-color: $bg;
473
+ border-color: $border;
474
+
475
+ &.tabulator-frozen-left{
476
+ border-right-color: $border;
477
+ }
478
+
479
+ &.tabulator-frozen-right{
480
+ border-left-color: $border;
481
+ }
482
+ }
483
+
484
+ .tabulator-row{
485
+ border-color: $border;
486
+ background-color: $bg;
487
+ color: $color;
488
+
489
+ @media (hover:hover) and (pointer:fine){
490
+ &:hover{
491
+ background-color: $hover-bg;
492
+
493
+ .tabulator-cell{
494
+ background-color: $hover-bg;
495
+ }
496
+ }
497
+ }
498
+
499
+ &.tabulator-selected{
500
+ background-color: $active-bg;
501
+ }
502
+
503
+ &.tabulator-group{
504
+ background: $hover-bg;
505
+
506
+ span{
507
+ color: $color;
508
+ }
509
+ }
510
+
511
+ .tabulator-data-tree-control{
512
+ border-color: $border;
513
+
514
+ .tabulator-data-tree-control-collapse{
515
+ &:after {
516
+ background: $emphasis;
517
+ }
518
+ }
519
+
520
+ .tabulator-data-tree-control-expand{
521
+ background: $emphasis;
522
+
523
+ &:after {
524
+ background: $emphasis;
525
+ }
526
+ }
527
+ }
528
+ }
529
+
530
+ .tabulator-footer{
531
+ border-color: $border !important;
532
+ color: $color !important;
533
+ background-color: $footer-bg;
534
+
535
+ .tabulator-calcs-holder{
536
+ border-color: $border !important;
537
+ background: $bg !important;
538
+
539
+ .tabulator-row{
540
+ border-color: $border !important;
541
+ background-color: $bg !important;
542
+ color: $color !important;
543
+ }
544
+ }
545
+
546
+ .tabulator-spreadsheet-tabs{
547
+ .tabulator-spreadsheet-tab{
548
+ &.tabulator-spreadsheet-tab-active{
549
+ background-color: $active-tab-bg;
550
+ }
551
+ }
552
+ }
553
+
554
+ .tabulator-page{
555
+ border-color: $border;
556
+ background-color: $bg;
557
+
558
+ &.active{
559
+ background-color: $active-page-bg;
560
+ border-color: $active-page-border;
561
+ color: $bg;
562
+ }
563
+
564
+ &:disabled{
565
+ color: $disabled-color;
566
+ }
567
+
568
+ &:not(.disabled){
569
+ @media (hover:hover) and (pointer:fine){
570
+ &:hover{
571
+ background-color: $hover-bg;
572
+ border-color: $hover-bg;
573
+ color: $color;
574
+ }
575
+ }
576
+ }
577
+ }
578
+
579
+ .tabulator-page-size{
580
+ background-color: $bg;
581
+ border-color: $border;
582
+ }
583
+ }
584
+
585
+ .tabulator-header .tabulator-col .tabulator-header-filter,
586
+ .tabulator-cell.tabulator-editing {
587
+ input, select, textarea {
588
+ color: $color;
589
+ background-color: $bg;
590
+ border-color: $border;
591
+
592
+ &:focus{
593
+ border-color: $focus-border;
594
+ }
595
+ }
596
+ }
597
+ }
598
+
599
+ // Legacy .table-dark class support (pre-Bootstrap 5.3)
600
+ &.table-dark{
601
+ @include dark-mode(
602
+ $bg: $table-dark-bg,
603
+ $color: $table-dark-color,
604
+ $border: $table-dark-border-color,
605
+ $hover-bg: $table-dark-hover-bg,
606
+ $active-bg: $table-dark-active-bg,
607
+ $emphasis: $table-dark-color,
608
+ $disabled-color: color.adjust($table-dark-color, $lightness: -40%),
609
+ $focus-border: $input-focus-border-color,
610
+ $active-tab-bg: color.adjust($table-dark-bg, $lightness: 10%),
611
+ $active-page-bg: color.adjust($table-dark-bg, $lightness: 15%),
612
+ $active-page-border: color.adjust($table-dark-border-color, $lightness: 10%),
613
+ $footer-bg: color.adjust($table-dark-bg, $lightness: 5%)
614
+ );
615
+ }
616
+
617
+ // Bootstrap 5.3 color mode support — uses CSS custom properties
618
+ html[data-bs-theme="dark"] &{
619
+ @include dark-mode(
620
+ $bg: var(--bs-body-bg),
621
+ $color: var(--bs-body-color),
622
+ $border: var(--bs-border-color),
623
+ $hover-bg: var(--bs-secondary-bg),
624
+ $active-bg: var(--bs-secondary-bg),
625
+ $emphasis: var(--bs-emphasis-color),
626
+ $disabled-color: var(--bs-tertiary-color),
627
+ $focus-border: var(--bs-primary-border-subtle),
628
+ $active-tab-bg: var(--bs-secondary-bg),
629
+ $active-page-bg: var(--bs-emphasis-color),
630
+ $active-page-border: var(--bs-emphasis-color),
631
+ $footer-bg: var(--bs-secondary-bg)
632
+ );
633
+ }
634
+
635
+ //row colors
636
+ .tabulator-tableholder{
637
+ .tabulator-table{
638
+ .tabulator-row{
639
+ &.table-primary{
640
+ background:map.get($table-variants, "primary") !important;
641
+ }
642
+ &.table-secondary{
643
+ background:map.get($table-variants, "secondary") !important;
644
+ }
645
+ &.table-success{
646
+ background:map.get($table-variants, "success") !important;
647
+ }
648
+ &.table-info{
649
+ background:map.get($table-variants, "info") !important;
650
+ }
651
+ &.table-warning{
652
+ background:map.get($table-variants, "warning") !important;
653
+ }
654
+ &.table-danger{
655
+ background:map.get($table-variants, "danger") !important;
656
+ }
657
+ &.table-light{
658
+ background:map.get($table-variants, "light") !important;
659
+ }
660
+ &.table{
661
+ background:map.get($table-variants, "dark") !important;
662
+ }
663
+ &.table-active{
664
+ background:$table-active-bg !important;
665
+ }
666
+
667
+ &.bg-primary{
668
+ background:map.get($table-variants, "primary") !important;
669
+ }
670
+ &.bg-secondary{
671
+ background:map.get($table-variants, "secondary") !important;
672
+ }
673
+ &.bg-success{
674
+ background:map.get($table-variants, "success") !important;
675
+ }
676
+ &.bg-info{
677
+ background:map.get($table-variants, "info") !important;
678
+ }
679
+ &.bg-warning{
680
+ background:map.get($table-variants, "warning") !important;
681
+ }
682
+ &.bg-danger{
683
+ background:map.get($table-variants, "danger") !important;
684
+ }
685
+ &.bg-light{
686
+ background:map.get($table-variants, "light") !important;
687
+ }
688
+ &.bg-dark{
689
+ background:map.get($table-variants, "dark") !important;
690
+ }
691
+ &.bg-active{
692
+ background:$table-active-bg !important;
693
+ }
694
+
695
+ .tabulator-cell{
696
+ &.table-primary{
697
+ background:map.get($table-variants, "primary") !important;
698
+ }
699
+ &.table-secondary{
700
+ background:map.get($table-variants, "secondary") !important;
701
+ }
702
+ &.table-success{
703
+ background:map.get($table-variants, "success") !important;
704
+ }
705
+ &.table-info{
706
+ background:map.get($table-variants, "info") !important;
707
+ }
708
+ &.table-warning{
709
+ background:map.get($table-variants, "warning") !important;
710
+ }
711
+ &.table-danger{
712
+ background:map.get($table-variants, "danger") !important;
713
+ }
714
+ &.table-light{
715
+ background:map.get($table-variants, "light") !important;
716
+ }
717
+ &.table{
718
+ background:map.get($table-variants, "dark") !important;
719
+ }
720
+ &.table-active{
721
+ background:$table-active-bg !important;
722
+ }
723
+
724
+ &.bg-primary{
725
+ background:map.get($table-variants, "primary") !important;
726
+ }
727
+ &.bg-secondary{
728
+ background:map.get($table-variants, "secondary") !important;
729
+ }
730
+ &.bg-success{
731
+ background:map.get($table-variants, "success") !important;
732
+ }
733
+ &.bg-info{
734
+ background:map.get($table-variants, "info") !important;
735
+ }
736
+ &.bg-warning{
737
+ background:map.get($table-variants, "warning") !important;
738
+ }
739
+ &.bg-danger{
740
+ background:map.get($table-variants, "danger") !important;
741
+ }
742
+ &.bg-light{
743
+ background:map.get($table-variants, "light") !important;
744
+ }
745
+ &.bg-dark{
746
+ background:map.get($table-variants, "dark") !important;
747
+ }
748
+ &.bg-active{
749
+ background:$table-active-bg !important;
750
+ }
751
+ }
752
+ }
753
+ }
754
+ }
755
+ }
756
+
757
+ .tabulator-row{
758
+ min-height:$textSize + ($cellPadding * 2);
759
+ border-bottom:1px solid $rowBorderColor;
760
+
761
+ .tabulator-cell{
762
+ padding:$cellPadding;
763
+ border-right:none;
764
+
765
+ &:last-of-type{
766
+ border-right: none;
767
+ }
768
+
769
+ &.tabulator-row-header{
770
+ border-right:1px solid $borderColor;
771
+ border-bottom:none;
772
+ background:$headerBackgroundColor;
773
+ }
774
+
775
+ .tabulator-data-tree-control{
776
+ border:1px solid $table-border-color;
777
+
778
+ .tabulator-data-tree-control-collapse{
779
+ &:after {
780
+ background: $body-color;
781
+ }
782
+ }
783
+
784
+ .tabulator-data-tree-control-expand{
785
+ background: $body-color;
786
+
787
+ &:after {
788
+ background: $body-color;
789
+ }
790
+ }
791
+ }
792
+ }
793
+
794
+ &.tabulator-group{
795
+ background:$table-hover-bg;
796
+
797
+ span{
798
+ color:$text-muted;
799
+ }
800
+ }
801
+ }
802
+
803
+ .tabulator-edit-select-list{
804
+ background:$headerBackgroundColor;
805
+
806
+ .tabulator-edit-select-list-item{
807
+ &.active{
808
+ color:$headerBackgroundColor;
809
+
810
+ &.focused{
811
+ outline:1px solid rgba($headerBackgroundColor, .5);
812
+ }
813
+ }
814
+
815
+ @media (hover:hover) and (pointer:fine){
816
+ &:hover{
817
+ color:$headerBackgroundColor;
818
+ }
819
+ }
820
+ }
821
+
822
+ .tabulator-edit-select-list-notice{
823
+ color:inherit;
824
+ }
825
+
826
+ .tabulator-edit-select-list-group{
827
+ color:inherit;
828
+ }
829
+ }
830
+
831
+ .tabulator.tabulator-rtl{
832
+ .tabulator-header {
833
+ .tabulator-col{
834
+ text-align: initial;
835
+ border-left:initial;
836
+ }
837
+ }
838
+ }
839
+
840
+ .tabulator-print-table{
841
+ .tabulator-print-table-group{
842
+ background:$table-hover-bg;
843
+
844
+ span{
845
+ color:$text-muted;
846
+ }
847
+ }
848
+
849
+ .tabulator-data-tree-control{
850
+ color:inherit;
851
+
852
+ .tabulator-data-tree-control-collapse{
853
+ &:after {
854
+ background: $body-color;
855
+ }
856
+ }
857
+
858
+ .tabulator-data-tree-control-expand{
859
+ background: $body-color;
860
+
861
+ &:after {
862
+ background: $body-color;
863
+ }
864
+ }
865
+ }
866
+ }
867
+
868
+ .tabulator-popup-container{
869
+ background:$body-bg;
870
+ color:$body-color;
871
+ }
872
+
873
+ html[data-bs-theme="dark"]{
874
+ .tabulator-popup-container{
875
+ background: var(--bs-body-bg);
876
+ color: var(--bs-body-color);
877
+ border-color: var(--bs-border-color);
878
+ }
879
+
880
+ .tabulator-tooltip{
881
+ background: var(--bs-body-bg);
882
+ color: var(--bs-body-color);
883
+ border-color: var(--bs-border-color);
884
+ }
885
+
886
+ .tabulator-menu{
887
+ .tabulator-menu-item{
888
+ @media (hover:hover) and (pointer:fine){
889
+ &:not(.tabulator-menu-item-disabled):hover{
890
+ background: var(--bs-tertiary-bg);
891
+ }
892
+ }
893
+
894
+ &.tabulator-menu-item-submenu{
895
+ &::after{
896
+ border-color: var(--bs-body-color);
897
+ }
898
+ }
899
+ }
900
+
901
+ .tabulator-menu-separator{
902
+ border-color: var(--bs-border-color);
903
+ }
904
+ }
905
+
906
+ .tabulator-edit-list{
907
+ background: var(--bs-body-bg);
908
+ color: var(--bs-body-color);
909
+
910
+ .tabulator-edit-list-item{
911
+ color: var(--bs-body-color);
912
+
913
+ &.active{
914
+ color: var(--bs-emphasis-color);
915
+ background: var(--bs-secondary-bg);
916
+
917
+ &.focused{
918
+ outline: 1px solid var(--bs-border-color);
919
+ }
920
+ }
921
+
922
+ &.focused{
923
+ outline: 1px solid var(--bs-border-color);
924
+ }
925
+
926
+ @media (hover:hover) and (pointer:fine){
927
+ &:hover{
928
+ color: var(--bs-emphasis-color);
929
+ background: var(--bs-tertiary-bg);
930
+ }
931
+ }
932
+ }
933
+
934
+ .tabulator-edit-list-group{
935
+ border-color: var(--bs-border-color);
936
+ color: var(--bs-body-color);
937
+ }
938
+ }
939
+
940
+ .tabulator-print-table{
941
+ color: var(--bs-body-color);
942
+
943
+ .tabulator-print-table-group{
944
+ background: var(--bs-tertiary-bg);
945
+
946
+ span{
947
+ color: var(--bs-body-color);
948
+ }
949
+ }
950
+ }
951
+ }
952
+
953
+ .tabulator-edit-list{
954
+ .tabulator-edit-list-item{
955
+ &.active{
956
+ color:$body-color;
957
+ background:$table-hover-bg;
958
+
959
+ &.focused{
960
+ outline:1px solid $table-border-color;
961
+ }
962
+ }
963
+
964
+ &.focused{
965
+ outline:1px solid $table-border-color;
966
+ }
967
+
968
+ @media (hover:hover) and (pointer:fine){
969
+ &:hover{
970
+ color:$body-color;
971
+ background:$table-striped-bg;
972
+ }
973
+ }
974
+ }
975
+
976
+ .tabulator-edit-list-group{
977
+ border-color:$table-border-color;
978
+ }
979
+ }