/*
 * 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 'sass:map';
@use '@angular/material' as mat;

@mixin generate-theme() {
    .new-canvas-item {
        .icon {
            @extend .secondary-contrast;

            &.hovering {
                box-shadow: var(--mat-sys-level2);
                background: linear-gradient(
                    var(--nf-new-canvas-item-hover),
                    var(--nf-new-canvas-item-hover)
                ) !important;

                .component-button-grip {
                    background: repeating-linear-gradient(
                        90deg,
                        var(--nf-new-canvas-item-grip),
                        var(--mat-sys-secondary) 4px,
                        transparent 4px,
                        transparent 6px
                    );
                }
            }

            &.cdk-drag-dragging {
                color: var(--mat-sys-secondary);
                mix-blend-mode: difference; // Make sure the dragged icon is always visible
            }
        }

        .icon:disabled {
            @extend .disabled;
            cursor: not-allowed;
        }
    }
}
