@meshmakers/octo-ui 3.4.1100 → 3.4.1130
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.
- package/fesm2022/meshmakers-octo-ui-branding.mjs.map +1 -1
- package/fesm2022/meshmakers-octo-ui.mjs +132 -4
- package/fesm2022/meshmakers-octo-ui.mjs.map +1 -1
- package/lib/runtime-browser/styles/_index.scss +4 -0
- package/lib/runtime-browser/styles/_styles.scss +187 -81
- package/lib/runtime-browser/styles/_theme.scss +484 -0
- package/lib/runtime-browser/styles/_variables.scss +16 -5
- package/package.json +1 -1
- package/types/meshmakers-octo-ui.d.ts +47 -2
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
@use "variables" as *;
|
|
4
4
|
@use "styles" as *;
|
|
5
|
+
@use "theme" as *;
|
|
5
6
|
|
|
6
7
|
@forward "variables" show variables;
|
|
7
8
|
@forward "styles" show styles;
|
|
9
|
+
@forward "theme" show theme, theme-overrides, ink-overlays, kendo-bridge, dark-theme-tokens, light-theme-tokens,
|
|
10
|
+
light-theme-button-primary, light-theme-button-base,
|
|
11
|
+
light-theme-button-overrides;
|
|
@@ -2417,10 +2417,23 @@
|
|
|
2417
2417
|
}
|
|
2418
2418
|
}
|
|
2419
2419
|
|
|
2420
|
+
// --------------------------------------------------------------------------
|
|
2420
2421
|
// Drawer - LCARS style
|
|
2422
|
+
//
|
|
2423
|
+
// Hierarchy classes: the shared CommandService stamps `mm-drawer-level-<n>`
|
|
2424
|
+
// on every drawer item and Kendo adds its own `k-level-<n>` — but only while
|
|
2425
|
+
// the drawer is expanded (see DrawerListComponent's template). Indentation
|
|
2426
|
+
// therefore keys off the mm-* classes, which survive the collapse into the
|
|
2427
|
+
// mini rail and can be reset there in one place.
|
|
2428
|
+
// --------------------------------------------------------------------------
|
|
2421
2429
|
.k-drawer {
|
|
2422
|
-
background: linear-gradient(180deg, var(--
|
|
2423
|
-
border-right: 1px solid var(--
|
|
2430
|
+
background: linear-gradient(180deg, var(--theme-bg-surface), var(--theme-bg-app));
|
|
2431
|
+
border-right: 1px solid var(--theme-border-subtle);
|
|
2432
|
+
// Kendo's own theme sets `.k-drawer { color: var(--kendo-color-subtle) }`.
|
|
2433
|
+
// That token is not part of our theme contract and resolves to an almost
|
|
2434
|
+
// unreadable dark violet under the Material defaults, so the drawer states
|
|
2435
|
+
// its text colour explicitly from the theme tokens instead of inheriting.
|
|
2436
|
+
color: var(--theme-text-primary);
|
|
2424
2437
|
|
|
2425
2438
|
.k-drawer-wrapper {
|
|
2426
2439
|
overflow-x: hidden;
|
|
@@ -2432,6 +2445,7 @@
|
|
|
2432
2445
|
}
|
|
2433
2446
|
|
|
2434
2447
|
.k-drawer-item {
|
|
2448
|
+
color: var(--theme-text-primary);
|
|
2435
2449
|
border-radius: 0 var(--lcars-radius-md) var(--lcars-radius-md) 0;
|
|
2436
2450
|
margin: 2px 4px 2px 0;
|
|
2437
2451
|
padding: 10px 12px;
|
|
@@ -2462,116 +2476,196 @@
|
|
|
2462
2476
|
|
|
2463
2477
|
&:hover {
|
|
2464
2478
|
background: var(--octo-mint-10);
|
|
2479
|
+
color: var(--theme-text-primary);
|
|
2465
2480
|
}
|
|
2466
2481
|
|
|
2467
2482
|
&.k-selected {
|
|
2468
2483
|
background: linear-gradient(90deg, var(--octo-mint-20), transparent);
|
|
2469
2484
|
border-left: 3px solid var(--octo-mint);
|
|
2470
|
-
color: var(--
|
|
2485
|
+
color: var(--theme-text-accent);
|
|
2471
2486
|
}
|
|
2472
2487
|
|
|
2473
|
-
// Separator
|
|
2488
|
+
// Separator: a fading rule that groups entries without eating a row.
|
|
2489
|
+
// CommandService stamps mm-drawer-level-N on separators as well, so every
|
|
2490
|
+
// level rule below carries :not(.k-drawer-separator) — without that guard
|
|
2491
|
+
// the level's min-height/padding win on source order and the hairline
|
|
2492
|
+
// renders as a filled 38 px bar.
|
|
2474
2493
|
&.k-drawer-separator {
|
|
2475
|
-
|
|
2494
|
+
height: 1px;
|
|
2495
|
+
min-height: 1px;
|
|
2496
|
+
padding: 0;
|
|
2497
|
+
margin: 8px 12px;
|
|
2498
|
+
background: linear-gradient(90deg, var(--theme-border-strong), transparent);
|
|
2499
|
+
}
|
|
2500
|
+
|
|
2501
|
+
// Nested entries: indented under their group header with a vertical
|
|
2502
|
+
// guide line, and one step quieter than their section header. The step
|
|
2503
|
+
// is a real colour, not `opacity` on the text — stacking opacity on top
|
|
2504
|
+
// of an inherited colour is what made these entries unreadable once the
|
|
2505
|
+
// inherited colour itself was dark.
|
|
2506
|
+
&.mm-drawer-level-1:not(.k-drawer-separator),
|
|
2507
|
+
&.mm-drawer-level-2:not(.k-drawer-separator) {
|
|
2508
|
+
position: relative;
|
|
2509
|
+
|
|
2510
|
+
&::before {
|
|
2511
|
+
content: "";
|
|
2512
|
+
position: absolute;
|
|
2513
|
+
left: var(--mm-drawer-guide-x);
|
|
2514
|
+
top: 0;
|
|
2515
|
+
bottom: 0;
|
|
2516
|
+
width: 1px;
|
|
2517
|
+
background: var(--theme-border-subtle);
|
|
2518
|
+
}
|
|
2476
2519
|
}
|
|
2477
|
-
}
|
|
2478
2520
|
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
font-weight: 600;
|
|
2484
|
-
letter-spacing: 0.6px;
|
|
2485
|
-
font-size: 12.5px;
|
|
2486
|
-
margin-top: 2px;
|
|
2487
|
-
}
|
|
2521
|
+
&.mm-drawer-level-1:not(.k-drawer-separator) {
|
|
2522
|
+
--mm-drawer-guide-x: 24px;
|
|
2523
|
+
padding-left: 40px;
|
|
2524
|
+
min-height: 38px;
|
|
2488
2525
|
|
|
2489
|
-
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
.k-drawer-item.k-level-1,
|
|
2493
|
-
.k-drawer-item.k-level-2 {
|
|
2494
|
-
--guide-x: 22px;
|
|
2495
|
-
--icon-scale: 0.85;
|
|
2526
|
+
&:not(.k-selected) {
|
|
2527
|
+
color: color-mix(in srgb, var(--theme-text-primary) 80%, transparent);
|
|
2528
|
+
}
|
|
2496
2529
|
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2530
|
+
.k-item-text {
|
|
2531
|
+
font-size: 0.95em;
|
|
2532
|
+
}
|
|
2500
2533
|
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2534
|
+
.k-icon,
|
|
2535
|
+
.k-svg-icon,
|
|
2536
|
+
kendo-svgicon {
|
|
2537
|
+
width: 20px;
|
|
2538
|
+
height: 20px;
|
|
2539
|
+
min-width: 20px;
|
|
2540
|
+
}
|
|
2504
2541
|
}
|
|
2505
2542
|
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2543
|
+
&.mm-drawer-level-2:not(.k-drawer-separator) {
|
|
2544
|
+
--mm-drawer-guide-x: 44px;
|
|
2545
|
+
padding-left: 60px;
|
|
2546
|
+
min-height: 34px;
|
|
2547
|
+
|
|
2548
|
+
&:not(.k-selected) {
|
|
2549
|
+
color: color-mix(in srgb, var(--theme-text-primary) 65%, transparent);
|
|
2550
|
+
}
|
|
2551
|
+
|
|
2552
|
+
.k-icon,
|
|
2553
|
+
.k-svg-icon,
|
|
2554
|
+
kendo-svgicon {
|
|
2555
|
+
width: 18px;
|
|
2556
|
+
height: 18px;
|
|
2557
|
+
min-width: 18px;
|
|
2558
|
+
}
|
|
2559
|
+
|
|
2560
|
+
.k-item-text {
|
|
2561
|
+
font-size: 0.9em;
|
|
2562
|
+
}
|
|
2514
2563
|
}
|
|
2515
2564
|
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
|
|
2565
|
+
// Group expand/collapse indicator, rendered by the host's item template.
|
|
2566
|
+
.drawer-group-chevron {
|
|
2567
|
+
margin-left: auto;
|
|
2568
|
+
width: 16px !important;
|
|
2569
|
+
height: 16px !important;
|
|
2570
|
+
min-width: 16px !important;
|
|
2571
|
+
opacity: 0.6;
|
|
2519
2572
|
}
|
|
2520
2573
|
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2574
|
+
// Pending-work count badge, rendered by the host's item template.
|
|
2575
|
+
.drawer-badge {
|
|
2576
|
+
margin-left: auto;
|
|
2577
|
+
flex-shrink: 0;
|
|
2578
|
+
padding: 1px 8px;
|
|
2579
|
+
border-radius: 10px;
|
|
2580
|
+
font-size: 0.7rem;
|
|
2581
|
+
font-weight: 700;
|
|
2582
|
+
letter-spacing: 0.5px;
|
|
2583
|
+
line-height: 1.4;
|
|
2584
|
+
color: var(--theme-text-accent);
|
|
2585
|
+
background: var(--octo-mint-15);
|
|
2586
|
+
border: 1px solid var(--octo-mint-35);
|
|
2526
2587
|
}
|
|
2527
2588
|
}
|
|
2589
|
+
}
|
|
2528
2590
|
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2591
|
+
// Mini (collapsed) drawer strip — Kendo marks the CONTAINER with
|
|
2592
|
+
// k-drawer-mini / k-drawer-expanded; the drawer element itself carries no
|
|
2593
|
+
// state, so an `.k-drawer.k-drawer-mini` selector never matches.
|
|
2594
|
+
.k-drawer-container.k-drawer-mini:not(.k-drawer-expanded) {
|
|
2595
|
+
.k-drawer-item {
|
|
2596
|
+
justify-content: center;
|
|
2597
|
+
padding: 10px 0;
|
|
2598
|
+
margin: 2px 0;
|
|
2599
|
+
border-radius: 0;
|
|
2600
|
+
position: relative;
|
|
2534
2601
|
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
--icon-scale: 0.75;
|
|
2541
|
-
}
|
|
2602
|
+
.k-icon,
|
|
2603
|
+
.k-svg-icon,
|
|
2604
|
+
kendo-svgicon {
|
|
2605
|
+
margin: 0;
|
|
2606
|
+
}
|
|
2542
2607
|
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
padding:
|
|
2550
|
-
|
|
2551
|
-
|
|
2608
|
+
.k-item-text {
|
|
2609
|
+
display: none;
|
|
2610
|
+
}
|
|
2611
|
+
|
|
2612
|
+
&.k-selected {
|
|
2613
|
+
border-left: 3px solid var(--octo-mint);
|
|
2614
|
+
padding-left: 0;
|
|
2615
|
+
}
|
|
2616
|
+
|
|
2617
|
+
// No room for indentation on the strip — nested entries shrink to
|
|
2618
|
+
// smaller, dimmer icons instead; guide line and chevron disappear.
|
|
2619
|
+
&.mm-drawer-level-1:not(.k-drawer-separator),
|
|
2620
|
+
&.mm-drawer-level-2:not(.k-drawer-separator) {
|
|
2621
|
+
padding-left: 0;
|
|
2622
|
+
|
|
2623
|
+
&::before {
|
|
2624
|
+
display: none;
|
|
2625
|
+
}
|
|
2626
|
+
}
|
|
2627
|
+
|
|
2628
|
+
&.mm-drawer-level-1:not(.k-drawer-separator) {
|
|
2629
|
+
min-height: 34px;
|
|
2552
2630
|
|
|
2553
2631
|
.k-icon,
|
|
2554
2632
|
.k-svg-icon,
|
|
2555
2633
|
kendo-svgicon {
|
|
2556
|
-
|
|
2634
|
+
width: 18px;
|
|
2635
|
+
height: 18px;
|
|
2636
|
+
min-width: 18px;
|
|
2637
|
+
opacity: 0.8;
|
|
2557
2638
|
}
|
|
2639
|
+
}
|
|
2558
2640
|
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2641
|
+
&.mm-drawer-level-2:not(.k-drawer-separator) {
|
|
2642
|
+
min-height: 30px;
|
|
2643
|
+
|
|
2644
|
+
.k-icon,
|
|
2645
|
+
.k-svg-icon,
|
|
2646
|
+
kendo-svgicon {
|
|
2647
|
+
width: 16px;
|
|
2648
|
+
height: 16px;
|
|
2649
|
+
min-width: 16px;
|
|
2650
|
+
opacity: 0.7;
|
|
2562
2651
|
}
|
|
2563
2652
|
}
|
|
2564
2653
|
|
|
2565
|
-
.
|
|
2566
|
-
|
|
2567
|
-
}
|
|
2568
|
-
.k-drawer-item.mm-drawer-level-1:not(.k-selected) {
|
|
2569
|
-
color: color-mix(in srgb, var(--octo-text-color) 75%, transparent);
|
|
2570
|
-
opacity: 0.85;
|
|
2654
|
+
.drawer-group-chevron {
|
|
2655
|
+
display: none;
|
|
2571
2656
|
}
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
|
|
2657
|
+
|
|
2658
|
+
// The count badge becomes a small bubble on the icon's corner.
|
|
2659
|
+
.drawer-badge {
|
|
2660
|
+
position: absolute;
|
|
2661
|
+
top: 2px;
|
|
2662
|
+
right: 6px;
|
|
2663
|
+
margin: 0;
|
|
2664
|
+
padding: 0 4px;
|
|
2665
|
+
font-size: 0.6rem;
|
|
2666
|
+
line-height: 1.3;
|
|
2667
|
+
border-radius: 7px;
|
|
2668
|
+
background: var(--theme-bg-app);
|
|
2575
2669
|
}
|
|
2576
2670
|
}
|
|
2577
2671
|
}
|
|
@@ -2838,6 +2932,9 @@
|
|
|
2838
2932
|
}
|
|
2839
2933
|
|
|
2840
2934
|
kendo-drawer-content {
|
|
2935
|
+
// Kendo pads this by 6px, on top of .octo-body's padding and the page
|
|
2936
|
+
// container's own — three nested paddings indenting the same content.
|
|
2937
|
+
padding: 0;
|
|
2841
2938
|
display: flex !important;
|
|
2842
2939
|
flex-direction: column !important;
|
|
2843
2940
|
flex: 1 1 0% !important;
|
|
@@ -3211,17 +3308,25 @@
|
|
|
3211
3308
|
|
|
3212
3309
|
// LCARS Page Layout Pattern
|
|
3213
3310
|
// Use for all page-level list components
|
|
3311
|
+
// 80px tall for 29px of text: the height came from a 56px accent bar plus
|
|
3312
|
+
// 12px of padding, not from the content. Compacted to ~37px, which is worth
|
|
3313
|
+
// about one and a half table rows on every list page.
|
|
3214
3314
|
.lcars-page-header {
|
|
3215
3315
|
display: flex;
|
|
3216
3316
|
align-items: center;
|
|
3217
|
-
gap:
|
|
3218
|
-
padding:
|
|
3317
|
+
gap: 12px;
|
|
3318
|
+
padding: 4px 0;
|
|
3219
3319
|
flex-shrink: 0;
|
|
3320
|
+
|
|
3321
|
+
.page-title {
|
|
3322
|
+
align-items: center;
|
|
3323
|
+
}
|
|
3220
3324
|
}
|
|
3221
3325
|
|
|
3222
3326
|
.lcars-header-accent {
|
|
3223
3327
|
width: 8px;
|
|
3224
|
-
height:
|
|
3328
|
+
height: 26px;
|
|
3329
|
+
align-self: center;
|
|
3225
3330
|
background: linear-gradient(180deg, var(--octo-mint), var(--neo-cyan));
|
|
3226
3331
|
border-radius: 4px 0 0 4px;
|
|
3227
3332
|
box-shadow: 0 0 15px var(--octo-mint-50);
|
|
@@ -4761,5 +4866,6 @@
|
|
|
4761
4866
|
display: none !important;
|
|
4762
4867
|
}
|
|
4763
4868
|
}
|
|
4869
|
+
|
|
4764
4870
|
}
|
|
4765
4871
|
|