@c15t/nextjs 2.1.0 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/AGENTS.md +155 -0
  2. package/README.md +31 -15
  3. package/client/components/integrations.js +3 -0
  4. package/dist/components/integrations/index.cjs +1 -0
  5. package/dist/components/integrations/index.js +1 -0
  6. package/dist/headless.cjs +1 -1
  7. package/dist/index.cjs +1 -1
  8. package/dist/libs/browser-initial-data.cjs +1 -1
  9. package/dist/libs/initial-data.cjs +1 -1
  10. package/dist/styles.tw3.css +1 -1
  11. package/dist/version.cjs +1 -1
  12. package/dist/version.js +1 -1
  13. package/dist-types/components/integrations/index.d.ts +1 -0
  14. package/dist-types/libs/browser-initial-data.d.ts +1 -1
  15. package/dist-types/version.d.ts +1 -1
  16. package/docs/README.md +155 -73
  17. package/docs/{building-headless-components.md → frameworks/next/building-headless-components.md} +3 -1
  18. package/docs/{callbacks.md → frameworks/next/callbacks.md} +3 -1
  19. package/docs/{components → frameworks/next/components}/consent-banner.md +10 -21
  20. package/docs/{components → frameworks/next/components}/consent-dialog-link.md +8 -5
  21. package/docs/frameworks/next/components/consent-dialog-trigger.md +202 -0
  22. package/docs/{components → frameworks/next/components}/consent-dialog.md +7 -15
  23. package/docs/frameworks/next/components/consent-manager-provider.md +327 -0
  24. package/docs/{components → frameworks/next/components}/consent-widget.md +8 -6
  25. package/docs/{components → frameworks/next/components}/dev-tools.md +9 -6
  26. package/docs/{components → frameworks/next/components}/frame.md +8 -9
  27. package/docs/{concepts → frameworks/next/concepts}/client-modes.md +4 -2
  28. package/docs/{concepts → frameworks/next/concepts}/consent-categories.md +1 -0
  29. package/docs/{concepts → frameworks/next/concepts}/consent-models.md +1 -0
  30. package/docs/{concepts → frameworks/next/concepts}/cookie-management.md +3 -3
  31. package/docs/{concepts → frameworks/next/concepts}/glossary.md +1 -0
  32. package/docs/{concepts → frameworks/next/concepts}/initialization-flow.md +1 -0
  33. package/docs/{concepts → frameworks/next/concepts}/policy-packs.md +1 -0
  34. package/docs/{headless.md → frameworks/next/headless.md} +3 -1
  35. package/docs/{hooks → frameworks/next/hooks}/use-color-scheme.md +1 -0
  36. package/docs/{hooks → frameworks/next/hooks}/use-consent-manager/checking-consent.md +3 -1
  37. package/docs/{hooks → frameworks/next/hooks}/use-consent-manager/location-info.md +3 -1
  38. package/docs/frameworks/next/hooks/use-consent-manager/overview.md +185 -0
  39. package/docs/{hooks → frameworks/next/hooks}/use-consent-manager/setting-consent.md +3 -1
  40. package/docs/{hooks → frameworks/next/hooks}/use-draggable.md +3 -1
  41. package/docs/{hooks → frameworks/next/hooks}/use-focus-trap.md +1 -0
  42. package/docs/{hooks → frameworks/next/hooks}/use-reduced-motion.md +3 -1
  43. package/docs/{hooks → frameworks/next/hooks}/use-ssr-status.md +6 -5
  44. package/docs/{hooks → frameworks/next/hooks}/use-text-direction.md +1 -0
  45. package/docs/frameworks/next/hooks/use-translations.md +55 -0
  46. package/docs/{iab → frameworks/next/iab}/consent-banner.md +9 -12
  47. package/docs/{iab → frameworks/next/iab}/consent-dialog.md +9 -14
  48. package/docs/{iab → frameworks/next/iab}/overview.md +4 -2
  49. package/docs/{iab → frameworks/next/iab}/use-gvl-data.md +3 -2
  50. package/docs/{iframe-blocking.md → frameworks/next/iframe-blocking.md} +8 -9
  51. package/docs/{internationalization.md → frameworks/next/internationalization.md} +13 -3
  52. package/docs/{network-blocker.md → frameworks/next/network-blocker.md} +13 -51
  53. package/docs/{optimization.md → frameworks/next/optimization.md} +5 -4
  54. package/docs/{policy-packs.md → frameworks/next/policy-packs.md} +3 -1
  55. package/docs/{quickstart.md → frameworks/next/quickstart.md} +26 -42
  56. package/docs/{script-loader.md → frameworks/next/script-loader.md} +72 -90
  57. package/docs/{server-side.md → frameworks/next/server-side.md} +12 -15
  58. package/docs/{styling → frameworks/next/styling}/classnames.md +3 -1
  59. package/docs/{styling → frameworks/next/styling}/color-scheme.md +3 -1
  60. package/docs/frameworks/next/styling/css-variables.md +53 -0
  61. package/docs/frameworks/next/styling/overview.md +299 -0
  62. package/docs/frameworks/next/styling/slots.md +94 -0
  63. package/docs/{styling → frameworks/next/styling}/tailwind.md +3 -1
  64. package/docs/frameworks/next/styling/tokens.md +156 -0
  65. package/docs/{troubleshooting.md → frameworks/next/troubleshooting.md} +3 -1
  66. package/docs/integrations/adobe-analytics.md +160 -0
  67. package/docs/integrations/ahrefs-analytics.md +15 -82
  68. package/docs/integrations/amplitude.md +230 -0
  69. package/docs/integrations/building-integrations.md +15 -181
  70. package/docs/integrations/clearbit.md +130 -0
  71. package/docs/integrations/cloudflare-web-analytics.md +15 -83
  72. package/docs/integrations/crisp.md +13 -87
  73. package/docs/integrations/databuddy.md +16 -85
  74. package/docs/integrations/fathom-analytics.md +15 -86
  75. package/docs/integrations/google-maps.md +263 -0
  76. package/docs/integrations/google-tag-manager.md +18 -86
  77. package/docs/integrations/google-tag.md +15 -84
  78. package/docs/integrations/heap.md +219 -0
  79. package/docs/integrations/hightouch.md +199 -0
  80. package/docs/integrations/hotjar.md +15 -83
  81. package/docs/integrations/intercom.md +13 -83
  82. package/docs/integrations/linkedin-insights.md +15 -82
  83. package/docs/integrations/logrocket.md +175 -0
  84. package/docs/integrations/matomo-analytics.md +13 -88
  85. package/docs/integrations/meta-pixel.md +33 -316
  86. package/docs/integrations/microsoft-clarity.md +15 -83
  87. package/docs/integrations/microsoft-uet.md +16 -83
  88. package/docs/integrations/mixpanel-analytics.md +15 -83
  89. package/docs/integrations/overview.md +55 -6
  90. package/docs/integrations/pirsch.md +142 -0
  91. package/docs/integrations/plausible-analytics.md +14 -97
  92. package/docs/integrations/posthog.md +26 -98
  93. package/docs/integrations/promptwatch.md +16 -82
  94. package/docs/integrations/reddit-pixel.md +27 -122
  95. package/docs/integrations/rudderstack.md +271 -0
  96. package/docs/integrations/rybbit-analytics.md +15 -94
  97. package/docs/integrations/segment.md +15 -82
  98. package/docs/integrations/snapchat-pixel.md +21 -102
  99. package/docs/integrations/tiktok-pixel.md +13 -81
  100. package/docs/integrations/umami-analytics.md +16 -88
  101. package/docs/integrations/vercel-analytics.md +13 -85
  102. package/docs/integrations/x-pixel.md +27 -102
  103. package/docs/integrations/youtube.md +193 -0
  104. package/docs/shared/concepts/client-modes.md +103 -0
  105. package/docs/shared/concepts/consent-categories.md +41 -0
  106. package/docs/shared/concepts/consent-models.md +72 -0
  107. package/docs/shared/concepts/cookie-management.md +88 -0
  108. package/docs/shared/concepts/glossary.md +24 -0
  109. package/docs/shared/concepts/initialization-flow.md +105 -0
  110. package/docs/shared/concepts/policy-packs.md +225 -0
  111. package/docs/shared/react/components/consent-banner.md +242 -0
  112. package/docs/shared/react/components/consent-dialog-link.md +45 -0
  113. package/docs/shared/react/components/consent-dialog-trigger.md +185 -0
  114. package/docs/shared/react/components/consent-dialog.md +119 -0
  115. package/docs/shared/react/components/consent-manager-provider.md +225 -0
  116. package/docs/shared/react/components/consent-widget.md +121 -0
  117. package/docs/shared/react/components/dev-tools.md +81 -0
  118. package/docs/shared/react/components/frame.md +52 -0
  119. package/docs/shared/react/guides/building-headless-components.md +110 -0
  120. package/docs/shared/react/guides/callbacks.md +89 -0
  121. package/docs/shared/react/guides/headless.md +31 -0
  122. package/docs/shared/react/guides/iframe-blocking.md +65 -0
  123. package/docs/shared/react/guides/internationalization.md +123 -0
  124. package/docs/shared/react/guides/network-blocker.md +72 -0
  125. package/docs/shared/react/guides/optimization.md +44 -0
  126. package/docs/shared/react/guides/policy-packs.md +173 -0
  127. package/docs/shared/react/guides/script-loader.md +311 -0
  128. package/docs/shared/react/hooks/use-color-scheme.md +31 -0
  129. package/docs/shared/react/hooks/use-consent-manager/checking-consent.md +95 -0
  130. package/docs/shared/react/hooks/use-consent-manager/location-info.md +96 -0
  131. package/docs/shared/react/hooks/use-consent-manager/overview.md +74 -0
  132. package/docs/shared/react/hooks/use-consent-manager/setting-consent.md +93 -0
  133. package/docs/shared/react/hooks/use-draggable.md +30 -0
  134. package/docs/shared/react/hooks/use-focus-trap.md +20 -0
  135. package/docs/shared/react/hooks/use-reduced-motion.md +33 -0
  136. package/docs/shared/react/hooks/use-ssr-status.md +16 -0
  137. package/docs/shared/react/hooks/use-text-direction.md +38 -0
  138. package/docs/shared/react/hooks/use-translations.md +15 -0
  139. package/docs/shared/react/iab/consent-banner.md +60 -0
  140. package/docs/shared/react/iab/consent-dialog.md +76 -0
  141. package/docs/shared/react/iab/overview.md +80 -0
  142. package/docs/shared/react/iab/use-gvl-data.md +21 -0
  143. package/docs/shared/react/styling/classnames.md +93 -0
  144. package/docs/shared/react/styling/color-scheme.md +35 -0
  145. package/docs/shared/react/styling/css-variables.md +53 -0
  146. package/docs/shared/react/styling/overview.md +261 -0
  147. package/docs/shared/react/styling/slots.md +93 -0
  148. package/docs/shared/react/styling/stylesheet-entrypoint.md +8 -0
  149. package/docs/shared/react/styling/tailwind.md +88 -0
  150. package/docs/shared/react/styling/tokens.md +155 -0
  151. package/docs/shared/troubleshooting.md +82 -0
  152. package/package.json +19 -10
  153. package/readme.json +14 -8
  154. package/docs/ai-agents.md +0 -111
  155. package/docs/components/consent-dialog-trigger.md +0 -103
  156. package/docs/components/consent-manager-provider.md +0 -425
  157. package/docs/hooks/use-consent-manager/overview.md +0 -420
  158. package/docs/hooks/use-translations.md +0 -118
  159. package/docs/styling/css-variables.md +0 -92
  160. package/docs/styling/overview.md +0 -457
  161. package/docs/styling/slots.md +0 -128
  162. package/docs/styling/tokens.md +0 -216
@@ -1,8 +1,9 @@
1
1
  ---
2
2
  title: Meta Pixel
3
- description: Track conversions and build audiences for Facebook and Instagram advertising campaigns.
4
- lastModified: 2026-05-11
3
+ description: Track conversions and build audiences for Facebook and Instagram
4
+ advertising campaigns.
5
5
  icon: meta
6
+ group: integrations
6
7
  ---
7
8
  Meta Pixel (formerly Facebook Pixel) is Meta's conversion tracking and audience targeting tool for Facebook and Instagram advertising. It tracks user actions, measures ad effectiveness, builds custom audiences, and optimizes ad delivery.
8
9
 
@@ -367,329 +368,45 @@ Pixel sharing between businesses or agencies is also managed through Meta Busine
367
368
 
368
369
  ### MetaPixelOptions
369
370
 
370
- |Property|Type|Description|Default|Required|
371
- |:--|:--|:--|:--|:--:|
372
- |pixelId|string|Your Meta Pixel ID|-|✅ Required|
373
- |initOptions|Record\<string, unknown> \|undefined|Optional payload passed as the third argument to \`fbq('init', ...)\`.|-|Optional|
374
- |trackPageView|boolean \|undefined|Queue the default \`PageView\` event during setup.|true|Optional|
375
- |dataProcessingOptions|MetaPixelDataProcessingOptions \|undefined|Optional Meta data processing options, such as Limited Data Use. When provided, c15t queues \`fbq('dataProcessingOptions', ...)\` before \`fbq('init', ...)\`.|-|Optional|
376
- |scriptSrc|string \|undefined|Meta Pixel loader URL.|-|Optional|
371
+ |Property|Value|
372
+ |:--|:--|
373
+ |Type Name|\`MetaPixelOptions\`|
374
+ |Source Path|\`./packages/scripts/src/vendors/ads-and-pixels/meta-pixel.ts\`|
375
+
376
+ \*ExtractedTypeTable: Could not extract "MetaPixelOptions" from "./packages/scripts/src/vendors/ads-and-pixels/meta-pixel.ts" using base path "/home/runner/work/c15t/c15t". Verify the path/name and that the file is included by your tsconfig.\*
377
377
 
378
378
  ### MetaPixelDataProcessingOptions
379
379
 
380
- |Property|Type|Description|Default|Required|
381
- |:--|:--|:--|:--|:--:|
382
- |options|"LDU"\[] \|\[]|Data processing flags sent to Meta before \`init\`. Use \`\['LDU']\` to enable Limited Data Use, or \`\[]\` to explicitly disable it.|-|✅ Required|
383
- |country|number \|undefined|Meta country code. Use \`0\` to let Meta geolocate the event or \`1\` for USA.|-|Optional|
384
- |state|number \|undefined|Meta state code. Use \`0\` to let Meta geolocate the event.|-|Optional|
380
+ |Property|Value|
381
+ |:--|:--|
382
+ |Type Name|\`MetaPixelDataProcessingOptions\`|
383
+ |Source Path|\`./packages/scripts/src/vendors/ads-and-pixels/meta-pixel.ts\`|
384
+
385
+ \*ExtractedTypeTable: Could not extract "MetaPixelDataProcessingOptions" from "./packages/scripts/src/vendors/ads-and-pixels/meta-pixel.ts" using base path "/home/runner/work/c15t/c15t". Verify the path/name and that the file is included by your tsconfig.\*
385
386
 
386
387
  ### MetaPixelEventOptions
387
388
 
388
- |Property|Type|Description|Default|Required|
389
- |:--|:--|:--|:--|:--:|
390
- |eventID|[string \|undefined](https://developers.facebook.com/docs/marketing-api/conversions-api/deduplicate-pixel-and-server-events)|Event ID used to deduplicate browser events against Conversions API events.|-|Optional|
389
+ |Property|Value|
390
+ |:--|:--|
391
+ |Type Name|\`MetaPixelEventOptions\`|
392
+ |Source Path|\`./packages/scripts/src/vendors/ads-and-pixels/meta-pixel.ts\`|
393
+
394
+ \*ExtractedTypeTable: Could not extract "MetaPixelEventOptions" from "./packages/scripts/src/vendors/ads-and-pixels/meta-pixel.ts" using base path "/home/runner/work/c15t/c15t". Verify the path/name and that the file is included by your tsconfig.\*
391
395
 
392
396
  ### Script
393
397
 
394
- |Property|Type|Description|Default|Required|
395
- |:--|:--|:--|:--|:--:|
396
- |id|string|Unique identifier for the script|-|✅ Required|
397
- |src|string \|undefined|URL of the script to load|-|Optional|
398
- |textContent|string \|undefined|Inline JavaScript code to execute|-|Optional|
399
- |category|HasCondition\<AllConsentNames>|Consent category or condition required to load this script|-|✅ Required|
400
- |callbackOnly|boolean \|undefined|Whether this is a callback-only script that doesn't need to load an external resource. When true, no script tag will be added to the DOM, only callbacks will be executed.|false|Optional|
401
- |persistAfterConsentRevoked|boolean \|undefined|Whether the script should persist after consent is revoked.|false|Optional|
402
- |alwaysLoad|boolean \|undefined|Whether the script should always load regardless of consent state. This is useful for scripts like Google Tag Manager or PostHog that manage their own consent state internally. The script will load immediately and never be unloaded based on consent changes. Note: When using this option, you are responsible for ensuring the script itself respects user consent preferences through its own consent management.|false|Optional|
403
- |fetchPriority|"high" \|"low" \|"auto" \|undefined|Priority hint for browser resource loading|-|Optional|
404
- |attributes|Record\<string, string> \|undefined|Additional attributes to add to the script element|-|Optional|
405
- |async|boolean \|undefined|Whether to use async loading|-|Optional|
406
- |defer|boolean \|undefined|Whether to defer script loading|-|Optional|
407
- |nonce|string \|undefined|Content Security Policy nonce|-|Optional|
408
- |anonymizeId|boolean \|undefined|Whether to use an anonymized ID for the script element, this helps ensure the script is not blocked by ad blockers|true|Optional|
409
- |target|"head" \|"body" \|undefined|Where to inject the script element in the DOM. Options: \`'head'\`: Scripts are appended to \`\<head>\` (default); \`'body'\`: Scripts are appended to \`\<body>\`|'head'|Optional|
410
- |onBeforeLoad|Object \|undefined|Callback executed before the script is loaded|-|Optional|
411
- |onLoad|Object \|undefined|Callback executed when the script loads successfully|-|Optional|
412
- |onError|Object \|undefined|Callback executed if the script fails to load|-|Optional|
413
- |onConsentChange|Object \|undefined|Callback executed whenever the consent store is changed. This callback only applies to scripts already loaded.|-|Optional|
414
- |vendorId|string \|number \|undefined|IAB TCF vendor ID - links script to a registered vendor. When in IAB mode, the script will only load if this vendor has consent. Takes precedence over \`category\` when in IAB mode. Use custom vendor IDs (string or number) to gate non-IAB vendors too.|-|Optional|
415
- |iabPurposes|number\[] \|undefined|IAB TCF purpose IDs this script requires consent for. When in IAB mode and no vendorId is set, the script will only load if ALL specified purposes have consent.|-|Optional|
416
- |iabLegIntPurposes|number\[] \|undefined|IAB TCF legitimate interest purpose IDs. These purposes can operate under legitimate interest instead of consent. The script loads if all iabPurposes have consent OR all iabLegIntPurposes have legitimate interest established.|-|Optional|
417
- |iabSpecialFeatures|number\[] \|undefined|IAB TCF special feature IDs this script requires. Options: 1: Use precise geolocation data; 2: Actively scan device characteristics for identification|-|Optional|
418
-
419
- #### `onBeforeLoad`
420
-
421
- Callback executed before the script is loaded
422
-
423
- |Property|Type|Description|Default|Required|
424
- |:--|:--|:--|:--|:--:|
425
- |id|string|The original script ID|-|✅ Required|
426
- |elementId|string|The actual DOM element ID used (anonymized if enabled)|-|✅ Required|
427
- |hasConsent|boolean|Has consent|-|✅ Required|
428
- |consents|ConsentState|The current consent state|-|✅ Required|
429
- |element|HTMLScriptElement \|undefined|The script element (for load/error callbacks) Will be undefined for callback-only scripts|-|Optional|
430
- |error|Error \|undefined|Error information (for error callbacks)|-|Optional|
431
-
432
- #### `onLoad`
433
-
434
- Callback executed when the script loads successfully
435
-
436
- |Property|Type|Description|Default|Required|
437
- |:--|:--|:--|:--|:--:|
438
- |id|string|The original script ID|-|✅ Required|
439
- |elementId|string|The actual DOM element ID used (anonymized if enabled)|-|✅ Required|
440
- |hasConsent|boolean|Has consent|-|✅ Required|
441
- |consents|ConsentState|The current consent state|-|✅ Required|
442
- |element|HTMLScriptElement \|undefined|The script element (for load/error callbacks) Will be undefined for callback-only scripts|-|Optional|
443
- |error|Error \|undefined|Error information (for error callbacks)|-|Optional|
444
-
445
- #### `onError`
446
-
447
- Callback executed if the script fails to load
448
-
449
- |Property|Type|Description|Default|Required|
450
- |:--|:--|:--|:--|:--:|
451
- |id|string|The original script ID|-|✅ Required|
452
- |elementId|string|The actual DOM element ID used (anonymized if enabled)|-|✅ Required|
453
- |hasConsent|boolean|Has consent|-|✅ Required|
454
- |consents|ConsentState|The current consent state|-|✅ Required|
455
- |element|HTMLScriptElement \|undefined|The script element (for load/error callbacks) Will be undefined for callback-only scripts|-|Optional|
456
- |error|Error \|undefined|Error information (for error callbacks)|-|Optional|
457
-
458
- #### `onConsentChange`
459
-
460
- Callback executed whenever the consent store is changed. This callback only applies to scripts already loaded.
461
-
462
- |Property|Type|Description|Default|Required|
463
- |:--|:--|:--|:--|:--:|
464
- |id|string|The original script ID|-|✅ Required|
465
- |elementId|string|The actual DOM element ID used (anonymized if enabled)|-|✅ Required|
466
- |hasConsent|boolean|Has consent|-|✅ Required|
467
- |consents|ConsentState|The current consent state|-|✅ Required|
468
- |element|HTMLScriptElement \|undefined|The script element (for load/error callbacks) Will be undefined for callback-only scripts|-|Optional|
469
- |error|Error \|undefined|Error information (for error callbacks)|-|Optional|
398
+ |Property|Value|
399
+ |:--|:--|
400
+ |Type Name|\`Script\`|
401
+ |Source Path|\`./packages/core/src/libs/script-loader/types.ts\`|
402
+
403
+ \*ExtractedTypeTable: Could not extract "Script" from "./packages/core/src/libs/script-loader/types.ts" using base path "/home/runner/work/c15t/c15t". Verify the path/name and that the file is included by your tsconfig.\*
470
404
 
471
405
  ### StandardEventParams
472
406
 
473
- |Property|Type|Description|Default|Required|
474
- |:--|:--|:--|:--|:--:|
475
- |AddPaymentInfo|AddPaymentInfoParams|-|-|✅ Required|
476
- |AddToCart|AddToCartParams|-|-|✅ Required|
477
- |AddToWishlist|AddToWishlistParams|-|-|✅ Required|
478
- |CompleteRegistration|CompleteRegistrationParams|-|-|✅ Required|
479
- |Contact|ContactParams|-|-|✅ Required|
480
- |CustomizeProduct|CustomizeProductParams|-|-|✅ Required|
481
- |Donate|DonateParams|-|-|✅ Required|
482
- |FindLocation|FindLocationParams|-|-|✅ Required|
483
- |InitiateCheckout|InitiateCheckoutParams|-|-|✅ Required|
484
- |Lead|LeadParams|-|-|✅ Required|
485
- |PageView|FbqCustomParams|-|-|✅ Required|
486
- |Purchase|PurchaseParams|-|-|✅ Required|
487
- |Schedule|ScheduleParams|-|-|✅ Required|
488
- |Search|SearchParams|-|-|✅ Required|
489
- |StartTrial|StartTrialParams|-|-|✅ Required|
490
- |SubmitApplication|SubmitApplicationParams|-|-|✅ Required|
491
- |Subscribe|SubscribeParams|-|-|✅ Required|
492
- |ViewContent|ViewContentParams|-|-|✅ Required|
493
-
494
- #### `AddPaymentInfo` AddPaymentInfoParams
495
-
496
- |Property|Type|Description|Default|Required|
497
- |:--|:--|:--|:--|:--:|
498
- |content\_ids|(string \|number)\[] \|undefined|-|-|Optional|
499
- |contents|FbqContent \|undefined|-|-|Optional|
500
- |currency|string \|undefined|-|-|Optional|
501
- |value|number \|undefined|-|-|Optional|
502
-
503
- #### `AddToCart` AddToCartParams
504
-
505
- |Property|Type|Description|Default|Required|
506
- |:--|:--|:--|:--|:--:|
507
- |content\_ids|(string \|number)\[] \|undefined|-|-|Optional|
508
- |contents|FbqContent \|undefined|-|-|Optional|
509
- |currency|string \|undefined|-|-|Optional|
510
- |value|number \|undefined|-|-|Optional|
511
- |content\_type|"product" \|"product\_group" \|undefined|-|-|Optional|
512
-
513
- #### `AddToWishlist` AddToWishlistParams
514
-
515
- |Property|Type|Description|Default|Required|
516
- |:--|:--|:--|:--|:--:|
517
- |content\_ids|(string \|number)\[] \|undefined|-|-|Optional|
518
- |contents|FbqContent \|undefined|-|-|Optional|
519
- |currency|string \|undefined|-|-|Optional|
520
- |value|number \|undefined|-|-|Optional|
521
-
522
- #### `CompleteRegistration` CompleteRegistrationParams
523
-
524
- |Property|Type|Description|Default|Required|
525
- |:--|:--|:--|:--|:--:|
526
- |currency|string \|undefined|-|-|Optional|
527
- |value|number \|undefined|-|-|Optional|
528
- |status|boolean \|undefined|-|-|Optional|
529
-
530
- #### `Contact` ContactParams
531
-
532
- |Property|Type|Description|Default|Required|
533
- |:--|:--|:--|:--|:--:|
534
- |content\_category|string \|undefined|-|-|Optional|
535
- |content\_ids|(string \|number)\[] \|undefined|-|-|Optional|
536
- |content\_name|string \|undefined|-|-|Optional|
537
- |content\_type|"product" \|"product\_group" \|undefined|-|-|Optional|
538
- |contents|FbqContent \|undefined|-|-|Optional|
539
- |currency|string \|undefined|-|-|Optional|
540
- |delivery\_category|"in\_store" \|"curbside" \|"home\_delivery" \|undefined|-|-|Optional|
541
- |num\_items|number \|undefined|-|-|Optional|
542
- |predicted\_ltv|number \|undefined|-|-|Optional|
543
- |search\_string|string \|undefined|-|-|Optional|
544
- |status|boolean \|undefined|-|-|Optional|
545
- |value|number \|undefined|-|-|Optional|
546
-
547
- #### `CustomizeProduct` CustomizeProductParams
548
-
549
- |Property|Type|Description|Default|Required|
550
- |:--|:--|:--|:--|:--:|
551
- |content\_category|string \|undefined|-|-|Optional|
552
- |content\_ids|(string \|number)\[] \|undefined|-|-|Optional|
553
- |content\_name|string \|undefined|-|-|Optional|
554
- |content\_type|"product" \|"product\_group" \|undefined|-|-|Optional|
555
- |contents|FbqContent \|undefined|-|-|Optional|
556
- |currency|string \|undefined|-|-|Optional|
557
- |delivery\_category|"in\_store" \|"curbside" \|"home\_delivery" \|undefined|-|-|Optional|
558
- |num\_items|number \|undefined|-|-|Optional|
559
- |predicted\_ltv|number \|undefined|-|-|Optional|
560
- |search\_string|string \|undefined|-|-|Optional|
561
- |status|boolean \|undefined|-|-|Optional|
562
- |value|number \|undefined|-|-|Optional|
563
-
564
- #### `Donate` DonateParams
565
-
566
- |Property|Type|Description|Default|Required|
567
- |:--|:--|:--|:--|:--:|
568
- |content\_category|string \|undefined|-|-|Optional|
569
- |content\_ids|(string \|number)\[] \|undefined|-|-|Optional|
570
- |content\_name|string \|undefined|-|-|Optional|
571
- |content\_type|"product" \|"product\_group" \|undefined|-|-|Optional|
572
- |contents|FbqContent \|undefined|-|-|Optional|
573
- |currency|string \|undefined|-|-|Optional|
574
- |delivery\_category|"in\_store" \|"curbside" \|"home\_delivery" \|undefined|-|-|Optional|
575
- |num\_items|number \|undefined|-|-|Optional|
576
- |predicted\_ltv|number \|undefined|-|-|Optional|
577
- |search\_string|string \|undefined|-|-|Optional|
578
- |status|boolean \|undefined|-|-|Optional|
579
- |value|number \|undefined|-|-|Optional|
580
-
581
- #### `FindLocation` FindLocationParams
582
-
583
- |Property|Type|Description|Default|Required|
584
- |:--|:--|:--|:--|:--:|
585
- |content\_category|string \|undefined|-|-|Optional|
586
- |content\_ids|(string \|number)\[] \|undefined|-|-|Optional|
587
- |content\_name|string \|undefined|-|-|Optional|
588
- |content\_type|"product" \|"product\_group" \|undefined|-|-|Optional|
589
- |contents|FbqContent \|undefined|-|-|Optional|
590
- |currency|string \|undefined|-|-|Optional|
591
- |delivery\_category|"in\_store" \|"curbside" \|"home\_delivery" \|undefined|-|-|Optional|
592
- |num\_items|number \|undefined|-|-|Optional|
593
- |predicted\_ltv|number \|undefined|-|-|Optional|
594
- |search\_string|string \|undefined|-|-|Optional|
595
- |status|boolean \|undefined|-|-|Optional|
596
- |value|number \|undefined|-|-|Optional|
597
-
598
- #### `InitiateCheckout` InitiateCheckoutParams
599
-
600
- |Property|Type|Description|Default|Required|
601
- |:--|:--|:--|:--|:--:|
602
- |content\_ids|(string \|number)\[] \|undefined|-|-|Optional|
603
- |contents|FbqContent \|undefined|-|-|Optional|
604
- |currency|string \|undefined|-|-|Optional|
605
- |value|number \|undefined|-|-|Optional|
606
- |num\_items|number \|undefined|-|-|Optional|
607
-
608
- #### `Lead` LeadParams
609
-
610
- |Property|Type|Description|Default|Required|
611
- |:--|:--|:--|:--|:--:|
612
- |currency|string \|undefined|-|-|Optional|
613
- |value|number \|undefined|-|-|Optional|
614
-
615
- #### `Purchase` PurchaseParams
616
-
617
- |Property|Type|Description|Default|Required|
618
- |:--|:--|:--|:--|:--:|
619
- |content\_ids|(string \|number)\[] \|undefined|-|-|Optional|
620
- |contents|FbqContent \|undefined|-|-|Optional|
621
- |content\_type|"product" \|"product\_group" \|undefined|-|-|Optional|
622
- |num\_items|number \|undefined|-|-|Optional|
623
- |currency|string|-|-|Optional|
624
- |value|number|-|-|Optional|
625
-
626
- #### `Schedule` ScheduleParams
627
-
628
- |Property|Type|Description|Default|Required|
629
- |:--|:--|:--|:--|:--:|
630
- |content\_category|string \|undefined|-|-|Optional|
631
- |content\_ids|(string \|number)\[] \|undefined|-|-|Optional|
632
- |content\_name|string \|undefined|-|-|Optional|
633
- |content\_type|"product" \|"product\_group" \|undefined|-|-|Optional|
634
- |contents|FbqContent \|undefined|-|-|Optional|
635
- |currency|string \|undefined|-|-|Optional|
636
- |delivery\_category|"in\_store" \|"curbside" \|"home\_delivery" \|undefined|-|-|Optional|
637
- |num\_items|number \|undefined|-|-|Optional|
638
- |predicted\_ltv|number \|undefined|-|-|Optional|
639
- |search\_string|string \|undefined|-|-|Optional|
640
- |status|boolean \|undefined|-|-|Optional|
641
- |value|number \|undefined|-|-|Optional|
642
-
643
- #### `Search` SearchParams
644
-
645
- |Property|Type|Description|Default|Required|
646
- |:--|:--|:--|:--|:--:|
647
- |content\_ids|(string \|number)\[] \|undefined|-|-|Optional|
648
- |contents|FbqContent \|undefined|-|-|Optional|
649
- |currency|string \|undefined|-|-|Optional|
650
- |value|number \|undefined|-|-|Optional|
651
- |content\_type|"product" \|"product\_group" \|undefined|-|-|Optional|
652
- |search\_string|string \|undefined|-|-|Optional|
653
-
654
- #### `StartTrial` StartTrialParams
655
-
656
- |Property|Type|Description|Default|Required|
657
- |:--|:--|:--|:--|:--:|
658
- |currency|string \|undefined|-|-|Optional|
659
- |value|number \|undefined|-|-|Optional|
660
- |predicted\_ltv|number \|undefined|-|-|Optional|
661
-
662
- #### `SubmitApplication` SubmitApplicationParams
663
-
664
- |Property|Type|Description|Default|Required|
665
- |:--|:--|:--|:--|:--:|
666
- |content\_category|string \|undefined|-|-|Optional|
667
- |content\_ids|(string \|number)\[] \|undefined|-|-|Optional|
668
- |content\_name|string \|undefined|-|-|Optional|
669
- |content\_type|"product" \|"product\_group" \|undefined|-|-|Optional|
670
- |contents|FbqContent \|undefined|-|-|Optional|
671
- |currency|string \|undefined|-|-|Optional|
672
- |delivery\_category|"in\_store" \|"curbside" \|"home\_delivery" \|undefined|-|-|Optional|
673
- |num\_items|number \|undefined|-|-|Optional|
674
- |predicted\_ltv|number \|undefined|-|-|Optional|
675
- |search\_string|string \|undefined|-|-|Optional|
676
- |status|boolean \|undefined|-|-|Optional|
677
- |value|number \|undefined|-|-|Optional|
678
-
679
- #### `Subscribe` SubscribeParams
680
-
681
- |Property|Type|Description|Default|Required|
682
- |:--|:--|:--|:--|:--:|
683
- |currency|string \|undefined|-|-|Optional|
684
- |value|number \|undefined|-|-|Optional|
685
- |predicted\_ltv|number \|undefined|-|-|Optional|
686
-
687
- #### `ViewContent` ViewContentParams
688
-
689
- |Property|Type|Description|Default|Required|
690
- |:--|:--|:--|:--|:--:|
691
- |content\_ids|(string \|number)\[] \|undefined|-|-|Optional|
692
- |contents|FbqContent \|undefined|-|-|Optional|
693
- |currency|string \|undefined|-|-|Optional|
694
- |value|number \|undefined|-|-|Optional|
695
- |content\_type|"product" \|"product\_group" \|undefined|-|-|Optional|
407
+ |Property|Value|
408
+ |:--|:--|
409
+ |Type Name|\`StandardEventParams\`|
410
+ |Source Path|\`./packages/scripts/src/vendors/ads-and-pixels/meta-pixel.ts\`|
411
+
412
+ \*ExtractedTypeTable: Could not extract "StandardEventParams" from "./packages/scripts/src/vendors/ads-and-pixels/meta-pixel.ts" using base path "/home/runner/work/c15t/c15t". Verify the path/name and that the file is included by your tsconfig.\*
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  title: Microsoft Clarity
3
- description: Session replay and behavior analytics with a prebuilt helper that keeps Clarity consent synchronized with c15t measurement state.
4
- lastModified: 2026-05-10
3
+ description: Session replay and behavior analytics with a prebuilt helper that
4
+ keeps Clarity consent synchronized with c15t measurement state.
5
+ group: integrations
5
6
  icon: microsoft-clarity
6
7
  ---
7
8
  Microsoft Clarity gives you session recordings, heatmaps, and behavioral insights. The `clarity()` helper sets up Clarity's queue stub, loads the vendor bundle, and keeps Clarity's consent state in sync as c15t measurement consent changes.
@@ -155,87 +156,18 @@ if (consentStore.getState().has('measurement')) {
155
156
 
156
157
  ### ClarityOptions
157
158
 
158
- |Property|Type|Description|Default|Required|
159
- |:--|:--|:--|:--|:--:|
160
- |id|string|Your Microsoft Clarity project ID.|-|✅ Required|
161
- |defaultConsent|ClarityConsentValue \|undefined|Optional initial consent value queued before the script loads. Object-shaped advanced consent vectors are supported only for this initial boot-time value. Later c15t consent changes are mapped to simple booleans.|-|Optional|
162
- |scriptUrl|string \|undefined|Clarity loader URL.|-|Optional|
159
+ |Property|Value|
160
+ |:--|:--|
161
+ |Type Name|\`ClarityOptions\`|
162
+ |Source Path|\`./packages/scripts/src/vendors/analytics/microsoft-clarity.ts\`|
163
+
164
+ \*ExtractedTypeTable: Could not extract "ClarityOptions" from "./packages/scripts/src/vendors/analytics/microsoft-clarity.ts" using base path "/home/runner/work/c15t/c15t". Verify the path/name and that the file is included by your tsconfig.\*
163
165
 
164
166
  ### Script
165
167
 
166
- |Property|Type|Description|Default|Required|
167
- |:--|:--|:--|:--|:--:|
168
- |id|string|Unique identifier for the script|-|✅ Required|
169
- |src|string \|undefined|URL of the script to load|-|Optional|
170
- |textContent|string \|undefined|Inline JavaScript code to execute|-|Optional|
171
- |category|HasCondition\<AllConsentNames>|Consent category or condition required to load this script|-|✅ Required|
172
- |callbackOnly|boolean \|undefined|Whether this is a callback-only script that doesn't need to load an external resource. When true, no script tag will be added to the DOM, only callbacks will be executed.|false|Optional|
173
- |persistAfterConsentRevoked|boolean \|undefined|Whether the script should persist after consent is revoked.|false|Optional|
174
- |alwaysLoad|boolean \|undefined|Whether the script should always load regardless of consent state. This is useful for scripts like Google Tag Manager or PostHog that manage their own consent state internally. The script will load immediately and never be unloaded based on consent changes. Note: When using this option, you are responsible for ensuring the script itself respects user consent preferences through its own consent management.|false|Optional|
175
- |fetchPriority|"high" \|"low" \|"auto" \|undefined|Priority hint for browser resource loading|-|Optional|
176
- |attributes|Record\<string, string> \|undefined|Additional attributes to add to the script element|-|Optional|
177
- |async|boolean \|undefined|Whether to use async loading|-|Optional|
178
- |defer|boolean \|undefined|Whether to defer script loading|-|Optional|
179
- |nonce|string \|undefined|Content Security Policy nonce|-|Optional|
180
- |anonymizeId|boolean \|undefined|Whether to use an anonymized ID for the script element, this helps ensure the script is not blocked by ad blockers|true|Optional|
181
- |target|"head" \|"body" \|undefined|Where to inject the script element in the DOM. Options: \`'head'\`: Scripts are appended to \`\<head>\` (default); \`'body'\`: Scripts are appended to \`\<body>\`|'head'|Optional|
182
- |onBeforeLoad|Object \|undefined|Callback executed before the script is loaded|-|Optional|
183
- |onLoad|Object \|undefined|Callback executed when the script loads successfully|-|Optional|
184
- |onError|Object \|undefined|Callback executed if the script fails to load|-|Optional|
185
- |onConsentChange|Object \|undefined|Callback executed whenever the consent store is changed. This callback only applies to scripts already loaded.|-|Optional|
186
- |vendorId|string \|number \|undefined|IAB TCF vendor ID - links script to a registered vendor. When in IAB mode, the script will only load if this vendor has consent. Takes precedence over \`category\` when in IAB mode. Use custom vendor IDs (string or number) to gate non-IAB vendors too.|-|Optional|
187
- |iabPurposes|number\[] \|undefined|IAB TCF purpose IDs this script requires consent for. When in IAB mode and no vendorId is set, the script will only load if ALL specified purposes have consent.|-|Optional|
188
- |iabLegIntPurposes|number\[] \|undefined|IAB TCF legitimate interest purpose IDs. These purposes can operate under legitimate interest instead of consent. The script loads if all iabPurposes have consent OR all iabLegIntPurposes have legitimate interest established.|-|Optional|
189
- |iabSpecialFeatures|number\[] \|undefined|IAB TCF special feature IDs this script requires. Options: 1: Use precise geolocation data; 2: Actively scan device characteristics for identification|-|Optional|
190
-
191
- #### `onBeforeLoad`
192
-
193
- Callback executed before the script is loaded
194
-
195
- |Property|Type|Description|Default|Required|
196
- |:--|:--|:--|:--|:--:|
197
- |id|string|The original script ID|-|✅ Required|
198
- |elementId|string|The actual DOM element ID used (anonymized if enabled)|-|✅ Required|
199
- |hasConsent|boolean|Has consent|-|✅ Required|
200
- |consents|ConsentState|The current consent state|-|✅ Required|
201
- |element|HTMLScriptElement \|undefined|The script element (for load/error callbacks) Will be undefined for callback-only scripts|-|Optional|
202
- |error|Error \|undefined|Error information (for error callbacks)|-|Optional|
203
-
204
- #### `onLoad`
205
-
206
- Callback executed when the script loads successfully
207
-
208
- |Property|Type|Description|Default|Required|
209
- |:--|:--|:--|:--|:--:|
210
- |id|string|The original script ID|-|✅ Required|
211
- |elementId|string|The actual DOM element ID used (anonymized if enabled)|-|✅ Required|
212
- |hasConsent|boolean|Has consent|-|✅ Required|
213
- |consents|ConsentState|The current consent state|-|✅ Required|
214
- |element|HTMLScriptElement \|undefined|The script element (for load/error callbacks) Will be undefined for callback-only scripts|-|Optional|
215
- |error|Error \|undefined|Error information (for error callbacks)|-|Optional|
216
-
217
- #### `onError`
218
-
219
- Callback executed if the script fails to load
220
-
221
- |Property|Type|Description|Default|Required|
222
- |:--|:--|:--|:--|:--:|
223
- |id|string|The original script ID|-|✅ Required|
224
- |elementId|string|The actual DOM element ID used (anonymized if enabled)|-|✅ Required|
225
- |hasConsent|boolean|Has consent|-|✅ Required|
226
- |consents|ConsentState|The current consent state|-|✅ Required|
227
- |element|HTMLScriptElement \|undefined|The script element (for load/error callbacks) Will be undefined for callback-only scripts|-|Optional|
228
- |error|Error \|undefined|Error information (for error callbacks)|-|Optional|
229
-
230
- #### `onConsentChange`
231
-
232
- Callback executed whenever the consent store is changed. This callback only applies to scripts already loaded.
233
-
234
- |Property|Type|Description|Default|Required|
235
- |:--|:--|:--|:--|:--:|
236
- |id|string|The original script ID|-|✅ Required|
237
- |elementId|string|The actual DOM element ID used (anonymized if enabled)|-|✅ Required|
238
- |hasConsent|boolean|Has consent|-|✅ Required|
239
- |consents|ConsentState|The current consent state|-|✅ Required|
240
- |element|HTMLScriptElement \|undefined|The script element (for load/error callbacks) Will be undefined for callback-only scripts|-|Optional|
241
- |error|Error \|undefined|Error information (for error callbacks)|-|Optional|
168
+ |Property|Value|
169
+ |:--|:--|
170
+ |Type Name|\`Script\`|
171
+ |Source Path|\`./packages/core/src/libs/script-loader/types.ts\`|
172
+
173
+ \*ExtractedTypeTable: Could not extract "Script" from "./packages/core/src/libs/script-loader/types.ts" using base path "/home/runner/work/c15t/c15t". Verify the path/name and that the file is included by your tsconfig.\*
@@ -1,8 +1,9 @@
1
1
  ---
2
2
  title: Microsoft UET
3
- description: Track conversions and measure performance for Microsoft Advertising and Bing Ads.
4
- lastModified: 2026-05-11
3
+ description: Track conversions and measure performance for Microsoft Advertising
4
+ and Bing Ads.
5
5
  icon: microsoft
6
+ group: integrations
6
7
  ---
7
8
  Microsoft UET (Universal Event Tracking) is Microsoft's conversion tracking tag
8
9
  for Microsoft Advertising. It tracks user actions, measures campaign
@@ -15,7 +16,7 @@ effectiveness, and enables remarketing campaigns.
15
16
  * [FAQ: Universal Event Tracking](https://help.ads.microsoft.com/#apex/3/en/53056/2)
16
17
  * [FAQ: Remarketing](https://help.ads.microsoft.com/#apex/3/en/56727/1)
17
18
 
18
- > ℹ️ **Info:**
19
+ > 📝 **Note:**
19
20
  > UET can also load Microsoft Clarity (if enabled in your UET tag settings). Since Clarity is an analytics tool, we recommend loading it separately with measurement consent instead.
20
21
 
21
22
  ## Integrate with c15t
@@ -138,86 +139,18 @@ function CheckoutButton() {
138
139
 
139
140
  ### MicrosoftUetOptions
140
141
 
141
- |Property|Type|Description|Default|Required|
142
- |:--|:--|:--|:--|:--:|
143
- |id|string|Your Microsoft UET ID|-|✅ Required|
144
- |scriptSrc|string \|undefined|Microsoft UET loader URL.|-|Optional|
142
+ |Property|Value|
143
+ |:--|:--|
144
+ |Type Name|\`MicrosoftUetOptions\`|
145
+ |Source Path|\`./packages/scripts/src/vendors/ads-and-pixels/microsoft-uet.ts\`|
146
+
147
+ \*ExtractedTypeTable: Could not extract "MicrosoftUetOptions" from "./packages/scripts/src/vendors/ads-and-pixels/microsoft-uet.ts" using base path "/home/runner/work/c15t/c15t". Verify the path/name and that the file is included by your tsconfig.\*
145
148
 
146
149
  ### Script
147
150
 
148
- |Property|Type|Description|Default|Required|
149
- |:--|:--|:--|:--|:--:|
150
- |id|string|Unique identifier for the script|-|✅ Required|
151
- |src|string \|undefined|URL of the script to load|-|Optional|
152
- |textContent|string \|undefined|Inline JavaScript code to execute|-|Optional|
153
- |category|HasCondition\<AllConsentNames>|Consent category or condition required to load this script|-|✅ Required|
154
- |callbackOnly|boolean \|undefined|Whether this is a callback-only script that doesn't need to load an external resource. When true, no script tag will be added to the DOM, only callbacks will be executed.|false|Optional|
155
- |persistAfterConsentRevoked|boolean \|undefined|Whether the script should persist after consent is revoked.|false|Optional|
156
- |alwaysLoad|boolean \|undefined|Whether the script should always load regardless of consent state. This is useful for scripts like Google Tag Manager or PostHog that manage their own consent state internally. The script will load immediately and never be unloaded based on consent changes. Note: When using this option, you are responsible for ensuring the script itself respects user consent preferences through its own consent management.|false|Optional|
157
- |fetchPriority|"high" \|"low" \|"auto" \|undefined|Priority hint for browser resource loading|-|Optional|
158
- |attributes|Record\<string, string> \|undefined|Additional attributes to add to the script element|-|Optional|
159
- |async|boolean \|undefined|Whether to use async loading|-|Optional|
160
- |defer|boolean \|undefined|Whether to defer script loading|-|Optional|
161
- |nonce|string \|undefined|Content Security Policy nonce|-|Optional|
162
- |anonymizeId|boolean \|undefined|Whether to use an anonymized ID for the script element, this helps ensure the script is not blocked by ad blockers|true|Optional|
163
- |target|"head" \|"body" \|undefined|Where to inject the script element in the DOM. Options: \`'head'\`: Scripts are appended to \`\<head>\` (default); \`'body'\`: Scripts are appended to \`\<body>\`|'head'|Optional|
164
- |onBeforeLoad|Object \|undefined|Callback executed before the script is loaded|-|Optional|
165
- |onLoad|Object \|undefined|Callback executed when the script loads successfully|-|Optional|
166
- |onError|Object \|undefined|Callback executed if the script fails to load|-|Optional|
167
- |onConsentChange|Object \|undefined|Callback executed whenever the consent store is changed. This callback only applies to scripts already loaded.|-|Optional|
168
- |vendorId|string \|number \|undefined|IAB TCF vendor ID - links script to a registered vendor. When in IAB mode, the script will only load if this vendor has consent. Takes precedence over \`category\` when in IAB mode. Use custom vendor IDs (string or number) to gate non-IAB vendors too.|-|Optional|
169
- |iabPurposes|number\[] \|undefined|IAB TCF purpose IDs this script requires consent for. When in IAB mode and no vendorId is set, the script will only load if ALL specified purposes have consent.|-|Optional|
170
- |iabLegIntPurposes|number\[] \|undefined|IAB TCF legitimate interest purpose IDs. These purposes can operate under legitimate interest instead of consent. The script loads if all iabPurposes have consent OR all iabLegIntPurposes have legitimate interest established.|-|Optional|
171
- |iabSpecialFeatures|number\[] \|undefined|IAB TCF special feature IDs this script requires. Options: 1: Use precise geolocation data; 2: Actively scan device characteristics for identification|-|Optional|
172
-
173
- #### `onBeforeLoad`
174
-
175
- Callback executed before the script is loaded
176
-
177
- |Property|Type|Description|Default|Required|
178
- |:--|:--|:--|:--|:--:|
179
- |id|string|The original script ID|-|✅ Required|
180
- |elementId|string|The actual DOM element ID used (anonymized if enabled)|-|✅ Required|
181
- |hasConsent|boolean|Has consent|-|✅ Required|
182
- |consents|ConsentState|The current consent state|-|✅ Required|
183
- |element|HTMLScriptElement \|undefined|The script element (for load/error callbacks) Will be undefined for callback-only scripts|-|Optional|
184
- |error|Error \|undefined|Error information (for error callbacks)|-|Optional|
185
-
186
- #### `onLoad`
187
-
188
- Callback executed when the script loads successfully
189
-
190
- |Property|Type|Description|Default|Required|
191
- |:--|:--|:--|:--|:--:|
192
- |id|string|The original script ID|-|✅ Required|
193
- |elementId|string|The actual DOM element ID used (anonymized if enabled)|-|✅ Required|
194
- |hasConsent|boolean|Has consent|-|✅ Required|
195
- |consents|ConsentState|The current consent state|-|✅ Required|
196
- |element|HTMLScriptElement \|undefined|The script element (for load/error callbacks) Will be undefined for callback-only scripts|-|Optional|
197
- |error|Error \|undefined|Error information (for error callbacks)|-|Optional|
198
-
199
- #### `onError`
200
-
201
- Callback executed if the script fails to load
202
-
203
- |Property|Type|Description|Default|Required|
204
- |:--|:--|:--|:--|:--:|
205
- |id|string|The original script ID|-|✅ Required|
206
- |elementId|string|The actual DOM element ID used (anonymized if enabled)|-|✅ Required|
207
- |hasConsent|boolean|Has consent|-|✅ Required|
208
- |consents|ConsentState|The current consent state|-|✅ Required|
209
- |element|HTMLScriptElement \|undefined|The script element (for load/error callbacks) Will be undefined for callback-only scripts|-|Optional|
210
- |error|Error \|undefined|Error information (for error callbacks)|-|Optional|
211
-
212
- #### `onConsentChange`
213
-
214
- Callback executed whenever the consent store is changed. This callback only applies to scripts already loaded.
215
-
216
- |Property|Type|Description|Default|Required|
217
- |:--|:--|:--|:--|:--:|
218
- |id|string|The original script ID|-|✅ Required|
219
- |elementId|string|The actual DOM element ID used (anonymized if enabled)|-|✅ Required|
220
- |hasConsent|boolean|Has consent|-|✅ Required|
221
- |consents|ConsentState|The current consent state|-|✅ Required|
222
- |element|HTMLScriptElement \|undefined|The script element (for load/error callbacks) Will be undefined for callback-only scripts|-|Optional|
223
- |error|Error \|undefined|Error information (for error callbacks)|-|Optional|
151
+ |Property|Value|
152
+ |:--|:--|
153
+ |Type Name|\`Script\`|
154
+ |Source Path|\`./packages/core/src/libs/script-loader/types.ts\`|
155
+
156
+ \*ExtractedTypeTable: Could not extract "Script" from "./packages/core/src/libs/script-loader/types.ts" using base path "/home/runner/work/c15t/c15t". Verify the path/name and that the file is included by your tsconfig.\*