mod-arch-kubeflow 1.1.0 → 1.1.3

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.
@@ -39,13 +39,14 @@
39
39
  --mui-menu__item--PaddingInlineStart: 16px;
40
40
  --mui-menu__item--PaddingInlineEnd: 16px;
41
41
  --mui-menu__item--FontSize: 1rem;
42
- --mui-menu__item--selected--BackgroundColor: rgba(25, 118, 210, 0.08);
42
+ --mui-menu__item--selected--BackgroundColor: rgb(var(--mui-palette-primary-mainChannel) / calc(var(--mui-palette-action-selectedOpacity, 0.08)));
43
+
43
44
 
44
45
  // Menu toggle
45
46
  --mui-menu-toggle__toggle-icon--MinHeight: auto;
46
47
  --mui-menu-toggle__controls--MinWidth: 0;
47
- --mui-menu-toggle--expanded--BackgroundColor: none;
48
- --mui-menu-toggle--expanded--BorderColor: none;
48
+ --mui-menu-toggle--expanded--BackgroundColor: transparent;
49
+ --mui-menu-toggle--expanded--BorderColor: transparent;
49
50
  --mui-menu-toggle--LineHeight: 1.75;
50
51
  --mui-menu-toggle--PaddingBlockStart: 6px;
51
52
  --mui-menu-toggle--PaddingBlockEnd: 6px;
@@ -53,8 +54,8 @@
53
54
  --mui-menu-toggle--PaddingInlineEnd: 16px;
54
55
  --mui-menu-toggle--ColumnGap: 0;
55
56
  --mui-menu-toggle--expanded--Color: black;
56
- --mui-menu-toggle--hover--BorderColor: none;
57
- --mui-menu-toggle--BorderColor: none;
57
+ --mui-menu-toggle--hover--BorderColor: transparent;
58
+ --mui-menu-toggle--BorderColor: transparent;
58
59
  --mui-menu-toggle--PaddingInlineStart: 10px;
59
60
  --mui-menu-toggle--PaddingInlineEnd: 10px;
60
61
 
@@ -68,13 +69,13 @@
68
69
 
69
70
  // Sidebar from https://github.com/kubeflow/kubeflow/blob/4275d99754ac91f6cf5654b03824a73825e9fe55/components/centraldashboard/public/components/main-page.css#L7C1-L13C51
70
71
  --kf-central-primary-background-color: #0a3b71;
71
- --kf-central-sidebar-default-color: #ffffff90;
72
+ --kf-central-sidebar-default-color: rgba(255, 255, 255, 0.7);
72
73
  --kf-central-app-drawer-width: 240px;
73
- --kf-central-app-bar-height: 24px;
74
+ --kf-central-app-bar-height: 64px;
74
75
 
75
76
  // Table
76
- --mui-table__button--BackgroundColor: none;
77
- --mui-table__button--hover--BackgroundColor: none;
77
+ --mui-table__button--BackgroundColor: transparent;
78
+ --mui-table__button--hover--BackgroundColor: transparent;
78
79
  --mui-table__button--Color: var(--pf-v6-c-table--cell--Color);
79
80
  --mui-table__button--PaddingBlockStart: 0;
80
81
  --mui-table__button--PaddingBlockEnd: 0;
@@ -84,7 +85,7 @@
84
85
  --mui-table--cell--PaddingInlineEnd: 16px;
85
86
  --mui-table--cell--PaddingBlockStart: 16px;
86
87
  --mui-table--cell--PaddingBlockEnd: 16px;
87
- --mui-table--cell--first-last-child--PaddingInline: 0px;
88
+ --mui-table--cell--first-last-child--PaddingInline: 8px;
88
89
  --mui-table__thead--cell--FontSize: 14px;
89
90
  --mui-table__sort-indicator--MarginInlineStart: 4px;
90
91
 
@@ -104,15 +105,16 @@
104
105
  --mui-tabs__item--m-current__link--after--BorderWidth: 2px;
105
106
  --mui-tabs__link--FontSize: 0.875rem;
106
107
 
108
+ --mui-text-transform: uppercase;
109
+
107
110
  --mui-spacing-4px: calc(0.5 * var(--mui-spacing));
108
111
  --mui-spacing-8px: var(--mui-spacing);
109
- --mui-spacing-12px: calc(1.5 * var(--mui-spacing));
110
112
  --mui-spacing-16px: calc(2 * var(--mui-spacing));
113
+ --mui-spacing-32px: calc(4 * var(--mui-spacing));
111
114
 
112
115
  --pf-t--global--spacer--gap--group-to-group--vertical--default: var(--pf-t--global--spacer--sm);
113
116
  --pf-t--global--border--width--box--status--default: 1px;
114
117
  --pf-t--global--border--radius--pill: var(--mui-shape-borderRadius);
115
- --pf-t--global--border--radius--medium: var(--mui-shape-borderRadius);
116
118
  --pf-t--global--text--color--brand--default: var(--mui-palette-primary-main);
117
119
 
118
120
  --pf-t--global--color--nonstatus--blue--default: var(--mui-palette-primary-main);
@@ -126,7 +128,6 @@
126
128
  .mui-theme .pf-v6-c-action-list__item .pf-v6-c-button {
127
129
  --pf-v6-c-button--PaddingInlineStart: 0;
128
130
  --pf-v6-c-button--PaddingInlineEnd: 0;
129
- border-radius: var(--mui-shape-borderRadius);
130
131
  }
131
132
 
132
133
  .mui-theme .pf-v6-c-alert {
@@ -142,6 +143,7 @@
142
143
  --pf-v6-c-alert--PaddingBlockEnd: var(--mui-alert--PaddingBlockEnd);
143
144
  --pf-v6-c-alert--PaddingInlineStart: var(--mui-alert--PaddingInlineStart);
144
145
  --pf-v6-c-alert--PaddingInlineEnd: var(--mui-alert--PaddingInlineEnd);
146
+ margin-bottom: 16px;
145
147
  }
146
148
 
147
149
  .mui-theme .pf-v6-c-alert__title {
@@ -167,7 +169,6 @@
167
169
  --pf-v6-c-button--PaddingInlineStart: var(--mui-button--PaddingInlineStart);
168
170
  --pf-v6-c-button--PaddingInlineEnd: var(--mui-button--PaddingInlineEnd);
169
171
  --pf-v6-c-button--LineHeight: var(--mui-button--LineHeight);
170
-
171
172
  letter-spacing: 0.02857em;
172
173
  }
173
174
 
@@ -194,29 +195,35 @@
194
195
  --pf-v6-c-button--BackgroundColor: rgba(33, 150, 243, 0.04);
195
196
  }
196
197
 
198
+
197
199
  .mui-theme .pf-v6-c-card {
198
200
  --pf-v6-c-card--BorderWidth: 1px;
199
201
  --pf-v6-c-card--BorderRadius: var(--mui-shape-borderRadius);
200
202
  --pf-v6-c-card--BorderColor: var(--mui-palette-divider);
201
203
  }
202
204
 
203
- .mui-theme .pf-v6-c-card__selectable-actions :is(.pf-v6-c-check__label, .pf-v6-c-radio__label, .pf-v6-c-card__clickable-action):hover {
205
+ .mui-theme .pf-v6-c-card.pf-m-compact.pf-m-selectable {
206
+ border: 1px solid var(--mui-palette-divider);
207
+ }
208
+
209
+ .mui-theme .pf-v6-c-card__selectable-actions
210
+ :is(.pf-v6-c-check__label, .pf-v6-c-radio__label, .pf-v6-c-card__clickable-action):hover {
204
211
  --pf-v6-c-card--BorderColor: var(--mui-palette-grey-300);
205
212
  }
206
213
 
207
- .mui-theme .pf-v6-c-card:hover {
214
+ .mui-theme .pf-v6-c-card.pf-m-selectable:hover {
208
215
  --pf-v6-c-card--BackgroundColor: var(--mui-palette-grey-100);
209
216
  --pf-v6-c-card--BorderColor: var(--mui-palette-grey-200);
210
217
  }
211
218
 
212
219
  .mui-theme .pf-v6-c-card.pf-m-selected {
213
220
  --pf-v6-c-card--BackgroundColor: var(--mui-palette-grey-200);
214
- --pf-v6-c-card--m-selectable--m-selected--BorderColor: transparent;
221
+ --pf-v6-c-card--m-selectable--m-selected--BorderColor: var(--mui-palette-divider);
215
222
  }
216
223
 
217
224
  .mui-theme .pf-v6-c-card.pf-m-selected:hover {
218
225
  --pf-v6-c-card--BackgroundColor: var(--mui-palette-grey-300);
219
- --pf-v6-c-card--m-selectable--m-selected--BorderColor: transparent;
226
+ --pf-v6-c-card--m-selectable--m-selected--BorderColor: var(--mui-palette-divider);
220
227
  }
221
228
 
222
229
  .mui-theme .pf-v6-c-description-list__term {
@@ -233,6 +240,16 @@
233
240
  );
234
241
  }
235
242
 
243
+ .mui-theme .pf-v6-c-drawer.pf-m-inline.pf-m-expanded {
244
+ --pf-v6-c-drawer--m-inline--m-expanded__panel--MarginInlineStart: var(--mui-spacing-16px);
245
+ }
246
+
247
+ // Add spacing between main content and drawer when drawer is open
248
+ .mui-theme .pf-v6-c-page__main-container:has(+ .pf-v6-c-drawer.pf-m-expanded),
249
+ .mui-theme .pf-v6-c-page__main-container.pf-m-drawer-expanded {
250
+ margin-right: var(--mui-spacing-16px);
251
+ }
252
+
236
253
  .mui-theme .pf-v6-c-form {
237
254
  --pf-v6-c-form--GridGap: 0;
238
255
  }
@@ -254,6 +271,10 @@
254
271
  color: var(--mui-palette-error-main);
255
272
  }
256
273
 
274
+ .mui-theme .pf-v6-c-form__label-required {
275
+ color: var(--mui-palette-grey-600);
276
+ }
277
+
257
278
  .mui-theme .pf-v6-c-form__helper-text.path-helper-text {
258
279
  margin-inline-start: var(--pf-t--global--spacer--lg);
259
280
  }
@@ -271,19 +292,14 @@
271
292
 
272
293
  // Base form label styles
273
294
  .mui-theme .pf-v6-c-form__label {
295
+ position: relative;
296
+ // TODO: Investigate using a fixed value or transform/rem for consistent positioning.
297
+ top: 78%;
298
+ left: 12px;
299
+ font-size: 12px;
274
300
  color: var(--mui-palette-grey-600);
275
301
  pointer-events: none;
276
302
  transition: all 0.2s ease;
277
- --pf-v6-c-form__label-required--Color: currentColor;
278
- }
279
-
280
- // Text input labels (text fields, textareas, selects)
281
- .mui-theme .pf-v6-c-form__group:has(.pf-v6-c-form-control) .pf-v6-c-form__label,
282
- .mui-theme .pf-v6-c-form__group:has(.pf-v6-c-text-input-group) .pf-v6-c-form__label {
283
- position: absolute;
284
- top: 35%;
285
- left: 12px;
286
- font-size: 14px;
287
303
  transform-origin: left center;
288
304
  transform: translateY(-50%) scale(0.75);
289
305
  background-color: var(--mui-palette-common-white);
@@ -313,10 +329,24 @@
313
329
  }
314
330
  }
315
331
 
332
+ // Remove borders on form controls, except within file upload details and modal boxes
333
+ .mui-theme .pf-v6-c-form-control:not(.pf-v6-c-file-upload__file-details .pf-v6-c-form-control):not(.pf-v6-c-modal-box__body .pf-v6-c-form-control)::after,
334
+ .mui-theme .pf-v6-c-form-control:not(.pf-v6-c-file-upload__file-details .pf-v6-c-form-control):not(.pf-v6-c-modal-box__body .pf-v6-c-form-control)::before {
335
+ border: none;
336
+ }
337
+
316
338
  .mui-theme .pf-v6-c-form-control input::placeholder {
317
339
  --pf-v6-c-form-control--m-placeholder--Color: var(--mui-palette-grey-600);
318
340
  }
319
341
 
342
+ // Fix padding on footer action menu buttons
343
+ .mui-theme .pf-v6-c-action-list .pf-v6-c-button {
344
+ --pf-v6-c-button--PaddingBlockStart: var(--mui-button--PaddingBlockStart);
345
+ --pf-v6-c-button--PaddingBlockEnd: var(--mui-button--PaddingBlockEnd);
346
+ --pf-v6-c-button--PaddingInlineStart: var(--mui-button--PaddingInlineStart);
347
+ --pf-v6-c-button--PaddingInlineEnd: var(--mui-button--PaddingInlineEnd);
348
+ }
349
+
320
350
  .mui-theme .pf-v6-c-form-control {
321
351
  --pf-v6-c-form-control--m-disabled--BackgroundColor: var(--mui-palette-common-white);
322
352
  --pf-v6-c-form-control--m-disabled--Color: var(--mui-palette-text-disabled);
@@ -324,6 +354,7 @@
324
354
  --pf-v6-c-form-control--m-error--hover--after--BorderColor: var(--mui-palette-error-main);
325
355
  }
326
356
 
357
+ // Consistent form control padding for all inputs except file upload components
327
358
  .mui-theme .pf-v6-c-form-control {
328
359
  // Resize is disabled in MUI.
329
360
  resize: none;
@@ -340,24 +371,10 @@
340
371
  --pf-v6-c-form__section--Gap: 0px;
341
372
  }
342
373
 
343
- .mui-theme .toolbar-fieldset-wrapper .pf-v6-c-form-control input {
344
- padding: 8px 14px;
345
- }
346
-
347
374
  .mui-theme .tr-fieldset-wrapper .form-fieldset {
348
375
  inset: 0px;
349
376
  }
350
377
 
351
- .mui-theme .pf-v6-c-form-control {
352
- // Using CSS property here since PF vars for input padding do not exist.
353
- // PF can add custom vars for padding on text input, text area, and form select
354
-
355
- --pf-v6-c-form-control--PaddingBlockStart: 16.5px;
356
- --pf-v6-c-form-control--PaddingBlockEnd: 16.5px;
357
- --pf-v6-c-form-control--PaddingInlineStart: 14px;
358
- --pf-v6-c-form-control--PaddingInlineEnd: 14px;
359
- }
360
-
361
378
  .mui-theme .pf-v6-c-text-input-group::before {
362
379
  border: none;
363
380
  }
@@ -365,7 +382,7 @@
365
382
  .mui-theme .pf-v6-c-text-input-group {
366
383
  --pf-v6-c-text-input-group__text-input--PaddingBlockStart: 16.5px;
367
384
  --pf-v6-c-text-input-group__text-input--PaddingInlineStart: 32px;
368
- --pf-v6-c-text-input-group__text-input--PaddingBlockEnd: 14px;
385
+ --pf-v6-c-text-input-group__text-input--PaddingBlockEnd: 16.5px;
369
386
  --pf-v6-c-text-input-group__text-input--PaddingInlineEnd: 14px;
370
387
  }
371
388
 
@@ -373,10 +390,6 @@
373
390
  --pf-v6-c-text-input-group__icon--Color: rgba(0, 0, 0, 0.38);
374
391
  }
375
392
 
376
- .mui-theme .pf-v6-c-form__group-control textarea {
377
- position: relative;
378
- box-sizing: border-box;
379
- }
380
393
 
381
394
  .mui-theme .pf-v6-c-form-control > :is(input, select, textarea):focus {
382
395
  --pf-v6-c-form-control--OutlineOffset: 0;
@@ -400,7 +413,7 @@
400
413
  }
401
414
 
402
415
  .mui-theme .pf-v6-c-text-input-group__text-input:focus {
403
- --pf-v6-c-form-control--OutlineOffset: none;
416
+ --pf-v6-c-form-control--OutlineOffset: 0;
404
417
  outline: none;
405
418
  }
406
419
 
@@ -409,7 +422,7 @@
409
422
  width: 100%;
410
423
  }
411
424
 
412
- .pf-v6-c-form__group .form-fieldset-legend {
425
+ .mui-theme .pf-v6-c-form__group .form-fieldset-legend {
413
426
  float: unset;
414
427
  width: auto;
415
428
  overflow: hidden;
@@ -492,7 +505,7 @@
492
505
  .form-fieldset {
493
506
  text-align: left;
494
507
  position: absolute;
495
- inset: -5px 0px 0px;
508
+ inset: -7px 0px 0px;
496
509
  margin: 0;
497
510
  padding: 0 8px;
498
511
  pointer-events: none;
@@ -532,25 +545,25 @@
532
545
  .tr-fieldset-wrapper .pf-v6-c-form-control,
533
546
  .toolbar-fieldset-wrapper .pf-v6-c-form-control,
534
547
  .form-fieldset-wrapper .pf-v6-c-form-control {
535
- --pf-v6-c-form-control--before--BorderColor: transparent !important;
536
- --pf-v6-c-form-control--after--BorderColor: transparent !important;
548
+ --pf-v6-c-form-control--before--BorderColor: transparent;
549
+ --pf-v6-c-form-control--after--BorderColor: transparent;
537
550
  }
538
551
 
539
- .pf-v6-c-form__field-group-body {
552
+ .mui-theme .pf-v6-c-form__field-group-body {
540
553
  --pf-v6-c-form__field-group-body--PaddingBlockStart: 8px;
541
554
  }
542
555
 
543
- .pf-v6-c-form__group .pf-v6-c-form-control:focus-within + .pf-v6-c-form__label,
544
- .pf-v6-c-form__group .pf-v6-c-form-control:not(:placeholder-shown) + .pf-v6-c-form__label {
556
+ .mui-theme .pf-v6-c-form__group .pf-v6-c-form-control:focus-within + .pf-v6-c-form__label,
557
+ .mui-theme .pf-v6-c-form__group .pf-v6-c-form-control:not(:placeholder-shown) + .pf-v6-c-form__label {
545
558
  color: var(--mui-palette-primary-main);
546
559
  }
547
560
 
548
- .pf-v6-c-form__group:focus-within .pf-v6-c-form-control {
561
+ .mui-theme .pf-v6-c-form__group:focus-within .pf-v6-c-form-control {
549
562
  --pf-v6-c-form-control--after--BorderWidth: 2px;
550
563
  --pf-v6-c-form-control--after--BorderColor: var(--mui-palette-primary-main);
551
564
  }
552
565
 
553
- .pf-v6-c-form-control.pf-m-error {
566
+ .mui-theme .pf-v6-c-form-control.pf-m-error {
554
567
  --pf-v6-c-form-control--after--BorderColor: var(--mui-palette-error-main);
555
568
  }
556
569
 
@@ -565,7 +578,7 @@
565
578
  margin-top: 3px;
566
579
  }
567
580
 
568
- .pf-v6-c-form__group.pf-m-error .pf-v6-c-form__label {
581
+ .mui-theme .pf-v6-c-form__group.pf-m-error .pf-v6-c-form__label {
569
582
  // Using CSS property here since --pf-v6-c-form__label--Color does not exist.
570
583
 
571
584
  color: var(--mui-palette-error-main);
@@ -585,10 +598,10 @@
585
598
  .mui-theme .pf-v6-c-menu {
586
599
  --pf-v6-c-menu--BoxShadow: var(--mui-shadows-8);
587
600
  --pf-v6-c-menu--BorderRadius: var(--mui-shape-borderRadius);
588
- --pf-v6-c-menu--PaddingBlockStart: var(--mui-spacing);
589
- --pf-v6-c-menu--PaddingBlockEnd: var(--mui-spacing);
590
- --pf-v6-c-menu--PaddingInlineStart: var(--mui-spacing);
591
- --pf-v6-c-menu--PaddingInlineEnd: var(--mui-spacing);
601
+ --pf-v6-c-menu--PaddingBlockStart: 0;
602
+ --pf-v6-c-menu--PaddingBlockEnd: 0;
603
+ --pf-v6-c-menu--PaddingInlineStart: 0;
604
+ --pf-v6-c-menu--PaddingInlineEnd: 0;
592
605
  --pf-v6-c-menu__item--PaddingBlockStart: var(--mui-menu__item--PaddingBlockStart);
593
606
  --pf-v6-c-menu__item--PaddingBlockEnd: var(--mui-menu__item--PaddingBlockEnd);
594
607
  --pf-v6-c-menu__item--PaddingInlineStart: var(--mui-menu__item--PaddingInlineStart);
@@ -596,6 +609,17 @@
596
609
  --pf-v6-c-menu__item--FontSize: var(--mui-menu__item--FontSize);
597
610
  }
598
611
 
612
+
613
+ .mui-theme .pf-v6-c-menu__item {
614
+ &.pf-m-selected {
615
+ --pf-v6-c-menu__item--BackgroundColor: var(--mui-menu__item--selected--BackgroundColor);
616
+
617
+ .pf-v6-c-menu__item-select-icon {
618
+ visibility: hidden;
619
+ }
620
+ }
621
+ }
622
+
599
623
  .mui-theme .pf-v6-c-menu-toggle {
600
624
  --pf-v6-c-menu-toggle__toggle-icon--MinHeight: var(--mui-menu-toggle__toggle-icon--MinHeight);
601
625
  --pf-v6-c-menu-toggle__controls--MinWidth: var(--mui-menu-toggle__controls--MinWidth);
@@ -625,6 +649,39 @@
625
649
 
626
650
  }
627
651
 
652
+ // Apply the menu toggle styling to all except split button variant
653
+ .mui-theme .pf-v6-c-menu-toggle:not(.pf-m-split-button) {
654
+ position: relative;
655
+ box-sizing: border-box;
656
+ border: 1px solid rgba(0, 0, 0, 0.23);
657
+ --pf-v6-c-menu-toggle--BackgroundColor: var(--mui-palette-common-white);
658
+
659
+ &:hover {
660
+ // Restore direct border color setting for hover
661
+ border-color: var(--mui-palette-common-black);
662
+ }
663
+
664
+ &:focus-within {
665
+ // Keep border width consistent to prevent layout shift
666
+ border: 1px solid var(--mui-palette-primary-main);
667
+ // Use box-shadow to create a thicker border while preventing layout shift
668
+ box-shadow: 0 0 0 1px var(--mui-palette-primary-main);
669
+ }
670
+ }
671
+
672
+ .mui-theme .pf-v6-c-menu-toggle.pf-m-plain {
673
+ // --pf-v6-c-menu-toggle--BorderRadius: 50%;
674
+ // Ensure plain variant doesn't get the border styling
675
+ border: none;
676
+
677
+ &:hover,
678
+ &:focus-within {
679
+ border: none;
680
+ box-shadow: none;
681
+ background-color: var(--pf-v6-c-menu-toggle--hover--BackgroundColor);
682
+ }
683
+ }
684
+
628
685
  .mui-theme .pf-v6-c-menu-toggle__button {
629
686
  font-weight: var(--mui-button-FontWeight);
630
687
  letter-spacing: 0.02857em;
@@ -649,7 +706,7 @@
649
706
  );
650
707
  }
651
708
 
652
- .pf-v6-c-menu-toggle.pf-m-secondary.pf-m-split-button {
709
+ .mui-theme .pf-v6-c-menu-toggle.pf-m-secondary.pf-m-split-button {
653
710
  --pf-v6-c-menu-toggle--BorderColor: var(--mui-palette-primary-main);
654
711
  --pf-v6-c-menu-toggle--BorderWidth: var(--mui-button--BorderWidth);
655
712
  --pf-v6-c-menu-toggle--BorderStyle: solid;
@@ -657,8 +714,8 @@
657
714
  }
658
715
 
659
716
  .mui-theme .pf-v6-c-menu-toggle__button:has(.pf-v6-c-menu-toggle__toggle-icon) {
660
- --pf-v6-c-menu-toggle--PaddingBlockStart: var(--mui-spacing-4);
661
- --pf-v6-c-menu-toggle--PaddingBlockEnd: var(--mui-spacing-4);
717
+ --pf-v6-c-menu-toggle--PaddingBlockStart: var(--mui-spacing-4px);
718
+ --pf-v6-c-menu-toggle--PaddingBlockEnd: var(--mui-spacing-4px);
662
719
  --pf-v6-c-menu-toggle--PaddingInlineStart: var(--mui-menu-toggle--PaddingInlineStart);
663
720
  --pf-v6-c-menu-toggle--PaddingInlineEnd: var(--mui-menu-toggle--PaddingInlineEnd);
664
721
  }
@@ -680,6 +737,24 @@
680
737
  display: block;
681
738
  }
682
739
 
740
+ .mui-theme .pf-v6-c-nav {
741
+ padding-block-start: 0;
742
+ }
743
+
744
+ .mui-theme .pf-v6-c-nav__link.pf-m-current {
745
+ border-left: 3px solid var(--mui-palette-common-white);
746
+ background-color: #ffffff1b;
747
+ color: var(--mui-palette-common-white);
748
+ }
749
+
750
+ .mui-theme .pf-v6-c-nav__link:focus {
751
+ --pf-v6-c-nav__link--Color: var(--mui-palette-common-white);
752
+ }
753
+
754
+ .mui-theme .pf-v6-c-nav__list {
755
+ row-gap: 0;
756
+ }
757
+
683
758
  .mui-theme .pf-v6-radio {
684
759
  --pf-v6-c-radio--AccentColor: var(--mui-palette-primary-main);
685
760
  }
@@ -703,9 +778,17 @@
703
778
  user-select: none;
704
779
  }
705
780
 
781
+ // Hide radio button elements when they're inside cards (for card selection)
782
+ .mui-theme .pf-v6-c-card .pf-v6-c-radio__label::before,
783
+ .mui-theme .pf-v6-c-card .pf-v6-c-radio__label::after {
784
+ display: none;
785
+ }
786
+
787
+
706
788
  /* Custom radio circle */
707
789
  .mui-theme .pf-v6-c-radio__label:not(.pf-v6-c-card .pf-v6-c-radio__label)::before {
708
790
  content: '';
791
+ display: block;
709
792
  position: absolute;
710
793
  left: 0;
711
794
  top: 50%;
@@ -755,7 +838,6 @@
755
838
 
756
839
  .mui-theme .pf-v6-c-page__sidebar {
757
840
  position: fixed;
758
- --pf-v6-c-page__sidebar--Width: var(--kf-central-app-drawer-width);
759
841
  --pf-v6-c-page__sidebar--BackgroundColor: var(--kf-central-primary-background-color);
760
842
  height: 100vh;
761
843
  z-index: 1200;
@@ -787,6 +869,7 @@ left: 0;
787
869
  /* Inner dot for checked state */
788
870
  .mui-theme .pf-v6-c-radio__input:not(.pf-v6-c-card .pf-v6-c-radio__input):checked + .pf-v6-c-radio__label::after {
789
871
  content: '';
872
+ display: block;
790
873
  position: absolute;
791
874
  left: 5px;
792
875
  /* Center the dot */
@@ -881,7 +964,7 @@ left: 0;
881
964
  --pf-v6-c-tab-content__body--m-padding--PaddingInlineStart: var(--pf-t--global--spacer--lg);
882
965
  }
883
966
 
884
- .pf-v6-c-tab-content__body.pf-m-padding {
967
+ .mui-theme .pf-v6-c-tab-content__body.pf-m-padding {
885
968
  --pf-v6-c-tab-content__body--PaddingInlineStart: 0px;
886
969
  --pf-v6-c-tab-content__body--PaddingInlineEnd: 0px;
887
970
  --pf-v6-c-tab-content__body--PaddingBlockStart: var(--mui-spacing-8px);
@@ -892,7 +975,7 @@ left: 0;
892
975
  --pf-v6-c-tabs__link--hover--BackgroundColor: var(--mui-tabs__link--hover--BackgroundColor);
893
976
  --pf-v6-c-tabs__item--PaddingBlockStart: var(--mui-tabs__item--PaddingBlockStart);
894
977
  --pf-v6-c-tabs__item--PaddingBlockEnd: var(--mui-tabs__item--PaddingBlockEnd);
895
- --pf-v6-c-tabs__item--PaddingInlineStart: none;
978
+ --pf-v6-c-tabs__item--PaddingInlineStart: 0;
896
979
  --pf-v6-c-tabs__item--PaddingInlineEnd: var(--mui-tabs__item--PaddingInlineEnd);
897
980
  --pf-v6-c-tabs__link--PaddingBlockStart: var(--mui-tabs__link--PaddingBlockStart);
898
981
  --pf-v6-c-tabs__link--PaddingBlockEnd: var(--mui-tabs__link--PaddingBlockEnd);
@@ -928,6 +1011,10 @@ left: 0;
928
1011
  --pf-v6-c-button--PaddingInlineEnd: 6px;
929
1012
  }
930
1013
 
1014
+ .mui-theme .pf-v6-c-toolbar__item.kubeflow-u-namespace-select>.pf-v6-c-menu-toggle.pf-m-disabled {
1015
+ border: none;
1016
+ }
1017
+
931
1018
  .mui-theme .pf-v6-c-label {
932
1019
  --pf-v6-c-label--BorderRadius: 16px;
933
1020
  --pf-v6-c-label--FontSize: 0.8125rem;
@@ -984,31 +1071,50 @@ left: 0;
984
1071
 
985
1072
  .mui-theme .pf-v6-c-page {
986
1073
  --pf-v6-c-page--BackgroundColor: transparent;
987
- background: linear-gradient(to right,
988
- var(--kf-central-primary-background-color) 0,
989
- var(--kf-central-primary-background-color) var(--kf-central-app-drawer-width),
990
- var(--mui-palette-grey-100) var(--kf-central-app-drawer-width),
991
- var(--mui-palette-grey-100) 100%);
992
1074
  width: 100vw;
993
1075
  min-height: 100vh;
994
1076
  overflow-x: hidden;
1077
+ --pf-v6-c-page__sidebar--Width: var(--kf-central-app-drawer-width);
1078
+ }
1079
+
1080
+ // Error page container
1081
+ .mui-theme .error-page-container {
1082
+ padding: var(--mui-spacing-32px);
995
1083
  }
996
1084
 
997
1085
  .mui-theme .pf-v6-c-page__main {
998
- // background-color: var(--mui-palette-grey-100);
999
- // width: calc(100vw - var(--kf-central-app-drawer-width));
1000
- // max-width: calc(100vw - var(--kf-central-app-drawer-width));
1001
- // box-sizing: border-box;
1086
+ --pf-v6-c-page__main--PaddingRight: 0;
1087
+ overflow: visible;
1088
+ margin-right: 2px;
1089
+ height: calc(100vh - var(--kf-central-app-bar-height));
1090
+ min-height: calc(100vh - var(--kf-central-app-bar-height));
1091
+ display: flex;
1092
+ flex-direction: column;
1002
1093
  }
1003
1094
 
1004
- .mui-theme .pf-v6-c-page__main-container {
1005
- --pf-v6-c-page__main-container--BorderWidth: 0px;
1006
- --pf-v6-c-page__main-container--BorderRadius: var(--mui-shape-borderRadius);
1007
- box-shadow: var(--mui-shadows-1);
1095
+ .mui-theme .pf-v6-c-page__main-section {
1096
+ --pf-v6-c-page__main-section--PaddingRight: 0;
1097
+ overflow: visible;
1098
+ margin-right: 2px;
1099
+ gap: 0;
1008
1100
  margin: 0;
1009
- margin-top: var(--kf-central-app-bar-height);
1010
- margin-right: 24px;
1011
- padding: 8px 24px;
1101
+ display: flex;
1102
+ flex-direction: column;
1103
+ }
1104
+
1105
+ .mui-theme .pf-v6-c-page__main-body {
1106
+ margin-left: var(--mui-spacing-4px);
1107
+ flex-grow: 1;
1108
+ display: flex;
1109
+ flex-direction: column;
1110
+ }
1111
+
1112
+ .mui-theme .pf-v6-c-page__main-container {
1113
+ overflow: visible;
1114
+ flex-grow: 1;
1115
+ display: flex;
1116
+ flex-direction: column;
1117
+ margin-right: var(--mui-spacing-8px);
1012
1118
  }
1013
1119
 
1014
1120
  .mui-theme .pf-v6-c-page__main-group.pf-m-sticky-top {
@@ -1021,18 +1127,16 @@ left: 0;
1021
1127
  --pf-v6-c-page__main-section--PaddingInlineStart: 0px;
1022
1128
  }
1023
1129
 
1024
- .mui-theme .pf-v6-c-page__main-section {
1025
- --pf-v6-c-page__main-section--PaddingBlockStart: 8px;
1026
- --pf-v6-c-page__main-section--PaddingBlockEnd: 8px;
1027
- --pf-v6-c-page__main-section--PaddingInlineStart: 0px;
1028
- --pf-v6-c-page__main-section--PaddingInlineEnd: 0px;
1029
- }
1030
1130
 
1031
1131
 
1032
1132
  .mui-theme .pf-v6-c-pagination {
1033
1133
  --pf-v6-c-pagination__total-items--Display: block;
1034
1134
  }
1035
1135
 
1136
+ .mui-theme .pf-v6-c-pagination .pf-v6-c-pagination__page-menu {
1137
+ display: flex;
1138
+ }
1139
+
1036
1140
  .mui-theme .pf-v6-c-pagination__total-items b {
1037
1141
  font-weight: normal;
1038
1142
  }
@@ -1042,17 +1146,36 @@ left: 0;
1042
1146
  }
1043
1147
 
1044
1148
  .mui-theme .pf-v6-c-pagination__page-menu .pf-v6-c-menu-toggle {
1045
- --pf-v6-c-menu-toggle--expanded--BackgroundColor: none;
1046
- --pf-v6-c-menu-toggle--hover--BackgroundColor: none;
1149
+ --pf-v6-c-menu-toggle--expanded--BackgroundColor: transparent;
1150
+ --pf-v6-c-menu-toggle--hover--BackgroundColor: transparent;
1047
1151
  text-transform: none;
1048
1152
  }
1049
1153
 
1050
- .mui-theme .pf-v6-c-pagination__page-menu::before {
1051
- content: 'Rows per page:';
1154
+ .mui-theme .pf-v6-c-pagination__page-menu > .pf-v6-c-menu-toggle.pf-m-expanded.pf-m-plain.pf-m-text {
1155
+ box-shadow: none;
1156
+ }
1157
+ .mui-theme .pf-v6-c-pagination__page-menu .pf-v6-c-menu-toggle__button {
1158
+ white-space: nowrap;
1159
+ min-width: fit-content;
1160
+ outline: none;
1052
1161
  }
1053
1162
 
1163
+ .mui-theme .pf-v6-c-pagination__page-menu .pf-v6-c-menu-toggle:focus-visible {
1164
+ outline: none;
1165
+ box-shadow: 0 0 0 2px var(--mui-palette-primary-main);
1166
+ }
1054
1167
 
1168
+ .mui-theme .pf-v6-c-pagination__page-menu {
1169
+ display: flex;
1170
+ align-items: center;
1171
+ gap: 8px;
1172
+ white-space: nowrap;
1173
+ }
1055
1174
 
1175
+ .mui-theme .pf-v6-c-pagination__page-menu::before {
1176
+ content: 'Rows per page:';
1177
+ white-space: nowrap;
1178
+ }
1056
1179
 
1057
1180
 
1058
1181
  .mui-theme .pf-v6-c-page.embedded {
@@ -1072,14 +1195,9 @@ left: 0;
1072
1195
  display: block;
1073
1196
  padding-block-start: var(--mui-spacing-4px);
1074
1197
  }
1075
-
1076
- .mui-theme .pf-v6-c-page__main {
1077
- width: 100vw;
1078
- max-width: 100vw;
1079
- }
1080
-
1081
- .mui-theme .pf-v6-c-page {
1082
- background: var(--mui-palette-grey-100);
1198
+
1199
+ .mui-theme .pf-v6-c-page__main-container {
1200
+ margin: 0;
1083
1201
  }
1084
1202
  }
1085
1203
 
@@ -1089,6 +1207,10 @@ left: 0;
1089
1207
  }
1090
1208
  }
1091
1209
 
1210
+ .mui-theme .pf-v6-c-masthead__content {
1211
+ padding-left: calc(3 * var(--mui-spacing-8px));
1212
+ }
1213
+
1092
1214
  .mui-theme .pf-v6-c-toolbar__group.pf-m-filter-group .pf-v6-c-form-control {
1093
1215
  // Override default form control padding to match button padding in this context
1094
1216
  --pf-v6-c-form-control--PaddingBlockStart: var(--mui-spacing-8px);
@@ -1109,6 +1231,7 @@ left: 0;
1109
1231
  border: 1px solid rgba(0, 0, 0, 0.23);
1110
1232
  border-radius: var(--mui-shape-borderRadius);
1111
1233
  background-color: var(--mui-palette-common-white);
1234
+ height: 54px;
1112
1235
 
1113
1236
  &:hover {
1114
1237
  border-color: var(--mui-palette-common-black);
@@ -1130,21 +1253,86 @@ left: 0;
1130
1253
  }
1131
1254
  }
1132
1255
 
1133
- /* Workaround for Toggle group header in Workspace Kind Form */
1134
- .mui-theme .workspace-kind-form-header .pf-v6-c-toggle-group__button.pf-m-selected {
1135
- background-color: #e0f0ff;
1136
- color: var(--pf-t--color--black);
1256
+ .mui-theme .pf-v6-c-toolbar__item.toolbar-fieldset-wrapper,
1257
+ .mui-theme .toolbar-fieldset-wrapper {
1258
+ position: relative;
1259
+ width: 100%;
1260
+ display: flex;
1261
+ align-items: center;
1137
1262
  }
1138
1263
 
1139
1264
 
1140
- .mui-theme .pf-v6-c-menu__item.pf-m-selected {
1141
- --pf-v6-c-menu__item--BackgroundColor: var(--mui-menu__item--selected--BackgroundColor);
1265
+ .mui-theme .toolbar-fieldset-wrapper:focus-within .form-fieldset,
1266
+ .mui-theme .tr-fieldset-wrapper:focus-within .form-fieldset {
1267
+ border-color: var(--mui-palette-primary-main);
1142
1268
  }
1143
1269
 
1144
- .mui-theme .pf-v6-c-menu__item-select-icon {
1145
- display: none;
1270
+ .mui-theme .pf-v6-c-toolbar .pf-v6-c-form-control,
1271
+ .mui-theme .pf-v6-c-toolbar .pf-v6-c-menu-toggle,
1272
+ .mui-theme .pf-v6-c-toolbar .pf-v6-c-button {
1273
+ box-sizing: border-box;
1274
+ display: flex;
1275
+ align-items: center;
1276
+ }
1277
+
1278
+ .mui-theme .pf-v6-c-toolbar .pf-v6-c-form-control {
1279
+ --pf-v6-c-form-control--PaddingBlockStart: 6px;
1280
+ --pf-v6-c-form-control--PaddingBlockEnd: 6px;
1281
+ --pf-v6-c-form-control--PaddingInlineStart: 12px;
1282
+ --pf-v6-c-form-control--PaddingInlineEnd: 12px;
1283
+ }
1284
+
1285
+ .mui-theme .pf-v6-c-toolbar .pf-v6-c-menu-toggle {
1286
+ --pf-v6-c-menu-toggle--PaddingBlockStart: 6px;
1287
+ --pf-v6-c-menu-toggle--PaddingBlockEnd: 6px;
1288
+ --pf-v6-c-menu-toggle--PaddingInlineStart: 12px;
1289
+ --pf-v6-c-menu-toggle--PaddingInlineEnd: 12px;
1290
+ }
1291
+
1292
+ /* Only apply fixed width to filter dropdown in toolbar filter group */
1293
+ .mui-theme .pf-v6-c-toolbar__group.pf-m-filter-group .pf-v6-c-menu-toggle:not(.pf-m-split-button):not(.pf-m-plain) {
1294
+ --pf-v6-c-menu-toggle--MinWidth: 140px;
1295
+ min-width: 140px;
1296
+ width: 140px;
1297
+ }
1298
+
1299
+ .mui-theme .pf-v6-c-toolbar__group.pf-m-filter-group .pf-v6-c-menu-toggle:not(.pf-m-split-button):not(.pf-m-plain) .pf-v6-c-menu-toggle__button {
1300
+ min-width: 140px;
1301
+ width: 140px;
1302
+ justify-content: flex-start;
1303
+ }
1304
+
1305
+ // Fix hover state margin issue by removing problematic padding
1306
+ .mui-theme .pf-v6-c-menu__list {
1307
+ --pf-v6-c-content--list--PaddingInlineStart: 0;
1308
+ }
1309
+
1310
+ .mui-theme .pf-v6-c-expandable-section .pf-v6-c-expandable-section__content {
1311
+ margin-block-end: var(--mui-spacing-16px);
1312
+ }
1313
+
1314
+ .mui-theme .workspacekind-file-upload {
1315
+ height: 100%;
1316
+
1317
+ .pf-v6-c-file-upload__file-details {
1318
+ flex-grow: 1;
1319
+ }
1320
+ }
1321
+
1322
+ .mui-theme .pf-v6-c-file-upload {
1323
+ height: 100%;
1324
+ display: flex;
1325
+ flex-direction: column;
1146
1326
  }
1147
1327
 
1328
+
1329
+ /* Workaround for Toggle group header in Workspace Kind Form */
1330
+ .mui-theme .workspace-kind-form-header .pf-v6-c-toggle-group__button.pf-m-selected {
1331
+ background-color: #e0f0ff;
1332
+ color: var(--pf-t--color--black);
1333
+ }
1334
+
1335
+
1148
1336
  .mui-theme button.pf-v6-c-menu-toggle {
1149
1337
  // Use box-shadow to create a border effect without affecting the layout
1150
1338
  &.pf-m-expanded,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mod-arch-kubeflow",
3
- "version": "1.1.0",
3
+ "version": "1.1.3",
4
4
  "description": "Kubeflow-specific theme and UI components for modular architecture micro-frontend projects",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",