scottyaslan commented on code in PR #11262:
URL: https://github.com/apache/nifi/pull/11262#discussion_r3356893208


##########
nifi-frontend/src/main/frontend/libs/shared/src/assets/themes/components/_option.scss:
##########
@@ -0,0 +1,33 @@
+/*!
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+@use '@angular/material' as mat;
+
+@mixin generate-material-theme() {
+    :root {
+        .mat-mdc-option[disabled] {

Review Comment:
   Here's a summary of the changes implemented for searchable-select and 
multi-select-option component theming inheritance issues":
   
   Root cause fixed: MultiSelectOption extends MatOption but Angular Material 
only injects MatOption's compiled CSS when a real <mat-option> is rendered. 
Since only the subclass was ever used directly, hover/focus/selected state 
styles were never applied.
   
   Changes made:
   
   multi-select-option.component.ts — Added mat-mdc-option mdc-list-item to the 
host class binding so Angular Material's CSS selectors correctly target the 
element.
   
   multi-select-option.component.scss — Replaced a complex scoped approach 
(using mat.option-overrides() on multi-select-option tag and & self-selectors) 
with globally-scoped rules on .mat-mdc-option. This replicates the missing 
Angular Material state-layer CSS (hover, focus, active, selected backgrounds) 
and base layout properties (min-height, padding, cursor), relying on 
ViewEncapsulation.None to inject them globally.
   
   _option.scss — Added mat.option-overrides() for selected state colors and 
the .fa icon / text truncation rules (previously buried inside 
_searchable-overlay.scss).
   
   _searchable-overlay.scss — Removed the .mat-mdc-option block that duplicated 
option styling (moved to _option.scss) and removed the icon prefix .fa rule 
(moved to _form-field.scss). Also removed the dead var(--mat-app-text-color) 
reference.
   
   _form-field.scss — Added the .mat-mdc-form-field-icon-prefix .fa sizing rule 
(moved from _searchable-overlay.scss).
   
   _select.scss — New file. Added cursor and disabled-color rules for 
selected/hovered options for all mat-options and multi-select-options



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to