mod-arch-kubeflow 1.6.0 → 1.8.0
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/dist/style/MUI-theme.scss +104 -25
- package/package.json +2 -2
|
@@ -140,6 +140,9 @@
|
|
|
140
140
|
--pf-t--global--border--color--status--success--default: var(--mui-palette-success-main);
|
|
141
141
|
--pf-t--global--border--color--status--info--default: var(--mui-palette-info-main);
|
|
142
142
|
|
|
143
|
+
// MUI's warning background is darker than PF's default yellow, requiring white text for contrast
|
|
144
|
+
--pf-t--global--text--color--status--on-warning--default: var(--mui-palette-warning-contrastText);
|
|
145
|
+
|
|
143
146
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
144
147
|
// MUI CUSTOM VARIABLES
|
|
145
148
|
// Custom variables for MUI-specific values used in component overrides below.
|
|
@@ -294,6 +297,9 @@
|
|
|
294
297
|
--mui-spacing-16px: calc(2 * var(--mui-spacing));
|
|
295
298
|
--mui-spacing-32px: calc(4 * var(--mui-spacing));
|
|
296
299
|
|
|
300
|
+
// Input group control buttons (e.g. password toggle, mount path edit): compact circular button
|
|
301
|
+
--mui-input-group-control-button--size: 28px;
|
|
302
|
+
--mui-input-group-control-button--container-padding-inline-end: 6px;
|
|
297
303
|
|
|
298
304
|
}
|
|
299
305
|
|
|
@@ -312,6 +318,12 @@
|
|
|
312
318
|
╚════════════════════════════════════════════════════════════════════════════════╝
|
|
313
319
|
*/
|
|
314
320
|
|
|
321
|
+
// PF table: opt-in vertical-align middle for tables with mixed content (text + controls).
|
|
322
|
+
// Add class mui-table-cells-middle to the Table when rows have inputs/buttons; keeps text-only tables on PF default.
|
|
323
|
+
.mui-theme .pf-v6-c-table.mui-table-cells-middle .pf-v6-c-table__td {
|
|
324
|
+
vertical-align: middle;
|
|
325
|
+
}
|
|
326
|
+
|
|
315
327
|
.mui-theme .pf-v6-c-action-list__item .pf-v6-c-button {
|
|
316
328
|
--pf-v6-c-button--PaddingInlineStart: 0;
|
|
317
329
|
--pf-v6-c-button--PaddingInlineEnd: 0;
|
|
@@ -359,6 +371,8 @@
|
|
|
359
371
|
|
|
360
372
|
.mui-theme .pf-v6-c-backdrop {
|
|
361
373
|
--pf-v6-c-backdrop--BackgroundColor: var(--mui-backdrop-BackgroundColor);
|
|
374
|
+
// Sidebar uses MUI drawer z-index (1200); modal must render above it
|
|
375
|
+
--pf-v6-c-backdrop--ZIndex: var(--mui-zIndex-modal);
|
|
362
376
|
}
|
|
363
377
|
|
|
364
378
|
.mui-theme .pf-v6-c-brand.kubeflow_brand {
|
|
@@ -728,20 +742,71 @@
|
|
|
728
742
|
border-color: var(--mui-palette-error-main);
|
|
729
743
|
}
|
|
730
744
|
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
745
|
+
// Input group control buttons: use PF structure only (Button variant="control" in InputGroup).
|
|
746
|
+
// No app class names required; any consumer using variant="control" gets this styling.
|
|
747
|
+
.mui-theme .pf-v6-c-input-group .pf-v6-c-input-group__item:has(.pf-v6-c-button.pf-m-control) {
|
|
748
|
+
display: flex;
|
|
749
|
+
align-items: center;
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
.mui-theme .pf-v6-c-input-group .pf-v6-c-input-group__item:has(.pf-v6-c-button.pf-m-control):last-child {
|
|
753
|
+
padding-inline-end: var(--mui-input-group-control-button--container-padding-inline-end);
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
.mui-theme .pf-v6-c-input-group .pf-v6-c-input-group__item .pf-v6-c-button.pf-m-control {
|
|
757
|
+
--pf-v6-c-button--BorderColor: transparent;
|
|
758
|
+
--pf-v6-c-button--hover--BorderColor: transparent;
|
|
759
|
+
--pf-v6-c-button--m-control--BorderColor: transparent;
|
|
760
|
+
--pf-v6-c-button--m-control--hover--BorderColor: transparent;
|
|
761
|
+
--pf-v6-c-button--m-control--m-clicked--BorderColor: transparent;
|
|
762
|
+
--pf-v6-c-button--PaddingBlockStart: 0;
|
|
763
|
+
--pf-v6-c-button--PaddingBlockEnd: 0;
|
|
764
|
+
--pf-v6-c-button--PaddingInlineStart: 0;
|
|
765
|
+
--pf-v6-c-button--PaddingInlineEnd: 0;
|
|
766
|
+
--pf-v6-c-button--m-control--BorderRadius: 50%;
|
|
767
|
+
|
|
768
|
+
width: var(--mui-input-group-control-button--size);
|
|
769
|
+
height: var(--mui-input-group-control-button--size);
|
|
770
|
+
min-width: var(--mui-input-group-control-button--size);
|
|
771
|
+
min-height: var(--mui-input-group-control-button--size);
|
|
772
|
+
border-radius: 50%;
|
|
773
|
+
display: inline-flex;
|
|
774
|
+
align-items: center;
|
|
775
|
+
justify-content: center;
|
|
776
|
+
line-height: 0;
|
|
777
|
+
align-self: center;
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
.mui-theme .pf-v6-c-input-group .pf-v6-c-input-group__item .pf-v6-c-button.pf-m-control .pf-v6-c-button__icon,
|
|
781
|
+
.mui-theme .pf-v6-c-input-group .pf-v6-c-input-group__item .pf-v6-c-button.pf-m-control svg {
|
|
782
|
+
display: block;
|
|
783
|
+
margin: 0;
|
|
784
|
+
}
|
|
785
|
+
|
|
786
|
+
.mui-theme .pf-v6-c-input-group .pf-v6-c-input-group__item .pf-v6-c-button.pf-m-control:hover {
|
|
787
|
+
border-radius: 50%;
|
|
788
|
+
outline: none;
|
|
789
|
+
background-color: var(--pf-t--global--background--color--action--plain--hover, rgba(0, 0, 0, 0.04));
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
.mui-theme .pf-v6-c-input-group .pf-v6-c-input-group__item .pf-v6-c-button.pf-m-control:focus-visible {
|
|
793
|
+
border-radius: 50%;
|
|
794
|
+
outline: none;
|
|
795
|
+
box-shadow: 0 0 0 2px var(--mui-palette-primary-main);
|
|
737
796
|
}
|
|
738
797
|
|
|
739
|
-
.mui-theme .form-fieldset-wrapper:focus-within .form-fieldset {
|
|
798
|
+
.mui-theme .form-fieldset-wrapper:focus-within:not(:has(.pf-m-error)) .form-fieldset {
|
|
740
799
|
border-color: var(--mui-palette-primary-main);
|
|
741
800
|
border-width: var(--mui-form--focus--BorderWidth);
|
|
742
801
|
padding: var(--mui-form--focus--Padding) var(--mui-form--focus--Padding);
|
|
743
802
|
}
|
|
744
803
|
|
|
804
|
+
.mui-theme .form-fieldset-wrapper:focus-within:has(.pf-m-error) .form-fieldset {
|
|
805
|
+
border-color: var(--mui-palette-error-main);
|
|
806
|
+
border-width: var(--mui-form--focus--BorderWidth);
|
|
807
|
+
padding: var(--mui-form--focus--Padding) var(--mui-form--focus--Padding);
|
|
808
|
+
}
|
|
809
|
+
|
|
745
810
|
// Apply form-fieldset-wrapper styling to ANY descendant of .pf-v6-c-form (Form component)
|
|
746
811
|
// This ensures styling works regardless of nesting depth or wrapper divs
|
|
747
812
|
.mui-theme .pf-v6-c-form .form-fieldset {
|
|
@@ -803,16 +868,14 @@
|
|
|
803
868
|
border-color: var(--mui-palette-error-main);
|
|
804
869
|
}
|
|
805
870
|
|
|
806
|
-
.mui-theme .pf-v6-c-form .form-fieldset-wrapper
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
--
|
|
810
|
-
--pf-v6-c-button--BorderColor: var(--mui-palette-common-white);
|
|
811
|
-
--pf-v6-c-button--BorderRadius: 50%;
|
|
871
|
+
.mui-theme .pf-v6-c-form .form-fieldset-wrapper:focus-within:not(:has(.pf-m-error)) .form-fieldset {
|
|
872
|
+
border-color: var(--mui-palette-primary-main);
|
|
873
|
+
border-width: var(--mui-form--focus--BorderWidth);
|
|
874
|
+
padding: var(--mui-form--focus--Padding) var(--mui-form--focus--Padding);
|
|
812
875
|
}
|
|
813
876
|
|
|
814
|
-
.mui-theme .pf-v6-c-form .form-fieldset-wrapper:focus-within .form-fieldset {
|
|
815
|
-
border-color: var(--mui-palette-
|
|
877
|
+
.mui-theme .pf-v6-c-form .form-fieldset-wrapper:focus-within:has(.pf-m-error) .form-fieldset {
|
|
878
|
+
border-color: var(--mui-palette-error-main);
|
|
816
879
|
border-width: var(--mui-form--focus--BorderWidth);
|
|
817
880
|
padding: var(--mui-form--focus--Padding) var(--mui-form--focus--Padding);
|
|
818
881
|
}
|
|
@@ -890,20 +953,19 @@
|
|
|
890
953
|
border-color: var(--mui-palette-error-main);
|
|
891
954
|
}
|
|
892
955
|
|
|
893
|
-
.mui-theme [class*="pf-v6-l-"] .form-fieldset-wrapper .pf-v6-c-input-group__item button {
|
|
894
|
-
// Aligns EyeIcon in password input
|
|
895
|
-
--pf-v6-c-button--PaddingBlockStart: var(--pf-t--global--spacer--md);
|
|
896
|
-
--pf-v6-c-button--PaddingBlockEnd: var(--pf-t--global--spacer--md);
|
|
897
|
-
--pf-v6-c-button--BorderColor: var(--mui-palette-common-white);
|
|
898
|
-
--pf-v6-c-button--BorderRadius: 50%;
|
|
899
|
-
}
|
|
900
956
|
|
|
901
|
-
.mui-theme [class*="pf-v6-l-"] .form-fieldset-wrapper:focus-within .form-fieldset {
|
|
957
|
+
.mui-theme [class*="pf-v6-l-"] .form-fieldset-wrapper:focus-within:not(:has(.pf-m-error)) .form-fieldset {
|
|
902
958
|
border-color: var(--mui-palette-primary-main);
|
|
903
959
|
border-width: var(--mui-form--focus--BorderWidth);
|
|
904
960
|
padding: var(--mui-form--focus--Padding) var(--mui-form--focus--Padding);
|
|
905
961
|
}
|
|
906
962
|
|
|
963
|
+
.mui-theme [class*="pf-v6-l-"] .form-fieldset-wrapper:focus-within:has(.pf-m-error) .form-fieldset {
|
|
964
|
+
border-color: var(--mui-palette-error-main);
|
|
965
|
+
border-width: var(--mui-form--focus--BorderWidth);
|
|
966
|
+
padding: var(--mui-form--focus--Padding) var(--mui-form--focus--Padding);
|
|
967
|
+
}
|
|
968
|
+
|
|
907
969
|
.mui-theme [class*="pf-v6-l-"] .form-fieldset-wrapper:focus-within {
|
|
908
970
|
color: var(--mui-palette-primary-main);
|
|
909
971
|
}
|
|
@@ -1006,12 +1068,18 @@
|
|
|
1006
1068
|
border-color: var(--mui-palette-common-black);
|
|
1007
1069
|
}
|
|
1008
1070
|
|
|
1009
|
-
.mui-theme .pf-v6-c-expandable-section .form-fieldset-wrapper:focus-within .form-fieldset {
|
|
1071
|
+
.mui-theme .pf-v6-c-expandable-section .form-fieldset-wrapper:focus-within:not(:has(.pf-m-error)) .form-fieldset {
|
|
1010
1072
|
border-color: var(--mui-palette-primary-main);
|
|
1011
1073
|
border-width: var(--mui-form--focus--BorderWidth);
|
|
1012
1074
|
padding: var(--mui-form--focus--Padding) var(--mui-form--focus--Padding);
|
|
1013
1075
|
}
|
|
1014
1076
|
|
|
1077
|
+
.mui-theme .pf-v6-c-expandable-section .form-fieldset-wrapper:focus-within:has(.pf-m-error) .form-fieldset {
|
|
1078
|
+
border-color: var(--mui-palette-error-main);
|
|
1079
|
+
border-width: var(--mui-form--focus--BorderWidth);
|
|
1080
|
+
padding: var(--mui-form--focus--Padding) var(--mui-form--focus--Padding);
|
|
1081
|
+
}
|
|
1082
|
+
|
|
1015
1083
|
.mui-theme .pf-v6-c-expandable-section .form-fieldset-wrapper:focus-within {
|
|
1016
1084
|
color: var(--mui-palette-primary-main);
|
|
1017
1085
|
}
|
|
@@ -1103,6 +1171,12 @@
|
|
|
1103
1171
|
--pf-v6-c-menu__item--FontSize: var(--mui-menu__item--FontSize);
|
|
1104
1172
|
}
|
|
1105
1173
|
|
|
1174
|
+
// Remove negative margins on scrollable menu content that clip the scrollbar
|
|
1175
|
+
.mui-theme .pf-v6-c-menu.pf-m-scrollable .pf-v6-c-menu__content {
|
|
1176
|
+
margin-block-start: 0;
|
|
1177
|
+
margin-block-end: 0;
|
|
1178
|
+
}
|
|
1179
|
+
|
|
1106
1180
|
|
|
1107
1181
|
.mui-theme .pf-v6-c-menu__item {
|
|
1108
1182
|
&.pf-m-selected {
|
|
@@ -1521,13 +1595,18 @@ left: 0;
|
|
|
1521
1595
|
/* CSS workaround for spacing in labels in Workspace Kind */
|
|
1522
1596
|
/* Special handling for form fields in table cells - remove extra top spacing */
|
|
1523
1597
|
/* Layout properties (vertical-align, display, overflow) - no PF variables exist */
|
|
1524
|
-
.mui-theme .form-label-field-group .pf-v6-c-table tr:where(.pf-v6-c-table__tr) > :where(th, td) {
|
|
1598
|
+
.mui-theme .form-label-field-group .pf-v6-c-table tr:where(.pf-v6-c-table__tr):not(.pf-v6-c-inline-edit) > :where(th, td) {
|
|
1525
1599
|
/* Layout property - no PF variable exists */
|
|
1526
1600
|
vertical-align: middle;
|
|
1527
1601
|
/* Balance padding - use PF component variable for consistency */
|
|
1528
1602
|
--pf-v6-c-table--cell--PaddingBlockStart: 0px;
|
|
1529
1603
|
}
|
|
1530
1604
|
|
|
1605
|
+
/* Vertically center action cells (e.g. delete button) in inline edit rows to align with taller MUI form fields */
|
|
1606
|
+
.mui-theme .form-label-field-group .pf-v6-c-table tr.pf-v6-c-inline-edit.pf-m-inline-editable > td:last-child {
|
|
1607
|
+
vertical-align: middle;
|
|
1608
|
+
}
|
|
1609
|
+
|
|
1531
1610
|
/* Remove spacing to align form elements at top of table cells */
|
|
1532
1611
|
/* Margin/padding: No PF variables exist for zero values - using direct CSS */
|
|
1533
1612
|
.mui-theme .form-label-field-group .pf-v6-c-table tr:where(.pf-v6-c-table__tr) > :where(th, td) .pf-v6-c-form__group {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mod-arch-kubeflow",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
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",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"*.scss"
|
|
11
11
|
],
|
|
12
12
|
"engines": {
|
|
13
|
-
"node": ">=
|
|
13
|
+
"node": ">=22.0.0"
|
|
14
14
|
},
|
|
15
15
|
"files": [
|
|
16
16
|
"dist",
|