{"version":3,"file":"lucca-front-ng-grid.mjs","sources":["../../../packages/ng/grid/grid.token.ts","../../../packages/ng/grid/grid-column/grid-column.component.ts","../../../packages/ng/grid/grid.component.ts","../../../packages/ng/grid/grid.component.html","../../../packages/ng/grid/lucca-front-ng-grid.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { GridComponent } from './grid.component';\n\nexport const LU_GRID_INSTANCE = new InjectionToken<GridComponent>('LU_GRID_INSTANCE');\n","import { ChangeDetectionStrategy, Component, computed, inject, input, numberAttribute, ViewEncapsulation } from '@angular/core';\nimport { ResponsiveConfig } from '@lucca-front/ng/core';\nimport { LU_GRID_INSTANCE } from '../grid.token';\n\n@Component({\n\tselector: 'lu-grid-column, [lu-grid-column]',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'grid-column',\n\t\t'[style]': 'style()',\n\t},\n})\nexport class GridColumnComponent {\n\treadonly colspan = input(null, { transform: numberAttribute });\n\treadonly rowspan = input(null, { transform: numberAttribute });\n\treadonly column = input(null, { transform: numberAttribute });\n\treadonly row = input(null, { transform: numberAttribute });\n\treadonly align = input<'start' | 'center' | 'end' | 'auto' | null>(null);\n\treadonly justify = input<'start' | 'center' | 'end' | 'auto' | null>(null);\n\n\treadonly responsive = input<ResponsiveConfig<'row' | 'column' | 'rowspan' | 'colspan', number>>({});\n\n\tprotected gridRef = inject(LU_GRID_INSTANCE);\n\n\treadonly style = computed(() => {\n\t\treturn {\n\t\t\t'--grid-colspan': this.colspan() || this.gridRef.colspan(),\n\t\t\t'--grid-rowspan': this.rowspan() || this.gridRef.rowspan(),\n\t\t\t'--grid-column': this.column(),\n\t\t\t'--grid-row': this.row(),\n\t\t\t'--grid-align': this.align(),\n\t\t\t'--grid-justify': this.justify(),\n\t\t\t...Object.entries(this.responsive()).reduce((acc, [key, value]) => {\n\t\t\t\treturn {\n\t\t\t\t\t...acc,\n\t\t\t\t\t[`--grid-${key}`]: value,\n\t\t\t\t};\n\t\t\t}, {}),\n\t\t};\n\t});\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, forwardRef, input, numberAttribute, ViewEncapsulation } from '@angular/core';\nimport { ResponsiveProperty } from '@lucca-front/ng/core';\nimport { LU_GRID_INSTANCE } from './grid.token';\n\n@Component({\n\tselector: 'lu-grid, [lu-grid]',\n\ttemplateUrl: './grid.component.html',\n\tstyleUrls: ['./grid.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgTemplateOutlet],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_GRID_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => GridComponent),\n\t\t},\n\t],\n})\nexport class GridComponent {\n\treadonly container = input(false, { transform: booleanAttribute });\n\n\treadonly columns = input(null, { transform: numberAttribute });\n\n\treadonly colspan = input(null, { transform: numberAttribute });\n\n\treadonly rowspan = input(null, { transform: numberAttribute });\n\n\treadonly mode = input<'form' | 'auto' | ResponsiveProperty<'auto'> | null>(null);\n\n\treadonly gap = input<Gap | null>(null);\n\treadonly columnGap = input<Gap | null>(null);\n\n\treadonly rowGap = input<Gap | null>(null);\n\n\t#gapTransform = (gap: Gap | null): string | null => {\n\t\tconst spacingRegexp = /.*(\\d)$/g;\n\n\t\tif (!gap) {\n\t\t\treturn null;\n\t\t}\n\t\tif (spacingRegexp.test(gap)) {\n\t\t\treturn `var(--pr-t-spacings-${gap})`;\n\t\t}\n\t\treturn gap;\n\t};\n\n\tprotected readonly gridStyle = computed(() => ({\n\t\t'--grid-columns': this.mode() === null ? this.columns() : null,\n\t\t'--grid-gap': this.#gapTransform(this.gap()),\n\t\t'--grid-column-gap': this.#gapTransform(this.columnGap()),\n\t\t'--grid-row-gap': this.#gapTransform(this.rowGap()),\n\t}));\n}\n\nexport type Gap = '0' | '25' | '50' | '75' | '100' | '150' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | `${number}${string}`;\n","@if (container()) {\n\t<div class=\"grid-containerWrapper\">\n\t\t<ng-container *ngTemplateOutlet=\"content\" />\n\t</div>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"content\" />\n}\n\n<ng-template #content>\n\t<div class=\"grid\" [class]=\"mode() && `mod-${mode()}`\" [style]=\"gridStyle()\">\n\t\t<ng-content />\n\t</div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}