UNPKG

@limitless-angular/sanity

Version:

A powerful Angular library for Sanity.io integration, featuring Portable Text rendering and optimized image loading.

1 lines 3.68 kB
{"version":3,"file":"limitless-angular-sanity.mjs","sources":["../../../../packages/sanity/src/providers.ts","../../../../packages/sanity/src/index.ts","../../../../packages/sanity/src/limitless-angular-sanity.ts"],"sourcesContent":["import {\n ENVIRONMENT_INITIALIZER,\n type EnvironmentProviders,\n makeEnvironmentProviders,\n type Provider,\n} from '@angular/core';\n\nimport { LIVE_PREVIEW_REFRESH_INTERVAL } from '@limitless-angular/sanity/preview-kit';\n\nimport {\n SANITY_CLIENT_FACTORY,\n SANITY_CONFIG,\n type SanityClientFactory,\n type SanityConfig,\n} from '@limitless-angular/sanity/shared';\n\nconst DEFAULT_LIVE_PREVIEW_REFRESH_INTERVAL = 10000;\n\nexport interface LivePreviewOptions {\n refreshInterval?: number;\n}\n\nexport function provideSanity(\n factoryOrConfig: SanityClientFactory | SanityConfig,\n ...features: SanityFeatures[]\n): EnvironmentProviders {\n return makeEnvironmentProviders([\n ...(typeof factoryOrConfig === 'function'\n ? [\n { provide: SANITY_CLIENT_FACTORY, useValue: factoryOrConfig },\n { provide: SANITY_CONFIG, useValue: factoryOrConfig()?.config() },\n ]\n : [{ provide: SANITY_CONFIG, useValue: factoryOrConfig }]),\n {\n provide: ENVIRONMENT_INITIALIZER,\n multi: true,\n useValue: () => {\n // This is a placeholder for any initialization logic you might need.\n // For example, you could set up global error handling for Sanity queries here.\n },\n },\n features.map((feature) => feature.ɵproviders),\n ]);\n}\n\nexport interface SanityFeature<FeatureKind extends SanityFeatureKind> {\n ɵkind: FeatureKind;\n ɵproviders: Provider[];\n}\n\nfunction sanityFeature<FeatureKind extends SanityFeatureKind>(\n kind: FeatureKind,\n providers: Provider[],\n): SanityFeature<FeatureKind> {\n return { ɵkind: kind, ɵproviders: providers };\n}\n\nexport type SanityLivePreviewFeature =\n SanityFeature<SanityFeatureKind.SanityLivePreviewFeature>;\n\nexport function withLivePreview(\n options: LivePreviewOptions = {},\n): SanityLivePreviewFeature {\n const providers = [\n {\n provide: LIVE_PREVIEW_REFRESH_INTERVAL,\n useValue:\n options.refreshInterval ?? DEFAULT_LIVE_PREVIEW_REFRESH_INTERVAL,\n },\n ];\n return sanityFeature(SanityFeatureKind.SanityLivePreviewFeature, providers);\n}\n\nexport type SanityFeatures = SanityLivePreviewFeature;\n\nexport const enum SanityFeatureKind {\n SanityLivePreviewFeature,\n}\n","/*\n * Public API Surface of @limitless-angular/sanity\n */\n\nexport * from '@limitless-angular/sanity/shared';\nexport { provideSanity, withLivePreview } from './providers';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAgBA,MAAM,qCAAqC,GAAG,KAAK;SAMnC,aAAa,CAC3B,eAAmD,EACnD,GAAG,QAA0B,EAAA;AAE7B,IAAA,OAAO,wBAAwB,CAAC;AAC9B,QAAA,IAAI,OAAO,eAAe,KAAK;AAC7B,cAAE;AACE,gBAAA,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,eAAe,EAAE;gBAC7D,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,EAAE;AAClE;AACH,cAAE,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;AAC5D,QAAA;AACE,YAAA,OAAO,EAAE,uBAAuB;AAChC,YAAA,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,MAAK;;;aAGd;AACF,SAAA;QACD,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,UAAU,CAAC;AAC9C,KAAA,CAAC;AACJ;AAOA,SAAS,aAAa,CACpB,IAAiB,EACjB,SAAqB,EAAA;IAErB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE;AAC/C;AAKgB,SAAA,eAAe,CAC7B,OAAA,GAA8B,EAAE,EAAA;AAEhC,IAAA,MAAM,SAAS,GAAG;AAChB,QAAA;AACE,YAAA,OAAO,EAAE,6BAA6B;AACtC,YAAA,QAAQ,EACN,OAAO,CAAC,eAAe,IAAI,qCAAqC;AACnE,SAAA;KACF;AACD,IAAA,OAAO,aAAa,CAAA,CAAA,mDAA6C,SAAS,CAAC;AAC7E;;ACvEA;;AAEG;;ACFH;;AAEG;;;;"}