// Copyright (c) 2014, 2025, Oracle and/or its affiliates.  Licensed under The Universal Permissive License (UPL), Version 1.0 as shown at https://oss.oracle.com/licenses/upl/

// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// WARNING: do not directly import this file, instead import the
//          version in your base theme's directory,
//          for example alta/widgets/_oj.alta.utilities.scss
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

@import "../../utilities/oj.utilities";

@if $includeUtilitiesClasses != false {
  @include module-include-once("common.utilities") {

    // sizes

    .oj-text-xs {

        font-size: $smallestFontSize;
      
    }

    .oj-text-sm {

        font-size: $smallFontSize;

    }



    //colors
    .oj-text-color-primary,
    .oj-text-primary-color {

        color: $primaryTextColor;

    }

    .oj-text-color-secondary,
    .oj-text-secondary-color {

        color: $secondaryTextColor;

    }

    .oj-text-color-tertiary,
    .oj-text-tertiary-color {

        color: $tertiaryTextColor;

    }

    .oj-text-color-disabled,
    .oj-text-disabled-color {

        color: $textColorDisabled;

    }

    // contrast background
    .oj-contrast-marker .oj-contrast-background,
    .oj-contrast-marker.oj-contrast-background {

        background-color: $contrastBackground1Color;
        color: $contrastTextColor;


    }





/* as of jet 4.0 oj-margin* and oj-padding* are deprecated in favor of responsive versions of these classes */
    // margins
    .oj-margin {

        margin: $spacingMedium;

    }

    .oj-margin-horizontal {

        margin-left: $spacingMedium;
        margin-right: $spacingMedium;

    }

    .oj-margin-vertical {

        margin-top: $spacingMedium;
        margin-bottom: $spacingMedium;

    }

    .oj-margin-top {

        margin-top: $spacingMedium;

    }

    .oj-margin-bottom {

        margin-bottom: $spacingMedium;

    }

    .oj-margin-start {

        @include oj-ltr() {
          margin-left: $spacingMedium;
        }
        @include oj-rtl() {
          margin-right: $spacingMedium;
        }


    }

    .oj-margin-end {

        @include oj-ltr() {
          margin-right: $spacingMedium;
        }
        @include oj-rtl() {
          margin-left: $spacingMedium;
        }


    }

    // margins
    .oj-margin-lg {

        margin: $spacingLarge;

    }

    .oj-margin-lg-horizontal {

        margin-left: $spacingLarge;
        margin-right: $spacingLarge;

    }

    .oj-margin-lg-vertical {

        margin-top: $spacingLarge;
        margin-bottom: $spacingLarge;


    }

    .oj-margin-lg-top {

        margin-top: $spacingLarge;

    }

    .oj-margin-lg-bottom {

        margin-bottom: $spacingLarge;

    }

    .oj-margin-lg-start {

        @include oj-ltr() {
          margin-left: $spacingLarge;
        }
        @include oj-rtl() {
          margin-right: $spacingLarge;
        }


    }

    .oj-margin-lg-end {


        @include oj-ltr() {
          margin-right: $spacingLarge;
        }
        @include oj-rtl() {
          margin-left: $spacingLarge;
        }


    }




    // padding
    .oj-padding {

        padding: $spacingMedium;

    }

    .oj-padding-horizontal {

        padding-left: $spacingMedium;
        padding-right: $spacingMedium;


    }

    .oj-padding-vertical {

        padding-top: $spacingMedium;
        padding-bottom: $spacingMedium;


    }

    .oj-padding-top {

        padding-top: $spacingMedium;

    }

    .oj-padding-bottom {

        padding-bottom: $spacingMedium;

    }

    .oj-padding-start {

        @include oj-ltr() {
          padding-left: $spacingMedium;
        }
        @include oj-rtl() {
          padding-right: $spacingMedium;
        }


    }

    .oj-padding-end {

        @include oj-ltr() {
          padding-right: $spacingMedium;
        }
        @include oj-rtl() {
          padding-left: $spacingMedium;
        }


    }


    // padding
    .oj-padding-lg {

        padding: $spacingLarge;
      

    }

    .oj-padding-lg-horizontal {

        padding-left: $spacingLarge;
        padding-right: $spacingLarge;

    }

    .oj-padding-lg-vertical {

        padding-top: $spacingLarge;
        padding-bottom: $spacingLarge;


    }

    .oj-padding-lg-top {

        padding-top: $spacingLarge;

    }

    .oj-padding-lg-bottom {

        padding-bottom: $spacingLarge;

    }

    .oj-padding-lg-start {

        @include oj-ltr() {
          padding-left: $spacingLarge;
        }
        @include oj-rtl() {
          padding-right: $spacingLarge;
        }


    }

    .oj-padding-lg-end {

        @include oj-ltr() {
          padding-right: $spacingLarge;
        }
        @include oj-rtl() {
          padding-left: $spacingLarge;
        }

    }

    // CSS for new utilities classes for boreder, box shadows and border radius
  
    .oj-border {
      border: 1px solid $panelBorderColor !important;
    }
  
    .oj-border-top {
      border-top: 1px solid $panelBorderColor !important;
    }
  
    .oj-border-bottom {
      border-bottom: 1px solid $panelBorderColor !important;
    }
  
    .oj-border-start {
      @include oj-ltr() {
        border-left: 1px solid $panelBorderColor !important;
      }
      @include oj-rtl() {
        border-right: 1px solid $panelBorderColor !important;
      }
    }
  
    .oj-border-end {
      @include oj-ltr() {
        border-right: 1px solid $panelBorderColor !important;
      }
      @include oj-rtl() {
        border-left: 1px solid $panelBorderColor !important;
      }
    }
    
    //Divider
  
    .oj-divider-top {
      border-top-width: 1px;
      border-top-color: $panelBorderColor;
      border-top-style: solid;
      }
      
    .oj-divider-top.oj-divider-padding {
      padding-top: $dividerMargin;
      }
      
    .oj-divider-top.oj-divider-margin {
      margin-top:  $dividerMargin;
      }
  
    .oj-divider-bottom {
      border-bottom-width: 1px;
      border-bottom-color:  $panelBorderColor;
      border-bottom-style: solid;
     }
  
    .oj-divider-bottom.oj-divider-padding {
      padding-bottom : $dividerMargin;
     }
  
    .oj-divider-bottom.oj-divider-margin {
      margin-bottom: $dividerMargin;
      }
  
  
    .oj-divider-start{
      @include oj-ltr() {
        border-left-width: 1px;
        border-left-color: $panelBorderColor;
        border-left-style: solid;
        
      }
      @include oj-rtl() {
        border-right-width: 1px;
        border-right-color: $panelBorderColor;
        border-right-style: solid;
        }
    }
  
    .oj-divider-start.oj-divider-padding
    {
      @include oj-ltr() {
      padding-left : $dividerMargin;
      }
      @include oj-rtl() {
        padding-right : $dividerMargin;
      }
  
    }
    
    .oj-divider-start.oj-divider-margin
    {
      @include oj-ltr() {
      margin-left : $dividerMargin;
      }
      @include oj-rtl() {
        margin-right : $dividerMargin;
      }
    }
    
   
    .oj-divider-end{
      @include oj-ltr() {
        border-right-width: 1px;
        border-right-color: $panelBorderColor;
        border-right-style: solid;
        
      }
      @include oj-rtl() {
        border-left-width: 1px;
        border-left-color: $panelBorderColor;
        border-left-style: solid;
        }
    }
  
    .oj-divider-end.oj-divider-padding
    {
      @include oj-ltr() {
      padding-right: $dividerMargin;
      }
      @include oj-rtl() {
        padding-left : $dividerMargin;
      }
  
    }
    
    .oj-divider-end.oj-divider-margin
    {
      @include oj-ltr() {
      margin-right : $dividerMargin;
      }
      @include oj-rtl() {
        margin-left : $dividerMargin;
      }
    }


    .oj-bg-neutral-0 {
      background-color: $neutralColor1 !important; 
    }
      
    .oj-bg-neutral-10 {
      background-color: $neutralColor2 !important; 
    }
  
    .oj-bg-neutral-20 {
      background-color: $neutralColor3 !important;
    }
    
    .oj-bg-neutral-30 {
      background-color: $neutralColor4 !important;
    }

    .oj-bg-neutral-170 {
      background-color: $neutralColor14 !important; 
    }
      
    .oj-bg-neutral-180 {
      background-color: $neutralColor15 !important; 
    }
  
    .oj-bg-neutral-190 {
      background-color: $neutralColor16 !important;
    }
    
    .oj-bg-neutral-200 {
      background-color: $neutralColor17 !important;
    }
    
    .oj-bg-danger-10 {
      background-color: $accentColorDanger1 !important;
    }

    .oj-bg-danger-30 {
      background-color: $accentColorDanger2 !important;
    }

    .oj-bg-warning-10 {
      background-color: $accentColorAttention1 !important;
    }

    .oj-bg-warning-30 {
      background-color: $accentColorAttention2 !important;
    }

    
    .oj-bg-success-10 {
      background-color: $accentColorConfirmation1 !important;
    }

    .oj-bg-success-30 {
      background-color: $accentColorConfirmation1 !important;
    }

    .oj-bg-info-10 {
      background-color: $accentColorInfo1 !important;
    }

    .oj-bg-info-30 {
      background-color: $accentColorInfo2 !important;
    }

    
    .oj-bg-brand-10 {
      background-color: $brandColorLight5  !important;
    }
    .oj-bg-brand-30 {
      background-color: $brandColorLight3 !important;
    }
    

    .oj-line-clamp-1,
    .oj-line-clamp-2,
    .oj-line-clamp-3,
    .oj-line-clamp-4 {
      display: -webkit-box !important;
      /* autoprefixer: ignore next */
      -webkit-box-orient: vertical !important;
      overflow: hidden !important;
    }
     
    .oj-line-clamp-1 {
      -webkit-line-clamp: 1 !important;
    }
     
    .oj-line-clamp-2 {
      -webkit-line-clamp: 2 !important;
    }
     
    .oj-line-clamp-3 {
      -webkit-line-clamp: 3 !important;
    }
     
    .oj-line-clamp-4 {
      -webkit-line-clamp: 4 !important;
    }
  

  }
}
