{
  "$schema": "https://uipkge.dev/schema/registry-item.json",
  "name": "event-list",
  "title": "Event List",
  "type": "registry:block",
  "description": "List of upcoming events in a SectionCard. Spell rows out inline with DataListItem — title + Clock date + optional status Badge per row.",
  "categories": [
    "productivity",
    "dashboard"
  ],
  "files": [
    {
      "path": "packages/elements-lit/src/blocks/event-list/event-list.ts",
      "content": "import { LitElement, css, html } from 'lit'\nimport { tailwind } from '../../lib/styles'\nimport { ThemeController } from '../../lib/theme'\n// Side-effect imports: register the composed elements for standalone use\n// (consumers who install only this block still get working primitives).\nimport '../../components/badge/badge'\nimport '../../components/data-list/data-list'\nimport '../../components/section-card/section-card'\n\n/**\n * <uip-event-list> — the registry EventList block as a web component.\n *\n * Class strings are React's EventList verbatim. `heading` is React's `title`\n * (`title` is taken by HTMLElement). Rows are light-DOM\n * `<uip-data-list-item>` children (React's `children`), spelled out inline\n * after install — DataListItem, Badge, and Clock markup copy the demo.\n */\nexport class UipEventList extends LitElement {\n  static shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true }\n  // :host display can't be a utility class (the host has no template of its own).\n  static styles = [tailwind, css`:host { display: block; }`]\n\n  static properties = {\n    heading: {},\n    description: {},\n  }\n\n  /** React's `title` (`title` is taken by HTMLElement). */\n  heading = 'Upcoming Events'\n  description?: string\n\n  constructor() {\n    super()\n    new ThemeController(this)\n  }\n\n  connectedCallback() {\n    super.connectedCallback()\n    this.setAttribute('data-uipkge', '')\n    this.setAttribute('data-slot', 'event-list')\n  }\n\n  render() {\n    return html`\n      <uip-section-card data-slot=\"event-list\" heading=${this.heading} description=${this.description ?? ''}>\n        <uip-data-list><slot></slot></uip-data-list>\n      </uip-section-card>\n    `\n  }\n}\n\ncustomElements.get('uip-event-list') || customElements.define('uip-event-list', UipEventList)\n\ndeclare global {\n  interface HTMLElementTagNameMap {\n    'uip-event-list': UipEventList\n  }\n}\n",
      "type": "registry:file",
      "target": "src/uip/blocks/event-list/event-list.ts"
    }
  ],
  "dependencies": [
    "lit"
  ],
  "registryDependencies": [
    "https://uipkge.dev/r/lit/badge.json",
    "https://uipkge.dev/r/lit/data-list.json",
    "https://uipkge.dev/r/lit/lit-core.json",
    "https://uipkge.dev/r/lit/section-card.json"
  ]
}
