Skip to content

Commit a3e4f92

Browse files
authored
fix(ui): Fix Toolbar Alignment in Model Registry UI (kubeflow#1140)
Signed-off-by: Jenny <32821331+jenny-s51@users.noreply.github.com> remove gap to fix extra padding fix chip padding
1 parent bdcbb03 commit a3e4f92

2 files changed

Lines changed: 77 additions & 52 deletions

File tree

clients/ui/frontend/src/app/pages/modelRegistry/screens/RegisteredModels/RegisteredModelListView.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ const RegisteredModelListView: React.FC<RegisteredModelListViewProps> = ({
9191
label: key,
9292
}))}
9393
value={searchType}
94+
toggleProps={{ style: { minWidth: '150px' } }}
9495
onChange={(newSearchType) => {
9596
const newSearchTypeInput = asEnumMember(newSearchType, SearchType);
9697
if (newSearchTypeInput !== null) {

clients/ui/frontend/src/shared/style/MUI-theme.scss

Lines changed: 76 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,6 @@
4949
--mui-menu-toggle--PaddingInlineEnd: 16px;
5050
--mui-menu-toggle--ColumnGap: 0;
5151
--mui-menu-toggle--expanded--Color: black;
52-
--mui-menu-toggle--hover--BorderColor: none;
53-
--mui-menu-toggle--BorderColor: none;
5452
--mui-menu-toggle--PaddingInlineStart: 10px;
5553
--mui-menu-toggle--PaddingInlineEnd: 10px;
5654

@@ -125,9 +123,7 @@
125123
}
126124

127125
.mui-theme .pf-v6-c-alert {
128-
--pf-v6-c-alert--m-warning__title--Color: var(
129-
--pf-t--global--text--color--status--warning--default
130-
);
126+
--pf-v6-c-alert--m-warning__title--Color: var(--pf-t--global--text--color--status--warning--default);
131127
--pf-v6-c-alert__icon--MarginInlineEnd: var(--mui-alert__icon--MarginInlineEnd);
132128
--pf-v6-c-alert__title--FontWeight: var(--mui-alert-warning-FontWeight);
133129
--pf-v6-c-alert__icon--MarginBlockStart: var(--mui-alert__icon--MarginBlockStart);
@@ -266,9 +262,6 @@
266262
--pf-v6-c-form__section--Gap: 0px;
267263
}
268264

269-
.mui-theme .toolbar-fieldset-wrapper .pf-v6-c-form-control input {
270-
padding: 8px 14px;
271-
}
272265

273266
.mui-theme .tr-fieldset-wrapper .form-fieldset {
274267
inset: 0px;
@@ -304,7 +297,7 @@
304297
box-sizing: border-box;
305298
}
306299

307-
.mui-theme .pf-v6-c-form-control > :is(input, select, textarea):focus {
300+
.mui-theme .pf-v6-c-form-control> :is(input, select, textarea):focus {
308301
--pf-v6-c-form-control--OutlineOffset: none;
309302
outline: none;
310303
}
@@ -334,18 +327,18 @@
334327
}
335328

336329
.form-fieldset-wrapper:hover .form-fieldset {
337-
border-color: black;
330+
border-color: var(--mui-palette-common-black);
338331
}
339332

340-
.form-fieldset-wrapper:focus-within span.pf-v6-c-form-control.pf-m-disabled ~ .form-fieldset {
333+
.form-fieldset-wrapper:focus-within span.pf-v6-c-form-control.pf-m-disabled~.form-fieldset {
341334
border-color: rgba(0, 0, 0, 0.23);
342335
}
343336

344-
.form-fieldset-wrapper span.pf-v6-c-form-control.pf-m-error ~ .form-fieldset {
337+
.form-fieldset-wrapper span.pf-v6-c-form-control.pf-m-error~.form-fieldset {
345338
border-color: var(--mui-palette-error-main);
346339
}
347340

348-
.form-fieldset-wrapper .pf-v6-c-input-group span.pf-v6-c-form-control .pf-m-error ~ .form-fieldset {
341+
.form-fieldset-wrapper .pf-v6-c-input-group span.pf-v6-c-form-control .pf-m-error~.form-fieldset {
349342
border-color: var(--mui-palette-error-main);
350343
}
351344

@@ -445,8 +438,8 @@
445438
--pf-v6-c-form-control--after--BorderColor: transparent !important;
446439
}
447440

448-
.pf-v6-c-form__group .pf-v6-c-form-control:focus-within + .pf-v6-c-form__label,
449-
.pf-v6-c-form__group .pf-v6-c-form-control:not(:placeholder-shown) + .pf-v6-c-form__label {
441+
.pf-v6-c-form__group .pf-v6-c-form-control:focus-within+.pf-v6-c-form__label,
442+
.pf-v6-c-form__group .pf-v6-c-form-control:not(:placeholder-shown)+.pf-v6-c-form__label {
450443
color: var(--mui-palette-primary-main);
451444
}
452445

@@ -499,6 +492,7 @@
499492
--pf-v6-c-menu__item--PaddingInlineEnd: var(--mui-menu__item--PaddingInlineEnd);
500493
--pf-v6-c-menu__item--FontSize: var(--mui-menu__item--FontSize);
501494
}
495+
502496
.mui-theme .pf-v6-c-menu__item.pf-m-selected {
503497
--pf-v6-c-menu__item--BackgroundColor: var(--mui-menu__item--selected--BackgroundColor);
504498
}
@@ -507,28 +501,20 @@
507501
display: none;
508502
}
509503

510-
.mui-theme .pf-v6-c-menu-toggle {
504+
.mui-theme .pf-v6-c-menu-toggle:not(.pf-m-plain) {
511505
--pf-v6-c-menu-toggle__toggle-icon--MinHeight: var(--mui-menu-toggle__toggle-icon--MinHeight);
512506
--pf-v6-c-menu-toggle__controls--MinWidth: var(--mui-menu-toggle__controls--MinWidth);
513-
--pf-v6-c-menu-toggle--expanded--BackgroundColor: var(
514-
--mui-menu-toggle--expanded--BackgroundColor
515-
);
507+
--pf-v6-c-menu-toggle--expanded--BackgroundColor: var(--mui-menu-toggle--expanded--BackgroundColor);
516508
--pf-v6-c-menu-toggle--expanded--BorderColor: var(--mui-menu-toggle--expanded--BorderColor);
517509
--pf-v6-c-menu-toggle--PaddingInlineStart: var(--mui-menu-toggle--PaddingInlineStart);
518510
--pf-v6-c-menu-toggle--PaddingInlineEnd: var(--mui-menu-toggle--PaddingInlineEnd);
519511
--pf-v6-c-menu-toggle--ColumnGap: var(--mui-menu-toggle--ColumnGap);
520512
--pf-v6-c-menu-toggle--expanded--Color: var(--mui-palette-common-black);
521513
--pf-v6-c-menu-toggle--hover--BorderColor: var(--mui-menu-toggle--hover--BorderColor);
522514
--pf-v6-c-menu-toggle--BorderColor: var(--mui-menu-toggle--BorderColor);
523-
--pf-v6-c-menu-toggle--hover--BackgroundColor: var(
524-
--pf-t--global--background--color--action--plain--hover
525-
);
526-
--pf-v6-c-menu-toggle--m-split-button--m-action--m-primary--expanded--child--BackgroundColor: var(
527-
--pf-t--global--color--brand--default
528-
);
529-
--pf-v6-c-menu-toggle--m-split-button--m-action--m-primary--child--BorderInlineStartColor: var(
530-
--mui-palette-primary-dark
531-
);
515+
--pf-v6-c-menu-toggle--hover--BackgroundColor: var(--pf-t--global--background--color--action--plain--hover);
516+
--pf-v6-c-menu-toggle--m-split-button--m-action--m-primary--expanded--child--BackgroundColor: var(--pf-t--global--color--brand--default);
517+
--pf-v6-c-menu-toggle--m-split-button--m-action--m-primary--child--BorderInlineStartColor: var(--mui-palette-primary-dark);
532518
--pf-v6-c-menu-toggle--disabled--BackgroundColor: var(--mui-palette-common-white);
533519
--pf-v6-c-menu-toggle--disabled--Color: var(--mui-palette-text-disabled);
534520
--pf-v6-c-menu-toggle--disabled__toggle-icon--Color: var(--mui-palette-action-disabled);
@@ -539,6 +525,39 @@
539525
letter-spacing: 0.02857em;
540526
}
541527

528+
// Apply the menu toggle styling to all except split button variant
529+
.mui-theme .pf-v6-c-menu-toggle:not(.pf-m-split-button) {
530+
position: relative;
531+
box-sizing: border-box;
532+
border: 1px solid rgba(0, 0, 0, 0.23);
533+
--pf-v6-c-menu-toggle--BackgroundColor: var(--mui-palette-common-white);
534+
535+
&:hover {
536+
// Restore direct border color setting for hover
537+
border-color: var(--mui-palette-common-black);
538+
}
539+
540+
&:focus-within {
541+
// Keep border width consistent to prevent layout shift
542+
border: 1px solid var(--mui-palette-primary-main);
543+
// Use box-shadow to create a thicker border while preventing layout shift
544+
box-shadow: 0 0 0 1px var(--mui-palette-primary-main);
545+
}
546+
}
547+
548+
.mui-theme .pf-v6-c-menu-toggle.pf-m-plain {
549+
--pf-v6-c-menu-toggle--BorderRadius: 50%;
550+
// Ensure plain variant doesn't get the border styling
551+
border: none;
552+
553+
&:hover,
554+
&:focus-within {
555+
border: none;
556+
box-shadow: none;
557+
background-color: var(--pf-v6-c-menu-toggle--hover--BackgroundColor);
558+
}
559+
}
560+
542561
.mui-theme .pf-v6-c-menu-toggle__button {
543562
text-transform: var(--mui-text-transform);
544563
font-weight: var(--mui-button-FontWeight);
@@ -564,12 +583,8 @@
564583
--pf-v6-c-menu-toggle--expanded--Color: var(--pf-t--global--text--color--on-brand--clicked);
565584
}
566585

567-
.mui-theme
568-
.pf-v6-c-menu-toggle.pf-m-primary.pf-m-split-button
569-
.pf-v6-c-menu-toggle__button[aria-expanded='true'] {
570-
--pf-v6-c-menu-toggle--m-split-button--m-action--m-primary--child--BackgroundColor: var(
571-
--mui-palette-primary-dark
572-
);
586+
.mui-theme .pf-v6-c-menu-toggle.pf-m-primary.pf-m-split-button .pf-v6-c-menu-toggle__button[aria-expanded='true'] {
587+
--pf-v6-c-menu-toggle--m-split-button--m-action--m-primary--child--BackgroundColor: var(--mui-palette-primary-dark);
573588
}
574589

575590
.mui-theme .pf-v6-c-menu-toggle__button:has(.pf-v6-c-menu-toggle__toggle-icon) {
@@ -664,7 +679,7 @@
664679
}
665680

666681
/* When radio is checked */
667-
.mui-theme .pf-v6-c-radio__input:checked + .pf-v6-c-radio__label::before {
682+
.mui-theme .pf-v6-c-radio__input:checked+.pf-v6-c-radio__label::before {
668683
background: var(--mui-palette-common-white);
669684
border-color: var(--mui-palette-primary-main);
670685
}
@@ -687,7 +702,7 @@
687702
}
688703

689704
/* Inner dot for checked state */
690-
.mui-theme .pf-v6-c-radio__input:checked + .pf-v6-c-radio__label::after {
705+
.mui-theme .pf-v6-c-radio__input:checked+.pf-v6-c-radio__label::after {
691706
content: '';
692707
position: absolute;
693708
left: 5px;
@@ -717,15 +732,11 @@
717732
--pf-v6-c-table--cell--PaddingInlineEnd: var(--mui-table--cell--PaddingInlineEnd);
718733
--pf-v6-c-table--cell--PaddingBlockStart: var(--mui-table--cell--PaddingBlockStart);
719734
--pf-v6-c-table--cell--PaddingBlockEnd: var(--mui-table--cell--PaddingBlockEnd);
720-
--pf-v6-c-table--cell--first-last-child--PaddingInline: var(
721-
--mui-table--cell--first-last-child--PaddingInline
722-
);
735+
--pf-v6-c-table--cell--first-last-child--PaddingInline: var(--mui-table--cell--first-last-child--PaddingInline);
723736
--pf-v6-c-table__thead--cell--FontWeight: var(--mui-button-FontWeight);
724737
--pf-v6-c-table__thead--cell--FontSize: var(--mui-table__thead--cell--FontSize);
725738
--pf-v6-c-table__tr--BorderBlockEndColor: var(--mui-palette-grey-300);
726-
--pf-v6-c-table__sort-indicator--MarginInlineStart: var(
727-
--mui-table__sort-indicator--MarginInlineStart
728-
);
739+
--pf-v6-c-table__sort-indicator--MarginInlineStart: var(--mui-table__sort-indicator--MarginInlineStart);
729740

730741
letter-spacing: 0.01071em;
731742
}
@@ -789,9 +800,7 @@
789800
--pf-v6-c-tabs__link--PaddingInlineStart: var(--mui-tabs__link--PaddingInlineStart);
790801
--pf-v6-c-tabs__link--PaddingInlineEnd: var(--mui-tabs__link--PaddingInlineEnd);
791802
--pf-v6-c-tabs__item--m-current__link--Color: var(--pf-t--global--text--color--brand--default);
792-
--pf-v6-c-tabs__item--m-current__link--after--BorderWidth: var(
793-
--mui-tabs__item--m-current__link--after--BorderWidth
794-
);
803+
--pf-v6-c-tabs__item--m-current__link--after--BorderWidth: var(--mui-tabs__item--m-current__link--after--BorderWidth);
795804
--pf-v6-c-tabs__link--FontSize: 0.875rem;
796805
}
797806

@@ -813,7 +822,7 @@
813822
align-content: center;
814823
}
815824

816-
.mui-theme .pf-v6-c-toolbar__item.kubeflow-u-namespace-select > .pf-v6-c-menu-toggle.pf-m-disabled {
825+
.mui-theme .pf-v6-c-toolbar__item.kubeflow-u-namespace-select>.pf-v6-c-menu-toggle.pf-m-disabled {
817826
border: none;
818827
}
819828

@@ -854,7 +863,6 @@
854863
.mui-theme .pf-v6-c-label.pf-m-outline {
855864
--pf-v6-c-label--BorderColor: none;
856865
--pf-v6-c-label--BackgroundColor: var(--mui-palette-grey-200);
857-
padding: 4px;
858866
}
859867

860868
.mui-theme .pf-v6-c-masthead {
@@ -870,8 +878,6 @@
870878

871879
.mui-theme .pf-v6-c-button.pf-m-plain {
872880
--pf-v6-c-button--BorderRadius: 50%;
873-
--pf-v6-c-button--PaddingInlineStart: none;
874-
--pf-v6-c-button--PaddingInlineEnd: none;
875881
}
876882

877883
.mui-theme .pf-v6-c-page {
@@ -888,6 +894,7 @@
888894
--pf-v6-c-page__main-section--PaddingRight: 0;
889895
overflow: visible;
890896
margin-right: 2px;
897+
gap: 0;
891898
}
892899

893900
.mui-theme .pf-v6-c-page__main-container {
@@ -934,9 +941,9 @@
934941
}
935942
}
936943

937-
.mui-theme .pf-v6-c-page__sidebar:not(.pf-m-collapsed) + .pf-v6-c-page__main-container,
938-
.mui-theme .pf-v6-c-page__sidebar:not(.pf-m-collapsed) + .pf-v6-c-page__drawer,
939-
.mui-theme .pf-v6-c-page__sidebar:not(.pf-m-collapsed) + .pf-v6-c-page__main-breadcrumb {
944+
.mui-theme .pf-v6-c-page__sidebar:not(.pf-m-collapsed)+.pf-v6-c-page__main-container,
945+
.mui-theme .pf-v6-c-page__sidebar:not(.pf-m-collapsed)+.pf-v6-c-page__drawer,
946+
.mui-theme .pf-v6-c-page__sidebar:not(.pf-m-collapsed)+.pf-v6-c-page__main-breadcrumb {
940947
--pf-v6-c-page__main-container--MarginInlineStart: calc(-2 * var(--mui-spacing-16px));
941948
--pf-v6-c-page__main-section--PaddingInlineStart: none;
942949
--pf-v6-c-page__main-section--PaddingInlineEnd: none;
@@ -969,3 +976,20 @@
969976
padding-left: var(--mui-spacing-12px);
970977
}
971978
}
979+
980+
.mui-theme .pf-v6-c-toolbar__item.toolbar-fieldset-wrapper,
981+
.mui-theme .toolbar-fieldset-wrapper {
982+
position: relative;
983+
width: 100%;
984+
display: flex;
985+
height: 51px;
986+
}
987+
988+
.mui-theme .toolbar-fieldset-wrapper:hover .form-fieldset {
989+
border-color: var(--mui-palette-common-black);
990+
}
991+
992+
.mui-theme .toolbar-fieldset-wrapper:focus-within .form-fieldset,
993+
.mui-theme .tr-fieldset-wrapper:focus-within .form-fieldset {
994+
border-color: var(--mui-palette-primary-main);
995+
}

0 commit comments

Comments
 (0)