lexgui 0.5.0 → 0.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.
@@ -169,7 +169,6 @@ class Timeline {
169
169
  }
170
170
 
171
171
  let header = this.header;
172
- LX.DEFAULT_NAME_WIDTH = "50%";
173
172
  header.sameLine();
174
173
 
175
174
  if( this.name )
@@ -177,32 +176,54 @@ class Timeline {
177
176
  header.addTitle(this.name );
178
177
  }
179
178
 
180
- header.addButton('', '<i class="fa-solid fa-'+ (this.playing ? 'pause' : 'play') +'"></i>', (value, event) => {
179
+ const buttonContainer = LX.makeContainer(["auto", "100%"], "", { display: "flex" });
180
+
181
+ header.queue( buttonContainer );
182
+
183
+ header.addButton("playBtn", '<i class="fa-solid fa-'+ (this.playing ? 'pause' : 'play') +'"></i>', (value, event) => {
181
184
  this.changeState();
182
- }, { width: "40px", buttonClass: "accept", title: "Play" });
185
+ }, { buttonClass: "accept", title: "Play", hideName: true });
183
186
 
184
- header.addButton('', '<i class="fa-solid fa-rotate"></i>', ( value, event ) => {
187
+ header.addButton("toggleLoopBtn", '<i class="fa-solid fa-rotate"></i>', ( value, event ) => {
185
188
  this.loop = !this.loop;
186
189
  if( this.onChangePlayMode )
187
190
  {
188
191
  this.onChangePlayMode( this.loop );
189
192
  }
190
- }, { width: "40px", selectable: true, selected: this.loop, title: 'Loop' });
193
+ }, { selectable: true, selected: this.loop, title: 'Loop', hideName: true });
191
194
 
192
195
  if( this.onBeforeCreateTopBar )
193
196
  {
194
197
  this.onBeforeCreateTopBar( header );
195
198
  }
196
199
 
200
+ header.clearQueue( buttonContainer );
201
+
202
+ header.addContent( "header-buttons", buttonContainer );
203
+
197
204
  header.addNumber("Current Time", this.currentTime, (value, event) => {
198
- this.setTime(value)}, {signal: "@on_set_time_" + this.name, step: 0.01, min: 0, precision: 3, skipSlider: true});
205
+ this.setTime(value)
206
+ }, {
207
+ units: "s",
208
+ signal: "@on_set_time_" + this.name,
209
+ step: 0.01, min: 0, precision: 3,
210
+ skipSlider: true
211
+ });
199
212
 
200
213
  header.addNumber("Duration", + this.duration.toFixed(3), (value, event) => {
201
- this.setDuration(value, false)}, {step: 0.01, min: 0, signal: "@on_set_duration_" + this.name
214
+ this.setDuration(value, false)
215
+ }, {
216
+ units: "s",
217
+ step: 0.01, min: 0,
218
+ signal: "@on_set_duration_" + this.name
202
219
  });
203
220
 
204
221
  header.addNumber("Speed", + this.speed.toFixed(3), (value, event) => {
205
- this.setSpeed(value)}, {step: 0.01, signal: "@on_set_speed_" + this.name});
222
+ this.setSpeed(value)
223
+ }, {
224
+ step: 0.01,
225
+ signal: "@on_set_speed_" + this.name
226
+ });
206
227
 
207
228
  if( this.onAfterCreateTopBar )
208
229
  {
@@ -211,12 +232,12 @@ class Timeline {
211
232
 
212
233
  if( this.onShowOptimizeMenu )
213
234
  {
214
- header.addButton("", '<i class="fa-solid fa-filter"></i>', (value, event) => {this.onShowOptimizeMenu(event)}, { width: "40px", title: "Optimize" });
235
+ header.addButton(null, '<i class="fa-solid fa-filter"></i>', (value, event) => {this.onShowOptimizeMenu(event)}, { title: "Optimize" });
215
236
  }
216
237
 
217
238
  if( this.onShowConfiguration )
218
239
  {
219
- header.addButton("", '<i class="fa-solid fa-gear"></i>', (value, event) => {
240
+ header.addButton(null, '<i class="fa-solid fa-gear"></i>', (value, event) => {
220
241
  if(this.configurationDialog){
221
242
  this.configurationDialog.close();
222
243
  this.configurationDialog = null;
@@ -231,11 +252,10 @@ class Timeline {
231
252
  root.remove();
232
253
  }
233
254
  })
234
- }, { width: "40px" })
255
+ }, { title: "Settings" })
235
256
  }
236
257
 
237
258
  header.endLine();
238
- LX.DEFAULT_NAME_WIDTH = "30%";
239
259
  }
240
260
 
241
261
  /**
@@ -263,9 +283,9 @@ class Timeline {
263
283
 
264
284
  if( !this.disableNewTracks )
265
285
  {
266
- panel.addButton('', '<i class = "fa-solid fa-plus"></i>', (value, event) => {
286
+ panel.addButton("addTrackBtn", '<i class = "fa-solid fa-plus"></i>', (value, event) => {
267
287
  this.addNewTrack();
268
- }, {width: "40px", height: "40px"});
288
+ }, { hideName: true, title: "Add Track" });
269
289
  }
270
290
 
271
291
  panel.endLine();
@@ -2758,9 +2778,9 @@ class ClipsTimeline extends Timeline {
2758
2778
  let title = titleWidget.root;
2759
2779
  if(!this.disableNewTracks)
2760
2780
  {
2761
- panel.addButton('', '<i class = "fa-solid fa-plus"></i>', (value, event) => {
2781
+ panel.addButton("addTrackBtn", '<i class = "fa-solid fa-plus"></i>', (value, event) => {
2762
2782
  this.addNewTrack();
2763
- }, {width: "40px", height: "40px"});
2783
+ }, { hideName: true, title: "Add Track" });
2764
2784
  }
2765
2785
  panel.endLine();
2766
2786
  const styles = window.getComputedStyle(title);
package/build/lexgui.css CHANGED
@@ -366,7 +366,7 @@ svg, svg path {
366
366
  display: block;
367
367
  }
368
368
 
369
- svg path {
369
+ a svg, svg path {
370
370
  pointer-events: none;
371
371
  }
372
372
 
@@ -1262,6 +1262,8 @@ svg path {
1262
1262
 
1263
1263
  .lexinlinewidgets {
1264
1264
  display: flex;
1265
+ gap: 0.1rem;
1266
+ justify-content: space-around;
1265
1267
  }
1266
1268
 
1267
1269
  .lexwidgetseparator div {
@@ -1291,6 +1293,11 @@ svg path {
1291
1293
  color: var(--global-text-secondary);
1292
1294
  }
1293
1295
 
1296
+ .lexinlinewidgets .lexwidgetname {
1297
+ width: fit-content !important;
1298
+ padding-inline: 0.4rem;
1299
+ }
1300
+
1294
1301
  .lexwidget input:not(.lexcheckbox, .lextoggle, .lexrangeslider) {
1295
1302
  font-family: var(--global-font);
1296
1303
  background: none;
@@ -1300,13 +1307,13 @@ svg path {
1300
1307
  outline: none;
1301
1308
  border-radius: 6px;
1302
1309
  border: 2px solid var(--global-color-transparent);
1303
- transition: border-color 0.1s linear;
1310
+ transition: background-color 0.2s linear, border-color 0.15s linear;
1304
1311
  }
1305
1312
 
1306
1313
  .lexwidget .lextext {
1307
1314
  border-radius: 6px;
1308
1315
  position: relative;
1309
- transition: 0.1s linear;
1316
+ transition: 0.2s linear;
1310
1317
  }
1311
1318
 
1312
1319
  .lexwidget .lextext.formlabel {
@@ -1493,6 +1500,7 @@ svg path {
1493
1500
  .lexbutton.primary { --button-color: var(--global-selected) !important; color: #f9f9f9 !important; }
1494
1501
  .lexbutton.secondary { --button-color: var(--global-selected-light) !important; color: #f9f9f9 !important; }
1495
1502
  .lexbutton.accent { --button-color: var(--global-color-accent) !important; color: #f9f9f9 !important; }
1503
+ .lexbutton.contrast { --button-color: var(--global-text-primary) !important; color: var(--global-color-primary) !important; }
1496
1504
  .lexbutton.warning { --button-color: var(--global-color-warning) !important; color: #793205 !important; }
1497
1505
  .lexbutton.error { --button-color: var(--global-color-error) !important; color: #52020d !important; }
1498
1506
  /* Few Sizes */
@@ -1562,11 +1570,6 @@ svg path {
1562
1570
  color: #DDD;
1563
1571
  }
1564
1572
 
1565
- .lexbutton.noname {
1566
- margin-left: 0px;
1567
- margin-top: 0px;
1568
- }
1569
-
1570
1573
  /* Combo Buttons */
1571
1574
 
1572
1575
  .lexcombobuttons .lexcombobuttonsbox {
@@ -1784,7 +1787,8 @@ dialog .lexselect .lexselectoptions {
1784
1787
  /* Check box */
1785
1788
 
1786
1789
  .lexcheckbox {
1787
- --checkbox-color: var(--global-selected);
1790
+ --checkbox-bg-color: var(--global-selected);
1791
+ --checkbox-fg-color: #fff;
1788
1792
  vertical-align: middle;
1789
1793
  flex-shrink: 0;
1790
1794
  transition: background-color .2s,box-shadow .2s;
@@ -1794,10 +1798,10 @@ dialog .lexselect .lexselectoptions {
1794
1798
  padding: 0.12rem;
1795
1799
  display: inline-block;
1796
1800
  background-color: var(--global-color-primary);
1797
- color: #fff;
1801
+ color: var(--checkbox-fg-color);
1798
1802
  border-width: 1px;
1799
1803
  border-style: solid;
1800
- border-color: color-mix(in srgb, var(--checkbox-color) 50%, transparent);
1804
+ border-color: color-mix(in srgb, var(--checkbox-bg-color) 50%, transparent);
1801
1805
  border-radius: 4px;
1802
1806
  margin: auto 4px;
1803
1807
  text-align: center;
@@ -1808,11 +1812,12 @@ dialog .lexselect .lexselectoptions {
1808
1812
  }
1809
1813
 
1810
1814
  /* Colors */
1811
- .lexcheckbox.primary { --checkbox-color: var(--global-selected); }
1812
- .lexcheckbox.secondary { --checkbox-color: var(--global-selected-light); }
1813
- .lexcheckbox.accent { --checkbox-color: var(--global-color-accent); }
1814
- .lexcheckbox.warning { --checkbox-color: var(--global-color-warning); }
1815
- .lexcheckbox.error { --checkbox-color: var(--global-color-error); }
1815
+ .lexcheckbox.primary { --checkbox-bg-color: var(--global-selected); }
1816
+ .lexcheckbox.secondary { --checkbox-bg-color: var(--global-selected-light); }
1817
+ .lexcheckbox.accent { --checkbox-bg-color: var(--global-color-accent); }
1818
+ .lexcheckbox.contrast { --checkbox-bg-color: var(--global-text-primary); --checkbox-fg-color: var(--global-color-primary); }
1819
+ .lexcheckbox.warning { --checkbox-bg-color: var(--global-color-warning); }
1820
+ .lexcheckbox.error { --checkbox-bg-color: var(--global-color-error); }
1816
1821
 
1817
1822
  .lexcheckbox:before {
1818
1823
  content: "";
@@ -1828,8 +1833,7 @@ dialog .lexselect .lexselectoptions {
1828
1833
  }
1829
1834
 
1830
1835
  .lexcheckbox:checked,.lexcheckbox[aria-checked=true] {
1831
- background-color: var(--checkbox-color);
1832
- color: #fff !important;
1836
+ background-color: var(--checkbox-bg-color);
1833
1837
  }
1834
1838
 
1835
1839
  .lexcheckbox:checked:before, .lexcheckbox[aria-checked=true]:before {
@@ -1838,11 +1842,18 @@ dialog .lexselect .lexselectoptions {
1838
1842
  }
1839
1843
 
1840
1844
  .lexcheckboxcont {
1841
- display: inline-flex;
1842
- gap: 8px;
1845
+ display: flex;
1846
+ gap: 0.4rem;
1843
1847
  margin: 0 auto;
1844
1848
  }
1845
1849
 
1850
+ .lexcheckboxcont span {
1851
+ width: 95%;
1852
+ overflow: hidden;
1853
+ text-overflow: ellipsis;
1854
+ white-space: nowrap;
1855
+ }
1856
+
1846
1857
  .lexcheckboxsubmenu {
1847
1858
  width: 100%;
1848
1859
  padding: 4px;
@@ -1857,9 +1868,10 @@ dialog .lexselect .lexselectoptions {
1857
1868
  /* Toggle Widget */
1858
1869
 
1859
1870
  .lextoggle {
1860
- --toggle-color: #1a1a1a;
1871
+ --toggle-bg-color: #1a1a1a;
1872
+ --toggle-fg-color: #f9f9f9;
1861
1873
  border: 1px solid transparent;
1862
- color: #f9f9f9;
1874
+ color: var(--toggle-fg-color);
1863
1875
  background-color: var(--global-color-quaternary);
1864
1876
  cursor: pointer;
1865
1877
  -webkit-appearance: none;
@@ -1887,11 +1899,12 @@ dialog .lexselect .lexselectoptions {
1887
1899
  }
1888
1900
 
1889
1901
  /* Colors */
1890
- .lextoggle.primary { --toggle-color: var(--global-selected); }
1891
- .lextoggle.secondary { --toggle-color: var(--global-selected-light); }
1892
- .lextoggle.accent { --toggle-color: var(--global-color-accent); }
1893
- .lextoggle.warning { --toggle-color: var(--global-color-warning); }
1894
- .lextoggle.error { --toggle-color: var(--global-color-error); }
1902
+ .lextoggle.primary { --toggle-bg-color: var(--global-selected); }
1903
+ .lextoggle.secondary { --toggle-bg-color: var(--global-selected-light); }
1904
+ .lextoggle.accent { --toggle-bg-color: var(--global-color-accent); }
1905
+ .lextoggle.contrast { --toggle-bg-color: var(--global-text-primary); --toggle-fg-color: var(--global-color-primary); }
1906
+ .lextoggle.warning { --toggle-bg-color: var(--global-color-warning); }
1907
+ .lextoggle.error { --toggle-bg-color: var(--global-color-error); }
1895
1908
 
1896
1909
  .lextoggle > * {
1897
1910
  z-index: 1;
@@ -1954,12 +1967,12 @@ dialog .lexselect .lexselectoptions {
1954
1967
 
1955
1968
  .lextoggle:checked, .lextoggle[aria-checked=true], .lextoggle:has(>input:checked) {
1956
1969
  border: 1px solid var(--global-color-secondary);
1957
- background-color: var(--toggle-color);
1970
+ background-color: var(--toggle-bg-color);
1958
1971
  grid-template-columns: 1fr 1fr 0fr;
1959
1972
  }
1960
1973
 
1961
1974
  .lextoggle.outline:checked, .lextoggle.outline[aria-checked=true], .lextoggle.outline:has(>input:checked) {
1962
- color: var(--toggle-color);
1975
+ color: var(--toggle-bg-color);
1963
1976
  border: 1px solid currentColor;
1964
1977
  background-color: var(--global-color-primary);
1965
1978
  }
@@ -1969,7 +1982,7 @@ dialog .lexselect .lexselectoptions {
1969
1982
  }
1970
1983
 
1971
1984
  .lextoggle:indeterminate {
1972
- grid-template-columns: .5fr 1fr .5fr
1985
+ grid-template-columns: 0.5fr 1fr 0.5fr;
1973
1986
  }
1974
1987
 
1975
1988
  .lextoggle:disabled {
@@ -1983,13 +1996,17 @@ dialog .lexselect .lexselectoptions {
1983
1996
 
1984
1997
  .lextogglecont {
1985
1998
  font-weight: bold;
1986
- display: inline-flex;
1987
- gap: 8px;
1999
+ display: flex;
2000
+ gap: 0.4rem;
1988
2001
  margin: 0 auto;
1989
2002
  }
1990
2003
 
1991
2004
  .lextogglecont .toggletext {
1992
2005
  font-weight: bold;
2006
+ width: 95%;
2007
+ overflow: hidden;
2008
+ text-overflow: ellipsis;
2009
+ white-space: nowrap;
1993
2010
  }
1994
2011
 
1995
2012
  .lextogglesubmenu {
@@ -1999,7 +2016,7 @@ dialog .lexselect .lexselectoptions {
1999
2016
  margin-top: -1px;
2000
2017
  }
2001
2018
 
2002
- /* Toggle Widget */
2019
+ /* Radio Group Widget */
2003
2020
 
2004
2021
  .lexradiogroup {
2005
2022
  width: 100% !important;
@@ -2024,15 +2041,15 @@ dialog .lexselect .lexselectoptions {
2024
2041
  }
2025
2042
 
2026
2043
  .lexradiogroup .lexradiogroupitem button {
2027
- width: 14px;
2028
- height: 14px;
2029
- min-width: 14px !important;
2030
- min-height: 14px !important;
2044
+ width: 16px;
2045
+ height: 16px;
2046
+ min-width: 16px !important;
2047
+ min-height: 16px !important;
2031
2048
  padding: 0;
2032
2049
  margin: auto 0;
2033
- border-radius: 7px;
2050
+ border-radius: 8px;
2034
2051
  background-color: var(--global-intense-background);
2035
- border: 1px solid var(--global-text-secondary) !important;
2052
+ border: 1px solid var(--global-text-tertiary) !important;
2036
2053
  }
2037
2054
 
2038
2055
  .lexradiogroup .lexradiogroupitem button:disabled {
@@ -2057,6 +2074,7 @@ dialog .lexselect .lexselectoptions {
2057
2074
  .lexradiogroup.primary .lexradiogroupitem button.checked span { background-color: var(--global-selected); }
2058
2075
  .lexradiogroup.secondary .lexradiogroupitem button.checked span { background-color: var(--global-selected-light); }
2059
2076
  .lexradiogroup.accent .lexradiogroupitem button.checked span { background-color: var(--global-color-accent); }
2077
+ .lexradiogroup.contrast .lexradiogroupitem button.checked span { background-color: var(--global-text-primary); }
2060
2078
  .lexradiogroup.warning .lexradiogroupitem button.checked span { background-color: var(--global-color-warning); }
2061
2079
  .lexradiogroup.error .lexradiogroupitem button.checked span { background-color: var(--global-color-error); }
2062
2080
 
@@ -2220,6 +2238,7 @@ input[type=number] {
2220
2238
  border-radius: 6px;
2221
2239
  margin-right: 2px;
2222
2240
  position: relative;
2241
+ overflow-x: hidden;
2223
2242
  transition: 0.1s linear;
2224
2243
  }
2225
2244
 
@@ -2233,7 +2252,6 @@ input[type=number] {
2233
2252
 
2234
2253
  .lexwidget .numberbox span {
2235
2254
  position: absolute;
2236
- top: 1px;
2237
2255
  pointer-events: none;
2238
2256
  }
2239
2257
 
@@ -2300,10 +2318,6 @@ input[type=number] {
2300
2318
  right: 0.8em;
2301
2319
  }
2302
2320
 
2303
- .lexwidget .lock {
2304
- /* color: red; */
2305
- }
2306
-
2307
2321
  /* Range Widget */
2308
2322
 
2309
2323
  .lexrangeslider {
@@ -2312,7 +2326,7 @@ input[type=number] {
2312
2326
  --range-progress: currentColor;
2313
2327
  --range-fill: 1;
2314
2328
  --range-thumb-padding: 0.15rem;
2315
- --range-bg: color-mix(in oklab,currentColor 10%,#0000);
2329
+ --range-bg: color-mix(in oklab,currentColor 20%,#0000);
2316
2330
  --range-dir: 1;
2317
2331
  --radius-selector: 0.5rem;
2318
2332
  -webkit-appearance: none;
@@ -2325,7 +2339,7 @@ input[type=number] {
2325
2339
  height: var(--range-thumb-size);
2326
2340
  border: none;
2327
2341
  outline: none;
2328
- color: var(--global-text-secondary);
2342
+ color: var(--global-text-tertiary);
2329
2343
  background-color: #0000;
2330
2344
  overflow: hidden;
2331
2345
  padding: 0;
@@ -2336,10 +2350,15 @@ input[type=number] {
2336
2350
  vertical-align: middle;
2337
2351
  }
2338
2352
 
2353
+ .lexrangeslider:disabled {
2354
+ cursor: default;
2355
+ }
2356
+
2339
2357
  /* Colors */
2340
2358
  .lexrangeslider.primary { color: var(--global-selected); }
2341
2359
  .lexrangeslider.secondary { color: var(--global-selected-light); }
2342
2360
  .lexrangeslider.accent { color: var(--global-color-accent); }
2361
+ .lexrangeslider.contrast { color: var(--global-text-primary); }
2343
2362
  .lexrangeslider.warning { color: var(--global-color-warning); }
2344
2363
  .lexrangeslider.error { color: var(--global-color-error); }
2345
2364
 
@@ -2370,6 +2389,10 @@ input[type=number] {
2370
2389
  height: calc(var(--range-thumb-size)*0.5);
2371
2390
  }
2372
2391
 
2392
+ .lexrangeslider:disabled::-webkit-slider-runnable-track {
2393
+ color: var(--global-color-quaternary);
2394
+ }
2395
+
2373
2396
  .lexrangeslider::-webkit-slider-thumb {
2374
2397
  box-sizing: border-box;
2375
2398
  border-radius: calc(var(--radius-selector) + min(var(--range-thumb-padding),var(--radius-selector-max)));
@@ -2531,6 +2554,10 @@ input[type=number] {
2531
2554
  padding-left: 8px;
2532
2555
  }
2533
2556
 
2557
+ .lextree .lextreetools input:hover {
2558
+ background: none;
2559
+ }
2560
+
2534
2561
  .lextree .lextreetools.notitle {
2535
2562
  padding-top: 14px;
2536
2563
  border-top-left-radius: 8px;
@@ -2592,6 +2619,15 @@ input[type=number] {
2592
2619
  user-select: none;
2593
2620
  }
2594
2621
 
2622
+ .lextree .lextreeitem input {
2623
+ padding: 0;
2624
+ border: none;
2625
+ }
2626
+
2627
+ .lextree .lextreeitem input:hover {
2628
+ background: none;
2629
+ }
2630
+
2595
2631
  .lextree .lextreeitem div {
2596
2632
  display: flex;
2597
2633
  gap: 0.25rem;
@@ -2757,7 +2793,6 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2757
2793
  .lexbadge {
2758
2794
  border-radius: 0.35rem;
2759
2795
  color: #fff;
2760
- font-weight: 500;
2761
2796
  border: 1px solid var(--badge-color, #14171a);
2762
2797
  width: fit-content;
2763
2798
  justify-content: center;
@@ -2773,6 +2808,7 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2773
2808
  .lexbadge.primary { --badge-color: var(--global-selected); }
2774
2809
  .lexbadge.secondary { --badge-color: var(--global-selected-light); }
2775
2810
  .lexbadge.accent { --badge-color: var(--global-color-accent); }
2811
+ .lexbadge.contrast { --badge-color: var(--global-text-primary); color: var(--global-color-primary); }
2776
2812
  .lexbadge.warning { --badge-color: var(--global-color-warning); }
2777
2813
  .lexbadge.error { --badge-color: var(--global-color-error); }
2778
2814
  /* Styles */
@@ -3640,7 +3676,6 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
3640
3676
  -moz-user-select: none;
3641
3677
  -ms-user-select: none;
3642
3678
  user-select: none;
3643
- transition: 0.2s;
3644
3679
  line-height: 16px;
3645
3680
  }
3646
3681
 
@@ -3648,6 +3683,7 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
3648
3683
  position: absolute;
3649
3684
  background: light-dark(var(--global-selected-light), var(--global-selected));
3650
3685
  z-index: 0;
3686
+ transition: linear transform 0.15s;
3651
3687
  }
3652
3688
 
3653
3689
  .lexareatabs.row {
@@ -4040,6 +4076,10 @@ th {
4040
4076
  user-select: none;
4041
4077
  }
4042
4078
 
4079
+ th a {
4080
+ pointer-events: none;
4081
+ }
4082
+
4043
4083
  th a, td a {
4044
4084
  font-size: var(--global-font-size-xs) !important;
4045
4085
  display: flex;
@@ -4059,7 +4099,15 @@ th, td {
4059
4099
  padding: 6px;
4060
4100
  padding-inline: 12px;
4061
4101
  text-align: left;
4062
- vertical-align: top;
4102
+ align-content: center;
4103
+ }
4104
+
4105
+ th.centered, td.centered {
4106
+ text-align: center;
4107
+ }
4108
+
4109
+ .lextable.centered th, .lextable.centered td {
4110
+ text-align: center;
4063
4111
  }
4064
4112
 
4065
4113
  th.sm, td.sm {
@@ -4067,14 +4115,15 @@ th.sm, td.sm {
4067
4115
  }
4068
4116
 
4069
4117
  th .lexcheckbox, td .lexcheckbox {
4070
- margin-top: 3px;
4071
4118
  width: 1.25em;
4072
4119
  height: 1.25em;
4073
4120
  }
4074
4121
 
4075
4122
  td {
4076
- align-content: center;
4123
+ justify-items: center;
4077
4124
  border-top: 2px solid;
4125
+ overflow: hidden;
4126
+ white-space: nowrap;
4078
4127
  border-color: light-dark(#dbd8d8c0, #5c5b5b7a);
4079
4128
  }
4080
4129
 
@@ -4367,10 +4416,6 @@ thead:last-child tr:last-child th:first-child, tbody:last-child tr:last-child td
4367
4416
  margin: 0px;
4368
4417
  }
4369
4418
 
4370
- .lextimeline .lextitle {
4371
- padding-left: 24px;
4372
- }
4373
-
4374
4419
  .lextimeline .lextree ul {
4375
4420
  margin: 0;
4376
4421
  padding-bottom: 0px;