@egose/shadcn-theme-ng 0.0.19 → 0.0.21
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.
- package/button/fesm2022/button.mjs +4 -4
- package/button/fesm2022/button.mjs.map +1 -1
- package/button/index.d.ts +11 -11
- package/confirmation-dialog/fesm2022/confirmation-dialog.mjs +1 -1
- package/confirmation-dialog/fesm2022/confirmation-dialog.mjs.map +1 -1
- package/layout-simple/fesm2022/layout-simple.mjs +66 -23
- package/layout-simple/fesm2022/layout-simple.mjs.map +1 -1
- package/layout-simple/index.d.ts +19 -2
- package/menu/fesm2022/menu.mjs +1 -1
- package/menu/fesm2022/menu.mjs.map +1 -1
- package/package.json +1 -1
- package/spinner/fesm2022/spinner.mjs +5 -11
- package/spinner/fesm2022/spinner.mjs.map +1 -1
- package/spinner/index.d.ts +1 -3
|
@@ -84,7 +84,7 @@ class HlmButton {
|
|
|
84
84
|
loading = input(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
|
|
85
85
|
icon = input(undefined, ...(ngDevMode ? [{ debugName: "icon" }] : []));
|
|
86
86
|
iconPosition = input('left', ...(ngDevMode ? [{ debugName: "iconPosition" }] : []));
|
|
87
|
-
userClass = input('', ...(ngDevMode ? [{ debugName: "userClass" }] : []));
|
|
87
|
+
userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
|
|
88
88
|
spinnerUserClass = input('', ...(ngDevMode ? [{ debugName: "spinnerUserClass" }] : []));
|
|
89
89
|
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
90
90
|
type = input('button', ...(ngDevMode ? [{ debugName: "type" }] : []));
|
|
@@ -189,7 +189,7 @@ class HlmButton {
|
|
|
189
189
|
return colors[variant];
|
|
190
190
|
}
|
|
191
191
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
192
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", type: HlmButton, isStandalone: true, selector: "button[hlmButton], a[hlmButton]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconPosition: { classPropertyName: "iconPosition", publicName: "iconPosition", isSignal: true, isRequired: false, transformFunction: null }, userClass: { classPropertyName: "userClass", publicName: "
|
|
192
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", type: HlmButton, isStandalone: true, selector: "button[hlmButton], a[hlmButton]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconPosition: { classPropertyName: "iconPosition", publicName: "iconPosition", isSignal: true, isRequired: false, transformFunction: null }, userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, spinnerUserClass: { classPropertyName: "spinnerUserClass", publicName: "spinnerUserClass", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()", "attr.aria-busy": "loading() || null", "attr.disabled": "(loading() || disabled()) ? true : null", "attr.type": "type()" } }, hostDirectives: [{ directive: i1.BrnButton, inputs: ["disabled", "disabled"] }], ngImport: i0, template: `
|
|
193
193
|
<ng-template #projected>
|
|
194
194
|
<ng-content></ng-content>
|
|
195
195
|
</ng-template>
|
|
@@ -200,7 +200,7 @@ class HlmButton {
|
|
|
200
200
|
<ng-container *ngTemplateOutlet="projected" />
|
|
201
201
|
</span>
|
|
202
202
|
<span class="absolute inset-0 flex items-center justify-center">
|
|
203
|
-
<hlm-spinner
|
|
203
|
+
<hlm-spinner [spinnerClass]="spinnerClass()" />
|
|
204
204
|
</span>
|
|
205
205
|
</div>
|
|
206
206
|
} @else {
|
|
@@ -240,7 +240,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
240
240
|
<ng-container *ngTemplateOutlet="projected" />
|
|
241
241
|
</span>
|
|
242
242
|
<span class="absolute inset-0 flex items-center justify-center">
|
|
243
|
-
<hlm-spinner
|
|
243
|
+
<hlm-spinner [spinnerClass]="spinnerClass()" />
|
|
244
244
|
</span>
|
|
245
245
|
</div>
|
|
246
246
|
} @else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.mjs","sources":["../../../projects/button/src/lib/button.ts","../../../projects/button/src/public-api.ts","../../../projects/button/src/button.ts"],"sourcesContent":["import { Component, computed, signal, input } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { BrnButton } from '@spartan-ng/brain/button';\nimport { HlmSpinner } from '@egose/shadcn-theme-ng/spinner';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { type ClassValue } from 'clsx';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\n\nexport const buttonVariants = cva(\n [\n 'tw:cursor-pointer',\n 'tw:active:translate-y-[0.5px]',\n 'tw:disabled:pointer-events-none',\n 'tw:disabled:opacity-50',\n 'tw:focus-visible:outline-none',\n 'tw:focus-visible:ring-1',\n 'tw:focus-visible:ring-ring',\n 'tw:font-medium',\n 'tw:gap-2',\n 'tw:inline-flex',\n 'tw:items-center',\n 'tw:justify-center',\n 'tw:rounded-sm',\n 'tw:text-sm',\n 'tw:transform',\n 'tw:transition',\n 'tw:transition-colors',\n 'tw:whitespace-nowrap',\n 'tw:[&_svg]:pointer-events-none',\n 'tw:[&_svg]:shrink-0',\n 'tw:[&_svg]:size-4',\n 'tw:no-underline',\n ],\n {\n variants: {\n variant: {\n primary:\n 'tw:border tw:border-primary tw:bg-primary tw:text-primary-foreground tw:shadow-sm tw:hover:bg-primary/90',\n secondary:\n 'tw:border tw:border-secondary tw:bg-secondary tw:text-secondary-foreground tw:shadow-sm tw:hover:bg-secondary/90',\n success:\n 'tw:border tw:border-success tw:bg-success tw:text-success-foreground tw:shadow-sm tw:hover:bg-success/90',\n warning:\n 'tw:border tw:border-warning tw:bg-warning tw:text-warning-foreground tw:shadow-sm tw:hover:bg-warning/90',\n danger: 'tw:border tw:border-danger tw:bg-danger tw:text-danger-foreground tw:shadow-sm tw:hover:bg-danger/90',\n info: 'tw:border tw:border-info tw:bg-info tw:text-info-foreground tw:shadow-sm tw:hover:bg-info/90',\n light: 'tw:border tw:border-light tw:bg-light tw:text-light-foreground tw:shadow-sm tw:hover:bg-light/90',\n dark: 'tw:border tw:border-dark tw:bg-dark tw:text-dark-foreground tw:shadow-sm tw:hover:bg-dark/90',\n accent: 'tw:border tw:border-accent tw:bg-accent tw:text-accent-foreground tw:shadow-sm tw:hover:bg-accent/90',\n destructive:\n 'tw:border tw:border-destructive tw:bg-destructive tw:text-destructive-foreground tw:shadow-sm tw:hover:bg-destructive/90',\n muted: 'tw:border tw:border-muted tw:bg-muted tw:text-muted-foreground tw:shadow-sm tw:hover:bg-muted/90',\n link: 'tw:text-primary tw:underline-offset-4 tw:hover:underline',\n ghost: 'tw:hover:bg-light tw:hover:text-light-foreground',\n },\n size: {\n xs: 'tw:h-7 tw:rounded-xs tw:px-2 tw:text-xs',\n sm: 'tw:h-8 tw:rounded-sm tw:px-3',\n default: 'tw:h-9 tw:px-4 tw:py-2',\n lg: 'tw:h-10 tw:rounded-sm tw:px-7 tw:text-base',\n icon: 'tw:h-9 tw:w-9',\n 'compact-xs': 'tw:h-6 tw:px-2 tw:py-1 tw:text-xs',\n 'compact-sm': 'tw:h-7 tw:px-2 tw:py-1',\n 'compact-default': 'tw:h-8 tw:px-2 tw:py-1',\n 'compact-lg': 'tw:h-9 tw:px-2 tw:py-1 tw:text-base',\n 'compact-icon': 'tw:h-8 tw:w-8',\n },\n appearance: {\n solid: '',\n outline: 'tw:bg-white tw:border',\n 'outline-filled': 'tw:bg-white tw:border',\n },\n loading: {\n true: 'tw:pointer-events-none',\n false: null,\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'default',\n appearance: 'solid',\n loading: false,\n },\n },\n);\n\nexport type ButtonVariants = VariantProps<typeof buttonVariants>;\nexport type VariantType = NonNullable<ButtonVariants['variant']>;\nexport type SizeType = NonNullable<ButtonVariants['size']>;\nexport type AppearanceType = NonNullable<ButtonVariants['appearance']>;\n\n@Component({\n selector: 'button[hlmButton], a[hlmButton]',\n standalone: true,\n imports: [BrnButton, HlmSpinner, NgTemplateOutlet],\n hostDirectives: [{ directive: BrnButton, inputs: ['disabled'] }],\n host: {\n '[class]': '_computedClass()',\n '[attr.aria-busy]': 'loading() || null',\n '[attr.disabled]': '(loading() || disabled()) ? true : null',\n '[attr.type]': 'type()',\n },\n template: `\n <ng-template #projected>\n <ng-content></ng-content>\n </ng-template>\n\n @if (loading()) {\n <div class=\"tw:relative tw:inline-flex tw:items-center\">\n <span class=\"tw:invisible\">\n <ng-container *ngTemplateOutlet=\"projected\" />\n </span>\n <span class=\"tw:absolute tw:inset-0 tw:flex tw:items-center tw:justify-center\">\n <hlm-spinner size=\"small\" [spinnerClass]=\"spinnerClass()\" />\n </span>\n </div>\n } @else {\n <div class=\"tw:flex tw:items-center tw:gap-1\">\n @if (icon() && iconPosition() === 'left') {\n <ng-container *ngTemplateOutlet=\"icon()\" />\n }\n <ng-container *ngTemplateOutlet=\"projected\" />\n @if (icon() && iconPosition() === 'right') {\n <ng-container *ngTemplateOutlet=\"icon()\" />\n }\n </div>\n }\n `,\n})\nexport class HlmButton {\n /** Props as signal-based inputs */\n variant = input<VariantType>('primary');\n size = input<SizeType>('default');\n appearance = input<AppearanceType>('solid');\n loading = input<boolean>(false);\n icon = input<any | undefined>(undefined);\n iconPosition = input<'left' | 'right'>('left');\n userClass = input<ClassValue>('');\n spinnerUserClass = input<ClassValue>('');\n disabled = input<boolean>(false);\n type = input<'button' | 'submit' | 'reset'>('button');\n\n private readonly _additionalClasses = signal<ClassValue>('');\n\n /** Computed button class merging */\n protected readonly _computedClass = computed(() => {\n const outlineClasses =\n this.appearance() === 'outline' || this.appearance() === 'outline-filled'\n ? [this.getOutlineClasses(this.variant())]\n : [];\n\n if (this.appearance() === 'outline-filled') {\n outlineClasses.push(this.getOutlineFilledClasses(this.variant()));\n }\n\n return hlm(\n buttonVariants({\n variant: this.variant(),\n size: this.size(),\n appearance: this.appearance(),\n loading: this.loading(),\n className: this.userClass(),\n }),\n outlineClasses,\n this.loading() ? 'tw:pointer-events-none' : '',\n this._additionalClasses(),\n );\n });\n\n /** Computed spinner classes */\n protected readonly spinnerClass = computed(() => {\n const base =\n this.appearance() === 'outline' || this.appearance() === 'outline-filled'\n ? this.getOutlineSpinnerClasses(this.variant())\n : this.getSpinnerClasses(this.variant());\n\n return hlm(base, this.spinnerUserClass());\n });\n\n setClass(classes: string): void {\n this._additionalClasses.set(classes);\n }\n\n /** Helper functions */\n private getOutlineClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:border-primary tw:text-primary tw:shadow-sm tw:hover:bg-primary/10',\n secondary: 'tw:border-secondary tw:text-secondary tw:shadow-sm tw:hover:bg-secondary/10',\n success: 'tw:border-success tw:text-success tw:shadow-sm tw:hover:bg-success/10',\n warning: 'tw:border-warning tw:text-warning tw:shadow-sm tw:hover:bg-warning/10',\n danger: 'tw:border-danger tw:text-danger tw:shadow-sm tw:hover:bg-danger/10',\n info: 'tw:border-info tw:text-info tw:shadow-sm tw:hover:bg-info/10',\n light: 'tw:border-light tw:text-light-foreground tw:shadow-sm tw:hover:bg-light/10',\n dark: 'tw:border-dark tw:text-dark tw:shadow-sm tw:hover:bg-dark/10',\n accent: 'tw:border-accent tw:text-accent tw:shadow-sm tw:hover:bg-accent/10',\n destructive: 'tw:border-destructive tw:text-destructive tw:shadow-sm tw:hover:bg-destructive/10',\n muted: 'tw:border-muted tw:text-muted-foreground tw:shadow-sm tw:hover:bg-muted/10',\n link: 'tw:text-primary',\n ghost: 'tw:text-light-foreground',\n };\n return colors[variant];\n }\n\n private getOutlineFilledClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:hover:bg-primary tw:hover:text-primary-foreground',\n secondary: 'tw:hover:bg-secondary tw:hover:text-secondary-foreground',\n success: 'tw:hover:bg-success tw:hover:text-success-foreground',\n warning: 'tw:hover:bg-warning tw:hover:text-warning-foreground',\n danger: 'tw:hover:bg-danger tw:hover:text-danger-foreground',\n info: 'tw:hover:bg-info tw:hover:text-info-foreground',\n light: 'tw:hover:bg-light tw:hover:text-light-foreground',\n dark: 'tw:hover:bg-dark tw:hover:text-dark-foreground',\n accent: 'tw:hover:bg-accent tw:hover:text-accent-foreground',\n destructive: 'tw:hover:bg-destructive tw:hover:text-destructive-foreground',\n muted: 'tw:hover:bg-muted tw:hover:text-muted-foreground',\n link: 'tw:hover:underline',\n ghost: 'tw:hover:bg-light',\n };\n return colors[variant];\n }\n\n private getSpinnerClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:[&>svg]:text-primary-foreground',\n secondary: 'tw:[&>svg]:text-secondary-foreground',\n success: 'tw:[&>svg]:text-success-foreground',\n warning: 'tw:[&>svg]:text-warning-foreground',\n danger: 'tw:[&>svg]:text-danger-foreground',\n info: 'tw:[&>svg]:text-info-foreground',\n light: 'tw:[&>svg]:text-light-foreground',\n dark: 'tw:[&>svg]:text-dark-foreground',\n accent: 'tw:[&>svg]:text-accent-foreground',\n destructive: 'tw:[&>svg]:text-destructive-foreground',\n muted: 'tw:[&>svg]:text-muted-foreground',\n link: 'tw:[&>svg]:text-primary',\n ghost: 'tw:[&>svg]:text-light-foreground',\n };\n return colors[variant];\n }\n\n private getOutlineSpinnerClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:[&>svg]:text-primary',\n secondary: 'tw:[&>svg]:text-secondary',\n success: 'tw:[&>svg]:text-success',\n warning: 'tw:[&>svg]:text-warning',\n danger: 'tw:[&>svg]:text-danger',\n info: 'tw:[&>svg]:text-info',\n light: 'tw:[&>svg]:text-light',\n dark: 'tw:[&>svg]:text-dark',\n accent: 'tw:[&>svg]:text-accent',\n destructive: 'tw:[&>svg]:text-destructive',\n muted: 'tw:[&>svg]:text-muted-foreground',\n link: 'tw:[&>svg]:text-primary',\n ghost: 'tw:[&>svg]:text-light-foreground',\n };\n return colors[variant];\n }\n}\n","/*\n * Public API Surface of button\n */\n\nimport { NgModule } from '@angular/core';\nimport { HlmButton } from './lib/button';\nexport * from './lib/button';\n\nexport const HlmButtonImports = [HlmButton] as const;\n\n@NgModule({\n imports: [...HlmButtonImports],\n exports: [...HlmButtonImports],\n})\nexport class HlmButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"button.mjs","sources":["../../../projects/button/src/lib/button.ts","../../../projects/button/src/public-api.ts","../../../projects/button/src/button.ts"],"sourcesContent":["import { Component, computed, signal, input } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { BrnButton } from '@spartan-ng/brain/button';\nimport { HlmSpinner } from '@egose/shadcn-theme-ng/spinner';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { type ClassValue } from 'clsx';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\n\nexport const buttonVariants = cva(\n [\n 'tw:cursor-pointer',\n 'tw:active:translate-y-[0.5px]',\n 'tw:disabled:pointer-events-none',\n 'tw:disabled:opacity-50',\n 'tw:focus-visible:outline-none',\n 'tw:focus-visible:ring-1',\n 'tw:focus-visible:ring-ring',\n 'tw:font-medium',\n 'tw:gap-2',\n 'tw:inline-flex',\n 'tw:items-center',\n 'tw:justify-center',\n 'tw:rounded-sm',\n 'tw:text-sm',\n 'tw:transform',\n 'tw:transition',\n 'tw:transition-colors',\n 'tw:whitespace-nowrap',\n 'tw:[&_svg]:pointer-events-none',\n 'tw:[&_svg]:shrink-0',\n 'tw:[&_svg]:size-4',\n 'tw:no-underline',\n ],\n {\n variants: {\n variant: {\n primary:\n 'tw:border tw:border-primary tw:bg-primary tw:text-primary-foreground tw:shadow-sm tw:hover:bg-primary/90',\n secondary:\n 'tw:border tw:border-secondary tw:bg-secondary tw:text-secondary-foreground tw:shadow-sm tw:hover:bg-secondary/90',\n success:\n 'tw:border tw:border-success tw:bg-success tw:text-success-foreground tw:shadow-sm tw:hover:bg-success/90',\n warning:\n 'tw:border tw:border-warning tw:bg-warning tw:text-warning-foreground tw:shadow-sm tw:hover:bg-warning/90',\n danger: 'tw:border tw:border-danger tw:bg-danger tw:text-danger-foreground tw:shadow-sm tw:hover:bg-danger/90',\n info: 'tw:border tw:border-info tw:bg-info tw:text-info-foreground tw:shadow-sm tw:hover:bg-info/90',\n light: 'tw:border tw:border-light tw:bg-light tw:text-light-foreground tw:shadow-sm tw:hover:bg-light/90',\n dark: 'tw:border tw:border-dark tw:bg-dark tw:text-dark-foreground tw:shadow-sm tw:hover:bg-dark/90',\n accent: 'tw:border tw:border-accent tw:bg-accent tw:text-accent-foreground tw:shadow-sm tw:hover:bg-accent/90',\n destructive:\n 'tw:border tw:border-destructive tw:bg-destructive tw:text-destructive-foreground tw:shadow-sm tw:hover:bg-destructive/90',\n muted: 'tw:border tw:border-muted tw:bg-muted tw:text-muted-foreground tw:shadow-sm tw:hover:bg-muted/90',\n link: 'tw:text-primary tw:underline-offset-4 tw:hover:underline',\n ghost: 'tw:hover:bg-light tw:hover:text-light-foreground',\n },\n size: {\n xs: 'tw:h-7 tw:rounded-xs tw:px-2 tw:text-xs',\n sm: 'tw:h-8 tw:rounded-sm tw:px-3',\n default: 'tw:h-9 tw:px-4 tw:py-2',\n lg: 'tw:h-10 tw:rounded-sm tw:px-7 tw:text-base',\n icon: 'tw:h-9 tw:w-9',\n 'compact-xs': 'tw:h-6 tw:px-2 tw:py-1 tw:text-xs',\n 'compact-sm': 'tw:h-7 tw:px-2 tw:py-1',\n 'compact-default': 'tw:h-8 tw:px-2 tw:py-1',\n 'compact-lg': 'tw:h-9 tw:px-2 tw:py-1 tw:text-base',\n 'compact-icon': 'tw:h-8 tw:w-8',\n },\n appearance: {\n solid: '',\n outline: 'tw:bg-white tw:border',\n 'outline-filled': 'tw:bg-white tw:border',\n },\n loading: {\n true: 'tw:pointer-events-none',\n false: null,\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'default',\n appearance: 'solid',\n loading: false,\n },\n },\n);\n\nexport type ButtonVariants = VariantProps<typeof buttonVariants>;\nexport type VariantType = NonNullable<ButtonVariants['variant']>;\nexport type SizeType = NonNullable<ButtonVariants['size']>;\nexport type AppearanceType = NonNullable<ButtonVariants['appearance']>;\n\n@Component({\n selector: 'button[hlmButton], a[hlmButton]',\n standalone: true,\n imports: [BrnButton, HlmSpinner, NgTemplateOutlet],\n hostDirectives: [{ directive: BrnButton, inputs: ['disabled'] }],\n host: {\n '[class]': '_computedClass()',\n '[attr.aria-busy]': 'loading() || null',\n '[attr.disabled]': '(loading() || disabled()) ? true : null',\n '[attr.type]': 'type()',\n },\n template: `\n <ng-template #projected>\n <ng-content></ng-content>\n </ng-template>\n\n @if (loading()) {\n <div class=\"tw:relative tw:inline-flex tw:items-center\">\n <span class=\"tw:invisible\">\n <ng-container *ngTemplateOutlet=\"projected\" />\n </span>\n <span class=\"tw:absolute tw:inset-0 tw:flex tw:items-center tw:justify-center\">\n <hlm-spinner [spinnerClass]=\"spinnerClass()\" />\n </span>\n </div>\n } @else {\n <div class=\"tw:flex tw:items-center tw:gap-1\">\n @if (icon() && iconPosition() === 'left') {\n <ng-container *ngTemplateOutlet=\"icon()\" />\n }\n <ng-container *ngTemplateOutlet=\"projected\" />\n @if (icon() && iconPosition() === 'right') {\n <ng-container *ngTemplateOutlet=\"icon()\" />\n }\n </div>\n }\n `,\n})\nexport class HlmButton {\n /** Props as signal-based inputs */\n public readonly variant = input<VariantType>('primary');\n public readonly size = input<SizeType>('default');\n public readonly appearance = input<AppearanceType>('solid');\n public readonly loading = input<boolean>(false);\n public readonly icon = input<any | undefined>(undefined);\n public readonly iconPosition = input<'left' | 'right'>('left');\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n public readonly spinnerUserClass = input<ClassValue>('');\n public readonly disabled = input<boolean>(false);\n public readonly type = input<'button' | 'submit' | 'reset'>('button');\n private readonly _additionalClasses = signal<ClassValue>('');\n\n /** Computed button class merging */\n protected readonly _computedClass = computed(() => {\n const outlineClasses =\n this.appearance() === 'outline' || this.appearance() === 'outline-filled'\n ? [this.getOutlineClasses(this.variant())]\n : [];\n\n if (this.appearance() === 'outline-filled') {\n outlineClasses.push(this.getOutlineFilledClasses(this.variant()));\n }\n\n return hlm(\n buttonVariants({\n variant: this.variant(),\n size: this.size(),\n appearance: this.appearance(),\n loading: this.loading(),\n className: this.userClass(),\n }),\n outlineClasses,\n this.loading() ? 'tw:pointer-events-none' : '',\n this._additionalClasses(),\n );\n });\n\n /** Computed spinner classes */\n protected readonly spinnerClass = computed(() => {\n const base =\n this.appearance() === 'outline' || this.appearance() === 'outline-filled'\n ? this.getOutlineSpinnerClasses(this.variant())\n : this.getSpinnerClasses(this.variant());\n\n return hlm(base, this.spinnerUserClass());\n });\n\n setClass(classes: string): void {\n this._additionalClasses.set(classes);\n }\n\n /** Helper functions */\n private getOutlineClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:border-primary tw:text-primary tw:shadow-sm tw:hover:bg-primary/10',\n secondary: 'tw:border-secondary tw:text-secondary tw:shadow-sm tw:hover:bg-secondary/10',\n success: 'tw:border-success tw:text-success tw:shadow-sm tw:hover:bg-success/10',\n warning: 'tw:border-warning tw:text-warning tw:shadow-sm tw:hover:bg-warning/10',\n danger: 'tw:border-danger tw:text-danger tw:shadow-sm tw:hover:bg-danger/10',\n info: 'tw:border-info tw:text-info tw:shadow-sm tw:hover:bg-info/10',\n light: 'tw:border-light tw:text-light-foreground tw:shadow-sm tw:hover:bg-light/10',\n dark: 'tw:border-dark tw:text-dark tw:shadow-sm tw:hover:bg-dark/10',\n accent: 'tw:border-accent tw:text-accent tw:shadow-sm tw:hover:bg-accent/10',\n destructive: 'tw:border-destructive tw:text-destructive tw:shadow-sm tw:hover:bg-destructive/10',\n muted: 'tw:border-muted tw:text-muted-foreground tw:shadow-sm tw:hover:bg-muted/10',\n link: 'tw:text-primary',\n ghost: 'tw:text-light-foreground',\n };\n return colors[variant];\n }\n\n private getOutlineFilledClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:hover:bg-primary tw:hover:text-primary-foreground',\n secondary: 'tw:hover:bg-secondary tw:hover:text-secondary-foreground',\n success: 'tw:hover:bg-success tw:hover:text-success-foreground',\n warning: 'tw:hover:bg-warning tw:hover:text-warning-foreground',\n danger: 'tw:hover:bg-danger tw:hover:text-danger-foreground',\n info: 'tw:hover:bg-info tw:hover:text-info-foreground',\n light: 'tw:hover:bg-light tw:hover:text-light-foreground',\n dark: 'tw:hover:bg-dark tw:hover:text-dark-foreground',\n accent: 'tw:hover:bg-accent tw:hover:text-accent-foreground',\n destructive: 'tw:hover:bg-destructive tw:hover:text-destructive-foreground',\n muted: 'tw:hover:bg-muted tw:hover:text-muted-foreground',\n link: 'tw:hover:underline',\n ghost: 'tw:hover:bg-light',\n };\n return colors[variant];\n }\n\n private getSpinnerClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:[&>svg]:text-primary-foreground',\n secondary: 'tw:[&>svg]:text-secondary-foreground',\n success: 'tw:[&>svg]:text-success-foreground',\n warning: 'tw:[&>svg]:text-warning-foreground',\n danger: 'tw:[&>svg]:text-danger-foreground',\n info: 'tw:[&>svg]:text-info-foreground',\n light: 'tw:[&>svg]:text-light-foreground',\n dark: 'tw:[&>svg]:text-dark-foreground',\n accent: 'tw:[&>svg]:text-accent-foreground',\n destructive: 'tw:[&>svg]:text-destructive-foreground',\n muted: 'tw:[&>svg]:text-muted-foreground',\n link: 'tw:[&>svg]:text-primary',\n ghost: 'tw:[&>svg]:text-light-foreground',\n };\n return colors[variant];\n }\n\n private getOutlineSpinnerClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:[&>svg]:text-primary',\n secondary: 'tw:[&>svg]:text-secondary',\n success: 'tw:[&>svg]:text-success',\n warning: 'tw:[&>svg]:text-warning',\n danger: 'tw:[&>svg]:text-danger',\n info: 'tw:[&>svg]:text-info',\n light: 'tw:[&>svg]:text-light',\n dark: 'tw:[&>svg]:text-dark',\n accent: 'tw:[&>svg]:text-accent',\n destructive: 'tw:[&>svg]:text-destructive',\n muted: 'tw:[&>svg]:text-muted-foreground',\n link: 'tw:[&>svg]:text-primary',\n ghost: 'tw:[&>svg]:text-light-foreground',\n };\n return colors[variant];\n }\n}\n","/*\n * Public API Surface of button\n */\n\nimport { NgModule } from '@angular/core';\nimport { HlmButton } from './lib/button';\nexport * from './lib/button';\n\nexport const HlmButtonImports = [HlmButton] as const;\n\n@NgModule({\n imports: [...HlmButtonImports],\n exports: [...HlmButtonImports],\n})\nexport class HlmButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/button/index.d.ts
CHANGED
|
@@ -16,16 +16,16 @@ type SizeType = NonNullable<ButtonVariants['size']>;
|
|
|
16
16
|
type AppearanceType = NonNullable<ButtonVariants['appearance']>;
|
|
17
17
|
declare class HlmButton {
|
|
18
18
|
/** Props as signal-based inputs */
|
|
19
|
-
variant: _angular_core.InputSignal<VariantType>;
|
|
20
|
-
size: _angular_core.InputSignal<SizeType>;
|
|
21
|
-
appearance: _angular_core.InputSignal<AppearanceType>;
|
|
22
|
-
loading: _angular_core.InputSignal<boolean>;
|
|
23
|
-
icon: _angular_core.InputSignal<any>;
|
|
24
|
-
iconPosition: _angular_core.InputSignal<"left" | "right">;
|
|
25
|
-
userClass: _angular_core.InputSignal<ClassValue>;
|
|
26
|
-
spinnerUserClass: _angular_core.InputSignal<ClassValue>;
|
|
27
|
-
disabled: _angular_core.InputSignal<boolean>;
|
|
28
|
-
type: _angular_core.InputSignal<"button" | "submit" | "reset">;
|
|
19
|
+
readonly variant: _angular_core.InputSignal<VariantType>;
|
|
20
|
+
readonly size: _angular_core.InputSignal<SizeType>;
|
|
21
|
+
readonly appearance: _angular_core.InputSignal<AppearanceType>;
|
|
22
|
+
readonly loading: _angular_core.InputSignal<boolean>;
|
|
23
|
+
readonly icon: _angular_core.InputSignal<any>;
|
|
24
|
+
readonly iconPosition: _angular_core.InputSignal<"left" | "right">;
|
|
25
|
+
readonly userClass: _angular_core.InputSignal<ClassValue>;
|
|
26
|
+
readonly spinnerUserClass: _angular_core.InputSignal<ClassValue>;
|
|
27
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
28
|
+
readonly type: _angular_core.InputSignal<"button" | "submit" | "reset">;
|
|
29
29
|
private readonly _additionalClasses;
|
|
30
30
|
/** Computed button class merging */
|
|
31
31
|
protected readonly _computedClass: _angular_core.Signal<string>;
|
|
@@ -38,7 +38,7 @@ declare class HlmButton {
|
|
|
38
38
|
private getSpinnerClasses;
|
|
39
39
|
private getOutlineSpinnerClasses;
|
|
40
40
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmButton, never>;
|
|
41
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<HlmButton, "button[hlmButton], a[hlmButton]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconPosition": { "alias": "iconPosition"; "required": false; "isSignal": true; }; "userClass": { "alias": "
|
|
41
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<HlmButton, "button[hlmButton], a[hlmButton]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconPosition": { "alias": "iconPosition"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "spinnerUserClass": { "alias": "spinnerUserClass"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.BrnButton; inputs: { "disabled": "disabled"; }; outputs: {}; }]>;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
declare const HlmButtonImports: readonly [typeof HlmButton];
|
|
@@ -30,7 +30,7 @@ class EgConfirmationDiaglog {
|
|
|
30
30
|
<button hlmButton variant="secondary" appearance="outline" (click)="close(false)">Cancel</button>
|
|
31
31
|
<button hlmButton variant="danger" (click)="close(true)">Confirm</button>
|
|
32
32
|
</hlm-dialog-footer>
|
|
33
|
-
`, isInline: true, dependencies: [{ kind: "component", type: HlmButton, selector: "button[hlmButton], a[hlmButton]", inputs: ["variant", "size", "appearance", "loading", "icon", "iconPosition", "
|
|
33
|
+
`, isInline: true, dependencies: [{ kind: "component", type: HlmButton, selector: "button[hlmButton], a[hlmButton]", inputs: ["variant", "size", "appearance", "loading", "icon", "iconPosition", "class", "spinnerUserClass", "disabled", "type"] }, { kind: "directive", type: HlmDialogDescription, selector: "[hlmDialogDescription]", inputs: ["class"] }, { kind: "component", type: HlmDialogHeader, selector: "hlm-dialog-header", inputs: ["class"] }, { kind: "component", type: HlmDialogFooter, selector: "hlm-dialog-footer", inputs: ["class"] }, { kind: "directive", type: HlmDialogTitle, selector: "[hlmDialogTitle]", inputs: ["class"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmIcon, selector: "ng-icon[hlm]", inputs: ["size"] }] });
|
|
34
34
|
}
|
|
35
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: EgConfirmationDiaglog, decorators: [{
|
|
36
36
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirmation-dialog.mjs","sources":["../../../projects/confirmation-dialog/src/lib/confirmation-dialog.ts","../../../projects/confirmation-dialog/src/public-api.ts","../../../projects/confirmation-dialog/src/confirmation-dialog.ts"],"sourcesContent":["import { Component, inject, Injectable } from '@angular/core';\nimport { HlmButton } from '@egose/shadcn-theme-ng/button';\n\nimport {\n HlmDialog,\n HlmDialogDescription,\n HlmDialogContent,\n HlmDialogHeader,\n HlmDialogFooter,\n HlmDialogService,\n HlmDialogTitle,\n} from '@egose/shadcn-theme-ng/dialog';\nimport { BrnDialogRef, injectBrnDialogContext } from '@spartan-ng/brain/dialog';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideTriangleAlert } from '@ng-icons/lucide';\n\n@Component({\n imports: [HlmButton, HlmDialogDescription, HlmDialogHeader, HlmDialogFooter, HlmDialogTitle, NgIcon, HlmIcon],\n standalone: true,\n providers: [provideIcons({ lucideTriangleAlert })],\n template: `\n <hlm-dialog-header>\n <div class=\"tw:flex tw:items-center tw:gap-1\">\n <ng-icon hlm hlmAlertIcon name=\"lucideTriangleAlert\" size=\"base\" />\n <h3 hlmDialogTitle class=\"tw:text-xl\">{{ _title }}</h3>\n </div>\n <p hlmDialogDescription class=\"tw:text-base tw:text-gray-700\">{{ _description }}</p>\n </hlm-dialog-header>\n\n <hlm-dialog-footer class=\"tw:mt-4\">\n <button hlmButton variant=\"secondary\" appearance=\"outline\" (click)=\"close(false)\">Cancel</button>\n <button hlmButton variant=\"danger\" (click)=\"close(true)\">Confirm</button>\n </hlm-dialog-footer>\n `,\n host: {\n class: 'tw:w-full tw:p-1',\n },\n})\nexport class EgConfirmationDiaglog {\n private readonly _dialogRef = inject<BrnDialogRef<boolean>>(BrnDialogRef);\n private readonly _dialogContext = injectBrnDialogContext<{ title: string; description: string }>();\n\n protected readonly _title = this._dialogContext.title || 'Are you absolutely sure?';\n protected readonly _description = this._dialogContext.description || 'This action cannot be undone.';\n\n public close(confirm: boolean) {\n this._dialogRef.close(confirm);\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class EgConfirmationDialogService {\n constructor(private hlmDialogService: HlmDialogService) {}\n\n showConfirmationDialog({ title, description }: { title: string; description: string }) {\n return new Promise<boolean>((resolve) => {\n const dialogRef = this.hlmDialogService.open(EgConfirmationDiaglog, {\n context: { title, description },\n contentClass: '',\n });\n\n dialogRef.closed$.subscribe((confirm) => {\n resolve(confirm ?? false);\n });\n });\n }\n}\n","/*\n * Public API Surface of confirmation-dialog\n */\n\nexport * from './lib/confirmation-dialog';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;MAuCa,qBAAqB,CAAA;AACf,IAAA,UAAU,GAAG,MAAM,CAAwB,YAAY,CAAC;IACxD,cAAc,GAAG,sBAAsB,EAA0C;IAE/E,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,0BAA0B;IAChE,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,+BAA+B;AAE7F,IAAA,KAAK,CAAC,OAAgB,EAAA;AAC3B,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;IAChC;uGATW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,EAAA,SAAA,EAnBrB,CAAC,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EACxC;;;;;;;;;;;;;AAaT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAhBS,SAAS,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,YAAA,EAAA,SAAA,EAAA,MAAA,EAAA,cAAA,EAAA,
|
|
1
|
+
{"version":3,"file":"confirmation-dialog.mjs","sources":["../../../projects/confirmation-dialog/src/lib/confirmation-dialog.ts","../../../projects/confirmation-dialog/src/public-api.ts","../../../projects/confirmation-dialog/src/confirmation-dialog.ts"],"sourcesContent":["import { Component, inject, Injectable } from '@angular/core';\nimport { HlmButton } from '@egose/shadcn-theme-ng/button';\n\nimport {\n HlmDialog,\n HlmDialogDescription,\n HlmDialogContent,\n HlmDialogHeader,\n HlmDialogFooter,\n HlmDialogService,\n HlmDialogTitle,\n} from '@egose/shadcn-theme-ng/dialog';\nimport { BrnDialogRef, injectBrnDialogContext } from '@spartan-ng/brain/dialog';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideTriangleAlert } from '@ng-icons/lucide';\n\n@Component({\n imports: [HlmButton, HlmDialogDescription, HlmDialogHeader, HlmDialogFooter, HlmDialogTitle, NgIcon, HlmIcon],\n standalone: true,\n providers: [provideIcons({ lucideTriangleAlert })],\n template: `\n <hlm-dialog-header>\n <div class=\"tw:flex tw:items-center tw:gap-1\">\n <ng-icon hlm hlmAlertIcon name=\"lucideTriangleAlert\" size=\"base\" />\n <h3 hlmDialogTitle class=\"tw:text-xl\">{{ _title }}</h3>\n </div>\n <p hlmDialogDescription class=\"tw:text-base tw:text-gray-700\">{{ _description }}</p>\n </hlm-dialog-header>\n\n <hlm-dialog-footer class=\"tw:mt-4\">\n <button hlmButton variant=\"secondary\" appearance=\"outline\" (click)=\"close(false)\">Cancel</button>\n <button hlmButton variant=\"danger\" (click)=\"close(true)\">Confirm</button>\n </hlm-dialog-footer>\n `,\n host: {\n class: 'tw:w-full tw:p-1',\n },\n})\nexport class EgConfirmationDiaglog {\n private readonly _dialogRef = inject<BrnDialogRef<boolean>>(BrnDialogRef);\n private readonly _dialogContext = injectBrnDialogContext<{ title: string; description: string }>();\n\n protected readonly _title = this._dialogContext.title || 'Are you absolutely sure?';\n protected readonly _description = this._dialogContext.description || 'This action cannot be undone.';\n\n public close(confirm: boolean) {\n this._dialogRef.close(confirm);\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class EgConfirmationDialogService {\n constructor(private hlmDialogService: HlmDialogService) {}\n\n showConfirmationDialog({ title, description }: { title: string; description: string }) {\n return new Promise<boolean>((resolve) => {\n const dialogRef = this.hlmDialogService.open(EgConfirmationDiaglog, {\n context: { title, description },\n contentClass: '',\n });\n\n dialogRef.closed$.subscribe((confirm) => {\n resolve(confirm ?? false);\n });\n });\n }\n}\n","/*\n * Public API Surface of confirmation-dialog\n */\n\nexport * from './lib/confirmation-dialog';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { input, Component, viewChild, output, inject, signal, resource, ChangeDetectionStrategy, computed } from '@angular/core';
|
|
3
|
-
import { RouterLink
|
|
3
|
+
import { RouterLink } from '@angular/router';
|
|
4
4
|
import * as i1$1 from '@angular/cdk/layout';
|
|
5
5
|
import { Breakpoints } from '@angular/cdk/layout';
|
|
6
6
|
import { hlm } from '@egose/shadcn-theme-ng/utils';
|
|
@@ -17,6 +17,7 @@ import { HlmSpinner } from '@egose/shadcn-theme-ng/spinner';
|
|
|
17
17
|
|
|
18
18
|
class EgLayoutSimpleUserMenu {
|
|
19
19
|
menus = input([], ...(ngDevMode ? [{ debugName: "menus" }] : []));
|
|
20
|
+
hlm = hlm;
|
|
20
21
|
lucideUser = lucideUser;
|
|
21
22
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: EgLayoutSimpleUserMenu, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
22
23
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", type: EgLayoutSimpleUserMenu, isStandalone: true, selector: "eg-layout-simple-user-menu", inputs: { menus: { classPropertyName: "menus", publicName: "menus", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
@@ -25,7 +26,7 @@ class EgLayoutSimpleUserMenu {
|
|
|
25
26
|
}),
|
|
26
27
|
], ngImport: i0, template: `
|
|
27
28
|
<ng-template #iconTemplate>
|
|
28
|
-
<ng-icon [svg]="lucideUser" size="1.
|
|
29
|
+
<ng-icon [svg]="lucideUser" size="1.5rem" class="[&_svg]:w-[inherit]! [&_svg]:h-[inherit]!" />
|
|
29
30
|
</ng-template>
|
|
30
31
|
|
|
31
32
|
<div class="flex w-full items-center justify-center pt-[20%]">
|
|
@@ -36,7 +37,7 @@ class EgLayoutSimpleUserMenu {
|
|
|
36
37
|
align="end"
|
|
37
38
|
[brnMenuTriggerFor]="menu"
|
|
38
39
|
[icon]="iconTemplate"
|
|
39
|
-
class="rounded-full
|
|
40
|
+
class="rounded-full border border-gray-400"
|
|
40
41
|
></button>
|
|
41
42
|
</div>
|
|
42
43
|
|
|
@@ -50,16 +51,28 @@ class EgLayoutSimpleUserMenu {
|
|
|
50
51
|
<hlm-menu-group>
|
|
51
52
|
@for (item of section.items; track item) {
|
|
52
53
|
@if (item.link) {
|
|
53
|
-
<a hlmMenuItem [routerLink]="item.link" [class]="item.class
|
|
54
|
+
<a hlmMenuItem [routerLink]="item.link" [class]="hlm('cursor-pointer', item.class)">
|
|
54
55
|
@if (item.icon) {
|
|
55
|
-
<ng-icon
|
|
56
|
+
<ng-icon
|
|
57
|
+
[svg]="item.icon"
|
|
58
|
+
size="1rem"
|
|
59
|
+
[class]="
|
|
60
|
+
hlm('[_svg]:text-[inherit]! [_svg]:bg-[inherit]! cursor-pointer mr-2', item.class)
|
|
61
|
+
"
|
|
62
|
+
/>
|
|
56
63
|
}
|
|
57
64
|
<span>{{ item.label }}</span>
|
|
58
65
|
</a>
|
|
59
66
|
} @else {
|
|
60
|
-
<button hlmMenuItem (click)="item.action?.()" [class]="item.class
|
|
67
|
+
<button hlmMenuItem (click)="item.action?.()" [class]="hlm('cursor-pointer', item.class)">
|
|
61
68
|
@if (item.icon) {
|
|
62
|
-
<ng-icon
|
|
69
|
+
<ng-icon
|
|
70
|
+
[svg]="item.icon"
|
|
71
|
+
size="1rem"
|
|
72
|
+
[class]="
|
|
73
|
+
hlm('[_svg]:text-[inherit]! [_svg]:bg-[inherit]! cursor-pointer mr-2', item.class)
|
|
74
|
+
"
|
|
75
|
+
/>
|
|
63
76
|
}
|
|
64
77
|
<span>{{ item.label }}</span>
|
|
65
78
|
</button>
|
|
@@ -73,7 +86,7 @@ class EgLayoutSimpleUserMenu {
|
|
|
73
86
|
}
|
|
74
87
|
</hlm-menu>
|
|
75
88
|
</ng-template>
|
|
76
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: BrnMenuTrigger, selector: "[brnMenuTriggerFor]", inputs: ["align"] }, { kind: "component", type: HlmMenu, selector: "hlm-menu", inputs: ["class", "variant"] }, { kind: "directive", type: HlmMenuItem, selector: "[hlmMenuItem]", inputs: ["variant", "inset", "class"] }, { kind: "component", type: HlmMenuLabel, selector: "hlm-menu-label", inputs: ["inset", "class"] }, { kind: "component", type: HlmMenuSeparator, selector: "hlm-menu-separator", inputs: ["class"] }, { kind: "component", type: HlmMenuGroup, selector: "hlm-menu-group" }, { kind: "component", type: HlmButton, selector: "button[hlmButton], a[hlmButton]", inputs: ["variant", "size", "appearance", "loading", "icon", "iconPosition", "
|
|
89
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: BrnMenuTrigger, selector: "[brnMenuTriggerFor]", inputs: ["align"] }, { kind: "component", type: HlmMenu, selector: "hlm-menu", inputs: ["class", "variant"] }, { kind: "directive", type: HlmMenuItem, selector: "[hlmMenuItem]", inputs: ["variant", "inset", "class"] }, { kind: "component", type: HlmMenuLabel, selector: "hlm-menu-label", inputs: ["inset", "class"] }, { kind: "component", type: HlmMenuSeparator, selector: "hlm-menu-separator", inputs: ["class"] }, { kind: "component", type: HlmMenuGroup, selector: "hlm-menu-group" }, { kind: "component", type: HlmButton, selector: "button[hlmButton], a[hlmButton]", inputs: ["variant", "size", "appearance", "loading", "icon", "iconPosition", "class", "spinnerUserClass", "disabled", "type"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
|
|
77
90
|
}
|
|
78
91
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: EgLayoutSimpleUserMenu, decorators: [{
|
|
79
92
|
type: Component,
|
|
@@ -97,7 +110,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
97
110
|
],
|
|
98
111
|
template: `
|
|
99
112
|
<ng-template #iconTemplate>
|
|
100
|
-
<ng-icon [svg]="lucideUser" size="1.
|
|
113
|
+
<ng-icon [svg]="lucideUser" size="1.5rem" class="[&_svg]:w-[inherit]! [&_svg]:h-[inherit]!" />
|
|
101
114
|
</ng-template>
|
|
102
115
|
|
|
103
116
|
<div class="flex w-full items-center justify-center pt-[20%]">
|
|
@@ -108,7 +121,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
108
121
|
align="end"
|
|
109
122
|
[brnMenuTriggerFor]="menu"
|
|
110
123
|
[icon]="iconTemplate"
|
|
111
|
-
class="rounded-full
|
|
124
|
+
class="rounded-full border border-gray-400"
|
|
112
125
|
></button>
|
|
113
126
|
</div>
|
|
114
127
|
|
|
@@ -122,16 +135,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
122
135
|
<hlm-menu-group>
|
|
123
136
|
@for (item of section.items; track item) {
|
|
124
137
|
@if (item.link) {
|
|
125
|
-
<a hlmMenuItem [routerLink]="item.link" [class]="item.class
|
|
138
|
+
<a hlmMenuItem [routerLink]="item.link" [class]="hlm('cursor-pointer', item.class)">
|
|
126
139
|
@if (item.icon) {
|
|
127
|
-
<ng-icon
|
|
140
|
+
<ng-icon
|
|
141
|
+
[svg]="item.icon"
|
|
142
|
+
size="1rem"
|
|
143
|
+
[class]="
|
|
144
|
+
hlm('[_svg]:text-[inherit]! [_svg]:bg-[inherit]! cursor-pointer mr-2', item.class)
|
|
145
|
+
"
|
|
146
|
+
/>
|
|
128
147
|
}
|
|
129
148
|
<span>{{ item.label }}</span>
|
|
130
149
|
</a>
|
|
131
150
|
} @else {
|
|
132
|
-
<button hlmMenuItem (click)="item.action?.()" [class]="item.class
|
|
151
|
+
<button hlmMenuItem (click)="item.action?.()" [class]="hlm('cursor-pointer', item.class)">
|
|
133
152
|
@if (item.icon) {
|
|
134
|
-
<ng-icon
|
|
153
|
+
<ng-icon
|
|
154
|
+
[svg]="item.icon"
|
|
155
|
+
size="1rem"
|
|
156
|
+
[class]="
|
|
157
|
+
hlm('[_svg]:text-[inherit]! [_svg]:bg-[inherit]! cursor-pointer mr-2', item.class)
|
|
158
|
+
"
|
|
159
|
+
/>
|
|
135
160
|
}
|
|
136
161
|
<span>{{ item.label }}</span>
|
|
137
162
|
</button>
|
|
@@ -200,7 +225,7 @@ class EgGenericAutocomplete {
|
|
|
200
225
|
formControlName="option"
|
|
201
226
|
class="bg-white"
|
|
202
227
|
>
|
|
203
|
-
<hlm-spinner loading
|
|
228
|
+
<hlm-spinner loading />
|
|
204
229
|
</hlm-autocomplete>
|
|
205
230
|
</form>
|
|
206
231
|
<ng-template #defaultOption let-option>
|
|
@@ -233,7 +258,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
233
258
|
formControlName="option"
|
|
234
259
|
class="bg-white"
|
|
235
260
|
>
|
|
236
|
-
<hlm-spinner loading
|
|
261
|
+
<hlm-spinner loading />
|
|
237
262
|
</hlm-autocomplete>
|
|
238
263
|
</form>
|
|
239
264
|
<ng-template #defaultOption let-option>
|
|
@@ -252,15 +277,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
252
277
|
}]
|
|
253
278
|
}] });
|
|
254
279
|
|
|
280
|
+
const commonLinkGroupClasses = 'hidden md:flex space-x-4 items-center';
|
|
281
|
+
const commonLinkClasses = 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline';
|
|
255
282
|
class EgLayoutSimple {
|
|
256
283
|
breakpointObserver;
|
|
284
|
+
hlm = hlm;
|
|
257
285
|
/** Menu data inputs */
|
|
258
286
|
leftMenus = input([], ...(ngDevMode ? [{ debugName: "leftMenus" }] : []));
|
|
259
287
|
rightMenus = input([], ...(ngDevMode ? [{ debugName: "rightMenus" }] : []));
|
|
260
288
|
userMenus = input([], ...(ngDevMode ? [{ debugName: "userMenus" }] : []));
|
|
261
289
|
logo = input('assets/logo.png', ...(ngDevMode ? [{ debugName: "logo" }] : []));
|
|
262
290
|
logoLink = input('/', ...(ngDevMode ? [{ debugName: "logoLink" }] : []));
|
|
263
|
-
|
|
291
|
+
logoClass = input('', ...(ngDevMode ? [{ debugName: "logoClass", alias: 'logoClass' }] : [{ alias: 'logoClass' }]));
|
|
292
|
+
headerClass = input('', ...(ngDevMode ? [{ debugName: "headerClass", alias: 'headerClass' }] : [{ alias: 'headerClass' }]));
|
|
293
|
+
contentClass = input('', ...(ngDevMode ? [{ debugName: "contentClass", alias: 'contentClass' }] : [{ alias: 'contentClass' }]));
|
|
264
294
|
/** Container class inputs */
|
|
265
295
|
leftMenuClass = input('', ...(ngDevMode ? [{ debugName: "leftMenuClass", alias: 'leftClass' }] : [{ alias: 'leftClass' }]));
|
|
266
296
|
rightMenuClass = input('', ...(ngDevMode ? [{ debugName: "rightMenuClass", alias: 'rightClass' }] : [{ alias: 'rightClass' }]));
|
|
@@ -274,12 +304,25 @@ class EgLayoutSimple {
|
|
|
274
304
|
searchLoaderFn = input(...(ngDevMode ? [undefined, { debugName: "searchLoaderFn" }] : []));
|
|
275
305
|
searchTransformValueToSearch = input(...(ngDevMode ? [undefined, { debugName: "searchTransformValueToSearch" }] : []));
|
|
276
306
|
searchOptionChange = output();
|
|
307
|
+
_logoClass = computed(() => hlm('h-10', this.logoClass()), ...(ngDevMode ? [{ debugName: "_logoClass" }] : []));
|
|
308
|
+
_headerClass = computed(() => hlm('px-4 py-2 flex items-center justify-between bg-gray-100 border-b border-gray-300', this.headerClass()), ...(ngDevMode ? [{ debugName: "_headerClass" }] : []));
|
|
309
|
+
_contentClass = computed(() => hlm('p-4', this.contentClass()), ...(ngDevMode ? [{ debugName: "_contentClass" }] : []));
|
|
277
310
|
/** Computed merged classes for containers */
|
|
278
|
-
_computedLeftClass = computed(() => hlm(
|
|
279
|
-
_computedRightClass = computed(() => hlm(
|
|
311
|
+
_computedLeftClass = computed(() => hlm(commonLinkGroupClasses, this.leftMenuClass()), ...(ngDevMode ? [{ debugName: "_computedLeftClass" }] : []));
|
|
312
|
+
_computedRightClass = computed(() => hlm(commonLinkGroupClasses, this.rightMenuClass()), ...(ngDevMode ? [{ debugName: "_computedRightClass" }] : []));
|
|
280
313
|
/** Computed merged classes for link/button elements */
|
|
281
|
-
_computedLeftLinkClass = computed(() => hlm(
|
|
282
|
-
_computedRightLinkClass = computed(() => hlm(
|
|
314
|
+
_computedLeftLinkClass = computed(() => hlm(commonLinkClasses, this.leftLinkClass()), ...(ngDevMode ? [{ debugName: "_computedLeftLinkClass" }] : []));
|
|
315
|
+
_computedRightLinkClass = computed(() => hlm(commonLinkClasses, this.rightLinkClass()), ...(ngDevMode ? [{ debugName: "_computedRightLinkClass" }] : []));
|
|
316
|
+
mobileMenuItemClass = commonLinkClasses;
|
|
317
|
+
footerEnabled = input(false, ...(ngDevMode ? [{ debugName: "footerEnabled" }] : []));
|
|
318
|
+
footerMenus = input([], ...(ngDevMode ? [{ debugName: "footerMenus" }] : []));
|
|
319
|
+
footerMenuClass = input('', ...(ngDevMode ? [{ debugName: "footerMenuClass", alias: 'footerMenuClass' }] : [{ alias: 'footerMenuClass' }]));
|
|
320
|
+
footerLinkClass = input('', ...(ngDevMode ? [{ debugName: "footerLinkClass", alias: 'footerLinkClass' }] : [{ alias: 'footerLinkClass' }]));
|
|
321
|
+
footerContent = input('© 2024 My Company', ...(ngDevMode ? [{ debugName: "footerContent" }] : []));
|
|
322
|
+
footerClass = input('', ...(ngDevMode ? [{ debugName: "footerClass", alias: 'footerClass' }] : [{ alias: 'footerClass' }]));
|
|
323
|
+
_footerClass = computed(() => hlm('px-4 py-4 bg-gray-100 border-t border-gray-300 text-sm text-gray-600', this.footerClass()), ...(ngDevMode ? [{ debugName: "_footerClass" }] : []));
|
|
324
|
+
_computedFooterMenuClass = computed(() => hlm('flex flex-wrap justify-center space-x-4', this.footerMenuClass()), ...(ngDevMode ? [{ debugName: "_computedFooterMenuClass" }] : []));
|
|
325
|
+
_computedFooterLinkClass = computed(() => hlm('text-secondary hover:text-primary cursor-pointer no-underline', this.footerLinkClass()), ...(ngDevMode ? [{ debugName: "_computedFooterLinkClass" }] : []));
|
|
283
326
|
/** Mobile menu state */
|
|
284
327
|
mobileMenuOpen = false;
|
|
285
328
|
isMobile = signal(false, ...(ngDevMode ? [{ debugName: "isMobile" }] : []));
|
|
@@ -296,11 +339,11 @@ class EgLayoutSimple {
|
|
|
296
339
|
this.searchOptionChange.emit(value);
|
|
297
340
|
}
|
|
298
341
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: EgLayoutSimple, deps: [{ token: i1$1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
|
|
299
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", type: EgLayoutSimple, isStandalone: true, selector: "eg-layout-simple", inputs: { leftMenus: { classPropertyName: "leftMenus", publicName: "leftMenus", isSignal: true, isRequired: false, transformFunction: null }, rightMenus: { classPropertyName: "rightMenus", publicName: "rightMenus", isSignal: true, isRequired: false, transformFunction: null }, userMenus: { classPropertyName: "userMenus", publicName: "userMenus", isSignal: true, isRequired: false, transformFunction: null }, logo: { classPropertyName: "logo", publicName: "logo", isSignal: true, isRequired: false, transformFunction: null }, logoLink: { classPropertyName: "logoLink", publicName: "logoLink", isSignal: true, isRequired: false, transformFunction: null }, leftMenuClass: { classPropertyName: "leftMenuClass", publicName: "leftClass", isSignal: true, isRequired: false, transformFunction: null }, rightMenuClass: { classPropertyName: "rightMenuClass", publicName: "rightClass", isSignal: true, isRequired: false, transformFunction: null }, leftLinkClass: { classPropertyName: "leftLinkClass", publicName: "leftLinkClass", isSignal: true, isRequired: false, transformFunction: null }, rightLinkClass: { classPropertyName: "rightLinkClass", publicName: "rightLinkClass", isSignal: true, isRequired: false, transformFunction: null }, searchEnabled: { classPropertyName: "searchEnabled", publicName: "searchEnabled", isSignal: true, isRequired: false, transformFunction: null }, searchPlaceholderText: { classPropertyName: "searchPlaceholderText", publicName: "searchPlaceholderText", isSignal: true, isRequired: false, transformFunction: null }, searchEmptyText: { classPropertyName: "searchEmptyText", publicName: "searchEmptyText", isSignal: true, isRequired: false, transformFunction: null }, searchOptionTemplate: { classPropertyName: "searchOptionTemplate", publicName: "searchOptionTemplate", isSignal: true, isRequired: false, transformFunction: null }, searchLoaderFn: { classPropertyName: "searchLoaderFn", publicName: "searchLoaderFn", isSignal: true, isRequired: false, transformFunction: null }, searchTransformValueToSearch: { classPropertyName: "searchTransformValueToSearch", publicName: "searchTransformValueToSearch", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchOptionChange: "searchOptionChange" }, ngImport: i0, template: "<div class=\"flex flex-col min-h-screen\">\n <!-- Header -->\n <header
|
|
342
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", type: EgLayoutSimple, isStandalone: true, selector: "eg-layout-simple", inputs: { leftMenus: { classPropertyName: "leftMenus", publicName: "leftMenus", isSignal: true, isRequired: false, transformFunction: null }, rightMenus: { classPropertyName: "rightMenus", publicName: "rightMenus", isSignal: true, isRequired: false, transformFunction: null }, userMenus: { classPropertyName: "userMenus", publicName: "userMenus", isSignal: true, isRequired: false, transformFunction: null }, logo: { classPropertyName: "logo", publicName: "logo", isSignal: true, isRequired: false, transformFunction: null }, logoLink: { classPropertyName: "logoLink", publicName: "logoLink", isSignal: true, isRequired: false, transformFunction: null }, logoClass: { classPropertyName: "logoClass", publicName: "logoClass", isSignal: true, isRequired: false, transformFunction: null }, headerClass: { classPropertyName: "headerClass", publicName: "headerClass", isSignal: true, isRequired: false, transformFunction: null }, contentClass: { classPropertyName: "contentClass", publicName: "contentClass", isSignal: true, isRequired: false, transformFunction: null }, leftMenuClass: { classPropertyName: "leftMenuClass", publicName: "leftClass", isSignal: true, isRequired: false, transformFunction: null }, rightMenuClass: { classPropertyName: "rightMenuClass", publicName: "rightClass", isSignal: true, isRequired: false, transformFunction: null }, leftLinkClass: { classPropertyName: "leftLinkClass", publicName: "leftLinkClass", isSignal: true, isRequired: false, transformFunction: null }, rightLinkClass: { classPropertyName: "rightLinkClass", publicName: "rightLinkClass", isSignal: true, isRequired: false, transformFunction: null }, searchEnabled: { classPropertyName: "searchEnabled", publicName: "searchEnabled", isSignal: true, isRequired: false, transformFunction: null }, searchPlaceholderText: { classPropertyName: "searchPlaceholderText", publicName: "searchPlaceholderText", isSignal: true, isRequired: false, transformFunction: null }, searchEmptyText: { classPropertyName: "searchEmptyText", publicName: "searchEmptyText", isSignal: true, isRequired: false, transformFunction: null }, searchOptionTemplate: { classPropertyName: "searchOptionTemplate", publicName: "searchOptionTemplate", isSignal: true, isRequired: false, transformFunction: null }, searchLoaderFn: { classPropertyName: "searchLoaderFn", publicName: "searchLoaderFn", isSignal: true, isRequired: false, transformFunction: null }, searchTransformValueToSearch: { classPropertyName: "searchTransformValueToSearch", publicName: "searchTransformValueToSearch", isSignal: true, isRequired: false, transformFunction: null }, footerEnabled: { classPropertyName: "footerEnabled", publicName: "footerEnabled", isSignal: true, isRequired: false, transformFunction: null }, footerMenus: { classPropertyName: "footerMenus", publicName: "footerMenus", isSignal: true, isRequired: false, transformFunction: null }, footerMenuClass: { classPropertyName: "footerMenuClass", publicName: "footerMenuClass", isSignal: true, isRequired: false, transformFunction: null }, footerLinkClass: { classPropertyName: "footerLinkClass", publicName: "footerLinkClass", isSignal: true, isRequired: false, transformFunction: null }, footerContent: { classPropertyName: "footerContent", publicName: "footerContent", isSignal: true, isRequired: false, transformFunction: null }, footerClass: { classPropertyName: "footerClass", publicName: "footerClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchOptionChange: "searchOptionChange" }, ngImport: i0, template: "<div class=\"flex flex-col min-h-screen\">\n <!-- Header -->\n <header [class]=\"_headerClass()\">\n <!-- Left side: Logo + Left menus -->\n <div class=\"flex items-center space-x-6\">\n <div class=\"logo\">\n <a [routerLink]=\"logoLink()\">\n <img [src]=\"logo()\" alt=\"Logo\" [class]=\"_logoClass()\" />\n </a>\n </div>\n <!-- Left menus (desktop) -->\n <nav [class]=\"_computedLeftClass()\">\n @for (item of leftMenus(); track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"hlm(_computedLeftLinkClass(), item.class || '')\"> {{ item.label }} </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"hlm(_computedLeftLinkClass(), item.class || '')\">\n {{ item.label }}\n </button>\n }\n }\n </nav>\n </div>\n\n <!-- Right menus (desktop) -->\n <nav [class]=\"_computedRightClass()\">\n @if (searchEnabled()) {\n <eg-generic-autocomplete\n [optionTemplate]=\"searchOptionTemplate()\"\n [loaderFn]=\"searchLoaderFn()\"\n [transformValueToSearch]=\"searchTransformValueToSearch()\"\n [placeholderText]=\"searchPlaceholderText()\"\n [emptyText]=\"searchEmptyText()\"\n (optionChange)=\"onSearchOptionChange($event)\"\n ></eg-generic-autocomplete>\n }\n\n @for (item of rightMenus(); track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"hlm(_computedRightLinkClass(), item.class || '')\"> {{ item.label }} </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"hlm(_computedRightLinkClass(), item.class || '')\">\n {{ item.label }}\n </button>\n }\n }\n\n @let uMenus = userMenus();\n @if (uMenus && uMenus.length > 0) {\n <eg-layout-simple-user-menu [menus]=\"uMenus\"></eg-layout-simple-user-menu>\n }\n </nav>\n\n <!-- Mobile menu button -->\n <button\n (click)=\"toggleMobileMenu()\"\n class=\"md:hidden p-2 text-gray-700 hover:text-primary focus:outline-none cursor-pointer\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"h-6 w-6\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 6h16M4 12h16M4 18h16\" />\n </svg>\n </button>\n </header>\n\n <!-- Mobile menu -->\n @if (isMobile() && mobileMenuOpen) {\n <div class=\"bg-gray-100 border-b border-gray-300 px-4 py-2\">\n <nav class=\"flex flex-col space-y-2\">\n <!-- Left menus -->\n @for (item of leftMenus(); track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"mobileMenuItemClass\">\n {{ item.label }}\n </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"mobileMenuItemClass\">\n {{ item.label }}\n </button>\n }\n }\n\n <!-- Right menus -->\n @for (item of rightMenus(); track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"mobileMenuItemClass\">\n {{ item.label }}\n </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"mobileMenuItemClass\">\n {{ item.label }}\n </button>\n }\n }\n\n <!-- User menus (flattened for mobile) -->\n @for (section of userMenus(); track section.label) {\n @if (section.label) {\n <div class=\"font-bold mt-2\">{{ section.label }}</div>\n }\n @if (section.items?.length) {\n @for (item of section.items; track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"mobileMenuItemClass\">\n {{ item.label }}\n </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"mobileMenuItemClass\">\n {{ item.label }}\n </button>\n }\n }\n }\n @if (section.separator) {\n <hr class=\"border-gray-300 my-2\" />\n }\n }\n </nav>\n </div>\n }\n\n <!-- Main content -->\n <main [class]=\"_contentClass()\">\n <ng-content />\n </main>\n\n @if (footerEnabled()) {\n <footer [class]=\"_footerClass()\">\n <nav [class]=\"_computedFooterMenuClass()\">\n @for (item of footerMenus(); track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"hlm(_computedFooterLinkClass(), item.class || '')\">\n {{ item.label }}\n </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"hlm(_computedFooterLinkClass(), item.class || '')\">\n {{ item.label }}\n </button>\n }\n }\n </nav>\n\n <div class=\"mt-2 text-center\">\n {{ footerContent() }}\n </div>\n </footer>\n }\n</div>\n", dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: EgLayoutSimpleUserMenu, selector: "eg-layout-simple-user-menu", inputs: ["menus"] }, { kind: "component", type: EgGenericAutocomplete, selector: "eg-generic-autocomplete", inputs: ["controlId", "placeholderText", "emptyText", "optionTemplate", "loaderFn", "transformValueToSearch"], outputs: ["optionChange"] }] });
|
|
300
343
|
}
|
|
301
344
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: EgLayoutSimple, decorators: [{
|
|
302
345
|
type: Component,
|
|
303
|
-
args: [{ selector: 'eg-layout-simple', standalone: true, imports: [
|
|
346
|
+
args: [{ selector: 'eg-layout-simple', standalone: true, imports: [RouterLink, EgLayoutSimpleUserMenu, EgGenericAutocomplete], template: "<div class=\"flex flex-col min-h-screen\">\n <!-- Header -->\n <header [class]=\"_headerClass()\">\n <!-- Left side: Logo + Left menus -->\n <div class=\"flex items-center space-x-6\">\n <div class=\"logo\">\n <a [routerLink]=\"logoLink()\">\n <img [src]=\"logo()\" alt=\"Logo\" [class]=\"_logoClass()\" />\n </a>\n </div>\n <!-- Left menus (desktop) -->\n <nav [class]=\"_computedLeftClass()\">\n @for (item of leftMenus(); track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"hlm(_computedLeftLinkClass(), item.class || '')\"> {{ item.label }} </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"hlm(_computedLeftLinkClass(), item.class || '')\">\n {{ item.label }}\n </button>\n }\n }\n </nav>\n </div>\n\n <!-- Right menus (desktop) -->\n <nav [class]=\"_computedRightClass()\">\n @if (searchEnabled()) {\n <eg-generic-autocomplete\n [optionTemplate]=\"searchOptionTemplate()\"\n [loaderFn]=\"searchLoaderFn()\"\n [transformValueToSearch]=\"searchTransformValueToSearch()\"\n [placeholderText]=\"searchPlaceholderText()\"\n [emptyText]=\"searchEmptyText()\"\n (optionChange)=\"onSearchOptionChange($event)\"\n ></eg-generic-autocomplete>\n }\n\n @for (item of rightMenus(); track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"hlm(_computedRightLinkClass(), item.class || '')\"> {{ item.label }} </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"hlm(_computedRightLinkClass(), item.class || '')\">\n {{ item.label }}\n </button>\n }\n }\n\n @let uMenus = userMenus();\n @if (uMenus && uMenus.length > 0) {\n <eg-layout-simple-user-menu [menus]=\"uMenus\"></eg-layout-simple-user-menu>\n }\n </nav>\n\n <!-- Mobile menu button -->\n <button\n (click)=\"toggleMobileMenu()\"\n class=\"md:hidden p-2 text-gray-700 hover:text-primary focus:outline-none cursor-pointer\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"h-6 w-6\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 6h16M4 12h16M4 18h16\" />\n </svg>\n </button>\n </header>\n\n <!-- Mobile menu -->\n @if (isMobile() && mobileMenuOpen) {\n <div class=\"bg-gray-100 border-b border-gray-300 px-4 py-2\">\n <nav class=\"flex flex-col space-y-2\">\n <!-- Left menus -->\n @for (item of leftMenus(); track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"mobileMenuItemClass\">\n {{ item.label }}\n </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"mobileMenuItemClass\">\n {{ item.label }}\n </button>\n }\n }\n\n <!-- Right menus -->\n @for (item of rightMenus(); track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"mobileMenuItemClass\">\n {{ item.label }}\n </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"mobileMenuItemClass\">\n {{ item.label }}\n </button>\n }\n }\n\n <!-- User menus (flattened for mobile) -->\n @for (section of userMenus(); track section.label) {\n @if (section.label) {\n <div class=\"font-bold mt-2\">{{ section.label }}</div>\n }\n @if (section.items?.length) {\n @for (item of section.items; track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"mobileMenuItemClass\">\n {{ item.label }}\n </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"mobileMenuItemClass\">\n {{ item.label }}\n </button>\n }\n }\n }\n @if (section.separator) {\n <hr class=\"border-gray-300 my-2\" />\n }\n }\n </nav>\n </div>\n }\n\n <!-- Main content -->\n <main [class]=\"_contentClass()\">\n <ng-content />\n </main>\n\n @if (footerEnabled()) {\n <footer [class]=\"_footerClass()\">\n <nav [class]=\"_computedFooterMenuClass()\">\n @for (item of footerMenus(); track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"hlm(_computedFooterLinkClass(), item.class || '')\">\n {{ item.label }}\n </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"hlm(_computedFooterLinkClass(), item.class || '')\">\n {{ item.label }}\n </button>\n }\n }\n </nav>\n\n <div class=\"mt-2 text-center\">\n {{ footerContent() }}\n </div>\n </footer>\n }\n</div>\n" }]
|
|
304
347
|
}], ctorParameters: () => [{ type: i1$1.BreakpointObserver }] });
|
|
305
348
|
|
|
306
349
|
/*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-simple.mjs","sources":["../../../projects/layout-simple/src/lib/user-menu.ts","../../../projects/layout-simple/src/lib/search.ts","../../../projects/layout-simple/src/lib/layout.ts","../../../projects/layout-simple/src/lib/layout.html","../../../projects/layout-simple/src/public-api.ts","../../../projects/layout-simple/src/layout-simple.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\nimport { provideIcons } from '@ng-icons/core';\nimport { lucideUser } from '@ng-icons/lucide';\nimport { RouterLink } from '@angular/router';\nimport { BrnMenuTrigger } from '@spartan-ng/brain/menu';\nimport { HlmButton } from '@egose/shadcn-theme-ng/button';\nimport { HlmMenu, HlmMenuGroup, HlmMenuItem, HlmMenuLabel, HlmMenuSeparator } from '@egose/shadcn-theme-ng/menu';\nimport { NgIcon } from '@ng-icons/core';\n\n// Interface for menu items\nexport interface UserMenuItem {\n label: string;\n icon?: any;\n action?: () => void;\n link?: string;\n class?: string;\n}\n\n// Interface for menu sections\nexport interface UserMenuSection {\n label?: string;\n separator?: boolean;\n items?: UserMenuItem[];\n}\n\n@Component({\n selector: 'eg-layout-simple-user-menu',\n imports: [\n BrnMenuTrigger,\n HlmMenu,\n HlmMenuItem,\n HlmMenuLabel,\n HlmMenuSeparator,\n HlmMenuGroup,\n HlmButton,\n NgIcon,\n RouterLink,\n ],\n providers: [\n provideIcons({\n lucideUser,\n }),\n ],\n template: `\n <ng-template #iconTemplate>\n <ng-icon [svg]=\"lucideUser\" size=\"1.5em\" />\n </ng-template>\n\n <div class=\"tw:flex tw:w-full tw:items-center tw:justify-center tw:pt-[20%]\">\n <button\n hlmButton\n variant=\"primary\"\n size=\"icon\"\n align=\"end\"\n [brnMenuTriggerFor]=\"menu\"\n [icon]=\"iconTemplate\"\n class=\"tw:rounded-full! tw:border! tw:border-gray-400!\"\n ></button>\n </div>\n\n <ng-template #menu>\n <hlm-menu class=\"tw:w-56\">\n @for (section of menus(); track section) {\n @if (section.label) {\n <hlm-menu-label>{{ section.label }}</hlm-menu-label>\n }\n @if (section.items?.length) {\n <hlm-menu-group>\n @for (item of section.items; track item) {\n @if (item.link) {\n <a hlmMenuItem [routerLink]=\"item.link\" [class]=\"item.class || ''\">\n @if (item.icon) {\n <ng-icon [svg]=\"item.icon\" size=\"1em\" class=\"tw:mr-2\" />\n }\n <span>{{ item.label }}</span>\n </a>\n } @else {\n <button hlmMenuItem (click)=\"item.action?.()\" [class]=\"item.class || ''\">\n @if (item.icon) {\n <ng-icon [svg]=\"item.icon\" size=\"1em\" class=\"tw:mr-2\" />\n }\n <span>{{ item.label }}</span>\n </button>\n }\n }\n </hlm-menu-group>\n }\n @if (section.separator) {\n <hlm-menu-separator />\n }\n }\n </hlm-menu>\n </ng-template>\n `,\n})\nexport class EgLayoutSimpleUserMenu {\n menus = input<UserMenuSection[]>([]);\n\n lucideUser = lucideUser;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n signal,\n input,\n output,\n viewChild,\n inject,\n resource,\n} from '@angular/core';\nimport { FormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';\nimport {\n HlmAutocompleteImports,\n provideHlmAutocompleteConfig,\n HlmAutocompleteOption,\n} from '@egose/shadcn-theme-ng/autocomplete';\nimport { HlmSpinner } from '@egose/shadcn-theme-ng/spinner';\n\nconst transformValueToSearchMap: Record<string, any> = {};\n\n@Component({\n selector: 'eg-generic-autocomplete',\n imports: [HlmSpinner, HlmAutocompleteImports, ReactiveFormsModule],\n template: `\n <form [formGroup]=\"form\" class=\"space-y-8\">\n <hlm-autocomplete\n [inputId]=\"controlId()\"\n [filteredOptions]=\"options.value()\"\n [optionTemplate]=\"optionTemplate()\"\n [loading]=\"options.isLoading()\"\n [(search)]=\"search\"\n [searchPlaceholderText]=\"placeholderText()\"\n [emptyText]=\"emptyText()\"\n formControlName=\"option\"\n class=\"tw:bg-white\"\n >\n <hlm-spinner loading class=\"size-6\" />\n </hlm-autocomplete>\n </form>\n <ng-template #defaultOption let-option>\n {{ option }}\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n viewProviders: [\n provideHlmAutocompleteConfig({\n transformValueToSearch: (params, inputId) => {\n const fn = transformValueToSearchMap[inputId];\n return fn(params);\n },\n }),\n ],\n})\nexport class EgGenericAutocomplete<TItem, TParams extends object = { search: string }> {\n defaultOptionTemplate = viewChild<TemplateRef<HlmAutocompleteOption<TItem>>>('defaultOption');\n controlId = input<string>(crypto.randomUUID());\n placeholderText = input<string>('Select an option');\n emptyText = input<string>('No options found');\n\n optionTemplate = input<TemplateRef<HlmAutocompleteOption<TItem>> | undefined>(this.defaultOptionTemplate as any);\n loaderFn = input<((params: TParams) => Promise<TItem[]>) | undefined>(async () => []);\n transformValueToSearch = input<((value: TItem) => string) | undefined>((value: TItem) => String(value));\n\n public readonly optionChange = output<TItem>();\n private readonly _formBuilder = inject(FormBuilder);\n public form = this._formBuilder.group({\n option: [null, Validators.required],\n });\n\n public readonly search = signal<string>('');\n\n public options = resource<TItem[], TParams>({\n defaultValue: [] as TItem[],\n params: () => ({ search: this.search(), negajjang: '1111' }) as TParams,\n loader: async ({ params }) => {\n const fn = this.loaderFn();\n if (!fn) {\n return [];\n }\n\n return fn(params);\n },\n });\n\n ngOnInit() {\n transformValueToSearchMap[this.controlId()] = this.transformValueToSearch();\n\n this.form.controls['option'].valueChanges.subscribe((value) => {\n if (value !== null) {\n this.optionChange.emit(value);\n }\n });\n }\n\n ngOnDestroy() {\n delete transformValueToSearchMap[this.controlId()];\n }\n}\n","import { Component, input, output, computed, signal, viewChild, TemplateRef } from '@angular/core';\nimport { RouterOutlet, RouterLink } from '@angular/router';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { ClassValue } from 'clsx';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { HlmAutocompleteOption } from '@egose/shadcn-theme-ng/autocomplete';\nimport { EgLayoutSimpleUserMenu, type UserMenuSection } from './user-menu';\nimport { EgGenericAutocomplete } from './search';\n\n// Updated interface for left/right menu items\nexport interface MenuItem {\n label: string;\n link?: string; // optional router link\n action?: () => void; // optional click handler\n class?: string; // optional per-item CSS/Tailwind classes\n}\n\n@Component({\n selector: 'eg-layout-simple',\n standalone: true,\n imports: [RouterOutlet, RouterLink, EgLayoutSimpleUserMenu, EgGenericAutocomplete],\n templateUrl: './layout.html',\n})\nexport class EgLayoutSimple<TItem, TParams extends object = { search: string }> {\n /** Menu data inputs */\n leftMenus = input<MenuItem[]>([]);\n rightMenus = input<MenuItem[]>([]);\n userMenus = input<UserMenuSection[]>([]);\n logo = input<string>('assets/logo.png');\n logoLink = input<string>('/');\n hlm = hlm;\n\n /** Container class inputs */\n leftMenuClass = input<ClassValue>('', { alias: 'leftClass' });\n rightMenuClass = input<ClassValue>('', { alias: 'rightClass' });\n\n /** Link/button base class inputs */\n leftLinkClass = input<ClassValue>('', { alias: 'leftLinkClass' });\n rightLinkClass = input<ClassValue>('', { alias: 'rightLinkClass' });\n\n searchEnabled = input<boolean>(false);\n searchPlaceholderText = input<string>('Select an page');\n searchEmptyText = input<string>('No pages found');\n searchOptionTemplate = input<TemplateRef<HlmAutocompleteOption<TItem>>>();\n searchLoaderFn = input<(params: TParams) => Promise<TItem[]>>();\n searchTransformValueToSearch = input<(value: TItem) => string>();\n\n public readonly searchOptionChange = output<TItem>();\n\n /** Computed merged classes for containers */\n protected readonly _computedLeftClass = computed(() =>\n hlm('tw:hidden tw:md:flex tw:space-x-4 tw:items-center', this.leftMenuClass()),\n );\n protected readonly _computedRightClass = computed(() =>\n hlm('tw:hidden tw:md:flex tw:space-x-4 tw:items-center', this.rightMenuClass()),\n );\n\n /** Computed merged classes for link/button elements */\n protected readonly _computedLeftLinkClass = computed(() =>\n hlm('tw:text-gray-700 tw:hover:text-blue-500', this.leftLinkClass()),\n );\n protected readonly _computedRightLinkClass = computed(() =>\n hlm('tw:text-gray-700 tw:hover:text-blue-500', this.rightLinkClass()),\n );\n\n /** Mobile menu state */\n mobileMenuOpen = false;\n isMobile = signal(false);\n\n constructor(private breakpointObserver: BreakpointObserver) {\n this.breakpointObserver.observe([Breakpoints.Handset]).subscribe((result) => {\n this.isMobile.set(result.matches);\n });\n }\n\n toggleMobileMenu() {\n this.mobileMenuOpen = !this.mobileMenuOpen;\n }\n\n onSearchOptionChange(value: TItem) {\n this.searchOptionChange.emit(value);\n }\n}\n","<div class=\"tw:flex tw:flex-col tw:min-h-screen\">\n <!-- Header -->\n <header\n class=\"tw:flex tw:items-center tw:justify-between tw:bg-gray-100 tw:px-4 tw:py-2 tw:border-b tw:border-gray-300\"\n >\n <!-- Left side: Logo + Left menus -->\n <div class=\"tw:flex tw:items-center tw:space-x-6\">\n <div class=\"logo\">\n <a [routerLink]=\"logoLink()\">\n <img [src]=\"logo()\" alt=\"Logo\" class=\"tw:h-10\" />\n </a>\n </div>\n <!-- Left menus (desktop) -->\n <nav [class]=\"_computedLeftClass()\">\n @for (item of leftMenus(); track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"hlm(_computedLeftLinkClass(), item.class || '')\"> {{ item.label }} </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"hlm(_computedLeftLinkClass(), item.class || '')\">\n {{ item.label }}\n </button>\n }\n }\n </nav>\n </div>\n\n <!-- Right menus (desktop) -->\n <nav [class]=\"_computedRightClass()\">\n @if (searchEnabled()) {\n <eg-generic-autocomplete\n [optionTemplate]=\"searchOptionTemplate()\"\n [loaderFn]=\"searchLoaderFn()\"\n [transformValueToSearch]=\"searchTransformValueToSearch()\"\n [placeholderText]=\"searchPlaceholderText()\"\n [emptyText]=\"searchEmptyText()\"\n (optionChange)=\"onSearchOptionChange($event)\"\n ></eg-generic-autocomplete>\n }\n\n @for (item of rightMenus(); track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"hlm(_computedRightLinkClass(), item.class || '')\"> {{ item.label }} </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"hlm(_computedRightLinkClass(), item.class || '')\">\n {{ item.label }}\n </button>\n }\n }\n\n @let uMenus = userMenus();\n @if (uMenus && uMenus.length > 0) {\n <eg-layout-simple-user-menu [menus]=\"uMenus\"></eg-layout-simple-user-menu>\n }\n </nav>\n\n <!-- Mobile menu button -->\n <button\n (click)=\"toggleMobileMenu()\"\n class=\"tw:md:hidden tw:p-2 tw:text-gray-700 tw:hover:text-blue-500 tw:focus:outline-none\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"tw:h-6 tw:w-6\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 6h16M4 12h16M4 18h16\" />\n </svg>\n </button>\n </header>\n\n <!-- Mobile menu -->\n @if (isMobile() && mobileMenuOpen) {\n <div class=\"tw:bg-gray-100 tw:border-b tw:border-gray-300 tw:px-4 tw:py-2\">\n <nav class=\"tw:flex tw:flex-col tw:space-y-2\">\n <!-- Left menus -->\n @for (item of leftMenus(); track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" class=\"tw:text-left tw:cursor-pointer tw:text-gray-700 tw:hover:text-blue-500\">\n {{ item.label }}\n </a>\n } @else {\n <button\n type=\"button\"\n (click)=\"item.action?.()\"\n class=\"tw:text-left tw:cursor-pointer tw:text-gray-700 tw:hover:text-blue-500\"\n >\n {{ item.label }}\n </button>\n }\n }\n\n <!-- Right menus -->\n @for (item of rightMenus(); track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" class=\"tw:text-left tw:cursor-pointer tw:text-gray-700 tw:hover:text-blue-500\">\n {{ item.label }}\n </a>\n } @else {\n <button\n type=\"button\"\n (click)=\"item.action?.()\"\n class=\"tw:text-left tw:cursor-pointer tw:text-gray-700 tw:hover:text-blue-500\"\n >\n {{ item.label }}\n </button>\n }\n }\n\n <!-- User menus (flattened for mobile) -->\n @for (section of userMenus(); track section.label) {\n @if (section.label) {\n <div class=\"tw:font-bold tw:mt-2\">{{ section.label }}</div>\n }\n @if (section.items?.length) {\n @for (item of section.items; track item.label) {\n @if (item.link) {\n <a\n [routerLink]=\"item.link\"\n class=\"tw:text-left tw:cursor-pointer tw:text-gray-700 tw:hover:text-blue-500\"\n >\n {{ item.label }}\n </a>\n } @else {\n <button\n type=\"button\"\n (click)=\"item.action?.()\"\n class=\"tw:text-left tw:cursor-pointer tw:text-gray-700 tw:hover:text-blue-500\"\n >\n {{ item.label }}\n </button>\n }\n }\n }\n @if (section.separator) {\n <hr class=\"tw:border-gray-300 tw:my-2\" />\n }\n }\n </nav>\n </div>\n }\n\n <!-- Main content -->\n <main class=\"tw:flex-1 tw:p-4\">\n <router-outlet></router-outlet>\n </main>\n</div>\n","/*\n * Public API Surface of layout-simple\n */\n\nexport * from './lib/layout';\nexport * from './lib/user-menu';\nexport * from './lib/search';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"layout-simple.mjs","sources":["../../../projects/layout-simple/src/lib/user-menu.ts","../../../projects/layout-simple/src/lib/search.ts","../../../projects/layout-simple/src/lib/layout.ts","../../../projects/layout-simple/src/lib/layout.html","../../../projects/layout-simple/src/public-api.ts","../../../projects/layout-simple/src/layout-simple.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\nimport { provideIcons } from '@ng-icons/core';\nimport { lucideUser } from '@ng-icons/lucide';\nimport { RouterLink } from '@angular/router';\nimport { BrnMenuTrigger } from '@spartan-ng/brain/menu';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { HlmButton } from '@egose/shadcn-theme-ng/button';\nimport { HlmMenu, HlmMenuGroup, HlmMenuItem, HlmMenuLabel, HlmMenuSeparator } from '@egose/shadcn-theme-ng/menu';\nimport { NgIcon } from '@ng-icons/core';\n\n// Interface for menu items\nexport interface UserMenuItem {\n label: string;\n icon?: any;\n action?: () => void;\n link?: string;\n class?: string;\n}\n\n// Interface for menu sections\nexport interface UserMenuSection {\n label?: string;\n separator?: boolean;\n items?: UserMenuItem[];\n}\n\n@Component({\n selector: 'eg-layout-simple-user-menu',\n imports: [\n BrnMenuTrigger,\n HlmMenu,\n HlmMenuItem,\n HlmMenuLabel,\n HlmMenuSeparator,\n HlmMenuGroup,\n HlmButton,\n NgIcon,\n RouterLink,\n ],\n providers: [\n provideIcons({\n lucideUser,\n }),\n ],\n template: `\n <ng-template #iconTemplate>\n <ng-icon [svg]=\"lucideUser\" size=\"1.5rem\" class=\"tw:[&_svg]:w-[inherit]! tw:[&_svg]:h-[inherit]!\" />\n </ng-template>\n\n <div class=\"tw:flex tw:w-full tw:items-center tw:justify-center tw:pt-[20%]\">\n <button\n hlmButton\n variant=\"primary\"\n size=\"icon\"\n align=\"end\"\n [brnMenuTriggerFor]=\"menu\"\n [icon]=\"iconTemplate\"\n class=\"tw:rounded-full tw:border tw:border-gray-400\"\n ></button>\n </div>\n\n <ng-template #menu>\n <hlm-menu class=\"tw:w-56\">\n @for (section of menus(); track section) {\n @if (section.label) {\n <hlm-menu-label>{{ section.label }}</hlm-menu-label>\n }\n @if (section.items?.length) {\n <hlm-menu-group>\n @for (item of section.items; track item) {\n @if (item.link) {\n <a hlmMenuItem [routerLink]=\"item.link\" [class]=\"hlm('tw:cursor-pointer', item.class)\">\n @if (item.icon) {\n <ng-icon\n [svg]=\"item.icon\"\n size=\"1rem\"\n [class]=\"\n hlm('tw:[_svg]:text-[inherit]! tw:[_svg]:bg-[inherit]! tw:cursor-pointer tw:mr-2', item.class)\n \"\n />\n }\n <span>{{ item.label }}</span>\n </a>\n } @else {\n <button hlmMenuItem (click)=\"item.action?.()\" [class]=\"hlm('tw:cursor-pointer', item.class)\">\n @if (item.icon) {\n <ng-icon\n [svg]=\"item.icon\"\n size=\"1rem\"\n [class]=\"\n hlm('tw:[_svg]:text-[inherit]! tw:[_svg]:bg-[inherit]! tw:cursor-pointer tw:mr-2', item.class)\n \"\n />\n }\n <span>{{ item.label }}</span>\n </button>\n }\n }\n </hlm-menu-group>\n }\n @if (section.separator) {\n <hlm-menu-separator />\n }\n }\n </hlm-menu>\n </ng-template>\n `,\n})\nexport class EgLayoutSimpleUserMenu {\n menus = input<UserMenuSection[]>([]);\n\n hlm = hlm;\n lucideUser = lucideUser;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n signal,\n input,\n output,\n viewChild,\n inject,\n resource,\n} from '@angular/core';\nimport { FormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';\nimport {\n HlmAutocompleteImports,\n provideHlmAutocompleteConfig,\n HlmAutocompleteOption,\n} from '@egose/shadcn-theme-ng/autocomplete';\nimport { HlmSpinner } from '@egose/shadcn-theme-ng/spinner';\n\nconst transformValueToSearchMap: Record<string, any> = {};\n\n@Component({\n selector: 'eg-generic-autocomplete',\n imports: [HlmSpinner, HlmAutocompleteImports, ReactiveFormsModule],\n template: `\n <form [formGroup]=\"form\" class=\"space-y-8\">\n <hlm-autocomplete\n [inputId]=\"controlId()\"\n [filteredOptions]=\"options.value()\"\n [optionTemplate]=\"optionTemplate()\"\n [loading]=\"options.isLoading()\"\n [(search)]=\"search\"\n [searchPlaceholderText]=\"placeholderText()\"\n [emptyText]=\"emptyText()\"\n formControlName=\"option\"\n class=\"tw:bg-white\"\n >\n <hlm-spinner loading />\n </hlm-autocomplete>\n </form>\n <ng-template #defaultOption let-option>\n {{ option }}\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n viewProviders: [\n provideHlmAutocompleteConfig({\n transformValueToSearch: (params, inputId) => {\n const fn = transformValueToSearchMap[inputId];\n return fn(params);\n },\n }),\n ],\n})\nexport class EgGenericAutocomplete<TItem, TParams extends object = { search: string }> {\n defaultOptionTemplate = viewChild<TemplateRef<HlmAutocompleteOption<TItem>>>('defaultOption');\n controlId = input<string>(crypto.randomUUID());\n placeholderText = input<string>('Select an option');\n emptyText = input<string>('No options found');\n\n optionTemplate = input<TemplateRef<HlmAutocompleteOption<TItem>> | undefined>(this.defaultOptionTemplate as any);\n loaderFn = input<((params: TParams) => Promise<TItem[]>) | undefined>(async () => []);\n transformValueToSearch = input<((value: TItem) => string) | undefined>((value: TItem) => String(value));\n\n public readonly optionChange = output<TItem>();\n private readonly _formBuilder = inject(FormBuilder);\n public form = this._formBuilder.group({\n option: [null, Validators.required],\n });\n\n public readonly search = signal<string>('');\n\n public options = resource<TItem[], TParams>({\n defaultValue: [] as TItem[],\n params: () => ({ search: this.search(), negajjang: '1111' }) as TParams,\n loader: async ({ params }) => {\n const fn = this.loaderFn();\n if (!fn) {\n return [];\n }\n\n return fn(params);\n },\n });\n\n ngOnInit() {\n transformValueToSearchMap[this.controlId()] = this.transformValueToSearch();\n\n this.form.controls['option'].valueChanges.subscribe((value) => {\n if (value !== null) {\n this.optionChange.emit(value);\n }\n });\n }\n\n ngOnDestroy() {\n delete transformValueToSearchMap[this.controlId()];\n }\n}\n","import { Component, input, output, computed, signal, viewChild, TemplateRef } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { ClassValue } from 'clsx';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { HlmAutocompleteOption } from '@egose/shadcn-theme-ng/autocomplete';\nimport { EgLayoutSimpleUserMenu, type UserMenuSection } from './user-menu';\nimport { EgGenericAutocomplete } from './search';\n\n// Updated interface for left/right menu items\nexport interface MenuItem {\n label: string;\n link?: string; // optional router link\n action?: () => void; // optional click handler\n class?: string; // optional per-item CSS/Tailwind classes\n}\n\nconst commonLinkGroupClasses = 'tw:hidden tw:md:flex tw:space-x-4 tw:items-center';\nconst commonLinkClasses =\n 'tw:text-left tw:text-secondary tw:visited:text-secondary tw:hover:text-primary tw:cursor-pointer tw:no-underline';\n\n@Component({\n selector: 'eg-layout-simple',\n standalone: true,\n imports: [RouterLink, EgLayoutSimpleUserMenu, EgGenericAutocomplete],\n templateUrl: './layout.html',\n})\nexport class EgLayoutSimple<TItem, TParams extends object = { search: string }> {\n hlm = hlm;\n\n /** Menu data inputs */\n leftMenus = input<MenuItem[]>([]);\n rightMenus = input<MenuItem[]>([]);\n userMenus = input<UserMenuSection[]>([]);\n logo = input<string>('assets/logo.png');\n logoLink = input<string>('/');\n\n logoClass = input<ClassValue>('', { alias: 'logoClass' });\n headerClass = input<ClassValue>('', { alias: 'headerClass' });\n contentClass = input<ClassValue>('', { alias: 'contentClass' });\n\n /** Container class inputs */\n leftMenuClass = input<ClassValue>('', { alias: 'leftClass' });\n rightMenuClass = input<ClassValue>('', { alias: 'rightClass' });\n\n /** Link/button base class inputs */\n leftLinkClass = input<ClassValue>('', { alias: 'leftLinkClass' });\n rightLinkClass = input<ClassValue>('', { alias: 'rightLinkClass' });\n\n searchEnabled = input<boolean>(false);\n searchPlaceholderText = input<string>('Select an page');\n searchEmptyText = input<string>('No pages found');\n searchOptionTemplate = input<TemplateRef<HlmAutocompleteOption<TItem>>>();\n searchLoaderFn = input<(params: TParams) => Promise<TItem[]>>();\n searchTransformValueToSearch = input<(value: TItem) => string>();\n\n public readonly searchOptionChange = output<TItem>();\n\n protected readonly _logoClass = computed(() => hlm('tw:h-10', this.logoClass()));\n\n protected readonly _headerClass = computed(() =>\n hlm(\n 'tw:px-4 tw:py-2 tw:flex tw:items-center tw:justify-between tw:bg-gray-100 tw:border-b tw:border-gray-300',\n this.headerClass(),\n ),\n );\n\n protected readonly _contentClass = computed(() => hlm('tw:p-4', this.contentClass()));\n\n /** Computed merged classes for containers */\n protected readonly _computedLeftClass = computed(() => hlm(commonLinkGroupClasses, this.leftMenuClass()));\n protected readonly _computedRightClass = computed(() => hlm(commonLinkGroupClasses, this.rightMenuClass()));\n\n /** Computed merged classes for link/button elements */\n protected readonly _computedLeftLinkClass = computed(() => hlm(commonLinkClasses, this.leftLinkClass()));\n protected readonly _computedRightLinkClass = computed(() => hlm(commonLinkClasses, this.rightLinkClass()));\n\n mobileMenuItemClass = commonLinkClasses;\n\n footerEnabled = input<boolean>(false);\n footerMenus = input<MenuItem[]>([]);\n footerMenuClass = input<ClassValue>('', { alias: 'footerMenuClass' });\n footerLinkClass = input<ClassValue>('', { alias: 'footerLinkClass' });\n footerContent = input<string>('© 2024 My Company');\n footerClass = input<ClassValue>('', { alias: 'footerClass' });\n\n protected readonly _footerClass = computed(() =>\n hlm(\n 'tw:px-4 tw:py-4 tw:bg-gray-100 tw:border-t tw:border-gray-300 tw:text-sm tw:text-gray-600',\n this.footerClass(),\n ),\n );\n\n protected readonly _computedFooterMenuClass = computed(() =>\n hlm('tw:flex tw:flex-wrap tw:justify-center tw:space-x-4', this.footerMenuClass()),\n );\n\n protected readonly _computedFooterLinkClass = computed(() =>\n hlm('tw:text-secondary tw:hover:text-primary tw:cursor-pointer tw:no-underline', this.footerLinkClass()),\n );\n\n /** Mobile menu state */\n mobileMenuOpen = false;\n isMobile = signal(false);\n\n constructor(private breakpointObserver: BreakpointObserver) {\n this.breakpointObserver.observe([Breakpoints.Handset]).subscribe((result) => {\n this.isMobile.set(result.matches);\n });\n }\n\n toggleMobileMenu() {\n this.mobileMenuOpen = !this.mobileMenuOpen;\n }\n\n onSearchOptionChange(value: TItem) {\n this.searchOptionChange.emit(value);\n }\n}\n","<div class=\"tw:flex tw:flex-col tw:min-h-screen\">\n <!-- Header -->\n <header [class]=\"_headerClass()\">\n <!-- Left side: Logo + Left menus -->\n <div class=\"tw:flex tw:items-center tw:space-x-6\">\n <div class=\"logo\">\n <a [routerLink]=\"logoLink()\">\n <img [src]=\"logo()\" alt=\"Logo\" [class]=\"_logoClass()\" />\n </a>\n </div>\n <!-- Left menus (desktop) -->\n <nav [class]=\"_computedLeftClass()\">\n @for (item of leftMenus(); track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"hlm(_computedLeftLinkClass(), item.class || '')\"> {{ item.label }} </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"hlm(_computedLeftLinkClass(), item.class || '')\">\n {{ item.label }}\n </button>\n }\n }\n </nav>\n </div>\n\n <!-- Right menus (desktop) -->\n <nav [class]=\"_computedRightClass()\">\n @if (searchEnabled()) {\n <eg-generic-autocomplete\n [optionTemplate]=\"searchOptionTemplate()\"\n [loaderFn]=\"searchLoaderFn()\"\n [transformValueToSearch]=\"searchTransformValueToSearch()\"\n [placeholderText]=\"searchPlaceholderText()\"\n [emptyText]=\"searchEmptyText()\"\n (optionChange)=\"onSearchOptionChange($event)\"\n ></eg-generic-autocomplete>\n }\n\n @for (item of rightMenus(); track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"hlm(_computedRightLinkClass(), item.class || '')\"> {{ item.label }} </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"hlm(_computedRightLinkClass(), item.class || '')\">\n {{ item.label }}\n </button>\n }\n }\n\n @let uMenus = userMenus();\n @if (uMenus && uMenus.length > 0) {\n <eg-layout-simple-user-menu [menus]=\"uMenus\"></eg-layout-simple-user-menu>\n }\n </nav>\n\n <!-- Mobile menu button -->\n <button\n (click)=\"toggleMobileMenu()\"\n class=\"tw:md:hidden tw:p-2 tw:text-gray-700 tw:hover:text-primary tw:focus:outline-none tw:cursor-pointer\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"tw:h-6 tw:w-6\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 6h16M4 12h16M4 18h16\" />\n </svg>\n </button>\n </header>\n\n <!-- Mobile menu -->\n @if (isMobile() && mobileMenuOpen) {\n <div class=\"tw:bg-gray-100 tw:border-b tw:border-gray-300 tw:px-4 tw:py-2\">\n <nav class=\"tw:flex tw:flex-col tw:space-y-2\">\n <!-- Left menus -->\n @for (item of leftMenus(); track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"mobileMenuItemClass\">\n {{ item.label }}\n </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"mobileMenuItemClass\">\n {{ item.label }}\n </button>\n }\n }\n\n <!-- Right menus -->\n @for (item of rightMenus(); track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"mobileMenuItemClass\">\n {{ item.label }}\n </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"mobileMenuItemClass\">\n {{ item.label }}\n </button>\n }\n }\n\n <!-- User menus (flattened for mobile) -->\n @for (section of userMenus(); track section.label) {\n @if (section.label) {\n <div class=\"tw:font-bold tw:mt-2\">{{ section.label }}</div>\n }\n @if (section.items?.length) {\n @for (item of section.items; track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"mobileMenuItemClass\">\n {{ item.label }}\n </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"mobileMenuItemClass\">\n {{ item.label }}\n </button>\n }\n }\n }\n @if (section.separator) {\n <hr class=\"tw:border-gray-300 tw:my-2\" />\n }\n }\n </nav>\n </div>\n }\n\n <!-- Main content -->\n <main [class]=\"_contentClass()\">\n <ng-content />\n </main>\n\n @if (footerEnabled()) {\n <footer [class]=\"_footerClass()\">\n <nav [class]=\"_computedFooterMenuClass()\">\n @for (item of footerMenus(); track item.label) {\n @if (item.link) {\n <a [routerLink]=\"item.link\" [class]=\"hlm(_computedFooterLinkClass(), item.class || '')\">\n {{ item.label }}\n </a>\n } @else {\n <button type=\"button\" (click)=\"item.action?.()\" [class]=\"hlm(_computedFooterLinkClass(), item.class || '')\">\n {{ item.label }}\n </button>\n }\n }\n </nav>\n\n <div class=\"tw:mt-2 tw:text-center\">\n {{ footerContent() }}\n </div>\n </footer>\n }\n</div>\n","/*\n * Public API Surface of layout-simple\n */\n\nexport * from './lib/layout';\nexport * from './lib/user-menu';\nexport * from './lib/search';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
package/layout-simple/index.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ interface UserMenuSection {
|
|
|
20
20
|
}
|
|
21
21
|
declare class EgLayoutSimpleUserMenu {
|
|
22
22
|
menus: _angular_core.InputSignal<UserMenuSection[]>;
|
|
23
|
+
hlm: typeof hlm;
|
|
23
24
|
lucideUser: string;
|
|
24
25
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EgLayoutSimpleUserMenu, never>;
|
|
25
26
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EgLayoutSimpleUserMenu, "eg-layout-simple-user-menu", never, { "menus": { "alias": "menus"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -35,13 +36,16 @@ declare class EgLayoutSimple<TItem, TParams extends object = {
|
|
|
35
36
|
search: string;
|
|
36
37
|
}> {
|
|
37
38
|
private breakpointObserver;
|
|
39
|
+
hlm: typeof hlm;
|
|
38
40
|
/** Menu data inputs */
|
|
39
41
|
leftMenus: _angular_core.InputSignal<MenuItem[]>;
|
|
40
42
|
rightMenus: _angular_core.InputSignal<MenuItem[]>;
|
|
41
43
|
userMenus: _angular_core.InputSignal<UserMenuSection[]>;
|
|
42
44
|
logo: _angular_core.InputSignal<string>;
|
|
43
45
|
logoLink: _angular_core.InputSignal<string>;
|
|
44
|
-
|
|
46
|
+
logoClass: _angular_core.InputSignal<ClassValue>;
|
|
47
|
+
headerClass: _angular_core.InputSignal<ClassValue>;
|
|
48
|
+
contentClass: _angular_core.InputSignal<ClassValue>;
|
|
45
49
|
/** Container class inputs */
|
|
46
50
|
leftMenuClass: _angular_core.InputSignal<ClassValue>;
|
|
47
51
|
rightMenuClass: _angular_core.InputSignal<ClassValue>;
|
|
@@ -55,12 +59,25 @@ declare class EgLayoutSimple<TItem, TParams extends object = {
|
|
|
55
59
|
searchLoaderFn: _angular_core.InputSignal<((params: TParams) => Promise<TItem[]>) | undefined>;
|
|
56
60
|
searchTransformValueToSearch: _angular_core.InputSignal<((value: TItem) => string) | undefined>;
|
|
57
61
|
readonly searchOptionChange: _angular_core.OutputEmitterRef<TItem>;
|
|
62
|
+
protected readonly _logoClass: _angular_core.Signal<string>;
|
|
63
|
+
protected readonly _headerClass: _angular_core.Signal<string>;
|
|
64
|
+
protected readonly _contentClass: _angular_core.Signal<string>;
|
|
58
65
|
/** Computed merged classes for containers */
|
|
59
66
|
protected readonly _computedLeftClass: _angular_core.Signal<string>;
|
|
60
67
|
protected readonly _computedRightClass: _angular_core.Signal<string>;
|
|
61
68
|
/** Computed merged classes for link/button elements */
|
|
62
69
|
protected readonly _computedLeftLinkClass: _angular_core.Signal<string>;
|
|
63
70
|
protected readonly _computedRightLinkClass: _angular_core.Signal<string>;
|
|
71
|
+
mobileMenuItemClass: string;
|
|
72
|
+
footerEnabled: _angular_core.InputSignal<boolean>;
|
|
73
|
+
footerMenus: _angular_core.InputSignal<MenuItem[]>;
|
|
74
|
+
footerMenuClass: _angular_core.InputSignal<ClassValue>;
|
|
75
|
+
footerLinkClass: _angular_core.InputSignal<ClassValue>;
|
|
76
|
+
footerContent: _angular_core.InputSignal<string>;
|
|
77
|
+
footerClass: _angular_core.InputSignal<ClassValue>;
|
|
78
|
+
protected readonly _footerClass: _angular_core.Signal<string>;
|
|
79
|
+
protected readonly _computedFooterMenuClass: _angular_core.Signal<string>;
|
|
80
|
+
protected readonly _computedFooterLinkClass: _angular_core.Signal<string>;
|
|
64
81
|
/** Mobile menu state */
|
|
65
82
|
mobileMenuOpen: boolean;
|
|
66
83
|
isMobile: _angular_core.WritableSignal<boolean>;
|
|
@@ -68,7 +85,7 @@ declare class EgLayoutSimple<TItem, TParams extends object = {
|
|
|
68
85
|
toggleMobileMenu(): void;
|
|
69
86
|
onSearchOptionChange(value: TItem): void;
|
|
70
87
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EgLayoutSimple<any, any>, never>;
|
|
71
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EgLayoutSimple<any, any>, "eg-layout-simple", never, { "leftMenus": { "alias": "leftMenus"; "required": false; "isSignal": true; }; "rightMenus": { "alias": "rightMenus"; "required": false; "isSignal": true; }; "userMenus": { "alias": "userMenus"; "required": false; "isSignal": true; }; "logo": { "alias": "logo"; "required": false; "isSignal": true; }; "logoLink": { "alias": "logoLink"; "required": false; "isSignal": true; }; "leftMenuClass": { "alias": "leftClass"; "required": false; "isSignal": true; }; "rightMenuClass": { "alias": "rightClass"; "required": false; "isSignal": true; }; "leftLinkClass": { "alias": "leftLinkClass"; "required": false; "isSignal": true; }; "rightLinkClass": { "alias": "rightLinkClass"; "required": false; "isSignal": true; }; "searchEnabled": { "alias": "searchEnabled"; "required": false; "isSignal": true; }; "searchPlaceholderText": { "alias": "searchPlaceholderText"; "required": false; "isSignal": true; }; "searchEmptyText": { "alias": "searchEmptyText"; "required": false; "isSignal": true; }; "searchOptionTemplate": { "alias": "searchOptionTemplate"; "required": false; "isSignal": true; }; "searchLoaderFn": { "alias": "searchLoaderFn"; "required": false; "isSignal": true; }; "searchTransformValueToSearch": { "alias": "searchTransformValueToSearch"; "required": false; "isSignal": true; }; }, { "searchOptionChange": "searchOptionChange"; }, never,
|
|
88
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EgLayoutSimple<any, any>, "eg-layout-simple", never, { "leftMenus": { "alias": "leftMenus"; "required": false; "isSignal": true; }; "rightMenus": { "alias": "rightMenus"; "required": false; "isSignal": true; }; "userMenus": { "alias": "userMenus"; "required": false; "isSignal": true; }; "logo": { "alias": "logo"; "required": false; "isSignal": true; }; "logoLink": { "alias": "logoLink"; "required": false; "isSignal": true; }; "logoClass": { "alias": "logoClass"; "required": false; "isSignal": true; }; "headerClass": { "alias": "headerClass"; "required": false; "isSignal": true; }; "contentClass": { "alias": "contentClass"; "required": false; "isSignal": true; }; "leftMenuClass": { "alias": "leftClass"; "required": false; "isSignal": true; }; "rightMenuClass": { "alias": "rightClass"; "required": false; "isSignal": true; }; "leftLinkClass": { "alias": "leftLinkClass"; "required": false; "isSignal": true; }; "rightLinkClass": { "alias": "rightLinkClass"; "required": false; "isSignal": true; }; "searchEnabled": { "alias": "searchEnabled"; "required": false; "isSignal": true; }; "searchPlaceholderText": { "alias": "searchPlaceholderText"; "required": false; "isSignal": true; }; "searchEmptyText": { "alias": "searchEmptyText"; "required": false; "isSignal": true; }; "searchOptionTemplate": { "alias": "searchOptionTemplate"; "required": false; "isSignal": true; }; "searchLoaderFn": { "alias": "searchLoaderFn"; "required": false; "isSignal": true; }; "searchTransformValueToSearch": { "alias": "searchTransformValueToSearch"; "required": false; "isSignal": true; }; "footerEnabled": { "alias": "footerEnabled"; "required": false; "isSignal": true; }; "footerMenus": { "alias": "footerMenus"; "required": false; "isSignal": true; }; "footerMenuClass": { "alias": "footerMenuClass"; "required": false; "isSignal": true; }; "footerLinkClass": { "alias": "footerLinkClass"; "required": false; "isSignal": true; }; "footerContent": { "alias": "footerContent"; "required": false; "isSignal": true; }; "footerClass": { "alias": "footerClass"; "required": false; "isSignal": true; }; }, { "searchOptionChange": "searchOptionChange"; }, never, ["*"], true, never>;
|
|
72
89
|
}
|
|
73
90
|
|
|
74
91
|
declare class EgGenericAutocomplete<TItem, TParams extends object = {
|
package/menu/fesm2022/menu.mjs
CHANGED
|
@@ -261,7 +261,7 @@ class HlmMenuLabel {
|
|
|
261
261
|
transform: booleanAttribute,
|
|
262
262
|
}]));
|
|
263
263
|
userClass = input('', ...(ngDevMode ? [{ debugName: "userClass", alias: 'class' }] : [{ alias: 'class' }]));
|
|
264
|
-
_computedClass = computed(() => hlm('block px-2 py-1.5 text-sm font-
|
|
264
|
+
_computedClass = computed(() => hlm('block px-2 py-1.5 text-sm font-semibold data-[inset]:pl-8', this.userClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
|
|
265
265
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmMenuLabel, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
266
266
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.1", type: HlmMenuLabel, isStandalone: true, selector: "hlm-menu-label", inputs: { inset: { classPropertyName: "inset", publicName: "inset", isSignal: true, isRequired: false, transformFunction: null }, userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()", "attr.data-inset": "inset() ? \"\" : null" } }, ngImport: i0, template: ` <ng-content /> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
267
267
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.mjs","sources":["../../../projects/menu/src/lib/menu.ts","../../../projects/menu/src/lib/menu-bar.ts","../../../projects/menu/src/lib/menu-bar-item.ts","../../../projects/menu/src/lib/menu-group.ts","../../../projects/menu/src/lib/menu-item.ts","../../../projects/menu/src/lib/menu-item-check.ts","../../../projects/menu/src/lib/menu-item-checkbox.ts","../../../projects/menu/src/lib/menu-item-icon.ts","../../../projects/menu/src/lib/menu-item-radio.ts","../../../projects/menu/src/lib/menu-item-radio-indicator.ts","../../../projects/menu/src/lib/menu-item-sub-indicator.ts","../../../projects/menu/src/lib/menu-label.ts","../../../projects/menu/src/lib/menu-separator.ts","../../../projects/menu/src/lib/menu-shortcut.ts","../../../projects/menu/src/lib/sub-menu.ts","../../../projects/menu/src/public-api.ts","../../../projects/menu/src/menu.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { BrnMenu } from '@spartan-ng/brain/menu';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { type VariantProps, cva } from 'class-variance-authority';\nimport type { ClassValue } from 'clsx';\n\nexport const menuVariants = cva(\n 'tw:bg-popover tw:text-popover-foreground tw:data-[state=open]:animate-in tw:data-[state=closed]:animate-out tw:data-[state=closed]:fade-out-0 tw:data-[state=open]:fade-in-0 tw:data-[state=closed]:zoom-out-95 tw:data-[state=open]:zoom-in-95 tw:data-[side=bottom]:slide-in-from-top-2 tw:data-[side=left]:slide-in-from-right-2 tw:data-[side=right]:slide-in-from-left-2 tw:data-[side=top]:slide-in-from-bottom-2 tw:z-50 tw:min-w-[8rem] tw:origin-top tw:overflow-y-auto tw:overflow-x-hidden tw:rounded-md tw:border tw:p-1 tw:shadow-md',\n {\n variants: {\n variant: {\n default: 'tw:my-0.5',\n menubar: 'tw:my-2',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\ntype MenuVariants = VariantProps<typeof menuVariants>;\n\n@Component({\n selector: 'hlm-menu',\n host: {\n '[class]': '_computedClass()',\n },\n hostDirectives: [BrnMenu],\n template: ` <ng-content /> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmMenu {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() => hlm(menuVariants({ variant: this.variant() }), this.userClass()));\n\n public readonly variant = input<MenuVariants['variant']>('default');\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { BrnMenuBar } from '@spartan-ng/brain/menu';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-menu-bar',\n host: {\n '[class]': '_computedClass()',\n },\n hostDirectives: [BrnMenuBar],\n template: '<ng-content/>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmMenuBar {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected _computedClass = computed(() =>\n hlm(\n 'tw:bg-background tw:shadow-xs tw:flex tw:h-9 tw:items-center tw:gap-1 tw:rounded-md tw:border tw:p-1',\n this.userClass(),\n ),\n );\n}\n","import { Directive, computed, input } from '@angular/core';\nimport { BrnMenuItem } from '@spartan-ng/brain/menu';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Directive({\n selector: '[hlmMenuBarItem]',\n host: {\n '[class]': '_computedClass()',\n },\n hostDirectives: [BrnMenuItem],\n})\nexport class HlmMenuBarItem {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'tw:focus:bg-secondary tw:focus:text-secondary-foreground tw:aria-expanded:bg-secondary tw:aria-expanded:text-secondary-foreground tw:flex tw:select-none tw:items-center tw:rounded-sm tw:px-2 tw:py-1 tw:text-sm tw:font-medium tw:outline-none',\n this.userClass(),\n ),\n );\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { BrnMenuGroup } from '@spartan-ng/brain/menu';\n\n@Component({\n selector: 'hlm-menu-group',\n host: {\n class: 'block',\n },\n hostDirectives: [BrnMenuGroup],\n template: ` <ng-content /> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmMenuGroup {}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, computed, Directive, input } from '@angular/core';\nimport { BrnMenuItem } from '@spartan-ng/brain/menu';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { ClassValue } from 'clsx';\n\n@Directive({\n selector: '[hlmMenuItem]',\n host: {\n '[class]': '_computedClass()',\n '[attr.data-variant]': 'variant()',\n '[attr.data-inset]': 'inset() ? \"\" : null',\n },\n hostDirectives: [\n {\n directive: BrnMenuItem,\n inputs: ['disabled: disabled'],\n outputs: ['triggered: triggered'],\n },\n ],\n})\nexport class HlmMenuItem {\n public readonly variant = input<'default' | 'destructive'>('default');\n\n public readonly inset = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n `tw:hover:bg-secondary tw:hover:text-secondary-foreground tw:data-[variant=destructive]:text-destructive tw:data-[variant=destructive]:focus:bg-destructive/10 tw:dark:data-[variant=destructive]:focus:bg-destructive/20 tw:data-[variant=destructive]:focus:text-destructive tw:data-[variant=destructive]:*:[ng-icon]:!text-destructive tw:[&_ng-icon]:text-muted-foreground tw:relative tw:flex tw:w-full tw:cursor-default tw:select-none tw:items-center tw:gap-2 tw:rounded-sm tw:px-2 tw:py-1.5 tw:text-sm tw:outline-none tw:data-[disabled]:pointer-events-none tw:data-[inset]:pl-8 tw:data-[disabled]:opacity-50 tw:[&_ng-icon]:pointer-events-none tw:[&_ng-icon]:shrink-0`,\n this.userClass(),\n ),\n );\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideCheck } from '@ng-icons/lucide';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-menu-item-check',\n providers: [provideIcons({ lucideCheck })],\n imports: [NgIcon, HlmIcon],\n template: `\n <!-- Using 1rem for size to mimick h-4 w-4 -->\n <ng-icon hlm size=\"1rem\" name=\"lucideCheck\" />\n `,\n host: {\n '[class]': '_computedClass()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmMenuItemCheck {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected _computedClass = computed(() =>\n hlm(\n 'tw:absolute tw:left-2 tw:flex tw:h-3.5 tw:w-3.5 tw:items-center tw:justify-center tw:opacity-0 tw:group-[.checked]:opacity-100',\n this.userClass(),\n ),\n );\n}\n","import { Directive, computed, input } from '@angular/core';\nimport { BrnMenuItemCheckbox } from '@spartan-ng/brain/menu';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Directive({\n selector: '[hlmMenuItemCheckbox]',\n host: {\n '[class]': '_computedClass()',\n },\n hostDirectives: [\n {\n directive: BrnMenuItemCheckbox,\n inputs: ['disabled: disabled', 'checked: checked'],\n outputs: ['triggered: triggered'],\n },\n ],\n})\nexport class HlmMenuItemCheckbox {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'tw:hover:bg-secondary tw:hover:text-secondary-foreground tw:focus-visible:bg-secondary tw:focus-visible:text-secondary-foreground tw:group tw:relative tw:flex tw:w-full tw:cursor-default tw:select-none tw:items-center tw:rounded-sm tw:py-1.5 tw:pl-8 tw:pr-2 tw:text-sm tw:outline-none tw:transition-colors tw:disabled:pointer-events-none tw:disabled:opacity-50',\n this.userClass(),\n ),\n );\n}\n","import { Directive, computed, input } from '@angular/core';\nimport { provideHlmIconConfig } from '@egose/shadcn-theme-ng/icon';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Directive({\n selector: '[hlmMenuIcon]',\n providers: [provideHlmIconConfig({ size: 'sm' })],\n host: {\n '[class]': '_computedClass()',\n },\n})\nexport class HlmMenuItemIcon {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected _computedClass = computed(() => hlm('tw:mr-2', this.userClass()));\n}\n","import { Directive, computed, input } from '@angular/core';\nimport { BrnMenuItemRadio } from '@spartan-ng/brain/menu';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Directive({\n selector: '[hlmMenuItemRadio]',\n host: {\n '[class]': '_computedClass()',\n },\n hostDirectives: [\n {\n directive: BrnMenuItemRadio,\n inputs: ['disabled: disabled', 'checked: checked'],\n outputs: ['triggered: triggered'],\n },\n ],\n})\nexport class HlmMenuItemRadio {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'tw:hover:bg-secondary tw:hover:text-secondary-foreground tw:focus-visible:bg-secondary tw:focus-visible:text-secondary-foreground tw:group tw:relative tw:flex tw:w-full tw:cursor-default tw:select-none tw:items-center tw:rounded-sm tw:py-1.5 tw:pl-8 tw:pr-2 tw:text-sm tw:outline-none tw:transition-colors tw:disabled:pointer-events-none tw:disabled:opacity-50',\n this.userClass(),\n ),\n );\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideCircle } from '@ng-icons/lucide';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-menu-item-radio',\n providers: [provideIcons({ lucideCircle })],\n imports: [NgIcon, HlmIcon],\n template: `\n <!-- Using 0.5rem for size to mimick h-2 w-2 -->\n <ng-icon hlm size=\"0.5rem\" class=\"tw:*:*:fill-current\" name=\"lucideCircle\" />\n `,\n host: {\n '[class]': '_computedClass()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmMenuItemRadioIndicator {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'tw:absolute tw:left-2 tw:flex tw:h-3.5 tw:w-3.5 tw:items-center tw:justify-center tw:opacity-0 tw:group-[.checked]:opacity-100',\n this.userClass(),\n ),\n );\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronRight } from '@ng-icons/lucide';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-menu-item-sub-indicator',\n providers: [provideIcons({ lucideChevronRight })],\n imports: [NgIcon, HlmIcon],\n template: ` <ng-icon hlm size=\"sm\" name=\"lucideChevronRight\" class=\"tw:text-popover-foreground\" /> `,\n host: {\n '[class]': '_computedClass()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmMenuItemSubIndicator {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() => hlm('tw:ml-auto tw:size-4', this.userClass()));\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-menu-label',\n template: ` <ng-content /> `,\n host: {\n '[class]': '_computedClass()',\n '[attr.data-inset]': 'inset() ? \"\" : null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmMenuLabel {\n public readonly inset = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected _computedClass = computed(() =>\n hlm('tw:block tw:px-2 tw:py-1.5 tw:text-sm tw:font-medium tw:data-[inset]:pl-8', this.userClass()),\n );\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-menu-separator',\n template: '',\n host: {\n '[class]': '_computedClass()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmMenuSeparator {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm('tw:bg-border tw:-mx-1 tw:my-1 tw:block tw:h-px', this.userClass()),\n );\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-menu-shortcut',\n template: ` <ng-content /> `,\n host: {\n '[class]': '_computedClass()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmMenuShortcut {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected _computedClass = computed(() =>\n hlm('tw:text-muted-foreground tw:ml-auto tw:text-xs tw:tracking-widest', this.userClass()),\n );\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { BrnMenu } from '@spartan-ng/brain/menu';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-sub-menu',\n host: {\n '[class]': '_computedClass()',\n },\n hostDirectives: [BrnMenu],\n template: ` <ng-content /> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmSubMenu {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'tw:border-border tw:bg-popover tw:text-popover-foreground tw:data-[state=open]:animate-in tw:data-[state=closed]:animate-out tw:data-[state=closed]:fade-out-0 tw:data-[state=open]:fade-in-0 tw:data-[state=closed]:zoom-out-95 tw:data-[state=open]:zoom-in-95 tw:data-[side=bottom]:slide-in-from-top-2 tw:data-[side=left]:slide-in-from-right-2 tw:data-[side=right]:slide-in-from-left-2 tw:data-[side=top]:slide-in-from-bottom-2 tw:min-w-[8rem] tw:overflow-hidden tw:rounded-md tw:border tw:p-1 tw:shadow-lg',\n this.userClass(),\n ),\n );\n}\n","/*\n * Public API Surface of menu\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmMenu } from './lib/menu';\nimport { HlmMenuBar } from './lib/menu-bar';\nimport { HlmMenuBarItem } from './lib/menu-bar-item';\nimport { HlmMenuGroup } from './lib/menu-group';\nimport { HlmMenuItem } from './lib/menu-item';\nimport { HlmMenuItemCheck } from './lib/menu-item-check';\nimport { HlmMenuItemCheckbox } from './lib/menu-item-checkbox';\nimport { HlmMenuItemIcon } from './lib/menu-item-icon';\nimport { HlmMenuItemRadio } from './lib/menu-item-radio';\nimport { HlmMenuItemRadioIndicator } from './lib/menu-item-radio-indicator';\nimport { HlmMenuItemSubIndicator } from './lib/menu-item-sub-indicator';\nimport { HlmMenuLabel } from './lib/menu-label';\nimport { HlmMenuSeparator } from './lib/menu-separator';\nimport { HlmMenuShortcut } from './lib/menu-shortcut';\nimport { HlmSubMenu } from './lib/sub-menu';\n\nexport * from './lib/menu';\nexport * from './lib/menu-bar';\nexport * from './lib/menu-bar-item';\nexport * from './lib/menu-group';\nexport * from './lib/menu-item';\nexport * from './lib/menu-item-check';\nexport * from './lib/menu-item-checkbox';\nexport * from './lib/menu-item-icon';\nexport * from './lib/menu-item-radio';\nexport * from './lib/menu-item-radio-indicator';\nexport * from './lib/menu-item-sub-indicator';\nexport * from './lib/menu-label';\nexport * from './lib/menu-separator';\nexport * from './lib/menu-shortcut';\nexport * from './lib/sub-menu';\n\nexport const HlmMenuItemImports = [\n HlmMenuItem,\n HlmMenuItemIcon,\n HlmMenuGroup,\n HlmMenuItemSubIndicator,\n HlmMenuItemRadioIndicator,\n HlmMenuItemCheck,\n HlmMenuShortcut,\n HlmMenuItemCheckbox,\n HlmMenuItemRadio,\n];\nexport const HlmMenuStructureImports = [HlmMenuLabel, HlmMenuSeparator] as const;\nexport const HlmMenuImports = [...HlmMenuItemImports, ...HlmMenuStructureImports, HlmMenu, HlmSubMenu] as const;\nexport const HlmMenuBarImports = [...HlmMenuImports, HlmMenuBar, HlmMenuBarItem] as const;\n\n@NgModule({\n imports: [...HlmMenuItemImports],\n exports: [...HlmMenuItemImports],\n})\nexport class HlmMenuItemModule {}\n\n@NgModule({\n imports: [...HlmMenuImports],\n exports: [...HlmMenuImports],\n})\nexport class HlmMenuModule {}\n\n@NgModule({\n imports: [...HlmMenuBarImports],\n exports: [...HlmMenuBarImports],\n})\nexport class HlmMenuBarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;AAMO,MAAM,YAAY,GAAG,GAAG,CAC7B,mhBAAmhB,EACnhB;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE;AACP,YAAA,OAAO,EAAE,WAAW;AACpB,YAAA,OAAO,EAAE,SAAS;AACnB,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,OAAO,EAAE,SAAS;AACnB,KAAA;AACF,CAAA;MAaU,OAAO,CAAA;AACF,IAAA,SAAS,GAAG,KAAK,CAAa,EAAE,6CAAI,KAAK,EAAE,OAAO,EAAA,CAAA,GAAA,CAAhB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAC;IAClD,cAAc,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAEpG,IAAA,OAAO,GAAG,KAAK,CAA0B,SAAS,mDAAC;uGAJxD,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAP,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,OAAO,kbAHR,CAAA,gBAAA,CAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAGjB,OAAO,EAAA,UAAA,EAAA,CAAA;kBATnB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC9B,qBAAA;oBACD,cAAc,EAAE,CAAC,OAAO,CAAC;AACzB,oBAAA,QAAQ,EAAE,CAAA,gBAAA,CAAkB;oBAC5B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;;MChBY,UAAU,CAAA;AACL,IAAA,SAAS,GAAG,KAAK,CAAa,EAAE,6CAAI,KAAK,EAAE,OAAO,EAAA,CAAA,GAAA,CAAhB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAC;AAC3D,IAAA,cAAc,GAAG,QAAQ,CAAC,MAClC,GAAG,CACD,sGAAsG,EACtG,IAAI,CAAC,SAAS,EAAE,CACjB,0DACF;uGAPU,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAU,2TAHX,eAAe,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAGd,UAAU,EAAA,UAAA,EAAA,CAAA;kBATtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC9B,qBAAA;oBACD,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,oBAAA,QAAQ,EAAE,eAAe;oBACzB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;;MCDY,cAAc,CAAA;AACT,IAAA,SAAS,GAAG,KAAK,CAAa,EAAE,6CAAI,KAAK,EAAE,OAAO,EAAA,CAAA,GAAA,CAAhB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAC;AAClD,IAAA,cAAc,GAAG,QAAQ,CAAC,MAC3C,GAAG,CACD,kPAAkP,EAClP,IAAI,CAAC,SAAS,EAAE,CACjB,0DACF;uGAPU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC9B,qBAAA;oBACD,cAAc,EAAE,CAAC,WAAW,CAAC;AAC9B,iBAAA;;;MCCY,YAAY,CAAA;uGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,+JAHb,CAAA,gBAAA,CAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAGjB,YAAY,EAAA,UAAA,EAAA,CAAA;kBATxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,OAAO;AACf,qBAAA;oBACD,cAAc,EAAE,CAAC,YAAY,CAAC;AAC9B,oBAAA,QAAQ,EAAE,CAAA,gBAAA,CAAkB;oBAC5B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;;MCUY,WAAW,CAAA;AACN,IAAA,OAAO,GAAG,KAAK,CAA4B,SAAS,mDAAC;IAErD,KAAK,GAAG,KAAK,CAAwB,KAAK,yCACxD,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAD+B;AAC1D,YAAA,SAAS,EAAE,gBAAgB;AAC5B,SAAA,CAAA,CAAA,CAAC;AAEc,IAAA,SAAS,GAAG,KAAK,CAAa,EAAE,6CAAI,KAAK,EAAE,OAAO,EAAA,CAAA,GAAA,CAAhB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAC;AAClD,IAAA,cAAc,GAAG,QAAQ,CAAC,MAC3C,GAAG,CACD,CAAA,spBAAA,CAAwpB,EACxpB,IAAI,CAAC,SAAS,EAAE,CACjB,0DACF;uGAbU,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAfvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC7B,wBAAA,qBAAqB,EAAE,WAAW;AAClC,wBAAA,mBAAmB,EAAE,qBAAqB;AAC3C,qBAAA;AACD,oBAAA,cAAc,EAAE;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,WAAW;4BACtB,MAAM,EAAE,CAAC,oBAAoB,CAAC;4BAC9B,OAAO,EAAE,CAAC,sBAAsB,CAAC;AAClC,yBAAA;AACF,qBAAA;AACF,iBAAA;;;MCAY,gBAAgB,CAAA;AACX,IAAA,SAAS,GAAG,KAAK,CAAa,EAAE,6CAAI,KAAK,EAAE,OAAO,EAAA,CAAA,GAAA,CAAhB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAC;AAC3D,IAAA,cAAc,GAAG,QAAQ,CAAC,MAClC,GAAG,CACD,gIAAgI,EAChI,IAAI,CAAC,SAAS,EAAE,CACjB,0DACF;uGAPU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAXhB,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAEhC;;;GAGT,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAJS,MAAM,6GAAE,OAAO,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAUd,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAb5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;oBAC/B,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;AAC1C,oBAAA,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC1B,oBAAA,QAAQ,EAAE;;;AAGT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC9B,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;;MCDY,mBAAmB,CAAA;AACd,IAAA,SAAS,GAAG,KAAK,CAAa,EAAE,6CAAI,KAAK,EAAE,OAAO,EAAA,CAAA,GAAA,CAAhB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAC;AAClD,IAAA,cAAc,GAAG,QAAQ,CAAC,MAC3C,GAAG,CACD,0WAA0W,EAC1W,IAAI,CAAC,SAAS,EAAE,CACjB,0DACF;uGAPU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAb/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC9B,qBAAA;AACD,oBAAA,cAAc,EAAE;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,mBAAmB;AAC9B,4BAAA,MAAM,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;4BAClD,OAAO,EAAE,CAAC,sBAAsB,CAAC;AAClC,yBAAA;AACF,qBAAA;AACF,iBAAA;;;MCLY,eAAe,CAAA;AACV,IAAA,SAAS,GAAG,KAAK,CAAa,EAAE,6CAAI,KAAK,EAAE,OAAO,EAAA,CAAA,GAAA,CAAhB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAC;AAC3D,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,0DAAC;uGAFhE,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EALf,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAKtC,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;oBACzB,SAAS,EAAE,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACjD,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC9B,qBAAA;AACF,iBAAA;;;MCOY,gBAAgB,CAAA;AACX,IAAA,SAAS,GAAG,KAAK,CAAa,EAAE,6CAAI,KAAK,EAAE,OAAO,EAAA,CAAA,GAAA,CAAhB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAC;AAClD,IAAA,cAAc,GAAG,QAAQ,CAAC,MAC3C,GAAG,CACD,0WAA0W,EAC1W,IAAI,CAAC,SAAS,EAAE,CACjB,0DACF;uGAPU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAb5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC9B,qBAAA;AACD,oBAAA,cAAc,EAAE;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,gBAAgB;AAC3B,4BAAA,MAAM,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;4BAClD,OAAO,EAAE,CAAC,sBAAsB,CAAC;AAClC,yBAAA;AACF,qBAAA;AACF,iBAAA;;;MCGY,yBAAyB,CAAA;AACpB,IAAA,SAAS,GAAG,KAAK,CAAa,EAAE,6CAAI,KAAK,EAAE,OAAO,EAAA,CAAA,GAAA,CAAhB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAC;AAClD,IAAA,cAAc,GAAG,QAAQ,CAAC,MAC3C,GAAG,CACD,gIAAgI,EAChI,IAAI,CAAC,SAAS,EAAE,CACjB,0DACF;uGAPU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAXzB,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAEjC;;;GAGT,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAJS,MAAM,6GAAE,OAAO,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAUd,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAbrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;oBAC/B,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;AAC3C,oBAAA,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC1B,oBAAA,QAAQ,EAAE;;;AAGT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC9B,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;;MCFY,uBAAuB,CAAA;AAClB,IAAA,SAAS,GAAG,KAAK,CAAa,EAAE,6CAAI,KAAK,EAAE,OAAO,EAAA,CAAA,GAAA,CAAhB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAC;AAClD,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,0DAAC;uGAFtF,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EARvB,CAAC,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAEvC,CAAA,wFAAA,CAA0F,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAD1F,MAAM,6GAAE,OAAO,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAOd,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAVnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,6BAA6B;oBACvC,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC;AACjD,oBAAA,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC1B,oBAAA,QAAQ,EAAE,CAAA,wFAAA,CAA0F;AACpG,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC9B,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;;MCFY,YAAY,CAAA;IACP,KAAK,GAAG,KAAK,CAAwB,KAAK,yCACxD,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAD+B;AAC1D,YAAA,SAAS,EAAE,gBAAgB;AAC5B,SAAA,CAAA,CAAA,CAAC;AAEc,IAAA,SAAS,GAAG,KAAK,CAAa,EAAE,6CAAI,KAAK,EAAE,OAAO,EAAA,CAAA,GAAA,CAAhB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAC;AAC3D,IAAA,cAAc,GAAG,QAAQ,CAAC,MAClC,GAAG,CAAC,2EAA2E,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,0DACnG;uGARU,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,ibAPb,CAAA,gBAAA,CAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAOjB,YAAY,EAAA,UAAA,EAAA,CAAA;kBATxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE,CAAA,gBAAA,CAAkB;AAC5B,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC7B,wBAAA,mBAAmB,EAAE,qBAAqB;AAC3C,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;;MCDY,gBAAgB,CAAA;AACX,IAAA,SAAS,GAAG,KAAK,CAAa,EAAE,6CAAI,KAAK,EAAE,OAAO,EAAA,CAAA,GAAA,CAAhB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAC;AAClD,IAAA,cAAc,GAAG,QAAQ,CAAC,MAC3C,GAAG,CAAC,gDAAgD,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,0DACxE;uGAJU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,iRANjB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAMD,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,EAAE;AACZ,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC9B,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;;MCCY,eAAe,CAAA;AACV,IAAA,SAAS,GAAG,KAAK,CAAa,EAAE,6CAAI,KAAK,EAAE,OAAO,EAAA,CAAA,GAAA,CAAhB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAC;AAC3D,IAAA,cAAc,GAAG,QAAQ,CAAC,MAClC,GAAG,CAAC,mEAAmE,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,0DAC3F;uGAJU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,gRANhB,CAAA,gBAAA,CAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAMjB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAR3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,QAAQ,EAAE,CAAA,gBAAA,CAAkB;AAC5B,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC9B,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;;MCGY,UAAU,CAAA;AACL,IAAA,SAAS,GAAG,KAAK,CAAa,EAAE,6CAAI,KAAK,EAAE,OAAO,EAAA,CAAA,GAAA,CAAhB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAC;AAClD,IAAA,cAAc,GAAG,QAAQ,CAAC,MAC3C,GAAG,CACD,yfAAyf,EACzf,IAAI,CAAC,SAAS,EAAE,CACjB,0DACF;uGAPU,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAU,wTAHX,CAAA,gBAAA,CAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAGjB,UAAU,EAAA,UAAA,EAAA,CAAA;kBATtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC9B,qBAAA;oBACD,cAAc,EAAE,CAAC,OAAO,CAAC;AACzB,oBAAA,QAAQ,EAAE,CAAA,gBAAA,CAAkB;oBAC5B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;;ACbD;;AAEG;AAoCI,MAAM,kBAAkB,GAAG;IAChC,WAAW;IACX,eAAe;IACf,YAAY;IACZ,uBAAuB;IACvB,yBAAyB;IACzB,gBAAgB;IAChB,eAAe;IACf,mBAAmB;IACnB,gBAAgB;;MAEL,uBAAuB,GAAG,CAAC,YAAY,EAAE,gBAAgB;AAC/D,MAAM,cAAc,GAAG,CAAC,GAAG,kBAAkB,EAAE,GAAG,uBAAuB,EAAE,OAAO,EAAE,UAAU;AAC9F,MAAM,iBAAiB,GAAG,CAAC,GAAG,cAAc,EAAE,UAAU,EAAE,cAAc;MAMlE,iBAAiB,CAAA;uGAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAlB5B,WAAW;YACX,eAAe;YACf,YAAY;YACZ,uBAAuB;YACvB,yBAAyB;YACzB,gBAAgB;YAChB,eAAe;YACf,mBAAmB;AACnB,YAAA,gBAAgB,aARhB,WAAW;YACX,eAAe;YACf,YAAY;YACZ,uBAAuB;YACvB,yBAAyB;YACzB,gBAAgB;YAChB,eAAe;YACf,mBAAmB;YACnB,gBAAgB,CAAA,EAAA,CAAA;AAUL,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAf5B,uBAAuB;YACvB,yBAAyB;YACzB,gBAAgB,CAAA,EAAA,CAAA;;2FAaL,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,kBAAkB,CAAC;AAChC,oBAAA,OAAO,EAAE,CAAC,GAAG,kBAAkB,CAAC;AACjC,iBAAA;;MAOY,aAAa,CAAA;uGAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAxBxB,WAAW;YACX,eAAe;YACf,YAAY;YACZ,uBAAuB;YACvB,yBAAyB;YACzB,gBAAgB;YAChB,eAAe;YACf,mBAAmB;YACnB,gBAAgB,EAEsB,YAAY,EAAE,gBAAgB,EACY,OAAO,EAAE,UAAU,CAAA,EAAA,OAAA,EAAA,CAXnG,WAAW;YACX,eAAe;YACf,YAAY;YACZ,uBAAuB;YACvB,yBAAyB;YACzB,gBAAgB;YAChB,eAAe;YACf,mBAAmB;AACnB,YAAA,gBAAgB,EAEsB,YAAY,EAAE,gBAAgB,EACY,OAAO,EAAE,UAAU,CAAA,EAAA,CAAA;AAaxF,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YArBxB,uBAAuB;YACvB,yBAAyB;YACzB,gBAAgB,CAAA,EAAA,CAAA;;2FAmBL,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC;AAC5B,oBAAA,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC;AAC7B,iBAAA;;MAOY,gBAAgB,CAAA;uGAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YA9B3B,WAAW;YACX,eAAe;YACf,YAAY;YACZ,uBAAuB;YACvB,yBAAyB;YACzB,gBAAgB;YAChB,eAAe;YACf,mBAAmB;AACnB,YAAA,gBAAgB,EAEsB,YAAY,EAAE,gBAAgB,EACY,OAAO,EAAE,UAAU,EAChD,UAAU,EAAE,cAAc,aAZ7E,WAAW;YACX,eAAe;YACf,YAAY;YACZ,uBAAuB;YACvB,yBAAyB;YACzB,gBAAgB;YAChB,eAAe;YACf,mBAAmB;YACnB,gBAAgB,EAEsB,YAAY,EAAE,gBAAgB,EACY,OAAO,EAAE,UAAU,EAChD,UAAU,EAAE,cAAc,CAAA,EAAA,CAAA;AAkBlE,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YA3B3B,uBAAuB;YACvB,yBAAyB;YACzB,gBAAgB,CAAA,EAAA,CAAA;;2FAyBL,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,iBAAiB,CAAC;AAC/B,oBAAA,OAAO,EAAE,CAAC,GAAG,iBAAiB,CAAC;AAChC,iBAAA;;;ACpED;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"menu.mjs","sources":["../../../projects/menu/src/lib/menu.ts","../../../projects/menu/src/lib/menu-bar.ts","../../../projects/menu/src/lib/menu-bar-item.ts","../../../projects/menu/src/lib/menu-group.ts","../../../projects/menu/src/lib/menu-item.ts","../../../projects/menu/src/lib/menu-item-check.ts","../../../projects/menu/src/lib/menu-item-checkbox.ts","../../../projects/menu/src/lib/menu-item-icon.ts","../../../projects/menu/src/lib/menu-item-radio.ts","../../../projects/menu/src/lib/menu-item-radio-indicator.ts","../../../projects/menu/src/lib/menu-item-sub-indicator.ts","../../../projects/menu/src/lib/menu-label.ts","../../../projects/menu/src/lib/menu-separator.ts","../../../projects/menu/src/lib/menu-shortcut.ts","../../../projects/menu/src/lib/sub-menu.ts","../../../projects/menu/src/public-api.ts","../../../projects/menu/src/menu.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { BrnMenu } from '@spartan-ng/brain/menu';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { type VariantProps, cva } from 'class-variance-authority';\nimport type { ClassValue } from 'clsx';\n\nexport const menuVariants = cva(\n 'tw:bg-popover tw:text-popover-foreground tw:data-[state=open]:animate-in tw:data-[state=closed]:animate-out tw:data-[state=closed]:fade-out-0 tw:data-[state=open]:fade-in-0 tw:data-[state=closed]:zoom-out-95 tw:data-[state=open]:zoom-in-95 tw:data-[side=bottom]:slide-in-from-top-2 tw:data-[side=left]:slide-in-from-right-2 tw:data-[side=right]:slide-in-from-left-2 tw:data-[side=top]:slide-in-from-bottom-2 tw:z-50 tw:min-w-[8rem] tw:origin-top tw:overflow-y-auto tw:overflow-x-hidden tw:rounded-md tw:border tw:p-1 tw:shadow-md',\n {\n variants: {\n variant: {\n default: 'tw:my-0.5',\n menubar: 'tw:my-2',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\ntype MenuVariants = VariantProps<typeof menuVariants>;\n\n@Component({\n selector: 'hlm-menu',\n host: {\n '[class]': '_computedClass()',\n },\n hostDirectives: [BrnMenu],\n template: ` <ng-content /> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmMenu {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() => hlm(menuVariants({ variant: this.variant() }), this.userClass()));\n\n public readonly variant = input<MenuVariants['variant']>('default');\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { BrnMenuBar } from '@spartan-ng/brain/menu';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-menu-bar',\n host: {\n '[class]': '_computedClass()',\n },\n hostDirectives: [BrnMenuBar],\n template: '<ng-content/>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmMenuBar {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected _computedClass = computed(() =>\n hlm(\n 'tw:bg-background tw:shadow-xs tw:flex tw:h-9 tw:items-center tw:gap-1 tw:rounded-md tw:border tw:p-1',\n this.userClass(),\n ),\n );\n}\n","import { Directive, computed, input } from '@angular/core';\nimport { BrnMenuItem } from '@spartan-ng/brain/menu';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Directive({\n selector: '[hlmMenuBarItem]',\n host: {\n '[class]': '_computedClass()',\n },\n hostDirectives: [BrnMenuItem],\n})\nexport class HlmMenuBarItem {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'tw:focus:bg-secondary tw:focus:text-secondary-foreground tw:aria-expanded:bg-secondary tw:aria-expanded:text-secondary-foreground tw:flex tw:select-none tw:items-center tw:rounded-sm tw:px-2 tw:py-1 tw:text-sm tw:font-medium tw:outline-none',\n this.userClass(),\n ),\n );\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { BrnMenuGroup } from '@spartan-ng/brain/menu';\n\n@Component({\n selector: 'hlm-menu-group',\n host: {\n class: 'block',\n },\n hostDirectives: [BrnMenuGroup],\n template: ` <ng-content /> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmMenuGroup {}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, computed, Directive, input } from '@angular/core';\nimport { BrnMenuItem } from '@spartan-ng/brain/menu';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { ClassValue } from 'clsx';\n\n@Directive({\n selector: '[hlmMenuItem]',\n host: {\n '[class]': '_computedClass()',\n '[attr.data-variant]': 'variant()',\n '[attr.data-inset]': 'inset() ? \"\" : null',\n },\n hostDirectives: [\n {\n directive: BrnMenuItem,\n inputs: ['disabled: disabled'],\n outputs: ['triggered: triggered'],\n },\n ],\n})\nexport class HlmMenuItem {\n public readonly variant = input<'default' | 'destructive'>('default');\n\n public readonly inset = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n `tw:hover:bg-secondary tw:hover:text-secondary-foreground tw:data-[variant=destructive]:text-destructive tw:data-[variant=destructive]:focus:bg-destructive/10 tw:dark:data-[variant=destructive]:focus:bg-destructive/20 tw:data-[variant=destructive]:focus:text-destructive tw:data-[variant=destructive]:*:[ng-icon]:!text-destructive tw:[&_ng-icon]:text-muted-foreground tw:relative tw:flex tw:w-full tw:cursor-default tw:select-none tw:items-center tw:gap-2 tw:rounded-sm tw:px-2 tw:py-1.5 tw:text-sm tw:outline-none tw:data-[disabled]:pointer-events-none tw:data-[inset]:pl-8 tw:data-[disabled]:opacity-50 tw:[&_ng-icon]:pointer-events-none tw:[&_ng-icon]:shrink-0`,\n this.userClass(),\n ),\n );\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideCheck } from '@ng-icons/lucide';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-menu-item-check',\n providers: [provideIcons({ lucideCheck })],\n imports: [NgIcon, HlmIcon],\n template: `\n <!-- Using 1rem for size to mimick h-4 w-4 -->\n <ng-icon hlm size=\"1rem\" name=\"lucideCheck\" />\n `,\n host: {\n '[class]': '_computedClass()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmMenuItemCheck {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected _computedClass = computed(() =>\n hlm(\n 'tw:absolute tw:left-2 tw:flex tw:h-3.5 tw:w-3.5 tw:items-center tw:justify-center tw:opacity-0 tw:group-[.checked]:opacity-100',\n this.userClass(),\n ),\n );\n}\n","import { Directive, computed, input } from '@angular/core';\nimport { BrnMenuItemCheckbox } from '@spartan-ng/brain/menu';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Directive({\n selector: '[hlmMenuItemCheckbox]',\n host: {\n '[class]': '_computedClass()',\n },\n hostDirectives: [\n {\n directive: BrnMenuItemCheckbox,\n inputs: ['disabled: disabled', 'checked: checked'],\n outputs: ['triggered: triggered'],\n },\n ],\n})\nexport class HlmMenuItemCheckbox {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'tw:hover:bg-secondary tw:hover:text-secondary-foreground tw:focus-visible:bg-secondary tw:focus-visible:text-secondary-foreground tw:group tw:relative tw:flex tw:w-full tw:cursor-default tw:select-none tw:items-center tw:rounded-sm tw:py-1.5 tw:pl-8 tw:pr-2 tw:text-sm tw:outline-none tw:transition-colors tw:disabled:pointer-events-none tw:disabled:opacity-50',\n this.userClass(),\n ),\n );\n}\n","import { Directive, computed, input } from '@angular/core';\nimport { provideHlmIconConfig } from '@egose/shadcn-theme-ng/icon';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Directive({\n selector: '[hlmMenuIcon]',\n providers: [provideHlmIconConfig({ size: 'sm' })],\n host: {\n '[class]': '_computedClass()',\n },\n})\nexport class HlmMenuItemIcon {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected _computedClass = computed(() => hlm('tw:mr-2', this.userClass()));\n}\n","import { Directive, computed, input } from '@angular/core';\nimport { BrnMenuItemRadio } from '@spartan-ng/brain/menu';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Directive({\n selector: '[hlmMenuItemRadio]',\n host: {\n '[class]': '_computedClass()',\n },\n hostDirectives: [\n {\n directive: BrnMenuItemRadio,\n inputs: ['disabled: disabled', 'checked: checked'],\n outputs: ['triggered: triggered'],\n },\n ],\n})\nexport class HlmMenuItemRadio {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'tw:hover:bg-secondary tw:hover:text-secondary-foreground tw:focus-visible:bg-secondary tw:focus-visible:text-secondary-foreground tw:group tw:relative tw:flex tw:w-full tw:cursor-default tw:select-none tw:items-center tw:rounded-sm tw:py-1.5 tw:pl-8 tw:pr-2 tw:text-sm tw:outline-none tw:transition-colors tw:disabled:pointer-events-none tw:disabled:opacity-50',\n this.userClass(),\n ),\n );\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideCircle } from '@ng-icons/lucide';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-menu-item-radio',\n providers: [provideIcons({ lucideCircle })],\n imports: [NgIcon, HlmIcon],\n template: `\n <!-- Using 0.5rem for size to mimick h-2 w-2 -->\n <ng-icon hlm size=\"0.5rem\" class=\"tw:*:*:fill-current\" name=\"lucideCircle\" />\n `,\n host: {\n '[class]': '_computedClass()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmMenuItemRadioIndicator {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'tw:absolute tw:left-2 tw:flex tw:h-3.5 tw:w-3.5 tw:items-center tw:justify-center tw:opacity-0 tw:group-[.checked]:opacity-100',\n this.userClass(),\n ),\n );\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronRight } from '@ng-icons/lucide';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-menu-item-sub-indicator',\n providers: [provideIcons({ lucideChevronRight })],\n imports: [NgIcon, HlmIcon],\n template: ` <ng-icon hlm size=\"sm\" name=\"lucideChevronRight\" class=\"tw:text-popover-foreground\" /> `,\n host: {\n '[class]': '_computedClass()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmMenuItemSubIndicator {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() => hlm('tw:ml-auto tw:size-4', this.userClass()));\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-menu-label',\n template: ` <ng-content /> `,\n host: {\n '[class]': '_computedClass()',\n '[attr.data-inset]': 'inset() ? \"\" : null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmMenuLabel {\n public readonly inset = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected _computedClass = computed(() =>\n hlm('tw:block tw:px-2 tw:py-1.5 tw:text-sm tw:font-semibold tw:data-[inset]:pl-8', this.userClass()),\n );\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-menu-separator',\n template: '',\n host: {\n '[class]': '_computedClass()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmMenuSeparator {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm('tw:bg-border tw:-mx-1 tw:my-1 tw:block tw:h-px', this.userClass()),\n );\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-menu-shortcut',\n template: ` <ng-content /> `,\n host: {\n '[class]': '_computedClass()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmMenuShortcut {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected _computedClass = computed(() =>\n hlm('tw:text-muted-foreground tw:ml-auto tw:text-xs tw:tracking-widest', this.userClass()),\n );\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { BrnMenu } from '@spartan-ng/brain/menu';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-sub-menu',\n host: {\n '[class]': '_computedClass()',\n },\n hostDirectives: [BrnMenu],\n template: ` <ng-content /> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmSubMenu {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'tw:border-border tw:bg-popover tw:text-popover-foreground tw:data-[state=open]:animate-in tw:data-[state=closed]:animate-out tw:data-[state=closed]:fade-out-0 tw:data-[state=open]:fade-in-0 tw:data-[state=closed]:zoom-out-95 tw:data-[state=open]:zoom-in-95 tw:data-[side=bottom]:slide-in-from-top-2 tw:data-[side=left]:slide-in-from-right-2 tw:data-[side=right]:slide-in-from-left-2 tw:data-[side=top]:slide-in-from-bottom-2 tw:min-w-[8rem] tw:overflow-hidden tw:rounded-md tw:border tw:p-1 tw:shadow-lg',\n this.userClass(),\n ),\n );\n}\n","/*\n * Public API Surface of menu\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmMenu } from './lib/menu';\nimport { HlmMenuBar } from './lib/menu-bar';\nimport { HlmMenuBarItem } from './lib/menu-bar-item';\nimport { HlmMenuGroup } from './lib/menu-group';\nimport { HlmMenuItem } from './lib/menu-item';\nimport { HlmMenuItemCheck } from './lib/menu-item-check';\nimport { HlmMenuItemCheckbox } from './lib/menu-item-checkbox';\nimport { HlmMenuItemIcon } from './lib/menu-item-icon';\nimport { HlmMenuItemRadio } from './lib/menu-item-radio';\nimport { HlmMenuItemRadioIndicator } from './lib/menu-item-radio-indicator';\nimport { HlmMenuItemSubIndicator } from './lib/menu-item-sub-indicator';\nimport { HlmMenuLabel } from './lib/menu-label';\nimport { HlmMenuSeparator } from './lib/menu-separator';\nimport { HlmMenuShortcut } from './lib/menu-shortcut';\nimport { HlmSubMenu } from './lib/sub-menu';\n\nexport * from './lib/menu';\nexport * from './lib/menu-bar';\nexport * from './lib/menu-bar-item';\nexport * from './lib/menu-group';\nexport * from './lib/menu-item';\nexport * from './lib/menu-item-check';\nexport * from './lib/menu-item-checkbox';\nexport * from './lib/menu-item-icon';\nexport * from './lib/menu-item-radio';\nexport * from './lib/menu-item-radio-indicator';\nexport * from './lib/menu-item-sub-indicator';\nexport * from './lib/menu-label';\nexport * from './lib/menu-separator';\nexport * from './lib/menu-shortcut';\nexport * from './lib/sub-menu';\n\nexport const HlmMenuItemImports = [\n HlmMenuItem,\n HlmMenuItemIcon,\n HlmMenuGroup,\n HlmMenuItemSubIndicator,\n HlmMenuItemRadioIndicator,\n HlmMenuItemCheck,\n HlmMenuShortcut,\n HlmMenuItemCheckbox,\n HlmMenuItemRadio,\n];\nexport const HlmMenuStructureImports = [HlmMenuLabel, HlmMenuSeparator] as const;\nexport const HlmMenuImports = [...HlmMenuItemImports, ...HlmMenuStructureImports, HlmMenu, HlmSubMenu] as const;\nexport const HlmMenuBarImports = [...HlmMenuImports, HlmMenuBar, HlmMenuBarItem] as const;\n\n@NgModule({\n imports: [...HlmMenuItemImports],\n exports: [...HlmMenuItemImports],\n})\nexport class HlmMenuItemModule {}\n\n@NgModule({\n imports: [...HlmMenuImports],\n exports: [...HlmMenuImports],\n})\nexport class HlmMenuModule {}\n\n@NgModule({\n imports: [...HlmMenuBarImports],\n exports: [...HlmMenuBarImports],\n})\nexport class HlmMenuBarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -7,25 +7,19 @@ import { hlm } from '@egose/shadcn-theme-ng/utils';
|
|
|
7
7
|
class HlmSpinner {
|
|
8
8
|
icon = tablerLoader2;
|
|
9
9
|
// Variants
|
|
10
|
-
size = input('
|
|
10
|
+
size = input('1.5rem', ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
11
11
|
show = input(true, ...(ngDevMode ? [{ debugName: "show" }] : []));
|
|
12
12
|
// Optional extra classes from user
|
|
13
13
|
wrapperClass = input('', ...(ngDevMode ? [{ debugName: "wrapperClass", alias: 'class' }] : [{ alias: 'class' }]));
|
|
14
14
|
spinnerClass = input('', ...(ngDevMode ? [{ debugName: "spinnerClass", alias: 'spinnerClass' }] : [{ alias: 'spinnerClass' }]));
|
|
15
|
-
// Map sizes to Tailwind classes
|
|
16
|
-
sizeClasses = {
|
|
17
|
-
small: 'size-6!',
|
|
18
|
-
medium: 'size-8!',
|
|
19
|
-
large: 'size-12!',
|
|
20
|
-
};
|
|
21
15
|
// Outer container class (visibility + layout)
|
|
22
16
|
_containerClass = computed(() => hlm('flex-col items-center justify-center', // base container styles
|
|
23
17
|
this.show() ? 'flex' : 'hidden', this.wrapperClass()), ...(ngDevMode ? [{ debugName: "_containerClass" }] : []));
|
|
24
18
|
// SVG spinner class (size + animation + color)
|
|
25
|
-
_iconClass = computed(() => hlm('[&>svg]:animate-spin [&>svg]:text-primary', // base svg styles
|
|
26
|
-
this.
|
|
19
|
+
_iconClass = computed(() => hlm('[&>svg]:animate-spin [&>svg]:text-primary [&>svg]:w-[inherit]! [&>svg]:h-[inherit]!', // base svg styles
|
|
20
|
+
this.spinnerClass()), ...(ngDevMode ? [{ debugName: "_iconClass" }] : []));
|
|
27
21
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmSpinner, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.1", type: HlmSpinner, isStandalone: true, selector: "hlm-spinner", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, show: { classPropertyName: "show", publicName: "show", isSignal: true, isRequired: false, transformFunction: null }, wrapperClass: { classPropertyName: "wrapperClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, spinnerClass: { classPropertyName: "spinnerClass", publicName: "spinnerClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "status" }, properties: { "class": "_containerClass()" } }, ngImport: i0, template: `<ng-icon [svg]="icon" [class]="_iconClass()" />`, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
22
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.1", type: HlmSpinner, isStandalone: true, selector: "hlm-spinner", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, show: { classPropertyName: "show", publicName: "show", isSignal: true, isRequired: false, transformFunction: null }, wrapperClass: { classPropertyName: "wrapperClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, spinnerClass: { classPropertyName: "spinnerClass", publicName: "spinnerClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "status" }, properties: { "class": "_containerClass()" } }, ngImport: i0, template: `<ng-icon [svg]="icon" [size]="size()" [class]="_iconClass()" />`, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
29
23
|
}
|
|
30
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: HlmSpinner, decorators: [{
|
|
31
25
|
type: Component,
|
|
@@ -36,7 +30,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
36
30
|
'[class]': '_containerClass()',
|
|
37
31
|
role: 'status',
|
|
38
32
|
},
|
|
39
|
-
template: `<ng-icon [svg]="icon" [class]="_iconClass()" />`,
|
|
33
|
+
template: `<ng-icon [svg]="icon" [size]="size()" [class]="_iconClass()" />`,
|
|
40
34
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
41
35
|
standalone: true,
|
|
42
36
|
}]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spinner.mjs","sources":["../../../projects/spinner/src/lib/spinner.ts","../../../projects/spinner/src/public-api.ts","../../../projects/spinner/src/spinner.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { type ClassValue } from 'clsx';\nimport { NgIcon } from '@ng-icons/core';\nimport { tablerLoader2 } from '@ng-icons/tabler-icons';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\n\
|
|
1
|
+
{"version":3,"file":"spinner.mjs","sources":["../../../projects/spinner/src/lib/spinner.ts","../../../projects/spinner/src/public-api.ts","../../../projects/spinner/src/spinner.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { type ClassValue } from 'clsx';\nimport { NgIcon } from '@ng-icons/core';\nimport { tablerLoader2 } from '@ng-icons/tabler-icons';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\n\n@Component({\n selector: 'hlm-spinner',\n imports: [NgIcon],\n host: {\n '[class]': '_containerClass()',\n role: 'status',\n },\n template: `<ng-icon [svg]=\"icon\" [size]=\"size()\" [class]=\"_iconClass()\" />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class HlmSpinner {\n icon = tablerLoader2;\n\n // Variants\n public readonly size = input<string>('1.5rem');\n public readonly show = input<boolean>(true);\n\n // Optional extra classes from user\n public readonly wrapperClass = input<ClassValue>('', { alias: 'class' });\n public readonly spinnerClass = input<ClassValue>('', { alias: 'spinnerClass' });\n\n // Outer container class (visibility + layout)\n protected readonly _containerClass = computed(() =>\n hlm(\n 'tw:flex-col tw:items-center tw:justify-center', // base container styles\n this.show() ? 'tw:flex' : 'tw:hidden',\n this.wrapperClass(),\n ),\n );\n\n // SVG spinner class (size + animation + color)\n protected readonly _iconClass = computed(() =>\n hlm(\n 'tw:[&>svg]:animate-spin tw:[&>svg]:text-primary tw:[&>svg]:w-[inherit]! tw:[&>svg]:h-[inherit]!', // base svg styles\n this.spinnerClass(),\n ),\n );\n}\n","/*\n * Public API Surface of spinner\n */\n\nimport { NgModule } from '@angular/core';\nimport { HlmSpinner } from './lib/spinner';\n\nexport * from './lib/spinner';\n\nexport const HlmSpinnerImports = [HlmSpinner] as const;\n\n@NgModule({\n imports: [...HlmSpinnerImports],\n exports: [...HlmSpinnerImports],\n})\nexport class HlmSpinnerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/spinner/index.d.ts
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { ClassValue } from 'clsx';
|
|
3
3
|
|
|
4
|
-
type SpinnerSize = 'small' | 'medium' | 'large';
|
|
5
4
|
declare class HlmSpinner {
|
|
6
5
|
icon: string;
|
|
7
|
-
readonly size: _angular_core.InputSignal<
|
|
6
|
+
readonly size: _angular_core.InputSignal<string>;
|
|
8
7
|
readonly show: _angular_core.InputSignal<boolean>;
|
|
9
8
|
readonly wrapperClass: _angular_core.InputSignal<ClassValue>;
|
|
10
9
|
readonly spinnerClass: _angular_core.InputSignal<ClassValue>;
|
|
11
|
-
private readonly sizeClasses;
|
|
12
10
|
protected readonly _containerClass: _angular_core.Signal<string>;
|
|
13
11
|
protected readonly _iconClass: _angular_core.Signal<string>;
|
|
14
12
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmSpinner, never>;
|