{"version":3,"file":"davidlj95-ngx-meta-twitter-card.mjs","sources":["../../src/twitter-card/src/utils/with-twitter-card-name-attribute.ts","../../src/twitter-card/src/utils/provide-twitter-card-manager.ts","../../src/twitter-card/src/managers/provide-twitter-card-card.ts","../../src/twitter-card/src/managers/twitter-card-type.ts","../../src/twitter-card/src/managers/provide-twitter-card-creator.ts","../../src/twitter-card/src/module-name.ts","../../src/twitter-card/src/managers/provide-twitter-card-description.ts","../../src/twitter-card/src/managers/provide-twitter-card-image.ts","../../src/twitter-card/src/managers/provide-twitter-card-site.ts","../../src/twitter-card/src/managers/provide-twitter-card-title.ts","../../src/twitter-card/src/providers/provide-ngx-meta-twitter-card.ts","../../src/twitter-card/src/providers/ngx-meta-twitter-card.module.ts","../../src/twitter-card/davidlj95-ngx-meta-twitter-card.ts"],"sourcesContent":["import {\n  _composedMetadataName,\n  withNameAttribute,\n} from '@davidlj95/ngx-meta/core'\n\nexport const withTwitterCardNameAttribute = (...nameParts: readonly string[]) =>\n  withNameAttribute(_composedMetadataName('twitter', ...nameParts))\n","import {\n  _provideNgxMetaModuleManager,\n  _ProvideNgxMetaModuleManagerOptions,\n  _withModuleManagerNameAttribute,\n  withOptions,\n} from '@davidlj95/ngx-meta/core'\nimport { TwitterCard, TwitterCardMetadata } from '../types'\nimport { withTwitterCardNameAttribute } from './with-twitter-card-name-attribute'\n\nexport const provideTwitterCardManager = <Key extends keyof TwitterCard>(\n  key: Key,\n  ...options: readonly _ProvideNgxMetaModuleManagerOptions<TwitterCard[Key]>[]\n) =>\n  _provideNgxMetaModuleManager<TwitterCard, Key>(\n    key,\n    ['twitterCard' satisfies keyof TwitterCardMetadata],\n    withOptions(\n      _withModuleManagerNameAttribute(withTwitterCardNameAttribute(key)),\n      ...options,\n    ),\n  )\n","import { provideTwitterCardManager } from '../utils/provide-twitter-card-manager'\n\n/**\n * Manages the {@link TwitterCard.card} metadata\n * @public\n */\nexport const provideTwitterCardCard = () => provideTwitterCardManager('card')\n\n/**\n * {@inheritDoc provideTwitterCardCard}\n * @deprecated Use {@link provideTwitterCardCard} instead\n * @public\n */\nexport const TWITTER_CARD_CARD_METADATA_PROVIDER =\n  /* @__PURE__ */\n  provideTwitterCardCard()\n","/**\n * See {@link TwitterCardType}\n * @public\n */\nexport const TWITTER_CARD_TYPE_SUMMARY = 'summary'\n\n/**\n * See {@link TwitterCardType}\n * @public\n */\nexport const TWITTER_CARD_TYPE_SUMMARY_LARGE_IMAGE = 'summary_large_image'\n\n/**\n * See {@link TwitterCardType}\n * @public\n */\nexport const TWITTER_CARD_TYPE_APP = 'app'\n\n/**\n * See {@link TwitterCardType}\n * @public\n */\nexport const TWITTER_CARD_TYPE_PLAYER = 'player'\n\n/**\n * Card types for {@link TwitterCard.card} property\n *\n * @remarks\n *\n * Use one of the referenced constants to avoid typing them yourself :)\n *\n * @public\n */\nexport type TwitterCardType =\n  | typeof TWITTER_CARD_TYPE_SUMMARY\n  | typeof TWITTER_CARD_TYPE_SUMMARY_LARGE_IMAGE\n  | typeof TWITTER_CARD_TYPE_APP\n  | typeof TWITTER_CARD_TYPE_PLAYER\n","import { TwitterCard } from '../types'\nimport {\n  TwitterCardCreatorId,\n  TwitterCardCreatorUsername,\n} from './twitter-card-creator'\nimport {\n  _withModuleManagerSetterFactory,\n  NgxMetaElementsService,\n  withContentAttribute,\n} from '@davidlj95/ngx-meta/core'\nimport { withTwitterCardNameAttribute } from '../utils/with-twitter-card-name-attribute'\nimport { provideTwitterCardManager } from '../utils/provide-twitter-card-manager'\n\nconst KEY = 'creator' satisfies keyof TwitterCard\n\n/**\n * Manages the {@link TwitterCard.creator} metadata\n * @public\n */\nexport const provideTwitterCardCreator = () =>\n  provideTwitterCardManager(\n    KEY,\n    _withModuleManagerSetterFactory(\n      (metaElementsService: NgxMetaElementsService) => (creator) => {\n        metaElementsService.set(\n          withTwitterCardNameAttribute(KEY),\n          withContentAttribute(\n            (creator as TwitterCardCreatorUsername | undefined | null)\n              ?.username,\n          ),\n        )\n        metaElementsService.set(\n          withTwitterCardNameAttribute(KEY, 'id'),\n          withContentAttribute(\n            (creator as TwitterCardCreatorId | undefined | null)?.id,\n          ),\n        )\n      },\n    ),\n  )\n\n/**\n * {@inheritDoc provideTwitterCardCreator}\n * @deprecated Use {@link provideTwitterCardCreator} instead\n * @public\n */\nexport const TWITTER_CARD_CREATOR_METADATA_PROVIDER =\n  /* @__PURE__ */\n  provideTwitterCardCreator()\n","export const MODULE_NAME = 'twitter-card'\n","import {\n  _GLOBAL_DESCRIPTION,\n  _maybeTooLongDevMessage,\n  _withModuleManagerSameGlobalKey,\n  _withModuleManagerSetterFactory,\n  NgxMetaElementsService,\n  withContentAttribute,\n} from '@davidlj95/ngx-meta/core'\nimport { MODULE_NAME } from '../module-name'\nimport { withTwitterCardNameAttribute } from '../utils/with-twitter-card-name-attribute'\nimport { provideTwitterCardManager } from '../utils/provide-twitter-card-manager'\n\n/**\n * Manages the {@link TwitterCard.description} metadata\n * @public\n */\nexport const provideTwitterCardDescription = () =>\n  provideTwitterCardManager(\n    _GLOBAL_DESCRIPTION,\n    _withModuleManagerSameGlobalKey(),\n    _withModuleManagerSetterFactory(\n      (metaElementsService: NgxMetaElementsService) => (description) => {\n        /* istanbul ignore next https://github.com/istanbuljs/istanbuljs/issues/719 */\n        if (ngDevMode) {\n          _maybeTooLongDevMessage(description, 200, {\n            module: MODULE_NAME,\n            property: _GLOBAL_DESCRIPTION,\n            value: description,\n            link: 'https://developer.x.com/en/docs/twitter-for-websites/cards/overview/markup#:~:text=n/a-,twitter%3Adescription,-Description%20of%20content',\n          })\n        }\n        metaElementsService.set(\n          withTwitterCardNameAttribute(_GLOBAL_DESCRIPTION),\n          withContentAttribute(description),\n        )\n      },\n    ),\n  )\n\n/**\n * {@inheritDoc provideTwitterCardDescription}\n * @deprecated Use {@link provideTwitterCardDescription} instead\n * @public\n */\nexport const TWITTER_CARD_DESCRIPTION_METADATA_PROVIDER =\n  /* @__PURE__ */\n  provideTwitterCardDescription()\n","import {\n  _GLOBAL_IMAGE,\n  _maybeNonHttpUrlDevMessage,\n  _withModuleManagerSameGlobalKey,\n  _withModuleManagerSetterFactory,\n  NgxMetaElementsService,\n  withContentAttribute,\n  withManagerObjectMerging,\n} from '@davidlj95/ngx-meta/core'\nimport { MODULE_NAME } from '../module-name'\nimport { withTwitterCardNameAttribute } from '../utils/with-twitter-card-name-attribute'\nimport { provideTwitterCardManager } from '../utils/provide-twitter-card-manager'\n\n/**\n * Manages the {@link TwitterCard.image} metadata\n * @public\n */\nexport const provideTwitterCardImage = () =>\n  provideTwitterCardManager(\n    _GLOBAL_IMAGE,\n    _withModuleManagerSameGlobalKey(),\n    withManagerObjectMerging(),\n    _withModuleManagerSetterFactory(\n      (metaElementsService: NgxMetaElementsService) => (image) => {\n        /* istanbul ignore next https://github.com/istanbuljs/istanbuljs/issues/719 */\n        if (ngDevMode) {\n          _maybeNonHttpUrlDevMessage(image?.url, {\n            module: MODULE_NAME,\n            property: 'image',\n            value: image?.url.toString(),\n            link: 'https://devcommunity.x.com/t/card-error-unable-to-render-or-no-image-read-this-first/62736',\n          })\n        }\n        metaElementsService.set(\n          withTwitterCardNameAttribute(_GLOBAL_IMAGE),\n          withContentAttribute(image?.url?.toString()),\n        )\n        metaElementsService.set(\n          withTwitterCardNameAttribute(_GLOBAL_IMAGE, 'alt'),\n          withContentAttribute(image?.alt),\n        )\n      },\n    ),\n  )\n\n/**\n * {@inheritDoc provideTwitterCardImage}\n * @deprecated Use {@link provideTwitterCardImage} instead\n * @public\n */\nexport const TWITTER_CARD_IMAGE_METADATA_PROVIDER =\n  /* @__PURE__ */\n  provideTwitterCardImage()\n","import { TwitterCard } from '../types'\nimport { TwitterCardSiteId, TwitterCardSiteUsername } from './twitter-card-site'\nimport {\n  _withModuleManagerSetterFactory,\n  NgxMetaElementsService,\n  withContentAttribute,\n} from '@davidlj95/ngx-meta/core'\nimport { withTwitterCardNameAttribute } from '../utils/with-twitter-card-name-attribute'\nimport { provideTwitterCardManager } from '../utils/provide-twitter-card-manager'\n\nconst KEY = 'site' satisfies keyof TwitterCard\n\n/**\n * Manages the {@link TwitterCard.site} metadata\n * @public\n */\nexport const provideTwitterCardSite = () =>\n  provideTwitterCardManager(\n    KEY,\n    _withModuleManagerSetterFactory(\n      (metaElementsService: NgxMetaElementsService) => (site) => {\n        metaElementsService.set(\n          withTwitterCardNameAttribute(KEY),\n          withContentAttribute(\n            (site as TwitterCardSiteUsername | undefined | null)?.username,\n          ),\n        )\n        metaElementsService.set(\n          withTwitterCardNameAttribute(KEY, 'id'),\n          withContentAttribute(\n            (site as TwitterCardSiteId | undefined | null)?.id,\n          ),\n        )\n      },\n    ),\n  )\n\n/**\n * {@inheritDoc provideTwitterCardSite}\n * @deprecated Use {@link provideTwitterCardSite} instead\n * @public\n */\nexport const TWITTER_CARD_SITE_METADATA_PROVIDER =\n  /* @__PURE__ */\n  provideTwitterCardSite()\n","import {\n  _GLOBAL_TITLE,\n  _titleFormatter,\n  _withModuleManagerSameGlobalKey,\n  _withModuleManagerSetterFactory,\n  NgxMetaElementsService,\n  TitleFormatter,\n  withContentAttribute,\n  withManagerDeps,\n} from '@davidlj95/ngx-meta/core'\nimport { provideTwitterCardManager } from '../utils/provide-twitter-card-manager'\nimport { withTwitterCardNameAttribute } from '../utils/with-twitter-card-name-attribute'\n\n/**\n * Manages the {@link TwitterCard.title} metadata\n * @public\n */\nexport const provideTwitterCardTitle = () =>\n  provideTwitterCardManager(\n    _GLOBAL_TITLE,\n    _withModuleManagerSameGlobalKey(),\n    withManagerDeps(NgxMetaElementsService, _titleFormatter()),\n    _withModuleManagerSetterFactory(\n      (\n        metaElementsService: NgxMetaElementsService,\n        titleFormatter: TitleFormatter,\n      ) =>\n        (title) => {\n          metaElementsService.set(\n            withTwitterCardNameAttribute(_GLOBAL_TITLE),\n            withContentAttribute(title ? titleFormatter(title) : title),\n          )\n        },\n    ),\n  )\n\n/**\n * {@inheritDoc provideTwitterCardTitle}\n * @deprecated Use {@link provideTwitterCardTitle} instead\n * @public\n */\nexport const TWITTER_CARD_TITLE_METADATA_PROVIDER =\n  /* @__PURE__ */\n  provideTwitterCardTitle()\n","import { Provider } from '@angular/core'\nimport {\n  provideTwitterCardCard,\n  provideTwitterCardCreator,\n  provideTwitterCardDescription,\n  provideTwitterCardImage,\n  provideTwitterCardSite,\n  provideTwitterCardTitle,\n} from '../managers'\n\n/**\n * Provides {@link https://ngx-meta.dev/built-in-modules/twitter-cards/ | Twitter Cards module}\n * metadata managers.\n *\n * @remarks\n *\n * This is the standalone, recommended API. Using this API is preferred.\n * However, you may also use {@link NgxMetaTwitterCardModule} as the Angular module-based equivalent API.\n *\n * @public\n */\nexport const provideNgxMetaTwitterCard = (): Provider => [\n  provideTwitterCardCard(),\n  provideTwitterCardSite(),\n  provideTwitterCardCreator(),\n  provideTwitterCardDescription(),\n  provideTwitterCardTitle(),\n  provideTwitterCardImage(),\n]\n","import { NgModule } from '@angular/core'\nimport { provideNgxMetaTwitterCard } from './provide-ngx-meta-twitter-card'\n\n/**\n * Provides {@link https://ngx-meta.dev/built-in-modules/twitter-cards/ | Twitter Cards module}\n * metadata managers.\n *\n * Check out {@link provideNgxMetaTwitterCard} for the standalone, recommended API.\n *\n * @public\n */\n@NgModule({\n  providers: [provideNgxMetaTwitterCard()],\n})\nexport class NgxMetaTwitterCardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["KEY"],"mappings":"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"}