{"version":3,"file":"ngx-com-components-empty-state.mjs","sources":["../../../projects/com/components/empty-state/empty-state.variants.ts","../../../projects/com/components/empty-state/empty-state.component.ts","../../../projects/com/components/empty-state/empty-state-icon.directive.ts","../../../projects/com/components/empty-state/empty-state-title.directive.ts","../../../projects/com/components/empty-state/empty-state-description.directive.ts","../../../projects/com/components/empty-state/empty-state-actions.directive.ts","../../../projects/com/components/empty-state/ngx-com-components-empty-state.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\n\nexport type EmptyStateSize = 'sm' | 'md' | 'lg';\nexport type EmptyStateAlign = 'start' | 'center';\nexport type EmptyStateOrientation = 'vertical' | 'horizontal';\n\n/**\n * CVA variants for the empty state container.\n *\n * @tokens `--color-foreground`, `--color-muted`, `--color-muted-foreground`\n */\nexport const emptyStateVariants: (props?: {\n  size?: EmptyStateSize;\n  align?: EmptyStateAlign;\n  orientation?: EmptyStateOrientation;\n}) => string = cva('flex', {\n  variants: {\n    orientation: {\n      vertical: 'flex-col',\n      horizontal: 'flex-row',\n    },\n    align: {\n      center: 'items-center text-center',\n      start: 'items-start text-left',\n    },\n    size: {\n      sm: 'gap-2 py-4',\n      md: 'gap-3 py-6',\n      lg: 'gap-4 py-10',\n    },\n  },\n  compoundVariants: [\n    { orientation: 'horizontal', align: 'center', class: 'justify-center' },\n    { orientation: 'horizontal', align: 'start', class: 'justify-start' },\n  ],\n  defaultVariants: {\n    size: 'md',\n    align: 'center',\n    orientation: 'vertical',\n  },\n});\n\n/**\n * CVA variants for the empty state icon container.\n *\n * @tokens `--color-muted`, `--color-muted-foreground`\n */\nexport const emptyStateIconVariants: (props?: { size?: EmptyStateSize }) => string = cva(\n  'flex items-center justify-center shrink-0 bg-muted text-muted-foreground',\n  {\n    variants: {\n      size: {\n        sm: 'size-10 rounded-card',\n        md: 'size-14 rounded-card',\n        lg: 'size-20 rounded-card',\n      },\n    },\n    defaultVariants: {\n      size: 'md',\n    },\n  }\n);\n\n/**\n * CVA variants for the empty state title.\n *\n * @tokens `--color-foreground`\n */\nexport const emptyStateTitleVariants: (props?: { size?: EmptyStateSize }) => string = cva(\n  'font-heading tracking-tight text-foreground',\n  {\n    variants: {\n      size: {\n        sm: 'text-sm font-medium',\n        md: 'text-base font-semibold',\n        lg: 'text-lg font-semibold',\n      },\n    },\n    defaultVariants: {\n      size: 'md',\n    },\n  }\n);\n\n/**\n * CVA variants for the empty state description.\n *\n * @tokens `--color-muted-foreground`\n */\nexport const emptyStateDescriptionVariants: (props?: { size?: EmptyStateSize }) => string = cva(\n  'text-muted-foreground',\n  {\n    variants: {\n      size: {\n        sm: 'text-xs max-w-[200px]',\n        md: 'text-sm max-w-xs',\n        lg: 'text-base max-w-sm',\n      },\n    },\n    defaultVariants: {\n      size: 'md',\n    },\n  }\n);\n\n/**\n * CVA variants for the empty state actions container.\n */\nexport const emptyStateActionsVariants: (props?: { size?: EmptyStateSize }) => string = cva(\n  'flex flex-wrap items-center justify-center',\n  {\n    variants: {\n      size: {\n        sm: 'gap-2 pt-1',\n        md: 'gap-2.5 pt-2',\n        lg: 'gap-3 pt-3',\n      },\n    },\n    defaultVariants: {\n      size: 'md',\n    },\n  }\n);\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  computed,\n  input,\n  ViewEncapsulation,\n} from '@angular/core';\nimport type { InputSignal, Signal } from '@angular/core';\nimport { mergeClasses } from 'ngx-com/utils';\nimport { emptyStateVariants } from './empty-state.variants';\nimport type { EmptyStateSize, EmptyStateAlign, EmptyStateOrientation } from './empty-state.variants';\n\n/**\n * Empty state component - a placeholder surface for when there is no data to display.\n *\n * Common use cases include:\n * - Empty lists or tables (\"No results found\")\n * - Initial states before user action (\"Create your first project\")\n * - Search results with no matches (\"No items match your search\")\n * - Error recovery states (\"Something went wrong. Try again.\")\n *\n * The component is a pure layout container that accepts projected content through attribute directives.\n *\n * @tokens `--color-muted`, `--color-muted-foreground`, `--color-foreground`\n *\n * @example Minimal empty state\n * ```html\n * <com-empty-state>\n *   <div comEmptyStateIcon>\n *     <com-icon name=\"inbox\" size=\"xl\" />\n *   </div>\n *   <h3 comEmptyStateTitle>No messages</h3>\n * </com-empty-state>\n * ```\n *\n * @example Full empty state with description and action\n * ```html\n * <com-empty-state>\n *   <div comEmptyStateIcon>\n *     <com-icon name=\"folder-open\" size=\"xl\" />\n *   </div>\n *   <h3 comEmptyStateTitle>No projects yet</h3>\n *   <p comEmptyStateDescription>\n *     Create your first project to get started organizing your work.\n *   </p>\n *   <div comEmptyStateActions>\n *     <button comButton>Create Project</button>\n *   </div>\n * </com-empty-state>\n * ```\n *\n * @example Search empty state with secondary action\n * ```html\n * <com-empty-state>\n *   <div comEmptyStateIcon>\n *     <com-icon name=\"search-x\" size=\"xl\" />\n *   </div>\n *   <h3 comEmptyStateTitle>No results found</h3>\n *   <p comEmptyStateDescription>\n *     Try adjusting your search terms or filters.\n *   </p>\n *   <div comEmptyStateActions>\n *     <button comButton variant=\"outline\">Clear Filters</button>\n *     <button comButton>New Search</button>\n *   </div>\n * </com-empty-state>\n * ```\n *\n * @example Small size for inline contexts\n * ```html\n * <com-empty-state size=\"sm\">\n *   <div comEmptyStateIcon>\n *     <com-icon name=\"list\" size=\"lg\" />\n *   </div>\n *   <h4 comEmptyStateTitle>No items</h4>\n * </com-empty-state>\n * ```\n *\n * @example Large size for full-page empty states\n * ```html\n * <com-empty-state size=\"lg\">\n *   <div comEmptyStateIcon>\n *     <com-icon name=\"rocket\" size=\"2xl\" />\n *   </div>\n *   <h2 comEmptyStateTitle>Welcome to Acme</h2>\n *   <p comEmptyStateDescription>\n *     Your dashboard is ready. Start by creating your first resource.\n *   </p>\n *   <div comEmptyStateActions>\n *     <button comButton size=\"lg\">Get Started</button>\n *   </div>\n * </com-empty-state>\n * ```\n *\n * @example Horizontal orientation\n * ```html\n * <com-empty-state orientation=\"horizontal\" align=\"start\">\n *   <div comEmptyStateIcon>\n *     <com-icon name=\"alert-circle\" size=\"lg\" />\n *   </div>\n *   <h4 comEmptyStateTitle>No notifications</h4>\n *   <p comEmptyStateDescription>You're all caught up!</p>\n * </com-empty-state>\n * ```\n *\n * @example Left-aligned for sidebar contexts\n * ```html\n * <com-empty-state align=\"start\">\n *   <div comEmptyStateIcon>\n *     <com-icon name=\"users\" size=\"lg\" />\n *   </div>\n *   <h4 comEmptyStateTitle>No team members</h4>\n *   <p comEmptyStateDescription>Invite people to collaborate.</p>\n *   <div comEmptyStateActions>\n *     <button comButton size=\"sm\">Invite</button>\n *   </div>\n * </com-empty-state>\n * ```\n */\n@Component({\n  selector: 'com-empty-state',\n  exportAs: 'comEmptyState',\n  template: `<ng-content />`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    '[class]': 'computedClass()',\n  },\n})\nexport class ComEmptyState {\n  /** Controls overall scale: icon container size, text sizes, spacing. */\n  readonly size: InputSignal<EmptyStateSize> = input<EmptyStateSize>('md');\n\n  /** Horizontal alignment of content. */\n  readonly align: InputSignal<EmptyStateAlign> = input<EmptyStateAlign>('center');\n\n  /** Layout direction: vertical stacks content, horizontal places icon beside text. */\n  readonly orientation: InputSignal<EmptyStateOrientation> = input<EmptyStateOrientation>('vertical');\n\n  /** Consumer CSS classes - merged with variant classes. */\n  readonly userClass: InputSignal<string> = input<string>('', { alias: 'class' });\n\n  protected readonly computedClass: Signal<string> = computed(() =>\n    mergeClasses(\n      emptyStateVariants({\n        size: this.size(),\n        align: this.align(),\n        orientation: this.orientation(),\n      }),\n      this.userClass()\n    )\n  );\n}\n","import { computed, Directive, inject, type Signal } from '@angular/core';\nimport { ComEmptyState } from './empty-state.component';\nimport { emptyStateIconVariants } from './empty-state.variants';\n\n/**\n * Empty state icon container directive - styled circular background for icon/illustration.\n *\n * Apply to a container element. Place any content inside (typically `com-icon`).\n * Styling automatically adapts to the parent's `size` input.\n *\n * @example\n * ```html\n * <div comEmptyStateIcon>\n *   <com-icon name=\"inbox\" size=\"xl\" />\n * </div>\n * ```\n *\n * @example With custom illustration\n * ```html\n * <div comEmptyStateIcon>\n *   <img src=\"/assets/empty-mailbox.svg\" alt=\"\" class=\"size-8\" />\n * </div>\n * ```\n *\n * @tokens `--color-muted`, `--color-muted-foreground`\n */\n@Directive({\n  selector: '[comEmptyStateIcon]',\n  host: {\n    '[class]': 'computedClass()',\n  },\n})\nexport class ComEmptyStateIcon {\n  private readonly emptyState = inject(ComEmptyState);\n\n  protected readonly computedClass: Signal<string> = computed(() =>\n    emptyStateIconVariants({ size: this.emptyState.size() })\n  );\n}\n","import { computed, Directive, inject, type Signal } from '@angular/core';\nimport { ComEmptyState } from './empty-state.component';\nimport { emptyStateTitleVariants } from './empty-state.variants';\n\n/**\n * Empty state title directive - styled heading text.\n *\n * Apply to any heading element. Consumer picks the semantic level (h2, h3, etc.).\n * Styling automatically adapts to the parent's `size` input.\n *\n * @example\n * ```html\n * <h3 comEmptyStateTitle>No projects yet</h3>\n * ```\n *\n * @tokens `--color-foreground`\n */\n@Directive({\n  selector: '[comEmptyStateTitle]',\n  host: {\n    '[class]': 'computedClass()',\n  },\n})\nexport class ComEmptyStateTitle {\n  private readonly emptyState = inject(ComEmptyState);\n\n  protected readonly computedClass: Signal<string> = computed(() =>\n    emptyStateTitleVariants({ size: this.emptyState.size() })\n  );\n}\n","import { computed, Directive, inject, type Signal } from '@angular/core';\nimport { ComEmptyState } from './empty-state.component';\nimport { emptyStateDescriptionVariants } from './empty-state.variants';\n\n/**\n * Empty state description directive - supporting text.\n *\n * Apply to a paragraph or text element.\n * Styling automatically adapts to the parent's `size` input.\n *\n * @example\n * ```html\n * <p comEmptyStateDescription>\n *   Create your first project to get started organizing your work.\n * </p>\n * ```\n *\n * @tokens `--color-muted-foreground`\n */\n@Directive({\n  selector: '[comEmptyStateDescription]',\n  host: {\n    '[class]': 'computedClass()',\n  },\n})\nexport class ComEmptyStateDescription {\n  private readonly emptyState = inject(ComEmptyState);\n\n  protected readonly computedClass: Signal<string> = computed(() =>\n    emptyStateDescriptionVariants({ size: this.emptyState.size() })\n  );\n}\n","import { computed, Directive, inject, type Signal } from '@angular/core';\nimport { ComEmptyState } from './empty-state.component';\nimport { emptyStateActionsVariants } from './empty-state.variants';\n\n/**\n * Empty state actions directive - container for action buttons.\n *\n * Apply to a container element. Place buttons inside.\n * Styling automatically adapts to the parent's `size` input.\n *\n * @tokens none\n *\n * @example Single action\n * ```html\n * <div comEmptyStateActions>\n *   <button comButton>Create Project</button>\n * </div>\n * ```\n *\n * @example Multiple actions\n * ```html\n * <div comEmptyStateActions>\n *   <button comButton variant=\"outline\">Clear Filters</button>\n *   <button comButton>New Search</button>\n * </div>\n * ```\n */\n@Directive({\n  selector: '[comEmptyStateActions]',\n  host: {\n    '[class]': 'computedClass()',\n  },\n})\nexport class ComEmptyStateActions {\n  private readonly emptyState = inject(ComEmptyState);\n\n  protected readonly computedClass: Signal<string> = computed(() =>\n    emptyStateActionsVariants({ size: this.emptyState.size() })\n  );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}