@bryntum/grid-thin-trial 7.1.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 (272) hide show
  1. package/README.md +52 -0
  2. package/entry.js +124 -0
  3. package/fluent2-dark.css +227 -0
  4. package/fluent2-light.css +191 -0
  5. package/grid.css +2567 -0
  6. package/grid.css.map +7 -0
  7. package/grid.d.ts +54003 -0
  8. package/high-contrast-dark.css +419 -0
  9. package/high-contrast-light.css +389 -0
  10. package/lib/column/ActionColumn.css +65 -0
  11. package/lib/column/ActionColumn.js +1 -0
  12. package/lib/column/AggregateColumn.js +1 -0
  13. package/lib/column/ChartColumn.js +1 -0
  14. package/lib/column/CheckColumn.css +9 -0
  15. package/lib/column/CheckColumn.js +1 -0
  16. package/lib/column/ColorColumn.css +57 -0
  17. package/lib/column/ColorColumn.js +1 -0
  18. package/lib/column/Column.js +1 -0
  19. package/lib/column/CurrencyColumn.js +1 -0
  20. package/lib/column/DateColumn.js +1 -0
  21. package/lib/column/NumberColumn.js +1 -0
  22. package/lib/column/PercentColumn.css +223 -0
  23. package/lib/column/PercentColumn.js +1 -0
  24. package/lib/column/RatingColumn.css +67 -0
  25. package/lib/column/RatingColumn.js +1 -0
  26. package/lib/column/RowNumberColumn.css +13 -0
  27. package/lib/column/RowNumberColumn.js +1 -0
  28. package/lib/column/SparklineColumn.css +3 -0
  29. package/lib/column/SparklineColumn.js +1 -0
  30. package/lib/column/TemplateColumn.js +1 -0
  31. package/lib/column/TimeColumn.js +1 -0
  32. package/lib/column/TreeColumn.css +274 -0
  33. package/lib/column/TreeColumn.js +1 -0
  34. package/lib/column/WidgetColumn.css +5 -0
  35. package/lib/column/WidgetColumn.js +1 -0
  36. package/lib/customElements/GridTag.js +1 -0
  37. package/lib/data/ColumnStore.js +1 -0
  38. package/lib/data/GridRowModel.js +1 -0
  39. package/lib/feature/CellCopyPaste.js +1 -0
  40. package/lib/feature/CellEdit.css +29 -0
  41. package/lib/feature/CellEdit.js +1 -0
  42. package/lib/feature/CellMenu.js +1 -0
  43. package/lib/feature/CellTooltip.js +1 -0
  44. package/lib/feature/Charts.css +9 -0
  45. package/lib/feature/Charts.js +1 -0
  46. package/lib/feature/ColumnAutoWidth.js +1 -0
  47. package/lib/feature/ColumnDragToolbar.css +271 -0
  48. package/lib/feature/ColumnDragToolbar.js +17 -0
  49. package/lib/feature/ColumnPicker.js +1 -0
  50. package/lib/feature/ColumnRename.css +4 -0
  51. package/lib/feature/ColumnRename.js +1 -0
  52. package/lib/feature/ColumnReorder.css +54 -0
  53. package/lib/feature/ColumnReorder.js +1 -0
  54. package/lib/feature/ColumnResize.css +79 -0
  55. package/lib/feature/ColumnResize.js +1 -0
  56. package/lib/feature/FillHandle.css +53 -0
  57. package/lib/feature/FillHandle.js +1 -0
  58. package/lib/feature/Filter.css +107 -0
  59. package/lib/feature/Filter.js +1 -0
  60. package/lib/feature/FilterBar.css +113 -0
  61. package/lib/feature/FilterBar.js +1 -0
  62. package/lib/feature/GridFeatureManager.js +1 -0
  63. package/lib/feature/Group.css +160 -0
  64. package/lib/feature/Group.js +1 -0
  65. package/lib/feature/GroupSummary.css +30 -0
  66. package/lib/feature/GroupSummary.js +1 -0
  67. package/lib/feature/HeaderMenu.js +1 -0
  68. package/lib/feature/LockRows.css +45 -0
  69. package/lib/feature/LockRows.js +1 -0
  70. package/lib/feature/MergeCells.css +61 -0
  71. package/lib/feature/MergeCells.js +1 -0
  72. package/lib/feature/PinColumns.js +1 -0
  73. package/lib/feature/QuickFind.css +75 -0
  74. package/lib/feature/QuickFind.js +1 -0
  75. package/lib/feature/RegionResize.css +276 -0
  76. package/lib/feature/RegionResize.js +1 -0
  77. package/lib/feature/RowCopyPaste.js +1 -0
  78. package/lib/feature/RowEdit.css +25 -0
  79. package/lib/feature/RowEdit.js +1 -0
  80. package/lib/feature/RowExpander.css +109 -0
  81. package/lib/feature/RowExpander.js +1 -0
  82. package/lib/feature/RowReorder.css +190 -0
  83. package/lib/feature/RowReorder.js +1 -0
  84. package/lib/feature/RowResize.css +20 -0
  85. package/lib/feature/RowResize.js +1 -0
  86. package/lib/feature/Search.css +34 -0
  87. package/lib/feature/Search.js +1 -0
  88. package/lib/feature/Sort.css +86 -0
  89. package/lib/feature/Sort.js +1 -0
  90. package/lib/feature/Split.css +34 -0
  91. package/lib/feature/Split.js +1 -0
  92. package/lib/feature/StickyCells.css +34 -0
  93. package/lib/feature/StickyCells.js +1 -0
  94. package/lib/feature/Stripe.css +42 -0
  95. package/lib/feature/Stripe.js +1 -0
  96. package/lib/feature/Summary.css +12 -0
  97. package/lib/feature/Summary.js +1 -0
  98. package/lib/feature/Tree.js +1 -0
  99. package/lib/feature/TreeGroup.css +4 -0
  100. package/lib/feature/TreeGroup.js +1 -0
  101. package/lib/feature/ai/AIFilter.js +1 -0
  102. package/lib/feature/ai/agents/DefaultGridAgent.js +4 -0
  103. package/lib/feature/ai/agents/GridFilterAgent.js +1 -0
  104. package/lib/feature/ai/agents/trainingData.js +1 -0
  105. package/lib/feature/base/CopyPasteBase.js +1 -0
  106. package/lib/feature/base/GridEditBase.js +1 -0
  107. package/lib/feature/base/SearchQuickFind.css +49 -0
  108. package/lib/feature/experimental/ExcelExporter.js +1 -0
  109. package/lib/feature/experimental/FileDrop.js +1 -0
  110. package/lib/feature/experimental/xlsproviders/WriteExcelFileProvider.js +1 -0
  111. package/lib/feature/experimental/xlsproviders/XlsProviderBase.js +1 -0
  112. package/lib/feature/export/PdfExport.css +148 -0
  113. package/lib/feature/export/PdfExport.js +5 -0
  114. package/lib/feature/export/Print.css +19 -0
  115. package/lib/feature/export/Print.js +1 -0
  116. package/lib/feature/export/Utils.js +1 -0
  117. package/lib/feature/export/consumer/ConsumerBase.js +1 -0
  118. package/lib/feature/export/consumer/PrintConsumer.js +1 -0
  119. package/lib/feature/export/consumer/SingleFetchConsumer.js +1 -0
  120. package/lib/feature/export/consumer/WebSocketConsumer.js +1 -0
  121. package/lib/feature/export/exporter/Exporter.js +1 -0
  122. package/lib/feature/export/exporter/ExporterBase.js +18 -0
  123. package/lib/feature/export/exporter/MultiPageExporter.js +1 -0
  124. package/lib/feature/export/exporter/MultiPageVerticalExporter.js +1 -0
  125. package/lib/feature/export/exporter/SinglePageExporter.js +1 -0
  126. package/lib/feature/export/exporter/SinglePageUnscaledExporter.js +1 -0
  127. package/lib/feature/export/mixin/PrintMixin.js +1 -0
  128. package/lib/feature/mixin/SummaryFormatter.css +35 -0
  129. package/lib/feature/mixin/SummaryFormatter.js +1 -0
  130. package/lib/localization/Ar.js +230 -0
  131. package/lib/localization/Bg.js +230 -0
  132. package/lib/localization/Ca.js +230 -0
  133. package/lib/localization/Cs.js +230 -0
  134. package/lib/localization/Da.js +230 -0
  135. package/lib/localization/De.js +230 -0
  136. package/lib/localization/El.js +230 -0
  137. package/lib/localization/En.js +230 -0
  138. package/lib/localization/EnGb.js +230 -0
  139. package/lib/localization/Es.js +230 -0
  140. package/lib/localization/Et.js +230 -0
  141. package/lib/localization/Eu.js +230 -0
  142. package/lib/localization/Fi.js +230 -0
  143. package/lib/localization/FrFr.js +230 -0
  144. package/lib/localization/Gl.js +230 -0
  145. package/lib/localization/He.js +230 -0
  146. package/lib/localization/Hi.js +230 -0
  147. package/lib/localization/Hr.js +230 -0
  148. package/lib/localization/Hu.js +230 -0
  149. package/lib/localization/Id.js +230 -0
  150. package/lib/localization/It.js +230 -0
  151. package/lib/localization/Ja.js +230 -0
  152. package/lib/localization/Kk.js +230 -0
  153. package/lib/localization/Ko.js +230 -0
  154. package/lib/localization/Lt.js +230 -0
  155. package/lib/localization/Lv.js +230 -0
  156. package/lib/localization/Ms.js +230 -0
  157. package/lib/localization/Nl.js +230 -0
  158. package/lib/localization/No.js +230 -0
  159. package/lib/localization/Pl.js +230 -0
  160. package/lib/localization/Pt.js +230 -0
  161. package/lib/localization/PtBr.js +230 -0
  162. package/lib/localization/Ro.js +230 -0
  163. package/lib/localization/Ru.js +230 -0
  164. package/lib/localization/Sk.js +230 -0
  165. package/lib/localization/Sl.js +230 -0
  166. package/lib/localization/Sr.js +230 -0
  167. package/lib/localization/SrRs.js +230 -0
  168. package/lib/localization/SvSE.js +230 -0
  169. package/lib/localization/Th.js +230 -0
  170. package/lib/localization/Tr.js +230 -0
  171. package/lib/localization/Uk.js +230 -0
  172. package/lib/localization/Vi.js +230 -0
  173. package/lib/localization/ZhCn.js +230 -0
  174. package/lib/localization/ZhTw.js +230 -0
  175. package/lib/override/salesforce/AllOverrides.js +1 -0
  176. package/lib/override/salesforce/GridBaseOverride.js +1 -0
  177. package/lib/override/salesforce/GridPrintOverride.js +1 -0
  178. package/lib/override/salesforce/RowExpanderOverride.js +1 -0
  179. package/lib/override/salesforce/RowOverride.js +1 -0
  180. package/lib/override/salesforce/TreeOverride.js +1 -0
  181. package/lib/row/Row.js +1 -0
  182. package/lib/row/RowManager.js +1 -0
  183. package/lib/util/GridLocation.js +1 -0
  184. package/lib/util/GridScroller.js +1 -0
  185. package/lib/util/SubGridScroller.js +1 -0
  186. package/lib/util/TableExporter.js +1 -0
  187. package/lib/view/Bar.js +1 -0
  188. package/lib/view/Footer.css +110 -0
  189. package/lib/view/Footer.js +11 -0
  190. package/lib/view/Grid.js +1 -0
  191. package/lib/view/GridBase.css +419 -0
  192. package/lib/view/GridBase.js +1 -0
  193. package/lib/view/Header.css +320 -0
  194. package/lib/view/Header.js +1 -0
  195. package/lib/view/SubGrid.css +325 -0
  196. package/lib/view/SubGrid.js +1 -0
  197. package/lib/view/TreeGrid.js +1 -0
  198. package/lib/view/export/ExportDialog.js +1 -0
  199. package/lib/view/export/field/ExportOrientationCombo.js +1 -0
  200. package/lib/view/export/field/ExportRowsCombo.js +1 -0
  201. package/lib/view/mixin/GridElementEvents.js +1 -0
  202. package/lib/view/mixin/GridFeatures.js +1 -0
  203. package/lib/view/mixin/GridNavigation.js +1 -0
  204. package/lib/view/mixin/GridResponsive.js +1 -0
  205. package/lib/view/mixin/GridSelection.js +1 -0
  206. package/lib/view/mixin/GridState.js +1 -0
  207. package/lib/view/mixin/GridSubGrids.js +1 -0
  208. package/lib/widget/AIFilterField.css +8 -0
  209. package/lib/widget/AIFilterField.js +1 -0
  210. package/lib/widget/ChecklistFilterCombo.css +21 -0
  211. package/lib/widget/ChecklistFilterCombo.js +1 -0
  212. package/lib/widget/GridChartDesigner.js +1 -0
  213. package/lib/widget/GridFieldFilterPicker.js +1 -0
  214. package/lib/widget/GridFieldFilterPickerGroup.js +1 -0
  215. package/lib/widget/GroupBar.css +88 -0
  216. package/lib/widget/GroupBar.js +1 -0
  217. package/lib/widget/TreeCombo.js +1 -0
  218. package/locales/grid.locale.Ar.js +1 -0
  219. package/locales/grid.locale.Bg.js +1 -0
  220. package/locales/grid.locale.Ca.js +1 -0
  221. package/locales/grid.locale.Cs.js +1 -0
  222. package/locales/grid.locale.Da.js +1 -0
  223. package/locales/grid.locale.De.js +1 -0
  224. package/locales/grid.locale.El.js +1 -0
  225. package/locales/grid.locale.En.js +1 -0
  226. package/locales/grid.locale.EnGb.js +1 -0
  227. package/locales/grid.locale.Es.js +1 -0
  228. package/locales/grid.locale.Et.js +1 -0
  229. package/locales/grid.locale.Eu.js +1 -0
  230. package/locales/grid.locale.Fi.js +1 -0
  231. package/locales/grid.locale.FrFr.js +1 -0
  232. package/locales/grid.locale.Gl.js +1 -0
  233. package/locales/grid.locale.He.js +1 -0
  234. package/locales/grid.locale.Hi.js +1 -0
  235. package/locales/grid.locale.Hr.js +1 -0
  236. package/locales/grid.locale.Hu.js +1 -0
  237. package/locales/grid.locale.Id.js +1 -0
  238. package/locales/grid.locale.It.js +1 -0
  239. package/locales/grid.locale.Ja.js +1 -0
  240. package/locales/grid.locale.Kk.js +1 -0
  241. package/locales/grid.locale.Ko.js +1 -0
  242. package/locales/grid.locale.Lt.js +1 -0
  243. package/locales/grid.locale.Lv.js +1 -0
  244. package/locales/grid.locale.Ms.js +1 -0
  245. package/locales/grid.locale.Nl.js +1 -0
  246. package/locales/grid.locale.No.js +1 -0
  247. package/locales/grid.locale.Pl.js +1 -0
  248. package/locales/grid.locale.Pt.js +1 -0
  249. package/locales/grid.locale.PtBr.js +1 -0
  250. package/locales/grid.locale.Ro.js +1 -0
  251. package/locales/grid.locale.Ru.js +1 -0
  252. package/locales/grid.locale.Sk.js +1 -0
  253. package/locales/grid.locale.Sl.js +1 -0
  254. package/locales/grid.locale.Sr.js +1 -0
  255. package/locales/grid.locale.SrRs.js +1 -0
  256. package/locales/grid.locale.SvSE.js +1 -0
  257. package/locales/grid.locale.Th.js +1 -0
  258. package/locales/grid.locale.Tr.js +1 -0
  259. package/locales/grid.locale.Uk.js +1 -0
  260. package/locales/grid.locale.Vi.js +1 -0
  261. package/locales/grid.locale.ZhCn.js +1 -0
  262. package/locales/grid.locale.ZhTw.js +1 -0
  263. package/material3-dark.css +307 -0
  264. package/material3-light.css +201 -0
  265. package/package.json +24 -0
  266. package/postinstall.cjs +11 -0
  267. package/stockholm-dark.css +202 -0
  268. package/stockholm-light.css +120 -0
  269. package/svalbard-dark.css +160 -0
  270. package/svalbard-light.css +99 -0
  271. package/visby-dark.css +243 -0
  272. package/visby-light.css +209 -0
@@ -0,0 +1,320 @@
1
+ /* Vars apply also for dragged column headers = in float root */
2
+ :root, :host {
3
+ /**
4
+ * Grid header font size
5
+ */
6
+ --b-grid-header-font-size : inherit;
7
+
8
+ /**
9
+ * Grid header font weight
10
+ */
11
+ --b-grid-header-font-weight : 500;
12
+
13
+ /**
14
+ * Grid header padding. By default uses grid cells inline padding value (for both block & inline)
15
+ */
16
+ --b-grid-header-padding : var(--b-grid-cell-padding-inline);
17
+
18
+ /**
19
+ * Grid header text transform
20
+ */
21
+ --b-grid-header-text-transform : none;
22
+
23
+ /**
24
+ * Grid header text align
25
+ */
26
+ --b-grid-header-text-align : start;
27
+
28
+ /**
29
+ * Grid header inner gap
30
+ */
31
+ --b-grid-header-gap : 0.5em;
32
+
33
+ /**
34
+ * Grid header icon font size
35
+ */
36
+ --b-grid-header-icon-font-size : 1em;
37
+
38
+ /**
39
+ * Grid header border width (for header "cells"). By default same as cell border width
40
+ */
41
+ --b-grid-header-border-width : var(--b-grid-cell-border-width);
42
+
43
+ /**
44
+ * Grid header container border width (the entire header)
45
+ */
46
+ --b-grid-header-container-border-width : 1px;
47
+
48
+ /**
49
+ * Grid header z-index
50
+ */
51
+ --b-grid-header-zindex : 1;
52
+
53
+ /**
54
+ * Grid header icon transition duration (for example when fading icons in/out on hover)
55
+ */
56
+ --b-grid-header-icon-transition-duration : var(--b-default-transition-duration);
57
+
58
+ /**
59
+ * Grid header background color
60
+ */
61
+ --b-grid-header-background : var(--b-neutral-100);
62
+
63
+ /**
64
+ * Grid header box-shadow
65
+ */
66
+ --b-grid-header-box-shadow : var(--b-elevation-0);
67
+
68
+ /**
69
+ * Grid header text color
70
+ */
71
+ --b-grid-header-color : var(--b-widget-color);
72
+
73
+ /**
74
+ * Grid header icon color
75
+ */
76
+ --b-grid-header-icon-color : var(--b-grid-header-color);
77
+
78
+ /**
79
+ * Grid header border color
80
+ */
81
+ --b-grid-header-border-color : var(--b-grid-cell-border-color);
82
+
83
+ /**
84
+ * Grid header text color when hovered
85
+ * @state Hovered
86
+ */
87
+ --b-grid-header-hover-color : var(--b-widget-color);
88
+ }
89
+
90
+ /* .b-bryntum { */
91
+ /**
92
+ * Background color for the header when hovered
93
+ * @state Hovered
94
+ */
95
+ /*--b-grid-header-hover-background : var(--b-primary-98);*/
96
+ /* } */
97
+
98
+ .b-grid-headers,
99
+ .b-grid-footers {
100
+ contain : paint style layout;
101
+ flex : 1 1 auto;
102
+
103
+ z-index : var(--b-grid-header-zindex);
104
+ }
105
+
106
+ /* Using tag name to increase specificity, otherwise rule gets overridden by salesforce styles */
107
+ div.b-grid-header-container,
108
+ .b-grid-footer-container {
109
+ display : flex;
110
+ z-index : var(--b-grid-header-zindex);
111
+ }
112
+
113
+ div.b-grid-header-container {
114
+ /* Clipped out of visibility, but still present foy A11Y purposes when hideHeaders is used*/
115
+ &.b-hidden {
116
+ /* Make zero height */
117
+ clip-path : inset(0 0 100% 0);
118
+ contain : strict;
119
+ border-bottom : none;
120
+ }
121
+
122
+ .b-yscroll-pad {
123
+ border-bottom : var(--b-grid-header-container-border-width) solid var(--b-grid-header-border-color);
124
+ }
125
+ }
126
+
127
+ .b-grid-header-scroller {
128
+ display : flex;
129
+ position : relative;
130
+ overflow : clip;
131
+ min-width : 0;
132
+
133
+ box-shadow : var(--b-grid-header-box-shadow);
134
+ }
135
+
136
+ .b-grid-headers {
137
+ display : flex;
138
+ flex-flow : row nowrap;
139
+ align-items : stretch;
140
+ overflow : clip;
141
+ /* In case page uses its own line-height, it would break our rendering potentially */
142
+ line-height : initial;
143
+ /* If position is specified absolutely positioned elements inside the header in Firefox pick wrong parent as offsetParent */
144
+ position : relative;
145
+ }
146
+
147
+ .b-grid-header {
148
+ position : relative;
149
+ display : flex;
150
+ user-select : none;
151
+ -webkit-user-select : none;
152
+ flex-direction : column;
153
+ flex-shrink : 0;
154
+ align-items : stretch;
155
+ justify-content : center;
156
+ overflow : clip;
157
+ transition : background-color var(--b-default-transition-duration), border var(--b-default-transition-duration);
158
+ contain : style;
159
+
160
+ /* Allows manipulating header-background & header-hover-background separately in HorizontalTimeAxis.css */
161
+ --b-grid-header-applied-background : var(--b-grid-header-background);
162
+
163
+ background : var(--b-grid-header-applied-background);
164
+ border-inline-end : var(--b-grid-header-border-width) solid var(--b-grid-header-border-color);
165
+ color : var(--b-grid-header-color);
166
+ font-size : var(--b-grid-header-font-size);
167
+ font-weight : var(--b-grid-header-font-weight);
168
+ text-transform : var(--b-grid-header-text-transform);
169
+
170
+ &.b-depth-0:hover {
171
+ /* Not setting the var here on purpose, makes it easier to handle in HorizontalTimeAxis */
172
+ color : var(--b-grid-header-hover-color);
173
+
174
+ --b-grid-header-applied-background : var(--b-grid-header-hover-background, var(--b-primary-98));
175
+ --b-grid-header-icon-color : var(--b-grid-header-hover-color);
176
+ }
177
+
178
+ &.b-focused:focus-visible {
179
+ outline : var(--b-grid-cell-focused-outline-width) solid var(--b-grid-cell-focused-outline-color);
180
+ outline-offset : calc(var(--b-grid-cell-focused-outline-width) * -1);
181
+ }
182
+
183
+ &.b-depth-0 {
184
+ width : 0; /* Flex trick to get small widths correct */
185
+
186
+ padding-inline : var(--b-grid-header-padding);
187
+ border-block-end : var(--b-grid-header-container-border-width) solid var(--b-grid-header-border-color);
188
+ }
189
+
190
+ .b-fill-last-column &.b-last-leaf:not(.b-drop-placeholder) {
191
+ border-inline-end : none;
192
+ }
193
+
194
+ /* Hide empty text content element if we have a widget, to not get additional gap */
195
+ &:has(.b-widget) .b-grid-header-text-content:empty {
196
+ display : none;
197
+ }
198
+ }
199
+
200
+ .b-grid-header-parent {
201
+ border-inline-end : none;
202
+ flex-basis : auto;
203
+ padding-inline : 0;
204
+
205
+ > .b-grid-header-text {
206
+ flex : 1 1 auto;
207
+
208
+ padding : var(--b-grid-header-padding);
209
+ }
210
+
211
+ &:where(:not(.b-last-parent)) > .b-grid-header-text {
212
+ transition : background-color var(--b-default-transition-duration), border var(--b-default-transition-duration);
213
+
214
+ border-inline-end : var(--b-grid-header-border-width) solid var(--b-grid-header-border-color);
215
+ }
216
+ }
217
+
218
+ /* When not a leaf, there's a top border */
219
+ /* and the child columns are arranged in a row. */
220
+ .b-grid-header-children {
221
+ display : flex;
222
+ flex-flow : row nowrap;
223
+ flex : 1 1 auto;
224
+ transition : border var(--b-default-transition-duration);
225
+
226
+ border-top : var(--b-grid-header-border-width) solid var(--b-grid-header-border-color);
227
+
228
+ /* Allow the column flexbox to width the children */
229
+ > * {
230
+ width : inherit;
231
+ }
232
+ }
233
+
234
+ .b-grid-header-text {
235
+ display : flex;
236
+ align-items : center;
237
+
238
+ padding-block : var(--b-grid-header-padding);
239
+
240
+ &:has(.b-widget) {
241
+ /* Some air around header widgets if present */
242
+ gap : var(--b-grid-header-gap);
243
+ }
244
+ }
245
+
246
+ .b-grid-header-text-content {
247
+ flex : 1;
248
+ overflow : clip;
249
+ text-overflow : ellipsis;
250
+ white-space : nowrap;
251
+ width : 0;
252
+
253
+ text-align : var(--b-grid-header-text-align);
254
+
255
+ &.b-has-text > * {
256
+ margin-inline-end : var(--b-grid-header-gap);
257
+ }
258
+ }
259
+
260
+ /* Use start and end to be LTR/RTL neutral */
261
+ .b-grid-header-align-right,
262
+ .b-grid-header-align-end {
263
+ --b-grid-header-text-align : end;
264
+ }
265
+
266
+ .b-grid-header-align-center {
267
+ --b-grid-header-text-align : center;
268
+ }
269
+
270
+ .b-writing-mode-sideways-lr,
271
+ .b-writing-mode-sideways-rl,
272
+ .b-writing-mode-vertical-lr,
273
+ .b-writing-mode-vertical-rl {
274
+ .b-grid-header-text-content {
275
+ display : flex;
276
+ text-align : start;
277
+ align-items : var(--b-grid-header-text-align);
278
+ }
279
+ }
280
+
281
+ .b-writing-mode-sideways-lr .b-grid-header-text-content {
282
+ writing-mode : sideways-lr;
283
+ }
284
+
285
+ .b-writing-mode-sideways-rl .b-grid-header-text-content {
286
+ writing-mode : sideways-rl;
287
+ }
288
+
289
+ .b-writing-mode-horizontal-tb .b-grid-header-text-content {
290
+ writing-mode : horizontal-tb;
291
+ }
292
+
293
+ .b-writing-mode-vertical-lr .b-grid-header-text-content {
294
+ writing-mode : vertical-lr;
295
+ }
296
+
297
+ .b-writing-mode-vertical-rl .b-grid-header-text-content {
298
+ writing-mode : vertical-rl;
299
+ }
300
+
301
+ /* region Collapsing */
302
+
303
+ /* Make collapse button fit and be positioned nicely */
304
+ .b-grid-header.b-collapsible > .b-grid-header-text {
305
+ /* padding-block : calc(var(--b-grid-header-padding) / 2); */
306
+ /* padding-inline-end : 0; */
307
+ }
308
+
309
+ .b-grid-header-collapse-button {
310
+ background : transparent;
311
+
312
+ --b-button-height : 1em;
313
+ --b-button-type-text-color : var(--b-neutral-60);
314
+
315
+ &:hover {
316
+ --b-button-color : var(--b-grid-header-color);
317
+ }
318
+ }
319
+
320
+ /* endregion */
@@ -0,0 +1 @@
1
+ function _gra(){const R=['getColumnConfig','collapsible','depth','b-grid-header','sideways-rl','innerHTML','355266qInSPy','setLength','visibleColumns','encodeConfig','columns','removeResizeListener','encodeHtml','call','tabIndex','traverse','bind','asap','isReactElement','initClass','columnReorder','2369814IWqhcf','b-grid-header-parent','1LBCTAl','-column-','icon','observe','contentElement','11dgNogu','getHeader','removeElement','<i\x20class=\x22','internalOnWidthChanged','headerRenderer','forEach','headersElement','column','5426112DpUvzT','@bryntum/grid-thin/lib/view/Header.css','cachePositions','columnheader','focusedCell','className','getBarCellElement','left','firstElementChild','unobserve','4625406fYRNyE','headerWidgets','render','construct','subGrid','rowIndex','grid','126855HeYelF','24AVEFar','children','getBoundingClientRect','length','handleColumnResize','14495330ABUYzY','initDepths','width','headerWritingMode','4SIUGrs','type','refreshColumn','fixHeaderWidths','region','ion','refreshContent','vertical-rl','maxDepth','b-grid-headers-','$hasChangedColumns','map','isDestroyed','changeElement','headerWidgetMap','doColumnResize','filter','Header','935015OGJHDp','flex','thisObj','sync','horizontal-tb','hasVerticalText','owner','gridheader','_subGrid','b-grid-header-resize-handle','b-level-','$name','topColumns','loadStylesheet','columnsDetacher','chainedFilterFn','meta','14UJMjcN'];_gra=function(){return R;};return _gra();}function _gru(a,b){return _grb(b-0x1ae,a);}(function(a,b){const c=a();function t(a,b){return _grb(a-0x16,b);}while(!![]){try{const d=parseInt(t(0x1e6,0x1cc))/0x1*(parseInt(t(0x1e4,0x1ee))/0x2)+-parseInt(t(0x1fe,0x1e2))/0x3*(-parseInt(t(0x20f,0x205))/0x4)+-parseInt(t(0x221,0x23c))/0x5+-parseInt(t(0x1d5,0x1d6))/0x6*(-parseInt(t(0x232,0x21f))/0x7)+-parseInt(t(0x206,0x227))/0x8*(-parseInt(t(0x205,0x215))/0x9)+-parseInt(t(0x20b,0x230))/0xa*(parseInt(t(0x1eb,0x1e4))/0xb)+-parseInt(t(0x1f4,0x1e4))/0xc;if(d===b){break;}else{c['push'](c['shift']());}}catch(e){c['push'](c['shift']());}}}(_gra,0xc2ff0));import _grc from'./Bar.js';import _grd from'@bryntum/core-thin/lib/helper/StringHelper.js';import _gre from'@bryntum/core-thin/lib/helper/DomSync.js';import _grf from'@bryntum/core-thin/lib/widget/Tooltip.js';import _grg from'@bryntum/core-thin/lib/helper/DomHelper.js';import _grh from'@bryntum/core-thin/lib/helper/ResizeMonitor.js';function _grb(a,b){const c=_gra();_grb=function(d,e){d=d-0x1bc;let f=c[d];return f;};return _grb(a,b);}_grg[_gru(0x3dc,0x3c6)](_gru(0x377,0x38d));export default class Header extends _grc{static [_gru(0x3d7,0x3c4)]=_gru(0x3b9,0x3b8);static [_gru(0x3be,0x3a8)]=_gru(0x3d9,0x3c0);['construct'](...a){function v(a,b){return _gru(b,a- -0x23b);}this[v(0x167,0x191)]=this['handleColumnResize'][v(0x13c,0x142)](this);super[v(0x15e,0x16f)](...a);}static ['delayable']={'doColumnResize':_gru(0x3a5,0x378)};[_gru(0x391,0x3a2)](a,b,c){var d;function w(a,b){return _gru(a,b- -0x1d9);}const {grid:e}=this[w(0x1c3,0x1c1)]||{};if(!this[w(0x1f1,0x1da)]&&e&&(!b||c['width']!==b['width'])&&!((d=e['features'][w(0x177,0x1a2)])!==null&&d!==void 0x0&&d['isReordering'])){this[w(0x1c4,0x1d8)]=!![];this[w(0x1c5,0x1dd)]();}}['doColumnResize'](){function x(a,b){return _gru(a,b- -0x5e);}if(this[x(0x344,0x353)]){var a;this[x(0x311,0x330)]();(a=this[x(0x333,0x33c)])===null||a===void 0x0||a[x(0x332,0x33e)]['rowManager']['positionCells']();this[x(0x345,0x353)]=![];}}[_gru(0x386,0x38e)](){function y(a,b){return _gru(b,a- -0x279);}const a=this,{rtl:b,contentElement:c}=a,d=c[y(0x127,0x147)](),{scrollLeft:e}=c;for(const g of a[y(0xf8,0xdb)][y(0xf6,0x10d)]){const h=a['getHeader'](g['id']);if(h){const i=h['getBoundingClientRect'](),j=i[y(0x12c,0x11b)],k=g[y(0x150,0x14e)][y(0x12c,0x131)];let l=i[y(0x11a,0x13b)]-d['left']+e;if(b){l=d[y(0x12c,0x125)]-l-j;}g[y(0x150,0x12d)]['width']=j;g['meta']['x']=l;if(k!==j){var f;(f=g[y(0x10e,0xf6)])===null||f===void 0x0||f[y(0xfb,0x124)](g,{'width':j,'oldWidth':k});}}}}[_gru(0x39f,0x381)](a){function z(a,b){return _gru(a,b-0xb5);}_grh['addResizeListener'](a,this[z(0x472,0x457)]);}[_gru(0x39e,0x395)](a){function A(a,b){return _gru(a,b- -0x355);}_grh[A(0xa,0x1d)](a,this[A(0x6f,0x4d)]);}get[_gru(0x3b7,0x39a)](){function B(a,b){return _gru(a,b- -0x2ec);}return this[B(0xf7,0xd5)];}set[_gru(0x3ba,0x39a)](a){function C(a,b){return _gru(b,a- -0x431);}this[C(-0x70,-0xa0)]=this[C(-0x72,-0x44)]=a;}get[_gru(0x37e,0x3ab)](){function D(a,b){return _gru(b,a- -0x472);}var a;return(a=this[D(-0xd8,-0xc2)])===null||a===void 0x0?void 0x0:a[D(-0xc7,-0xe4)];}[_gru(0x3af,0x3b4)](a,b){const {region:c}=this;function E(a,b){return _gru(a,b- -0x258);}this['getConfig'](E(0x124,0x119));return super[E(0x12f,0x15c)]({'className':{'b-grid-header-scroller':0x1,['b-grid-header-scroller-'+c]:c},'role':null,'children':[{'reference':'headersElement','className':{'b-grid-headers':0x1,[E(0x161,0x158)+c]:c},'dataset':{'region':c,'reference':E(0x140,0x132),'maxDepth':this['maxDepth']}}]},b);}get['overflowElement'](){function F(a,b){return _gru(b,a- -0x2db);}return this[F(0xaf,0xac)];}['getColumnConfig'](a){function G(a,b){return _gru(b,a-0x172);}if(a['isVisible']){var b;const {id:c,align:d,resizable:e,isLeaf:f,isParent:g,isLastInSubGrid:h,cls:i,childLevel:j,field:k,tooltip:l,children:m,isFocusable:n,grid:o}=a,p=o===null||o===void 0x0?void 0x0:o[G(0x502,0x509)],q=(p===null||p===void 0x0?void 0x0:p[G(0x50d,0x522)])===-0x1&&(p===null||p===void 0x0?void 0x0:p[G(0x4fd,0x529)])===a,r={};if(a[G(0x52c,0x53d)]){r[G(0x52c,0x55d)]=a[G(0x52c,0x55b)];}else if(a['width']){r['width']=_grg[G(0x4e0,0x4f2)](a[G(0x517,0x4ee)]);}return{'style':r,'className':{'b-grid-header':0x1,'b-grid-header-parent':g,[G(0x535,0x55e)+j]:0x1,['b-depth-'+(a[G(0x53b,0x545)][G(0x53f,0x54e)]??0x0)]:0x1,['b-grid-header-align-'+d]:d,'b-grid-header-resizable':e&&f,[i]:i,'b-collapsible':a[G(0x53e,0x516)],'b-last-parent':g&&h,'b-last-leaf':f&&h,'b-header-widgets':(b=a[G(0x509,0x52e)])===null||b===void 0x0?void 0x0:b[G(0x513,0x538)],'b-writing-mode-horizontal-tb':a[G(0x518,0x523)]===G(0x52f,0x53e),'b-writing-mode-vertical-rl':a['headerWritingMode']===G(0x520,0x54a),'b-writing-mode-vertical-lr':a[G(0x518,0x503)]==='vertical-lr','b-writing-mode-sideways-rl':a[G(0x518,0x51f)]===G(0x4dd,0x4b6),'b-writing-mode-sideways-lr':a['headerWritingMode']==='sideways-lr'},'role':n?G(0x501,0x4dc):null,'aria-sort':'none','aria-label':a['ariaLabel'],[n?G(0x4e7,0x511):'']:q?0x0:-0x1,'dataset':{..._grf[G(0x4e2,0x4c3)](l),'columnId':c,[k?G(0x4fd,0x4ed):'']:k},'children':[{'className':'b-grid-header-text','role':null,'children':[{[o&&n?'id':'']:(o===null||o===void 0x0?void 0x0:o['id'])+G(0x4f1,0x4cb)+a['id'],'className':{'b-grid-header-text-content':0x1,'b-has-text':Boolean(a['text']),'b-vertical-text':a[G(0x530,0x556)]}}]},m?{'className':'b-grid-header-children','children':m[G(0x524,0x50e)](s=>this[G(0x53d,0x510)](s)),'syncOptions':{'syncIdField':'columnId'}}:null,{'className':G(0x534,0x516)}]};}}[_gru(0x396,0x3aa)](){this['fixCellWidths']();}['refreshHeaders'](){const a=this;a[H(0x10d,0x109)][H(0x100,0x10e)](b=>a[H(0x156,0x141)](b));function H(a,b){return _gru(a,b- -0x268);}a[H(0x147,0x142)]();a[H(0x124,0x126)]();}[_gru(0x392,0x3a9)](a){const b=this,c=b[I(0x62,0x94)](a['id']);function I(a,b){return _gru(b,a- -0x330);}if(c){let d=a['headerText'];if(a[I(0x58,0x67)]){d=a[I(0x58,0x39)][I(0x44,0x49)](a[I(0x8b,0xb5)]||b,{'column':a,'headerElement':c});if(_grg[I(0x49,0x3d)](d)){return _grg['handleReactHeaderElement'](a,c,d);}}if(a[I(0x85,0x81)]){Object['values'](a[I(0x85,0xa4)])[I(0x59,0x6f)](f=>{function J(a,b){return I(b-0x29,a);}f[J(0x7a,0x91)](a['textWrapper']);});}if(a[I(0x50,0x58)]){d=I(0x56,0x4f)+_grd[I(0x43,0x65)](a[I(0x50,0x7a)])+'\x22></i>'+(d||'');}const e=c['querySelector']('.b-grid-header-text-content');if(e){e[I(0x3c,0x30)]=d||'';}}}get[_gru(0x348,0x371)](){const a=this,b=super[K(-0x1c1,-0x1b4)];if(!a[K(-0x16b,-0x198)]){a[K(-0x16b,-0x16b)]=b[K(-0x186,-0x168)]({'change'(){a['initDepths']();},'thisObj':a});a[K(-0x18e,-0x15c)]();}function K(a,b){return _gru(b,a- -0x532);}return b;}set[_gru(0x352,0x371)](a){super['columns']=a;}['initDepths'](a=this[_gru(0x35e,0x371)]['topColumns'],b=null){const c=this;function L(a,b){return _gru(a,b- -0x1e8);}let d=0x0;if(b!==null&&b!==void 0x0&&b[L(0x1ce,0x1e1)]){b[L(0x1f2,0x1e1)][L(0x1fc,0x1e5)]++;}for(const e of a){const {meta:f}=e;f[L(0x1ed,0x1e5)]=0x0;if(e[L(0x1a9,0x1b7)]){c['initDepths'](e[L(0x191,0x1b7)][L(0x1f5,0x1cf)](c[L(0x17c,0x189)][L(0x202,0x1e0)]),e);if(f['depth']&&b){b[L(0x20c,0x1e1)][L(0x1ed,0x1e5)]+=f[L(0x1ba,0x1e5)];}}if(f[L(0x20d,0x1e5)]>d){d=f['depth'];}}if(!b){c[L(0x1c1,0x1c7)]=d;}return d;}[_gru(0x37d,0x384)](a){function M(a,b){return _gru(a,b- -0x49);}return this[M(0x330,0x349)](a);}get[_gru(0x389,0x382)](){function N(a,b){return _gru(b,a- -0x596);}return this['element'][N(-0x202,-0x209)];}[_gru(0x3cc,0x3ad)](){const a=this;function O(a,b){return _gru(a,b- -0x400);}_gre[O(-0x4d,-0x44)]({'domConfig':{'children':a['columns'][O(-0x58,-0x3b)]['map'](b=>a['getColumnConfig'](b)),'onlyChildren':!![]},'targetElement':a[O(-0xa3,-0x7e)],'strict':!![],'syncIdField':'columnId','releaseThreshold':0x0,'callback'({action:b,targetElement:c,domConfig:d}){var e;function P(a,b){return O(b,a-0x197);}if(d!==null&&d!==void 0x0&&(e=d[P(0x128,0x150)])!==null&&e!==void 0x0&&e[P(0x101,0xe8)]&&!d[P(0x128,0x139)][P(0x114,0xf5)]){if(b==='newElement'){a[P(0x118,0x135)](c);}else if(b===P(0x11c,0x117)){a['unobserve'](c);}}}});a['refreshHeaders']();}['onInternalPaint']({firstPaint:a}){function Q(a,b){return _gru(a,b- -0x325);}if(a){this[Q(0xa8,0x88)]();}}}Header[_gru(0x34b,0x37a)]();
@@ -0,0 +1,325 @@
1
+ :root {
2
+ --bi-grid-cell-dirty-indicator-clip-path : polygon(0% 50%, 0% 0%, 50% 0%);
3
+ --bi-grid-cell-dirty-indicator-clip-path-rtl : polygon(100% 50%, 50% 0%, 100% 0%);
4
+ --b-grid-cell-auto-height-padding-block : var(--b-grid-cell-padding-inline);
5
+ }
6
+
7
+ .b-no-column-lines,
8
+ .b-no-column-lines .b-grid-sub-grid {
9
+ --b-grid-cell-border-width : 0;
10
+ --b-grid-header-border-width : 0;
11
+ }
12
+
13
+ .b-no-row-lines {
14
+ --b-grid-row-border-width : 0;
15
+ }
16
+
17
+ .b-grid-sub-grid {
18
+ position : relative;
19
+
20
+ &.b-hidden {
21
+ display : none;
22
+ }
23
+ }
24
+
25
+ .b-grid-sub-grid-collapsed {
26
+ width : 0;
27
+ min-width : 0 !important; /* Needs to override min-width in style */
28
+ overflow : hidden !important;
29
+ }
30
+
31
+ .b-animating {
32
+ .b-grid-header-scroller,
33
+ .b-grid-sub-grid {
34
+ transition-property : width, flex, min-width;
35
+ transition-duration : .3s;
36
+ }
37
+ }
38
+
39
+ .b-grid-row {
40
+ position : absolute;
41
+ display : flex;
42
+ flex-direction : row;
43
+ align-items : stretch;
44
+ inset-inline-start : 0;
45
+ overflow : clip;
46
+ /* Blink-only right now. Layouts triggered inside the row won't cause document layout. */
47
+ /* Must be "layout", not "strict", otherwise the cell won't "stretch" the row. */
48
+ contain : layout;
49
+
50
+ /* Default row height, will be read during initial render, but after that rows set height in style */
51
+ height : var(--b-grid-row-height);
52
+ z-index : var(--b-grid-row-zindex);
53
+ /* width : var(--bi-total-column-width); */
54
+
55
+ .b-grid-sub-grid & {
56
+ min-width : 100%;
57
+ }
58
+
59
+ /* If the column widths overflow, we have to ensure that the row expands to show them all. */
60
+ /* it will not stretch to accommodate cells size with flex-basis. */
61
+ /* .b-grid-sub-grid.b-horizontal-overflow & { */
62
+ /* min-width : max(var(--bi-total-column-width, 100%), 100%); */
63
+ /* } */
64
+
65
+ &.b-hover .b-grid-cell {
66
+ --b-grid-cell-applied-background : var(--b-grid-cell-hover-background, var(--b-primary-98));
67
+ --b-grid-cell-color : var(--b-grid-cell-selected-color);
68
+ --b-grid-link-color : var(--b-grid-row-hover-link-color, var(--b-primary-30));
69
+ }
70
+
71
+ .b-grid-cell {
72
+ .b-selected &, &.b-selected {
73
+ --b-grid-cell-applied-background : var(--b-grid-cell-selected-background, var(--b-primary-96));
74
+ --b-grid-cell-color : var(--b-grid-cell-selected-color);
75
+ --b-grid-link-color : var(--b-grid-row-hover-link-color, var(--b-primary-30));
76
+ transition : background-color var(--b-default-transition-duration), color var(--bi-grid-cell-selected-color-transition-duration, var(--b-default-transition-duration));
77
+ }
78
+ }
79
+
80
+ &.b-hover.b-selected .b-grid-cell {
81
+ --b-grid-cell-applied-background : var(--b-grid-cell-hover-selected-background, var(--b-primary-94));
82
+ }
83
+
84
+ /* TimeRanges for example use `cls: '.fa .fa-xx'` to apply an icon. If that range is used as a row of a grid, */
85
+ /* the fa rule will mess up the row */
86
+ &.fa {
87
+ display : flex;
88
+
89
+ &::before {
90
+ /* Ditch icon */
91
+ content : none;
92
+ }
93
+ }
94
+
95
+ &.b-row-placeholder {
96
+ .b-grid-cell {
97
+ color : transparent; /* Could be overridden by style */
98
+ clip-path : inset(1em 1em 1em 1em); /* Need to match trbl positions below*/
99
+
100
+ > *:not(.b-editor) {
101
+ display : none;
102
+ }
103
+
104
+ &::after {
105
+ content : '';
106
+ position : absolute;
107
+ inset : 1em;
108
+ border-radius : 5px;
109
+
110
+ background : var(--b-grid-row-placeholder-color);
111
+ }
112
+ }
113
+ }
114
+ }
115
+
116
+ .b-hide-row-hover {
117
+ /* No hover & selection styling */
118
+ --b-grid-cell-hover-background : var(--b-grid-cell-background);
119
+ --b-grid-cell-selected-background : var(--b-grid-cell-background);
120
+ --b-grid-cell-hover-selected-background : var(--b-grid-cell-background);
121
+ }
122
+
123
+ /* No border on last row if we have scroll, to avoid double borders at bottom */
124
+ .b-grid-body-container.b-vertical-overflow .b-grid-row.b-last .b-grid-cell {
125
+ --b-grid-row-border-color : transparent;
126
+ }
127
+
128
+ .b-grid-cell {
129
+ position : absolute;
130
+ display : flex;
131
+ flex-shrink : 0;
132
+ contain : strict;
133
+ align-items : center;
134
+ white-space : nowrap;
135
+ height : 100%;
136
+
137
+ background : var(--b-grid-cell-applied-background, var(--b-grid-cell-background));
138
+ color : var(--b-grid-cell-color);
139
+ border-inline-end : var(--b-grid-cell-border-width) solid var(--b-grid-cell-border-color);
140
+ border-bottom : var(--b-grid-row-border-width) solid var(--b-grid-row-border-color);
141
+ font-size : var(--b-grid-cell-font-size);
142
+ font-weight : var(--b-grid-cell-font-weight);
143
+ gap : var(--b-grid-cell-gap);
144
+ overflow : var(--bi-grid-cell-overflow);
145
+ padding-inline : var(--b-grid-cell-padding-inline);
146
+ padding-block : var(--b-grid-cell-padding-block);
147
+
148
+ /* Prevent transitions for content by default */
149
+ &:not(.b-focused) {
150
+ *, *::before, *::after {
151
+ transition : none;
152
+ }
153
+ }
154
+
155
+ .b-theme-transition & {
156
+ transition : background-color var(--b-default-transition-duration), border var(--b-default-transition-duration);
157
+ }
158
+
159
+ .b-windows & {
160
+ /* Subpixel rendering issues on windows with `strict`, column lines get overlapped by cells */
161
+ contain : layout;
162
+ }
163
+
164
+ &.b-focused:focus-visible {
165
+ outline : var(--b-grid-cell-focused-outline-width) solid var(--b-grid-cell-focused-outline-color);
166
+ outline-offset : var(--b-grid-cell-focused-outline-offset, calc(var(--b-grid-cell-focused-outline-width) * -1));
167
+ }
168
+
169
+ &.b-hover {
170
+ --b-grid-cell-applied-background : var(--b-grid-cell-hover-background, var(--b-primary-98));
171
+ --b-grid-cell-color : var(--b-grid-cell-selected-color);
172
+ }
173
+
174
+ &.b-selected {
175
+ --b-grid-cell-applied-background : var(--b-grid-cell-selected-background, var(--b-primary-96));
176
+ --b-grid-cell-color : var(--b-grid-cell-selected-color);
177
+ }
178
+
179
+ &.b-auto-height {
180
+ white-space : normal;
181
+
182
+ &:not(.b-tree-cell) {
183
+ --b-grid-cell-padding-block : var(--b-grid-cell-auto-height-padding-block);
184
+ }
185
+ }
186
+
187
+ &.b-measuring-auto-height {
188
+ contain : paint style layout; /* Replaces strict, cannot use size since we want it to grow */
189
+ align-self : baseline;
190
+ height : auto; /* Absolute positioned with 100% height to fill row by default */
191
+ }
192
+
193
+ .b-grid-no-text-selection & {
194
+ user-select : none;
195
+ -webkit-user-select : none;
196
+ }
197
+
198
+ a {
199
+ color : var(--b-grid-link-color, var(--b-primary-30));
200
+ }
201
+ }
202
+
203
+ /* Support for cell / header ellipsis when text overflows */
204
+ .b-supports-has.b-use-ellipsis:not(.b-grid-measuring) {
205
+ .b-grid-row {
206
+ height : var(--b-grid-row-height);
207
+
208
+ .b-grid-cell:not(.b-auto-height, .b-row-reorder-grip, :has(*)) {
209
+ display : block;
210
+ text-overflow : ellipsis;
211
+
212
+ line-height : var(--b-grid-row-height);
213
+ }
214
+ }
215
+ }
216
+
217
+ /* Use start and end to be LTR/RTL neutral */
218
+ .b-grid-cell-align-right,
219
+ .b-grid-cell-align-end {
220
+ justify-content : flex-end;
221
+ text-align : end;
222
+ }
223
+
224
+ .b-grid-cell-align-center {
225
+ justify-content : center;
226
+ text-align : center;
227
+ }
228
+
229
+ .b-rtl {
230
+ --bi-grid-cell-dirty-indicator-clip-path : var(--bi-grid-cell-dirty-indicator-clip-path-rtl)
231
+ }
232
+
233
+ .b-show-dirty .b-cell-dirty:not(.b-editing):after,
234
+ .b-show-dirty-during-edit .b-cell-dirty:after {
235
+ content : "";
236
+ z-index : 2;
237
+ position : absolute;
238
+ top : 0;
239
+ inset-inline-start : 1px;
240
+ width : 1.2em;
241
+ height : 1.2em;
242
+
243
+ background-color : var(--b-grid-cell-dirty-color);
244
+ clip-path : var(--bi-grid-cell-dirty-indicator-clip-path);
245
+ }
246
+
247
+ .b-grid-splitter {
248
+ transition : background var(--b-default-transition-duration);
249
+
250
+ background : var(--b-grid-splitter-color, var(--b-grid-splitter-narrow-color));
251
+ /* When not a draggable splitter, it's just a narrow line. */
252
+ flex : 0 0 var(--b-grid-splitter-width);
253
+
254
+ .b-grid-splitter-inner {
255
+ /* When not a draggable splitter, it's just a narrow line with no internal structure. */
256
+ display : none;
257
+ }
258
+ }
259
+
260
+ /* region Virtual scrollers */
261
+
262
+ .b-virtual-scrollers {
263
+ /* Must be above footer element */
264
+ z-index : 3;
265
+
266
+ display : flex;
267
+ flex-direction : row;
268
+ contain : paint style layout;
269
+
270
+ .b-firefox & {
271
+ contain : paint layout;
272
+ }
273
+
274
+ /* Horizontal scrollbar should remain reachable in FireFox on Windows */
275
+ .b-overlay-scrollbar.b-firefox.b-windows & {
276
+ pointer-events : auto;
277
+
278
+ .b-virtual-scroller {
279
+ pointer-events : auto;
280
+ }
281
+ }
282
+
283
+ /* If it's an overlaying scrollbar, make it absolutely positioned, docked to */
284
+ /* the bottom of the grid. */
285
+ /* */
286
+ /* If it's an overlaying scrollbar, it should not interact with pointers. */
287
+ /* The "wheel" event will go directly to the scrollable content, and mouseovers */
288
+ /* should go through to the grid content. */
289
+ /* */
290
+ /* We need to force a height if the platform is using overlaying scrollbars */
291
+ /* and therefore will not "stretch" the overflowing element with a permanent scrollbar. */
292
+ .b-overlay-scrollbar & {
293
+ position : absolute;
294
+ left : 0;
295
+ right : 0;
296
+ bottom : 0;
297
+ pointer-events : none;
298
+
299
+ .b-virtual-scroller {
300
+ height : 16px;
301
+ pointer-events : none;
302
+ }
303
+ }
304
+
305
+ .b-virtual-scroller {
306
+ overflow-x : scroll;
307
+ overflow-y : hidden;
308
+ }
309
+
310
+ .b-virtual-width {
311
+ height : 1px;
312
+ }
313
+ }
314
+
315
+ /* Overlaid scrollbars are interactive when scrolling */
316
+ .b-overlay-scrollbar {
317
+ .b-virtual-scroller:hover,
318
+ .b-virtual-scroller.b-show-virtual-scroller {
319
+ pointer-events : all;
320
+ opacity : 1;
321
+ transition : opacity .5s;
322
+ }
323
+ }
324
+
325
+ /* endregion */