@arsedizioni/ars-utils 21.2.220 → 21.2.222

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1816,67 +1816,103 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
1816
1816
  }], ctorParameters: () => [], propDecorators: { fxFlexFill: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill", required: false }] }], fxFill: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFill", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.xxl", required: false }] }], ltSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.lt-sm", required: false }] }], ltMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.lt-md", required: false }] }], ltLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.lt-lg", required: false }] }], ltXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.lt-xl", required: false }] }], ltXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.lt-xxl", required: false }] }], gtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.gt-xs", required: false }] }], gtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.gt-sm", required: false }] }], gtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.gt-md", required: false }] }], gtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.gt-lg", required: false }] }], gtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.gt-xl", required: false }] }], smUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.sm-up", required: false }] }], mdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.md-up", required: false }] }], lgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.lg-up", required: false }] }], xlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.xl-up", required: false }] }], xxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.xxl-up", required: false }] }], smDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.sm-down", required: false }] }], mdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.md-down", required: false }] }], lgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.lg-down", required: false }] }], xlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlexFill.xl-down", required: false }] }] } });
1817
1817
 
1818
1818
  /**
1819
- * @file fx-layout-align.directive.ts (Angular 21 — signals)
1820
- *
1821
- * [fxLayoutAlign] — sets justify-content + align-items on a flex container.
1819
+ * @file fx-flex.directive.ts (Angular 21 signals)
1822
1820
  *
1823
- * Format: "mainAxis crossAxis"
1824
- * mainAxis : start | center | end | space-between | space-around | space-evenly
1825
- * crossAxis : start | center | end | stretch | baseline (default: stretch)
1821
+ * [fxFlex] — flex shorthand on a flex child element.
1826
1822
  *
1827
1823
  * Angular 21 changes:
1828
- * • All @Input setters replaced by input() signals
1829
- * • computed() derives the resolved CSS pair
1830
- * • effect() in constructor writes to DOM
1824
+ * All @Input setters replaced by input() signals
1825
+ * computed() builds the BpValues / NcValues maps reactively
1826
+ * effect() in constructor writes to the DOM — no lifecycle hooks needed
1827
+ * • resolveAll() is the pure function from responsive-base.directive.ts
1831
1828
  *
1832
- * Breakpoint suffixes: canonical + lt-* + gt-* + *-up + *-down
1829
+ * Accepted values:
1830
+ * (empty) → flex: 1 1 0%
1831
+ * "auto" → flex: 1 1 auto
1832
+ * "none" → flex: none
1833
+ * "grow" → flex: 1 1 100%
1834
+ * "nogrow" → flex: 0 1 auto
1835
+ * "noshrink" → flex: 1 0 auto
1836
+ * "50%" → flex: 1 1 50%
1837
+ * "50" → flex: 1 1 50% (unitless normalized to %)
1838
+ * "200px" → flex: 1 1 200px
1839
+ * "0 0 200px" → flex: 0 0 200px (full shorthand passthrough)
1840
+ *
1841
+ * Breakpoint suffixes:
1842
+ * Canonical : .xs .sm .md .lg .xl .xxl
1843
+ * lt-* : .lt-sm .lt-md .lt-lg .lt-xl .lt-xxl
1844
+ * gt-* : .gt-xs .gt-sm .gt-md .gt-lg .gt-xl
1845
+ * *-up : .sm-up .md-up .lg-up .xl-up .xxl-up
1846
+ * *-down : .sm-down .md-down .lg-down .xl-down
1833
1847
  */
1834
- const MAIN_MAP = {
1835
- 'start': 'flex-start', 'end': 'flex-end', 'center': 'center',
1836
- 'space-between': 'space-between', 'space-around': 'space-around', 'space-evenly': 'space-evenly',
1837
- };
1838
- const CROSS_MAP = {
1839
- 'start': 'flex-start', 'end': 'flex-end', 'center': 'center',
1840
- 'stretch': 'stretch', 'baseline': 'baseline',
1841
- };
1842
- function parseAlign(raw) {
1843
- const [main = 'start', cross = 'stretch'] = raw.trim().split(/\s+/);
1844
- if (isDevMode() && !MAIN_MAP[main])
1845
- console.warn(`[fxLayoutAlign] Unknown mainAxis: "${main}"`);
1846
- if (isDevMode() && !CROSS_MAP[cross])
1847
- console.warn(`[fxLayoutAlign] Unknown crossAxis: "${cross}"`);
1848
- return [MAIN_MAP[main] ?? 'flex-start', CROSS_MAP[cross] ?? 'stretch'];
1848
+ function toFlexCss(raw) {
1849
+ if (raw === undefined || raw === '' || raw === '*')
1850
+ return '1 1 auto';
1851
+ if (raw === 'none')
1852
+ return 'none';
1853
+ if (raw === 'auto')
1854
+ return '1 1 auto';
1855
+ if (raw === 'grow')
1856
+ return '1 1 100%';
1857
+ if (raw === 'nogrow')
1858
+ return '0 1 auto';
1859
+ if (raw === 'noshrink')
1860
+ return '1 0 auto';
1861
+ const parts = raw.trim().split(/\s+/);
1862
+ if (parts.length === 3)
1863
+ return raw.trim();
1864
+ let basis = parts[0];
1865
+ if (/^\d+(\.\d+)?$/.test(basis))
1866
+ basis = basis + '%';
1867
+ // Fixed units (px, em, rem, vh, vw…) → 0 0 (no grow/shrink); % → 1 1
1868
+ const fixed = /px|em|rem|vh|vw|vmin|vmax|ch|ex|cm|mm|in|pt|pc/.test(basis);
1869
+ return `${fixed ? '0 0' : '1 1'} ${basis}`;
1849
1870
  }
1850
- class FxLayoutAlignDirective extends ResponsiveBaseDirective {
1871
+ /** Returns true if any sibling element in the same parent has fxFlex="*" */
1872
+ function parentHasStar(el) {
1873
+ const parent = el.parentElement;
1874
+ if (!parent)
1875
+ return false;
1876
+ return Array.from(parent.children).some(c => c !== el && (c.getAttribute('fxflex') === '*' || c.getAttribute('fxFlex') === '*'));
1877
+ }
1878
+ class FxFlexDirective extends ResponsiveBaseDirective {
1851
1879
  constructor() {
1852
1880
  super();
1853
- this.fxLayoutAlign = input(undefined, { ...(ngDevMode ? { debugName: "fxLayoutAlign" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign' });
1854
- this.xs = input(undefined, { ...(ngDevMode ? { debugName: "xs" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.xs' });
1855
- this.sm = input(undefined, { ...(ngDevMode ? { debugName: "sm" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.sm' });
1856
- this.md = input(undefined, { ...(ngDevMode ? { debugName: "md" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.md' });
1857
- this.lg = input(undefined, { ...(ngDevMode ? { debugName: "lg" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.lg' });
1858
- this.xl = input(undefined, { ...(ngDevMode ? { debugName: "xl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.xl' });
1859
- this.xxl = input(undefined, { ...(ngDevMode ? { debugName: "xxl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.xxl' });
1860
- this.ltSm = input(undefined, { ...(ngDevMode ? { debugName: "ltSm" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.lt-sm' });
1861
- this.ltMd = input(undefined, { ...(ngDevMode ? { debugName: "ltMd" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.lt-md' });
1862
- this.ltLg = input(undefined, { ...(ngDevMode ? { debugName: "ltLg" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.lt-lg' });
1863
- this.ltXl = input(undefined, { ...(ngDevMode ? { debugName: "ltXl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.lt-xl' });
1864
- this.ltXxl = input(undefined, { ...(ngDevMode ? { debugName: "ltXxl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.lt-xxl' });
1865
- this.gtXs = input(undefined, { ...(ngDevMode ? { debugName: "gtXs" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.gt-xs' });
1866
- this.gtSm = input(undefined, { ...(ngDevMode ? { debugName: "gtSm" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.gt-sm' });
1867
- this.gtMd = input(undefined, { ...(ngDevMode ? { debugName: "gtMd" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.gt-md' });
1868
- this.gtLg = input(undefined, { ...(ngDevMode ? { debugName: "gtLg" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.gt-lg' });
1869
- this.gtXl = input(undefined, { ...(ngDevMode ? { debugName: "gtXl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.gt-xl' });
1870
- this.smUp = input(undefined, { ...(ngDevMode ? { debugName: "smUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.sm-up' });
1871
- this.mdUp = input(undefined, { ...(ngDevMode ? { debugName: "mdUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.md-up' });
1872
- this.lgUp = input(undefined, { ...(ngDevMode ? { debugName: "lgUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.lg-up' });
1873
- this.xlUp = input(undefined, { ...(ngDevMode ? { debugName: "xlUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.xl-up' });
1874
- this.xxlUp = input(undefined, { ...(ngDevMode ? { debugName: "xxlUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.xxl-up' });
1875
- this.smDown = input(undefined, { ...(ngDevMode ? { debugName: "smDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.sm-down' });
1876
- this.mdDown = input(undefined, { ...(ngDevMode ? { debugName: "mdDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.md-down' });
1877
- this.lgDown = input(undefined, { ...(ngDevMode ? { debugName: "lgDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.lg-down' });
1878
- this.xlDown = input(undefined, { ...(ngDevMode ? { debugName: "xlDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.xl-down' });
1879
- this._parsed = computed(() => parseAlign(resolveAll({ default: this.fxLayoutAlign(), xs: this.xs(), sm: this.sm(), md: this.md(),
1881
+ // ── Canonical signal inputs ───────────────────────────────────────────────
1882
+ this.fxFlex = input(undefined, { ...(ngDevMode ? { debugName: "fxFlex" } : /* istanbul ignore next */ {}), alias: 'fxFlex' });
1883
+ this.xs = input(undefined, { ...(ngDevMode ? { debugName: "xs" } : /* istanbul ignore next */ {}), alias: 'fxFlex.xs' });
1884
+ this.sm = input(undefined, { ...(ngDevMode ? { debugName: "sm" } : /* istanbul ignore next */ {}), alias: 'fxFlex.sm' });
1885
+ this.md = input(undefined, { ...(ngDevMode ? { debugName: "md" } : /* istanbul ignore next */ {}), alias: 'fxFlex.md' });
1886
+ this.lg = input(undefined, { ...(ngDevMode ? { debugName: "lg" } : /* istanbul ignore next */ {}), alias: 'fxFlex.lg' });
1887
+ this.xl = input(undefined, { ...(ngDevMode ? { debugName: "xl" } : /* istanbul ignore next */ {}), alias: 'fxFlex.xl' });
1888
+ this.xxl = input(undefined, { ...(ngDevMode ? { debugName: "xxl" } : /* istanbul ignore next */ {}), alias: 'fxFlex.xxl' });
1889
+ // ── lt-* ─────────────────────────────────────────────────────────────────
1890
+ this.ltSm = input(undefined, { ...(ngDevMode ? { debugName: "ltSm" } : /* istanbul ignore next */ {}), alias: 'fxFlex.lt-sm' });
1891
+ this.ltMd = input(undefined, { ...(ngDevMode ? { debugName: "ltMd" } : /* istanbul ignore next */ {}), alias: 'fxFlex.lt-md' });
1892
+ this.ltLg = input(undefined, { ...(ngDevMode ? { debugName: "ltLg" } : /* istanbul ignore next */ {}), alias: 'fxFlex.lt-lg' });
1893
+ this.ltXl = input(undefined, { ...(ngDevMode ? { debugName: "ltXl" } : /* istanbul ignore next */ {}), alias: 'fxFlex.lt-xl' });
1894
+ this.ltXxl = input(undefined, { ...(ngDevMode ? { debugName: "ltXxl" } : /* istanbul ignore next */ {}), alias: 'fxFlex.lt-xxl' });
1895
+ // ── gt-* ─────────────────────────────────────────────────────────────────
1896
+ this.gtXs = input(undefined, { ...(ngDevMode ? { debugName: "gtXs" } : /* istanbul ignore next */ {}), alias: 'fxFlex.gt-xs' });
1897
+ this.gtSm = input(undefined, { ...(ngDevMode ? { debugName: "gtSm" } : /* istanbul ignore next */ {}), alias: 'fxFlex.gt-sm' });
1898
+ this.gtMd = input(undefined, { ...(ngDevMode ? { debugName: "gtMd" } : /* istanbul ignore next */ {}), alias: 'fxFlex.gt-md' });
1899
+ this.gtLg = input(undefined, { ...(ngDevMode ? { debugName: "gtLg" } : /* istanbul ignore next */ {}), alias: 'fxFlex.gt-lg' });
1900
+ this.gtXl = input(undefined, { ...(ngDevMode ? { debugName: "gtXl" } : /* istanbul ignore next */ {}), alias: 'fxFlex.gt-xl' });
1901
+ // ── *-up ─────────────────────────────────────────────────────────────────
1902
+ this.smUp = input(undefined, { ...(ngDevMode ? { debugName: "smUp" } : /* istanbul ignore next */ {}), alias: 'fxFlex.sm-up' });
1903
+ this.mdUp = input(undefined, { ...(ngDevMode ? { debugName: "mdUp" } : /* istanbul ignore next */ {}), alias: 'fxFlex.md-up' });
1904
+ this.lgUp = input(undefined, { ...(ngDevMode ? { debugName: "lgUp" } : /* istanbul ignore next */ {}), alias: 'fxFlex.lg-up' });
1905
+ this.xlUp = input(undefined, { ...(ngDevMode ? { debugName: "xlUp" } : /* istanbul ignore next */ {}), alias: 'fxFlex.xl-up' });
1906
+ this.xxlUp = input(undefined, { ...(ngDevMode ? { debugName: "xxlUp" } : /* istanbul ignore next */ {}), alias: 'fxFlex.xxl-up' });
1907
+ // ── *-down ───────────────────────────────────────────────────────────────
1908
+ this.smDown = input(undefined, { ...(ngDevMode ? { debugName: "smDown" } : /* istanbul ignore next */ {}), alias: 'fxFlex.sm-down' });
1909
+ this.mdDown = input(undefined, { ...(ngDevMode ? { debugName: "mdDown" } : /* istanbul ignore next */ {}), alias: 'fxFlex.md-down' });
1910
+ this.lgDown = input(undefined, { ...(ngDevMode ? { debugName: "lgDown" } : /* istanbul ignore next */ {}), alias: 'fxFlex.lg-down' });
1911
+ this.xlDown = input(undefined, { ...(ngDevMode ? { debugName: "xlDown" } : /* istanbul ignore next */ {}), alias: 'fxFlex.xl-down' });
1912
+ // ── Derived CSS value ──────────────────────────────────────────────────────
1913
+ // Inlined single computed: Angular tracks each input() individually,
1914
+ // so _flexCss only recomputes when a signal it actually reads changes.
1915
+ this._rawFlex = computed(() => resolveAll({ default: this.fxFlex(), xs: this.xs(), sm: this.sm(), md: this.md(),
1880
1916
  lg: this.lg(), xl: this.xl(), xxl: this.xxl() }, { 'lt-sm': this.ltSm(), 'lt-md': this.ltMd(), 'lt-lg': this.ltLg(),
1881
1917
  'lt-xl': this.ltXl(), 'lt-xxl': this.ltXxl(),
1882
1918
  'gt-xs': this.gtXs(), 'gt-sm': this.gtSm(), 'gt-md': this.gtMd(),
@@ -1884,313 +1920,714 @@ class FxLayoutAlignDirective extends ResponsiveBaseDirective {
1884
1920
  'sm-up': this.smUp(), 'md-up': this.mdUp(), 'lg-up': this.lgUp(),
1885
1921
  'xl-up': this.xlUp(), 'xxl-up': this.xxlUp(),
1886
1922
  'sm-down': this.smDown(), 'md-down': this.mdDown(),
1887
- 'lg-down': this.lgDown(), 'xl-down': this.xlDown() }, this.media.currentBp(), a => this.media.isActive(a)) ?? 'start stretch'), ...(ngDevMode ? [{ debugName: "_parsed" }] : /* istanbul ignore next */ []));
1923
+ 'lg-down': this.lgDown(), 'xl-down': this.xlDown() }, this.media.currentBp(), a => this.media.isActive(a)), ...(ngDevMode ? [{ debugName: "_rawFlex" }] : /* istanbul ignore next */ []));
1888
1924
  effect(() => {
1889
- const [jc, ai] = this._parsed();
1890
- // fxLayoutAlign implies a flex container set display:flex if not already
1891
- // set by fxLayout (which uses host binding). This makes fxLayoutAlign work
1892
- // standalone (e.g. <div fxFlex="*" fxLayoutAlign="end">).
1893
- this.r2.setStyle(this.el.nativeElement, 'display', 'flex');
1894
- this.safeSetStyle('justify-content', jc);
1895
- this.safeSetStyle('align-items', ai);
1925
+ const raw = this._rawFlex();
1926
+ // undefined means no rule matched the current breakpoint (e.g. only fxFlex.lt-md="100"
1927
+ // is set and the current bp is lg+). Remove flex entirely so the browser default
1928
+ // (flex: 0 1 auto) applies and justify-content can distribute the remaining space.
1929
+ if (raw === undefined) {
1930
+ this.safeSetStyle('flex', null);
1931
+ this.safeSetStyle('box-sizing', null);
1932
+ return;
1933
+ }
1934
+ // empty string / "*" → equal distribution (1 1 auto), unless a star-sibling is present
1935
+ const css = raw === ''
1936
+ ? (parentHasStar(this.el.nativeElement) ? '0 0 auto' : '1 1 auto')
1937
+ : toFlexCss(raw);
1938
+ this.safeSetStyle('flex', css);
1939
+ this.safeSetStyle('box-sizing', 'border-box');
1896
1940
  });
1897
1941
  }
1898
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxLayoutAlignDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1899
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxLayoutAlignDirective, isStandalone: true, selector: "\n [fxLayoutAlign],\n [fxLayoutAlign.xs],[fxLayoutAlign.sm],[fxLayoutAlign.md],[fxLayoutAlign.lg],[fxLayoutAlign.xl],[fxLayoutAlign.xxl],\n [fxLayoutAlign.lt-sm],[fxLayoutAlign.lt-md],[fxLayoutAlign.lt-lg],[fxLayoutAlign.lt-xl],[fxLayoutAlign.lt-xxl],\n [fxLayoutAlign.gt-xs],[fxLayoutAlign.gt-sm],[fxLayoutAlign.gt-md],[fxLayoutAlign.gt-lg],[fxLayoutAlign.gt-xl],\n [fxLayoutAlign.sm-up],[fxLayoutAlign.md-up],[fxLayoutAlign.lg-up],[fxLayoutAlign.xl-up],[fxLayoutAlign.xxl-up],\n [fxLayoutAlign.sm-down],[fxLayoutAlign.md-down],[fxLayoutAlign.lg-down],[fxLayoutAlign.xl-down]\n ", inputs: { fxLayoutAlign: { classPropertyName: "fxLayoutAlign", publicName: "fxLayoutAlign", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "fxLayoutAlign.xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "fxLayoutAlign.sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "fxLayoutAlign.md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "fxLayoutAlign.lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "fxLayoutAlign.xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "fxLayoutAlign.xxl", isSignal: true, isRequired: false, transformFunction: null }, ltSm: { classPropertyName: "ltSm", publicName: "fxLayoutAlign.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, ltMd: { classPropertyName: "ltMd", publicName: "fxLayoutAlign.lt-md", isSignal: true, isRequired: false, transformFunction: null }, ltLg: { classPropertyName: "ltLg", publicName: "fxLayoutAlign.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, ltXl: { classPropertyName: "ltXl", publicName: "fxLayoutAlign.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, ltXxl: { classPropertyName: "ltXxl", publicName: "fxLayoutAlign.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gtXs: { classPropertyName: "gtXs", publicName: "fxLayoutAlign.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gtSm: { classPropertyName: "gtSm", publicName: "fxLayoutAlign.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gtMd: { classPropertyName: "gtMd", publicName: "fxLayoutAlign.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gtLg: { classPropertyName: "gtLg", publicName: "fxLayoutAlign.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gtXl: { classPropertyName: "gtXl", publicName: "fxLayoutAlign.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, smUp: { classPropertyName: "smUp", publicName: "fxLayoutAlign.sm-up", isSignal: true, isRequired: false, transformFunction: null }, mdUp: { classPropertyName: "mdUp", publicName: "fxLayoutAlign.md-up", isSignal: true, isRequired: false, transformFunction: null }, lgUp: { classPropertyName: "lgUp", publicName: "fxLayoutAlign.lg-up", isSignal: true, isRequired: false, transformFunction: null }, xlUp: { classPropertyName: "xlUp", publicName: "fxLayoutAlign.xl-up", isSignal: true, isRequired: false, transformFunction: null }, xxlUp: { classPropertyName: "xxlUp", publicName: "fxLayoutAlign.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, smDown: { classPropertyName: "smDown", publicName: "fxLayoutAlign.sm-down", isSignal: true, isRequired: false, transformFunction: null }, mdDown: { classPropertyName: "mdDown", publicName: "fxLayoutAlign.md-down", isSignal: true, isRequired: false, transformFunction: null }, lgDown: { classPropertyName: "lgDown", publicName: "fxLayoutAlign.lg-down", isSignal: true, isRequired: false, transformFunction: null }, xlDown: { classPropertyName: "xlDown", publicName: "fxLayoutAlign.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
1942
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxFlexDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1943
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxFlexDirective, isStandalone: true, selector: "\n [fxFlex],\n [fxFlex.xs],[fxFlex.sm],[fxFlex.md],[fxFlex.lg],[fxFlex.xl],[fxFlex.xxl],\n [fxFlex.lt-sm],[fxFlex.lt-md],[fxFlex.lt-lg],[fxFlex.lt-xl],[fxFlex.lt-xxl],\n [fxFlex.gt-xs],[fxFlex.gt-sm],[fxFlex.gt-md],[fxFlex.gt-lg],[fxFlex.gt-xl],\n [fxFlex.sm-up],[fxFlex.md-up],[fxFlex.lg-up],[fxFlex.xl-up],[fxFlex.xxl-up],\n [fxFlex.sm-down],[fxFlex.md-down],[fxFlex.lg-down],[fxFlex.xl-down]\n ", inputs: { fxFlex: { classPropertyName: "fxFlex", publicName: "fxFlex", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "fxFlex.xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "fxFlex.sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "fxFlex.md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "fxFlex.lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "fxFlex.xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "fxFlex.xxl", isSignal: true, isRequired: false, transformFunction: null }, ltSm: { classPropertyName: "ltSm", publicName: "fxFlex.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, ltMd: { classPropertyName: "ltMd", publicName: "fxFlex.lt-md", isSignal: true, isRequired: false, transformFunction: null }, ltLg: { classPropertyName: "ltLg", publicName: "fxFlex.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, ltXl: { classPropertyName: "ltXl", publicName: "fxFlex.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, ltXxl: { classPropertyName: "ltXxl", publicName: "fxFlex.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gtXs: { classPropertyName: "gtXs", publicName: "fxFlex.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gtSm: { classPropertyName: "gtSm", publicName: "fxFlex.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gtMd: { classPropertyName: "gtMd", publicName: "fxFlex.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gtLg: { classPropertyName: "gtLg", publicName: "fxFlex.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gtXl: { classPropertyName: "gtXl", publicName: "fxFlex.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, smUp: { classPropertyName: "smUp", publicName: "fxFlex.sm-up", isSignal: true, isRequired: false, transformFunction: null }, mdUp: { classPropertyName: "mdUp", publicName: "fxFlex.md-up", isSignal: true, isRequired: false, transformFunction: null }, lgUp: { classPropertyName: "lgUp", publicName: "fxFlex.lg-up", isSignal: true, isRequired: false, transformFunction: null }, xlUp: { classPropertyName: "xlUp", publicName: "fxFlex.xl-up", isSignal: true, isRequired: false, transformFunction: null }, xxlUp: { classPropertyName: "xxlUp", publicName: "fxFlex.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, smDown: { classPropertyName: "smDown", publicName: "fxFlex.sm-down", isSignal: true, isRequired: false, transformFunction: null }, mdDown: { classPropertyName: "mdDown", publicName: "fxFlex.md-down", isSignal: true, isRequired: false, transformFunction: null }, lgDown: { classPropertyName: "lgDown", publicName: "fxFlex.lg-down", isSignal: true, isRequired: false, transformFunction: null }, xlDown: { classPropertyName: "xlDown", publicName: "fxFlex.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
1900
1944
  }
1901
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxLayoutAlignDirective, decorators: [{
1945
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxFlexDirective, decorators: [{
1902
1946
  type: Directive,
1903
1947
  args: [{
1904
- selector: `
1905
- [fxLayoutAlign],
1906
- [fxLayoutAlign.xs],[fxLayoutAlign.sm],[fxLayoutAlign.md],[fxLayoutAlign.lg],[fxLayoutAlign.xl],[fxLayoutAlign.xxl],
1907
- [fxLayoutAlign.lt-sm],[fxLayoutAlign.lt-md],[fxLayoutAlign.lt-lg],[fxLayoutAlign.lt-xl],[fxLayoutAlign.lt-xxl],
1908
- [fxLayoutAlign.gt-xs],[fxLayoutAlign.gt-sm],[fxLayoutAlign.gt-md],[fxLayoutAlign.gt-lg],[fxLayoutAlign.gt-xl],
1909
- [fxLayoutAlign.sm-up],[fxLayoutAlign.md-up],[fxLayoutAlign.lg-up],[fxLayoutAlign.xl-up],[fxLayoutAlign.xxl-up],
1910
- [fxLayoutAlign.sm-down],[fxLayoutAlign.md-down],[fxLayoutAlign.lg-down],[fxLayoutAlign.xl-down]
1948
+ selector: `
1949
+ [fxFlex],
1950
+ [fxFlex.xs],[fxFlex.sm],[fxFlex.md],[fxFlex.lg],[fxFlex.xl],[fxFlex.xxl],
1951
+ [fxFlex.lt-sm],[fxFlex.lt-md],[fxFlex.lt-lg],[fxFlex.lt-xl],[fxFlex.lt-xxl],
1952
+ [fxFlex.gt-xs],[fxFlex.gt-sm],[fxFlex.gt-md],[fxFlex.gt-lg],[fxFlex.gt-xl],
1953
+ [fxFlex.sm-up],[fxFlex.md-up],[fxFlex.lg-up],[fxFlex.xl-up],[fxFlex.xxl-up],
1954
+ [fxFlex.sm-down],[fxFlex.md-down],[fxFlex.lg-down],[fxFlex.xl-down]
1911
1955
  `,
1912
1956
  standalone: true,
1913
1957
  }]
1914
- }], ctorParameters: () => [], propDecorators: { fxLayoutAlign: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.xxl", required: false }] }], ltSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.lt-sm", required: false }] }], ltMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.lt-md", required: false }] }], ltLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.lt-lg", required: false }] }], ltXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.lt-xl", required: false }] }], ltXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.lt-xxl", required: false }] }], gtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.gt-xs", required: false }] }], gtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.gt-sm", required: false }] }], gtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.gt-md", required: false }] }], gtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.gt-lg", required: false }] }], gtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.gt-xl", required: false }] }], smUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.sm-up", required: false }] }], mdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.md-up", required: false }] }], lgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.lg-up", required: false }] }], xlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.xl-up", required: false }] }], xxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.xxl-up", required: false }] }], smDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.sm-down", required: false }] }], mdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.md-down", required: false }] }], lgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.lg-down", required: false }] }], xlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.xl-down", required: false }] }] } });
1958
+ }], ctorParameters: () => [], propDecorators: { fxFlex: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.xxl", required: false }] }], ltSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.lt-sm", required: false }] }], ltMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.lt-md", required: false }] }], ltLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.lt-lg", required: false }] }], ltXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.lt-xl", required: false }] }], ltXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.lt-xxl", required: false }] }], gtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.gt-xs", required: false }] }], gtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.gt-sm", required: false }] }], gtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.gt-md", required: false }] }], gtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.gt-lg", required: false }] }], gtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.gt-xl", required: false }] }], smUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.sm-up", required: false }] }], mdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.md-up", required: false }] }], lgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.lg-up", required: false }] }], xlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.xl-up", required: false }] }], xxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.xxl-up", required: false }] }], smDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.sm-down", required: false }] }], mdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.md-down", required: false }] }], lgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.lg-down", required: false }] }], xlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.xl-down", required: false }] }] } });
1915
1959
 
1916
1960
  /**
1917
- * @file fx-layout-gap.directive.ts (Angular 21 — signals)
1961
+ * @file fx-grid.directives.ts (Angular 21 signals)
1918
1962
  *
1919
- * [fxLayoutGap] — sets gap on a flex or grid container.
1920
- * Unitless numbers are normalized to px (e.g. "16" → "16px").
1963
+ * CSS Grid responsive directives.
1964
+ *
1965
+ * [fxGrid] — display:grid + responsive grid-template-columns.
1966
+ * Accepts [fxGridRows] and [fxGridGap] inputs on same host.
1967
+ * [fxGridColumn] — grid-column on a child
1968
+ * [fxGridArea] — grid-area on a child
1921
1969
  *
1922
1970
  * Angular 21 changes:
1923
- * • All @Input setters replaced by input() signals
1924
- * • computed() derives the normalized gap value
1925
- * • effect() in constructor writes to DOM
1971
+ * All @Input setters replaced by input() signals
1972
+ * FxGridDirective uses 3 pairs of computed() for cols/rows/gap maps
1973
+ * Single effect() in constructor writes all 3 CSS props
1974
+ * • Null/undefined props are removed (no style leak)
1975
+ *
1976
+ * Unitless numeric gap values are normalized to px ("16" → "16px").
1926
1977
  *
1927
1978
  * Breakpoint suffixes: canonical + lt-* + gt-* + *-up + *-down
1928
1979
  */
1929
1980
  function normalizeGap$1(raw) {
1981
+ if (!raw)
1982
+ return undefined;
1930
1983
  return raw.trim().split(/\s+/)
1931
1984
  .map(v => /^\d+(\.\d+)?$/.test(v) ? `${v}px` : v)
1932
1985
  .join(' ');
1933
1986
  }
1934
- class FxLayoutGapDirective extends ResponsiveBaseDirective {
1987
+ // ─── fxGrid (container) ──────────────────────────────────────────────────────
1988
+ class FxGridDirective extends ResponsiveBaseDirective {
1935
1989
  constructor() {
1936
1990
  super();
1937
- this.fxLayoutGap = input(undefined, { ...(ngDevMode ? { debugName: "fxLayoutGap" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap' });
1938
- this.xs = input(undefined, { ...(ngDevMode ? { debugName: "xs" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.xs' });
1939
- this.sm = input(undefined, { ...(ngDevMode ? { debugName: "sm" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.sm' });
1940
- this.md = input(undefined, { ...(ngDevMode ? { debugName: "md" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.md' });
1941
- this.lg = input(undefined, { ...(ngDevMode ? { debugName: "lg" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.lg' });
1942
- this.xl = input(undefined, { ...(ngDevMode ? { debugName: "xl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.xl' });
1943
- this.xxl = input(undefined, { ...(ngDevMode ? { debugName: "xxl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.xxl' });
1944
- this.ltSm = input(undefined, { ...(ngDevMode ? { debugName: "ltSm" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.lt-sm' });
1945
- this.ltMd = input(undefined, { ...(ngDevMode ? { debugName: "ltMd" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.lt-md' });
1946
- this.ltLg = input(undefined, { ...(ngDevMode ? { debugName: "ltLg" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.lt-lg' });
1947
- this.ltXl = input(undefined, { ...(ngDevMode ? { debugName: "ltXl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.lt-xl' });
1948
- this.ltXxl = input(undefined, { ...(ngDevMode ? { debugName: "ltXxl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.lt-xxl' });
1949
- this.gtXs = input(undefined, { ...(ngDevMode ? { debugName: "gtXs" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.gt-xs' });
1950
- this.gtSm = input(undefined, { ...(ngDevMode ? { debugName: "gtSm" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.gt-sm' });
1951
- this.gtMd = input(undefined, { ...(ngDevMode ? { debugName: "gtMd" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.gt-md' });
1952
- this.gtLg = input(undefined, { ...(ngDevMode ? { debugName: "gtLg" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.gt-lg' });
1953
- this.gtXl = input(undefined, { ...(ngDevMode ? { debugName: "gtXl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.gt-xl' });
1954
- this.smUp = input(undefined, { ...(ngDevMode ? { debugName: "smUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.sm-up' });
1955
- this.mdUp = input(undefined, { ...(ngDevMode ? { debugName: "mdUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.md-up' });
1956
- this.lgUp = input(undefined, { ...(ngDevMode ? { debugName: "lgUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.lg-up' });
1957
- this.xlUp = input(undefined, { ...(ngDevMode ? { debugName: "xlUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.xl-up' });
1958
- this.xxlUp = input(undefined, { ...(ngDevMode ? { debugName: "xxlUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.xxl-up' });
1959
- this.smDown = input(undefined, { ...(ngDevMode ? { debugName: "smDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.sm-down' });
1960
- this.mdDown = input(undefined, { ...(ngDevMode ? { debugName: "mdDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.md-down' });
1961
- this.lgDown = input(undefined, { ...(ngDevMode ? { debugName: "lgDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.lg-down' });
1962
- this.xlDown = input(undefined, { ...(ngDevMode ? { debugName: "xlDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.xl-down' });
1963
- this._gap = computed(() => normalizeGap$1(resolveAll({ default: this.fxLayoutGap(), xs: this.xs(), sm: this.sm(), md: this.md(),
1964
- lg: this.lg(), xl: this.xl(), xxl: this.xxl() }, { 'lt-sm': this.ltSm(), 'lt-md': this.ltMd(), 'lt-lg': this.ltLg(),
1965
- 'lt-xl': this.ltXl(), 'lt-xxl': this.ltXxl(),
1966
- 'gt-xs': this.gtXs(), 'gt-sm': this.gtSm(), 'gt-md': this.gtMd(),
1967
- 'gt-lg': this.gtLg(), 'gt-xl': this.gtXl(),
1968
- 'sm-up': this.smUp(), 'md-up': this.mdUp(), 'lg-up': this.lgUp(),
1969
- 'xl-up': this.xlUp(), 'xxl-up': this.xxlUp(),
1970
- 'sm-down': this.smDown(), 'md-down': this.mdDown(),
1971
- 'lg-down': this.lgDown(), 'xl-down': this.xlDown() }, this.media.currentBp(), a => this.media.isActive(a)) ?? '0'), ...(ngDevMode ? [{ debugName: "_gap" }] : /* istanbul ignore next */ []));
1972
- effect(() => { this.safeSetStyle('gap', this._gap()); });
1973
- }
1974
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxLayoutGapDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1975
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxLayoutGapDirective, isStandalone: true, selector: "\n [fxLayoutGap],\n [fxLayoutGap.xs],[fxLayoutGap.sm],[fxLayoutGap.md],[fxLayoutGap.lg],[fxLayoutGap.xl],[fxLayoutGap.xxl],\n [fxLayoutGap.lt-sm],[fxLayoutGap.lt-md],[fxLayoutGap.lt-lg],[fxLayoutGap.lt-xl],[fxLayoutGap.lt-xxl],\n [fxLayoutGap.gt-xs],[fxLayoutGap.gt-sm],[fxLayoutGap.gt-md],[fxLayoutGap.gt-lg],[fxLayoutGap.gt-xl],\n [fxLayoutGap.sm-up],[fxLayoutGap.md-up],[fxLayoutGap.lg-up],[fxLayoutGap.xl-up],[fxLayoutGap.xxl-up],\n [fxLayoutGap.sm-down],[fxLayoutGap.md-down],[fxLayoutGap.lg-down],[fxLayoutGap.xl-down]\n ", inputs: { fxLayoutGap: { classPropertyName: "fxLayoutGap", publicName: "fxLayoutGap", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "fxLayoutGap.xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "fxLayoutGap.sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "fxLayoutGap.md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "fxLayoutGap.lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "fxLayoutGap.xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "fxLayoutGap.xxl", isSignal: true, isRequired: false, transformFunction: null }, ltSm: { classPropertyName: "ltSm", publicName: "fxLayoutGap.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, ltMd: { classPropertyName: "ltMd", publicName: "fxLayoutGap.lt-md", isSignal: true, isRequired: false, transformFunction: null }, ltLg: { classPropertyName: "ltLg", publicName: "fxLayoutGap.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, ltXl: { classPropertyName: "ltXl", publicName: "fxLayoutGap.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, ltXxl: { classPropertyName: "ltXxl", publicName: "fxLayoutGap.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gtXs: { classPropertyName: "gtXs", publicName: "fxLayoutGap.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gtSm: { classPropertyName: "gtSm", publicName: "fxLayoutGap.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gtMd: { classPropertyName: "gtMd", publicName: "fxLayoutGap.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gtLg: { classPropertyName: "gtLg", publicName: "fxLayoutGap.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gtXl: { classPropertyName: "gtXl", publicName: "fxLayoutGap.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, smUp: { classPropertyName: "smUp", publicName: "fxLayoutGap.sm-up", isSignal: true, isRequired: false, transformFunction: null }, mdUp: { classPropertyName: "mdUp", publicName: "fxLayoutGap.md-up", isSignal: true, isRequired: false, transformFunction: null }, lgUp: { classPropertyName: "lgUp", publicName: "fxLayoutGap.lg-up", isSignal: true, isRequired: false, transformFunction: null }, xlUp: { classPropertyName: "xlUp", publicName: "fxLayoutGap.xl-up", isSignal: true, isRequired: false, transformFunction: null }, xxlUp: { classPropertyName: "xxlUp", publicName: "fxLayoutGap.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, smDown: { classPropertyName: "smDown", publicName: "fxLayoutGap.sm-down", isSignal: true, isRequired: false, transformFunction: null }, mdDown: { classPropertyName: "mdDown", publicName: "fxLayoutGap.md-down", isSignal: true, isRequired: false, transformFunction: null }, lgDown: { classPropertyName: "lgDown", publicName: "fxLayoutGap.lg-down", isSignal: true, isRequired: false, transformFunction: null }, xlDown: { classPropertyName: "xlDown", publicName: "fxLayoutGap.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
1976
- }
1977
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxLayoutGapDirective, decorators: [{
1978
- type: Directive,
1979
- args: [{
1980
- selector: `
1981
- [fxLayoutGap],
1982
- [fxLayoutGap.xs],[fxLayoutGap.sm],[fxLayoutGap.md],[fxLayoutGap.lg],[fxLayoutGap.xl],[fxLayoutGap.xxl],
1983
- [fxLayoutGap.lt-sm],[fxLayoutGap.lt-md],[fxLayoutGap.lt-lg],[fxLayoutGap.lt-xl],[fxLayoutGap.lt-xxl],
1984
- [fxLayoutGap.gt-xs],[fxLayoutGap.gt-sm],[fxLayoutGap.gt-md],[fxLayoutGap.gt-lg],[fxLayoutGap.gt-xl],
1985
- [fxLayoutGap.sm-up],[fxLayoutGap.md-up],[fxLayoutGap.lg-up],[fxLayoutGap.xl-up],[fxLayoutGap.xxl-up],
1986
- [fxLayoutGap.sm-down],[fxLayoutGap.md-down],[fxLayoutGap.lg-down],[fxLayoutGap.xl-down]
1991
+ // ── grid-template-columns ──────────────────────────────────────────────────
1992
+ this.fxGrid = input(undefined, { ...(ngDevMode ? { debugName: "fxGrid" } : /* istanbul ignore next */ {}), alias: 'fxGrid' });
1993
+ this.xs = input(undefined, { ...(ngDevMode ? { debugName: "xs" } : /* istanbul ignore next */ {}), alias: 'fxGrid.xs' });
1994
+ this.sm = input(undefined, { ...(ngDevMode ? { debugName: "sm" } : /* istanbul ignore next */ {}), alias: 'fxGrid.sm' });
1995
+ this.md = input(undefined, { ...(ngDevMode ? { debugName: "md" } : /* istanbul ignore next */ {}), alias: 'fxGrid.md' });
1996
+ this.lg = input(undefined, { ...(ngDevMode ? { debugName: "lg" } : /* istanbul ignore next */ {}), alias: 'fxGrid.lg' });
1997
+ this.xl = input(undefined, { ...(ngDevMode ? { debugName: "xl" } : /* istanbul ignore next */ {}), alias: 'fxGrid.xl' });
1998
+ this.xxl = input(undefined, { ...(ngDevMode ? { debugName: "xxl" } : /* istanbul ignore next */ {}), alias: 'fxGrid.xxl' });
1999
+ this.ltSm = input(undefined, { ...(ngDevMode ? { debugName: "ltSm" } : /* istanbul ignore next */ {}), alias: 'fxGrid.lt-sm' });
2000
+ this.ltMd = input(undefined, { ...(ngDevMode ? { debugName: "ltMd" } : /* istanbul ignore next */ {}), alias: 'fxGrid.lt-md' });
2001
+ this.ltLg = input(undefined, { ...(ngDevMode ? { debugName: "ltLg" } : /* istanbul ignore next */ {}), alias: 'fxGrid.lt-lg' });
2002
+ this.ltXl = input(undefined, { ...(ngDevMode ? { debugName: "ltXl" } : /* istanbul ignore next */ {}), alias: 'fxGrid.lt-xl' });
2003
+ this.ltXxl = input(undefined, { ...(ngDevMode ? { debugName: "ltXxl" } : /* istanbul ignore next */ {}), alias: 'fxGrid.lt-xxl' });
2004
+ this.gtXs = input(undefined, { ...(ngDevMode ? { debugName: "gtXs" } : /* istanbul ignore next */ {}), alias: 'fxGrid.gt-xs' });
2005
+ this.gtSm = input(undefined, { ...(ngDevMode ? { debugName: "gtSm" } : /* istanbul ignore next */ {}), alias: 'fxGrid.gt-sm' });
2006
+ this.gtMd = input(undefined, { ...(ngDevMode ? { debugName: "gtMd" } : /* istanbul ignore next */ {}), alias: 'fxGrid.gt-md' });
2007
+ this.gtLg = input(undefined, { ...(ngDevMode ? { debugName: "gtLg" } : /* istanbul ignore next */ {}), alias: 'fxGrid.gt-lg' });
2008
+ this.gtXl = input(undefined, { ...(ngDevMode ? { debugName: "gtXl" } : /* istanbul ignore next */ {}), alias: 'fxGrid.gt-xl' });
2009
+ this.smUp = input(undefined, { ...(ngDevMode ? { debugName: "smUp" } : /* istanbul ignore next */ {}), alias: 'fxGrid.sm-up' });
2010
+ this.mdUp = input(undefined, { ...(ngDevMode ? { debugName: "mdUp" } : /* istanbul ignore next */ {}), alias: 'fxGrid.md-up' });
2011
+ this.lgUp = input(undefined, { ...(ngDevMode ? { debugName: "lgUp" } : /* istanbul ignore next */ {}), alias: 'fxGrid.lg-up' });
2012
+ this.xlUp = input(undefined, { ...(ngDevMode ? { debugName: "xlUp" } : /* istanbul ignore next */ {}), alias: 'fxGrid.xl-up' });
2013
+ this.xxlUp = input(undefined, { ...(ngDevMode ? { debugName: "xxlUp" } : /* istanbul ignore next */ {}), alias: 'fxGrid.xxl-up' });
2014
+ this.smDown = input(undefined, { ...(ngDevMode ? { debugName: "smDown" } : /* istanbul ignore next */ {}), alias: 'fxGrid.sm-down' });
2015
+ this.mdDown = input(undefined, { ...(ngDevMode ? { debugName: "mdDown" } : /* istanbul ignore next */ {}), alias: 'fxGrid.md-down' });
2016
+ this.lgDown = input(undefined, { ...(ngDevMode ? { debugName: "lgDown" } : /* istanbul ignore next */ {}), alias: 'fxGrid.lg-down' });
2017
+ this.xlDown = input(undefined, { ...(ngDevMode ? { debugName: "xlDown" } : /* istanbul ignore next */ {}), alias: 'fxGrid.xl-down' });
2018
+ // ── grid-template-rows ────────────────────────────────────────────────────
2019
+ this.fxGridRows = input(undefined, { ...(ngDevMode ? { debugName: "fxGridRows" } : /* istanbul ignore next */ {}), alias: 'fxGridRows' });
2020
+ this.rowsXs = input(undefined, { ...(ngDevMode ? { debugName: "rowsXs" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.xs' });
2021
+ this.rowsSm = input(undefined, { ...(ngDevMode ? { debugName: "rowsSm" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.sm' });
2022
+ this.rowsMd = input(undefined, { ...(ngDevMode ? { debugName: "rowsMd" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.md' });
2023
+ this.rowsLg = input(undefined, { ...(ngDevMode ? { debugName: "rowsLg" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.lg' });
2024
+ this.rowsXl = input(undefined, { ...(ngDevMode ? { debugName: "rowsXl" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.xl' });
2025
+ this.rowsXxl = input(undefined, { ...(ngDevMode ? { debugName: "rowsXxl" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.xxl' });
2026
+ this.rowsLtSm = input(undefined, { ...(ngDevMode ? { debugName: "rowsLtSm" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.lt-sm' });
2027
+ this.rowsLtMd = input(undefined, { ...(ngDevMode ? { debugName: "rowsLtMd" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.lt-md' });
2028
+ this.rowsLtLg = input(undefined, { ...(ngDevMode ? { debugName: "rowsLtLg" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.lt-lg' });
2029
+ this.rowsLtXl = input(undefined, { ...(ngDevMode ? { debugName: "rowsLtXl" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.lt-xl' });
2030
+ this.rowsLtXxl = input(undefined, { ...(ngDevMode ? { debugName: "rowsLtXxl" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.lt-xxl' });
2031
+ this.rowsGtXs = input(undefined, { ...(ngDevMode ? { debugName: "rowsGtXs" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.gt-xs' });
2032
+ this.rowsGtSm = input(undefined, { ...(ngDevMode ? { debugName: "rowsGtSm" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.gt-sm' });
2033
+ this.rowsGtMd = input(undefined, { ...(ngDevMode ? { debugName: "rowsGtMd" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.gt-md' });
2034
+ this.rowsGtLg = input(undefined, { ...(ngDevMode ? { debugName: "rowsGtLg" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.gt-lg' });
2035
+ this.rowsGtXl = input(undefined, { ...(ngDevMode ? { debugName: "rowsGtXl" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.gt-xl' });
2036
+ this.rowsSmUp = input(undefined, { ...(ngDevMode ? { debugName: "rowsSmUp" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.sm-up' });
2037
+ this.rowsMdUp = input(undefined, { ...(ngDevMode ? { debugName: "rowsMdUp" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.md-up' });
2038
+ this.rowsLgUp = input(undefined, { ...(ngDevMode ? { debugName: "rowsLgUp" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.lg-up' });
2039
+ this.rowsXlUp = input(undefined, { ...(ngDevMode ? { debugName: "rowsXlUp" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.xl-up' });
2040
+ this.rowsXxlUp = input(undefined, { ...(ngDevMode ? { debugName: "rowsXxlUp" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.xxl-up' });
2041
+ this.rowsSmDown = input(undefined, { ...(ngDevMode ? { debugName: "rowsSmDown" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.sm-down' });
2042
+ this.rowsMdDown = input(undefined, { ...(ngDevMode ? { debugName: "rowsMdDown" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.md-down' });
2043
+ this.rowsLgDown = input(undefined, { ...(ngDevMode ? { debugName: "rowsLgDown" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.lg-down' });
2044
+ this.rowsXlDown = input(undefined, { ...(ngDevMode ? { debugName: "rowsXlDown" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.xl-down' });
2045
+ // ── gap ───────────────────────────────────────────────────────────────────
2046
+ this.fxGridGap = input(undefined, { ...(ngDevMode ? { debugName: "fxGridGap" } : /* istanbul ignore next */ {}), alias: 'fxGridGap' });
2047
+ this.gapXs = input(undefined, { ...(ngDevMode ? { debugName: "gapXs" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.xs' });
2048
+ this.gapSm = input(undefined, { ...(ngDevMode ? { debugName: "gapSm" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.sm' });
2049
+ this.gapMd = input(undefined, { ...(ngDevMode ? { debugName: "gapMd" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.md' });
2050
+ this.gapLg = input(undefined, { ...(ngDevMode ? { debugName: "gapLg" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.lg' });
2051
+ this.gapXl = input(undefined, { ...(ngDevMode ? { debugName: "gapXl" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.xl' });
2052
+ this.gapXxl = input(undefined, { ...(ngDevMode ? { debugName: "gapXxl" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.xxl' });
2053
+ this.gapLtSm = input(undefined, { ...(ngDevMode ? { debugName: "gapLtSm" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.lt-sm' });
2054
+ this.gapLtMd = input(undefined, { ...(ngDevMode ? { debugName: "gapLtMd" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.lt-md' });
2055
+ this.gapLtLg = input(undefined, { ...(ngDevMode ? { debugName: "gapLtLg" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.lt-lg' });
2056
+ this.gapLtXl = input(undefined, { ...(ngDevMode ? { debugName: "gapLtXl" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.lt-xl' });
2057
+ this.gapLtXxl = input(undefined, { ...(ngDevMode ? { debugName: "gapLtXxl" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.lt-xxl' });
2058
+ this.gapGtXs = input(undefined, { ...(ngDevMode ? { debugName: "gapGtXs" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.gt-xs' });
2059
+ this.gapGtSm = input(undefined, { ...(ngDevMode ? { debugName: "gapGtSm" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.gt-sm' });
2060
+ this.gapGtMd = input(undefined, { ...(ngDevMode ? { debugName: "gapGtMd" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.gt-md' });
2061
+ this.gapGtLg = input(undefined, { ...(ngDevMode ? { debugName: "gapGtLg" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.gt-lg' });
2062
+ this.gapGtXl = input(undefined, { ...(ngDevMode ? { debugName: "gapGtXl" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.gt-xl' });
2063
+ this.gapSmUp = input(undefined, { ...(ngDevMode ? { debugName: "gapSmUp" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.sm-up' });
2064
+ this.gapMdUp = input(undefined, { ...(ngDevMode ? { debugName: "gapMdUp" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.md-up' });
2065
+ this.gapLgUp = input(undefined, { ...(ngDevMode ? { debugName: "gapLgUp" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.lg-up' });
2066
+ this.gapXlUp = input(undefined, { ...(ngDevMode ? { debugName: "gapXlUp" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.xl-up' });
2067
+ this.gapXxlUp = input(undefined, { ...(ngDevMode ? { debugName: "gapXxlUp" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.xxl-up' });
2068
+ this.gapSmDown = input(undefined, { ...(ngDevMode ? { debugName: "gapSmDown" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.sm-down' });
2069
+ this.gapMdDown = input(undefined, { ...(ngDevMode ? { debugName: "gapMdDown" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.md-down' });
2070
+ this.gapLgDown = input(undefined, { ...(ngDevMode ? { debugName: "gapLgDown" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.lg-down' });
2071
+ this.gapXlDown = input(undefined, { ...(ngDevMode ? { debugName: "gapXlDown" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.xl-down' });
2072
+ // ── resolved values (flat computed — no intermediate object computed) ──────
2073
+ this._cols = computed(() => resolveAll({ default: this.fxGrid(), xs: this.xs(), sm: this.sm(),
2074
+ md: this.md(), lg: this.lg(), xl: this.xl(), xxl: this.xxl() }, { 'lt-sm': this.ltSm(), 'lt-md': this.ltMd(), 'lt-lg': this.ltLg(),
2075
+ 'lt-xl': this.ltXl(), 'lt-xxl': this.ltXxl(),
2076
+ 'gt-xs': this.gtXs(), 'gt-sm': this.gtSm(), 'gt-md': this.gtMd(),
2077
+ 'gt-lg': this.gtLg(), 'gt-xl': this.gtXl(),
2078
+ 'sm-up': this.smUp(), 'md-up': this.mdUp(), 'lg-up': this.lgUp(),
2079
+ 'xl-up': this.xlUp(), 'xxl-up': this.xxlUp(),
2080
+ 'sm-down': this.smDown(), 'md-down': this.mdDown(),
2081
+ 'lg-down': this.lgDown(), 'xl-down': this.xlDown() }, this.media.currentBp(), a => this.media.isActive(a)), ...(ngDevMode ? [{ debugName: "_cols" }] : /* istanbul ignore next */ []));
2082
+ this._rows = computed(() => resolveAll({ default: this.fxGridRows(), xs: this.rowsXs(), sm: this.rowsSm(),
2083
+ md: this.rowsMd(), lg: this.rowsLg(), xl: this.rowsXl(), xxl: this.rowsXxl() }, { 'lt-sm': this.rowsLtSm(), 'lt-md': this.rowsLtMd(), 'lt-lg': this.rowsLtLg(),
2084
+ 'lt-xl': this.rowsLtXl(), 'lt-xxl': this.rowsLtXxl(),
2085
+ 'gt-xs': this.rowsGtXs(), 'gt-sm': this.rowsGtSm(), 'gt-md': this.rowsGtMd(),
2086
+ 'gt-lg': this.rowsGtLg(), 'gt-xl': this.rowsGtXl(),
2087
+ 'sm-up': this.rowsSmUp(), 'md-up': this.rowsMdUp(), 'lg-up': this.rowsLgUp(),
2088
+ 'xl-up': this.rowsXlUp(), 'xxl-up': this.rowsXxlUp(),
2089
+ 'sm-down': this.rowsSmDown(), 'md-down': this.rowsMdDown(),
2090
+ 'lg-down': this.rowsLgDown(), 'xl-down': this.rowsXlDown() }, this.media.currentBp(), a => this.media.isActive(a)), ...(ngDevMode ? [{ debugName: "_rows" }] : /* istanbul ignore next */ []));
2091
+ this._gap = computed(() => normalizeGap$1(resolveAll({ default: this.fxGridGap(), xs: this.gapXs(), sm: this.gapSm(),
2092
+ md: this.gapMd(), lg: this.gapLg(), xl: this.gapXl(), xxl: this.gapXxl() }, { 'lt-sm': this.gapLtSm(), 'lt-md': this.gapLtMd(), 'lt-lg': this.gapLtLg(),
2093
+ 'lt-xl': this.gapLtXl(), 'lt-xxl': this.gapLtXxl(),
2094
+ 'gt-xs': this.gapGtXs(), 'gt-sm': this.gapGtSm(), 'gt-md': this.gapGtMd(),
2095
+ 'gt-lg': this.gapGtLg(), 'gt-xl': this.gapGtXl(),
2096
+ 'sm-up': this.gapSmUp(), 'md-up': this.gapMdUp(), 'lg-up': this.gapLgUp(),
2097
+ 'xl-up': this.gapXlUp(), 'xxl-up': this.gapXxlUp(),
2098
+ 'sm-down': this.gapSmDown(), 'md-down': this.gapMdDown(),
2099
+ 'lg-down': this.gapLgDown(), 'xl-down': this.gapXlDown() }, this.media.currentBp(), a => this.media.isActive(a))), ...(ngDevMode ? [{ debugName: "_gap" }] : /* istanbul ignore next */ []));
2100
+ effect(() => {
2101
+ const cols = this._cols();
2102
+ const rows = this._rows();
2103
+ const gap = this._gap();
2104
+ cols ? this.safeSetStyle('grid-template-columns', cols)
2105
+ : this.r2.removeStyle(this.el.nativeElement, 'grid-template-columns');
2106
+ rows ? this.safeSetStyle('grid-template-rows', rows)
2107
+ : this.r2.removeStyle(this.el.nativeElement, 'grid-template-rows');
2108
+ gap ? this.safeSetStyle('gap', gap)
2109
+ : this.r2.removeStyle(this.el.nativeElement, 'gap');
2110
+ });
2111
+ }
2112
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxGridDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2113
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxGridDirective, isStandalone: true, selector: "\n [fxGrid],\n [fxGrid.xs],[fxGrid.sm],[fxGrid.md],[fxGrid.lg],[fxGrid.xl],[fxGrid.xxl],\n [fxGrid.lt-sm],[fxGrid.lt-md],[fxGrid.lt-lg],[fxGrid.lt-xl],[fxGrid.lt-xxl],\n [fxGrid.gt-xs],[fxGrid.gt-sm],[fxGrid.gt-md],[fxGrid.gt-lg],[fxGrid.gt-xl],\n [fxGrid.sm-up],[fxGrid.md-up],[fxGrid.lg-up],[fxGrid.xl-up],[fxGrid.xxl-up],\n [fxGrid.sm-down],[fxGrid.md-down],[fxGrid.lg-down],[fxGrid.xl-down]\n ", inputs: { fxGrid: { classPropertyName: "fxGrid", publicName: "fxGrid", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "fxGrid.xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "fxGrid.sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "fxGrid.md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "fxGrid.lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "fxGrid.xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "fxGrid.xxl", isSignal: true, isRequired: false, transformFunction: null }, ltSm: { classPropertyName: "ltSm", publicName: "fxGrid.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, ltMd: { classPropertyName: "ltMd", publicName: "fxGrid.lt-md", isSignal: true, isRequired: false, transformFunction: null }, ltLg: { classPropertyName: "ltLg", publicName: "fxGrid.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, ltXl: { classPropertyName: "ltXl", publicName: "fxGrid.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, ltXxl: { classPropertyName: "ltXxl", publicName: "fxGrid.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gtXs: { classPropertyName: "gtXs", publicName: "fxGrid.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gtSm: { classPropertyName: "gtSm", publicName: "fxGrid.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gtMd: { classPropertyName: "gtMd", publicName: "fxGrid.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gtLg: { classPropertyName: "gtLg", publicName: "fxGrid.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gtXl: { classPropertyName: "gtXl", publicName: "fxGrid.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, smUp: { classPropertyName: "smUp", publicName: "fxGrid.sm-up", isSignal: true, isRequired: false, transformFunction: null }, mdUp: { classPropertyName: "mdUp", publicName: "fxGrid.md-up", isSignal: true, isRequired: false, transformFunction: null }, lgUp: { classPropertyName: "lgUp", publicName: "fxGrid.lg-up", isSignal: true, isRequired: false, transformFunction: null }, xlUp: { classPropertyName: "xlUp", publicName: "fxGrid.xl-up", isSignal: true, isRequired: false, transformFunction: null }, xxlUp: { classPropertyName: "xxlUp", publicName: "fxGrid.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, smDown: { classPropertyName: "smDown", publicName: "fxGrid.sm-down", isSignal: true, isRequired: false, transformFunction: null }, mdDown: { classPropertyName: "mdDown", publicName: "fxGrid.md-down", isSignal: true, isRequired: false, transformFunction: null }, lgDown: { classPropertyName: "lgDown", publicName: "fxGrid.lg-down", isSignal: true, isRequired: false, transformFunction: null }, xlDown: { classPropertyName: "xlDown", publicName: "fxGrid.xl-down", isSignal: true, isRequired: false, transformFunction: null }, fxGridRows: { classPropertyName: "fxGridRows", publicName: "fxGridRows", isSignal: true, isRequired: false, transformFunction: null }, rowsXs: { classPropertyName: "rowsXs", publicName: "fxGridRows.xs", isSignal: true, isRequired: false, transformFunction: null }, rowsSm: { classPropertyName: "rowsSm", publicName: "fxGridRows.sm", isSignal: true, isRequired: false, transformFunction: null }, rowsMd: { classPropertyName: "rowsMd", publicName: "fxGridRows.md", isSignal: true, isRequired: false, transformFunction: null }, rowsLg: { classPropertyName: "rowsLg", publicName: "fxGridRows.lg", isSignal: true, isRequired: false, transformFunction: null }, rowsXl: { classPropertyName: "rowsXl", publicName: "fxGridRows.xl", isSignal: true, isRequired: false, transformFunction: null }, rowsXxl: { classPropertyName: "rowsXxl", publicName: "fxGridRows.xxl", isSignal: true, isRequired: false, transformFunction: null }, rowsLtSm: { classPropertyName: "rowsLtSm", publicName: "fxGridRows.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, rowsLtMd: { classPropertyName: "rowsLtMd", publicName: "fxGridRows.lt-md", isSignal: true, isRequired: false, transformFunction: null }, rowsLtLg: { classPropertyName: "rowsLtLg", publicName: "fxGridRows.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, rowsLtXl: { classPropertyName: "rowsLtXl", publicName: "fxGridRows.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, rowsLtXxl: { classPropertyName: "rowsLtXxl", publicName: "fxGridRows.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, rowsGtXs: { classPropertyName: "rowsGtXs", publicName: "fxGridRows.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, rowsGtSm: { classPropertyName: "rowsGtSm", publicName: "fxGridRows.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, rowsGtMd: { classPropertyName: "rowsGtMd", publicName: "fxGridRows.gt-md", isSignal: true, isRequired: false, transformFunction: null }, rowsGtLg: { classPropertyName: "rowsGtLg", publicName: "fxGridRows.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, rowsGtXl: { classPropertyName: "rowsGtXl", publicName: "fxGridRows.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, rowsSmUp: { classPropertyName: "rowsSmUp", publicName: "fxGridRows.sm-up", isSignal: true, isRequired: false, transformFunction: null }, rowsMdUp: { classPropertyName: "rowsMdUp", publicName: "fxGridRows.md-up", isSignal: true, isRequired: false, transformFunction: null }, rowsLgUp: { classPropertyName: "rowsLgUp", publicName: "fxGridRows.lg-up", isSignal: true, isRequired: false, transformFunction: null }, rowsXlUp: { classPropertyName: "rowsXlUp", publicName: "fxGridRows.xl-up", isSignal: true, isRequired: false, transformFunction: null }, rowsXxlUp: { classPropertyName: "rowsXxlUp", publicName: "fxGridRows.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, rowsSmDown: { classPropertyName: "rowsSmDown", publicName: "fxGridRows.sm-down", isSignal: true, isRequired: false, transformFunction: null }, rowsMdDown: { classPropertyName: "rowsMdDown", publicName: "fxGridRows.md-down", isSignal: true, isRequired: false, transformFunction: null }, rowsLgDown: { classPropertyName: "rowsLgDown", publicName: "fxGridRows.lg-down", isSignal: true, isRequired: false, transformFunction: null }, rowsXlDown: { classPropertyName: "rowsXlDown", publicName: "fxGridRows.xl-down", isSignal: true, isRequired: false, transformFunction: null }, fxGridGap: { classPropertyName: "fxGridGap", publicName: "fxGridGap", isSignal: true, isRequired: false, transformFunction: null }, gapXs: { classPropertyName: "gapXs", publicName: "fxGridGap.xs", isSignal: true, isRequired: false, transformFunction: null }, gapSm: { classPropertyName: "gapSm", publicName: "fxGridGap.sm", isSignal: true, isRequired: false, transformFunction: null }, gapMd: { classPropertyName: "gapMd", publicName: "fxGridGap.md", isSignal: true, isRequired: false, transformFunction: null }, gapLg: { classPropertyName: "gapLg", publicName: "fxGridGap.lg", isSignal: true, isRequired: false, transformFunction: null }, gapXl: { classPropertyName: "gapXl", publicName: "fxGridGap.xl", isSignal: true, isRequired: false, transformFunction: null }, gapXxl: { classPropertyName: "gapXxl", publicName: "fxGridGap.xxl", isSignal: true, isRequired: false, transformFunction: null }, gapLtSm: { classPropertyName: "gapLtSm", publicName: "fxGridGap.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, gapLtMd: { classPropertyName: "gapLtMd", publicName: "fxGridGap.lt-md", isSignal: true, isRequired: false, transformFunction: null }, gapLtLg: { classPropertyName: "gapLtLg", publicName: "fxGridGap.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, gapLtXl: { classPropertyName: "gapLtXl", publicName: "fxGridGap.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, gapLtXxl: { classPropertyName: "gapLtXxl", publicName: "fxGridGap.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gapGtXs: { classPropertyName: "gapGtXs", publicName: "fxGridGap.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gapGtSm: { classPropertyName: "gapGtSm", publicName: "fxGridGap.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gapGtMd: { classPropertyName: "gapGtMd", publicName: "fxGridGap.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gapGtLg: { classPropertyName: "gapGtLg", publicName: "fxGridGap.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gapGtXl: { classPropertyName: "gapGtXl", publicName: "fxGridGap.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, gapSmUp: { classPropertyName: "gapSmUp", publicName: "fxGridGap.sm-up", isSignal: true, isRequired: false, transformFunction: null }, gapMdUp: { classPropertyName: "gapMdUp", publicName: "fxGridGap.md-up", isSignal: true, isRequired: false, transformFunction: null }, gapLgUp: { classPropertyName: "gapLgUp", publicName: "fxGridGap.lg-up", isSignal: true, isRequired: false, transformFunction: null }, gapXlUp: { classPropertyName: "gapXlUp", publicName: "fxGridGap.xl-up", isSignal: true, isRequired: false, transformFunction: null }, gapXxlUp: { classPropertyName: "gapXxlUp", publicName: "fxGridGap.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, gapSmDown: { classPropertyName: "gapSmDown", publicName: "fxGridGap.sm-down", isSignal: true, isRequired: false, transformFunction: null }, gapMdDown: { classPropertyName: "gapMdDown", publicName: "fxGridGap.md-down", isSignal: true, isRequired: false, transformFunction: null }, gapLgDown: { classPropertyName: "gapLgDown", publicName: "fxGridGap.lg-down", isSignal: true, isRequired: false, transformFunction: null }, gapXlDown: { classPropertyName: "gapXlDown", publicName: "fxGridGap.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.display": "\"grid\"" } }, usesInheritance: true, ngImport: i0 }); }
2114
+ }
2115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxGridDirective, decorators: [{
2116
+ type: Directive,
2117
+ args: [{
2118
+ selector: `
2119
+ [fxGrid],
2120
+ [fxGrid.xs],[fxGrid.sm],[fxGrid.md],[fxGrid.lg],[fxGrid.xl],[fxGrid.xxl],
2121
+ [fxGrid.lt-sm],[fxGrid.lt-md],[fxGrid.lt-lg],[fxGrid.lt-xl],[fxGrid.lt-xxl],
2122
+ [fxGrid.gt-xs],[fxGrid.gt-sm],[fxGrid.gt-md],[fxGrid.gt-lg],[fxGrid.gt-xl],
2123
+ [fxGrid.sm-up],[fxGrid.md-up],[fxGrid.lg-up],[fxGrid.xl-up],[fxGrid.xxl-up],
2124
+ [fxGrid.sm-down],[fxGrid.md-down],[fxGrid.lg-down],[fxGrid.xl-down]
1987
2125
  `,
1988
2126
  standalone: true,
2127
+ host: { '[style.display]': '"grid"' },
1989
2128
  }]
1990
- }], ctorParameters: () => [], propDecorators: { fxLayoutGap: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.xxl", required: false }] }], ltSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.lt-sm", required: false }] }], ltMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.lt-md", required: false }] }], ltLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.lt-lg", required: false }] }], ltXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.lt-xl", required: false }] }], ltXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.lt-xxl", required: false }] }], gtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.gt-xs", required: false }] }], gtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.gt-sm", required: false }] }], gtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.gt-md", required: false }] }], gtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.gt-lg", required: false }] }], gtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.gt-xl", required: false }] }], smUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.sm-up", required: false }] }], mdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.md-up", required: false }] }], lgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.lg-up", required: false }] }], xlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.xl-up", required: false }] }], xxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.xxl-up", required: false }] }], smDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.sm-down", required: false }] }], mdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.md-down", required: false }] }], lgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.lg-down", required: false }] }], xlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.xl-down", required: false }] }] } });
1991
-
1992
- /**
1993
- * @file fx-layout.directive.ts (Angular 21 - signals)
1994
- *
1995
- * [fxLayout] -- sets flex-direction (and optionally flex-wrap) on the host.
1996
- * [fxLayoutWrap] -- dedicated alias for flex-wrap (original ngx-layout compat).
1997
- *
1998
- * Angular 21 changes:
1999
- * - All @Input setters replaced by input() signals
2000
- * - computed() builds reactive BP maps and derives CSS values
2001
- * - effect() in constructor writes to DOM -- no lifecycle hooks
2002
- *
2003
- * Breakpoint suffixes:
2004
- * Canonical : .xs .sm .md .lg .xl .xxl
2005
- * lt-* : .lt-sm .lt-md .lt-lg .lt-xl .lt-xxl
2006
- * gt-* : .gt-xs .gt-sm .gt-md .gt-lg .gt-xl
2007
- * *-up : .sm-up .md-up .lg-up .xl-up .xxl-up
2008
- * *-down : .sm-down .md-down .lg-down .xl-down
2009
- */
2010
- const VALID_DIRECTIONS = new Set(['row', 'column', 'row-reverse', 'column-reverse']);
2011
- const VALID_WRAPS = new Set(['wrap', 'wrap-reverse', 'nowrap']);
2012
- function parseLayout(raw) {
2013
- const parts = raw.trim().split(/\s+/);
2014
- const dir = VALID_DIRECTIONS.has(parts[0]) ? parts[0] : 'row';
2015
- const wrap = VALID_WRAPS.has(parts[1]) ? parts[1] : 'nowrap';
2016
- return [dir, wrap];
2017
- }
2018
- class FxLayoutDirective extends ResponsiveBaseDirective {
2129
+ }], ctorParameters: () => [], propDecorators: { fxGrid: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.xxl", required: false }] }], ltSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.lt-sm", required: false }] }], ltMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.lt-md", required: false }] }], ltLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.lt-lg", required: false }] }], ltXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.lt-xl", required: false }] }], ltXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.lt-xxl", required: false }] }], gtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.gt-xs", required: false }] }], gtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.gt-sm", required: false }] }], gtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.gt-md", required: false }] }], gtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.gt-lg", required: false }] }], gtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.gt-xl", required: false }] }], smUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.sm-up", required: false }] }], mdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.md-up", required: false }] }], lgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.lg-up", required: false }] }], xlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.xl-up", required: false }] }], xxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.xxl-up", required: false }] }], smDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.sm-down", required: false }] }], mdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.md-down", required: false }] }], lgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.lg-down", required: false }] }], xlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.xl-down", required: false }] }], fxGridRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows", required: false }] }], rowsXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.xs", required: false }] }], rowsSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.sm", required: false }] }], rowsMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.md", required: false }] }], rowsLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.lg", required: false }] }], rowsXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.xl", required: false }] }], rowsXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.xxl", required: false }] }], rowsLtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.lt-sm", required: false }] }], rowsLtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.lt-md", required: false }] }], rowsLtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.lt-lg", required: false }] }], rowsLtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.lt-xl", required: false }] }], rowsLtXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.lt-xxl", required: false }] }], rowsGtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.gt-xs", required: false }] }], rowsGtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.gt-sm", required: false }] }], rowsGtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.gt-md", required: false }] }], rowsGtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.gt-lg", required: false }] }], rowsGtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.gt-xl", required: false }] }], rowsSmUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.sm-up", required: false }] }], rowsMdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.md-up", required: false }] }], rowsLgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.lg-up", required: false }] }], rowsXlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.xl-up", required: false }] }], rowsXxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.xxl-up", required: false }] }], rowsSmDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.sm-down", required: false }] }], rowsMdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.md-down", required: false }] }], rowsLgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.lg-down", required: false }] }], rowsXlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.xl-down", required: false }] }], fxGridGap: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap", required: false }] }], gapXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.xs", required: false }] }], gapSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.sm", required: false }] }], gapMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.md", required: false }] }], gapLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.lg", required: false }] }], gapXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.xl", required: false }] }], gapXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.xxl", required: false }] }], gapLtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.lt-sm", required: false }] }], gapLtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.lt-md", required: false }] }], gapLtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.lt-lg", required: false }] }], gapLtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.lt-xl", required: false }] }], gapLtXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.lt-xxl", required: false }] }], gapGtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.gt-xs", required: false }] }], gapGtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.gt-sm", required: false }] }], gapGtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.gt-md", required: false }] }], gapGtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.gt-lg", required: false }] }], gapGtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.gt-xl", required: false }] }], gapSmUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.sm-up", required: false }] }], gapMdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.md-up", required: false }] }], gapLgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.lg-up", required: false }] }], gapXlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.xl-up", required: false }] }], gapXxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.xxl-up", required: false }] }], gapSmDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.sm-down", required: false }] }], gapMdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.md-down", required: false }] }], gapLgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.lg-down", required: false }] }], gapXlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.xl-down", required: false }] }] } });
2130
+ // ─── fxGridColumn ─────────────────────────────────────────────────────────────
2131
+ class FxGridColumnDirective extends ResponsiveBaseDirective {
2019
2132
  constructor() {
2020
2133
  super();
2021
- this.fxLayout = input('row', { ...(ngDevMode ? { debugName: "fxLayout" } : /* istanbul ignore next */ {}), alias: 'fxLayout' });
2022
- this.xs = input(undefined, { ...(ngDevMode ? { debugName: "xs" } : /* istanbul ignore next */ {}), alias: 'fxLayout.xs' });
2023
- this.sm = input(undefined, { ...(ngDevMode ? { debugName: "sm" } : /* istanbul ignore next */ {}), alias: 'fxLayout.sm' });
2024
- this.md = input(undefined, { ...(ngDevMode ? { debugName: "md" } : /* istanbul ignore next */ {}), alias: 'fxLayout.md' });
2025
- this.lg = input(undefined, { ...(ngDevMode ? { debugName: "lg" } : /* istanbul ignore next */ {}), alias: 'fxLayout.lg' });
2026
- this.xl = input(undefined, { ...(ngDevMode ? { debugName: "xl" } : /* istanbul ignore next */ {}), alias: 'fxLayout.xl' });
2027
- this.xxl = input(undefined, { ...(ngDevMode ? { debugName: "xxl" } : /* istanbul ignore next */ {}), alias: 'fxLayout.xxl' });
2028
- this.ltSm = input(undefined, { ...(ngDevMode ? { debugName: "ltSm" } : /* istanbul ignore next */ {}), alias: 'fxLayout.lt-sm' });
2029
- this.ltMd = input(undefined, { ...(ngDevMode ? { debugName: "ltMd" } : /* istanbul ignore next */ {}), alias: 'fxLayout.lt-md' });
2030
- this.ltLg = input(undefined, { ...(ngDevMode ? { debugName: "ltLg" } : /* istanbul ignore next */ {}), alias: 'fxLayout.lt-lg' });
2031
- this.ltXl = input(undefined, { ...(ngDevMode ? { debugName: "ltXl" } : /* istanbul ignore next */ {}), alias: 'fxLayout.lt-xl' });
2032
- this.ltXxl = input(undefined, { ...(ngDevMode ? { debugName: "ltXxl" } : /* istanbul ignore next */ {}), alias: 'fxLayout.lt-xxl' });
2033
- this.gtXs = input(undefined, { ...(ngDevMode ? { debugName: "gtXs" } : /* istanbul ignore next */ {}), alias: 'fxLayout.gt-xs' });
2034
- this.gtSm = input(undefined, { ...(ngDevMode ? { debugName: "gtSm" } : /* istanbul ignore next */ {}), alias: 'fxLayout.gt-sm' });
2035
- this.gtMd = input(undefined, { ...(ngDevMode ? { debugName: "gtMd" } : /* istanbul ignore next */ {}), alias: 'fxLayout.gt-md' });
2036
- this.gtLg = input(undefined, { ...(ngDevMode ? { debugName: "gtLg" } : /* istanbul ignore next */ {}), alias: 'fxLayout.gt-lg' });
2037
- this.gtXl = input(undefined, { ...(ngDevMode ? { debugName: "gtXl" } : /* istanbul ignore next */ {}), alias: 'fxLayout.gt-xl' });
2038
- this.smUp = input(undefined, { ...(ngDevMode ? { debugName: "smUp" } : /* istanbul ignore next */ {}), alias: 'fxLayout.sm-up' });
2039
- this.mdUp = input(undefined, { ...(ngDevMode ? { debugName: "mdUp" } : /* istanbul ignore next */ {}), alias: 'fxLayout.md-up' });
2040
- this.lgUp = input(undefined, { ...(ngDevMode ? { debugName: "lgUp" } : /* istanbul ignore next */ {}), alias: 'fxLayout.lg-up' });
2041
- this.xlUp = input(undefined, { ...(ngDevMode ? { debugName: "xlUp" } : /* istanbul ignore next */ {}), alias: 'fxLayout.xl-up' });
2042
- this.xxlUp = input(undefined, { ...(ngDevMode ? { debugName: "xxlUp" } : /* istanbul ignore next */ {}), alias: 'fxLayout.xxl-up' });
2043
- this.smDown = input(undefined, { ...(ngDevMode ? { debugName: "smDown" } : /* istanbul ignore next */ {}), alias: 'fxLayout.sm-down' });
2044
- this.mdDown = input(undefined, { ...(ngDevMode ? { debugName: "mdDown" } : /* istanbul ignore next */ {}), alias: 'fxLayout.md-down' });
2045
- this.lgDown = input(undefined, { ...(ngDevMode ? { debugName: "lgDown" } : /* istanbul ignore next */ {}), alias: 'fxLayout.lg-down' });
2046
- this.xlDown = input(undefined, { ...(ngDevMode ? { debugName: "xlDown" } : /* istanbul ignore next */ {}), alias: 'fxLayout.xl-down' });
2047
- this._parsed = computed(() => parseLayout(resolveAll({ default: this.fxLayout(), xs: this.xs(), sm: this.sm(), md: this.md(),
2048
- lg: this.lg(), xl: this.xl(), xxl: this.xxl() }, { 'lt-sm': this.ltSm(), 'lt-md': this.ltMd(), 'lt-lg': this.ltLg(),
2134
+ this.fxGridColumn = input(undefined, { ...(ngDevMode ? { debugName: "fxGridColumn" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn' });
2135
+ this.xs = input(undefined, { ...(ngDevMode ? { debugName: "xs" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.xs' });
2136
+ this.sm = input(undefined, { ...(ngDevMode ? { debugName: "sm" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.sm' });
2137
+ this.md = input(undefined, { ...(ngDevMode ? { debugName: "md" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.md' });
2138
+ this.lg = input(undefined, { ...(ngDevMode ? { debugName: "lg" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.lg' });
2139
+ this.xl = input(undefined, { ...(ngDevMode ? { debugName: "xl" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.xl' });
2140
+ this.xxl = input(undefined, { ...(ngDevMode ? { debugName: "xxl" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.xxl' });
2141
+ this.ltSm = input(undefined, { ...(ngDevMode ? { debugName: "ltSm" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.lt-sm' });
2142
+ this.ltMd = input(undefined, { ...(ngDevMode ? { debugName: "ltMd" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.lt-md' });
2143
+ this.ltLg = input(undefined, { ...(ngDevMode ? { debugName: "ltLg" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.lt-lg' });
2144
+ this.ltXl = input(undefined, { ...(ngDevMode ? { debugName: "ltXl" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.lt-xl' });
2145
+ this.ltXxl = input(undefined, { ...(ngDevMode ? { debugName: "ltXxl" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.lt-xxl' });
2146
+ this.gtXs = input(undefined, { ...(ngDevMode ? { debugName: "gtXs" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.gt-xs' });
2147
+ this.gtSm = input(undefined, { ...(ngDevMode ? { debugName: "gtSm" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.gt-sm' });
2148
+ this.gtMd = input(undefined, { ...(ngDevMode ? { debugName: "gtMd" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.gt-md' });
2149
+ this.gtLg = input(undefined, { ...(ngDevMode ? { debugName: "gtLg" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.gt-lg' });
2150
+ this.gtXl = input(undefined, { ...(ngDevMode ? { debugName: "gtXl" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.gt-xl' });
2151
+ this.smUp = input(undefined, { ...(ngDevMode ? { debugName: "smUp" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.sm-up' });
2152
+ this.mdUp = input(undefined, { ...(ngDevMode ? { debugName: "mdUp" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.md-up' });
2153
+ this.lgUp = input(undefined, { ...(ngDevMode ? { debugName: "lgUp" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.lg-up' });
2154
+ this.xlUp = input(undefined, { ...(ngDevMode ? { debugName: "xlUp" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.xl-up' });
2155
+ this.xxlUp = input(undefined, { ...(ngDevMode ? { debugName: "xxlUp" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.xxl-up' });
2156
+ this.smDown = input(undefined, { ...(ngDevMode ? { debugName: "smDown" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.sm-down' });
2157
+ this.mdDown = input(undefined, { ...(ngDevMode ? { debugName: "mdDown" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.md-down' });
2158
+ this.lgDown = input(undefined, { ...(ngDevMode ? { debugName: "lgDown" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.lg-down' });
2159
+ this.xlDown = input(undefined, { ...(ngDevMode ? { debugName: "xlDown" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.xl-down' });
2160
+ this._resolved = computed(() => resolveAll({ default: this.fxGridColumn(), xs: this.xs(), sm: this.sm(),
2161
+ md: this.md(), lg: this.lg(), xl: this.xl(), xxl: this.xxl() }, { 'lt-sm': this.ltSm(), 'lt-md': this.ltMd(), 'lt-lg': this.ltLg(),
2049
2162
  'lt-xl': this.ltXl(), 'lt-xxl': this.ltXxl(),
2050
2163
  'gt-xs': this.gtXs(), 'gt-sm': this.gtSm(), 'gt-md': this.gtMd(),
2051
2164
  'gt-lg': this.gtLg(), 'gt-xl': this.gtXl(),
2052
2165
  'sm-up': this.smUp(), 'md-up': this.mdUp(), 'lg-up': this.lgUp(),
2053
2166
  'xl-up': this.xlUp(), 'xxl-up': this.xxlUp(),
2054
2167
  'sm-down': this.smDown(), 'md-down': this.mdDown(),
2055
- 'lg-down': this.lgDown(), 'xl-down': this.xlDown() }, this.media.currentBp(), a => this.media.isActive(a)) ?? 'row'), ...(ngDevMode ? [{ debugName: "_parsed" }] : /* istanbul ignore next */ []));
2168
+ 'lg-down': this.lgDown(), 'xl-down': this.xlDown() }, this.media.currentBp(), a => this.media.isActive(a)), ...(ngDevMode ? [{ debugName: "_resolved" }] : /* istanbul ignore next */ []));
2056
2169
  effect(() => {
2057
- const [dir, wrap] = this._parsed();
2058
- this.safeSetStyle('flex-direction', dir);
2059
- this.safeSetStyle('flex-wrap', wrap);
2170
+ const v = this._resolved();
2171
+ v ? this.safeSetStyle('grid-column', v)
2172
+ : this.r2.removeStyle(this.el.nativeElement, 'grid-column');
2060
2173
  });
2061
2174
  }
2062
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxLayoutDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2063
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxLayoutDirective, isStandalone: true, selector: "\n [fxLayout],\n [fxLayout.xs],[fxLayout.sm],[fxLayout.md],[fxLayout.lg],[fxLayout.xl],[fxLayout.xxl],\n [fxLayout.lt-sm],[fxLayout.lt-md],[fxLayout.lt-lg],[fxLayout.lt-xl],[fxLayout.lt-xxl],\n [fxLayout.gt-xs],[fxLayout.gt-sm],[fxLayout.gt-md],[fxLayout.gt-lg],[fxLayout.gt-xl],\n [fxLayout.sm-up],[fxLayout.md-up],[fxLayout.lg-up],[fxLayout.xl-up],[fxLayout.xxl-up],\n [fxLayout.sm-down],[fxLayout.md-down],[fxLayout.lg-down],[fxLayout.xl-down]\n ", inputs: { fxLayout: { classPropertyName: "fxLayout", publicName: "fxLayout", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "fxLayout.xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "fxLayout.sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "fxLayout.md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "fxLayout.lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "fxLayout.xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "fxLayout.xxl", isSignal: true, isRequired: false, transformFunction: null }, ltSm: { classPropertyName: "ltSm", publicName: "fxLayout.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, ltMd: { classPropertyName: "ltMd", publicName: "fxLayout.lt-md", isSignal: true, isRequired: false, transformFunction: null }, ltLg: { classPropertyName: "ltLg", publicName: "fxLayout.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, ltXl: { classPropertyName: "ltXl", publicName: "fxLayout.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, ltXxl: { classPropertyName: "ltXxl", publicName: "fxLayout.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gtXs: { classPropertyName: "gtXs", publicName: "fxLayout.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gtSm: { classPropertyName: "gtSm", publicName: "fxLayout.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gtMd: { classPropertyName: "gtMd", publicName: "fxLayout.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gtLg: { classPropertyName: "gtLg", publicName: "fxLayout.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gtXl: { classPropertyName: "gtXl", publicName: "fxLayout.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, smUp: { classPropertyName: "smUp", publicName: "fxLayout.sm-up", isSignal: true, isRequired: false, transformFunction: null }, mdUp: { classPropertyName: "mdUp", publicName: "fxLayout.md-up", isSignal: true, isRequired: false, transformFunction: null }, lgUp: { classPropertyName: "lgUp", publicName: "fxLayout.lg-up", isSignal: true, isRequired: false, transformFunction: null }, xlUp: { classPropertyName: "xlUp", publicName: "fxLayout.xl-up", isSignal: true, isRequired: false, transformFunction: null }, xxlUp: { classPropertyName: "xxlUp", publicName: "fxLayout.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, smDown: { classPropertyName: "smDown", publicName: "fxLayout.sm-down", isSignal: true, isRequired: false, transformFunction: null }, mdDown: { classPropertyName: "mdDown", publicName: "fxLayout.md-down", isSignal: true, isRequired: false, transformFunction: null }, lgDown: { classPropertyName: "lgDown", publicName: "fxLayout.lg-down", isSignal: true, isRequired: false, transformFunction: null }, xlDown: { classPropertyName: "xlDown", publicName: "fxLayout.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.display": "\"flex\"" } }, usesInheritance: true, ngImport: i0 }); }
2175
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxGridColumnDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2176
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxGridColumnDirective, isStandalone: true, selector: "\n [fxGridColumn],\n [fxGridColumn.xs],[fxGridColumn.sm],[fxGridColumn.md],[fxGridColumn.lg],[fxGridColumn.xl],[fxGridColumn.xxl],\n [fxGridColumn.lt-sm],[fxGridColumn.lt-md],[fxGridColumn.lt-lg],[fxGridColumn.lt-xl],[fxGridColumn.lt-xxl],\n [fxGridColumn.gt-xs],[fxGridColumn.gt-sm],[fxGridColumn.gt-md],[fxGridColumn.gt-lg],[fxGridColumn.gt-xl],\n [fxGridColumn.sm-up],[fxGridColumn.md-up],[fxGridColumn.lg-up],[fxGridColumn.xl-up],[fxGridColumn.xxl-up],\n [fxGridColumn.sm-down],[fxGridColumn.md-down],[fxGridColumn.lg-down],[fxGridColumn.xl-down]\n ", inputs: { fxGridColumn: { classPropertyName: "fxGridColumn", publicName: "fxGridColumn", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "fxGridColumn.xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "fxGridColumn.sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "fxGridColumn.md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "fxGridColumn.lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "fxGridColumn.xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "fxGridColumn.xxl", isSignal: true, isRequired: false, transformFunction: null }, ltSm: { classPropertyName: "ltSm", publicName: "fxGridColumn.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, ltMd: { classPropertyName: "ltMd", publicName: "fxGridColumn.lt-md", isSignal: true, isRequired: false, transformFunction: null }, ltLg: { classPropertyName: "ltLg", publicName: "fxGridColumn.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, ltXl: { classPropertyName: "ltXl", publicName: "fxGridColumn.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, ltXxl: { classPropertyName: "ltXxl", publicName: "fxGridColumn.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gtXs: { classPropertyName: "gtXs", publicName: "fxGridColumn.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gtSm: { classPropertyName: "gtSm", publicName: "fxGridColumn.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gtMd: { classPropertyName: "gtMd", publicName: "fxGridColumn.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gtLg: { classPropertyName: "gtLg", publicName: "fxGridColumn.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gtXl: { classPropertyName: "gtXl", publicName: "fxGridColumn.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, smUp: { classPropertyName: "smUp", publicName: "fxGridColumn.sm-up", isSignal: true, isRequired: false, transformFunction: null }, mdUp: { classPropertyName: "mdUp", publicName: "fxGridColumn.md-up", isSignal: true, isRequired: false, transformFunction: null }, lgUp: { classPropertyName: "lgUp", publicName: "fxGridColumn.lg-up", isSignal: true, isRequired: false, transformFunction: null }, xlUp: { classPropertyName: "xlUp", publicName: "fxGridColumn.xl-up", isSignal: true, isRequired: false, transformFunction: null }, xxlUp: { classPropertyName: "xxlUp", publicName: "fxGridColumn.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, smDown: { classPropertyName: "smDown", publicName: "fxGridColumn.sm-down", isSignal: true, isRequired: false, transformFunction: null }, mdDown: { classPropertyName: "mdDown", publicName: "fxGridColumn.md-down", isSignal: true, isRequired: false, transformFunction: null }, lgDown: { classPropertyName: "lgDown", publicName: "fxGridColumn.lg-down", isSignal: true, isRequired: false, transformFunction: null }, xlDown: { classPropertyName: "xlDown", publicName: "fxGridColumn.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
2064
2177
  }
2065
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxLayoutDirective, decorators: [{
2178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxGridColumnDirective, decorators: [{
2066
2179
  type: Directive,
2067
2180
  args: [{
2068
- selector: `
2069
- [fxLayout],
2070
- [fxLayout.xs],[fxLayout.sm],[fxLayout.md],[fxLayout.lg],[fxLayout.xl],[fxLayout.xxl],
2071
- [fxLayout.lt-sm],[fxLayout.lt-md],[fxLayout.lt-lg],[fxLayout.lt-xl],[fxLayout.lt-xxl],
2072
- [fxLayout.gt-xs],[fxLayout.gt-sm],[fxLayout.gt-md],[fxLayout.gt-lg],[fxLayout.gt-xl],
2073
- [fxLayout.sm-up],[fxLayout.md-up],[fxLayout.lg-up],[fxLayout.xl-up],[fxLayout.xxl-up],
2074
- [fxLayout.sm-down],[fxLayout.md-down],[fxLayout.lg-down],[fxLayout.xl-down]
2181
+ selector: `
2182
+ [fxGridColumn],
2183
+ [fxGridColumn.xs],[fxGridColumn.sm],[fxGridColumn.md],[fxGridColumn.lg],[fxGridColumn.xl],[fxGridColumn.xxl],
2184
+ [fxGridColumn.lt-sm],[fxGridColumn.lt-md],[fxGridColumn.lt-lg],[fxGridColumn.lt-xl],[fxGridColumn.lt-xxl],
2185
+ [fxGridColumn.gt-xs],[fxGridColumn.gt-sm],[fxGridColumn.gt-md],[fxGridColumn.gt-lg],[fxGridColumn.gt-xl],
2186
+ [fxGridColumn.sm-up],[fxGridColumn.md-up],[fxGridColumn.lg-up],[fxGridColumn.xl-up],[fxGridColumn.xxl-up],
2187
+ [fxGridColumn.sm-down],[fxGridColumn.md-down],[fxGridColumn.lg-down],[fxGridColumn.xl-down]
2075
2188
  `,
2076
2189
  standalone: true,
2077
- host: { '[style.display]': '"flex"' },
2078
2190
  }]
2079
- }], ctorParameters: () => [], propDecorators: { fxLayout: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.xxl", required: false }] }], ltSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.lt-sm", required: false }] }], ltMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.lt-md", required: false }] }], ltLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.lt-lg", required: false }] }], ltXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.lt-xl", required: false }] }], ltXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.lt-xxl", required: false }] }], gtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.gt-xs", required: false }] }], gtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.gt-sm", required: false }] }], gtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.gt-md", required: false }] }], gtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.gt-lg", required: false }] }], gtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.gt-xl", required: false }] }], smUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.sm-up", required: false }] }], mdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.md-up", required: false }] }], lgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.lg-up", required: false }] }], xlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.xl-up", required: false }] }], xxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.xxl-up", required: false }] }], smDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.sm-down", required: false }] }], mdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.md-down", required: false }] }], lgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.lg-down", required: false }] }], xlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.xl-down", required: false }] }] } });
2080
- class FxLayoutWrapDirective extends ResponsiveBaseDirective {
2191
+ }], ctorParameters: () => [], propDecorators: { fxGridColumn: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.xxl", required: false }] }], ltSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.lt-sm", required: false }] }], ltMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.lt-md", required: false }] }], ltLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.lt-lg", required: false }] }], ltXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.lt-xl", required: false }] }], ltXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.lt-xxl", required: false }] }], gtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.gt-xs", required: false }] }], gtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.gt-sm", required: false }] }], gtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.gt-md", required: false }] }], gtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.gt-lg", required: false }] }], gtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.gt-xl", required: false }] }], smUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.sm-up", required: false }] }], mdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.md-up", required: false }] }], lgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.lg-up", required: false }] }], xlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.xl-up", required: false }] }], xxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.xxl-up", required: false }] }], smDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.sm-down", required: false }] }], mdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.md-down", required: false }] }], lgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.lg-down", required: false }] }], xlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.xl-down", required: false }] }] } });
2192
+ // ─── fxGridArea ───────────────────────────────────────────────────────────────
2193
+ class FxGridAreaDirective extends ResponsiveBaseDirective {
2081
2194
  constructor() {
2082
2195
  super();
2083
- this.fxLayoutWrap = input('wrap', { ...(ngDevMode ? { debugName: "fxLayoutWrap" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap' });
2084
- this.xs = input(undefined, { ...(ngDevMode ? { debugName: "xs" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.xs' });
2085
- this.sm = input(undefined, { ...(ngDevMode ? { debugName: "sm" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.sm' });
2086
- this.md = input(undefined, { ...(ngDevMode ? { debugName: "md" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.md' });
2087
- this.lg = input(undefined, { ...(ngDevMode ? { debugName: "lg" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.lg' });
2088
- this.xl = input(undefined, { ...(ngDevMode ? { debugName: "xl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.xl' });
2089
- this.xxl = input(undefined, { ...(ngDevMode ? { debugName: "xxl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.xxl' });
2090
- this.ltSm = input(undefined, { ...(ngDevMode ? { debugName: "ltSm" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.lt-sm' });
2091
- this.ltMd = input(undefined, { ...(ngDevMode ? { debugName: "ltMd" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.lt-md' });
2092
- this.ltLg = input(undefined, { ...(ngDevMode ? { debugName: "ltLg" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.lt-lg' });
2093
- this.ltXl = input(undefined, { ...(ngDevMode ? { debugName: "ltXl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.lt-xl' });
2094
- this.ltXxl = input(undefined, { ...(ngDevMode ? { debugName: "ltXxl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.lt-xxl' });
2095
- this.gtXs = input(undefined, { ...(ngDevMode ? { debugName: "gtXs" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.gt-xs' });
2096
- this.gtSm = input(undefined, { ...(ngDevMode ? { debugName: "gtSm" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.gt-sm' });
2097
- this.gtMd = input(undefined, { ...(ngDevMode ? { debugName: "gtMd" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.gt-md' });
2098
- this.gtLg = input(undefined, { ...(ngDevMode ? { debugName: "gtLg" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.gt-lg' });
2099
- this.gtXl = input(undefined, { ...(ngDevMode ? { debugName: "gtXl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.gt-xl' });
2100
- this.smUp = input(undefined, { ...(ngDevMode ? { debugName: "smUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.sm-up' });
2101
- this.mdUp = input(undefined, { ...(ngDevMode ? { debugName: "mdUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.md-up' });
2102
- this.lgUp = input(undefined, { ...(ngDevMode ? { debugName: "lgUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.lg-up' });
2103
- this.xlUp = input(undefined, { ...(ngDevMode ? { debugName: "xlUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.xl-up' });
2104
- this.xxlUp = input(undefined, { ...(ngDevMode ? { debugName: "xxlUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.xxl-up' });
2105
- this.smDown = input(undefined, { ...(ngDevMode ? { debugName: "smDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.sm-down' });
2106
- this.mdDown = input(undefined, { ...(ngDevMode ? { debugName: "mdDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.md-down' });
2107
- this.lgDown = input(undefined, { ...(ngDevMode ? { debugName: "lgDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.lg-down' });
2108
- this.xlDown = input(undefined, { ...(ngDevMode ? { debugName: "xlDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.xl-down' });
2109
- this._wrap = computed(() => {
2110
- const w = resolveAll({ default: this.fxLayoutWrap(), xs: this.xs(), sm: this.sm(), md: this.md(),
2111
- lg: this.lg(), xl: this.xl(), xxl: this.xxl() }, { 'lt-sm': this.ltSm(), 'lt-md': this.ltMd(), 'lt-lg': this.ltLg(),
2112
- 'lt-xl': this.ltXl(), 'lt-xxl': this.ltXxl(),
2113
- 'gt-xs': this.gtXs(), 'gt-sm': this.gtSm(), 'gt-md': this.gtMd(),
2114
- 'gt-lg': this.gtLg(), 'gt-xl': this.gtXl(),
2115
- 'sm-up': this.smUp(), 'md-up': this.mdUp(), 'lg-up': this.lgUp(),
2116
- 'xl-up': this.xlUp(), 'xxl-up': this.xxlUp(),
2117
- 'sm-down': this.smDown(), 'md-down': this.mdDown(),
2118
- 'lg-down': this.lgDown(), 'xl-down': this.xlDown() }, this.media.currentBp(), a => this.media.isActive(a)) ?? 'wrap';
2119
- return VALID_WRAPS.has(w) ? w : 'wrap';
2120
- }, ...(ngDevMode ? [{ debugName: "_wrap" }] : /* istanbul ignore next */ []));
2121
- effect(() => { this.safeSetStyle('flex-wrap', this._wrap()); });
2196
+ this.fxGridArea = input(undefined, { ...(ngDevMode ? { debugName: "fxGridArea" } : /* istanbul ignore next */ {}), alias: 'fxGridArea' });
2197
+ this.xs = input(undefined, { ...(ngDevMode ? { debugName: "xs" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.xs' });
2198
+ this.sm = input(undefined, { ...(ngDevMode ? { debugName: "sm" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.sm' });
2199
+ this.md = input(undefined, { ...(ngDevMode ? { debugName: "md" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.md' });
2200
+ this.lg = input(undefined, { ...(ngDevMode ? { debugName: "lg" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.lg' });
2201
+ this.xl = input(undefined, { ...(ngDevMode ? { debugName: "xl" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.xl' });
2202
+ this.xxl = input(undefined, { ...(ngDevMode ? { debugName: "xxl" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.xxl' });
2203
+ this.ltSm = input(undefined, { ...(ngDevMode ? { debugName: "ltSm" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.lt-sm' });
2204
+ this.ltMd = input(undefined, { ...(ngDevMode ? { debugName: "ltMd" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.lt-md' });
2205
+ this.ltLg = input(undefined, { ...(ngDevMode ? { debugName: "ltLg" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.lt-lg' });
2206
+ this.ltXl = input(undefined, { ...(ngDevMode ? { debugName: "ltXl" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.lt-xl' });
2207
+ this.ltXxl = input(undefined, { ...(ngDevMode ? { debugName: "ltXxl" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.lt-xxl' });
2208
+ this.gtXs = input(undefined, { ...(ngDevMode ? { debugName: "gtXs" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.gt-xs' });
2209
+ this.gtSm = input(undefined, { ...(ngDevMode ? { debugName: "gtSm" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.gt-sm' });
2210
+ this.gtMd = input(undefined, { ...(ngDevMode ? { debugName: "gtMd" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.gt-md' });
2211
+ this.gtLg = input(undefined, { ...(ngDevMode ? { debugName: "gtLg" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.gt-lg' });
2212
+ this.gtXl = input(undefined, { ...(ngDevMode ? { debugName: "gtXl" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.gt-xl' });
2213
+ this.smUp = input(undefined, { ...(ngDevMode ? { debugName: "smUp" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.sm-up' });
2214
+ this.mdUp = input(undefined, { ...(ngDevMode ? { debugName: "mdUp" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.md-up' });
2215
+ this.lgUp = input(undefined, { ...(ngDevMode ? { debugName: "lgUp" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.lg-up' });
2216
+ this.xlUp = input(undefined, { ...(ngDevMode ? { debugName: "xlUp" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.xl-up' });
2217
+ this.xxlUp = input(undefined, { ...(ngDevMode ? { debugName: "xxlUp" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.xxl-up' });
2218
+ this.smDown = input(undefined, { ...(ngDevMode ? { debugName: "smDown" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.sm-down' });
2219
+ this.mdDown = input(undefined, { ...(ngDevMode ? { debugName: "mdDown" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.md-down' });
2220
+ this.lgDown = input(undefined, { ...(ngDevMode ? { debugName: "lgDown" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.lg-down' });
2221
+ this.xlDown = input(undefined, { ...(ngDevMode ? { debugName: "xlDown" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.xl-down' });
2222
+ this._resolved = computed(() => resolveAll({ default: this.fxGridArea(), xs: this.xs(), sm: this.sm(),
2223
+ md: this.md(), lg: this.lg(), xl: this.xl(), xxl: this.xxl() }, { 'lt-sm': this.ltSm(), 'lt-md': this.ltMd(), 'lt-lg': this.ltLg(),
2224
+ 'lt-xl': this.ltXl(), 'lt-xxl': this.ltXxl(),
2225
+ 'gt-xs': this.gtXs(), 'gt-sm': this.gtSm(), 'gt-md': this.gtMd(),
2226
+ 'gt-lg': this.gtLg(), 'gt-xl': this.gtXl(),
2227
+ 'sm-up': this.smUp(), 'md-up': this.mdUp(), 'lg-up': this.lgUp(),
2228
+ 'xl-up': this.xlUp(), 'xxl-up': this.xxlUp(),
2229
+ 'sm-down': this.smDown(), 'md-down': this.mdDown(),
2230
+ 'lg-down': this.lgDown(), 'xl-down': this.xlDown() }, this.media.currentBp(), a => this.media.isActive(a)), ...(ngDevMode ? [{ debugName: "_resolved" }] : /* istanbul ignore next */ []));
2231
+ effect(() => {
2232
+ const v = this._resolved();
2233
+ v ? this.safeSetStyle('grid-area', v)
2234
+ : this.r2.removeStyle(this.el.nativeElement, 'grid-area');
2235
+ });
2122
2236
  }
2123
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxLayoutWrapDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2124
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxLayoutWrapDirective, isStandalone: true, selector: "\n [fxLayoutWrap],\n [fxLayoutWrap.xs],[fxLayoutWrap.sm],[fxLayoutWrap.md],[fxLayoutWrap.lg],[fxLayoutWrap.xl],[fxLayoutWrap.xxl],\n [fxLayoutWrap.lt-sm],[fxLayoutWrap.lt-md],[fxLayoutWrap.lt-lg],[fxLayoutWrap.lt-xl],[fxLayoutWrap.lt-xxl],\n [fxLayoutWrap.gt-xs],[fxLayoutWrap.gt-sm],[fxLayoutWrap.gt-md],[fxLayoutWrap.gt-lg],[fxLayoutWrap.gt-xl],\n [fxLayoutWrap.sm-up],[fxLayoutWrap.md-up],[fxLayoutWrap.lg-up],[fxLayoutWrap.xl-up],[fxLayoutWrap.xxl-up],\n [fxLayoutWrap.sm-down],[fxLayoutWrap.md-down],[fxLayoutWrap.lg-down],[fxLayoutWrap.xl-down]\n ", inputs: { fxLayoutWrap: { classPropertyName: "fxLayoutWrap", publicName: "fxLayoutWrap", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "fxLayoutWrap.xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "fxLayoutWrap.sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "fxLayoutWrap.md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "fxLayoutWrap.lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "fxLayoutWrap.xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "fxLayoutWrap.xxl", isSignal: true, isRequired: false, transformFunction: null }, ltSm: { classPropertyName: "ltSm", publicName: "fxLayoutWrap.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, ltMd: { classPropertyName: "ltMd", publicName: "fxLayoutWrap.lt-md", isSignal: true, isRequired: false, transformFunction: null }, ltLg: { classPropertyName: "ltLg", publicName: "fxLayoutWrap.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, ltXl: { classPropertyName: "ltXl", publicName: "fxLayoutWrap.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, ltXxl: { classPropertyName: "ltXxl", publicName: "fxLayoutWrap.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gtXs: { classPropertyName: "gtXs", publicName: "fxLayoutWrap.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gtSm: { classPropertyName: "gtSm", publicName: "fxLayoutWrap.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gtMd: { classPropertyName: "gtMd", publicName: "fxLayoutWrap.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gtLg: { classPropertyName: "gtLg", publicName: "fxLayoutWrap.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gtXl: { classPropertyName: "gtXl", publicName: "fxLayoutWrap.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, smUp: { classPropertyName: "smUp", publicName: "fxLayoutWrap.sm-up", isSignal: true, isRequired: false, transformFunction: null }, mdUp: { classPropertyName: "mdUp", publicName: "fxLayoutWrap.md-up", isSignal: true, isRequired: false, transformFunction: null }, lgUp: { classPropertyName: "lgUp", publicName: "fxLayoutWrap.lg-up", isSignal: true, isRequired: false, transformFunction: null }, xlUp: { classPropertyName: "xlUp", publicName: "fxLayoutWrap.xl-up", isSignal: true, isRequired: false, transformFunction: null }, xxlUp: { classPropertyName: "xxlUp", publicName: "fxLayoutWrap.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, smDown: { classPropertyName: "smDown", publicName: "fxLayoutWrap.sm-down", isSignal: true, isRequired: false, transformFunction: null }, mdDown: { classPropertyName: "mdDown", publicName: "fxLayoutWrap.md-down", isSignal: true, isRequired: false, transformFunction: null }, lgDown: { classPropertyName: "lgDown", publicName: "fxLayoutWrap.lg-down", isSignal: true, isRequired: false, transformFunction: null }, xlDown: { classPropertyName: "xlDown", publicName: "fxLayoutWrap.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
2237
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxGridAreaDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2238
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxGridAreaDirective, isStandalone: true, selector: "\n [fxGridArea],\n [fxGridArea.xs],[fxGridArea.sm],[fxGridArea.md],[fxGridArea.lg],[fxGridArea.xl],[fxGridArea.xxl],\n [fxGridArea.lt-sm],[fxGridArea.lt-md],[fxGridArea.lt-lg],[fxGridArea.lt-xl],[fxGridArea.lt-xxl],\n [fxGridArea.gt-xs],[fxGridArea.gt-sm],[fxGridArea.gt-md],[fxGridArea.gt-lg],[fxGridArea.gt-xl],\n [fxGridArea.sm-up],[fxGridArea.md-up],[fxGridArea.lg-up],[fxGridArea.xl-up],[fxGridArea.xxl-up],\n [fxGridArea.sm-down],[fxGridArea.md-down],[fxGridArea.lg-down],[fxGridArea.xl-down]\n ", inputs: { fxGridArea: { classPropertyName: "fxGridArea", publicName: "fxGridArea", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "fxGridArea.xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "fxGridArea.sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "fxGridArea.md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "fxGridArea.lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "fxGridArea.xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "fxGridArea.xxl", isSignal: true, isRequired: false, transformFunction: null }, ltSm: { classPropertyName: "ltSm", publicName: "fxGridArea.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, ltMd: { classPropertyName: "ltMd", publicName: "fxGridArea.lt-md", isSignal: true, isRequired: false, transformFunction: null }, ltLg: { classPropertyName: "ltLg", publicName: "fxGridArea.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, ltXl: { classPropertyName: "ltXl", publicName: "fxGridArea.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, ltXxl: { classPropertyName: "ltXxl", publicName: "fxGridArea.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gtXs: { classPropertyName: "gtXs", publicName: "fxGridArea.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gtSm: { classPropertyName: "gtSm", publicName: "fxGridArea.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gtMd: { classPropertyName: "gtMd", publicName: "fxGridArea.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gtLg: { classPropertyName: "gtLg", publicName: "fxGridArea.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gtXl: { classPropertyName: "gtXl", publicName: "fxGridArea.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, smUp: { classPropertyName: "smUp", publicName: "fxGridArea.sm-up", isSignal: true, isRequired: false, transformFunction: null }, mdUp: { classPropertyName: "mdUp", publicName: "fxGridArea.md-up", isSignal: true, isRequired: false, transformFunction: null }, lgUp: { classPropertyName: "lgUp", publicName: "fxGridArea.lg-up", isSignal: true, isRequired: false, transformFunction: null }, xlUp: { classPropertyName: "xlUp", publicName: "fxGridArea.xl-up", isSignal: true, isRequired: false, transformFunction: null }, xxlUp: { classPropertyName: "xxlUp", publicName: "fxGridArea.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, smDown: { classPropertyName: "smDown", publicName: "fxGridArea.sm-down", isSignal: true, isRequired: false, transformFunction: null }, mdDown: { classPropertyName: "mdDown", publicName: "fxGridArea.md-down", isSignal: true, isRequired: false, transformFunction: null }, lgDown: { classPropertyName: "lgDown", publicName: "fxGridArea.lg-down", isSignal: true, isRequired: false, transformFunction: null }, xlDown: { classPropertyName: "xlDown", publicName: "fxGridArea.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
2125
2239
  }
2126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxLayoutWrapDirective, decorators: [{
2240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxGridAreaDirective, decorators: [{
2127
2241
  type: Directive,
2128
2242
  args: [{
2129
- selector: `
2130
- [fxLayoutWrap],
2131
- [fxLayoutWrap.xs],[fxLayoutWrap.sm],[fxLayoutWrap.md],[fxLayoutWrap.lg],[fxLayoutWrap.xl],[fxLayoutWrap.xxl],
2132
- [fxLayoutWrap.lt-sm],[fxLayoutWrap.lt-md],[fxLayoutWrap.lt-lg],[fxLayoutWrap.lt-xl],[fxLayoutWrap.lt-xxl],
2133
- [fxLayoutWrap.gt-xs],[fxLayoutWrap.gt-sm],[fxLayoutWrap.gt-md],[fxLayoutWrap.gt-lg],[fxLayoutWrap.gt-xl],
2134
- [fxLayoutWrap.sm-up],[fxLayoutWrap.md-up],[fxLayoutWrap.lg-up],[fxLayoutWrap.xl-up],[fxLayoutWrap.xxl-up],
2135
- [fxLayoutWrap.sm-down],[fxLayoutWrap.md-down],[fxLayoutWrap.lg-down],[fxLayoutWrap.xl-down]
2243
+ selector: `
2244
+ [fxGridArea],
2245
+ [fxGridArea.xs],[fxGridArea.sm],[fxGridArea.md],[fxGridArea.lg],[fxGridArea.xl],[fxGridArea.xxl],
2246
+ [fxGridArea.lt-sm],[fxGridArea.lt-md],[fxGridArea.lt-lg],[fxGridArea.lt-xl],[fxGridArea.lt-xxl],
2247
+ [fxGridArea.gt-xs],[fxGridArea.gt-sm],[fxGridArea.gt-md],[fxGridArea.gt-lg],[fxGridArea.gt-xl],
2248
+ [fxGridArea.sm-up],[fxGridArea.md-up],[fxGridArea.lg-up],[fxGridArea.xl-up],[fxGridArea.xxl-up],
2249
+ [fxGridArea.sm-down],[fxGridArea.md-down],[fxGridArea.lg-down],[fxGridArea.xl-down]
2136
2250
  `,
2137
2251
  standalone: true,
2138
2252
  }]
2139
- }], ctorParameters: () => [], propDecorators: { fxLayoutWrap: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.xxl", required: false }] }], ltSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.lt-sm", required: false }] }], ltMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.lt-md", required: false }] }], ltLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.lt-lg", required: false }] }], ltXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.lt-xl", required: false }] }], ltXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.lt-xxl", required: false }] }], gtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.gt-xs", required: false }] }], gtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.gt-sm", required: false }] }], gtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.gt-md", required: false }] }], gtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.gt-lg", required: false }] }], gtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.gt-xl", required: false }] }], smUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.sm-up", required: false }] }], mdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.md-up", required: false }] }], lgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.lg-up", required: false }] }], xlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.xl-up", required: false }] }], xxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.xxl-up", required: false }] }], smDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.sm-down", required: false }] }], mdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.md-down", required: false }] }], lgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.lg-down", required: false }] }], xlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.xl-down", required: false }] }] } });
2253
+ }], ctorParameters: () => [], propDecorators: { fxGridArea: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.xxl", required: false }] }], ltSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.lt-sm", required: false }] }], ltMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.lt-md", required: false }] }], ltLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.lt-lg", required: false }] }], ltXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.lt-xl", required: false }] }], ltXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.lt-xxl", required: false }] }], gtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.gt-xs", required: false }] }], gtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.gt-sm", required: false }] }], gtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.gt-md", required: false }] }], gtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.gt-lg", required: false }] }], gtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.gt-xl", required: false }] }], smUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.sm-up", required: false }] }], mdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.md-up", required: false }] }], lgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.lg-up", required: false }] }], xlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.xl-up", required: false }] }], xxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.xxl-up", required: false }] }], smDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.sm-down", required: false }] }], mdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.md-down", required: false }] }], lgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.lg-down", required: false }] }], xlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.xl-down", required: false }] }] } });
2140
2254
 
2141
2255
  /**
2142
- * @file fx-show-hide.directives.ts (Angular 21 signals)
2256
+ * @file fx-layout-align.directive.ts (Angular 21 — signals)
2143
2257
  *
2144
- * [fxShow] / [fxHide] — responsive visibility via display:none.
2145
- * Elements stay in the DOM (unlike *ifBp which removes them).
2258
+ * [fxLayoutAlign] — sets justify-content + align-items on a flex container.
2146
2259
  *
2147
- * IMPORTANT: fxShow and fxHide are implemented as a SINGLE directive class
2148
- * (FxShowHideDirective) so that mixed patterns like
2149
- * <div fxHide fxShow.xs> ← hidden everywhere, shown on xs
2150
- * <div fxShow fxHide.lt-lg> ← shown everywhere, hidden below lg
2151
- * work correctly.
2260
+ * Format: "mainAxis crossAxis"
2261
+ * mainAxis : start | center | end | space-between | space-around | space-evenly
2262
+ * crossAxis : start | center | end | stretch | baseline (default: stretch)
2152
2263
  *
2153
- * Resolution algorithm (no mobile-first cascade — semantics for show/hide
2154
- * are point-in-time, not cumulative):
2155
- * 1. Non-canonical (lt-*, gt-*, *-up, *-down) isActive checks most specific first
2156
- * 2. Exact canonical match for current bp
2157
- * 3. Default values (fxShow / fxHide without suffix)
2158
- * 4. Fallback: visible (true)
2264
+ * Angular 21 changes:
2265
+ * • All @Input setters replaced by input() signals
2266
+ * • computed() derives the resolved CSS pair
2267
+ * • effect() in constructor writes to DOM
2159
2268
  *
2160
- * When both show and hide match at the same priority level, show wins.
2269
+ * Breakpoint suffixes: canonical + lt-* + gt-* + *-up + *-down
2270
+ */
2271
+ const MAIN_MAP = {
2272
+ 'start': 'flex-start', 'end': 'flex-end', 'center': 'center',
2273
+ 'space-between': 'space-between', 'space-around': 'space-around', 'space-evenly': 'space-evenly',
2274
+ };
2275
+ const CROSS_MAP = {
2276
+ 'start': 'flex-start', 'end': 'flex-end', 'center': 'center',
2277
+ 'stretch': 'stretch', 'baseline': 'baseline',
2278
+ };
2279
+ function parseAlign(raw) {
2280
+ const [main = 'start', cross = 'stretch'] = raw.trim().split(/\s+/);
2281
+ if (isDevMode() && !MAIN_MAP[main])
2282
+ console.warn(`[fxLayoutAlign] Unknown mainAxis: "${main}"`);
2283
+ if (isDevMode() && !CROSS_MAP[cross])
2284
+ console.warn(`[fxLayoutAlign] Unknown crossAxis: "${cross}"`);
2285
+ return [MAIN_MAP[main] ?? 'flex-start', CROSS_MAP[cross] ?? 'stretch'];
2286
+ }
2287
+ class FxLayoutAlignDirective extends ResponsiveBaseDirective {
2288
+ constructor() {
2289
+ super();
2290
+ this.fxLayoutAlign = input(undefined, { ...(ngDevMode ? { debugName: "fxLayoutAlign" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign' });
2291
+ this.xs = input(undefined, { ...(ngDevMode ? { debugName: "xs" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.xs' });
2292
+ this.sm = input(undefined, { ...(ngDevMode ? { debugName: "sm" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.sm' });
2293
+ this.md = input(undefined, { ...(ngDevMode ? { debugName: "md" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.md' });
2294
+ this.lg = input(undefined, { ...(ngDevMode ? { debugName: "lg" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.lg' });
2295
+ this.xl = input(undefined, { ...(ngDevMode ? { debugName: "xl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.xl' });
2296
+ this.xxl = input(undefined, { ...(ngDevMode ? { debugName: "xxl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.xxl' });
2297
+ this.ltSm = input(undefined, { ...(ngDevMode ? { debugName: "ltSm" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.lt-sm' });
2298
+ this.ltMd = input(undefined, { ...(ngDevMode ? { debugName: "ltMd" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.lt-md' });
2299
+ this.ltLg = input(undefined, { ...(ngDevMode ? { debugName: "ltLg" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.lt-lg' });
2300
+ this.ltXl = input(undefined, { ...(ngDevMode ? { debugName: "ltXl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.lt-xl' });
2301
+ this.ltXxl = input(undefined, { ...(ngDevMode ? { debugName: "ltXxl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.lt-xxl' });
2302
+ this.gtXs = input(undefined, { ...(ngDevMode ? { debugName: "gtXs" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.gt-xs' });
2303
+ this.gtSm = input(undefined, { ...(ngDevMode ? { debugName: "gtSm" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.gt-sm' });
2304
+ this.gtMd = input(undefined, { ...(ngDevMode ? { debugName: "gtMd" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.gt-md' });
2305
+ this.gtLg = input(undefined, { ...(ngDevMode ? { debugName: "gtLg" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.gt-lg' });
2306
+ this.gtXl = input(undefined, { ...(ngDevMode ? { debugName: "gtXl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.gt-xl' });
2307
+ this.smUp = input(undefined, { ...(ngDevMode ? { debugName: "smUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.sm-up' });
2308
+ this.mdUp = input(undefined, { ...(ngDevMode ? { debugName: "mdUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.md-up' });
2309
+ this.lgUp = input(undefined, { ...(ngDevMode ? { debugName: "lgUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.lg-up' });
2310
+ this.xlUp = input(undefined, { ...(ngDevMode ? { debugName: "xlUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.xl-up' });
2311
+ this.xxlUp = input(undefined, { ...(ngDevMode ? { debugName: "xxlUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.xxl-up' });
2312
+ this.smDown = input(undefined, { ...(ngDevMode ? { debugName: "smDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.sm-down' });
2313
+ this.mdDown = input(undefined, { ...(ngDevMode ? { debugName: "mdDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.md-down' });
2314
+ this.lgDown = input(undefined, { ...(ngDevMode ? { debugName: "lgDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.lg-down' });
2315
+ this.xlDown = input(undefined, { ...(ngDevMode ? { debugName: "xlDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutAlign.xl-down' });
2316
+ this._parsed = computed(() => parseAlign(resolveAll({ default: this.fxLayoutAlign(), xs: this.xs(), sm: this.sm(), md: this.md(),
2317
+ lg: this.lg(), xl: this.xl(), xxl: this.xxl() }, { 'lt-sm': this.ltSm(), 'lt-md': this.ltMd(), 'lt-lg': this.ltLg(),
2318
+ 'lt-xl': this.ltXl(), 'lt-xxl': this.ltXxl(),
2319
+ 'gt-xs': this.gtXs(), 'gt-sm': this.gtSm(), 'gt-md': this.gtMd(),
2320
+ 'gt-lg': this.gtLg(), 'gt-xl': this.gtXl(),
2321
+ 'sm-up': this.smUp(), 'md-up': this.mdUp(), 'lg-up': this.lgUp(),
2322
+ 'xl-up': this.xlUp(), 'xxl-up': this.xxlUp(),
2323
+ 'sm-down': this.smDown(), 'md-down': this.mdDown(),
2324
+ 'lg-down': this.lgDown(), 'xl-down': this.xlDown() }, this.media.currentBp(), a => this.media.isActive(a)) ?? 'start stretch'), ...(ngDevMode ? [{ debugName: "_parsed" }] : /* istanbul ignore next */ []));
2325
+ effect(() => {
2326
+ const [jc, ai] = this._parsed();
2327
+ // fxLayoutAlign implies a flex container — set display:flex if not already
2328
+ // set by fxLayout (which uses host binding). This makes fxLayoutAlign work
2329
+ // standalone (e.g. <div fxFlex="*" fxLayoutAlign="end">).
2330
+ this.r2.setStyle(this.el.nativeElement, 'display', 'flex');
2331
+ this.safeSetStyle('justify-content', jc);
2332
+ this.safeSetStyle('align-items', ai);
2333
+ });
2334
+ }
2335
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxLayoutAlignDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2336
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxLayoutAlignDirective, isStandalone: true, selector: "\n [fxLayoutAlign],\n [fxLayoutAlign.xs],[fxLayoutAlign.sm],[fxLayoutAlign.md],[fxLayoutAlign.lg],[fxLayoutAlign.xl],[fxLayoutAlign.xxl],\n [fxLayoutAlign.lt-sm],[fxLayoutAlign.lt-md],[fxLayoutAlign.lt-lg],[fxLayoutAlign.lt-xl],[fxLayoutAlign.lt-xxl],\n [fxLayoutAlign.gt-xs],[fxLayoutAlign.gt-sm],[fxLayoutAlign.gt-md],[fxLayoutAlign.gt-lg],[fxLayoutAlign.gt-xl],\n [fxLayoutAlign.sm-up],[fxLayoutAlign.md-up],[fxLayoutAlign.lg-up],[fxLayoutAlign.xl-up],[fxLayoutAlign.xxl-up],\n [fxLayoutAlign.sm-down],[fxLayoutAlign.md-down],[fxLayoutAlign.lg-down],[fxLayoutAlign.xl-down]\n ", inputs: { fxLayoutAlign: { classPropertyName: "fxLayoutAlign", publicName: "fxLayoutAlign", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "fxLayoutAlign.xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "fxLayoutAlign.sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "fxLayoutAlign.md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "fxLayoutAlign.lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "fxLayoutAlign.xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "fxLayoutAlign.xxl", isSignal: true, isRequired: false, transformFunction: null }, ltSm: { classPropertyName: "ltSm", publicName: "fxLayoutAlign.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, ltMd: { classPropertyName: "ltMd", publicName: "fxLayoutAlign.lt-md", isSignal: true, isRequired: false, transformFunction: null }, ltLg: { classPropertyName: "ltLg", publicName: "fxLayoutAlign.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, ltXl: { classPropertyName: "ltXl", publicName: "fxLayoutAlign.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, ltXxl: { classPropertyName: "ltXxl", publicName: "fxLayoutAlign.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gtXs: { classPropertyName: "gtXs", publicName: "fxLayoutAlign.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gtSm: { classPropertyName: "gtSm", publicName: "fxLayoutAlign.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gtMd: { classPropertyName: "gtMd", publicName: "fxLayoutAlign.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gtLg: { classPropertyName: "gtLg", publicName: "fxLayoutAlign.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gtXl: { classPropertyName: "gtXl", publicName: "fxLayoutAlign.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, smUp: { classPropertyName: "smUp", publicName: "fxLayoutAlign.sm-up", isSignal: true, isRequired: false, transformFunction: null }, mdUp: { classPropertyName: "mdUp", publicName: "fxLayoutAlign.md-up", isSignal: true, isRequired: false, transformFunction: null }, lgUp: { classPropertyName: "lgUp", publicName: "fxLayoutAlign.lg-up", isSignal: true, isRequired: false, transformFunction: null }, xlUp: { classPropertyName: "xlUp", publicName: "fxLayoutAlign.xl-up", isSignal: true, isRequired: false, transformFunction: null }, xxlUp: { classPropertyName: "xxlUp", publicName: "fxLayoutAlign.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, smDown: { classPropertyName: "smDown", publicName: "fxLayoutAlign.sm-down", isSignal: true, isRequired: false, transformFunction: null }, mdDown: { classPropertyName: "mdDown", publicName: "fxLayoutAlign.md-down", isSignal: true, isRequired: false, transformFunction: null }, lgDown: { classPropertyName: "lgDown", publicName: "fxLayoutAlign.lg-down", isSignal: true, isRequired: false, transformFunction: null }, xlDown: { classPropertyName: "xlDown", publicName: "fxLayoutAlign.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
2337
+ }
2338
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxLayoutAlignDirective, decorators: [{
2339
+ type: Directive,
2340
+ args: [{
2341
+ selector: `
2342
+ [fxLayoutAlign],
2343
+ [fxLayoutAlign.xs],[fxLayoutAlign.sm],[fxLayoutAlign.md],[fxLayoutAlign.lg],[fxLayoutAlign.xl],[fxLayoutAlign.xxl],
2344
+ [fxLayoutAlign.lt-sm],[fxLayoutAlign.lt-md],[fxLayoutAlign.lt-lg],[fxLayoutAlign.lt-xl],[fxLayoutAlign.lt-xxl],
2345
+ [fxLayoutAlign.gt-xs],[fxLayoutAlign.gt-sm],[fxLayoutAlign.gt-md],[fxLayoutAlign.gt-lg],[fxLayoutAlign.gt-xl],
2346
+ [fxLayoutAlign.sm-up],[fxLayoutAlign.md-up],[fxLayoutAlign.lg-up],[fxLayoutAlign.xl-up],[fxLayoutAlign.xxl-up],
2347
+ [fxLayoutAlign.sm-down],[fxLayoutAlign.md-down],[fxLayoutAlign.lg-down],[fxLayoutAlign.xl-down]
2348
+ `,
2349
+ standalone: true,
2350
+ }]
2351
+ }], ctorParameters: () => [], propDecorators: { fxLayoutAlign: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.xxl", required: false }] }], ltSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.lt-sm", required: false }] }], ltMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.lt-md", required: false }] }], ltLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.lt-lg", required: false }] }], ltXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.lt-xl", required: false }] }], ltXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.lt-xxl", required: false }] }], gtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.gt-xs", required: false }] }], gtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.gt-sm", required: false }] }], gtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.gt-md", required: false }] }], gtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.gt-lg", required: false }] }], gtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.gt-xl", required: false }] }], smUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.sm-up", required: false }] }], mdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.md-up", required: false }] }], lgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.lg-up", required: false }] }], xlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.xl-up", required: false }] }], xxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.xxl-up", required: false }] }], smDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.sm-down", required: false }] }], mdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.md-down", required: false }] }], lgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.lg-down", required: false }] }], xlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutAlign.xl-down", required: false }] }] } });
2352
+
2353
+ /**
2354
+ * @file fx-layout-gap.directive.ts (Angular 21 — signals)
2355
+ *
2356
+ * [fxLayoutGap] — sets gap on a flex or grid container.
2357
+ * Unitless numbers are normalized to px (e.g. "16" → "16px").
2358
+ *
2359
+ * Angular 21 changes:
2360
+ * • All @Input setters replaced by input() signals
2361
+ * • computed() derives the normalized gap value
2362
+ * • effect() in constructor writes to DOM
2161
2363
  *
2162
2364
  * Breakpoint suffixes: canonical + lt-* + gt-* + *-up + *-down
2163
2365
  */
2164
- function toBool(v) {
2165
- if (v === undefined || v === null)
2166
- return undefined;
2167
- if (typeof v === 'boolean')
2168
- return v;
2169
- if (v === '')
2170
- return true;
2171
- if (v === 'false' || v === '0')
2172
- return false;
2173
- return true;
2366
+ function normalizeGap(raw) {
2367
+ return raw.trim().split(/\s+/)
2368
+ .map(v => /^\d+(\.\d+)?$/.test(v) ? `${v}px` : v)
2369
+ .join(' ');
2174
2370
  }
2175
- // ─── Unified fxShow + fxHide ─────────────────────────────────────────────────
2176
- class FxShowHideDirective extends ResponsiveBaseDirective {
2371
+ class FxLayoutGapDirective extends ResponsiveBaseDirective {
2177
2372
  constructor() {
2178
2373
  super();
2179
- // ── fxShow inputs ─────────────────────────────────────────────────────────
2180
- this.fxShow = input(undefined, { ...(ngDevMode ? { debugName: "fxShow" } : /* istanbul ignore next */ {}), alias: 'fxShow', transform: toBool });
2181
- this.showXs = input(undefined, { ...(ngDevMode ? { debugName: "showXs" } : /* istanbul ignore next */ {}), alias: 'fxShow.xs', transform: toBool });
2182
- this.showSm = input(undefined, { ...(ngDevMode ? { debugName: "showSm" } : /* istanbul ignore next */ {}), alias: 'fxShow.sm', transform: toBool });
2183
- this.showMd = input(undefined, { ...(ngDevMode ? { debugName: "showMd" } : /* istanbul ignore next */ {}), alias: 'fxShow.md', transform: toBool });
2184
- this.showLg = input(undefined, { ...(ngDevMode ? { debugName: "showLg" } : /* istanbul ignore next */ {}), alias: 'fxShow.lg', transform: toBool });
2185
- this.showXl = input(undefined, { ...(ngDevMode ? { debugName: "showXl" } : /* istanbul ignore next */ {}), alias: 'fxShow.xl', transform: toBool });
2186
- this.showXxl = input(undefined, { ...(ngDevMode ? { debugName: "showXxl" } : /* istanbul ignore next */ {}), alias: 'fxShow.xxl', transform: toBool });
2187
- this.showLtSm = input(undefined, { ...(ngDevMode ? { debugName: "showLtSm" } : /* istanbul ignore next */ {}), alias: 'fxShow.lt-sm', transform: toBool });
2188
- this.showLtMd = input(undefined, { ...(ngDevMode ? { debugName: "showLtMd" } : /* istanbul ignore next */ {}), alias: 'fxShow.lt-md', transform: toBool });
2189
- this.showLtLg = input(undefined, { ...(ngDevMode ? { debugName: "showLtLg" } : /* istanbul ignore next */ {}), alias: 'fxShow.lt-lg', transform: toBool });
2190
- this.showLtXl = input(undefined, { ...(ngDevMode ? { debugName: "showLtXl" } : /* istanbul ignore next */ {}), alias: 'fxShow.lt-xl', transform: toBool });
2191
- this.showLtXxl = input(undefined, { ...(ngDevMode ? { debugName: "showLtXxl" } : /* istanbul ignore next */ {}), alias: 'fxShow.lt-xxl', transform: toBool });
2192
- this.showGtXs = input(undefined, { ...(ngDevMode ? { debugName: "showGtXs" } : /* istanbul ignore next */ {}), alias: 'fxShow.gt-xs', transform: toBool });
2193
- this.showGtSm = input(undefined, { ...(ngDevMode ? { debugName: "showGtSm" } : /* istanbul ignore next */ {}), alias: 'fxShow.gt-sm', transform: toBool });
2374
+ this.fxLayoutGap = input(undefined, { ...(ngDevMode ? { debugName: "fxLayoutGap" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap' });
2375
+ this.xs = input(undefined, { ...(ngDevMode ? { debugName: "xs" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.xs' });
2376
+ this.sm = input(undefined, { ...(ngDevMode ? { debugName: "sm" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.sm' });
2377
+ this.md = input(undefined, { ...(ngDevMode ? { debugName: "md" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.md' });
2378
+ this.lg = input(undefined, { ...(ngDevMode ? { debugName: "lg" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.lg' });
2379
+ this.xl = input(undefined, { ...(ngDevMode ? { debugName: "xl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.xl' });
2380
+ this.xxl = input(undefined, { ...(ngDevMode ? { debugName: "xxl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.xxl' });
2381
+ this.ltSm = input(undefined, { ...(ngDevMode ? { debugName: "ltSm" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.lt-sm' });
2382
+ this.ltMd = input(undefined, { ...(ngDevMode ? { debugName: "ltMd" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.lt-md' });
2383
+ this.ltLg = input(undefined, { ...(ngDevMode ? { debugName: "ltLg" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.lt-lg' });
2384
+ this.ltXl = input(undefined, { ...(ngDevMode ? { debugName: "ltXl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.lt-xl' });
2385
+ this.ltXxl = input(undefined, { ...(ngDevMode ? { debugName: "ltXxl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.lt-xxl' });
2386
+ this.gtXs = input(undefined, { ...(ngDevMode ? { debugName: "gtXs" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.gt-xs' });
2387
+ this.gtSm = input(undefined, { ...(ngDevMode ? { debugName: "gtSm" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.gt-sm' });
2388
+ this.gtMd = input(undefined, { ...(ngDevMode ? { debugName: "gtMd" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.gt-md' });
2389
+ this.gtLg = input(undefined, { ...(ngDevMode ? { debugName: "gtLg" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.gt-lg' });
2390
+ this.gtXl = input(undefined, { ...(ngDevMode ? { debugName: "gtXl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.gt-xl' });
2391
+ this.smUp = input(undefined, { ...(ngDevMode ? { debugName: "smUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.sm-up' });
2392
+ this.mdUp = input(undefined, { ...(ngDevMode ? { debugName: "mdUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.md-up' });
2393
+ this.lgUp = input(undefined, { ...(ngDevMode ? { debugName: "lgUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.lg-up' });
2394
+ this.xlUp = input(undefined, { ...(ngDevMode ? { debugName: "xlUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.xl-up' });
2395
+ this.xxlUp = input(undefined, { ...(ngDevMode ? { debugName: "xxlUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.xxl-up' });
2396
+ this.smDown = input(undefined, { ...(ngDevMode ? { debugName: "smDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.sm-down' });
2397
+ this.mdDown = input(undefined, { ...(ngDevMode ? { debugName: "mdDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.md-down' });
2398
+ this.lgDown = input(undefined, { ...(ngDevMode ? { debugName: "lgDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.lg-down' });
2399
+ this.xlDown = input(undefined, { ...(ngDevMode ? { debugName: "xlDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutGap.xl-down' });
2400
+ this._gap = computed(() => normalizeGap(resolveAll({ default: this.fxLayoutGap(), xs: this.xs(), sm: this.sm(), md: this.md(),
2401
+ lg: this.lg(), xl: this.xl(), xxl: this.xxl() }, { 'lt-sm': this.ltSm(), 'lt-md': this.ltMd(), 'lt-lg': this.ltLg(),
2402
+ 'lt-xl': this.ltXl(), 'lt-xxl': this.ltXxl(),
2403
+ 'gt-xs': this.gtXs(), 'gt-sm': this.gtSm(), 'gt-md': this.gtMd(),
2404
+ 'gt-lg': this.gtLg(), 'gt-xl': this.gtXl(),
2405
+ 'sm-up': this.smUp(), 'md-up': this.mdUp(), 'lg-up': this.lgUp(),
2406
+ 'xl-up': this.xlUp(), 'xxl-up': this.xxlUp(),
2407
+ 'sm-down': this.smDown(), 'md-down': this.mdDown(),
2408
+ 'lg-down': this.lgDown(), 'xl-down': this.xlDown() }, this.media.currentBp(), a => this.media.isActive(a)) ?? '0'), ...(ngDevMode ? [{ debugName: "_gap" }] : /* istanbul ignore next */ []));
2409
+ effect(() => { this.safeSetStyle('gap', this._gap()); });
2410
+ }
2411
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxLayoutGapDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2412
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxLayoutGapDirective, isStandalone: true, selector: "\n [fxLayoutGap],\n [fxLayoutGap.xs],[fxLayoutGap.sm],[fxLayoutGap.md],[fxLayoutGap.lg],[fxLayoutGap.xl],[fxLayoutGap.xxl],\n [fxLayoutGap.lt-sm],[fxLayoutGap.lt-md],[fxLayoutGap.lt-lg],[fxLayoutGap.lt-xl],[fxLayoutGap.lt-xxl],\n [fxLayoutGap.gt-xs],[fxLayoutGap.gt-sm],[fxLayoutGap.gt-md],[fxLayoutGap.gt-lg],[fxLayoutGap.gt-xl],\n [fxLayoutGap.sm-up],[fxLayoutGap.md-up],[fxLayoutGap.lg-up],[fxLayoutGap.xl-up],[fxLayoutGap.xxl-up],\n [fxLayoutGap.sm-down],[fxLayoutGap.md-down],[fxLayoutGap.lg-down],[fxLayoutGap.xl-down]\n ", inputs: { fxLayoutGap: { classPropertyName: "fxLayoutGap", publicName: "fxLayoutGap", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "fxLayoutGap.xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "fxLayoutGap.sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "fxLayoutGap.md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "fxLayoutGap.lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "fxLayoutGap.xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "fxLayoutGap.xxl", isSignal: true, isRequired: false, transformFunction: null }, ltSm: { classPropertyName: "ltSm", publicName: "fxLayoutGap.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, ltMd: { classPropertyName: "ltMd", publicName: "fxLayoutGap.lt-md", isSignal: true, isRequired: false, transformFunction: null }, ltLg: { classPropertyName: "ltLg", publicName: "fxLayoutGap.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, ltXl: { classPropertyName: "ltXl", publicName: "fxLayoutGap.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, ltXxl: { classPropertyName: "ltXxl", publicName: "fxLayoutGap.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gtXs: { classPropertyName: "gtXs", publicName: "fxLayoutGap.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gtSm: { classPropertyName: "gtSm", publicName: "fxLayoutGap.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gtMd: { classPropertyName: "gtMd", publicName: "fxLayoutGap.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gtLg: { classPropertyName: "gtLg", publicName: "fxLayoutGap.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gtXl: { classPropertyName: "gtXl", publicName: "fxLayoutGap.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, smUp: { classPropertyName: "smUp", publicName: "fxLayoutGap.sm-up", isSignal: true, isRequired: false, transformFunction: null }, mdUp: { classPropertyName: "mdUp", publicName: "fxLayoutGap.md-up", isSignal: true, isRequired: false, transformFunction: null }, lgUp: { classPropertyName: "lgUp", publicName: "fxLayoutGap.lg-up", isSignal: true, isRequired: false, transformFunction: null }, xlUp: { classPropertyName: "xlUp", publicName: "fxLayoutGap.xl-up", isSignal: true, isRequired: false, transformFunction: null }, xxlUp: { classPropertyName: "xxlUp", publicName: "fxLayoutGap.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, smDown: { classPropertyName: "smDown", publicName: "fxLayoutGap.sm-down", isSignal: true, isRequired: false, transformFunction: null }, mdDown: { classPropertyName: "mdDown", publicName: "fxLayoutGap.md-down", isSignal: true, isRequired: false, transformFunction: null }, lgDown: { classPropertyName: "lgDown", publicName: "fxLayoutGap.lg-down", isSignal: true, isRequired: false, transformFunction: null }, xlDown: { classPropertyName: "xlDown", publicName: "fxLayoutGap.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
2413
+ }
2414
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxLayoutGapDirective, decorators: [{
2415
+ type: Directive,
2416
+ args: [{
2417
+ selector: `
2418
+ [fxLayoutGap],
2419
+ [fxLayoutGap.xs],[fxLayoutGap.sm],[fxLayoutGap.md],[fxLayoutGap.lg],[fxLayoutGap.xl],[fxLayoutGap.xxl],
2420
+ [fxLayoutGap.lt-sm],[fxLayoutGap.lt-md],[fxLayoutGap.lt-lg],[fxLayoutGap.lt-xl],[fxLayoutGap.lt-xxl],
2421
+ [fxLayoutGap.gt-xs],[fxLayoutGap.gt-sm],[fxLayoutGap.gt-md],[fxLayoutGap.gt-lg],[fxLayoutGap.gt-xl],
2422
+ [fxLayoutGap.sm-up],[fxLayoutGap.md-up],[fxLayoutGap.lg-up],[fxLayoutGap.xl-up],[fxLayoutGap.xxl-up],
2423
+ [fxLayoutGap.sm-down],[fxLayoutGap.md-down],[fxLayoutGap.lg-down],[fxLayoutGap.xl-down]
2424
+ `,
2425
+ standalone: true,
2426
+ }]
2427
+ }], ctorParameters: () => [], propDecorators: { fxLayoutGap: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.xxl", required: false }] }], ltSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.lt-sm", required: false }] }], ltMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.lt-md", required: false }] }], ltLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.lt-lg", required: false }] }], ltXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.lt-xl", required: false }] }], ltXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.lt-xxl", required: false }] }], gtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.gt-xs", required: false }] }], gtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.gt-sm", required: false }] }], gtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.gt-md", required: false }] }], gtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.gt-lg", required: false }] }], gtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.gt-xl", required: false }] }], smUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.sm-up", required: false }] }], mdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.md-up", required: false }] }], lgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.lg-up", required: false }] }], xlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.xl-up", required: false }] }], xxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.xxl-up", required: false }] }], smDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.sm-down", required: false }] }], mdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.md-down", required: false }] }], lgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.lg-down", required: false }] }], xlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutGap.xl-down", required: false }] }] } });
2428
+
2429
+ /**
2430
+ * @file fx-layout.directive.ts (Angular 21 - signals)
2431
+ *
2432
+ * [fxLayout] -- sets flex-direction (and optionally flex-wrap) on the host.
2433
+ * [fxLayoutWrap] -- dedicated alias for flex-wrap (original ngx-layout compat).
2434
+ *
2435
+ * Angular 21 changes:
2436
+ * - All @Input setters replaced by input() signals
2437
+ * - computed() builds reactive BP maps and derives CSS values
2438
+ * - effect() in constructor writes to DOM -- no lifecycle hooks
2439
+ *
2440
+ * Breakpoint suffixes:
2441
+ * Canonical : .xs .sm .md .lg .xl .xxl
2442
+ * lt-* : .lt-sm .lt-md .lt-lg .lt-xl .lt-xxl
2443
+ * gt-* : .gt-xs .gt-sm .gt-md .gt-lg .gt-xl
2444
+ * *-up : .sm-up .md-up .lg-up .xl-up .xxl-up
2445
+ * *-down : .sm-down .md-down .lg-down .xl-down
2446
+ */
2447
+ const VALID_DIRECTIONS = new Set(['row', 'column', 'row-reverse', 'column-reverse']);
2448
+ const VALID_WRAPS = new Set(['wrap', 'wrap-reverse', 'nowrap']);
2449
+ function parseLayout(raw) {
2450
+ const parts = raw.trim().split(/\s+/);
2451
+ const dir = VALID_DIRECTIONS.has(parts[0]) ? parts[0] : 'row';
2452
+ const wrap = VALID_WRAPS.has(parts[1]) ? parts[1] : 'nowrap';
2453
+ return [dir, wrap];
2454
+ }
2455
+ class FxLayoutDirective extends ResponsiveBaseDirective {
2456
+ constructor() {
2457
+ super();
2458
+ this.fxLayout = input('row', { ...(ngDevMode ? { debugName: "fxLayout" } : /* istanbul ignore next */ {}), alias: 'fxLayout' });
2459
+ this.xs = input(undefined, { ...(ngDevMode ? { debugName: "xs" } : /* istanbul ignore next */ {}), alias: 'fxLayout.xs' });
2460
+ this.sm = input(undefined, { ...(ngDevMode ? { debugName: "sm" } : /* istanbul ignore next */ {}), alias: 'fxLayout.sm' });
2461
+ this.md = input(undefined, { ...(ngDevMode ? { debugName: "md" } : /* istanbul ignore next */ {}), alias: 'fxLayout.md' });
2462
+ this.lg = input(undefined, { ...(ngDevMode ? { debugName: "lg" } : /* istanbul ignore next */ {}), alias: 'fxLayout.lg' });
2463
+ this.xl = input(undefined, { ...(ngDevMode ? { debugName: "xl" } : /* istanbul ignore next */ {}), alias: 'fxLayout.xl' });
2464
+ this.xxl = input(undefined, { ...(ngDevMode ? { debugName: "xxl" } : /* istanbul ignore next */ {}), alias: 'fxLayout.xxl' });
2465
+ this.ltSm = input(undefined, { ...(ngDevMode ? { debugName: "ltSm" } : /* istanbul ignore next */ {}), alias: 'fxLayout.lt-sm' });
2466
+ this.ltMd = input(undefined, { ...(ngDevMode ? { debugName: "ltMd" } : /* istanbul ignore next */ {}), alias: 'fxLayout.lt-md' });
2467
+ this.ltLg = input(undefined, { ...(ngDevMode ? { debugName: "ltLg" } : /* istanbul ignore next */ {}), alias: 'fxLayout.lt-lg' });
2468
+ this.ltXl = input(undefined, { ...(ngDevMode ? { debugName: "ltXl" } : /* istanbul ignore next */ {}), alias: 'fxLayout.lt-xl' });
2469
+ this.ltXxl = input(undefined, { ...(ngDevMode ? { debugName: "ltXxl" } : /* istanbul ignore next */ {}), alias: 'fxLayout.lt-xxl' });
2470
+ this.gtXs = input(undefined, { ...(ngDevMode ? { debugName: "gtXs" } : /* istanbul ignore next */ {}), alias: 'fxLayout.gt-xs' });
2471
+ this.gtSm = input(undefined, { ...(ngDevMode ? { debugName: "gtSm" } : /* istanbul ignore next */ {}), alias: 'fxLayout.gt-sm' });
2472
+ this.gtMd = input(undefined, { ...(ngDevMode ? { debugName: "gtMd" } : /* istanbul ignore next */ {}), alias: 'fxLayout.gt-md' });
2473
+ this.gtLg = input(undefined, { ...(ngDevMode ? { debugName: "gtLg" } : /* istanbul ignore next */ {}), alias: 'fxLayout.gt-lg' });
2474
+ this.gtXl = input(undefined, { ...(ngDevMode ? { debugName: "gtXl" } : /* istanbul ignore next */ {}), alias: 'fxLayout.gt-xl' });
2475
+ this.smUp = input(undefined, { ...(ngDevMode ? { debugName: "smUp" } : /* istanbul ignore next */ {}), alias: 'fxLayout.sm-up' });
2476
+ this.mdUp = input(undefined, { ...(ngDevMode ? { debugName: "mdUp" } : /* istanbul ignore next */ {}), alias: 'fxLayout.md-up' });
2477
+ this.lgUp = input(undefined, { ...(ngDevMode ? { debugName: "lgUp" } : /* istanbul ignore next */ {}), alias: 'fxLayout.lg-up' });
2478
+ this.xlUp = input(undefined, { ...(ngDevMode ? { debugName: "xlUp" } : /* istanbul ignore next */ {}), alias: 'fxLayout.xl-up' });
2479
+ this.xxlUp = input(undefined, { ...(ngDevMode ? { debugName: "xxlUp" } : /* istanbul ignore next */ {}), alias: 'fxLayout.xxl-up' });
2480
+ this.smDown = input(undefined, { ...(ngDevMode ? { debugName: "smDown" } : /* istanbul ignore next */ {}), alias: 'fxLayout.sm-down' });
2481
+ this.mdDown = input(undefined, { ...(ngDevMode ? { debugName: "mdDown" } : /* istanbul ignore next */ {}), alias: 'fxLayout.md-down' });
2482
+ this.lgDown = input(undefined, { ...(ngDevMode ? { debugName: "lgDown" } : /* istanbul ignore next */ {}), alias: 'fxLayout.lg-down' });
2483
+ this.xlDown = input(undefined, { ...(ngDevMode ? { debugName: "xlDown" } : /* istanbul ignore next */ {}), alias: 'fxLayout.xl-down' });
2484
+ this._parsed = computed(() => parseLayout(resolveAll({ default: this.fxLayout(), xs: this.xs(), sm: this.sm(), md: this.md(),
2485
+ lg: this.lg(), xl: this.xl(), xxl: this.xxl() }, { 'lt-sm': this.ltSm(), 'lt-md': this.ltMd(), 'lt-lg': this.ltLg(),
2486
+ 'lt-xl': this.ltXl(), 'lt-xxl': this.ltXxl(),
2487
+ 'gt-xs': this.gtXs(), 'gt-sm': this.gtSm(), 'gt-md': this.gtMd(),
2488
+ 'gt-lg': this.gtLg(), 'gt-xl': this.gtXl(),
2489
+ 'sm-up': this.smUp(), 'md-up': this.mdUp(), 'lg-up': this.lgUp(),
2490
+ 'xl-up': this.xlUp(), 'xxl-up': this.xxlUp(),
2491
+ 'sm-down': this.smDown(), 'md-down': this.mdDown(),
2492
+ 'lg-down': this.lgDown(), 'xl-down': this.xlDown() }, this.media.currentBp(), a => this.media.isActive(a)) ?? 'row'), ...(ngDevMode ? [{ debugName: "_parsed" }] : /* istanbul ignore next */ []));
2493
+ effect(() => {
2494
+ const [dir, wrap] = this._parsed();
2495
+ this.safeSetStyle('flex-direction', dir);
2496
+ this.safeSetStyle('flex-wrap', wrap);
2497
+ });
2498
+ }
2499
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxLayoutDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2500
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxLayoutDirective, isStandalone: true, selector: "\n [fxLayout],\n [fxLayout.xs],[fxLayout.sm],[fxLayout.md],[fxLayout.lg],[fxLayout.xl],[fxLayout.xxl],\n [fxLayout.lt-sm],[fxLayout.lt-md],[fxLayout.lt-lg],[fxLayout.lt-xl],[fxLayout.lt-xxl],\n [fxLayout.gt-xs],[fxLayout.gt-sm],[fxLayout.gt-md],[fxLayout.gt-lg],[fxLayout.gt-xl],\n [fxLayout.sm-up],[fxLayout.md-up],[fxLayout.lg-up],[fxLayout.xl-up],[fxLayout.xxl-up],\n [fxLayout.sm-down],[fxLayout.md-down],[fxLayout.lg-down],[fxLayout.xl-down]\n ", inputs: { fxLayout: { classPropertyName: "fxLayout", publicName: "fxLayout", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "fxLayout.xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "fxLayout.sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "fxLayout.md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "fxLayout.lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "fxLayout.xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "fxLayout.xxl", isSignal: true, isRequired: false, transformFunction: null }, ltSm: { classPropertyName: "ltSm", publicName: "fxLayout.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, ltMd: { classPropertyName: "ltMd", publicName: "fxLayout.lt-md", isSignal: true, isRequired: false, transformFunction: null }, ltLg: { classPropertyName: "ltLg", publicName: "fxLayout.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, ltXl: { classPropertyName: "ltXl", publicName: "fxLayout.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, ltXxl: { classPropertyName: "ltXxl", publicName: "fxLayout.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gtXs: { classPropertyName: "gtXs", publicName: "fxLayout.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gtSm: { classPropertyName: "gtSm", publicName: "fxLayout.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gtMd: { classPropertyName: "gtMd", publicName: "fxLayout.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gtLg: { classPropertyName: "gtLg", publicName: "fxLayout.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gtXl: { classPropertyName: "gtXl", publicName: "fxLayout.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, smUp: { classPropertyName: "smUp", publicName: "fxLayout.sm-up", isSignal: true, isRequired: false, transformFunction: null }, mdUp: { classPropertyName: "mdUp", publicName: "fxLayout.md-up", isSignal: true, isRequired: false, transformFunction: null }, lgUp: { classPropertyName: "lgUp", publicName: "fxLayout.lg-up", isSignal: true, isRequired: false, transformFunction: null }, xlUp: { classPropertyName: "xlUp", publicName: "fxLayout.xl-up", isSignal: true, isRequired: false, transformFunction: null }, xxlUp: { classPropertyName: "xxlUp", publicName: "fxLayout.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, smDown: { classPropertyName: "smDown", publicName: "fxLayout.sm-down", isSignal: true, isRequired: false, transformFunction: null }, mdDown: { classPropertyName: "mdDown", publicName: "fxLayout.md-down", isSignal: true, isRequired: false, transformFunction: null }, lgDown: { classPropertyName: "lgDown", publicName: "fxLayout.lg-down", isSignal: true, isRequired: false, transformFunction: null }, xlDown: { classPropertyName: "xlDown", publicName: "fxLayout.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.display": "\"flex\"" } }, usesInheritance: true, ngImport: i0 }); }
2501
+ }
2502
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxLayoutDirective, decorators: [{
2503
+ type: Directive,
2504
+ args: [{
2505
+ selector: `
2506
+ [fxLayout],
2507
+ [fxLayout.xs],[fxLayout.sm],[fxLayout.md],[fxLayout.lg],[fxLayout.xl],[fxLayout.xxl],
2508
+ [fxLayout.lt-sm],[fxLayout.lt-md],[fxLayout.lt-lg],[fxLayout.lt-xl],[fxLayout.lt-xxl],
2509
+ [fxLayout.gt-xs],[fxLayout.gt-sm],[fxLayout.gt-md],[fxLayout.gt-lg],[fxLayout.gt-xl],
2510
+ [fxLayout.sm-up],[fxLayout.md-up],[fxLayout.lg-up],[fxLayout.xl-up],[fxLayout.xxl-up],
2511
+ [fxLayout.sm-down],[fxLayout.md-down],[fxLayout.lg-down],[fxLayout.xl-down]
2512
+ `,
2513
+ standalone: true,
2514
+ host: { '[style.display]': '"flex"' },
2515
+ }]
2516
+ }], ctorParameters: () => [], propDecorators: { fxLayout: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.xxl", required: false }] }], ltSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.lt-sm", required: false }] }], ltMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.lt-md", required: false }] }], ltLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.lt-lg", required: false }] }], ltXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.lt-xl", required: false }] }], ltXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.lt-xxl", required: false }] }], gtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.gt-xs", required: false }] }], gtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.gt-sm", required: false }] }], gtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.gt-md", required: false }] }], gtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.gt-lg", required: false }] }], gtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.gt-xl", required: false }] }], smUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.sm-up", required: false }] }], mdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.md-up", required: false }] }], lgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.lg-up", required: false }] }], xlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.xl-up", required: false }] }], xxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.xxl-up", required: false }] }], smDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.sm-down", required: false }] }], mdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.md-down", required: false }] }], lgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.lg-down", required: false }] }], xlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayout.xl-down", required: false }] }] } });
2517
+ class FxLayoutWrapDirective extends ResponsiveBaseDirective {
2518
+ constructor() {
2519
+ super();
2520
+ this.fxLayoutWrap = input('wrap', { ...(ngDevMode ? { debugName: "fxLayoutWrap" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap' });
2521
+ this.xs = input(undefined, { ...(ngDevMode ? { debugName: "xs" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.xs' });
2522
+ this.sm = input(undefined, { ...(ngDevMode ? { debugName: "sm" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.sm' });
2523
+ this.md = input(undefined, { ...(ngDevMode ? { debugName: "md" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.md' });
2524
+ this.lg = input(undefined, { ...(ngDevMode ? { debugName: "lg" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.lg' });
2525
+ this.xl = input(undefined, { ...(ngDevMode ? { debugName: "xl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.xl' });
2526
+ this.xxl = input(undefined, { ...(ngDevMode ? { debugName: "xxl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.xxl' });
2527
+ this.ltSm = input(undefined, { ...(ngDevMode ? { debugName: "ltSm" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.lt-sm' });
2528
+ this.ltMd = input(undefined, { ...(ngDevMode ? { debugName: "ltMd" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.lt-md' });
2529
+ this.ltLg = input(undefined, { ...(ngDevMode ? { debugName: "ltLg" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.lt-lg' });
2530
+ this.ltXl = input(undefined, { ...(ngDevMode ? { debugName: "ltXl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.lt-xl' });
2531
+ this.ltXxl = input(undefined, { ...(ngDevMode ? { debugName: "ltXxl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.lt-xxl' });
2532
+ this.gtXs = input(undefined, { ...(ngDevMode ? { debugName: "gtXs" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.gt-xs' });
2533
+ this.gtSm = input(undefined, { ...(ngDevMode ? { debugName: "gtSm" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.gt-sm' });
2534
+ this.gtMd = input(undefined, { ...(ngDevMode ? { debugName: "gtMd" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.gt-md' });
2535
+ this.gtLg = input(undefined, { ...(ngDevMode ? { debugName: "gtLg" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.gt-lg' });
2536
+ this.gtXl = input(undefined, { ...(ngDevMode ? { debugName: "gtXl" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.gt-xl' });
2537
+ this.smUp = input(undefined, { ...(ngDevMode ? { debugName: "smUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.sm-up' });
2538
+ this.mdUp = input(undefined, { ...(ngDevMode ? { debugName: "mdUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.md-up' });
2539
+ this.lgUp = input(undefined, { ...(ngDevMode ? { debugName: "lgUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.lg-up' });
2540
+ this.xlUp = input(undefined, { ...(ngDevMode ? { debugName: "xlUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.xl-up' });
2541
+ this.xxlUp = input(undefined, { ...(ngDevMode ? { debugName: "xxlUp" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.xxl-up' });
2542
+ this.smDown = input(undefined, { ...(ngDevMode ? { debugName: "smDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.sm-down' });
2543
+ this.mdDown = input(undefined, { ...(ngDevMode ? { debugName: "mdDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.md-down' });
2544
+ this.lgDown = input(undefined, { ...(ngDevMode ? { debugName: "lgDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.lg-down' });
2545
+ this.xlDown = input(undefined, { ...(ngDevMode ? { debugName: "xlDown" } : /* istanbul ignore next */ {}), alias: 'fxLayoutWrap.xl-down' });
2546
+ this._wrap = computed(() => {
2547
+ const w = resolveAll({ default: this.fxLayoutWrap(), xs: this.xs(), sm: this.sm(), md: this.md(),
2548
+ lg: this.lg(), xl: this.xl(), xxl: this.xxl() }, { 'lt-sm': this.ltSm(), 'lt-md': this.ltMd(), 'lt-lg': this.ltLg(),
2549
+ 'lt-xl': this.ltXl(), 'lt-xxl': this.ltXxl(),
2550
+ 'gt-xs': this.gtXs(), 'gt-sm': this.gtSm(), 'gt-md': this.gtMd(),
2551
+ 'gt-lg': this.gtLg(), 'gt-xl': this.gtXl(),
2552
+ 'sm-up': this.smUp(), 'md-up': this.mdUp(), 'lg-up': this.lgUp(),
2553
+ 'xl-up': this.xlUp(), 'xxl-up': this.xxlUp(),
2554
+ 'sm-down': this.smDown(), 'md-down': this.mdDown(),
2555
+ 'lg-down': this.lgDown(), 'xl-down': this.xlDown() }, this.media.currentBp(), a => this.media.isActive(a)) ?? 'wrap';
2556
+ return VALID_WRAPS.has(w) ? w : 'wrap';
2557
+ }, ...(ngDevMode ? [{ debugName: "_wrap" }] : /* istanbul ignore next */ []));
2558
+ effect(() => { this.safeSetStyle('flex-wrap', this._wrap()); });
2559
+ }
2560
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxLayoutWrapDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2561
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxLayoutWrapDirective, isStandalone: true, selector: "\n [fxLayoutWrap],\n [fxLayoutWrap.xs],[fxLayoutWrap.sm],[fxLayoutWrap.md],[fxLayoutWrap.lg],[fxLayoutWrap.xl],[fxLayoutWrap.xxl],\n [fxLayoutWrap.lt-sm],[fxLayoutWrap.lt-md],[fxLayoutWrap.lt-lg],[fxLayoutWrap.lt-xl],[fxLayoutWrap.lt-xxl],\n [fxLayoutWrap.gt-xs],[fxLayoutWrap.gt-sm],[fxLayoutWrap.gt-md],[fxLayoutWrap.gt-lg],[fxLayoutWrap.gt-xl],\n [fxLayoutWrap.sm-up],[fxLayoutWrap.md-up],[fxLayoutWrap.lg-up],[fxLayoutWrap.xl-up],[fxLayoutWrap.xxl-up],\n [fxLayoutWrap.sm-down],[fxLayoutWrap.md-down],[fxLayoutWrap.lg-down],[fxLayoutWrap.xl-down]\n ", inputs: { fxLayoutWrap: { classPropertyName: "fxLayoutWrap", publicName: "fxLayoutWrap", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "fxLayoutWrap.xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "fxLayoutWrap.sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "fxLayoutWrap.md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "fxLayoutWrap.lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "fxLayoutWrap.xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "fxLayoutWrap.xxl", isSignal: true, isRequired: false, transformFunction: null }, ltSm: { classPropertyName: "ltSm", publicName: "fxLayoutWrap.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, ltMd: { classPropertyName: "ltMd", publicName: "fxLayoutWrap.lt-md", isSignal: true, isRequired: false, transformFunction: null }, ltLg: { classPropertyName: "ltLg", publicName: "fxLayoutWrap.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, ltXl: { classPropertyName: "ltXl", publicName: "fxLayoutWrap.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, ltXxl: { classPropertyName: "ltXxl", publicName: "fxLayoutWrap.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gtXs: { classPropertyName: "gtXs", publicName: "fxLayoutWrap.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gtSm: { classPropertyName: "gtSm", publicName: "fxLayoutWrap.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gtMd: { classPropertyName: "gtMd", publicName: "fxLayoutWrap.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gtLg: { classPropertyName: "gtLg", publicName: "fxLayoutWrap.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gtXl: { classPropertyName: "gtXl", publicName: "fxLayoutWrap.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, smUp: { classPropertyName: "smUp", publicName: "fxLayoutWrap.sm-up", isSignal: true, isRequired: false, transformFunction: null }, mdUp: { classPropertyName: "mdUp", publicName: "fxLayoutWrap.md-up", isSignal: true, isRequired: false, transformFunction: null }, lgUp: { classPropertyName: "lgUp", publicName: "fxLayoutWrap.lg-up", isSignal: true, isRequired: false, transformFunction: null }, xlUp: { classPropertyName: "xlUp", publicName: "fxLayoutWrap.xl-up", isSignal: true, isRequired: false, transformFunction: null }, xxlUp: { classPropertyName: "xxlUp", publicName: "fxLayoutWrap.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, smDown: { classPropertyName: "smDown", publicName: "fxLayoutWrap.sm-down", isSignal: true, isRequired: false, transformFunction: null }, mdDown: { classPropertyName: "mdDown", publicName: "fxLayoutWrap.md-down", isSignal: true, isRequired: false, transformFunction: null }, lgDown: { classPropertyName: "lgDown", publicName: "fxLayoutWrap.lg-down", isSignal: true, isRequired: false, transformFunction: null }, xlDown: { classPropertyName: "xlDown", publicName: "fxLayoutWrap.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
2562
+ }
2563
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxLayoutWrapDirective, decorators: [{
2564
+ type: Directive,
2565
+ args: [{
2566
+ selector: `
2567
+ [fxLayoutWrap],
2568
+ [fxLayoutWrap.xs],[fxLayoutWrap.sm],[fxLayoutWrap.md],[fxLayoutWrap.lg],[fxLayoutWrap.xl],[fxLayoutWrap.xxl],
2569
+ [fxLayoutWrap.lt-sm],[fxLayoutWrap.lt-md],[fxLayoutWrap.lt-lg],[fxLayoutWrap.lt-xl],[fxLayoutWrap.lt-xxl],
2570
+ [fxLayoutWrap.gt-xs],[fxLayoutWrap.gt-sm],[fxLayoutWrap.gt-md],[fxLayoutWrap.gt-lg],[fxLayoutWrap.gt-xl],
2571
+ [fxLayoutWrap.sm-up],[fxLayoutWrap.md-up],[fxLayoutWrap.lg-up],[fxLayoutWrap.xl-up],[fxLayoutWrap.xxl-up],
2572
+ [fxLayoutWrap.sm-down],[fxLayoutWrap.md-down],[fxLayoutWrap.lg-down],[fxLayoutWrap.xl-down]
2573
+ `,
2574
+ standalone: true,
2575
+ }]
2576
+ }], ctorParameters: () => [], propDecorators: { fxLayoutWrap: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.xxl", required: false }] }], ltSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.lt-sm", required: false }] }], ltMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.lt-md", required: false }] }], ltLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.lt-lg", required: false }] }], ltXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.lt-xl", required: false }] }], ltXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.lt-xxl", required: false }] }], gtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.gt-xs", required: false }] }], gtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.gt-sm", required: false }] }], gtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.gt-md", required: false }] }], gtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.gt-lg", required: false }] }], gtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.gt-xl", required: false }] }], smUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.sm-up", required: false }] }], mdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.md-up", required: false }] }], lgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.lg-up", required: false }] }], xlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.xl-up", required: false }] }], xxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.xxl-up", required: false }] }], smDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.sm-down", required: false }] }], mdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.md-down", required: false }] }], lgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.lg-down", required: false }] }], xlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxLayoutWrap.xl-down", required: false }] }] } });
2577
+
2578
+ /**
2579
+ * @file fx-show-hide.directives.ts (Angular 21 — signals)
2580
+ *
2581
+ * [fxShow] / [fxHide] — responsive visibility via display:none.
2582
+ * Elements stay in the DOM (unlike *ifBp which removes them).
2583
+ *
2584
+ * IMPORTANT: fxShow and fxHide are implemented as a SINGLE directive class
2585
+ * (FxShowHideDirective) so that mixed patterns like
2586
+ * <div fxHide fxShow.xs> ← hidden everywhere, shown on xs
2587
+ * <div fxShow fxHide.lt-lg> ← shown everywhere, hidden below lg
2588
+ * work correctly.
2589
+ *
2590
+ * Resolution algorithm (no mobile-first cascade — semantics for show/hide
2591
+ * are point-in-time, not cumulative):
2592
+ * 1. Non-canonical (lt-*, gt-*, *-up, *-down) isActive checks — most specific first
2593
+ * 2. Exact canonical match for current bp
2594
+ * 3. Default values (fxShow / fxHide without suffix)
2595
+ * 4. Fallback: visible (true)
2596
+ *
2597
+ * When both show and hide match at the same priority level, show wins.
2598
+ *
2599
+ * Breakpoint suffixes: canonical + lt-* + gt-* + *-up + *-down
2600
+ */
2601
+ function toBool(v) {
2602
+ if (v === undefined || v === null)
2603
+ return undefined;
2604
+ if (typeof v === 'boolean')
2605
+ return v;
2606
+ if (v === '')
2607
+ return true;
2608
+ if (v === 'false' || v === '0')
2609
+ return false;
2610
+ return true;
2611
+ }
2612
+ // ─── Unified fxShow + fxHide ─────────────────────────────────────────────────
2613
+ class FxShowHideDirective extends ResponsiveBaseDirective {
2614
+ constructor() {
2615
+ super();
2616
+ // ── fxShow inputs ─────────────────────────────────────────────────────────
2617
+ this.fxShow = input(undefined, { ...(ngDevMode ? { debugName: "fxShow" } : /* istanbul ignore next */ {}), alias: 'fxShow', transform: toBool });
2618
+ this.showXs = input(undefined, { ...(ngDevMode ? { debugName: "showXs" } : /* istanbul ignore next */ {}), alias: 'fxShow.xs', transform: toBool });
2619
+ this.showSm = input(undefined, { ...(ngDevMode ? { debugName: "showSm" } : /* istanbul ignore next */ {}), alias: 'fxShow.sm', transform: toBool });
2620
+ this.showMd = input(undefined, { ...(ngDevMode ? { debugName: "showMd" } : /* istanbul ignore next */ {}), alias: 'fxShow.md', transform: toBool });
2621
+ this.showLg = input(undefined, { ...(ngDevMode ? { debugName: "showLg" } : /* istanbul ignore next */ {}), alias: 'fxShow.lg', transform: toBool });
2622
+ this.showXl = input(undefined, { ...(ngDevMode ? { debugName: "showXl" } : /* istanbul ignore next */ {}), alias: 'fxShow.xl', transform: toBool });
2623
+ this.showXxl = input(undefined, { ...(ngDevMode ? { debugName: "showXxl" } : /* istanbul ignore next */ {}), alias: 'fxShow.xxl', transform: toBool });
2624
+ this.showLtSm = input(undefined, { ...(ngDevMode ? { debugName: "showLtSm" } : /* istanbul ignore next */ {}), alias: 'fxShow.lt-sm', transform: toBool });
2625
+ this.showLtMd = input(undefined, { ...(ngDevMode ? { debugName: "showLtMd" } : /* istanbul ignore next */ {}), alias: 'fxShow.lt-md', transform: toBool });
2626
+ this.showLtLg = input(undefined, { ...(ngDevMode ? { debugName: "showLtLg" } : /* istanbul ignore next */ {}), alias: 'fxShow.lt-lg', transform: toBool });
2627
+ this.showLtXl = input(undefined, { ...(ngDevMode ? { debugName: "showLtXl" } : /* istanbul ignore next */ {}), alias: 'fxShow.lt-xl', transform: toBool });
2628
+ this.showLtXxl = input(undefined, { ...(ngDevMode ? { debugName: "showLtXxl" } : /* istanbul ignore next */ {}), alias: 'fxShow.lt-xxl', transform: toBool });
2629
+ this.showGtXs = input(undefined, { ...(ngDevMode ? { debugName: "showGtXs" } : /* istanbul ignore next */ {}), alias: 'fxShow.gt-xs', transform: toBool });
2630
+ this.showGtSm = input(undefined, { ...(ngDevMode ? { debugName: "showGtSm" } : /* istanbul ignore next */ {}), alias: 'fxShow.gt-sm', transform: toBool });
2194
2631
  this.showGtMd = input(undefined, { ...(ngDevMode ? { debugName: "showGtMd" } : /* istanbul ignore next */ {}), alias: 'fxShow.gt-md', transform: toBool });
2195
2632
  this.showGtLg = input(undefined, { ...(ngDevMode ? { debugName: "showGtLg" } : /* istanbul ignore next */ {}), alias: 'fxShow.gt-lg', transform: toBool });
2196
2633
  this.showGtXl = input(undefined, { ...(ngDevMode ? { debugName: "showGtXl" } : /* istanbul ignore next */ {}), alias: 'fxShow.gt-xl', transform: toBool });
@@ -2283,556 +2720,90 @@ class FxShowHideDirective extends ResponsiveBaseDirective {
2283
2720
  // 3. Default values (fxShow / fxHide without suffix)
2284
2721
  const showDef = this.fxShow();
2285
2722
  const hideDef = this.fxHide();
2286
- if (showDef !== undefined)
2287
- return showDef;
2288
- if (hideDef !== undefined)
2289
- return !hideDef;
2290
- // 4. Neither directive active → visible
2291
- return true;
2292
- }, ...(ngDevMode ? [{ debugName: "_visible" }] : /* istanbul ignore next */ []));
2293
- effect(() => {
2294
- this._visible()
2295
- ? this.r2.removeStyle(this.el.nativeElement, 'display')
2296
- : this.r2.setStyle(this.el.nativeElement, 'display', 'none');
2297
- });
2298
- }
2299
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxShowHideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2300
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxShowHideDirective, isStandalone: true, selector: "\n [fxShow],[fxHide],\n [fxShow.xs],[fxShow.sm],[fxShow.md],[fxShow.lg],[fxShow.xl],[fxShow.xxl],\n [fxShow.lt-sm],[fxShow.lt-md],[fxShow.lt-lg],[fxShow.lt-xl],[fxShow.lt-xxl],\n [fxShow.gt-xs],[fxShow.gt-sm],[fxShow.gt-md],[fxShow.gt-lg],[fxShow.gt-xl],\n [fxShow.sm-up],[fxShow.md-up],[fxShow.lg-up],[fxShow.xl-up],[fxShow.xxl-up],\n [fxShow.sm-down],[fxShow.md-down],[fxShow.lg-down],[fxShow.xl-down],\n [fxHide.xs],[fxHide.sm],[fxHide.md],[fxHide.lg],[fxHide.xl],[fxHide.xxl],\n [fxHide.lt-sm],[fxHide.lt-md],[fxHide.lt-lg],[fxHide.lt-xl],[fxHide.lt-xxl],\n [fxHide.gt-xs],[fxHide.gt-sm],[fxHide.gt-md],[fxHide.gt-lg],[fxHide.gt-xl],\n [fxHide.sm-up],[fxHide.md-up],[fxHide.lg-up],[fxHide.xl-up],[fxHide.xxl-up],\n [fxHide.sm-down],[fxHide.md-down],[fxHide.lg-down],[fxHide.xl-down]\n ", inputs: { fxShow: { classPropertyName: "fxShow", publicName: "fxShow", isSignal: true, isRequired: false, transformFunction: null }, showXs: { classPropertyName: "showXs", publicName: "fxShow.xs", isSignal: true, isRequired: false, transformFunction: null }, showSm: { classPropertyName: "showSm", publicName: "fxShow.sm", isSignal: true, isRequired: false, transformFunction: null }, showMd: { classPropertyName: "showMd", publicName: "fxShow.md", isSignal: true, isRequired: false, transformFunction: null }, showLg: { classPropertyName: "showLg", publicName: "fxShow.lg", isSignal: true, isRequired: false, transformFunction: null }, showXl: { classPropertyName: "showXl", publicName: "fxShow.xl", isSignal: true, isRequired: false, transformFunction: null }, showXxl: { classPropertyName: "showXxl", publicName: "fxShow.xxl", isSignal: true, isRequired: false, transformFunction: null }, showLtSm: { classPropertyName: "showLtSm", publicName: "fxShow.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, showLtMd: { classPropertyName: "showLtMd", publicName: "fxShow.lt-md", isSignal: true, isRequired: false, transformFunction: null }, showLtLg: { classPropertyName: "showLtLg", publicName: "fxShow.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, showLtXl: { classPropertyName: "showLtXl", publicName: "fxShow.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, showLtXxl: { classPropertyName: "showLtXxl", publicName: "fxShow.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, showGtXs: { classPropertyName: "showGtXs", publicName: "fxShow.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, showGtSm: { classPropertyName: "showGtSm", publicName: "fxShow.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, showGtMd: { classPropertyName: "showGtMd", publicName: "fxShow.gt-md", isSignal: true, isRequired: false, transformFunction: null }, showGtLg: { classPropertyName: "showGtLg", publicName: "fxShow.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, showGtXl: { classPropertyName: "showGtXl", publicName: "fxShow.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, showSmUp: { classPropertyName: "showSmUp", publicName: "fxShow.sm-up", isSignal: true, isRequired: false, transformFunction: null }, showMdUp: { classPropertyName: "showMdUp", publicName: "fxShow.md-up", isSignal: true, isRequired: false, transformFunction: null }, showLgUp: { classPropertyName: "showLgUp", publicName: "fxShow.lg-up", isSignal: true, isRequired: false, transformFunction: null }, showXlUp: { classPropertyName: "showXlUp", publicName: "fxShow.xl-up", isSignal: true, isRequired: false, transformFunction: null }, showXxlUp: { classPropertyName: "showXxlUp", publicName: "fxShow.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, showSmDown: { classPropertyName: "showSmDown", publicName: "fxShow.sm-down", isSignal: true, isRequired: false, transformFunction: null }, showMdDown: { classPropertyName: "showMdDown", publicName: "fxShow.md-down", isSignal: true, isRequired: false, transformFunction: null }, showLgDown: { classPropertyName: "showLgDown", publicName: "fxShow.lg-down", isSignal: true, isRequired: false, transformFunction: null }, showXlDown: { classPropertyName: "showXlDown", publicName: "fxShow.xl-down", isSignal: true, isRequired: false, transformFunction: null }, fxHide: { classPropertyName: "fxHide", publicName: "fxHide", isSignal: true, isRequired: false, transformFunction: null }, hideXs: { classPropertyName: "hideXs", publicName: "fxHide.xs", isSignal: true, isRequired: false, transformFunction: null }, hideSm: { classPropertyName: "hideSm", publicName: "fxHide.sm", isSignal: true, isRequired: false, transformFunction: null }, hideMd: { classPropertyName: "hideMd", publicName: "fxHide.md", isSignal: true, isRequired: false, transformFunction: null }, hideLg: { classPropertyName: "hideLg", publicName: "fxHide.lg", isSignal: true, isRequired: false, transformFunction: null }, hideXl: { classPropertyName: "hideXl", publicName: "fxHide.xl", isSignal: true, isRequired: false, transformFunction: null }, hideXxl: { classPropertyName: "hideXxl", publicName: "fxHide.xxl", isSignal: true, isRequired: false, transformFunction: null }, hideLtSm: { classPropertyName: "hideLtSm", publicName: "fxHide.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, hideLtMd: { classPropertyName: "hideLtMd", publicName: "fxHide.lt-md", isSignal: true, isRequired: false, transformFunction: null }, hideLtLg: { classPropertyName: "hideLtLg", publicName: "fxHide.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, hideLtXl: { classPropertyName: "hideLtXl", publicName: "fxHide.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, hideLtXxl: { classPropertyName: "hideLtXxl", publicName: "fxHide.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, hideGtXs: { classPropertyName: "hideGtXs", publicName: "fxHide.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, hideGtSm: { classPropertyName: "hideGtSm", publicName: "fxHide.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, hideGtMd: { classPropertyName: "hideGtMd", publicName: "fxHide.gt-md", isSignal: true, isRequired: false, transformFunction: null }, hideGtLg: { classPropertyName: "hideGtLg", publicName: "fxHide.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, hideGtXl: { classPropertyName: "hideGtXl", publicName: "fxHide.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, hideSmUp: { classPropertyName: "hideSmUp", publicName: "fxHide.sm-up", isSignal: true, isRequired: false, transformFunction: null }, hideMdUp: { classPropertyName: "hideMdUp", publicName: "fxHide.md-up", isSignal: true, isRequired: false, transformFunction: null }, hideLgUp: { classPropertyName: "hideLgUp", publicName: "fxHide.lg-up", isSignal: true, isRequired: false, transformFunction: null }, hideXlUp: { classPropertyName: "hideXlUp", publicName: "fxHide.xl-up", isSignal: true, isRequired: false, transformFunction: null }, hideXxlUp: { classPropertyName: "hideXxlUp", publicName: "fxHide.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, hideSmDown: { classPropertyName: "hideSmDown", publicName: "fxHide.sm-down", isSignal: true, isRequired: false, transformFunction: null }, hideMdDown: { classPropertyName: "hideMdDown", publicName: "fxHide.md-down", isSignal: true, isRequired: false, transformFunction: null }, hideLgDown: { classPropertyName: "hideLgDown", publicName: "fxHide.lg-down", isSignal: true, isRequired: false, transformFunction: null }, hideXlDown: { classPropertyName: "hideXlDown", publicName: "fxHide.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
2301
- }
2302
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxShowHideDirective, decorators: [{
2303
- type: Directive,
2304
- args: [{
2305
- selector: `
2306
- [fxShow],[fxHide],
2307
- [fxShow.xs],[fxShow.sm],[fxShow.md],[fxShow.lg],[fxShow.xl],[fxShow.xxl],
2308
- [fxShow.lt-sm],[fxShow.lt-md],[fxShow.lt-lg],[fxShow.lt-xl],[fxShow.lt-xxl],
2309
- [fxShow.gt-xs],[fxShow.gt-sm],[fxShow.gt-md],[fxShow.gt-lg],[fxShow.gt-xl],
2310
- [fxShow.sm-up],[fxShow.md-up],[fxShow.lg-up],[fxShow.xl-up],[fxShow.xxl-up],
2311
- [fxShow.sm-down],[fxShow.md-down],[fxShow.lg-down],[fxShow.xl-down],
2312
- [fxHide.xs],[fxHide.sm],[fxHide.md],[fxHide.lg],[fxHide.xl],[fxHide.xxl],
2313
- [fxHide.lt-sm],[fxHide.lt-md],[fxHide.lt-lg],[fxHide.lt-xl],[fxHide.lt-xxl],
2314
- [fxHide.gt-xs],[fxHide.gt-sm],[fxHide.gt-md],[fxHide.gt-lg],[fxHide.gt-xl],
2315
- [fxHide.sm-up],[fxHide.md-up],[fxHide.lg-up],[fxHide.xl-up],[fxHide.xxl-up],
2316
- [fxHide.sm-down],[fxHide.md-down],[fxHide.lg-down],[fxHide.xl-down]
2317
- `,
2318
- standalone: true,
2319
- }]
2320
- }], ctorParameters: () => [], propDecorators: { fxShow: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow", required: false }] }], showXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.xs", required: false }] }], showSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.sm", required: false }] }], showMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.md", required: false }] }], showLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.lg", required: false }] }], showXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.xl", required: false }] }], showXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.xxl", required: false }] }], showLtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.lt-sm", required: false }] }], showLtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.lt-md", required: false }] }], showLtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.lt-lg", required: false }] }], showLtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.lt-xl", required: false }] }], showLtXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.lt-xxl", required: false }] }], showGtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.gt-xs", required: false }] }], showGtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.gt-sm", required: false }] }], showGtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.gt-md", required: false }] }], showGtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.gt-lg", required: false }] }], showGtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.gt-xl", required: false }] }], showSmUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.sm-up", required: false }] }], showMdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.md-up", required: false }] }], showLgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.lg-up", required: false }] }], showXlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.xl-up", required: false }] }], showXxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.xxl-up", required: false }] }], showSmDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.sm-down", required: false }] }], showMdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.md-down", required: false }] }], showLgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.lg-down", required: false }] }], showXlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.xl-down", required: false }] }], fxHide: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide", required: false }] }], hideXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.xs", required: false }] }], hideSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.sm", required: false }] }], hideMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.md", required: false }] }], hideLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.lg", required: false }] }], hideXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.xl", required: false }] }], hideXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.xxl", required: false }] }], hideLtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.lt-sm", required: false }] }], hideLtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.lt-md", required: false }] }], hideLtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.lt-lg", required: false }] }], hideLtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.lt-xl", required: false }] }], hideLtXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.lt-xxl", required: false }] }], hideGtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.gt-xs", required: false }] }], hideGtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.gt-sm", required: false }] }], hideGtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.gt-md", required: false }] }], hideGtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.gt-lg", required: false }] }], hideGtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.gt-xl", required: false }] }], hideSmUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.sm-up", required: false }] }], hideMdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.md-up", required: false }] }], hideLgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.lg-up", required: false }] }], hideXlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.xl-up", required: false }] }], hideXxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.xxl-up", required: false }] }], hideSmDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.sm-down", required: false }] }], hideMdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.md-down", required: false }] }], hideLgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.lg-down", required: false }] }], hideXlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.xl-down", required: false }] }] } });
2321
-
2322
- /**
2323
- * @file fx-style-class.directives.ts (Angular 21 — signals)
2324
- *
2325
- * [fxStyle] — responsive inline style binding (Record<string,string>)
2326
- * [fxClass] — responsive CSS class binding (string | string[] | Record<string,boolean>)
2327
- *
2328
- * Angular 21 changes:
2329
- * • All @Input setters replaced by input() signals
2330
- * • computed() derives resolved StyleMap / ClassInput value
2331
- * • effect() in constructor handles DOM writes with diff
2332
- *
2333
- * Style/class leak prevention:
2334
- * _appliedProps / _appliedClasses are regular Set<string> fields
2335
- * (NOT signals) — they track what was actively applied so the
2336
- * effect can remove stale properties/classes on the next run.
2337
- *
2338
- * Breakpoint suffixes: canonical + lt-* + gt-* + *-up + *-down
2339
- */
2340
- class FxStyleDirective extends ResponsiveBaseDirective {
2341
- constructor() {
2342
- super();
2343
- this.fxStyle = input(undefined, { ...(ngDevMode ? { debugName: "fxStyle" } : /* istanbul ignore next */ {}), alias: 'fxStyle' });
2344
- this.xs = input(undefined, { ...(ngDevMode ? { debugName: "xs" } : /* istanbul ignore next */ {}), alias: 'fxStyle.xs' });
2345
- this.sm = input(undefined, { ...(ngDevMode ? { debugName: "sm" } : /* istanbul ignore next */ {}), alias: 'fxStyle.sm' });
2346
- this.md = input(undefined, { ...(ngDevMode ? { debugName: "md" } : /* istanbul ignore next */ {}), alias: 'fxStyle.md' });
2347
- this.lg = input(undefined, { ...(ngDevMode ? { debugName: "lg" } : /* istanbul ignore next */ {}), alias: 'fxStyle.lg' });
2348
- this.xl = input(undefined, { ...(ngDevMode ? { debugName: "xl" } : /* istanbul ignore next */ {}), alias: 'fxStyle.xl' });
2349
- this.xxl = input(undefined, { ...(ngDevMode ? { debugName: "xxl" } : /* istanbul ignore next */ {}), alias: 'fxStyle.xxl' });
2350
- this.ltSm = input(undefined, { ...(ngDevMode ? { debugName: "ltSm" } : /* istanbul ignore next */ {}), alias: 'fxStyle.lt-sm' });
2351
- this.ltMd = input(undefined, { ...(ngDevMode ? { debugName: "ltMd" } : /* istanbul ignore next */ {}), alias: 'fxStyle.lt-md' });
2352
- this.ltLg = input(undefined, { ...(ngDevMode ? { debugName: "ltLg" } : /* istanbul ignore next */ {}), alias: 'fxStyle.lt-lg' });
2353
- this.ltXl = input(undefined, { ...(ngDevMode ? { debugName: "ltXl" } : /* istanbul ignore next */ {}), alias: 'fxStyle.lt-xl' });
2354
- this.ltXxl = input(undefined, { ...(ngDevMode ? { debugName: "ltXxl" } : /* istanbul ignore next */ {}), alias: 'fxStyle.lt-xxl' });
2355
- this.gtXs = input(undefined, { ...(ngDevMode ? { debugName: "gtXs" } : /* istanbul ignore next */ {}), alias: 'fxStyle.gt-xs' });
2356
- this.gtSm = input(undefined, { ...(ngDevMode ? { debugName: "gtSm" } : /* istanbul ignore next */ {}), alias: 'fxStyle.gt-sm' });
2357
- this.gtMd = input(undefined, { ...(ngDevMode ? { debugName: "gtMd" } : /* istanbul ignore next */ {}), alias: 'fxStyle.gt-md' });
2358
- this.gtLg = input(undefined, { ...(ngDevMode ? { debugName: "gtLg" } : /* istanbul ignore next */ {}), alias: 'fxStyle.gt-lg' });
2359
- this.gtXl = input(undefined, { ...(ngDevMode ? { debugName: "gtXl" } : /* istanbul ignore next */ {}), alias: 'fxStyle.gt-xl' });
2360
- this.smUp = input(undefined, { ...(ngDevMode ? { debugName: "smUp" } : /* istanbul ignore next */ {}), alias: 'fxStyle.sm-up' });
2361
- this.mdUp = input(undefined, { ...(ngDevMode ? { debugName: "mdUp" } : /* istanbul ignore next */ {}), alias: 'fxStyle.md-up' });
2362
- this.lgUp = input(undefined, { ...(ngDevMode ? { debugName: "lgUp" } : /* istanbul ignore next */ {}), alias: 'fxStyle.lg-up' });
2363
- this.xlUp = input(undefined, { ...(ngDevMode ? { debugName: "xlUp" } : /* istanbul ignore next */ {}), alias: 'fxStyle.xl-up' });
2364
- this.xxlUp = input(undefined, { ...(ngDevMode ? { debugName: "xxlUp" } : /* istanbul ignore next */ {}), alias: 'fxStyle.xxl-up' });
2365
- this.smDown = input(undefined, { ...(ngDevMode ? { debugName: "smDown" } : /* istanbul ignore next */ {}), alias: 'fxStyle.sm-down' });
2366
- this.mdDown = input(undefined, { ...(ngDevMode ? { debugName: "mdDown" } : /* istanbul ignore next */ {}), alias: 'fxStyle.md-down' });
2367
- this.lgDown = input(undefined, { ...(ngDevMode ? { debugName: "lgDown" } : /* istanbul ignore next */ {}), alias: 'fxStyle.lg-down' });
2368
- this.xlDown = input(undefined, { ...(ngDevMode ? { debugName: "xlDown" } : /* istanbul ignore next */ {}), alias: 'fxStyle.xl-down' });
2369
- this._resolved = computed(() => (resolveAll({ default: this.fxStyle(), xs: this.xs(), sm: this.sm(),
2370
- md: this.md(), lg: this.lg(), xl: this.xl(), xxl: this.xxl() }, { 'lt-sm': this.ltSm(), 'lt-md': this.ltMd(), 'lt-lg': this.ltLg(),
2371
- 'lt-xl': this.ltXl(), 'lt-xxl': this.ltXxl(),
2372
- 'gt-xs': this.gtXs(), 'gt-sm': this.gtSm(), 'gt-md': this.gtMd(),
2373
- 'gt-lg': this.gtLg(), 'gt-xl': this.gtXl(),
2374
- 'sm-up': this.smUp(), 'md-up': this.mdUp(), 'lg-up': this.lgUp(),
2375
- 'xl-up': this.xlUp(), 'xxl-up': this.xxlUp(),
2376
- 'sm-down': this.smDown(), 'md-down': this.mdDown(),
2377
- 'lg-down': this.lgDown(), 'xl-down': this.xlDown() }, this.media.currentBp(), a => this.media.isActive(a)) ?? {}), ...(ngDevMode ? [{ debugName: "_resolved" }] : /* istanbul ignore next */ []));
2378
- /** Tracks which CSS properties were last applied — plain field, not a signal. */
2379
- this._appliedProps = new Set();
2380
- effect(() => {
2381
- if (!this.isBrowser)
2382
- return;
2383
- const next = this._resolved();
2384
- const nextKeys = new Set(Object.keys(next));
2385
- for (const prop of this._appliedProps) {
2386
- if (!nextKeys.has(prop))
2387
- this.r2.removeStyle(this.el.nativeElement, prop);
2388
- }
2389
- for (const [prop, value] of Object.entries(next)) {
2390
- this.r2.setStyle(this.el.nativeElement, prop, value);
2391
- }
2392
- this._appliedProps = nextKeys;
2393
- });
2394
- }
2395
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxStyleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2396
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxStyleDirective, isStandalone: true, selector: "\n [fxStyle],\n [fxStyle.xs],[fxStyle.sm],[fxStyle.md],[fxStyle.lg],[fxStyle.xl],[fxStyle.xxl],\n [fxStyle.lt-sm],[fxStyle.lt-md],[fxStyle.lt-lg],[fxStyle.lt-xl],[fxStyle.lt-xxl],\n [fxStyle.gt-xs],[fxStyle.gt-sm],[fxStyle.gt-md],[fxStyle.gt-lg],[fxStyle.gt-xl],\n [fxStyle.sm-up],[fxStyle.md-up],[fxStyle.lg-up],[fxStyle.xl-up],[fxStyle.xxl-up],\n [fxStyle.sm-down],[fxStyle.md-down],[fxStyle.lg-down],[fxStyle.xl-down]\n ", inputs: { fxStyle: { classPropertyName: "fxStyle", publicName: "fxStyle", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "fxStyle.xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "fxStyle.sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "fxStyle.md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "fxStyle.lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "fxStyle.xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "fxStyle.xxl", isSignal: true, isRequired: false, transformFunction: null }, ltSm: { classPropertyName: "ltSm", publicName: "fxStyle.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, ltMd: { classPropertyName: "ltMd", publicName: "fxStyle.lt-md", isSignal: true, isRequired: false, transformFunction: null }, ltLg: { classPropertyName: "ltLg", publicName: "fxStyle.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, ltXl: { classPropertyName: "ltXl", publicName: "fxStyle.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, ltXxl: { classPropertyName: "ltXxl", publicName: "fxStyle.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gtXs: { classPropertyName: "gtXs", publicName: "fxStyle.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gtSm: { classPropertyName: "gtSm", publicName: "fxStyle.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gtMd: { classPropertyName: "gtMd", publicName: "fxStyle.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gtLg: { classPropertyName: "gtLg", publicName: "fxStyle.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gtXl: { classPropertyName: "gtXl", publicName: "fxStyle.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, smUp: { classPropertyName: "smUp", publicName: "fxStyle.sm-up", isSignal: true, isRequired: false, transformFunction: null }, mdUp: { classPropertyName: "mdUp", publicName: "fxStyle.md-up", isSignal: true, isRequired: false, transformFunction: null }, lgUp: { classPropertyName: "lgUp", publicName: "fxStyle.lg-up", isSignal: true, isRequired: false, transformFunction: null }, xlUp: { classPropertyName: "xlUp", publicName: "fxStyle.xl-up", isSignal: true, isRequired: false, transformFunction: null }, xxlUp: { classPropertyName: "xxlUp", publicName: "fxStyle.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, smDown: { classPropertyName: "smDown", publicName: "fxStyle.sm-down", isSignal: true, isRequired: false, transformFunction: null }, mdDown: { classPropertyName: "mdDown", publicName: "fxStyle.md-down", isSignal: true, isRequired: false, transformFunction: null }, lgDown: { classPropertyName: "lgDown", publicName: "fxStyle.lg-down", isSignal: true, isRequired: false, transformFunction: null }, xlDown: { classPropertyName: "xlDown", publicName: "fxStyle.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
2397
- }
2398
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxStyleDirective, decorators: [{
2399
- type: Directive,
2400
- args: [{
2401
- selector: `
2402
- [fxStyle],
2403
- [fxStyle.xs],[fxStyle.sm],[fxStyle.md],[fxStyle.lg],[fxStyle.xl],[fxStyle.xxl],
2404
- [fxStyle.lt-sm],[fxStyle.lt-md],[fxStyle.lt-lg],[fxStyle.lt-xl],[fxStyle.lt-xxl],
2405
- [fxStyle.gt-xs],[fxStyle.gt-sm],[fxStyle.gt-md],[fxStyle.gt-lg],[fxStyle.gt-xl],
2406
- [fxStyle.sm-up],[fxStyle.md-up],[fxStyle.lg-up],[fxStyle.xl-up],[fxStyle.xxl-up],
2407
- [fxStyle.sm-down],[fxStyle.md-down],[fxStyle.lg-down],[fxStyle.xl-down]
2408
- `,
2409
- standalone: true,
2410
- }]
2411
- }], ctorParameters: () => [], propDecorators: { fxStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.xxl", required: false }] }], ltSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.lt-sm", required: false }] }], ltMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.lt-md", required: false }] }], ltLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.lt-lg", required: false }] }], ltXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.lt-xl", required: false }] }], ltXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.lt-xxl", required: false }] }], gtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.gt-xs", required: false }] }], gtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.gt-sm", required: false }] }], gtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.gt-md", required: false }] }], gtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.gt-lg", required: false }] }], gtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.gt-xl", required: false }] }], smUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.sm-up", required: false }] }], mdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.md-up", required: false }] }], lgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.lg-up", required: false }] }], xlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.xl-up", required: false }] }], xxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.xxl-up", required: false }] }], smDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.sm-down", required: false }] }], mdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.md-down", required: false }] }], lgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.lg-down", required: false }] }], xlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.xl-down", required: false }] }] } });
2412
- function toClassSet(v) {
2413
- if (!v)
2414
- return new Set();
2415
- if (typeof v === 'string')
2416
- return new Set(v.split(/\s+/).filter(Boolean));
2417
- if (Array.isArray(v))
2418
- return new Set(v.filter(Boolean));
2419
- return new Set(Object.entries(v).filter(([, on]) => on).map(([cls]) => cls));
2420
- }
2421
- class FxClassDirective extends ResponsiveBaseDirective {
2422
- constructor() {
2423
- super();
2424
- this.fxClass = input(undefined, { ...(ngDevMode ? { debugName: "fxClass" } : /* istanbul ignore next */ {}), alias: 'fxClass' });
2425
- this.xs = input(undefined, { ...(ngDevMode ? { debugName: "xs" } : /* istanbul ignore next */ {}), alias: 'fxClass.xs' });
2426
- this.sm = input(undefined, { ...(ngDevMode ? { debugName: "sm" } : /* istanbul ignore next */ {}), alias: 'fxClass.sm' });
2427
- this.md = input(undefined, { ...(ngDevMode ? { debugName: "md" } : /* istanbul ignore next */ {}), alias: 'fxClass.md' });
2428
- this.lg = input(undefined, { ...(ngDevMode ? { debugName: "lg" } : /* istanbul ignore next */ {}), alias: 'fxClass.lg' });
2429
- this.xl = input(undefined, { ...(ngDevMode ? { debugName: "xl" } : /* istanbul ignore next */ {}), alias: 'fxClass.xl' });
2430
- this.xxl = input(undefined, { ...(ngDevMode ? { debugName: "xxl" } : /* istanbul ignore next */ {}), alias: 'fxClass.xxl' });
2431
- this.ltSm = input(undefined, { ...(ngDevMode ? { debugName: "ltSm" } : /* istanbul ignore next */ {}), alias: 'fxClass.lt-sm' });
2432
- this.ltMd = input(undefined, { ...(ngDevMode ? { debugName: "ltMd" } : /* istanbul ignore next */ {}), alias: 'fxClass.lt-md' });
2433
- this.ltLg = input(undefined, { ...(ngDevMode ? { debugName: "ltLg" } : /* istanbul ignore next */ {}), alias: 'fxClass.lt-lg' });
2434
- this.ltXl = input(undefined, { ...(ngDevMode ? { debugName: "ltXl" } : /* istanbul ignore next */ {}), alias: 'fxClass.lt-xl' });
2435
- this.ltXxl = input(undefined, { ...(ngDevMode ? { debugName: "ltXxl" } : /* istanbul ignore next */ {}), alias: 'fxClass.lt-xxl' });
2436
- this.gtXs = input(undefined, { ...(ngDevMode ? { debugName: "gtXs" } : /* istanbul ignore next */ {}), alias: 'fxClass.gt-xs' });
2437
- this.gtSm = input(undefined, { ...(ngDevMode ? { debugName: "gtSm" } : /* istanbul ignore next */ {}), alias: 'fxClass.gt-sm' });
2438
- this.gtMd = input(undefined, { ...(ngDevMode ? { debugName: "gtMd" } : /* istanbul ignore next */ {}), alias: 'fxClass.gt-md' });
2439
- this.gtLg = input(undefined, { ...(ngDevMode ? { debugName: "gtLg" } : /* istanbul ignore next */ {}), alias: 'fxClass.gt-lg' });
2440
- this.gtXl = input(undefined, { ...(ngDevMode ? { debugName: "gtXl" } : /* istanbul ignore next */ {}), alias: 'fxClass.gt-xl' });
2441
- this.smUp = input(undefined, { ...(ngDevMode ? { debugName: "smUp" } : /* istanbul ignore next */ {}), alias: 'fxClass.sm-up' });
2442
- this.mdUp = input(undefined, { ...(ngDevMode ? { debugName: "mdUp" } : /* istanbul ignore next */ {}), alias: 'fxClass.md-up' });
2443
- this.lgUp = input(undefined, { ...(ngDevMode ? { debugName: "lgUp" } : /* istanbul ignore next */ {}), alias: 'fxClass.lg-up' });
2444
- this.xlUp = input(undefined, { ...(ngDevMode ? { debugName: "xlUp" } : /* istanbul ignore next */ {}), alias: 'fxClass.xl-up' });
2445
- this.xxlUp = input(undefined, { ...(ngDevMode ? { debugName: "xxlUp" } : /* istanbul ignore next */ {}), alias: 'fxClass.xxl-up' });
2446
- this.smDown = input(undefined, { ...(ngDevMode ? { debugName: "smDown" } : /* istanbul ignore next */ {}), alias: 'fxClass.sm-down' });
2447
- this.mdDown = input(undefined, { ...(ngDevMode ? { debugName: "mdDown" } : /* istanbul ignore next */ {}), alias: 'fxClass.md-down' });
2448
- this.lgDown = input(undefined, { ...(ngDevMode ? { debugName: "lgDown" } : /* istanbul ignore next */ {}), alias: 'fxClass.lg-down' });
2449
- this.xlDown = input(undefined, { ...(ngDevMode ? { debugName: "xlDown" } : /* istanbul ignore next */ {}), alias: 'fxClass.xl-down' });
2450
- this._resolved = computed(() => toClassSet(resolveAll({ default: this.fxClass(), xs: this.xs(), sm: this.sm(),
2451
- md: this.md(), lg: this.lg(), xl: this.xl(), xxl: this.xxl() }, { 'lt-sm': this.ltSm(), 'lt-md': this.ltMd(), 'lt-lg': this.ltLg(),
2452
- 'lt-xl': this.ltXl(), 'lt-xxl': this.ltXxl(),
2453
- 'gt-xs': this.gtXs(), 'gt-sm': this.gtSm(), 'gt-md': this.gtMd(),
2454
- 'gt-lg': this.gtLg(), 'gt-xl': this.gtXl(),
2455
- 'sm-up': this.smUp(), 'md-up': this.mdUp(), 'lg-up': this.lgUp(),
2456
- 'xl-up': this.xlUp(), 'xxl-up': this.xxlUp(),
2457
- 'sm-down': this.smDown(), 'md-down': this.mdDown(),
2458
- 'lg-down': this.lgDown(), 'xl-down': this.xlDown() }, this.media.currentBp(), a => this.media.isActive(a))), ...(ngDevMode ? [{ debugName: "_resolved" }] : /* istanbul ignore next */ []));
2459
- /** Tracks which CSS classes were last applied — plain field, not a signal. */
2460
- this._appliedClasses = new Set();
2461
- effect(() => {
2462
- if (!this.isBrowser)
2463
- return;
2464
- const next = this._resolved();
2465
- for (const cls of this._appliedClasses) {
2466
- if (!next.has(cls))
2467
- this.r2.removeClass(this.el.nativeElement, cls);
2468
- }
2469
- for (const cls of next) {
2470
- this.r2.addClass(this.el.nativeElement, cls);
2471
- }
2472
- this._appliedClasses = next;
2473
- });
2474
- }
2475
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxClassDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2476
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxClassDirective, isStandalone: true, selector: "\n [fxClass],\n [fxClass.xs],[fxClass.sm],[fxClass.md],[fxClass.lg],[fxClass.xl],[fxClass.xxl],\n [fxClass.lt-sm],[fxClass.lt-md],[fxClass.lt-lg],[fxClass.lt-xl],[fxClass.lt-xxl],\n [fxClass.gt-xs],[fxClass.gt-sm],[fxClass.gt-md],[fxClass.gt-lg],[fxClass.gt-xl],\n [fxClass.sm-up],[fxClass.md-up],[fxClass.lg-up],[fxClass.xl-up],[fxClass.xxl-up],\n [fxClass.sm-down],[fxClass.md-down],[fxClass.lg-down],[fxClass.xl-down]\n ", inputs: { fxClass: { classPropertyName: "fxClass", publicName: "fxClass", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "fxClass.xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "fxClass.sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "fxClass.md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "fxClass.lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "fxClass.xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "fxClass.xxl", isSignal: true, isRequired: false, transformFunction: null }, ltSm: { classPropertyName: "ltSm", publicName: "fxClass.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, ltMd: { classPropertyName: "ltMd", publicName: "fxClass.lt-md", isSignal: true, isRequired: false, transformFunction: null }, ltLg: { classPropertyName: "ltLg", publicName: "fxClass.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, ltXl: { classPropertyName: "ltXl", publicName: "fxClass.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, ltXxl: { classPropertyName: "ltXxl", publicName: "fxClass.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gtXs: { classPropertyName: "gtXs", publicName: "fxClass.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gtSm: { classPropertyName: "gtSm", publicName: "fxClass.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gtMd: { classPropertyName: "gtMd", publicName: "fxClass.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gtLg: { classPropertyName: "gtLg", publicName: "fxClass.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gtXl: { classPropertyName: "gtXl", publicName: "fxClass.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, smUp: { classPropertyName: "smUp", publicName: "fxClass.sm-up", isSignal: true, isRequired: false, transformFunction: null }, mdUp: { classPropertyName: "mdUp", publicName: "fxClass.md-up", isSignal: true, isRequired: false, transformFunction: null }, lgUp: { classPropertyName: "lgUp", publicName: "fxClass.lg-up", isSignal: true, isRequired: false, transformFunction: null }, xlUp: { classPropertyName: "xlUp", publicName: "fxClass.xl-up", isSignal: true, isRequired: false, transformFunction: null }, xxlUp: { classPropertyName: "xxlUp", publicName: "fxClass.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, smDown: { classPropertyName: "smDown", publicName: "fxClass.sm-down", isSignal: true, isRequired: false, transformFunction: null }, mdDown: { classPropertyName: "mdDown", publicName: "fxClass.md-down", isSignal: true, isRequired: false, transformFunction: null }, lgDown: { classPropertyName: "lgDown", publicName: "fxClass.lg-down", isSignal: true, isRequired: false, transformFunction: null }, xlDown: { classPropertyName: "xlDown", publicName: "fxClass.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
2477
- }
2478
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxClassDirective, decorators: [{
2479
- type: Directive,
2480
- args: [{
2481
- selector: `
2482
- [fxClass],
2483
- [fxClass.xs],[fxClass.sm],[fxClass.md],[fxClass.lg],[fxClass.xl],[fxClass.xxl],
2484
- [fxClass.lt-sm],[fxClass.lt-md],[fxClass.lt-lg],[fxClass.lt-xl],[fxClass.lt-xxl],
2485
- [fxClass.gt-xs],[fxClass.gt-sm],[fxClass.gt-md],[fxClass.gt-lg],[fxClass.gt-xl],
2486
- [fxClass.sm-up],[fxClass.md-up],[fxClass.lg-up],[fxClass.xl-up],[fxClass.xxl-up],
2487
- [fxClass.sm-down],[fxClass.md-down],[fxClass.lg-down],[fxClass.xl-down]
2488
- `,
2489
- standalone: true,
2490
- }]
2491
- }], ctorParameters: () => [], propDecorators: { fxClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.xxl", required: false }] }], ltSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.lt-sm", required: false }] }], ltMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.lt-md", required: false }] }], ltLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.lt-lg", required: false }] }], ltXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.lt-xl", required: false }] }], ltXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.lt-xxl", required: false }] }], gtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.gt-xs", required: false }] }], gtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.gt-sm", required: false }] }], gtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.gt-md", required: false }] }], gtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.gt-lg", required: false }] }], gtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.gt-xl", required: false }] }], smUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.sm-up", required: false }] }], mdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.md-up", required: false }] }], lgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.lg-up", required: false }] }], xlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.xl-up", required: false }] }], xxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.xxl-up", required: false }] }], smDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.sm-down", required: false }] }], mdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.md-down", required: false }] }], lgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.lg-down", required: false }] }], xlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.xl-down", required: false }] }] } });
2492
-
2493
- /**
2494
- * @file fx-flex.directive.ts (Angular 21 — signals)
2495
- *
2496
- * [fxFlex] — flex shorthand on a flex child element.
2497
- *
2498
- * Angular 21 changes:
2499
- * • All @Input setters replaced by input() signals
2500
- * • computed() builds the BpValues / NcValues maps reactively
2501
- * • effect() in constructor writes to the DOM — no lifecycle hooks needed
2502
- * • resolveAll() is the pure function from responsive-base.directive.ts
2503
- *
2504
- * Accepted values:
2505
- * (empty) → flex: 1 1 0%
2506
- * "auto" → flex: 1 1 auto
2507
- * "none" → flex: none
2508
- * "grow" → flex: 1 1 100%
2509
- * "nogrow" → flex: 0 1 auto
2510
- * "noshrink" → flex: 1 0 auto
2511
- * "50%" → flex: 1 1 50%
2512
- * "50" → flex: 1 1 50% (unitless normalized to %)
2513
- * "200px" → flex: 1 1 200px
2514
- * "0 0 200px" → flex: 0 0 200px (full shorthand passthrough)
2515
- *
2516
- * Breakpoint suffixes:
2517
- * Canonical : .xs .sm .md .lg .xl .xxl
2518
- * lt-* : .lt-sm .lt-md .lt-lg .lt-xl .lt-xxl
2519
- * gt-* : .gt-xs .gt-sm .gt-md .gt-lg .gt-xl
2520
- * *-up : .sm-up .md-up .lg-up .xl-up .xxl-up
2521
- * *-down : .sm-down .md-down .lg-down .xl-down
2522
- */
2523
- function toFlexCss(raw) {
2524
- if (raw === undefined || raw === '' || raw === '*')
2525
- return '1 1 auto';
2526
- if (raw === 'none')
2527
- return 'none';
2528
- if (raw === 'auto')
2529
- return '1 1 auto';
2530
- if (raw === 'grow')
2531
- return '1 1 100%';
2532
- if (raw === 'nogrow')
2533
- return '0 1 auto';
2534
- if (raw === 'noshrink')
2535
- return '1 0 auto';
2536
- const parts = raw.trim().split(/\s+/);
2537
- if (parts.length === 3)
2538
- return raw.trim();
2539
- let basis = parts[0];
2540
- if (/^\d+(\.\d+)?$/.test(basis))
2541
- basis = basis + '%';
2542
- // Fixed units (px, em, rem, vh, vw…) → 0 0 (no grow/shrink); % → 1 1
2543
- const fixed = /px|em|rem|vh|vw|vmin|vmax|ch|ex|cm|mm|in|pt|pc/.test(basis);
2544
- return `${fixed ? '0 0' : '1 1'} ${basis}`;
2545
- }
2546
- /** Returns true if any sibling element in the same parent has fxFlex="*" */
2547
- function parentHasStar(el) {
2548
- const parent = el.parentElement;
2549
- if (!parent)
2550
- return false;
2551
- return Array.from(parent.children).some(c => c !== el && (c.getAttribute('fxflex') === '*' || c.getAttribute('fxFlex') === '*'));
2552
- }
2553
- class FxFlexDirective extends ResponsiveBaseDirective {
2554
- constructor() {
2555
- super();
2556
- // ── Canonical signal inputs ───────────────────────────────────────────────
2557
- this.fxFlex = input(undefined, { ...(ngDevMode ? { debugName: "fxFlex" } : /* istanbul ignore next */ {}), alias: 'fxFlex' });
2558
- this.xs = input(undefined, { ...(ngDevMode ? { debugName: "xs" } : /* istanbul ignore next */ {}), alias: 'fxFlex.xs' });
2559
- this.sm = input(undefined, { ...(ngDevMode ? { debugName: "sm" } : /* istanbul ignore next */ {}), alias: 'fxFlex.sm' });
2560
- this.md = input(undefined, { ...(ngDevMode ? { debugName: "md" } : /* istanbul ignore next */ {}), alias: 'fxFlex.md' });
2561
- this.lg = input(undefined, { ...(ngDevMode ? { debugName: "lg" } : /* istanbul ignore next */ {}), alias: 'fxFlex.lg' });
2562
- this.xl = input(undefined, { ...(ngDevMode ? { debugName: "xl" } : /* istanbul ignore next */ {}), alias: 'fxFlex.xl' });
2563
- this.xxl = input(undefined, { ...(ngDevMode ? { debugName: "xxl" } : /* istanbul ignore next */ {}), alias: 'fxFlex.xxl' });
2564
- // ── lt-* ─────────────────────────────────────────────────────────────────
2565
- this.ltSm = input(undefined, { ...(ngDevMode ? { debugName: "ltSm" } : /* istanbul ignore next */ {}), alias: 'fxFlex.lt-sm' });
2566
- this.ltMd = input(undefined, { ...(ngDevMode ? { debugName: "ltMd" } : /* istanbul ignore next */ {}), alias: 'fxFlex.lt-md' });
2567
- this.ltLg = input(undefined, { ...(ngDevMode ? { debugName: "ltLg" } : /* istanbul ignore next */ {}), alias: 'fxFlex.lt-lg' });
2568
- this.ltXl = input(undefined, { ...(ngDevMode ? { debugName: "ltXl" } : /* istanbul ignore next */ {}), alias: 'fxFlex.lt-xl' });
2569
- this.ltXxl = input(undefined, { ...(ngDevMode ? { debugName: "ltXxl" } : /* istanbul ignore next */ {}), alias: 'fxFlex.lt-xxl' });
2570
- // ── gt-* ─────────────────────────────────────────────────────────────────
2571
- this.gtXs = input(undefined, { ...(ngDevMode ? { debugName: "gtXs" } : /* istanbul ignore next */ {}), alias: 'fxFlex.gt-xs' });
2572
- this.gtSm = input(undefined, { ...(ngDevMode ? { debugName: "gtSm" } : /* istanbul ignore next */ {}), alias: 'fxFlex.gt-sm' });
2573
- this.gtMd = input(undefined, { ...(ngDevMode ? { debugName: "gtMd" } : /* istanbul ignore next */ {}), alias: 'fxFlex.gt-md' });
2574
- this.gtLg = input(undefined, { ...(ngDevMode ? { debugName: "gtLg" } : /* istanbul ignore next */ {}), alias: 'fxFlex.gt-lg' });
2575
- this.gtXl = input(undefined, { ...(ngDevMode ? { debugName: "gtXl" } : /* istanbul ignore next */ {}), alias: 'fxFlex.gt-xl' });
2576
- // ── *-up ─────────────────────────────────────────────────────────────────
2577
- this.smUp = input(undefined, { ...(ngDevMode ? { debugName: "smUp" } : /* istanbul ignore next */ {}), alias: 'fxFlex.sm-up' });
2578
- this.mdUp = input(undefined, { ...(ngDevMode ? { debugName: "mdUp" } : /* istanbul ignore next */ {}), alias: 'fxFlex.md-up' });
2579
- this.lgUp = input(undefined, { ...(ngDevMode ? { debugName: "lgUp" } : /* istanbul ignore next */ {}), alias: 'fxFlex.lg-up' });
2580
- this.xlUp = input(undefined, { ...(ngDevMode ? { debugName: "xlUp" } : /* istanbul ignore next */ {}), alias: 'fxFlex.xl-up' });
2581
- this.xxlUp = input(undefined, { ...(ngDevMode ? { debugName: "xxlUp" } : /* istanbul ignore next */ {}), alias: 'fxFlex.xxl-up' });
2582
- // ── *-down ───────────────────────────────────────────────────────────────
2583
- this.smDown = input(undefined, { ...(ngDevMode ? { debugName: "smDown" } : /* istanbul ignore next */ {}), alias: 'fxFlex.sm-down' });
2584
- this.mdDown = input(undefined, { ...(ngDevMode ? { debugName: "mdDown" } : /* istanbul ignore next */ {}), alias: 'fxFlex.md-down' });
2585
- this.lgDown = input(undefined, { ...(ngDevMode ? { debugName: "lgDown" } : /* istanbul ignore next */ {}), alias: 'fxFlex.lg-down' });
2586
- this.xlDown = input(undefined, { ...(ngDevMode ? { debugName: "xlDown" } : /* istanbul ignore next */ {}), alias: 'fxFlex.xl-down' });
2587
- // ── Derived CSS value ──────────────────────────────────────────────────────
2588
- // Inlined single computed: Angular tracks each input() individually,
2589
- // so _flexCss only recomputes when a signal it actually reads changes.
2590
- this._rawFlex = computed(() => resolveAll({ default: this.fxFlex(), xs: this.xs(), sm: this.sm(), md: this.md(),
2591
- lg: this.lg(), xl: this.xl(), xxl: this.xxl() }, { 'lt-sm': this.ltSm(), 'lt-md': this.ltMd(), 'lt-lg': this.ltLg(),
2592
- 'lt-xl': this.ltXl(), 'lt-xxl': this.ltXxl(),
2593
- 'gt-xs': this.gtXs(), 'gt-sm': this.gtSm(), 'gt-md': this.gtMd(),
2594
- 'gt-lg': this.gtLg(), 'gt-xl': this.gtXl(),
2595
- 'sm-up': this.smUp(), 'md-up': this.mdUp(), 'lg-up': this.lgUp(),
2596
- 'xl-up': this.xlUp(), 'xxl-up': this.xxlUp(),
2597
- 'sm-down': this.smDown(), 'md-down': this.mdDown(),
2598
- 'lg-down': this.lgDown(), 'xl-down': this.xlDown() }, this.media.currentBp(), a => this.media.isActive(a)), ...(ngDevMode ? [{ debugName: "_rawFlex" }] : /* istanbul ignore next */ []));
2599
- effect(() => {
2600
- const raw = this._rawFlex();
2601
- // undefined means no rule matched the current breakpoint (e.g. only fxFlex.lt-md="100"
2602
- // is set and the current bp is lg+). Remove flex entirely so the browser default
2603
- // (flex: 0 1 auto) applies and justify-content can distribute the remaining space.
2604
- if (raw === undefined) {
2605
- this.safeSetStyle('flex', null);
2606
- this.safeSetStyle('box-sizing', null);
2607
- return;
2608
- }
2609
- // empty string / "*" → equal distribution (1 1 auto), unless a star-sibling is present
2610
- const css = raw === ''
2611
- ? (parentHasStar(this.el.nativeElement) ? '0 0 auto' : '1 1 auto')
2612
- : toFlexCss(raw);
2613
- this.safeSetStyle('flex', css);
2614
- this.safeSetStyle('box-sizing', 'border-box');
2615
- });
2616
- }
2617
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxFlexDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2618
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxFlexDirective, isStandalone: true, selector: "\n [fxFlex],\n [fxFlex.xs],[fxFlex.sm],[fxFlex.md],[fxFlex.lg],[fxFlex.xl],[fxFlex.xxl],\n [fxFlex.lt-sm],[fxFlex.lt-md],[fxFlex.lt-lg],[fxFlex.lt-xl],[fxFlex.lt-xxl],\n [fxFlex.gt-xs],[fxFlex.gt-sm],[fxFlex.gt-md],[fxFlex.gt-lg],[fxFlex.gt-xl],\n [fxFlex.sm-up],[fxFlex.md-up],[fxFlex.lg-up],[fxFlex.xl-up],[fxFlex.xxl-up],\n [fxFlex.sm-down],[fxFlex.md-down],[fxFlex.lg-down],[fxFlex.xl-down]\n ", inputs: { fxFlex: { classPropertyName: "fxFlex", publicName: "fxFlex", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "fxFlex.xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "fxFlex.sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "fxFlex.md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "fxFlex.lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "fxFlex.xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "fxFlex.xxl", isSignal: true, isRequired: false, transformFunction: null }, ltSm: { classPropertyName: "ltSm", publicName: "fxFlex.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, ltMd: { classPropertyName: "ltMd", publicName: "fxFlex.lt-md", isSignal: true, isRequired: false, transformFunction: null }, ltLg: { classPropertyName: "ltLg", publicName: "fxFlex.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, ltXl: { classPropertyName: "ltXl", publicName: "fxFlex.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, ltXxl: { classPropertyName: "ltXxl", publicName: "fxFlex.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gtXs: { classPropertyName: "gtXs", publicName: "fxFlex.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gtSm: { classPropertyName: "gtSm", publicName: "fxFlex.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gtMd: { classPropertyName: "gtMd", publicName: "fxFlex.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gtLg: { classPropertyName: "gtLg", publicName: "fxFlex.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gtXl: { classPropertyName: "gtXl", publicName: "fxFlex.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, smUp: { classPropertyName: "smUp", publicName: "fxFlex.sm-up", isSignal: true, isRequired: false, transformFunction: null }, mdUp: { classPropertyName: "mdUp", publicName: "fxFlex.md-up", isSignal: true, isRequired: false, transformFunction: null }, lgUp: { classPropertyName: "lgUp", publicName: "fxFlex.lg-up", isSignal: true, isRequired: false, transformFunction: null }, xlUp: { classPropertyName: "xlUp", publicName: "fxFlex.xl-up", isSignal: true, isRequired: false, transformFunction: null }, xxlUp: { classPropertyName: "xxlUp", publicName: "fxFlex.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, smDown: { classPropertyName: "smDown", publicName: "fxFlex.sm-down", isSignal: true, isRequired: false, transformFunction: null }, mdDown: { classPropertyName: "mdDown", publicName: "fxFlex.md-down", isSignal: true, isRequired: false, transformFunction: null }, lgDown: { classPropertyName: "lgDown", publicName: "fxFlex.lg-down", isSignal: true, isRequired: false, transformFunction: null }, xlDown: { classPropertyName: "xlDown", publicName: "fxFlex.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
2619
- }
2620
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxFlexDirective, decorators: [{
2621
- type: Directive,
2622
- args: [{
2623
- selector: `
2624
- [fxFlex],
2625
- [fxFlex.xs],[fxFlex.sm],[fxFlex.md],[fxFlex.lg],[fxFlex.xl],[fxFlex.xxl],
2626
- [fxFlex.lt-sm],[fxFlex.lt-md],[fxFlex.lt-lg],[fxFlex.lt-xl],[fxFlex.lt-xxl],
2627
- [fxFlex.gt-xs],[fxFlex.gt-sm],[fxFlex.gt-md],[fxFlex.gt-lg],[fxFlex.gt-xl],
2628
- [fxFlex.sm-up],[fxFlex.md-up],[fxFlex.lg-up],[fxFlex.xl-up],[fxFlex.xxl-up],
2629
- [fxFlex.sm-down],[fxFlex.md-down],[fxFlex.lg-down],[fxFlex.xl-down]
2630
- `,
2631
- standalone: true,
2632
- }]
2633
- }], ctorParameters: () => [], propDecorators: { fxFlex: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.xxl", required: false }] }], ltSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.lt-sm", required: false }] }], ltMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.lt-md", required: false }] }], ltLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.lt-lg", required: false }] }], ltXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.lt-xl", required: false }] }], ltXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.lt-xxl", required: false }] }], gtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.gt-xs", required: false }] }], gtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.gt-sm", required: false }] }], gtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.gt-md", required: false }] }], gtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.gt-lg", required: false }] }], gtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.gt-xl", required: false }] }], smUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.sm-up", required: false }] }], mdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.md-up", required: false }] }], lgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.lg-up", required: false }] }], xlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.xl-up", required: false }] }], xxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.xxl-up", required: false }] }], smDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.sm-down", required: false }] }], mdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.md-down", required: false }] }], lgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.lg-down", required: false }] }], xlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxFlex.xl-down", required: false }] }] } });
2634
-
2635
- /**
2636
- * @file fx-grid.directives.ts (Angular 21 — signals)
2637
- *
2638
- * CSS Grid responsive directives.
2639
- *
2640
- * [fxGrid] — display:grid + responsive grid-template-columns.
2641
- * Accepts [fxGridRows] and [fxGridGap] inputs on same host.
2642
- * [fxGridColumn] — grid-column on a child
2643
- * [fxGridArea] — grid-area on a child
2644
- *
2645
- * Angular 21 changes:
2646
- * • All @Input setters replaced by input() signals
2647
- * • FxGridDirective uses 3 pairs of computed() for cols/rows/gap maps
2648
- * • Single effect() in constructor writes all 3 CSS props
2649
- * • Null/undefined props are removed (no style leak)
2650
- *
2651
- * Unitless numeric gap values are normalized to px ("16" → "16px").
2652
- *
2653
- * Breakpoint suffixes: canonical + lt-* + gt-* + *-up + *-down
2654
- */
2655
- function normalizeGap(raw) {
2656
- if (!raw)
2657
- return undefined;
2658
- return raw.trim().split(/\s+/)
2659
- .map(v => /^\d+(\.\d+)?$/.test(v) ? `${v}px` : v)
2660
- .join(' ');
2661
- }
2662
- // ─── fxGrid (container) ──────────────────────────────────────────────────────
2663
- class FxGridDirective extends ResponsiveBaseDirective {
2664
- constructor() {
2665
- super();
2666
- // ── grid-template-columns ──────────────────────────────────────────────────
2667
- this.fxGrid = input(undefined, { ...(ngDevMode ? { debugName: "fxGrid" } : /* istanbul ignore next */ {}), alias: 'fxGrid' });
2668
- this.xs = input(undefined, { ...(ngDevMode ? { debugName: "xs" } : /* istanbul ignore next */ {}), alias: 'fxGrid.xs' });
2669
- this.sm = input(undefined, { ...(ngDevMode ? { debugName: "sm" } : /* istanbul ignore next */ {}), alias: 'fxGrid.sm' });
2670
- this.md = input(undefined, { ...(ngDevMode ? { debugName: "md" } : /* istanbul ignore next */ {}), alias: 'fxGrid.md' });
2671
- this.lg = input(undefined, { ...(ngDevMode ? { debugName: "lg" } : /* istanbul ignore next */ {}), alias: 'fxGrid.lg' });
2672
- this.xl = input(undefined, { ...(ngDevMode ? { debugName: "xl" } : /* istanbul ignore next */ {}), alias: 'fxGrid.xl' });
2673
- this.xxl = input(undefined, { ...(ngDevMode ? { debugName: "xxl" } : /* istanbul ignore next */ {}), alias: 'fxGrid.xxl' });
2674
- this.ltSm = input(undefined, { ...(ngDevMode ? { debugName: "ltSm" } : /* istanbul ignore next */ {}), alias: 'fxGrid.lt-sm' });
2675
- this.ltMd = input(undefined, { ...(ngDevMode ? { debugName: "ltMd" } : /* istanbul ignore next */ {}), alias: 'fxGrid.lt-md' });
2676
- this.ltLg = input(undefined, { ...(ngDevMode ? { debugName: "ltLg" } : /* istanbul ignore next */ {}), alias: 'fxGrid.lt-lg' });
2677
- this.ltXl = input(undefined, { ...(ngDevMode ? { debugName: "ltXl" } : /* istanbul ignore next */ {}), alias: 'fxGrid.lt-xl' });
2678
- this.ltXxl = input(undefined, { ...(ngDevMode ? { debugName: "ltXxl" } : /* istanbul ignore next */ {}), alias: 'fxGrid.lt-xxl' });
2679
- this.gtXs = input(undefined, { ...(ngDevMode ? { debugName: "gtXs" } : /* istanbul ignore next */ {}), alias: 'fxGrid.gt-xs' });
2680
- this.gtSm = input(undefined, { ...(ngDevMode ? { debugName: "gtSm" } : /* istanbul ignore next */ {}), alias: 'fxGrid.gt-sm' });
2681
- this.gtMd = input(undefined, { ...(ngDevMode ? { debugName: "gtMd" } : /* istanbul ignore next */ {}), alias: 'fxGrid.gt-md' });
2682
- this.gtLg = input(undefined, { ...(ngDevMode ? { debugName: "gtLg" } : /* istanbul ignore next */ {}), alias: 'fxGrid.gt-lg' });
2683
- this.gtXl = input(undefined, { ...(ngDevMode ? { debugName: "gtXl" } : /* istanbul ignore next */ {}), alias: 'fxGrid.gt-xl' });
2684
- this.smUp = input(undefined, { ...(ngDevMode ? { debugName: "smUp" } : /* istanbul ignore next */ {}), alias: 'fxGrid.sm-up' });
2685
- this.mdUp = input(undefined, { ...(ngDevMode ? { debugName: "mdUp" } : /* istanbul ignore next */ {}), alias: 'fxGrid.md-up' });
2686
- this.lgUp = input(undefined, { ...(ngDevMode ? { debugName: "lgUp" } : /* istanbul ignore next */ {}), alias: 'fxGrid.lg-up' });
2687
- this.xlUp = input(undefined, { ...(ngDevMode ? { debugName: "xlUp" } : /* istanbul ignore next */ {}), alias: 'fxGrid.xl-up' });
2688
- this.xxlUp = input(undefined, { ...(ngDevMode ? { debugName: "xxlUp" } : /* istanbul ignore next */ {}), alias: 'fxGrid.xxl-up' });
2689
- this.smDown = input(undefined, { ...(ngDevMode ? { debugName: "smDown" } : /* istanbul ignore next */ {}), alias: 'fxGrid.sm-down' });
2690
- this.mdDown = input(undefined, { ...(ngDevMode ? { debugName: "mdDown" } : /* istanbul ignore next */ {}), alias: 'fxGrid.md-down' });
2691
- this.lgDown = input(undefined, { ...(ngDevMode ? { debugName: "lgDown" } : /* istanbul ignore next */ {}), alias: 'fxGrid.lg-down' });
2692
- this.xlDown = input(undefined, { ...(ngDevMode ? { debugName: "xlDown" } : /* istanbul ignore next */ {}), alias: 'fxGrid.xl-down' });
2693
- // ── grid-template-rows ────────────────────────────────────────────────────
2694
- this.fxGridRows = input(undefined, { ...(ngDevMode ? { debugName: "fxGridRows" } : /* istanbul ignore next */ {}), alias: 'fxGridRows' });
2695
- this.rowsXs = input(undefined, { ...(ngDevMode ? { debugName: "rowsXs" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.xs' });
2696
- this.rowsSm = input(undefined, { ...(ngDevMode ? { debugName: "rowsSm" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.sm' });
2697
- this.rowsMd = input(undefined, { ...(ngDevMode ? { debugName: "rowsMd" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.md' });
2698
- this.rowsLg = input(undefined, { ...(ngDevMode ? { debugName: "rowsLg" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.lg' });
2699
- this.rowsXl = input(undefined, { ...(ngDevMode ? { debugName: "rowsXl" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.xl' });
2700
- this.rowsXxl = input(undefined, { ...(ngDevMode ? { debugName: "rowsXxl" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.xxl' });
2701
- this.rowsLtSm = input(undefined, { ...(ngDevMode ? { debugName: "rowsLtSm" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.lt-sm' });
2702
- this.rowsLtMd = input(undefined, { ...(ngDevMode ? { debugName: "rowsLtMd" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.lt-md' });
2703
- this.rowsLtLg = input(undefined, { ...(ngDevMode ? { debugName: "rowsLtLg" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.lt-lg' });
2704
- this.rowsLtXl = input(undefined, { ...(ngDevMode ? { debugName: "rowsLtXl" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.lt-xl' });
2705
- this.rowsLtXxl = input(undefined, { ...(ngDevMode ? { debugName: "rowsLtXxl" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.lt-xxl' });
2706
- this.rowsGtXs = input(undefined, { ...(ngDevMode ? { debugName: "rowsGtXs" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.gt-xs' });
2707
- this.rowsGtSm = input(undefined, { ...(ngDevMode ? { debugName: "rowsGtSm" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.gt-sm' });
2708
- this.rowsGtMd = input(undefined, { ...(ngDevMode ? { debugName: "rowsGtMd" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.gt-md' });
2709
- this.rowsGtLg = input(undefined, { ...(ngDevMode ? { debugName: "rowsGtLg" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.gt-lg' });
2710
- this.rowsGtXl = input(undefined, { ...(ngDevMode ? { debugName: "rowsGtXl" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.gt-xl' });
2711
- this.rowsSmUp = input(undefined, { ...(ngDevMode ? { debugName: "rowsSmUp" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.sm-up' });
2712
- this.rowsMdUp = input(undefined, { ...(ngDevMode ? { debugName: "rowsMdUp" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.md-up' });
2713
- this.rowsLgUp = input(undefined, { ...(ngDevMode ? { debugName: "rowsLgUp" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.lg-up' });
2714
- this.rowsXlUp = input(undefined, { ...(ngDevMode ? { debugName: "rowsXlUp" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.xl-up' });
2715
- this.rowsXxlUp = input(undefined, { ...(ngDevMode ? { debugName: "rowsXxlUp" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.xxl-up' });
2716
- this.rowsSmDown = input(undefined, { ...(ngDevMode ? { debugName: "rowsSmDown" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.sm-down' });
2717
- this.rowsMdDown = input(undefined, { ...(ngDevMode ? { debugName: "rowsMdDown" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.md-down' });
2718
- this.rowsLgDown = input(undefined, { ...(ngDevMode ? { debugName: "rowsLgDown" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.lg-down' });
2719
- this.rowsXlDown = input(undefined, { ...(ngDevMode ? { debugName: "rowsXlDown" } : /* istanbul ignore next */ {}), alias: 'fxGridRows.xl-down' });
2720
- // ── gap ───────────────────────────────────────────────────────────────────
2721
- this.fxGridGap = input(undefined, { ...(ngDevMode ? { debugName: "fxGridGap" } : /* istanbul ignore next */ {}), alias: 'fxGridGap' });
2722
- this.gapXs = input(undefined, { ...(ngDevMode ? { debugName: "gapXs" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.xs' });
2723
- this.gapSm = input(undefined, { ...(ngDevMode ? { debugName: "gapSm" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.sm' });
2724
- this.gapMd = input(undefined, { ...(ngDevMode ? { debugName: "gapMd" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.md' });
2725
- this.gapLg = input(undefined, { ...(ngDevMode ? { debugName: "gapLg" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.lg' });
2726
- this.gapXl = input(undefined, { ...(ngDevMode ? { debugName: "gapXl" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.xl' });
2727
- this.gapXxl = input(undefined, { ...(ngDevMode ? { debugName: "gapXxl" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.xxl' });
2728
- this.gapLtSm = input(undefined, { ...(ngDevMode ? { debugName: "gapLtSm" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.lt-sm' });
2729
- this.gapLtMd = input(undefined, { ...(ngDevMode ? { debugName: "gapLtMd" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.lt-md' });
2730
- this.gapLtLg = input(undefined, { ...(ngDevMode ? { debugName: "gapLtLg" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.lt-lg' });
2731
- this.gapLtXl = input(undefined, { ...(ngDevMode ? { debugName: "gapLtXl" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.lt-xl' });
2732
- this.gapLtXxl = input(undefined, { ...(ngDevMode ? { debugName: "gapLtXxl" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.lt-xxl' });
2733
- this.gapGtXs = input(undefined, { ...(ngDevMode ? { debugName: "gapGtXs" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.gt-xs' });
2734
- this.gapGtSm = input(undefined, { ...(ngDevMode ? { debugName: "gapGtSm" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.gt-sm' });
2735
- this.gapGtMd = input(undefined, { ...(ngDevMode ? { debugName: "gapGtMd" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.gt-md' });
2736
- this.gapGtLg = input(undefined, { ...(ngDevMode ? { debugName: "gapGtLg" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.gt-lg' });
2737
- this.gapGtXl = input(undefined, { ...(ngDevMode ? { debugName: "gapGtXl" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.gt-xl' });
2738
- this.gapSmUp = input(undefined, { ...(ngDevMode ? { debugName: "gapSmUp" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.sm-up' });
2739
- this.gapMdUp = input(undefined, { ...(ngDevMode ? { debugName: "gapMdUp" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.md-up' });
2740
- this.gapLgUp = input(undefined, { ...(ngDevMode ? { debugName: "gapLgUp" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.lg-up' });
2741
- this.gapXlUp = input(undefined, { ...(ngDevMode ? { debugName: "gapXlUp" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.xl-up' });
2742
- this.gapXxlUp = input(undefined, { ...(ngDevMode ? { debugName: "gapXxlUp" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.xxl-up' });
2743
- this.gapSmDown = input(undefined, { ...(ngDevMode ? { debugName: "gapSmDown" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.sm-down' });
2744
- this.gapMdDown = input(undefined, { ...(ngDevMode ? { debugName: "gapMdDown" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.md-down' });
2745
- this.gapLgDown = input(undefined, { ...(ngDevMode ? { debugName: "gapLgDown" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.lg-down' });
2746
- this.gapXlDown = input(undefined, { ...(ngDevMode ? { debugName: "gapXlDown" } : /* istanbul ignore next */ {}), alias: 'fxGridGap.xl-down' });
2747
- // ── resolved values (flat computed — no intermediate object computed) ──────
2748
- this._cols = computed(() => resolveAll({ default: this.fxGrid(), xs: this.xs(), sm: this.sm(),
2749
- md: this.md(), lg: this.lg(), xl: this.xl(), xxl: this.xxl() }, { 'lt-sm': this.ltSm(), 'lt-md': this.ltMd(), 'lt-lg': this.ltLg(),
2750
- 'lt-xl': this.ltXl(), 'lt-xxl': this.ltXxl(),
2751
- 'gt-xs': this.gtXs(), 'gt-sm': this.gtSm(), 'gt-md': this.gtMd(),
2752
- 'gt-lg': this.gtLg(), 'gt-xl': this.gtXl(),
2753
- 'sm-up': this.smUp(), 'md-up': this.mdUp(), 'lg-up': this.lgUp(),
2754
- 'xl-up': this.xlUp(), 'xxl-up': this.xxlUp(),
2755
- 'sm-down': this.smDown(), 'md-down': this.mdDown(),
2756
- 'lg-down': this.lgDown(), 'xl-down': this.xlDown() }, this.media.currentBp(), a => this.media.isActive(a)), ...(ngDevMode ? [{ debugName: "_cols" }] : /* istanbul ignore next */ []));
2757
- this._rows = computed(() => resolveAll({ default: this.fxGridRows(), xs: this.rowsXs(), sm: this.rowsSm(),
2758
- md: this.rowsMd(), lg: this.rowsLg(), xl: this.rowsXl(), xxl: this.rowsXxl() }, { 'lt-sm': this.rowsLtSm(), 'lt-md': this.rowsLtMd(), 'lt-lg': this.rowsLtLg(),
2759
- 'lt-xl': this.rowsLtXl(), 'lt-xxl': this.rowsLtXxl(),
2760
- 'gt-xs': this.rowsGtXs(), 'gt-sm': this.rowsGtSm(), 'gt-md': this.rowsGtMd(),
2761
- 'gt-lg': this.rowsGtLg(), 'gt-xl': this.rowsGtXl(),
2762
- 'sm-up': this.rowsSmUp(), 'md-up': this.rowsMdUp(), 'lg-up': this.rowsLgUp(),
2763
- 'xl-up': this.rowsXlUp(), 'xxl-up': this.rowsXxlUp(),
2764
- 'sm-down': this.rowsSmDown(), 'md-down': this.rowsMdDown(),
2765
- 'lg-down': this.rowsLgDown(), 'xl-down': this.rowsXlDown() }, this.media.currentBp(), a => this.media.isActive(a)), ...(ngDevMode ? [{ debugName: "_rows" }] : /* istanbul ignore next */ []));
2766
- this._gap = computed(() => normalizeGap(resolveAll({ default: this.fxGridGap(), xs: this.gapXs(), sm: this.gapSm(),
2767
- md: this.gapMd(), lg: this.gapLg(), xl: this.gapXl(), xxl: this.gapXxl() }, { 'lt-sm': this.gapLtSm(), 'lt-md': this.gapLtMd(), 'lt-lg': this.gapLtLg(),
2768
- 'lt-xl': this.gapLtXl(), 'lt-xxl': this.gapLtXxl(),
2769
- 'gt-xs': this.gapGtXs(), 'gt-sm': this.gapGtSm(), 'gt-md': this.gapGtMd(),
2770
- 'gt-lg': this.gapGtLg(), 'gt-xl': this.gapGtXl(),
2771
- 'sm-up': this.gapSmUp(), 'md-up': this.gapMdUp(), 'lg-up': this.gapLgUp(),
2772
- 'xl-up': this.gapXlUp(), 'xxl-up': this.gapXxlUp(),
2773
- 'sm-down': this.gapSmDown(), 'md-down': this.gapMdDown(),
2774
- 'lg-down': this.gapLgDown(), 'xl-down': this.gapXlDown() }, this.media.currentBp(), a => this.media.isActive(a))), ...(ngDevMode ? [{ debugName: "_gap" }] : /* istanbul ignore next */ []));
2775
- effect(() => {
2776
- const cols = this._cols();
2777
- const rows = this._rows();
2778
- const gap = this._gap();
2779
- cols ? this.safeSetStyle('grid-template-columns', cols)
2780
- : this.r2.removeStyle(this.el.nativeElement, 'grid-template-columns');
2781
- rows ? this.safeSetStyle('grid-template-rows', rows)
2782
- : this.r2.removeStyle(this.el.nativeElement, 'grid-template-rows');
2783
- gap ? this.safeSetStyle('gap', gap)
2784
- : this.r2.removeStyle(this.el.nativeElement, 'gap');
2723
+ if (showDef !== undefined)
2724
+ return showDef;
2725
+ if (hideDef !== undefined)
2726
+ return !hideDef;
2727
+ // 4. Neither directive active → visible
2728
+ return true;
2729
+ }, ...(ngDevMode ? [{ debugName: "_visible" }] : /* istanbul ignore next */ []));
2730
+ effect(() => {
2731
+ this._visible()
2732
+ ? this.r2.removeStyle(this.el.nativeElement, 'display')
2733
+ : this.r2.setStyle(this.el.nativeElement, 'display', 'none');
2785
2734
  });
2786
2735
  }
2787
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxGridDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2788
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxGridDirective, isStandalone: true, selector: "\n [fxGrid],\n [fxGrid.xs],[fxGrid.sm],[fxGrid.md],[fxGrid.lg],[fxGrid.xl],[fxGrid.xxl],\n [fxGrid.lt-sm],[fxGrid.lt-md],[fxGrid.lt-lg],[fxGrid.lt-xl],[fxGrid.lt-xxl],\n [fxGrid.gt-xs],[fxGrid.gt-sm],[fxGrid.gt-md],[fxGrid.gt-lg],[fxGrid.gt-xl],\n [fxGrid.sm-up],[fxGrid.md-up],[fxGrid.lg-up],[fxGrid.xl-up],[fxGrid.xxl-up],\n [fxGrid.sm-down],[fxGrid.md-down],[fxGrid.lg-down],[fxGrid.xl-down]\n ", inputs: { fxGrid: { classPropertyName: "fxGrid", publicName: "fxGrid", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "fxGrid.xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "fxGrid.sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "fxGrid.md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "fxGrid.lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "fxGrid.xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "fxGrid.xxl", isSignal: true, isRequired: false, transformFunction: null }, ltSm: { classPropertyName: "ltSm", publicName: "fxGrid.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, ltMd: { classPropertyName: "ltMd", publicName: "fxGrid.lt-md", isSignal: true, isRequired: false, transformFunction: null }, ltLg: { classPropertyName: "ltLg", publicName: "fxGrid.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, ltXl: { classPropertyName: "ltXl", publicName: "fxGrid.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, ltXxl: { classPropertyName: "ltXxl", publicName: "fxGrid.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gtXs: { classPropertyName: "gtXs", publicName: "fxGrid.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gtSm: { classPropertyName: "gtSm", publicName: "fxGrid.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gtMd: { classPropertyName: "gtMd", publicName: "fxGrid.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gtLg: { classPropertyName: "gtLg", publicName: "fxGrid.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gtXl: { classPropertyName: "gtXl", publicName: "fxGrid.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, smUp: { classPropertyName: "smUp", publicName: "fxGrid.sm-up", isSignal: true, isRequired: false, transformFunction: null }, mdUp: { classPropertyName: "mdUp", publicName: "fxGrid.md-up", isSignal: true, isRequired: false, transformFunction: null }, lgUp: { classPropertyName: "lgUp", publicName: "fxGrid.lg-up", isSignal: true, isRequired: false, transformFunction: null }, xlUp: { classPropertyName: "xlUp", publicName: "fxGrid.xl-up", isSignal: true, isRequired: false, transformFunction: null }, xxlUp: { classPropertyName: "xxlUp", publicName: "fxGrid.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, smDown: { classPropertyName: "smDown", publicName: "fxGrid.sm-down", isSignal: true, isRequired: false, transformFunction: null }, mdDown: { classPropertyName: "mdDown", publicName: "fxGrid.md-down", isSignal: true, isRequired: false, transformFunction: null }, lgDown: { classPropertyName: "lgDown", publicName: "fxGrid.lg-down", isSignal: true, isRequired: false, transformFunction: null }, xlDown: { classPropertyName: "xlDown", publicName: "fxGrid.xl-down", isSignal: true, isRequired: false, transformFunction: null }, fxGridRows: { classPropertyName: "fxGridRows", publicName: "fxGridRows", isSignal: true, isRequired: false, transformFunction: null }, rowsXs: { classPropertyName: "rowsXs", publicName: "fxGridRows.xs", isSignal: true, isRequired: false, transformFunction: null }, rowsSm: { classPropertyName: "rowsSm", publicName: "fxGridRows.sm", isSignal: true, isRequired: false, transformFunction: null }, rowsMd: { classPropertyName: "rowsMd", publicName: "fxGridRows.md", isSignal: true, isRequired: false, transformFunction: null }, rowsLg: { classPropertyName: "rowsLg", publicName: "fxGridRows.lg", isSignal: true, isRequired: false, transformFunction: null }, rowsXl: { classPropertyName: "rowsXl", publicName: "fxGridRows.xl", isSignal: true, isRequired: false, transformFunction: null }, rowsXxl: { classPropertyName: "rowsXxl", publicName: "fxGridRows.xxl", isSignal: true, isRequired: false, transformFunction: null }, rowsLtSm: { classPropertyName: "rowsLtSm", publicName: "fxGridRows.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, rowsLtMd: { classPropertyName: "rowsLtMd", publicName: "fxGridRows.lt-md", isSignal: true, isRequired: false, transformFunction: null }, rowsLtLg: { classPropertyName: "rowsLtLg", publicName: "fxGridRows.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, rowsLtXl: { classPropertyName: "rowsLtXl", publicName: "fxGridRows.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, rowsLtXxl: { classPropertyName: "rowsLtXxl", publicName: "fxGridRows.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, rowsGtXs: { classPropertyName: "rowsGtXs", publicName: "fxGridRows.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, rowsGtSm: { classPropertyName: "rowsGtSm", publicName: "fxGridRows.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, rowsGtMd: { classPropertyName: "rowsGtMd", publicName: "fxGridRows.gt-md", isSignal: true, isRequired: false, transformFunction: null }, rowsGtLg: { classPropertyName: "rowsGtLg", publicName: "fxGridRows.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, rowsGtXl: { classPropertyName: "rowsGtXl", publicName: "fxGridRows.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, rowsSmUp: { classPropertyName: "rowsSmUp", publicName: "fxGridRows.sm-up", isSignal: true, isRequired: false, transformFunction: null }, rowsMdUp: { classPropertyName: "rowsMdUp", publicName: "fxGridRows.md-up", isSignal: true, isRequired: false, transformFunction: null }, rowsLgUp: { classPropertyName: "rowsLgUp", publicName: "fxGridRows.lg-up", isSignal: true, isRequired: false, transformFunction: null }, rowsXlUp: { classPropertyName: "rowsXlUp", publicName: "fxGridRows.xl-up", isSignal: true, isRequired: false, transformFunction: null }, rowsXxlUp: { classPropertyName: "rowsXxlUp", publicName: "fxGridRows.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, rowsSmDown: { classPropertyName: "rowsSmDown", publicName: "fxGridRows.sm-down", isSignal: true, isRequired: false, transformFunction: null }, rowsMdDown: { classPropertyName: "rowsMdDown", publicName: "fxGridRows.md-down", isSignal: true, isRequired: false, transformFunction: null }, rowsLgDown: { classPropertyName: "rowsLgDown", publicName: "fxGridRows.lg-down", isSignal: true, isRequired: false, transformFunction: null }, rowsXlDown: { classPropertyName: "rowsXlDown", publicName: "fxGridRows.xl-down", isSignal: true, isRequired: false, transformFunction: null }, fxGridGap: { classPropertyName: "fxGridGap", publicName: "fxGridGap", isSignal: true, isRequired: false, transformFunction: null }, gapXs: { classPropertyName: "gapXs", publicName: "fxGridGap.xs", isSignal: true, isRequired: false, transformFunction: null }, gapSm: { classPropertyName: "gapSm", publicName: "fxGridGap.sm", isSignal: true, isRequired: false, transformFunction: null }, gapMd: { classPropertyName: "gapMd", publicName: "fxGridGap.md", isSignal: true, isRequired: false, transformFunction: null }, gapLg: { classPropertyName: "gapLg", publicName: "fxGridGap.lg", isSignal: true, isRequired: false, transformFunction: null }, gapXl: { classPropertyName: "gapXl", publicName: "fxGridGap.xl", isSignal: true, isRequired: false, transformFunction: null }, gapXxl: { classPropertyName: "gapXxl", publicName: "fxGridGap.xxl", isSignal: true, isRequired: false, transformFunction: null }, gapLtSm: { classPropertyName: "gapLtSm", publicName: "fxGridGap.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, gapLtMd: { classPropertyName: "gapLtMd", publicName: "fxGridGap.lt-md", isSignal: true, isRequired: false, transformFunction: null }, gapLtLg: { classPropertyName: "gapLtLg", publicName: "fxGridGap.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, gapLtXl: { classPropertyName: "gapLtXl", publicName: "fxGridGap.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, gapLtXxl: { classPropertyName: "gapLtXxl", publicName: "fxGridGap.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gapGtXs: { classPropertyName: "gapGtXs", publicName: "fxGridGap.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gapGtSm: { classPropertyName: "gapGtSm", publicName: "fxGridGap.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gapGtMd: { classPropertyName: "gapGtMd", publicName: "fxGridGap.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gapGtLg: { classPropertyName: "gapGtLg", publicName: "fxGridGap.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gapGtXl: { classPropertyName: "gapGtXl", publicName: "fxGridGap.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, gapSmUp: { classPropertyName: "gapSmUp", publicName: "fxGridGap.sm-up", isSignal: true, isRequired: false, transformFunction: null }, gapMdUp: { classPropertyName: "gapMdUp", publicName: "fxGridGap.md-up", isSignal: true, isRequired: false, transformFunction: null }, gapLgUp: { classPropertyName: "gapLgUp", publicName: "fxGridGap.lg-up", isSignal: true, isRequired: false, transformFunction: null }, gapXlUp: { classPropertyName: "gapXlUp", publicName: "fxGridGap.xl-up", isSignal: true, isRequired: false, transformFunction: null }, gapXxlUp: { classPropertyName: "gapXxlUp", publicName: "fxGridGap.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, gapSmDown: { classPropertyName: "gapSmDown", publicName: "fxGridGap.sm-down", isSignal: true, isRequired: false, transformFunction: null }, gapMdDown: { classPropertyName: "gapMdDown", publicName: "fxGridGap.md-down", isSignal: true, isRequired: false, transformFunction: null }, gapLgDown: { classPropertyName: "gapLgDown", publicName: "fxGridGap.lg-down", isSignal: true, isRequired: false, transformFunction: null }, gapXlDown: { classPropertyName: "gapXlDown", publicName: "fxGridGap.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.display": "\"grid\"" } }, usesInheritance: true, ngImport: i0 }); }
2736
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxShowHideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2737
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxShowHideDirective, isStandalone: true, selector: "\n [fxShow],[fxHide],\n [fxShow.xs],[fxShow.sm],[fxShow.md],[fxShow.lg],[fxShow.xl],[fxShow.xxl],\n [fxShow.lt-sm],[fxShow.lt-md],[fxShow.lt-lg],[fxShow.lt-xl],[fxShow.lt-xxl],\n [fxShow.gt-xs],[fxShow.gt-sm],[fxShow.gt-md],[fxShow.gt-lg],[fxShow.gt-xl],\n [fxShow.sm-up],[fxShow.md-up],[fxShow.lg-up],[fxShow.xl-up],[fxShow.xxl-up],\n [fxShow.sm-down],[fxShow.md-down],[fxShow.lg-down],[fxShow.xl-down],\n [fxHide.xs],[fxHide.sm],[fxHide.md],[fxHide.lg],[fxHide.xl],[fxHide.xxl],\n [fxHide.lt-sm],[fxHide.lt-md],[fxHide.lt-lg],[fxHide.lt-xl],[fxHide.lt-xxl],\n [fxHide.gt-xs],[fxHide.gt-sm],[fxHide.gt-md],[fxHide.gt-lg],[fxHide.gt-xl],\n [fxHide.sm-up],[fxHide.md-up],[fxHide.lg-up],[fxHide.xl-up],[fxHide.xxl-up],\n [fxHide.sm-down],[fxHide.md-down],[fxHide.lg-down],[fxHide.xl-down]\n ", inputs: { fxShow: { classPropertyName: "fxShow", publicName: "fxShow", isSignal: true, isRequired: false, transformFunction: null }, showXs: { classPropertyName: "showXs", publicName: "fxShow.xs", isSignal: true, isRequired: false, transformFunction: null }, showSm: { classPropertyName: "showSm", publicName: "fxShow.sm", isSignal: true, isRequired: false, transformFunction: null }, showMd: { classPropertyName: "showMd", publicName: "fxShow.md", isSignal: true, isRequired: false, transformFunction: null }, showLg: { classPropertyName: "showLg", publicName: "fxShow.lg", isSignal: true, isRequired: false, transformFunction: null }, showXl: { classPropertyName: "showXl", publicName: "fxShow.xl", isSignal: true, isRequired: false, transformFunction: null }, showXxl: { classPropertyName: "showXxl", publicName: "fxShow.xxl", isSignal: true, isRequired: false, transformFunction: null }, showLtSm: { classPropertyName: "showLtSm", publicName: "fxShow.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, showLtMd: { classPropertyName: "showLtMd", publicName: "fxShow.lt-md", isSignal: true, isRequired: false, transformFunction: null }, showLtLg: { classPropertyName: "showLtLg", publicName: "fxShow.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, showLtXl: { classPropertyName: "showLtXl", publicName: "fxShow.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, showLtXxl: { classPropertyName: "showLtXxl", publicName: "fxShow.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, showGtXs: { classPropertyName: "showGtXs", publicName: "fxShow.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, showGtSm: { classPropertyName: "showGtSm", publicName: "fxShow.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, showGtMd: { classPropertyName: "showGtMd", publicName: "fxShow.gt-md", isSignal: true, isRequired: false, transformFunction: null }, showGtLg: { classPropertyName: "showGtLg", publicName: "fxShow.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, showGtXl: { classPropertyName: "showGtXl", publicName: "fxShow.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, showSmUp: { classPropertyName: "showSmUp", publicName: "fxShow.sm-up", isSignal: true, isRequired: false, transformFunction: null }, showMdUp: { classPropertyName: "showMdUp", publicName: "fxShow.md-up", isSignal: true, isRequired: false, transformFunction: null }, showLgUp: { classPropertyName: "showLgUp", publicName: "fxShow.lg-up", isSignal: true, isRequired: false, transformFunction: null }, showXlUp: { classPropertyName: "showXlUp", publicName: "fxShow.xl-up", isSignal: true, isRequired: false, transformFunction: null }, showXxlUp: { classPropertyName: "showXxlUp", publicName: "fxShow.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, showSmDown: { classPropertyName: "showSmDown", publicName: "fxShow.sm-down", isSignal: true, isRequired: false, transformFunction: null }, showMdDown: { classPropertyName: "showMdDown", publicName: "fxShow.md-down", isSignal: true, isRequired: false, transformFunction: null }, showLgDown: { classPropertyName: "showLgDown", publicName: "fxShow.lg-down", isSignal: true, isRequired: false, transformFunction: null }, showXlDown: { classPropertyName: "showXlDown", publicName: "fxShow.xl-down", isSignal: true, isRequired: false, transformFunction: null }, fxHide: { classPropertyName: "fxHide", publicName: "fxHide", isSignal: true, isRequired: false, transformFunction: null }, hideXs: { classPropertyName: "hideXs", publicName: "fxHide.xs", isSignal: true, isRequired: false, transformFunction: null }, hideSm: { classPropertyName: "hideSm", publicName: "fxHide.sm", isSignal: true, isRequired: false, transformFunction: null }, hideMd: { classPropertyName: "hideMd", publicName: "fxHide.md", isSignal: true, isRequired: false, transformFunction: null }, hideLg: { classPropertyName: "hideLg", publicName: "fxHide.lg", isSignal: true, isRequired: false, transformFunction: null }, hideXl: { classPropertyName: "hideXl", publicName: "fxHide.xl", isSignal: true, isRequired: false, transformFunction: null }, hideXxl: { classPropertyName: "hideXxl", publicName: "fxHide.xxl", isSignal: true, isRequired: false, transformFunction: null }, hideLtSm: { classPropertyName: "hideLtSm", publicName: "fxHide.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, hideLtMd: { classPropertyName: "hideLtMd", publicName: "fxHide.lt-md", isSignal: true, isRequired: false, transformFunction: null }, hideLtLg: { classPropertyName: "hideLtLg", publicName: "fxHide.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, hideLtXl: { classPropertyName: "hideLtXl", publicName: "fxHide.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, hideLtXxl: { classPropertyName: "hideLtXxl", publicName: "fxHide.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, hideGtXs: { classPropertyName: "hideGtXs", publicName: "fxHide.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, hideGtSm: { classPropertyName: "hideGtSm", publicName: "fxHide.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, hideGtMd: { classPropertyName: "hideGtMd", publicName: "fxHide.gt-md", isSignal: true, isRequired: false, transformFunction: null }, hideGtLg: { classPropertyName: "hideGtLg", publicName: "fxHide.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, hideGtXl: { classPropertyName: "hideGtXl", publicName: "fxHide.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, hideSmUp: { classPropertyName: "hideSmUp", publicName: "fxHide.sm-up", isSignal: true, isRequired: false, transformFunction: null }, hideMdUp: { classPropertyName: "hideMdUp", publicName: "fxHide.md-up", isSignal: true, isRequired: false, transformFunction: null }, hideLgUp: { classPropertyName: "hideLgUp", publicName: "fxHide.lg-up", isSignal: true, isRequired: false, transformFunction: null }, hideXlUp: { classPropertyName: "hideXlUp", publicName: "fxHide.xl-up", isSignal: true, isRequired: false, transformFunction: null }, hideXxlUp: { classPropertyName: "hideXxlUp", publicName: "fxHide.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, hideSmDown: { classPropertyName: "hideSmDown", publicName: "fxHide.sm-down", isSignal: true, isRequired: false, transformFunction: null }, hideMdDown: { classPropertyName: "hideMdDown", publicName: "fxHide.md-down", isSignal: true, isRequired: false, transformFunction: null }, hideLgDown: { classPropertyName: "hideLgDown", publicName: "fxHide.lg-down", isSignal: true, isRequired: false, transformFunction: null }, hideXlDown: { classPropertyName: "hideXlDown", publicName: "fxHide.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
2789
2738
  }
2790
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxGridDirective, decorators: [{
2739
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxShowHideDirective, decorators: [{
2791
2740
  type: Directive,
2792
2741
  args: [{
2793
2742
  selector: `
2794
- [fxGrid],
2795
- [fxGrid.xs],[fxGrid.sm],[fxGrid.md],[fxGrid.lg],[fxGrid.xl],[fxGrid.xxl],
2796
- [fxGrid.lt-sm],[fxGrid.lt-md],[fxGrid.lt-lg],[fxGrid.lt-xl],[fxGrid.lt-xxl],
2797
- [fxGrid.gt-xs],[fxGrid.gt-sm],[fxGrid.gt-md],[fxGrid.gt-lg],[fxGrid.gt-xl],
2798
- [fxGrid.sm-up],[fxGrid.md-up],[fxGrid.lg-up],[fxGrid.xl-up],[fxGrid.xxl-up],
2799
- [fxGrid.sm-down],[fxGrid.md-down],[fxGrid.lg-down],[fxGrid.xl-down]
2743
+ [fxShow],[fxHide],
2744
+ [fxShow.xs],[fxShow.sm],[fxShow.md],[fxShow.lg],[fxShow.xl],[fxShow.xxl],
2745
+ [fxShow.lt-sm],[fxShow.lt-md],[fxShow.lt-lg],[fxShow.lt-xl],[fxShow.lt-xxl],
2746
+ [fxShow.gt-xs],[fxShow.gt-sm],[fxShow.gt-md],[fxShow.gt-lg],[fxShow.gt-xl],
2747
+ [fxShow.sm-up],[fxShow.md-up],[fxShow.lg-up],[fxShow.xl-up],[fxShow.xxl-up],
2748
+ [fxShow.sm-down],[fxShow.md-down],[fxShow.lg-down],[fxShow.xl-down],
2749
+ [fxHide.xs],[fxHide.sm],[fxHide.md],[fxHide.lg],[fxHide.xl],[fxHide.xxl],
2750
+ [fxHide.lt-sm],[fxHide.lt-md],[fxHide.lt-lg],[fxHide.lt-xl],[fxHide.lt-xxl],
2751
+ [fxHide.gt-xs],[fxHide.gt-sm],[fxHide.gt-md],[fxHide.gt-lg],[fxHide.gt-xl],
2752
+ [fxHide.sm-up],[fxHide.md-up],[fxHide.lg-up],[fxHide.xl-up],[fxHide.xxl-up],
2753
+ [fxHide.sm-down],[fxHide.md-down],[fxHide.lg-down],[fxHide.xl-down]
2800
2754
  `,
2801
2755
  standalone: true,
2802
- host: { '[style.display]': '"grid"' },
2803
2756
  }]
2804
- }], ctorParameters: () => [], propDecorators: { fxGrid: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.xxl", required: false }] }], ltSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.lt-sm", required: false }] }], ltMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.lt-md", required: false }] }], ltLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.lt-lg", required: false }] }], ltXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.lt-xl", required: false }] }], ltXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.lt-xxl", required: false }] }], gtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.gt-xs", required: false }] }], gtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.gt-sm", required: false }] }], gtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.gt-md", required: false }] }], gtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.gt-lg", required: false }] }], gtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.gt-xl", required: false }] }], smUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.sm-up", required: false }] }], mdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.md-up", required: false }] }], lgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.lg-up", required: false }] }], xlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.xl-up", required: false }] }], xxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.xxl-up", required: false }] }], smDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.sm-down", required: false }] }], mdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.md-down", required: false }] }], lgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.lg-down", required: false }] }], xlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGrid.xl-down", required: false }] }], fxGridRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows", required: false }] }], rowsXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.xs", required: false }] }], rowsSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.sm", required: false }] }], rowsMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.md", required: false }] }], rowsLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.lg", required: false }] }], rowsXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.xl", required: false }] }], rowsXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.xxl", required: false }] }], rowsLtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.lt-sm", required: false }] }], rowsLtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.lt-md", required: false }] }], rowsLtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.lt-lg", required: false }] }], rowsLtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.lt-xl", required: false }] }], rowsLtXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.lt-xxl", required: false }] }], rowsGtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.gt-xs", required: false }] }], rowsGtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.gt-sm", required: false }] }], rowsGtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.gt-md", required: false }] }], rowsGtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.gt-lg", required: false }] }], rowsGtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.gt-xl", required: false }] }], rowsSmUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.sm-up", required: false }] }], rowsMdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.md-up", required: false }] }], rowsLgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.lg-up", required: false }] }], rowsXlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.xl-up", required: false }] }], rowsXxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.xxl-up", required: false }] }], rowsSmDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.sm-down", required: false }] }], rowsMdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.md-down", required: false }] }], rowsLgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.lg-down", required: false }] }], rowsXlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridRows.xl-down", required: false }] }], fxGridGap: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap", required: false }] }], gapXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.xs", required: false }] }], gapSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.sm", required: false }] }], gapMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.md", required: false }] }], gapLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.lg", required: false }] }], gapXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.xl", required: false }] }], gapXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.xxl", required: false }] }], gapLtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.lt-sm", required: false }] }], gapLtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.lt-md", required: false }] }], gapLtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.lt-lg", required: false }] }], gapLtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.lt-xl", required: false }] }], gapLtXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.lt-xxl", required: false }] }], gapGtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.gt-xs", required: false }] }], gapGtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.gt-sm", required: false }] }], gapGtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.gt-md", required: false }] }], gapGtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.gt-lg", required: false }] }], gapGtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.gt-xl", required: false }] }], gapSmUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.sm-up", required: false }] }], gapMdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.md-up", required: false }] }], gapLgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.lg-up", required: false }] }], gapXlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.xl-up", required: false }] }], gapXxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.xxl-up", required: false }] }], gapSmDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.sm-down", required: false }] }], gapMdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.md-down", required: false }] }], gapLgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.lg-down", required: false }] }], gapXlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridGap.xl-down", required: false }] }] } });
2805
- // ─── fxGridColumn ─────────────────────────────────────────────────────────────
2806
- class FxGridColumnDirective extends ResponsiveBaseDirective {
2757
+ }], ctorParameters: () => [], propDecorators: { fxShow: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow", required: false }] }], showXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.xs", required: false }] }], showSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.sm", required: false }] }], showMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.md", required: false }] }], showLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.lg", required: false }] }], showXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.xl", required: false }] }], showXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.xxl", required: false }] }], showLtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.lt-sm", required: false }] }], showLtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.lt-md", required: false }] }], showLtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.lt-lg", required: false }] }], showLtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.lt-xl", required: false }] }], showLtXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.lt-xxl", required: false }] }], showGtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.gt-xs", required: false }] }], showGtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.gt-sm", required: false }] }], showGtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.gt-md", required: false }] }], showGtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.gt-lg", required: false }] }], showGtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.gt-xl", required: false }] }], showSmUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.sm-up", required: false }] }], showMdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.md-up", required: false }] }], showLgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.lg-up", required: false }] }], showXlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.xl-up", required: false }] }], showXxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.xxl-up", required: false }] }], showSmDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.sm-down", required: false }] }], showMdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.md-down", required: false }] }], showLgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.lg-down", required: false }] }], showXlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxShow.xl-down", required: false }] }], fxHide: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide", required: false }] }], hideXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.xs", required: false }] }], hideSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.sm", required: false }] }], hideMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.md", required: false }] }], hideLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.lg", required: false }] }], hideXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.xl", required: false }] }], hideXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.xxl", required: false }] }], hideLtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.lt-sm", required: false }] }], hideLtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.lt-md", required: false }] }], hideLtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.lt-lg", required: false }] }], hideLtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.lt-xl", required: false }] }], hideLtXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.lt-xxl", required: false }] }], hideGtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.gt-xs", required: false }] }], hideGtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.gt-sm", required: false }] }], hideGtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.gt-md", required: false }] }], hideGtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.gt-lg", required: false }] }], hideGtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.gt-xl", required: false }] }], hideSmUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.sm-up", required: false }] }], hideMdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.md-up", required: false }] }], hideLgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.lg-up", required: false }] }], hideXlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.xl-up", required: false }] }], hideXxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.xxl-up", required: false }] }], hideSmDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.sm-down", required: false }] }], hideMdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.md-down", required: false }] }], hideLgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.lg-down", required: false }] }], hideXlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxHide.xl-down", required: false }] }] } });
2758
+
2759
+ /**
2760
+ * @file fx-style-class.directives.ts (Angular 21 — signals)
2761
+ *
2762
+ * [fxStyle] — responsive inline style binding (Record<string,string>)
2763
+ * [fxClass] — responsive CSS class binding (string | string[] | Record<string,boolean>)
2764
+ *
2765
+ * Angular 21 changes:
2766
+ * • All @Input setters replaced by input() signals
2767
+ * • computed() derives resolved StyleMap / ClassInput value
2768
+ * • effect() in constructor handles DOM writes with diff
2769
+ *
2770
+ * Style/class leak prevention:
2771
+ * _appliedProps / _appliedClasses are regular Set<string> fields
2772
+ * (NOT signals) — they track what was actively applied so the
2773
+ * effect can remove stale properties/classes on the next run.
2774
+ *
2775
+ * Breakpoint suffixes: canonical + lt-* + gt-* + *-up + *-down
2776
+ */
2777
+ class FxStyleDirective extends ResponsiveBaseDirective {
2807
2778
  constructor() {
2808
2779
  super();
2809
- this.fxGridColumn = input(undefined, { ...(ngDevMode ? { debugName: "fxGridColumn" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn' });
2810
- this.xs = input(undefined, { ...(ngDevMode ? { debugName: "xs" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.xs' });
2811
- this.sm = input(undefined, { ...(ngDevMode ? { debugName: "sm" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.sm' });
2812
- this.md = input(undefined, { ...(ngDevMode ? { debugName: "md" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.md' });
2813
- this.lg = input(undefined, { ...(ngDevMode ? { debugName: "lg" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.lg' });
2814
- this.xl = input(undefined, { ...(ngDevMode ? { debugName: "xl" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.xl' });
2815
- this.xxl = input(undefined, { ...(ngDevMode ? { debugName: "xxl" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.xxl' });
2816
- this.ltSm = input(undefined, { ...(ngDevMode ? { debugName: "ltSm" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.lt-sm' });
2817
- this.ltMd = input(undefined, { ...(ngDevMode ? { debugName: "ltMd" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.lt-md' });
2818
- this.ltLg = input(undefined, { ...(ngDevMode ? { debugName: "ltLg" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.lt-lg' });
2819
- this.ltXl = input(undefined, { ...(ngDevMode ? { debugName: "ltXl" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.lt-xl' });
2820
- this.ltXxl = input(undefined, { ...(ngDevMode ? { debugName: "ltXxl" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.lt-xxl' });
2821
- this.gtXs = input(undefined, { ...(ngDevMode ? { debugName: "gtXs" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.gt-xs' });
2822
- this.gtSm = input(undefined, { ...(ngDevMode ? { debugName: "gtSm" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.gt-sm' });
2823
- this.gtMd = input(undefined, { ...(ngDevMode ? { debugName: "gtMd" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.gt-md' });
2824
- this.gtLg = input(undefined, { ...(ngDevMode ? { debugName: "gtLg" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.gt-lg' });
2825
- this.gtXl = input(undefined, { ...(ngDevMode ? { debugName: "gtXl" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.gt-xl' });
2826
- this.smUp = input(undefined, { ...(ngDevMode ? { debugName: "smUp" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.sm-up' });
2827
- this.mdUp = input(undefined, { ...(ngDevMode ? { debugName: "mdUp" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.md-up' });
2828
- this.lgUp = input(undefined, { ...(ngDevMode ? { debugName: "lgUp" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.lg-up' });
2829
- this.xlUp = input(undefined, { ...(ngDevMode ? { debugName: "xlUp" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.xl-up' });
2830
- this.xxlUp = input(undefined, { ...(ngDevMode ? { debugName: "xxlUp" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.xxl-up' });
2831
- this.smDown = input(undefined, { ...(ngDevMode ? { debugName: "smDown" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.sm-down' });
2832
- this.mdDown = input(undefined, { ...(ngDevMode ? { debugName: "mdDown" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.md-down' });
2833
- this.lgDown = input(undefined, { ...(ngDevMode ? { debugName: "lgDown" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.lg-down' });
2834
- this.xlDown = input(undefined, { ...(ngDevMode ? { debugName: "xlDown" } : /* istanbul ignore next */ {}), alias: 'fxGridColumn.xl-down' });
2835
- this._resolved = computed(() => resolveAll({ default: this.fxGridColumn(), xs: this.xs(), sm: this.sm(),
2780
+ this.fxStyle = input(undefined, { ...(ngDevMode ? { debugName: "fxStyle" } : /* istanbul ignore next */ {}), alias: 'fxStyle' });
2781
+ this.xs = input(undefined, { ...(ngDevMode ? { debugName: "xs" } : /* istanbul ignore next */ {}), alias: 'fxStyle.xs' });
2782
+ this.sm = input(undefined, { ...(ngDevMode ? { debugName: "sm" } : /* istanbul ignore next */ {}), alias: 'fxStyle.sm' });
2783
+ this.md = input(undefined, { ...(ngDevMode ? { debugName: "md" } : /* istanbul ignore next */ {}), alias: 'fxStyle.md' });
2784
+ this.lg = input(undefined, { ...(ngDevMode ? { debugName: "lg" } : /* istanbul ignore next */ {}), alias: 'fxStyle.lg' });
2785
+ this.xl = input(undefined, { ...(ngDevMode ? { debugName: "xl" } : /* istanbul ignore next */ {}), alias: 'fxStyle.xl' });
2786
+ this.xxl = input(undefined, { ...(ngDevMode ? { debugName: "xxl" } : /* istanbul ignore next */ {}), alias: 'fxStyle.xxl' });
2787
+ this.ltSm = input(undefined, { ...(ngDevMode ? { debugName: "ltSm" } : /* istanbul ignore next */ {}), alias: 'fxStyle.lt-sm' });
2788
+ this.ltMd = input(undefined, { ...(ngDevMode ? { debugName: "ltMd" } : /* istanbul ignore next */ {}), alias: 'fxStyle.lt-md' });
2789
+ this.ltLg = input(undefined, { ...(ngDevMode ? { debugName: "ltLg" } : /* istanbul ignore next */ {}), alias: 'fxStyle.lt-lg' });
2790
+ this.ltXl = input(undefined, { ...(ngDevMode ? { debugName: "ltXl" } : /* istanbul ignore next */ {}), alias: 'fxStyle.lt-xl' });
2791
+ this.ltXxl = input(undefined, { ...(ngDevMode ? { debugName: "ltXxl" } : /* istanbul ignore next */ {}), alias: 'fxStyle.lt-xxl' });
2792
+ this.gtXs = input(undefined, { ...(ngDevMode ? { debugName: "gtXs" } : /* istanbul ignore next */ {}), alias: 'fxStyle.gt-xs' });
2793
+ this.gtSm = input(undefined, { ...(ngDevMode ? { debugName: "gtSm" } : /* istanbul ignore next */ {}), alias: 'fxStyle.gt-sm' });
2794
+ this.gtMd = input(undefined, { ...(ngDevMode ? { debugName: "gtMd" } : /* istanbul ignore next */ {}), alias: 'fxStyle.gt-md' });
2795
+ this.gtLg = input(undefined, { ...(ngDevMode ? { debugName: "gtLg" } : /* istanbul ignore next */ {}), alias: 'fxStyle.gt-lg' });
2796
+ this.gtXl = input(undefined, { ...(ngDevMode ? { debugName: "gtXl" } : /* istanbul ignore next */ {}), alias: 'fxStyle.gt-xl' });
2797
+ this.smUp = input(undefined, { ...(ngDevMode ? { debugName: "smUp" } : /* istanbul ignore next */ {}), alias: 'fxStyle.sm-up' });
2798
+ this.mdUp = input(undefined, { ...(ngDevMode ? { debugName: "mdUp" } : /* istanbul ignore next */ {}), alias: 'fxStyle.md-up' });
2799
+ this.lgUp = input(undefined, { ...(ngDevMode ? { debugName: "lgUp" } : /* istanbul ignore next */ {}), alias: 'fxStyle.lg-up' });
2800
+ this.xlUp = input(undefined, { ...(ngDevMode ? { debugName: "xlUp" } : /* istanbul ignore next */ {}), alias: 'fxStyle.xl-up' });
2801
+ this.xxlUp = input(undefined, { ...(ngDevMode ? { debugName: "xxlUp" } : /* istanbul ignore next */ {}), alias: 'fxStyle.xxl-up' });
2802
+ this.smDown = input(undefined, { ...(ngDevMode ? { debugName: "smDown" } : /* istanbul ignore next */ {}), alias: 'fxStyle.sm-down' });
2803
+ this.mdDown = input(undefined, { ...(ngDevMode ? { debugName: "mdDown" } : /* istanbul ignore next */ {}), alias: 'fxStyle.md-down' });
2804
+ this.lgDown = input(undefined, { ...(ngDevMode ? { debugName: "lgDown" } : /* istanbul ignore next */ {}), alias: 'fxStyle.lg-down' });
2805
+ this.xlDown = input(undefined, { ...(ngDevMode ? { debugName: "xlDown" } : /* istanbul ignore next */ {}), alias: 'fxStyle.xl-down' });
2806
+ this._resolved = computed(() => (resolveAll({ default: this.fxStyle(), xs: this.xs(), sm: this.sm(),
2836
2807
  md: this.md(), lg: this.lg(), xl: this.xl(), xxl: this.xxl() }, { 'lt-sm': this.ltSm(), 'lt-md': this.ltMd(), 'lt-lg': this.ltLg(),
2837
2808
  'lt-xl': this.ltXl(), 'lt-xxl': this.ltXxl(),
2838
2809
  'gt-xs': this.gtXs(), 'gt-sm': this.gtSm(), 'gt-md': this.gtMd(),
@@ -2840,61 +2811,80 @@ class FxGridColumnDirective extends ResponsiveBaseDirective {
2840
2811
  'sm-up': this.smUp(), 'md-up': this.mdUp(), 'lg-up': this.lgUp(),
2841
2812
  'xl-up': this.xlUp(), 'xxl-up': this.xxlUp(),
2842
2813
  'sm-down': this.smDown(), 'md-down': this.mdDown(),
2843
- 'lg-down': this.lgDown(), 'xl-down': this.xlDown() }, this.media.currentBp(), a => this.media.isActive(a)), ...(ngDevMode ? [{ debugName: "_resolved" }] : /* istanbul ignore next */ []));
2814
+ 'lg-down': this.lgDown(), 'xl-down': this.xlDown() }, this.media.currentBp(), a => this.media.isActive(a)) ?? {}), ...(ngDevMode ? [{ debugName: "_resolved" }] : /* istanbul ignore next */ []));
2815
+ /** Tracks which CSS properties were last applied — plain field, not a signal. */
2816
+ this._appliedProps = new Set();
2844
2817
  effect(() => {
2845
- const v = this._resolved();
2846
- v ? this.safeSetStyle('grid-column', v)
2847
- : this.r2.removeStyle(this.el.nativeElement, 'grid-column');
2818
+ if (!this.isBrowser)
2819
+ return;
2820
+ const next = this._resolved();
2821
+ const nextKeys = new Set(Object.keys(next));
2822
+ for (const prop of this._appliedProps) {
2823
+ if (!nextKeys.has(prop))
2824
+ this.r2.removeStyle(this.el.nativeElement, prop);
2825
+ }
2826
+ for (const [prop, value] of Object.entries(next)) {
2827
+ this.r2.setStyle(this.el.nativeElement, prop, value);
2828
+ }
2829
+ this._appliedProps = nextKeys;
2848
2830
  });
2849
2831
  }
2850
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxGridColumnDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2851
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxGridColumnDirective, isStandalone: true, selector: "\n [fxGridColumn],\n [fxGridColumn.xs],[fxGridColumn.sm],[fxGridColumn.md],[fxGridColumn.lg],[fxGridColumn.xl],[fxGridColumn.xxl],\n [fxGridColumn.lt-sm],[fxGridColumn.lt-md],[fxGridColumn.lt-lg],[fxGridColumn.lt-xl],[fxGridColumn.lt-xxl],\n [fxGridColumn.gt-xs],[fxGridColumn.gt-sm],[fxGridColumn.gt-md],[fxGridColumn.gt-lg],[fxGridColumn.gt-xl],\n [fxGridColumn.sm-up],[fxGridColumn.md-up],[fxGridColumn.lg-up],[fxGridColumn.xl-up],[fxGridColumn.xxl-up],\n [fxGridColumn.sm-down],[fxGridColumn.md-down],[fxGridColumn.lg-down],[fxGridColumn.xl-down]\n ", inputs: { fxGridColumn: { classPropertyName: "fxGridColumn", publicName: "fxGridColumn", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "fxGridColumn.xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "fxGridColumn.sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "fxGridColumn.md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "fxGridColumn.lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "fxGridColumn.xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "fxGridColumn.xxl", isSignal: true, isRequired: false, transformFunction: null }, ltSm: { classPropertyName: "ltSm", publicName: "fxGridColumn.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, ltMd: { classPropertyName: "ltMd", publicName: "fxGridColumn.lt-md", isSignal: true, isRequired: false, transformFunction: null }, ltLg: { classPropertyName: "ltLg", publicName: "fxGridColumn.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, ltXl: { classPropertyName: "ltXl", publicName: "fxGridColumn.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, ltXxl: { classPropertyName: "ltXxl", publicName: "fxGridColumn.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gtXs: { classPropertyName: "gtXs", publicName: "fxGridColumn.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gtSm: { classPropertyName: "gtSm", publicName: "fxGridColumn.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gtMd: { classPropertyName: "gtMd", publicName: "fxGridColumn.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gtLg: { classPropertyName: "gtLg", publicName: "fxGridColumn.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gtXl: { classPropertyName: "gtXl", publicName: "fxGridColumn.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, smUp: { classPropertyName: "smUp", publicName: "fxGridColumn.sm-up", isSignal: true, isRequired: false, transformFunction: null }, mdUp: { classPropertyName: "mdUp", publicName: "fxGridColumn.md-up", isSignal: true, isRequired: false, transformFunction: null }, lgUp: { classPropertyName: "lgUp", publicName: "fxGridColumn.lg-up", isSignal: true, isRequired: false, transformFunction: null }, xlUp: { classPropertyName: "xlUp", publicName: "fxGridColumn.xl-up", isSignal: true, isRequired: false, transformFunction: null }, xxlUp: { classPropertyName: "xxlUp", publicName: "fxGridColumn.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, smDown: { classPropertyName: "smDown", publicName: "fxGridColumn.sm-down", isSignal: true, isRequired: false, transformFunction: null }, mdDown: { classPropertyName: "mdDown", publicName: "fxGridColumn.md-down", isSignal: true, isRequired: false, transformFunction: null }, lgDown: { classPropertyName: "lgDown", publicName: "fxGridColumn.lg-down", isSignal: true, isRequired: false, transformFunction: null }, xlDown: { classPropertyName: "xlDown", publicName: "fxGridColumn.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
2832
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxStyleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2833
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxStyleDirective, isStandalone: true, selector: "\n [fxStyle],\n [fxStyle.xs],[fxStyle.sm],[fxStyle.md],[fxStyle.lg],[fxStyle.xl],[fxStyle.xxl],\n [fxStyle.lt-sm],[fxStyle.lt-md],[fxStyle.lt-lg],[fxStyle.lt-xl],[fxStyle.lt-xxl],\n [fxStyle.gt-xs],[fxStyle.gt-sm],[fxStyle.gt-md],[fxStyle.gt-lg],[fxStyle.gt-xl],\n [fxStyle.sm-up],[fxStyle.md-up],[fxStyle.lg-up],[fxStyle.xl-up],[fxStyle.xxl-up],\n [fxStyle.sm-down],[fxStyle.md-down],[fxStyle.lg-down],[fxStyle.xl-down]\n ", inputs: { fxStyle: { classPropertyName: "fxStyle", publicName: "fxStyle", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "fxStyle.xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "fxStyle.sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "fxStyle.md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "fxStyle.lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "fxStyle.xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "fxStyle.xxl", isSignal: true, isRequired: false, transformFunction: null }, ltSm: { classPropertyName: "ltSm", publicName: "fxStyle.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, ltMd: { classPropertyName: "ltMd", publicName: "fxStyle.lt-md", isSignal: true, isRequired: false, transformFunction: null }, ltLg: { classPropertyName: "ltLg", publicName: "fxStyle.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, ltXl: { classPropertyName: "ltXl", publicName: "fxStyle.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, ltXxl: { classPropertyName: "ltXxl", publicName: "fxStyle.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gtXs: { classPropertyName: "gtXs", publicName: "fxStyle.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gtSm: { classPropertyName: "gtSm", publicName: "fxStyle.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gtMd: { classPropertyName: "gtMd", publicName: "fxStyle.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gtLg: { classPropertyName: "gtLg", publicName: "fxStyle.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gtXl: { classPropertyName: "gtXl", publicName: "fxStyle.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, smUp: { classPropertyName: "smUp", publicName: "fxStyle.sm-up", isSignal: true, isRequired: false, transformFunction: null }, mdUp: { classPropertyName: "mdUp", publicName: "fxStyle.md-up", isSignal: true, isRequired: false, transformFunction: null }, lgUp: { classPropertyName: "lgUp", publicName: "fxStyle.lg-up", isSignal: true, isRequired: false, transformFunction: null }, xlUp: { classPropertyName: "xlUp", publicName: "fxStyle.xl-up", isSignal: true, isRequired: false, transformFunction: null }, xxlUp: { classPropertyName: "xxlUp", publicName: "fxStyle.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, smDown: { classPropertyName: "smDown", publicName: "fxStyle.sm-down", isSignal: true, isRequired: false, transformFunction: null }, mdDown: { classPropertyName: "mdDown", publicName: "fxStyle.md-down", isSignal: true, isRequired: false, transformFunction: null }, lgDown: { classPropertyName: "lgDown", publicName: "fxStyle.lg-down", isSignal: true, isRequired: false, transformFunction: null }, xlDown: { classPropertyName: "xlDown", publicName: "fxStyle.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
2852
2834
  }
2853
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxGridColumnDirective, decorators: [{
2835
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxStyleDirective, decorators: [{
2854
2836
  type: Directive,
2855
2837
  args: [{
2856
2838
  selector: `
2857
- [fxGridColumn],
2858
- [fxGridColumn.xs],[fxGridColumn.sm],[fxGridColumn.md],[fxGridColumn.lg],[fxGridColumn.xl],[fxGridColumn.xxl],
2859
- [fxGridColumn.lt-sm],[fxGridColumn.lt-md],[fxGridColumn.lt-lg],[fxGridColumn.lt-xl],[fxGridColumn.lt-xxl],
2860
- [fxGridColumn.gt-xs],[fxGridColumn.gt-sm],[fxGridColumn.gt-md],[fxGridColumn.gt-lg],[fxGridColumn.gt-xl],
2861
- [fxGridColumn.sm-up],[fxGridColumn.md-up],[fxGridColumn.lg-up],[fxGridColumn.xl-up],[fxGridColumn.xxl-up],
2862
- [fxGridColumn.sm-down],[fxGridColumn.md-down],[fxGridColumn.lg-down],[fxGridColumn.xl-down]
2839
+ [fxStyle],
2840
+ [fxStyle.xs],[fxStyle.sm],[fxStyle.md],[fxStyle.lg],[fxStyle.xl],[fxStyle.xxl],
2841
+ [fxStyle.lt-sm],[fxStyle.lt-md],[fxStyle.lt-lg],[fxStyle.lt-xl],[fxStyle.lt-xxl],
2842
+ [fxStyle.gt-xs],[fxStyle.gt-sm],[fxStyle.gt-md],[fxStyle.gt-lg],[fxStyle.gt-xl],
2843
+ [fxStyle.sm-up],[fxStyle.md-up],[fxStyle.lg-up],[fxStyle.xl-up],[fxStyle.xxl-up],
2844
+ [fxStyle.sm-down],[fxStyle.md-down],[fxStyle.lg-down],[fxStyle.xl-down]
2863
2845
  `,
2864
2846
  standalone: true,
2865
2847
  }]
2866
- }], ctorParameters: () => [], propDecorators: { fxGridColumn: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.xxl", required: false }] }], ltSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.lt-sm", required: false }] }], ltMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.lt-md", required: false }] }], ltLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.lt-lg", required: false }] }], ltXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.lt-xl", required: false }] }], ltXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.lt-xxl", required: false }] }], gtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.gt-xs", required: false }] }], gtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.gt-sm", required: false }] }], gtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.gt-md", required: false }] }], gtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.gt-lg", required: false }] }], gtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.gt-xl", required: false }] }], smUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.sm-up", required: false }] }], mdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.md-up", required: false }] }], lgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.lg-up", required: false }] }], xlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.xl-up", required: false }] }], xxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.xxl-up", required: false }] }], smDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.sm-down", required: false }] }], mdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.md-down", required: false }] }], lgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.lg-down", required: false }] }], xlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridColumn.xl-down", required: false }] }] } });
2867
- // ─── fxGridArea ───────────────────────────────────────────────────────────────
2868
- class FxGridAreaDirective extends ResponsiveBaseDirective {
2848
+ }], ctorParameters: () => [], propDecorators: { fxStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.xxl", required: false }] }], ltSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.lt-sm", required: false }] }], ltMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.lt-md", required: false }] }], ltLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.lt-lg", required: false }] }], ltXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.lt-xl", required: false }] }], ltXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.lt-xxl", required: false }] }], gtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.gt-xs", required: false }] }], gtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.gt-sm", required: false }] }], gtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.gt-md", required: false }] }], gtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.gt-lg", required: false }] }], gtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.gt-xl", required: false }] }], smUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.sm-up", required: false }] }], mdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.md-up", required: false }] }], lgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.lg-up", required: false }] }], xlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.xl-up", required: false }] }], xxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.xxl-up", required: false }] }], smDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.sm-down", required: false }] }], mdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.md-down", required: false }] }], lgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.lg-down", required: false }] }], xlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxStyle.xl-down", required: false }] }] } });
2849
+ function toClassSet(v) {
2850
+ if (!v)
2851
+ return new Set();
2852
+ if (typeof v === 'string')
2853
+ return new Set(v.split(/\s+/).filter(Boolean));
2854
+ if (Array.isArray(v))
2855
+ return new Set(v.filter(Boolean));
2856
+ return new Set(Object.entries(v).filter(([, on]) => on).map(([cls]) => cls));
2857
+ }
2858
+ class FxClassDirective extends ResponsiveBaseDirective {
2869
2859
  constructor() {
2870
2860
  super();
2871
- this.fxGridArea = input(undefined, { ...(ngDevMode ? { debugName: "fxGridArea" } : /* istanbul ignore next */ {}), alias: 'fxGridArea' });
2872
- this.xs = input(undefined, { ...(ngDevMode ? { debugName: "xs" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.xs' });
2873
- this.sm = input(undefined, { ...(ngDevMode ? { debugName: "sm" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.sm' });
2874
- this.md = input(undefined, { ...(ngDevMode ? { debugName: "md" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.md' });
2875
- this.lg = input(undefined, { ...(ngDevMode ? { debugName: "lg" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.lg' });
2876
- this.xl = input(undefined, { ...(ngDevMode ? { debugName: "xl" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.xl' });
2877
- this.xxl = input(undefined, { ...(ngDevMode ? { debugName: "xxl" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.xxl' });
2878
- this.ltSm = input(undefined, { ...(ngDevMode ? { debugName: "ltSm" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.lt-sm' });
2879
- this.ltMd = input(undefined, { ...(ngDevMode ? { debugName: "ltMd" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.lt-md' });
2880
- this.ltLg = input(undefined, { ...(ngDevMode ? { debugName: "ltLg" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.lt-lg' });
2881
- this.ltXl = input(undefined, { ...(ngDevMode ? { debugName: "ltXl" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.lt-xl' });
2882
- this.ltXxl = input(undefined, { ...(ngDevMode ? { debugName: "ltXxl" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.lt-xxl' });
2883
- this.gtXs = input(undefined, { ...(ngDevMode ? { debugName: "gtXs" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.gt-xs' });
2884
- this.gtSm = input(undefined, { ...(ngDevMode ? { debugName: "gtSm" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.gt-sm' });
2885
- this.gtMd = input(undefined, { ...(ngDevMode ? { debugName: "gtMd" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.gt-md' });
2886
- this.gtLg = input(undefined, { ...(ngDevMode ? { debugName: "gtLg" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.gt-lg' });
2887
- this.gtXl = input(undefined, { ...(ngDevMode ? { debugName: "gtXl" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.gt-xl' });
2888
- this.smUp = input(undefined, { ...(ngDevMode ? { debugName: "smUp" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.sm-up' });
2889
- this.mdUp = input(undefined, { ...(ngDevMode ? { debugName: "mdUp" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.md-up' });
2890
- this.lgUp = input(undefined, { ...(ngDevMode ? { debugName: "lgUp" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.lg-up' });
2891
- this.xlUp = input(undefined, { ...(ngDevMode ? { debugName: "xlUp" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.xl-up' });
2892
- this.xxlUp = input(undefined, { ...(ngDevMode ? { debugName: "xxlUp" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.xxl-up' });
2893
- this.smDown = input(undefined, { ...(ngDevMode ? { debugName: "smDown" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.sm-down' });
2894
- this.mdDown = input(undefined, { ...(ngDevMode ? { debugName: "mdDown" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.md-down' });
2895
- this.lgDown = input(undefined, { ...(ngDevMode ? { debugName: "lgDown" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.lg-down' });
2896
- this.xlDown = input(undefined, { ...(ngDevMode ? { debugName: "xlDown" } : /* istanbul ignore next */ {}), alias: 'fxGridArea.xl-down' });
2897
- this._resolved = computed(() => resolveAll({ default: this.fxGridArea(), xs: this.xs(), sm: this.sm(),
2861
+ this.fxClass = input(undefined, { ...(ngDevMode ? { debugName: "fxClass" } : /* istanbul ignore next */ {}), alias: 'fxClass' });
2862
+ this.xs = input(undefined, { ...(ngDevMode ? { debugName: "xs" } : /* istanbul ignore next */ {}), alias: 'fxClass.xs' });
2863
+ this.sm = input(undefined, { ...(ngDevMode ? { debugName: "sm" } : /* istanbul ignore next */ {}), alias: 'fxClass.sm' });
2864
+ this.md = input(undefined, { ...(ngDevMode ? { debugName: "md" } : /* istanbul ignore next */ {}), alias: 'fxClass.md' });
2865
+ this.lg = input(undefined, { ...(ngDevMode ? { debugName: "lg" } : /* istanbul ignore next */ {}), alias: 'fxClass.lg' });
2866
+ this.xl = input(undefined, { ...(ngDevMode ? { debugName: "xl" } : /* istanbul ignore next */ {}), alias: 'fxClass.xl' });
2867
+ this.xxl = input(undefined, { ...(ngDevMode ? { debugName: "xxl" } : /* istanbul ignore next */ {}), alias: 'fxClass.xxl' });
2868
+ this.ltSm = input(undefined, { ...(ngDevMode ? { debugName: "ltSm" } : /* istanbul ignore next */ {}), alias: 'fxClass.lt-sm' });
2869
+ this.ltMd = input(undefined, { ...(ngDevMode ? { debugName: "ltMd" } : /* istanbul ignore next */ {}), alias: 'fxClass.lt-md' });
2870
+ this.ltLg = input(undefined, { ...(ngDevMode ? { debugName: "ltLg" } : /* istanbul ignore next */ {}), alias: 'fxClass.lt-lg' });
2871
+ this.ltXl = input(undefined, { ...(ngDevMode ? { debugName: "ltXl" } : /* istanbul ignore next */ {}), alias: 'fxClass.lt-xl' });
2872
+ this.ltXxl = input(undefined, { ...(ngDevMode ? { debugName: "ltXxl" } : /* istanbul ignore next */ {}), alias: 'fxClass.lt-xxl' });
2873
+ this.gtXs = input(undefined, { ...(ngDevMode ? { debugName: "gtXs" } : /* istanbul ignore next */ {}), alias: 'fxClass.gt-xs' });
2874
+ this.gtSm = input(undefined, { ...(ngDevMode ? { debugName: "gtSm" } : /* istanbul ignore next */ {}), alias: 'fxClass.gt-sm' });
2875
+ this.gtMd = input(undefined, { ...(ngDevMode ? { debugName: "gtMd" } : /* istanbul ignore next */ {}), alias: 'fxClass.gt-md' });
2876
+ this.gtLg = input(undefined, { ...(ngDevMode ? { debugName: "gtLg" } : /* istanbul ignore next */ {}), alias: 'fxClass.gt-lg' });
2877
+ this.gtXl = input(undefined, { ...(ngDevMode ? { debugName: "gtXl" } : /* istanbul ignore next */ {}), alias: 'fxClass.gt-xl' });
2878
+ this.smUp = input(undefined, { ...(ngDevMode ? { debugName: "smUp" } : /* istanbul ignore next */ {}), alias: 'fxClass.sm-up' });
2879
+ this.mdUp = input(undefined, { ...(ngDevMode ? { debugName: "mdUp" } : /* istanbul ignore next */ {}), alias: 'fxClass.md-up' });
2880
+ this.lgUp = input(undefined, { ...(ngDevMode ? { debugName: "lgUp" } : /* istanbul ignore next */ {}), alias: 'fxClass.lg-up' });
2881
+ this.xlUp = input(undefined, { ...(ngDevMode ? { debugName: "xlUp" } : /* istanbul ignore next */ {}), alias: 'fxClass.xl-up' });
2882
+ this.xxlUp = input(undefined, { ...(ngDevMode ? { debugName: "xxlUp" } : /* istanbul ignore next */ {}), alias: 'fxClass.xxl-up' });
2883
+ this.smDown = input(undefined, { ...(ngDevMode ? { debugName: "smDown" } : /* istanbul ignore next */ {}), alias: 'fxClass.sm-down' });
2884
+ this.mdDown = input(undefined, { ...(ngDevMode ? { debugName: "mdDown" } : /* istanbul ignore next */ {}), alias: 'fxClass.md-down' });
2885
+ this.lgDown = input(undefined, { ...(ngDevMode ? { debugName: "lgDown" } : /* istanbul ignore next */ {}), alias: 'fxClass.lg-down' });
2886
+ this.xlDown = input(undefined, { ...(ngDevMode ? { debugName: "xlDown" } : /* istanbul ignore next */ {}), alias: 'fxClass.xl-down' });
2887
+ this._resolved = computed(() => toClassSet(resolveAll({ default: this.fxClass(), xs: this.xs(), sm: this.sm(),
2898
2888
  md: this.md(), lg: this.lg(), xl: this.xl(), xxl: this.xxl() }, { 'lt-sm': this.ltSm(), 'lt-md': this.ltMd(), 'lt-lg': this.ltLg(),
2899
2889
  'lt-xl': this.ltXl(), 'lt-xxl': this.ltXxl(),
2900
2890
  'gt-xs': this.gtXs(), 'gt-sm': this.gtSm(), 'gt-md': this.gtMd(),
@@ -2902,30 +2892,40 @@ class FxGridAreaDirective extends ResponsiveBaseDirective {
2902
2892
  'sm-up': this.smUp(), 'md-up': this.mdUp(), 'lg-up': this.lgUp(),
2903
2893
  'xl-up': this.xlUp(), 'xxl-up': this.xxlUp(),
2904
2894
  'sm-down': this.smDown(), 'md-down': this.mdDown(),
2905
- 'lg-down': this.lgDown(), 'xl-down': this.xlDown() }, this.media.currentBp(), a => this.media.isActive(a)), ...(ngDevMode ? [{ debugName: "_resolved" }] : /* istanbul ignore next */ []));
2895
+ 'lg-down': this.lgDown(), 'xl-down': this.xlDown() }, this.media.currentBp(), a => this.media.isActive(a))), ...(ngDevMode ? [{ debugName: "_resolved" }] : /* istanbul ignore next */ []));
2896
+ /** Tracks which CSS classes were last applied — plain field, not a signal. */
2897
+ this._appliedClasses = new Set();
2906
2898
  effect(() => {
2907
- const v = this._resolved();
2908
- v ? this.safeSetStyle('grid-area', v)
2909
- : this.r2.removeStyle(this.el.nativeElement, 'grid-area');
2899
+ if (!this.isBrowser)
2900
+ return;
2901
+ const next = this._resolved();
2902
+ for (const cls of this._appliedClasses) {
2903
+ if (!next.has(cls))
2904
+ this.r2.removeClass(this.el.nativeElement, cls);
2905
+ }
2906
+ for (const cls of next) {
2907
+ this.r2.addClass(this.el.nativeElement, cls);
2908
+ }
2909
+ this._appliedClasses = next;
2910
2910
  });
2911
2911
  }
2912
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxGridAreaDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2913
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxGridAreaDirective, isStandalone: true, selector: "\n [fxGridArea],\n [fxGridArea.xs],[fxGridArea.sm],[fxGridArea.md],[fxGridArea.lg],[fxGridArea.xl],[fxGridArea.xxl],\n [fxGridArea.lt-sm],[fxGridArea.lt-md],[fxGridArea.lt-lg],[fxGridArea.lt-xl],[fxGridArea.lt-xxl],\n [fxGridArea.gt-xs],[fxGridArea.gt-sm],[fxGridArea.gt-md],[fxGridArea.gt-lg],[fxGridArea.gt-xl],\n [fxGridArea.sm-up],[fxGridArea.md-up],[fxGridArea.lg-up],[fxGridArea.xl-up],[fxGridArea.xxl-up],\n [fxGridArea.sm-down],[fxGridArea.md-down],[fxGridArea.lg-down],[fxGridArea.xl-down]\n ", inputs: { fxGridArea: { classPropertyName: "fxGridArea", publicName: "fxGridArea", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "fxGridArea.xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "fxGridArea.sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "fxGridArea.md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "fxGridArea.lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "fxGridArea.xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "fxGridArea.xxl", isSignal: true, isRequired: false, transformFunction: null }, ltSm: { classPropertyName: "ltSm", publicName: "fxGridArea.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, ltMd: { classPropertyName: "ltMd", publicName: "fxGridArea.lt-md", isSignal: true, isRequired: false, transformFunction: null }, ltLg: { classPropertyName: "ltLg", publicName: "fxGridArea.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, ltXl: { classPropertyName: "ltXl", publicName: "fxGridArea.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, ltXxl: { classPropertyName: "ltXxl", publicName: "fxGridArea.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gtXs: { classPropertyName: "gtXs", publicName: "fxGridArea.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gtSm: { classPropertyName: "gtSm", publicName: "fxGridArea.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gtMd: { classPropertyName: "gtMd", publicName: "fxGridArea.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gtLg: { classPropertyName: "gtLg", publicName: "fxGridArea.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gtXl: { classPropertyName: "gtXl", publicName: "fxGridArea.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, smUp: { classPropertyName: "smUp", publicName: "fxGridArea.sm-up", isSignal: true, isRequired: false, transformFunction: null }, mdUp: { classPropertyName: "mdUp", publicName: "fxGridArea.md-up", isSignal: true, isRequired: false, transformFunction: null }, lgUp: { classPropertyName: "lgUp", publicName: "fxGridArea.lg-up", isSignal: true, isRequired: false, transformFunction: null }, xlUp: { classPropertyName: "xlUp", publicName: "fxGridArea.xl-up", isSignal: true, isRequired: false, transformFunction: null }, xxlUp: { classPropertyName: "xxlUp", publicName: "fxGridArea.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, smDown: { classPropertyName: "smDown", publicName: "fxGridArea.sm-down", isSignal: true, isRequired: false, transformFunction: null }, mdDown: { classPropertyName: "mdDown", publicName: "fxGridArea.md-down", isSignal: true, isRequired: false, transformFunction: null }, lgDown: { classPropertyName: "lgDown", publicName: "fxGridArea.lg-down", isSignal: true, isRequired: false, transformFunction: null }, xlDown: { classPropertyName: "xlDown", publicName: "fxGridArea.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
2912
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxClassDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2913
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: FxClassDirective, isStandalone: true, selector: "\n [fxClass],\n [fxClass.xs],[fxClass.sm],[fxClass.md],[fxClass.lg],[fxClass.xl],[fxClass.xxl],\n [fxClass.lt-sm],[fxClass.lt-md],[fxClass.lt-lg],[fxClass.lt-xl],[fxClass.lt-xxl],\n [fxClass.gt-xs],[fxClass.gt-sm],[fxClass.gt-md],[fxClass.gt-lg],[fxClass.gt-xl],\n [fxClass.sm-up],[fxClass.md-up],[fxClass.lg-up],[fxClass.xl-up],[fxClass.xxl-up],\n [fxClass.sm-down],[fxClass.md-down],[fxClass.lg-down],[fxClass.xl-down]\n ", inputs: { fxClass: { classPropertyName: "fxClass", publicName: "fxClass", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "fxClass.xs", isSignal: true, isRequired: false, transformFunction: null }, sm: { classPropertyName: "sm", publicName: "fxClass.sm", isSignal: true, isRequired: false, transformFunction: null }, md: { classPropertyName: "md", publicName: "fxClass.md", isSignal: true, isRequired: false, transformFunction: null }, lg: { classPropertyName: "lg", publicName: "fxClass.lg", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "fxClass.xl", isSignal: true, isRequired: false, transformFunction: null }, xxl: { classPropertyName: "xxl", publicName: "fxClass.xxl", isSignal: true, isRequired: false, transformFunction: null }, ltSm: { classPropertyName: "ltSm", publicName: "fxClass.lt-sm", isSignal: true, isRequired: false, transformFunction: null }, ltMd: { classPropertyName: "ltMd", publicName: "fxClass.lt-md", isSignal: true, isRequired: false, transformFunction: null }, ltLg: { classPropertyName: "ltLg", publicName: "fxClass.lt-lg", isSignal: true, isRequired: false, transformFunction: null }, ltXl: { classPropertyName: "ltXl", publicName: "fxClass.lt-xl", isSignal: true, isRequired: false, transformFunction: null }, ltXxl: { classPropertyName: "ltXxl", publicName: "fxClass.lt-xxl", isSignal: true, isRequired: false, transformFunction: null }, gtXs: { classPropertyName: "gtXs", publicName: "fxClass.gt-xs", isSignal: true, isRequired: false, transformFunction: null }, gtSm: { classPropertyName: "gtSm", publicName: "fxClass.gt-sm", isSignal: true, isRequired: false, transformFunction: null }, gtMd: { classPropertyName: "gtMd", publicName: "fxClass.gt-md", isSignal: true, isRequired: false, transformFunction: null }, gtLg: { classPropertyName: "gtLg", publicName: "fxClass.gt-lg", isSignal: true, isRequired: false, transformFunction: null }, gtXl: { classPropertyName: "gtXl", publicName: "fxClass.gt-xl", isSignal: true, isRequired: false, transformFunction: null }, smUp: { classPropertyName: "smUp", publicName: "fxClass.sm-up", isSignal: true, isRequired: false, transformFunction: null }, mdUp: { classPropertyName: "mdUp", publicName: "fxClass.md-up", isSignal: true, isRequired: false, transformFunction: null }, lgUp: { classPropertyName: "lgUp", publicName: "fxClass.lg-up", isSignal: true, isRequired: false, transformFunction: null }, xlUp: { classPropertyName: "xlUp", publicName: "fxClass.xl-up", isSignal: true, isRequired: false, transformFunction: null }, xxlUp: { classPropertyName: "xxlUp", publicName: "fxClass.xxl-up", isSignal: true, isRequired: false, transformFunction: null }, smDown: { classPropertyName: "smDown", publicName: "fxClass.sm-down", isSignal: true, isRequired: false, transformFunction: null }, mdDown: { classPropertyName: "mdDown", publicName: "fxClass.md-down", isSignal: true, isRequired: false, transformFunction: null }, lgDown: { classPropertyName: "lgDown", publicName: "fxClass.lg-down", isSignal: true, isRequired: false, transformFunction: null }, xlDown: { classPropertyName: "xlDown", publicName: "fxClass.xl-down", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
2914
2914
  }
2915
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxGridAreaDirective, decorators: [{
2915
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: FxClassDirective, decorators: [{
2916
2916
  type: Directive,
2917
2917
  args: [{
2918
2918
  selector: `
2919
- [fxGridArea],
2920
- [fxGridArea.xs],[fxGridArea.sm],[fxGridArea.md],[fxGridArea.lg],[fxGridArea.xl],[fxGridArea.xxl],
2921
- [fxGridArea.lt-sm],[fxGridArea.lt-md],[fxGridArea.lt-lg],[fxGridArea.lt-xl],[fxGridArea.lt-xxl],
2922
- [fxGridArea.gt-xs],[fxGridArea.gt-sm],[fxGridArea.gt-md],[fxGridArea.gt-lg],[fxGridArea.gt-xl],
2923
- [fxGridArea.sm-up],[fxGridArea.md-up],[fxGridArea.lg-up],[fxGridArea.xl-up],[fxGridArea.xxl-up],
2924
- [fxGridArea.sm-down],[fxGridArea.md-down],[fxGridArea.lg-down],[fxGridArea.xl-down]
2919
+ [fxClass],
2920
+ [fxClass.xs],[fxClass.sm],[fxClass.md],[fxClass.lg],[fxClass.xl],[fxClass.xxl],
2921
+ [fxClass.lt-sm],[fxClass.lt-md],[fxClass.lt-lg],[fxClass.lt-xl],[fxClass.lt-xxl],
2922
+ [fxClass.gt-xs],[fxClass.gt-sm],[fxClass.gt-md],[fxClass.gt-lg],[fxClass.gt-xl],
2923
+ [fxClass.sm-up],[fxClass.md-up],[fxClass.lg-up],[fxClass.xl-up],[fxClass.xxl-up],
2924
+ [fxClass.sm-down],[fxClass.md-down],[fxClass.lg-down],[fxClass.xl-down]
2925
2925
  `,
2926
2926
  standalone: true,
2927
2927
  }]
2928
- }], ctorParameters: () => [], propDecorators: { fxGridArea: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.xxl", required: false }] }], ltSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.lt-sm", required: false }] }], ltMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.lt-md", required: false }] }], ltLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.lt-lg", required: false }] }], ltXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.lt-xl", required: false }] }], ltXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.lt-xxl", required: false }] }], gtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.gt-xs", required: false }] }], gtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.gt-sm", required: false }] }], gtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.gt-md", required: false }] }], gtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.gt-lg", required: false }] }], gtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.gt-xl", required: false }] }], smUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.sm-up", required: false }] }], mdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.md-up", required: false }] }], lgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.lg-up", required: false }] }], xlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.xl-up", required: false }] }], xxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.xxl-up", required: false }] }], smDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.sm-down", required: false }] }], mdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.md-down", required: false }] }], lgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.lg-down", required: false }] }], xlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxGridArea.xl-down", required: false }] }] } });
2928
+ }], ctorParameters: () => [], propDecorators: { fxClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass", required: false }] }], xs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.xs", required: false }] }], sm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.sm", required: false }] }], md: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.md", required: false }] }], lg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.lg", required: false }] }], xl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.xl", required: false }] }], xxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.xxl", required: false }] }], ltSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.lt-sm", required: false }] }], ltMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.lt-md", required: false }] }], ltLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.lt-lg", required: false }] }], ltXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.lt-xl", required: false }] }], ltXxl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.lt-xxl", required: false }] }], gtXs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.gt-xs", required: false }] }], gtSm: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.gt-sm", required: false }] }], gtMd: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.gt-md", required: false }] }], gtLg: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.gt-lg", required: false }] }], gtXl: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.gt-xl", required: false }] }], smUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.sm-up", required: false }] }], mdUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.md-up", required: false }] }], lgUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.lg-up", required: false }] }], xlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.xl-up", required: false }] }], xxlUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.xxl-up", required: false }] }], smDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.sm-down", required: false }] }], mdDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.md-down", required: false }] }], lgDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.lg-down", required: false }] }], xlDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "fxClass.xl-down", required: false }] }] } });
2929
2929
 
2930
2930
  /*
2931
2931
  * Public API Surface of ars-utils