{"version":3,"file":"main.cjs","sources":["../../../src/analyticsFramework/main.ts"],"sourcesContent":["/**\n * @alpha\n */\n\nimport { reportInteraction } from '../analytics/utils';\n\nimport { type DefineFeatureEventsOptions, type Exact, type Event, type EventProperty } from './types';\n\nexport const defineFeatureEvents = (\n  repo: Event['repo'] = 'grafana',\n  feature: Event['feature'],\n  defaultProps?: EventProperty,\n  factoryOptions?: DefineFeatureEventsOptions\n) => {\n  return <P extends EventProperty | undefined = undefined>(\n      eventName: string,\n      eventOptions?: DefineFeatureEventsOptions\n    ) =>\n    <A extends P extends EventProperty ? P : never>(props: P extends EventProperty ? Exact<P, A> : void) => {\n      // Per-event silent overrides factory-level silent so a single factory\n      // can mix loud (analytics) and silent (CUJ-internal) events.\n      const silent = eventOptions?.silent ?? factoryOptions?.silent ?? false;\n      reportInteraction(\n        `${repo}_${feature}_${eventName}`,\n        { ...defaultProps, ...(props ?? undefined) },\n        silent ? { silent: true } : undefined\n      );\n    };\n};\n"],"names":["reportInteraction"],"mappings":";;;;;;;AAQO,MAAM,sBAAsB,CACjC,IAAA,GAAsB,SAAA,EACtB,OAAA,EACA,cACA,cAAA,KACG;AACH,EAAA,OAAO,CACH,SAAA,EACA,YAAA,KAEF,CAAgD,KAAA,KAAwD;AAlB5G,IAAA,IAAA,EAAA,EAAA,EAAA;AAqBM,IAAA,MAAM,UAAS,EAAA,GAAA,CAAA,EAAA,GAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAc,MAAA,KAAd,IAAA,GAAA,EAAA,GAAwB,cAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAgB,WAAxC,IAAA,GAAA,EAAA,GAAkD,KAAA;AACjE,IAAAA,uBAAA;AAAA,MACE,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,OAAO,IAAI,SAAS,CAAA,CAAA;AAAA,MAC/B,EAAE,GAAG,YAAA,EAAc,GAAI,wBAAS,KAAA,CAAA,EAAW;AAAA,MAC3C,MAAA,GAAS,EAAE,MAAA,EAAQ,IAAA,EAAK,GAAI,KAAA;AAAA,KAC9B;AAAA,EACF,CAAA;AACJ;;;;"}