{"version":3,"file":"ih-ng-css-utility.mjs","sources":["../../../projects/ih-ng-css-utility/src/lib/directives/border-radius.directive.ts","../../../projects/ih-ng-css-utility/src/lib/directives/flex.directive.ts","../../../projects/ih-ng-css-utility/src/lib/directives/font-size.directive.ts","../../../projects/ih-ng-css-utility/src/lib/directives/font-weight.directive.ts","../../../projects/ih-ng-css-utility/src/lib/directives/height-width.directive.ts","../../../projects/ih-ng-css-utility/src/lib/directives/padding-margin.directive.ts","../../../projects/ih-ng-css-utility/src/lib/ih-ng-css-utility.module.ts","../../../projects/ih-ng-css-utility/src/public-api.ts","../../../projects/ih-ng-css-utility/src/ih-ng-css-utility.ts"],"sourcesContent":["import {\r\n  AfterViewInit,\r\n  Directive,\r\n  ElementRef,\r\n  Input,\r\n  OnChanges,\r\n  SimpleChanges,\r\n} from '@angular/core';\r\nimport { BorderRadiusValueType } from '../Interfaces/utility.interface';\r\n\r\n@Directive({ selector: '[ihBR]' })\r\nexport class BorderRadiusDirective implements AfterViewInit, OnChanges {\r\n  // Input for border radius\r\n  @Input() ihBR!: BorderRadiusValueType;\r\n\r\n  /**\r\n   * Creates an instance of BorderRadiusDirective.\r\n   * @author IDNAN.HAIDER\r\n   * @param elementRef\r\n   */\r\n  constructor(private readonly elementRef: ElementRef) {}\r\n\r\n  /**\r\n   * @description setting the border radius if value is changed dynamically\r\n   * @author IDNAN.HAIDER\r\n   * @param changes\r\n   */\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    if (changes['ihBR']) this.setBorderRadius();\r\n  }\r\n\r\n  /**\r\n   * @description setting css after view init\r\n   * @author IDNAN.HAIDER\r\n   */\r\n  ngAfterViewInit(): void {\r\n    // Setting border radius if border radius value is provided\r\n    this.setBorderRadius();\r\n  }\r\n\r\n  /**\r\n   * @description\r\n   * @author IDNAN.HAIDER\r\n   * @private\r\n   */\r\n  private setBorderRadius() {\r\n    if (this.ihBR) this.elementRef.nativeElement.style.borderRadius = this.ihBR;\r\n  }\r\n}\r\n","import {\r\n  AfterViewInit,\r\n  Directive,\r\n  ElementRef,\r\n  Input,\r\n  OnChanges,\r\n  SimpleChanges,\r\n} from '@angular/core';\r\nimport {\r\n  AlignContentType,\r\n  AlignItemsType,\r\n  FlexDirectionType,\r\n  FlexFlowType,\r\n  FlexWrapType,\r\n  GapType,\r\n  JustifyContentType,\r\n} from '../Interfaces/flex.interface';\r\n\r\n@Directive({ selector: '[ihFlex]' })\r\nexport class FlexDirective implements AfterViewInit, OnChanges {\r\n  /**\r\n   * @description This establishes the main-axis, thus defining the direction flex items are placed in the flex container. Flexbox is (aside from optional wrapping) a single-direction layout concept.\r\n   * Think of flex items as primarily laying out either in horizontal rows or vertical columns.\r\n   * @author IDNAN.HAIDER\r\n   */\r\n  @Input() flexDirection!: FlexDirectionType;\r\n\r\n  /**\r\n   * @description This is a shorthand for the flex-direction and flex-wrap properties,\r\n   * which together define the flex container’s main and cross axes. The default value is row nowrap.\r\n   * @author IDNAN.HAIDER\r\n   */\r\n  @Input() flexFlow!: FlexFlowType;\r\n\r\n  /**\r\n   * @description By default, flex items will all try to fit onto one line.\r\n   * You can change that and allow the items to wrap as needed with this property.\r\n   * @author IDNAN.HAIDER\r\n   */\r\n  @Input() flexWrap!: FlexWrapType;\r\n\r\n  /**\r\n   * @description This defines the alignment along the main axis.\r\n   * It helps distribute extra free space leftover when either all the flex items on a line are inflexible, or are flexible but have reached their maximum size.\r\n   * It also exerts some control over the alignment of items when they overflow the line.\r\n   *\r\n   * @author IDNAN.HAIDER\r\n   */\r\n  @Input() justifyContent!: JustifyContentType;\r\n\r\n  /**\r\n   * @description This defines the default behavior for how flex items are laid out along the cross axis on the current line.\r\n   * Think of nit as the justify-content version for the cross-axis (perpendicular to the main-axis).\r\n   *\r\n   * @author IDNAN.HAIDER\r\n   */\r\n  @Input() alignItems!: AlignItemsType;\r\n\r\n  /**\r\n   * @description This aligns a flex container’s lines within when there is extra space in the cross-axis, similar to how justify-content aligns individual items within the main-axis.\r\n   *\r\n   * Note: This property only takes effect on multi-line flexible containers, where flex-wrap is set to either wrap or wrap-reverse).\r\n   * A single-line flexible container (i.e. where flex-wrap is set to its default value, no-wrap) will not reflect align-content.\r\n   * @author IDNAN.HAIDER\r\n   */\r\n  @Input() alignContent!: AlignContentType;\r\n\r\n  /**\r\n   * @description The gap property explicitly controls the space between flex items.\r\n   * It applies that spacing only between items not on the outer edges.\r\n   * The behavior could be thought of as a minimum gutter, as if the gutter is bigger somehow (because of something like justify-content: space-between;) then the gap will only take effect if that space would end up smaller.\r\n   * It is not exclusively for flex-box, gap works in grid and multi-column layout as well.\r\n   * @author IDNAN.HAIDER\r\n   */\r\n  @Input() gap!: GapType;\r\n\r\n  /**\r\n   * Creates an instance of FlexDirective.\r\n   * @author IDNAN.HAIDER\r\n   * @param elementRef\r\n   */\r\n  constructor(private readonly elementRef: ElementRef) {}\r\n\r\n  /**\r\n   * @description setting the properties if value is changed dynamically\r\n   * @author IDNAN.HAIDER\r\n   * @param changes\r\n   */\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    this.setProperties();\r\n  }\r\n\r\n  /**\r\n   * @description setting css after view init\r\n   * @author IDNAN.HAIDER\r\n   */\r\n  ngAfterViewInit(): void {\r\n    this.elementRef.nativeElement.style.display = 'flex';\r\n    this.setProperties();\r\n  }\r\n\r\n  /**\r\n   * @description This method is to set given input properties\r\n   * @author IDNAN.HAIDER\r\n   * @private\r\n   */\r\n  private setProperties() {\r\n    this.elementRef.nativeElement.style.flexDirection =\r\n      this.flexDirection || 'row';\r\n    if (this.flexFlow)\r\n      this.elementRef.nativeElement.style.flexFlow = this.flexFlow;\r\n    if (this.flexWrap)\r\n      this.elementRef.nativeElement.style.flexWrap = this.flexWrap;\r\n    if (this.justifyContent)\r\n      this.elementRef.nativeElement.style.justifyContent = this.justifyContent;\r\n    if (this.alignItems)\r\n      this.elementRef.nativeElement.style.alignItems = this.alignItems;\r\n    if (this.alignContent)\r\n      this.elementRef.nativeElement.style.alignContent = this.alignContent;\r\n    if (this.gap) this.elementRef.nativeElement.style.gap = this.gap;\r\n  }\r\n}\r\n","import {\r\n  AfterViewInit,\r\n  Directive,\r\n  ElementRef,\r\n  Input,\r\n  OnChanges,\r\n  SimpleChanges,\r\n} from '@angular/core';\r\nimport { FontSizeValueType } from '../Interfaces/utility.interface';\r\n\r\n@Directive({ selector: '[ihFS]' })\r\nexport class FontSizeDirective implements AfterViewInit, OnChanges {\r\n  // Input for font size\r\n  @Input() ihFS!: FontSizeValueType;\r\n\r\n  /**\r\n   * Creates an instance of FontSizeDirective.\r\n   * @author IDNAN.HAIDER\r\n   * @param elementRef\r\n   */\r\n  constructor(private readonly elementRef: ElementRef) {}\r\n\r\n  /**\r\n   * @description setting the font size if value is changed dynamically\r\n   * @author IDNAN.HAIDER\r\n   * @param changes\r\n   */\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    if (changes['ihFS']) this.setFontSize();\r\n  }\r\n\r\n  /**\r\n   * @description setting css after view init\r\n   * @author IDNAN.HAIDER\r\n   */\r\n  ngAfterViewInit(): void {\r\n    // Setting font size if font size value is provided\r\n    this.setFontSize();\r\n  }\r\n\r\n  /**\r\n   * @description\r\n   * @author IDNAN.HAIDER\r\n   * @private\r\n   */\r\n  private setFontSize() {\r\n    if (this.ihFS) this.elementRef.nativeElement.style.fontSize = this.ihFS;\r\n  }\r\n}\r\n","import {\r\n  AfterViewInit,\r\n  Directive,\r\n  ElementRef,\r\n  Input,\r\n  OnChanges,\r\n  SimpleChanges,\r\n} from '@angular/core';\r\nimport { FontWeightValueType } from '../Interfaces/utility.interface';\r\n\r\n@Directive({ selector: '[ihFW]' })\r\nexport class FontWeightDirective implements AfterViewInit, OnChanges {\r\n  // Input for font-weight\r\n  @Input() ihFW!: FontWeightValueType;\r\n\r\n  /**\r\n   * Creates an instance of FontWeightDirective.\r\n   * @author IDNAN.HAIDER\r\n   * @param elementRef\r\n   */\r\n  constructor(private readonly elementRef: ElementRef) {}\r\n\r\n  /**\r\n   * @description  setting the font-weight if value is changed dynamically\r\n   * @author IDNAN.HAIDER\r\n   * @param changes\r\n   */\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    if (changes['ihFW']) this.setFontWeight();\r\n  }\r\n\r\n  /**\r\n   * @description setting css after view init\r\n   * @author IDNAN.HAIDER\r\n   */\r\n  ngAfterViewInit(): void {\r\n    // Setting font weight if font weight value is provided\r\n    this.setFontWeight();\r\n  }\r\n\r\n  /**\r\n   * @description\r\n   * @author IDNAN.HAIDER\r\n   * @private\r\n   */\r\n  private setFontWeight() {\r\n    if (this.ihFW) this.elementRef.nativeElement.style.fontWeight = this.ihFW;\r\n  }\r\n}\r\n","import {\r\n  AfterViewInit,\r\n  Directive,\r\n  ElementRef,\r\n  Input,\r\n  OnChanges,\r\n  SimpleChanges,\r\n} from '@angular/core';\r\nimport { HeightWidthValueType } from '../Interfaces/utility.interface';\r\n\r\n@Directive({ selector: '[ihHW]' })\r\nexport class HeightWidthDirective implements AfterViewInit, OnChanges {\r\n  // Input for padding\r\n  @Input() hValue!: HeightWidthValueType;\r\n  // Input for margin\r\n  @Input() wValue!: HeightWidthValueType;\r\n\r\n  /**\r\n   * Creates an instance of HeightWidthDirective.\r\n   * @author IDNAN.HAIDER\r\n   * @param elementRef\r\n   */\r\n  constructor(private readonly elementRef: ElementRef) {}\r\n\r\n  /**\r\n   * @description  setting the height or width if value is changed dynamically\r\n   * @author IDNAN.HAIDER\r\n   * @param changes\r\n   */\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    if (changes['hValue'] || changes['wValue']) this.setHeightWidth();\r\n  }\r\n\r\n  /**\r\n   * @description setting css after view init\r\n   * @author IDNAN.HAIDER\r\n   */\r\n  ngAfterViewInit(): void {\r\n    this.setHeightWidth();\r\n  }\r\n\r\n  /**\r\n   * @description\r\n   * @author IDNAN.HAIDER\r\n   * @private\r\n   */\r\n  private setHeightWidth() {\r\n    // Setting height if height value is provided\r\n    if (this.hValue) this.elementRef.nativeElement.style.height = this.hValue;\r\n\r\n    // Setting width if width value is provided\r\n    if (this.wValue) this.elementRef.nativeElement.style.width = this.wValue;\r\n  }\r\n}\r\n","import {\r\n  AfterViewInit,\r\n  Directive,\r\n  ElementRef,\r\n  Input,\r\n  SimpleChanges,\r\n} from '@angular/core';\r\nimport { PaddingMarginValueType } from '../Interfaces/utility.interface';\r\n\r\n@Directive({ selector: '[ihPM]' })\r\nexport class PaddingMarginDirective implements AfterViewInit {\r\n  // Input for padding\r\n  @Input() pValue!: PaddingMarginValueType;\r\n  // Input for margin\r\n  @Input() mValue!: PaddingMarginValueType;\r\n\r\n  /**\r\n   * Creates an instance of PMDirective.\r\n   * @author IDNAN.HAIDER\r\n   * @param elementRef\r\n   */\r\n  constructor(private readonly elementRef: ElementRef) {}\r\n\r\n  /**\r\n   * @description  setting the padding or margin if value is changed dynamically\r\n   * @author IDNAN.HAIDER\r\n   * @param changes\r\n   */\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    if (changes['pValue'] || changes['mValue']) this.setPaddingMargin();\r\n  }\r\n\r\n  /**\r\n   * @description setting css after view init\r\n   * @author IDNAN.HAIDER\r\n   */\r\n  ngAfterViewInit(): void {\r\n    this.setPaddingMargin();\r\n  }\r\n\r\n  /**\r\n   * @description\r\n   * @author IDNAN.HAIDER\r\n   * @private\r\n   */\r\n  private setPaddingMargin() {\r\n    // Setting padding if padding value is provided\r\n    if (this.pValue) this.elementRef.nativeElement.style.padding = this.pValue;\r\n\r\n    // Setting margin if margin value is provided\r\n    if (this.mValue) this.elementRef.nativeElement.style.margin = this.mValue;\r\n  }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { BorderRadiusDirective } from './directives/border-radius.directive';\r\nimport { FlexDirective } from './directives/flex.directive';\r\nimport { FontSizeDirective } from './directives/font-size.directive';\r\nimport { FontWeightDirective } from './directives/font-weight.directive';\r\nimport { HeightWidthDirective } from './directives/height-width.directive';\r\nimport { PaddingMarginDirective } from './directives/padding-margin.directive';\r\n\r\nconst directives = [\r\n  PaddingMarginDirective,\r\n  BorderRadiusDirective,\r\n  HeightWidthDirective,\r\n  FontWeightDirective,\r\n  FontSizeDirective,\r\n  FlexDirective,\r\n];\r\n\r\n@NgModule({\r\n  declarations: [...directives],\r\n  imports: [],\r\n  exports: [...directives],\r\n})\r\nexport class IHCssUtilityModule {}\r\n","/*\r\n * Public API Surface of ih-ng-css-utility\r\n */\r\n\r\nexport * from './lib/directives/border-radius.directive';\r\nexport * from './lib/directives/flex.directive';\r\nexport * from './lib/directives/font-size.directive';\r\nexport * from './lib/directives/font-weight.directive';\r\nexport * from './lib/directives/height-width.directive';\r\nexport * from './lib/directives/padding-margin.directive';\r\nexport * from './lib/ih-ng-css-utility.module';\r\nexport * from './lib/Interfaces/flex.interface';\r\nexport * from './lib/Interfaces/utility.interface';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}