@ably/ui 17.14.0-dev.fc30134778 → 18.0.0-dev.dbc599e55b

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 (53) hide show
  1. package/AGENTS.md +45 -1
  2. package/README.md +16 -12
  3. package/core/Code.js +1 -1
  4. package/core/Code.js.map +1 -1
  5. package/core/CodeSnippet/CodeSnippet.test.js +2 -0
  6. package/core/CodeSnippet/CodeSnippet.test.js.map +1 -0
  7. package/core/CodeSnippet/languages.js +1 -1
  8. package/core/CodeSnippet/languages.js.map +1 -1
  9. package/core/CodeSnippet/languages.test.js +2 -0
  10. package/core/CodeSnippet/languages.test.js.map +1 -0
  11. package/core/CodeSnippet.js +1 -1
  12. package/core/CodeSnippet.js.map +1 -1
  13. package/core/Flash.js +1 -1
  14. package/core/Flash.js.map +1 -1
  15. package/core/Icon/components/index.js +1 -1
  16. package/core/Icon/components/index.js.map +1 -1
  17. package/core/Icon/computed-icons/display-icons.js +1 -1
  18. package/core/Icon/computed-icons/display-icons.js.map +1 -1
  19. package/core/Icon/computed-icons/gui-icons.js +1 -1
  20. package/core/Icon/computed-icons/gui-icons.js.map +1 -1
  21. package/core/Icon/computed-icons/product-icons.js +1 -1
  22. package/core/Icon/computed-icons/product-icons.js.map +1 -1
  23. package/core/SessionData.js +2 -0
  24. package/core/SessionData.js.map +1 -0
  25. package/core/insights/mixpanel.js +1 -1
  26. package/core/insights/mixpanel.js.map +1 -1
  27. package/core/insights/mixpanel.test.js +2 -0
  28. package/core/insights/mixpanel.test.js.map +1 -0
  29. package/core/insights/posthog.js +1 -1
  30. package/core/insights/posthog.js.map +1 -1
  31. package/core/insights/posthog.test.js +2 -0
  32. package/core/insights/posthog.test.js.map +1 -0
  33. package/core/scripts.js +1 -1
  34. package/core/scripts.js.map +1 -1
  35. package/core/sprites-display.svg +1 -1
  36. package/core/sprites-gui.svg +1 -1
  37. package/core/sprites-product.svg +1 -1
  38. package/core/utils/syntax-highlighter.css +9 -3
  39. package/index.d.ts +130 -75
  40. package/package.json +6 -7
  41. package/core/ConnectStateWrapper.js +0 -2
  42. package/core/ConnectStateWrapper.js.map +0 -1
  43. package/core/icons/display/icon-display-asset-tracking-col.svg +0 -18
  44. package/core/icons/gui/icon-gui-prod-asset-tracking-outline.svg +0 -3
  45. package/core/icons/gui/icon-gui-prod-asset-tracking-solid.svg +0 -3
  46. package/core/icons/product/icon-product-asset-tracking-mono.svg +0 -3
  47. package/core/icons/product/icon-product-asset-tracking.svg +0 -12
  48. package/core/remote-blogs-posts.js +0 -2
  49. package/core/remote-blogs-posts.js.map +0 -1
  50. package/core/remote-data-store.js +0 -2
  51. package/core/remote-data-store.js.map +0 -1
  52. package/core/remote-session-data.js +0 -2
  53. package/core/remote-session-data.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/core/Icon/computed-icons/display-icons.ts"],"sourcesContent":["// AUTOGENERATED BY generate-icons - DO NOT EDIT\n\nexport const displayIcons = [\n \"icon-display-48hrs\",\n \"icon-display-ably-channels\",\n \"icon-display-about-ably-col\",\n \"icon-display-api\",\n \"icon-display-api-keys\",\n \"icon-display-architectural-guidance\",\n \"icon-display-asset-tracking-col\",\n \"icon-display-authentication\",\n \"icon-display-avatar-stack\",\n \"icon-display-browser\",\n \"icon-display-calendar\",\n \"icon-display-call-mobile\",\n \"icon-display-careers-col\",\n \"icon-display-case-studies-col\",\n \"icon-display-chat-col\",\n \"icon-display-chat-mono\",\n \"icon-display-chat-stack\",\n \"icon-display-chat-stack-col\",\n \"icon-display-cloud-servers\",\n \"icon-display-cloud-servers-mono\",\n \"icon-display-compare-tech-col\",\n \"icon-display-connection-state-recovery\",\n \"icon-display-consumer-groups\",\n \"icon-display-custom\",\n \"icon-display-custom-cname\",\n \"icon-display-customers-col\",\n \"icon-display-data-broadcast-col\",\n \"icon-display-data-broadcast-mono\",\n \"icon-display-data-integrity\",\n \"icon-display-data-synchronization-col\",\n \"icon-display-database-connector\",\n \"icon-display-dedicated-cluster\",\n \"icon-display-deltas\",\n \"icon-display-docs-col\",\n \"icon-display-documentation\",\n \"icon-display-dynamic-channel-groups\",\n \"icon-display-edge-network\",\n \"icon-display-elasticity\",\n \"icon-display-ephemeral-messages\",\n \"icon-display-ephemeral-messages-dark-col\",\n \"icon-display-equalisers-mono\",\n \"icon-display-events-col\",\n \"icon-display-exactly-once-delivery\",\n \"icon-display-examples-col\",\n \"icon-display-fan-out\",\n \"icon-display-firehose\",\n \"icon-display-gdpr\",\n \"icon-display-general-comms\",\n \"icon-display-granular-permissions\",\n \"icon-display-hipaa\",\n \"icon-display-hipaa-mono\",\n \"icon-display-history\",\n \"icon-display-integrations\",\n \"icon-display-integrations-col\",\n \"icon-display-it-support-access\",\n \"icon-display-it-support-helpdesk\",\n \"icon-display-kafka-at-the-edge-col\",\n \"icon-display-laptop\",\n \"icon-display-last-seen\",\n \"icon-display-lightbulb-col\",\n \"icon-display-live-chat\",\n \"icon-display-live-updates\",\n \"icon-display-live-updates-results-metrics-col\",\n \"icon-display-map-pin\",\n \"icon-display-message\",\n \"icon-display-message-annotations\",\n \"icon-display-message-annotations-dark-col\",\n \"icon-display-message-batching\",\n \"icon-display-message-persistence\",\n \"icon-display-message-queues\",\n \"icon-display-multi-user-spaces\",\n \"icon-display-multi-user-spaces-col\",\n \"icon-display-observe-analytics\",\n \"icon-display-padlock-closed\",\n \"icon-display-platform\",\n \"icon-display-play\",\n \"icon-display-premium-support\",\n \"icon-display-privacy-shield-framework\",\n \"icon-display-private-link\",\n \"icon-display-push-notifications\",\n \"icon-display-push-notifications-col\",\n \"icon-display-push-notifications-mono\",\n \"icon-display-quickstart-guides-col\",\n \"icon-display-reactions\",\n \"icon-display-read-receipts\",\n \"icon-display-resources-col\",\n \"icon-display-rewind\",\n \"icon-display-sdks\",\n \"icon-display-sdks-col\",\n \"icon-display-send-received-messages\",\n \"icon-display-servers\",\n \"icon-display-shopping-cart\",\n \"icon-display-sla\",\n \"icon-display-soc2-type2\",\n \"icon-display-soc2-type2-mono\",\n \"icon-display-something-else\",\n \"icon-display-something-else-mono\",\n \"icon-display-subscription-filters\",\n \"icon-display-support-chat-mono\",\n \"icon-display-system-metadata\",\n \"icon-display-tech-account-comms\",\n \"icon-display-tutorials-demos-col\",\n \"icon-display-ui\",\n \"icon-display-ui-mono\",\n \"icon-display-virtual-events\",\n \"icon-display-virtual-events-col\"\n] as const;"],"names":["displayIcons"],"mappings":"AAEA,OAAO,MAAMA,aAAe,CAC1B,qBACA,6BACA,8BACA,mBACA,wBACA,sCACA,kCACA,8BACA,4BACA,uBACA,wBACA,2BACA,2BACA,gCACA,wBACA,yBACA,0BACA,8BACA,6BACA,kCACA,gCACA,yCACA,+BACA,sBACA,4BACA,6BACA,kCACA,mCACA,8BACA,wCACA,kCACA,iCACA,sBACA,wBACA,6BACA,sCACA,4BACA,0BACA,kCACA,2CACA,+BACA,0BACA,qCACA,4BACA,uBACA,wBACA,oBACA,6BACA,oCACA,qBACA,0BACA,uBACA,4BACA,gCACA,iCACA,mCACA,qCACA,sBACA,yBACA,6BACA,yBACA,4BACA,gDACA,uBACA,uBACA,mCACA,4CACA,gCACA,mCACA,8BACA,iCACA,qCACA,iCACA,8BACA,wBACA,oBACA,+BACA,wCACA,4BACA,kCACA,sCACA,uCACA,qCACA,yBACA,6BACA,6BACA,sBACA,oBACA,wBACA,sCACA,uBACA,6BACA,mBACA,0BACA,+BACA,8BACA,mCACA,oCACA,iCACA,+BACA,kCACA,mCACA,kBACA,uBACA,8BACA,kCACD,AAAU"}
1
+ {"version":3,"sources":["../../../../src/core/Icon/computed-icons/display-icons.ts"],"sourcesContent":["// AUTOGENERATED BY generate-icons - DO NOT EDIT\n\nexport const displayIcons = [\n \"icon-display-48hrs\",\n \"icon-display-ably-channels\",\n \"icon-display-about-ably-col\",\n \"icon-display-api\",\n \"icon-display-api-keys\",\n \"icon-display-architectural-guidance\",\n \"icon-display-authentication\",\n \"icon-display-avatar-stack\",\n \"icon-display-browser\",\n \"icon-display-calendar\",\n \"icon-display-call-mobile\",\n \"icon-display-careers-col\",\n \"icon-display-case-studies-col\",\n \"icon-display-chat-col\",\n \"icon-display-chat-mono\",\n \"icon-display-chat-stack\",\n \"icon-display-chat-stack-col\",\n \"icon-display-cloud-servers\",\n \"icon-display-cloud-servers-mono\",\n \"icon-display-compare-tech-col\",\n \"icon-display-connection-state-recovery\",\n \"icon-display-consumer-groups\",\n \"icon-display-custom\",\n \"icon-display-custom-cname\",\n \"icon-display-customers-col\",\n \"icon-display-data-broadcast-col\",\n \"icon-display-data-broadcast-mono\",\n \"icon-display-data-integrity\",\n \"icon-display-data-synchronization-col\",\n \"icon-display-database-connector\",\n \"icon-display-dedicated-cluster\",\n \"icon-display-deltas\",\n \"icon-display-docs-col\",\n \"icon-display-documentation\",\n \"icon-display-dynamic-channel-groups\",\n \"icon-display-edge-network\",\n \"icon-display-elasticity\",\n \"icon-display-ephemeral-messages\",\n \"icon-display-ephemeral-messages-dark-col\",\n \"icon-display-equalisers-mono\",\n \"icon-display-events-col\",\n \"icon-display-exactly-once-delivery\",\n \"icon-display-examples-col\",\n \"icon-display-fan-out\",\n \"icon-display-firehose\",\n \"icon-display-gdpr\",\n \"icon-display-general-comms\",\n \"icon-display-granular-permissions\",\n \"icon-display-hipaa\",\n \"icon-display-hipaa-mono\",\n \"icon-display-history\",\n \"icon-display-integrations\",\n \"icon-display-integrations-col\",\n \"icon-display-it-support-access\",\n \"icon-display-it-support-helpdesk\",\n \"icon-display-kafka-at-the-edge-col\",\n \"icon-display-laptop\",\n \"icon-display-last-seen\",\n \"icon-display-lightbulb-col\",\n \"icon-display-live-chat\",\n \"icon-display-live-updates\",\n \"icon-display-live-updates-results-metrics-col\",\n \"icon-display-map-pin\",\n \"icon-display-message\",\n \"icon-display-message-annotations\",\n \"icon-display-message-annotations-dark-col\",\n \"icon-display-message-batching\",\n \"icon-display-message-persistence\",\n \"icon-display-message-queues\",\n \"icon-display-multi-user-spaces\",\n \"icon-display-multi-user-spaces-col\",\n \"icon-display-observe-analytics\",\n \"icon-display-padlock-closed\",\n \"icon-display-platform\",\n \"icon-display-play\",\n \"icon-display-premium-support\",\n \"icon-display-privacy-shield-framework\",\n \"icon-display-private-link\",\n \"icon-display-push-notifications\",\n \"icon-display-push-notifications-col\",\n \"icon-display-push-notifications-mono\",\n \"icon-display-quickstart-guides-col\",\n \"icon-display-reactions\",\n \"icon-display-read-receipts\",\n \"icon-display-resources-col\",\n \"icon-display-rewind\",\n \"icon-display-sdks\",\n \"icon-display-sdks-col\",\n \"icon-display-send-received-messages\",\n \"icon-display-servers\",\n \"icon-display-shopping-cart\",\n \"icon-display-sla\",\n \"icon-display-soc2-type2\",\n \"icon-display-soc2-type2-mono\",\n \"icon-display-something-else\",\n \"icon-display-something-else-mono\",\n \"icon-display-subscription-filters\",\n \"icon-display-support-chat-mono\",\n \"icon-display-system-metadata\",\n \"icon-display-tech-account-comms\",\n \"icon-display-tutorials-demos-col\",\n \"icon-display-ui\",\n \"icon-display-ui-mono\",\n \"icon-display-virtual-events\",\n \"icon-display-virtual-events-col\"\n] as const;"],"names":["displayIcons"],"mappings":"AAEA,OAAO,MAAMA,aAAe,CAC1B,qBACA,6BACA,8BACA,mBACA,wBACA,sCACA,8BACA,4BACA,uBACA,wBACA,2BACA,2BACA,gCACA,wBACA,yBACA,0BACA,8BACA,6BACA,kCACA,gCACA,yCACA,+BACA,sBACA,4BACA,6BACA,kCACA,mCACA,8BACA,wCACA,kCACA,iCACA,sBACA,wBACA,6BACA,sCACA,4BACA,0BACA,kCACA,2CACA,+BACA,0BACA,qCACA,4BACA,uBACA,wBACA,oBACA,6BACA,oCACA,qBACA,0BACA,uBACA,4BACA,gCACA,iCACA,mCACA,qCACA,sBACA,yBACA,6BACA,yBACA,4BACA,gDACA,uBACA,uBACA,mCACA,4CACA,gCACA,mCACA,8BACA,iCACA,qCACA,iCACA,8BACA,wBACA,oBACA,+BACA,wCACA,4BACA,kCACA,sCACA,uCACA,qCACA,yBACA,6BACA,6BACA,sBACA,oBACA,wBACA,sCACA,uBACA,6BACA,mBACA,0BACA,+BACA,8BACA,mCACA,oCACA,iCACA,+BACA,kCACA,mCACA,kBACA,uBACA,8BACA,kCACD,AAAU"}
@@ -1,2 +1,2 @@
1
- export const guiIcons=["icon-gui-ably-badge","icon-gui-check-circled-fill","icon-gui-check-lotus-circled","icon-gui-checklist-checked","icon-gui-code-doc","icon-gui-cursor","icon-gui-expand","icon-gui-filter-flow-step-0","icon-gui-filter-flow-step-1","icon-gui-filter-flow-step-2","icon-gui-filter-flow-step-3","icon-gui-flower-growth","icon-gui-further-reading","icon-gui-glasses","icon-gui-heartbeat-outline","icon-gui-heartbeat-solid","icon-gui-history","icon-gui-live-chat","icon-gui-mouse","icon-gui-partial","icon-gui-pitfall","icon-gui-prod-ai-transport-outline","icon-gui-prod-ai-transport-solid","icon-gui-prod-asset-tracking-outline","icon-gui-prod-asset-tracking-solid","icon-gui-prod-chat-outline","icon-gui-prod-chat-solid","icon-gui-prod-liveobjects-outline","icon-gui-prod-liveobjects-solid","icon-gui-prod-livesync-outline","icon-gui-prod-livesync-solid","icon-gui-prod-pubsub-outline","icon-gui-prod-pubsub-solid","icon-gui-prod-spaces-outline","icon-gui-prod-spaces-solid","icon-gui-quote-marks-fill","icon-gui-refresh","icon-gui-resources","icon-gui-spinner-dark","icon-gui-spinner-light"];
1
+ export const guiIcons=["icon-gui-ably-badge","icon-gui-check-circled-fill","icon-gui-check-lotus-circled","icon-gui-checklist-checked","icon-gui-code-doc","icon-gui-cursor","icon-gui-expand","icon-gui-filter-flow-step-0","icon-gui-filter-flow-step-1","icon-gui-filter-flow-step-2","icon-gui-filter-flow-step-3","icon-gui-flower-growth","icon-gui-further-reading","icon-gui-glasses","icon-gui-heartbeat-outline","icon-gui-heartbeat-solid","icon-gui-history","icon-gui-live-chat","icon-gui-mouse","icon-gui-partial","icon-gui-pitfall","icon-gui-prod-ai-transport-outline","icon-gui-prod-ai-transport-solid","icon-gui-prod-chat-outline","icon-gui-prod-chat-solid","icon-gui-prod-liveobjects-outline","icon-gui-prod-liveobjects-solid","icon-gui-prod-livesync-outline","icon-gui-prod-livesync-solid","icon-gui-prod-pubsub-outline","icon-gui-prod-pubsub-solid","icon-gui-prod-spaces-outline","icon-gui-prod-spaces-solid","icon-gui-quote-marks-fill","icon-gui-refresh","icon-gui-resources","icon-gui-spinner-dark","icon-gui-spinner-light"];
2
2
  //# sourceMappingURL=gui-icons.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/core/Icon/computed-icons/gui-icons.ts"],"sourcesContent":["// AUTOGENERATED BY generate-icons - DO NOT EDIT\n\nexport const guiIcons = [\n \"icon-gui-ably-badge\",\n \"icon-gui-check-circled-fill\",\n \"icon-gui-check-lotus-circled\",\n \"icon-gui-checklist-checked\",\n \"icon-gui-code-doc\",\n \"icon-gui-cursor\",\n \"icon-gui-expand\",\n \"icon-gui-filter-flow-step-0\",\n \"icon-gui-filter-flow-step-1\",\n \"icon-gui-filter-flow-step-2\",\n \"icon-gui-filter-flow-step-3\",\n \"icon-gui-flower-growth\",\n \"icon-gui-further-reading\",\n \"icon-gui-glasses\",\n \"icon-gui-heartbeat-outline\",\n \"icon-gui-heartbeat-solid\",\n \"icon-gui-history\",\n \"icon-gui-live-chat\",\n \"icon-gui-mouse\",\n \"icon-gui-partial\",\n \"icon-gui-pitfall\",\n \"icon-gui-prod-ai-transport-outline\",\n \"icon-gui-prod-ai-transport-solid\",\n \"icon-gui-prod-asset-tracking-outline\",\n \"icon-gui-prod-asset-tracking-solid\",\n \"icon-gui-prod-chat-outline\",\n \"icon-gui-prod-chat-solid\",\n \"icon-gui-prod-liveobjects-outline\",\n \"icon-gui-prod-liveobjects-solid\",\n \"icon-gui-prod-livesync-outline\",\n \"icon-gui-prod-livesync-solid\",\n \"icon-gui-prod-pubsub-outline\",\n \"icon-gui-prod-pubsub-solid\",\n \"icon-gui-prod-spaces-outline\",\n \"icon-gui-prod-spaces-solid\",\n \"icon-gui-quote-marks-fill\",\n \"icon-gui-refresh\",\n \"icon-gui-resources\",\n \"icon-gui-spinner-dark\",\n \"icon-gui-spinner-light\"\n] as const;"],"names":["guiIcons"],"mappings":"AAEA,OAAO,MAAMA,SAAW,CACtB,sBACA,8BACA,+BACA,6BACA,oBACA,kBACA,kBACA,8BACA,8BACA,8BACA,8BACA,yBACA,2BACA,mBACA,6BACA,2BACA,mBACA,qBACA,iBACA,mBACA,mBACA,qCACA,mCACA,uCACA,qCACA,6BACA,2BACA,oCACA,kCACA,iCACA,+BACA,+BACA,6BACA,+BACA,6BACA,4BACA,mBACA,qBACA,wBACA,yBACD,AAAU"}
1
+ {"version":3,"sources":["../../../../src/core/Icon/computed-icons/gui-icons.ts"],"sourcesContent":["// AUTOGENERATED BY generate-icons - DO NOT EDIT\n\nexport const guiIcons = [\n \"icon-gui-ably-badge\",\n \"icon-gui-check-circled-fill\",\n \"icon-gui-check-lotus-circled\",\n \"icon-gui-checklist-checked\",\n \"icon-gui-code-doc\",\n \"icon-gui-cursor\",\n \"icon-gui-expand\",\n \"icon-gui-filter-flow-step-0\",\n \"icon-gui-filter-flow-step-1\",\n \"icon-gui-filter-flow-step-2\",\n \"icon-gui-filter-flow-step-3\",\n \"icon-gui-flower-growth\",\n \"icon-gui-further-reading\",\n \"icon-gui-glasses\",\n \"icon-gui-heartbeat-outline\",\n \"icon-gui-heartbeat-solid\",\n \"icon-gui-history\",\n \"icon-gui-live-chat\",\n \"icon-gui-mouse\",\n \"icon-gui-partial\",\n \"icon-gui-pitfall\",\n \"icon-gui-prod-ai-transport-outline\",\n \"icon-gui-prod-ai-transport-solid\",\n \"icon-gui-prod-chat-outline\",\n \"icon-gui-prod-chat-solid\",\n \"icon-gui-prod-liveobjects-outline\",\n \"icon-gui-prod-liveobjects-solid\",\n \"icon-gui-prod-livesync-outline\",\n \"icon-gui-prod-livesync-solid\",\n \"icon-gui-prod-pubsub-outline\",\n \"icon-gui-prod-pubsub-solid\",\n \"icon-gui-prod-spaces-outline\",\n \"icon-gui-prod-spaces-solid\",\n \"icon-gui-quote-marks-fill\",\n \"icon-gui-refresh\",\n \"icon-gui-resources\",\n \"icon-gui-spinner-dark\",\n \"icon-gui-spinner-light\"\n] as const;"],"names":["guiIcons"],"mappings":"AAEA,OAAO,MAAMA,SAAW,CACtB,sBACA,8BACA,+BACA,6BACA,oBACA,kBACA,kBACA,8BACA,8BACA,8BACA,8BACA,yBACA,2BACA,mBACA,6BACA,2BACA,mBACA,qBACA,iBACA,mBACA,mBACA,qCACA,mCACA,6BACA,2BACA,oCACA,kCACA,iCACA,+BACA,+BACA,6BACA,+BACA,6BACA,4BACA,mBACA,qBACA,wBACA,yBACD,AAAU"}
@@ -1,2 +1,2 @@
1
- export const productIcons=["icon-product-ai-transport","icon-product-ai-transport-mono","icon-product-asset-tracking","icon-product-asset-tracking-mono","icon-product-chat","icon-product-chat-mono","icon-product-liveobjects","icon-product-liveobjects-dark","icon-product-liveobjects-mono","icon-product-livesync","icon-product-livesync-mono","icon-product-platform","icon-product-platform-mono","icon-product-pubsub","icon-product-pubsub-mono","icon-product-spaces","icon-product-spaces-mono"];
1
+ export const productIcons=["icon-product-ai-transport","icon-product-ai-transport-mono","icon-product-chat","icon-product-chat-mono","icon-product-liveobjects","icon-product-liveobjects-dark","icon-product-liveobjects-mono","icon-product-livesync","icon-product-livesync-mono","icon-product-platform","icon-product-platform-mono","icon-product-pubsub","icon-product-pubsub-mono","icon-product-spaces","icon-product-spaces-mono"];
2
2
  //# sourceMappingURL=product-icons.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/core/Icon/computed-icons/product-icons.ts"],"sourcesContent":["// AUTOGENERATED BY generate-icons - DO NOT EDIT\n\nexport const productIcons = [\n \"icon-product-ai-transport\",\n \"icon-product-ai-transport-mono\",\n \"icon-product-asset-tracking\",\n \"icon-product-asset-tracking-mono\",\n \"icon-product-chat\",\n \"icon-product-chat-mono\",\n \"icon-product-liveobjects\",\n \"icon-product-liveobjects-dark\",\n \"icon-product-liveobjects-mono\",\n \"icon-product-livesync\",\n \"icon-product-livesync-mono\",\n \"icon-product-platform\",\n \"icon-product-platform-mono\",\n \"icon-product-pubsub\",\n \"icon-product-pubsub-mono\",\n \"icon-product-spaces\",\n \"icon-product-spaces-mono\"\n] as const;"],"names":["productIcons"],"mappings":"AAEA,OAAO,MAAMA,aAAe,CAC1B,4BACA,iCACA,8BACA,mCACA,oBACA,yBACA,2BACA,gCACA,gCACA,wBACA,6BACA,wBACA,6BACA,sBACA,2BACA,sBACA,2BACD,AAAU"}
1
+ {"version":3,"sources":["../../../../src/core/Icon/computed-icons/product-icons.ts"],"sourcesContent":["// AUTOGENERATED BY generate-icons - DO NOT EDIT\n\nexport const productIcons = [\n \"icon-product-ai-transport\",\n \"icon-product-ai-transport-mono\",\n \"icon-product-chat\",\n \"icon-product-chat-mono\",\n \"icon-product-liveobjects\",\n \"icon-product-liveobjects-dark\",\n \"icon-product-liveobjects-mono\",\n \"icon-product-livesync\",\n \"icon-product-livesync-mono\",\n \"icon-product-platform\",\n \"icon-product-platform-mono\",\n \"icon-product-pubsub\",\n \"icon-product-pubsub-mono\",\n \"icon-product-spaces\",\n \"icon-product-spaces-mono\"\n] as const;"],"names":["productIcons"],"mappings":"AAEA,OAAO,MAAMA,aAAe,CAC1B,4BACA,iCACA,oBACA,yBACA,2BACA,gCACA,gCACA,wBACA,6BACA,wBACA,6BACA,sBACA,2BACA,sBACA,2BACD,AAAU"}
@@ -0,0 +1,2 @@
1
+ import React,{createContext,useContext,useMemo}from"react";import useSWR from"swr";const SessionDataContext=createContext(undefined);const fetcher=async url=>{const options={headers:{accept:"application/json"},cache:"no-cache"};if(typeof false!=="undefined"&&false){options.credentials="include"}const res=await fetch(url,options);if(!res.ok){throw new Error("Failed to fetch session data")}const contentType=res.headers.get("content-type");if(!contentType?.includes("application/json")){throw new Error("Session endpoint is not serving json")}const data=await res.json();if(data.error==="not-found"){return null}return data};const SESSION_SWR_OPTIONS={revalidateOnFocus:false,revalidateOnReconnect:false,shouldRetryOnError:false,onError:err=>{console.warn("Could not fetch session data due to error:",err)}};export const SessionDataProvider=({children,sessionDataUrl})=>{const{data,error,isLoading}=useSWR(sessionDataUrl||null,fetcher,SESSION_SWR_OPTIONS);const contextValue=useMemo(()=>({sessionData:data??null,isLoading,error}),[data,isLoading,error]);return React.createElement(SessionDataContext.Provider,{value:contextValue},children)};export const useSessionData=()=>{const context=useContext(SessionDataContext);if(context===undefined){throw new Error("useSessionData must be used within SessionDataProvider")}return context};export const useSessionDataDirect=sessionDataUrl=>{const{data,error,isLoading}=useSWR(sessionDataUrl||null,fetcher,SESSION_SWR_OPTIONS);return{sessionData:data??null,isLoading,error}};
2
+ //# sourceMappingURL=SessionData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/core/SessionData.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n PropsWithChildren,\n useMemo,\n} from \"react\";\nimport useSWR from \"swr\";\n\n// Feature flag for enabling credentials in fetch requests\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ndeclare const __ENABLE_FETCH_WITH_CREDENTIALS__: boolean | undefined;\n\ntype SessionUser = {\n firstName?: string;\n lastName?: string;\n email?: string;\n};\n\ntype SessionData = {\n user?: SessionUser;\n} | null;\n\ntype SessionDataContextType = {\n sessionData: SessionData;\n isLoading: boolean;\n error: Error | undefined;\n};\n\nconst SessionDataContext = createContext<SessionDataContextType | undefined>(\n undefined,\n);\n\ntype SessionDataProviderProps = PropsWithChildren<{\n sessionDataUrl?: string;\n}>;\n\n/**\n * fetcher - Retrieves session data from a backend API endpoint.\n *\n * Makes a JSON request to fetch current user session information. Optionally includes\n * credentials (cookies) based on the __ENABLE_FETCH_WITH_CREDENTIALS__ feature flag.\n * Handles \"not-found\" responses gracefully by returning null instead of throwing.\n * Validates response is JSON to prevent parsing errors.\n */\nconst fetcher = async (url: string): Promise<SessionData> => {\n const options: RequestInit = {\n headers: {\n accept: \"application/json\",\n },\n cache: \"no-cache\",\n };\n\n // Check if credentials should be included (feature flag)\n if (\n typeof __ENABLE_FETCH_WITH_CREDENTIALS__ !== \"undefined\" &&\n __ENABLE_FETCH_WITH_CREDENTIALS__\n ) {\n options.credentials = \"include\";\n }\n\n const res = await fetch(url, options);\n\n if (!res.ok) {\n throw new Error(\"Failed to fetch session data\");\n }\n\n const contentType = res.headers.get(\"content-type\");\n if (!contentType?.includes(\"application/json\")) {\n throw new Error(\"Session endpoint is not serving json\");\n }\n\n const data = await res.json();\n\n // Handle \"not found\" error gracefully\n if (data.error === \"not-found\") {\n return null;\n }\n\n return data;\n};\n\nconst SESSION_SWR_OPTIONS = {\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n shouldRetryOnError: false,\n onError: (err: Error) => {\n console.warn(\"Could not fetch session data due to error:\", err);\n },\n};\n\n/**\n * SessionDataProvider - Context provider for managing user session data throughout the app.\n *\n * Fetches and caches session data using SWR (stale-while-revalidate) from the provided URL.\n * Exposes session data, loading state, and errors through context. Use this at the app root\n * level and access via useSessionData() hook in child components. Disables auto-revalidation\n * to avoid excessive network requests - session data is fetched once on mount.\n */\nexport const SessionDataProvider = ({\n children,\n sessionDataUrl,\n}: SessionDataProviderProps) => {\n const { data, error, isLoading } = useSWR<SessionData>(\n sessionDataUrl || null,\n fetcher,\n SESSION_SWR_OPTIONS,\n );\n\n const contextValue = useMemo(\n () => ({\n sessionData: data ?? null,\n isLoading,\n error,\n }),\n [data, isLoading, error],\n );\n\n return (\n <SessionDataContext.Provider value={contextValue}>\n {children}\n </SessionDataContext.Provider>\n );\n};\n\n/**\n * useSessionData - Hook to access session data from SessionDataProvider context.\n *\n * Returns the current user session data, loading state, and any errors from the provider.\n * Must be used within a SessionDataProvider or will throw an error. Use this hook in\n * components that need to read or display user session information.\n */\nexport const useSessionData = () => {\n const context = useContext(SessionDataContext);\n if (context === undefined) {\n throw new Error(\"useSessionData must be used within SessionDataProvider\");\n }\n return context;\n};\n\n/**\n * useSessionDataDirect - Direct session data hook without requiring a provider (legacy).\n *\n * Fetches session data using SWR directly, bypassing the context provider pattern.\n * Provided for backward compatibility with code that doesn't use SessionDataProvider.\n * For new code, prefer using SessionDataProvider + useSessionData() for better\n * performance and centralized session management.\n */\nexport const useSessionDataDirect = (sessionDataUrl?: string) => {\n const { data, error, isLoading } = useSWR<SessionData>(\n sessionDataUrl || null,\n fetcher,\n SESSION_SWR_OPTIONS,\n );\n\n return {\n sessionData: data ?? null,\n isLoading,\n error,\n };\n};\n"],"names":["React","createContext","useContext","useMemo","useSWR","SessionDataContext","undefined","fetcher","url","options","headers","accept","cache","credentials","res","fetch","ok","Error","contentType","get","includes","data","json","error","SESSION_SWR_OPTIONS","revalidateOnFocus","revalidateOnReconnect","shouldRetryOnError","onError","err","console","warn","SessionDataProvider","children","sessionDataUrl","isLoading","contextValue","sessionData","Provider","value","useSessionData","context","useSessionDataDirect"],"mappings":"AAAA,OAAOA,OACLC,aAAa,CACbC,UAAU,CAEVC,OAAO,KACF,OAAQ,AACf,QAAOC,WAAY,KAAM,CAsBzB,MAAMC,mBAAqBJ,cACzBK,WAeF,MAAMC,QAAU,MAAOC,MACrB,MAAMC,QAAuB,CAC3BC,QAAS,CACPC,OAAQ,kBACV,EACAC,MAAO,UACT,EAGA,GACE,OAgGD,QAhG8C,aAgG9C,MA9FC,CACAH,QAAQI,WAAW,CAAG,SACxB,CAEA,MAAMC,IAAM,MAAMC,MAAMP,IAAKC,SAE7B,GAAI,CAACK,IAAIE,EAAE,CAAE,CACX,MAAM,IAAIC,MAAM,+BAClB,CAEA,MAAMC,YAAcJ,IAAIJ,OAAO,CAACS,GAAG,CAAC,gBACpC,GAAI,CAACD,aAAaE,SAAS,oBAAqB,CAC9C,MAAM,IAAIH,MAAM,uCAClB,CAEA,MAAMI,KAAO,MAAMP,IAAIQ,IAAI,GAG3B,GAAID,KAAKE,KAAK,GAAK,YAAa,CAC9B,OAAO,IACT,CAEA,OAAOF,IACT,EAEA,MAAMG,oBAAsB,CAC1BC,kBAAmB,MACnBC,sBAAuB,MACvBC,mBAAoB,MACpBC,QAAS,AAACC,MACRC,QAAQC,IAAI,CAAC,6CAA8CF,IAC7D,CACF,CAUA,QAAO,MAAMG,oBAAsB,CAAC,CAClCC,QAAQ,CACRC,cAAc,CACW,IACzB,KAAM,CAAEb,IAAI,CAAEE,KAAK,CAAEY,SAAS,CAAE,CAAG/B,OACjC8B,gBAAkB,KAClB3B,QACAiB,qBAGF,MAAMY,aAAejC,QACnB,IAAO,CAAA,CACLkC,YAAahB,MAAQ,KACrBc,UACAZ,KACF,CAAA,EACA,CAACF,KAAMc,UAAWZ,MAAM,EAG1B,OACE,oBAAClB,mBAAmBiC,QAAQ,EAACC,MAAOH,cACjCH,SAGP,CAAE,AASF,QAAO,MAAMO,eAAiB,KAC5B,MAAMC,QAAUvC,WAAWG,oBAC3B,GAAIoC,UAAYnC,UAAW,CACzB,MAAM,IAAIW,MAAM,yDAClB,CACA,OAAOwB,OACT,CAAE,AAUF,QAAO,MAAMC,qBAAuB,AAACR,iBACnC,KAAM,CAAEb,IAAI,CAAEE,KAAK,CAAEY,SAAS,CAAE,CAAG/B,OACjC8B,gBAAkB,KAClB3B,QACAiB,qBAGF,MAAO,CACLa,YAAahB,MAAQ,KACrBc,UACAZ,KACF,CACF,CAAE"}
@@ -1,2 +1,2 @@
1
- import mixpanel from"mixpanel-browser";export const initMixpanel=(token,autoCapture=false,debug=false,recordSessionsPercent=1)=>{const blockSelectors=["[ph-no-capture]",'[data-sl="mask"]'];if(!token){console.warn("Mixpanel token not provided, skipping initialization");return}mixpanel.init(token,{debug:debug,persistence:"localStorage",autocapture:autoCapture?{block_selectors:blockSelectors,capture_text_content:true,pageview:false}:false,track_pageview:false,record_sessions_percent:recordSessionsPercent,record_mask_text_selector:undefined})};export const enableDebugMode=()=>{mixpanel.set_config({debug:true})};export const disableDebugMode=()=>{mixpanel.set_config({debug:false})};export const identify=({userId,accountId,organisationId,email,name,...properties})=>{if(!userId){return}mixpanel.identify(userId.toString());const peopleProperties={...properties};if(email||name){peopleProperties.$email=email;peopleProperties.$name=name}if(organisationId){peopleProperties.organization_id=[organisationId.toString()]}if(Object.keys(peopleProperties).length>0){mixpanel.people.set(peopleProperties)}if(accountId){mixpanel.people.union({accounts:[accountId.toString()]})}};const redactUrlSegments=excludeIds=>{const pathSegments=window.location.pathname.split("/");const redactedSegments=pathSegments.map(segment=>{if(/^\d+$/.test(segment)||excludeIds.some(id=>id&&id!==""&&segment===id)){return"{redacted}"}return segment});const url=new URL(window.location.href);url.pathname=redactedSegments.join("/");return decodeURI(url.toString()).toLowerCase()};export const trackPageView=properties=>{const{excludeIds,...rest}=properties??{};mixpanel.track_pageview({redacted_path:redactUrlSegments(excludeIds??[]),...rest})};export const track=(event,properties)=>{mixpanel.track(event,properties)};export const startSessionRecording=()=>{mixpanel.start_session_recording()};export const stopSessionRecording=()=>{mixpanel.stop_session_recording()};
1
+ import mixpanel from"mixpanel-browser";export const initMixpanel=(token,autoCapture=false,debug=false,recordSessionsPercent=1)=>{const blockSelectors=["[data-mask]"];if(!token){console.warn("Mixpanel token not provided, skipping initialization");return}mixpanel.init(token,{debug:debug,persistence:"localStorage",autocapture:autoCapture?{block_selectors:blockSelectors,capture_text_content:true,pageview:false}:false,track_pageview:false,record_sessions_percent:recordSessionsPercent,record_mask_text_selector:"[data-mask]"})};export const enableDebugMode=()=>{mixpanel.set_config({debug:true})};export const disableDebugMode=()=>{mixpanel.set_config({debug:false})};export const identify=({userId,accountId,organisationId,email,name,...properties})=>{if(!userId){return}mixpanel.identify(userId.toString());const peopleProperties={...properties};if(email||name){peopleProperties.$email=email;peopleProperties.$name=name}if(organisationId){peopleProperties.organization_id=[organisationId.toString()]}if(Object.keys(peopleProperties).length>0){mixpanel.people.set(peopleProperties)}if(accountId){mixpanel.people.union({accounts:[accountId.toString()]})}};const redactUrlSegments=excludeIds=>{const pathSegments=window.location.pathname.split("/");const redactedSegments=pathSegments.map(segment=>{if(/^\d+$/.test(segment)||excludeIds.some(id=>id&&id!==""&&segment===id)){return"{redacted}"}return segment});const url=new URL(window.location.href);url.pathname=redactedSegments.join("/");return decodeURI(url.toString()).toLowerCase()};export const trackPageView=properties=>{const{excludeIds,...rest}=properties??{};mixpanel.track_pageview({redacted_path:redactUrlSegments(excludeIds??[]),...rest})};export const track=(event,properties)=>{mixpanel.track(event,properties)};export const startSessionRecording=()=>{mixpanel.start_session_recording()};export const stopSessionRecording=()=>{mixpanel.stop_session_recording()};
2
2
  //# sourceMappingURL=mixpanel.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/core/insights/mixpanel.ts"],"sourcesContent":["import mixpanel from \"mixpanel-browser\";\n\nimport { InsightsIdentity, TrackPageViewOptions } from \"./types\";\n\nexport const initMixpanel = (\n token: string,\n autoCapture: boolean = false,\n debug: boolean = false,\n recordSessionsPercent = 1,\n) => {\n const blockSelectors = [\"[ph-no-capture]\", '[data-sl=\"mask\"]'];\n if (!token) {\n console.warn(\"Mixpanel token not provided, skipping initialization\");\n return;\n }\n\n mixpanel.init(token, {\n debug: debug,\n persistence: \"localStorage\",\n autocapture: autoCapture\n ? {\n block_selectors: blockSelectors,\n capture_text_content: true,\n pageview: false, // We'll track page views manually\n }\n : false,\n track_pageview: false, // We'll track page views manually\n record_sessions_percent: recordSessionsPercent,\n record_mask_text_selector: undefined, // Prevents all text from being masked - we have other masking configured/enabled\n });\n};\n\nexport const enableDebugMode = () => {\n mixpanel.set_config({ debug: true });\n};\n\nexport const disableDebugMode = () => {\n mixpanel.set_config({ debug: false });\n};\n\nexport const identify = ({\n userId,\n accountId,\n organisationId,\n email,\n name,\n ...properties\n}: InsightsIdentity) => {\n // In very rare cases we might have a user without an account, so we'll\n // let null/undefined/blank strings through on that one\n if (!userId) {\n return;\n }\n\n mixpanel.identify(userId.toString());\n\n const peopleProperties: Record<string, unknown> = { ...properties };\n\n if (email || name) {\n peopleProperties.$email = email;\n peopleProperties.$name = name;\n }\n\n if (organisationId) {\n peopleProperties.organization_id = [organisationId.toString()];\n }\n\n if (Object.keys(peopleProperties).length > 0) {\n mixpanel.people.set(peopleProperties);\n }\n\n if (accountId) {\n mixpanel.people.union({ accounts: [accountId.toString()] });\n }\n};\n\n// Simple function to replace all digits and IDs in a URL path with {redacted},\n// purely to make reporting based on aggregates easier\nconst redactUrlSegments = (excludeIds: string[]) => {\n const pathSegments = window.location.pathname.split(\"/\");\n\n const redactedSegments = pathSegments.map((segment) => {\n // Redact if the segment contains only digits or matches any of the excluded IDs\n if (\n /^\\d+$/.test(segment) ||\n excludeIds.some((id) => id && id !== \"\" && segment === id)\n ) {\n return \"{redacted}\";\n }\n\n return segment;\n });\n\n // Join the segments back together\n const url = new URL(window.location.href);\n url.pathname = redactedSegments.join(\"/\");\n\n return decodeURI(url.toString()).toLowerCase();\n};\n\nexport const trackPageView = (properties?: TrackPageViewOptions) => {\n const { excludeIds, ...rest } = properties ?? {};\n\n // Add the redacted URL to the page view event for reporting\n mixpanel.track_pageview({\n redacted_path: redactUrlSegments(excludeIds ?? []),\n ...rest,\n });\n};\n\nexport const track = (event: string, properties?: Record<string, unknown>) => {\n mixpanel.track(event, properties);\n};\n\nexport const startSessionRecording = () => {\n mixpanel.start_session_recording();\n};\n\nexport const stopSessionRecording = () => {\n mixpanel.stop_session_recording();\n};\n"],"names":["mixpanel","initMixpanel","token","autoCapture","debug","recordSessionsPercent","blockSelectors","console","warn","init","persistence","autocapture","block_selectors","capture_text_content","pageview","track_pageview","record_sessions_percent","record_mask_text_selector","undefined","enableDebugMode","set_config","disableDebugMode","identify","userId","accountId","organisationId","email","name","properties","toString","peopleProperties","$email","$name","organization_id","Object","keys","length","people","set","union","accounts","redactUrlSegments","excludeIds","pathSegments","window","location","pathname","split","redactedSegments","map","segment","test","some","id","url","URL","href","join","decodeURI","toLowerCase","trackPageView","rest","redacted_path","track","event","startSessionRecording","start_session_recording","stopSessionRecording","stop_session_recording"],"mappings":"AAAA,OAAOA,aAAc,kBAAmB,AAIxC,QAAO,MAAMC,aAAe,CAC1BC,MACAC,YAAuB,KAAK,CAC5BC,MAAiB,KAAK,CACtBC,sBAAwB,CAAC,IAEzB,MAAMC,eAAiB,CAAC,kBAAmB,mBAAmB,CAC9D,GAAI,CAACJ,MAAO,CACVK,QAAQC,IAAI,CAAC,wDACb,MACF,CAEAR,SAASS,IAAI,CAACP,MAAO,CACnBE,MAAOA,MACPM,YAAa,eACbC,YAAaR,YACT,CACES,gBAAiBN,eACjBO,qBAAsB,KACtBC,SAAU,KACZ,EACA,MACJC,eAAgB,MAChBC,wBAAyBX,sBACzBY,0BAA2BC,SAC7B,EACF,CAAE,AAEF,QAAO,MAAMC,gBAAkB,KAC7BnB,SAASoB,UAAU,CAAC,CAAEhB,MAAO,IAAK,EACpC,CAAE,AAEF,QAAO,MAAMiB,iBAAmB,KAC9BrB,SAASoB,UAAU,CAAC,CAAEhB,MAAO,KAAM,EACrC,CAAE,AAEF,QAAO,MAAMkB,SAAW,CAAC,CACvBC,MAAM,CACNC,SAAS,CACTC,cAAc,CACdC,KAAK,CACLC,IAAI,CACJ,GAAGC,WACc,IAGjB,GAAI,CAACL,OAAQ,CACX,MACF,CAEAvB,SAASsB,QAAQ,CAACC,OAAOM,QAAQ,IAEjC,MAAMC,iBAA4C,CAAE,GAAGF,UAAU,AAAC,EAElE,GAAIF,OAASC,KAAM,CACjBG,iBAAiBC,MAAM,CAAGL,KAC1BI,CAAAA,iBAAiBE,KAAK,CAAGL,IAC3B,CAEA,GAAIF,eAAgB,CAClBK,iBAAiBG,eAAe,CAAG,CAACR,eAAeI,QAAQ,GAAG,AAChE,CAEA,GAAIK,OAAOC,IAAI,CAACL,kBAAkBM,MAAM,CAAG,EAAG,CAC5CpC,SAASqC,MAAM,CAACC,GAAG,CAACR,iBACtB,CAEA,GAAIN,UAAW,CACbxB,SAASqC,MAAM,CAACE,KAAK,CAAC,CAAEC,SAAU,CAAChB,UAAUK,QAAQ,GAAG,AAAC,EAC3D,CACF,CAAE,CAIF,MAAMY,kBAAoB,AAACC,aACzB,MAAMC,aAAeC,OAAOC,QAAQ,CAACC,QAAQ,CAACC,KAAK,CAAC,KAEpD,MAAMC,iBAAmBL,aAAaM,GAAG,CAAC,AAACC,UAEzC,GACE,QAAQC,IAAI,CAACD,UACbR,WAAWU,IAAI,CAAC,AAACC,IAAOA,IAAMA,KAAO,IAAMH,UAAYG,IACvD,CACA,MAAO,YACT,CAEA,OAAOH,OACT,GAGA,MAAMI,IAAM,IAAIC,IAAIX,OAAOC,QAAQ,CAACW,IAAI,CACxCF,CAAAA,IAAIR,QAAQ,CAAGE,iBAAiBS,IAAI,CAAC,KAErC,OAAOC,UAAUJ,IAAIzB,QAAQ,IAAI8B,WAAW,EAC9C,CAEA,QAAO,MAAMC,cAAgB,AAAChC,aAC5B,KAAM,CAAEc,UAAU,CAAE,GAAGmB,KAAM,CAAGjC,YAAc,CAAC,EAG/C5B,SAASe,cAAc,CAAC,CACtB+C,cAAerB,kBAAkBC,YAAc,EAAE,EACjD,GAAGmB,IAAI,AACT,EACF,CAAE,AAEF,QAAO,MAAME,MAAQ,CAACC,MAAepC,cACnC5B,SAAS+D,KAAK,CAACC,MAAOpC,WACxB,CAAE,AAEF,QAAO,MAAMqC,sBAAwB,KACnCjE,SAASkE,uBAAuB,EAClC,CAAE,AAEF,QAAO,MAAMC,qBAAuB,KAClCnE,SAASoE,sBAAsB,EACjC,CAAE"}
1
+ {"version":3,"sources":["../../../src/core/insights/mixpanel.ts"],"sourcesContent":["import mixpanel from \"mixpanel-browser\";\n\nimport { InsightsIdentity, TrackPageViewOptions } from \"./types\";\n\nexport const initMixpanel = (\n token: string,\n autoCapture: boolean = false,\n debug: boolean = false,\n recordSessionsPercent = 1,\n) => {\n const blockSelectors = [\"[data-mask]\"];\n if (!token) {\n console.warn(\"Mixpanel token not provided, skipping initialization\");\n return;\n }\n\n mixpanel.init(token, {\n debug: debug,\n persistence: \"localStorage\",\n autocapture: autoCapture\n ? {\n block_selectors: blockSelectors,\n capture_text_content: true,\n pageview: false, // We'll track page views manually\n }\n : false,\n track_pageview: false, // We'll track page views manually\n record_sessions_percent: recordSessionsPercent,\n record_mask_text_selector: \"[data-mask]\",\n });\n};\n\nexport const enableDebugMode = () => {\n mixpanel.set_config({ debug: true });\n};\n\nexport const disableDebugMode = () => {\n mixpanel.set_config({ debug: false });\n};\n\nexport const identify = ({\n userId,\n accountId,\n organisationId,\n email,\n name,\n ...properties\n}: InsightsIdentity) => {\n // In very rare cases we might have a user without an account, so we'll\n // let null/undefined/blank strings through on that one\n if (!userId) {\n return;\n }\n\n mixpanel.identify(userId.toString());\n\n const peopleProperties: Record<string, unknown> = { ...properties };\n\n if (email || name) {\n peopleProperties.$email = email;\n peopleProperties.$name = name;\n }\n\n if (organisationId) {\n peopleProperties.organization_id = [organisationId.toString()];\n }\n\n if (Object.keys(peopleProperties).length > 0) {\n mixpanel.people.set(peopleProperties);\n }\n\n if (accountId) {\n mixpanel.people.union({ accounts: [accountId.toString()] });\n }\n};\n\n// Simple function to replace all digits and IDs in a URL path with {redacted},\n// purely to make reporting based on aggregates easier\nconst redactUrlSegments = (excludeIds: string[]) => {\n const pathSegments = window.location.pathname.split(\"/\");\n\n const redactedSegments = pathSegments.map((segment) => {\n // Redact if the segment contains only digits or matches any of the excluded IDs\n if (\n /^\\d+$/.test(segment) ||\n excludeIds.some((id) => id && id !== \"\" && segment === id)\n ) {\n return \"{redacted}\";\n }\n\n return segment;\n });\n\n // Join the segments back together\n const url = new URL(window.location.href);\n url.pathname = redactedSegments.join(\"/\");\n\n return decodeURI(url.toString()).toLowerCase();\n};\n\nexport const trackPageView = (properties?: TrackPageViewOptions) => {\n const { excludeIds, ...rest } = properties ?? {};\n\n // Add the redacted URL to the page view event for reporting\n mixpanel.track_pageview({\n redacted_path: redactUrlSegments(excludeIds ?? []),\n ...rest,\n });\n};\n\nexport const track = (event: string, properties?: Record<string, unknown>) => {\n mixpanel.track(event, properties);\n};\n\nexport const startSessionRecording = () => {\n mixpanel.start_session_recording();\n};\n\nexport const stopSessionRecording = () => {\n mixpanel.stop_session_recording();\n};\n"],"names":["mixpanel","initMixpanel","token","autoCapture","debug","recordSessionsPercent","blockSelectors","console","warn","init","persistence","autocapture","block_selectors","capture_text_content","pageview","track_pageview","record_sessions_percent","record_mask_text_selector","enableDebugMode","set_config","disableDebugMode","identify","userId","accountId","organisationId","email","name","properties","toString","peopleProperties","$email","$name","organization_id","Object","keys","length","people","set","union","accounts","redactUrlSegments","excludeIds","pathSegments","window","location","pathname","split","redactedSegments","map","segment","test","some","id","url","URL","href","join","decodeURI","toLowerCase","trackPageView","rest","redacted_path","track","event","startSessionRecording","start_session_recording","stopSessionRecording","stop_session_recording"],"mappings":"AAAA,OAAOA,aAAc,kBAAmB,AAIxC,QAAO,MAAMC,aAAe,CAC1BC,MACAC,YAAuB,KAAK,CAC5BC,MAAiB,KAAK,CACtBC,sBAAwB,CAAC,IAEzB,MAAMC,eAAiB,CAAC,cAAc,CACtC,GAAI,CAACJ,MAAO,CACVK,QAAQC,IAAI,CAAC,wDACb,MACF,CAEAR,SAASS,IAAI,CAACP,MAAO,CACnBE,MAAOA,MACPM,YAAa,eACbC,YAAaR,YACT,CACES,gBAAiBN,eACjBO,qBAAsB,KACtBC,SAAU,KACZ,EACA,MACJC,eAAgB,MAChBC,wBAAyBX,sBACzBY,0BAA2B,aAC7B,EACF,CAAE,AAEF,QAAO,MAAMC,gBAAkB,KAC7BlB,SAASmB,UAAU,CAAC,CAAEf,MAAO,IAAK,EACpC,CAAE,AAEF,QAAO,MAAMgB,iBAAmB,KAC9BpB,SAASmB,UAAU,CAAC,CAAEf,MAAO,KAAM,EACrC,CAAE,AAEF,QAAO,MAAMiB,SAAW,CAAC,CACvBC,MAAM,CACNC,SAAS,CACTC,cAAc,CACdC,KAAK,CACLC,IAAI,CACJ,GAAGC,WACc,IAGjB,GAAI,CAACL,OAAQ,CACX,MACF,CAEAtB,SAASqB,QAAQ,CAACC,OAAOM,QAAQ,IAEjC,MAAMC,iBAA4C,CAAE,GAAGF,UAAU,AAAC,EAElE,GAAIF,OAASC,KAAM,CACjBG,iBAAiBC,MAAM,CAAGL,KAC1BI,CAAAA,iBAAiBE,KAAK,CAAGL,IAC3B,CAEA,GAAIF,eAAgB,CAClBK,iBAAiBG,eAAe,CAAG,CAACR,eAAeI,QAAQ,GAAG,AAChE,CAEA,GAAIK,OAAOC,IAAI,CAACL,kBAAkBM,MAAM,CAAG,EAAG,CAC5CnC,SAASoC,MAAM,CAACC,GAAG,CAACR,iBACtB,CAEA,GAAIN,UAAW,CACbvB,SAASoC,MAAM,CAACE,KAAK,CAAC,CAAEC,SAAU,CAAChB,UAAUK,QAAQ,GAAG,AAAC,EAC3D,CACF,CAAE,CAIF,MAAMY,kBAAoB,AAACC,aACzB,MAAMC,aAAeC,OAAOC,QAAQ,CAACC,QAAQ,CAACC,KAAK,CAAC,KAEpD,MAAMC,iBAAmBL,aAAaM,GAAG,CAAC,AAACC,UAEzC,GACE,QAAQC,IAAI,CAACD,UACbR,WAAWU,IAAI,CAAC,AAACC,IAAOA,IAAMA,KAAO,IAAMH,UAAYG,IACvD,CACA,MAAO,YACT,CAEA,OAAOH,OACT,GAGA,MAAMI,IAAM,IAAIC,IAAIX,OAAOC,QAAQ,CAACW,IAAI,CACxCF,CAAAA,IAAIR,QAAQ,CAAGE,iBAAiBS,IAAI,CAAC,KAErC,OAAOC,UAAUJ,IAAIzB,QAAQ,IAAI8B,WAAW,EAC9C,CAEA,QAAO,MAAMC,cAAgB,AAAChC,aAC5B,KAAM,CAAEc,UAAU,CAAE,GAAGmB,KAAM,CAAGjC,YAAc,CAAC,EAG/C3B,SAASe,cAAc,CAAC,CACtB8C,cAAerB,kBAAkBC,YAAc,EAAE,EACjD,GAAGmB,IAAI,AACT,EACF,CAAE,AAEF,QAAO,MAAME,MAAQ,CAACC,MAAepC,cACnC3B,SAAS8D,KAAK,CAACC,MAAOpC,WACxB,CAAE,AAEF,QAAO,MAAMqC,sBAAwB,KACnChE,SAASiE,uBAAuB,EAClC,CAAE,AAEF,QAAO,MAAMC,qBAAuB,KAClClE,SAASmE,sBAAsB,EACjC,CAAE"}
@@ -0,0 +1,2 @@
1
+ import{describe,expect,beforeEach,it,vi}from"vitest";import mixpanel from"mixpanel-browser";import{initMixpanel}from"./mixpanel";vi.mock("mixpanel-browser",()=>({default:{init:vi.fn()}}));describe("initMixpanel",()=>{beforeEach(()=>{vi.clearAllMocks()});it("does not initialize without a token",()=>{const consoleSpy=vi.spyOn(console,"warn").mockImplementation(()=>{});initMixpanel("");expect(mixpanel.init).not.toHaveBeenCalled();consoleSpy.mockRestore()});it("blocks [data-mask] elements in autocapture",()=>{initMixpanel("test-token",true);const config=mixpanel.init.mock.calls[0][1];expect(config.autocapture.block_selectors).toEqual(["[data-mask]"])});it("masks [data-mask] elements in session recordings",()=>{initMixpanel("test-token",true);const config=mixpanel.init.mock.calls[0][1];expect(config.record_mask_text_selector).toBe("[data-mask]")})});
2
+ //# sourceMappingURL=mixpanel.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/core/insights/mixpanel.test.ts"],"sourcesContent":["/**\n * @vitest-environment jsdom\n */\n\nimport { describe, expect, beforeEach, it, vi } from \"vitest\";\nimport mixpanel from \"mixpanel-browser\";\n\nimport { initMixpanel } from \"./mixpanel\";\n\nvi.mock(\"mixpanel-browser\", () => ({\n default: {\n init: vi.fn(),\n },\n}));\n\ndescribe(\"initMixpanel\", () => {\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n it(\"does not initialize without a token\", () => {\n const consoleSpy = vi.spyOn(console, \"warn\").mockImplementation(() => {});\n initMixpanel(\"\");\n expect(mixpanel.init).not.toHaveBeenCalled();\n consoleSpy.mockRestore();\n });\n\n it(\"blocks [data-mask] elements in autocapture\", () => {\n initMixpanel(\"test-token\", true);\n\n const config = (mixpanel.init as ReturnType<typeof vi.fn>).mock.calls[0][1];\n expect(config.autocapture.block_selectors).toEqual([\"[data-mask]\"]);\n });\n\n it(\"masks [data-mask] elements in session recordings\", () => {\n initMixpanel(\"test-token\", true);\n\n const config = (mixpanel.init as ReturnType<typeof vi.fn>).mock.calls[0][1];\n expect(config.record_mask_text_selector).toBe(\"[data-mask]\");\n });\n});\n"],"names":["describe","expect","beforeEach","it","vi","mixpanel","initMixpanel","mock","default","init","fn","clearAllMocks","consoleSpy","spyOn","console","mockImplementation","not","toHaveBeenCalled","mockRestore","config","calls","autocapture","block_selectors","toEqual","record_mask_text_selector","toBe"],"mappings":"AAIA,OAASA,QAAQ,CAAEC,MAAM,CAAEC,UAAU,CAAEC,EAAE,CAAEC,EAAE,KAAQ,QAAS,AAC9D,QAAOC,aAAc,kBAAmB,AAExC,QAASC,YAAY,KAAQ,YAAa,CAE1CF,GAAGG,IAAI,CAAC,mBAAoB,IAAO,CAAA,CACjCC,QAAS,CACPC,KAAML,GAAGM,EAAE,EACb,CACF,CAAA,GAEAV,SAAS,eAAgB,KACvBE,WAAW,KACTE,GAAGO,aAAa,EAClB,GAEAR,GAAG,sCAAuC,KACxC,MAAMS,WAAaR,GAAGS,KAAK,CAACC,QAAS,QAAQC,kBAAkB,CAAC,KAAO,GACvET,aAAa,IACbL,OAAOI,SAASI,IAAI,EAAEO,GAAG,CAACC,gBAAgB,GAC1CL,WAAWM,WAAW,EACxB,GAEAf,GAAG,6CAA8C,KAC/CG,aAAa,aAAc,MAE3B,MAAMa,OAAS,AAACd,SAASI,IAAI,CAA8BF,IAAI,CAACa,KAAK,CAAC,EAAE,CAAC,EAAE,CAC3EnB,OAAOkB,OAAOE,WAAW,CAACC,eAAe,EAAEC,OAAO,CAAC,CAAC,cAAc,CACpE,GAEApB,GAAG,mDAAoD,KACrDG,aAAa,aAAc,MAE3B,MAAMa,OAAS,AAACd,SAASI,IAAI,CAA8BF,IAAI,CAACa,KAAK,CAAC,EAAE,CAAC,EAAE,CAC3EnB,OAAOkB,OAAOK,yBAAyB,EAAEC,IAAI,CAAC,cAChD,EACF"}
@@ -1,2 +1,2 @@
1
- import posthog from"posthog-js";export const initPosthog=(apiKey,apiHost)=>{if(!apiKey){return}posthog.init(apiKey,{api_host:apiHost,capture_pageview:false})};export const enableDebugMode=()=>{posthog.debug()};export const disableDebugMode=()=>{posthog.debug(false)};export const identify=({userId,accountId,organisationId,email,name,...properties})=>{if(!userId){return}if(userId!==posthog.get_distinct_id()){posthog.identify(userId,{email,name,...properties})}if(accountId){posthog.group("account",accountId)}if(organisationId){posthog.group("organisation",organisationId)}};export const trackPageView=properties=>{posthog.capture("$pageview",properties)};export const track=(event,properties)=>{posthog.capture(event,properties)};export const startSessionRecording=()=>{posthog.startSessionRecording()};export const stopSessionRecording=()=>{posthog.stopSessionRecording()};
1
+ import posthog from"posthog-js";export const initPosthog=(apiKey,apiHost)=>{if(!apiKey){return}posthog.init(apiKey,{api_host:apiHost,capture_pageview:false,session_recording:{maskTextSelector:"[data-mask]"}})};export const enableDebugMode=()=>{posthog.debug()};export const disableDebugMode=()=>{posthog.debug(false)};export const identify=({userId,accountId,organisationId,email,name,...properties})=>{if(!userId){return}if(userId!==posthog.get_distinct_id()){posthog.identify(userId,{email,name,...properties})}if(accountId){posthog.group("account",accountId)}if(organisationId){posthog.group("organisation",organisationId)}};export const trackPageView=properties=>{posthog.capture("$pageview",properties)};export const track=(event,properties)=>{posthog.capture(event,properties)};export const startSessionRecording=()=>{posthog.startSessionRecording()};export const stopSessionRecording=()=>{posthog.stopSessionRecording()};
2
2
  //# sourceMappingURL=posthog.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/core/insights/posthog.ts"],"sourcesContent":["import posthog from \"posthog-js\";\n\nimport { InsightsIdentity } from \"./types\";\n\nexport const initPosthog = (apiKey: string, apiHost: string) => {\n if (!apiKey) {\n return;\n }\n\n posthog.init(apiKey, {\n api_host: apiHost,\n capture_pageview: false,\n });\n};\n\nexport const enableDebugMode = () => {\n posthog.debug();\n};\n\nexport const disableDebugMode = () => {\n posthog.debug(false);\n};\n\nexport const identify = ({\n userId,\n accountId,\n organisationId,\n email,\n name,\n ...properties\n}: InsightsIdentity) => {\n // In very rare cases we might have a user without an account, so we'll\n // let null/undefined/blank strings through on that one\n if (!userId) {\n return;\n }\n\n if (userId !== posthog.get_distinct_id()) {\n posthog.identify(userId, { email, name, ...properties });\n }\n\n // Associate all events in this session with this account\n if (accountId) {\n posthog.group(\"account\", accountId);\n }\n\n // Associate all events in this session with this organisation (if available)\n if (organisationId) {\n posthog.group(\"organisation\", organisationId);\n }\n};\n\nexport const trackPageView = (properties?: Record<string, unknown>) => {\n posthog.capture(\"$pageview\", properties);\n};\n\nexport const track = (event: string, properties?: Record<string, unknown>) => {\n posthog.capture(event, properties);\n};\n\nexport const startSessionRecording = () => {\n posthog.startSessionRecording();\n};\n\nexport const stopSessionRecording = () => {\n posthog.stopSessionRecording();\n};\n"],"names":["posthog","initPosthog","apiKey","apiHost","init","api_host","capture_pageview","enableDebugMode","debug","disableDebugMode","identify","userId","accountId","organisationId","email","name","properties","get_distinct_id","group","trackPageView","capture","track","event","startSessionRecording","stopSessionRecording"],"mappings":"AAAA,OAAOA,YAAa,YAAa,AAIjC,QAAO,MAAMC,YAAc,CAACC,OAAgBC,WAC1C,GAAI,CAACD,OAAQ,CACX,MACF,CAEAF,QAAQI,IAAI,CAACF,OAAQ,CACnBG,SAAUF,QACVG,iBAAkB,KACpB,EACF,CAAE,AAEF,QAAO,MAAMC,gBAAkB,KAC7BP,QAAQQ,KAAK,EACf,CAAE,AAEF,QAAO,MAAMC,iBAAmB,KAC9BT,QAAQQ,KAAK,CAAC,MAChB,CAAE,AAEF,QAAO,MAAME,SAAW,CAAC,CACvBC,MAAM,CACNC,SAAS,CACTC,cAAc,CACdC,KAAK,CACLC,IAAI,CACJ,GAAGC,WACc,IAGjB,GAAI,CAACL,OAAQ,CACX,MACF,CAEA,GAAIA,SAAWX,QAAQiB,eAAe,GAAI,CACxCjB,QAAQU,QAAQ,CAACC,OAAQ,CAAEG,MAAOC,KAAM,GAAGC,UAAU,AAAC,EACxD,CAGA,GAAIJ,UAAW,CACbZ,QAAQkB,KAAK,CAAC,UAAWN,UAC3B,CAGA,GAAIC,eAAgB,CAClBb,QAAQkB,KAAK,CAAC,eAAgBL,eAChC,CACF,CAAE,AAEF,QAAO,MAAMM,cAAgB,AAACH,aAC5BhB,QAAQoB,OAAO,CAAC,YAAaJ,WAC/B,CAAE,AAEF,QAAO,MAAMK,MAAQ,CAACC,MAAeN,cACnChB,QAAQoB,OAAO,CAACE,MAAON,WACzB,CAAE,AAEF,QAAO,MAAMO,sBAAwB,KACnCvB,QAAQuB,qBAAqB,EAC/B,CAAE,AAEF,QAAO,MAAMC,qBAAuB,KAClCxB,QAAQwB,oBAAoB,EAC9B,CAAE"}
1
+ {"version":3,"sources":["../../../src/core/insights/posthog.ts"],"sourcesContent":["import posthog from \"posthog-js\";\n\nimport { InsightsIdentity } from \"./types\";\n\nexport const initPosthog = (apiKey: string, apiHost: string) => {\n if (!apiKey) {\n return;\n }\n\n posthog.init(apiKey, {\n api_host: apiHost,\n capture_pageview: false,\n session_recording: {\n maskTextSelector: \"[data-mask]\",\n },\n });\n};\n\nexport const enableDebugMode = () => {\n posthog.debug();\n};\n\nexport const disableDebugMode = () => {\n posthog.debug(false);\n};\n\nexport const identify = ({\n userId,\n accountId,\n organisationId,\n email,\n name,\n ...properties\n}: InsightsIdentity) => {\n // In very rare cases we might have a user without an account, so we'll\n // let null/undefined/blank strings through on that one\n if (!userId) {\n return;\n }\n\n if (userId !== posthog.get_distinct_id()) {\n posthog.identify(userId, { email, name, ...properties });\n }\n\n // Associate all events in this session with this account\n if (accountId) {\n posthog.group(\"account\", accountId);\n }\n\n // Associate all events in this session with this organisation (if available)\n if (organisationId) {\n posthog.group(\"organisation\", organisationId);\n }\n};\n\nexport const trackPageView = (properties?: Record<string, unknown>) => {\n posthog.capture(\"$pageview\", properties);\n};\n\nexport const track = (event: string, properties?: Record<string, unknown>) => {\n posthog.capture(event, properties);\n};\n\nexport const startSessionRecording = () => {\n posthog.startSessionRecording();\n};\n\nexport const stopSessionRecording = () => {\n posthog.stopSessionRecording();\n};\n"],"names":["posthog","initPosthog","apiKey","apiHost","init","api_host","capture_pageview","session_recording","maskTextSelector","enableDebugMode","debug","disableDebugMode","identify","userId","accountId","organisationId","email","name","properties","get_distinct_id","group","trackPageView","capture","track","event","startSessionRecording","stopSessionRecording"],"mappings":"AAAA,OAAOA,YAAa,YAAa,AAIjC,QAAO,MAAMC,YAAc,CAACC,OAAgBC,WAC1C,GAAI,CAACD,OAAQ,CACX,MACF,CAEAF,QAAQI,IAAI,CAACF,OAAQ,CACnBG,SAAUF,QACVG,iBAAkB,MAClBC,kBAAmB,CACjBC,iBAAkB,aACpB,CACF,EACF,CAAE,AAEF,QAAO,MAAMC,gBAAkB,KAC7BT,QAAQU,KAAK,EACf,CAAE,AAEF,QAAO,MAAMC,iBAAmB,KAC9BX,QAAQU,KAAK,CAAC,MAChB,CAAE,AAEF,QAAO,MAAME,SAAW,CAAC,CACvBC,MAAM,CACNC,SAAS,CACTC,cAAc,CACdC,KAAK,CACLC,IAAI,CACJ,GAAGC,WACc,IAGjB,GAAI,CAACL,OAAQ,CACX,MACF,CAEA,GAAIA,SAAWb,QAAQmB,eAAe,GAAI,CACxCnB,QAAQY,QAAQ,CAACC,OAAQ,CAAEG,MAAOC,KAAM,GAAGC,UAAU,AAAC,EACxD,CAGA,GAAIJ,UAAW,CACbd,QAAQoB,KAAK,CAAC,UAAWN,UAC3B,CAGA,GAAIC,eAAgB,CAClBf,QAAQoB,KAAK,CAAC,eAAgBL,eAChC,CACF,CAAE,AAEF,QAAO,MAAMM,cAAgB,AAACH,aAC5BlB,QAAQsB,OAAO,CAAC,YAAaJ,WAC/B,CAAE,AAEF,QAAO,MAAMK,MAAQ,CAACC,MAAeN,cACnClB,QAAQsB,OAAO,CAACE,MAAON,WACzB,CAAE,AAEF,QAAO,MAAMO,sBAAwB,KACnCzB,QAAQyB,qBAAqB,EAC/B,CAAE,AAEF,QAAO,MAAMC,qBAAuB,KAClC1B,QAAQ0B,oBAAoB,EAC9B,CAAE"}
@@ -0,0 +1,2 @@
1
+ import{describe,expect,beforeEach,it,vi}from"vitest";import posthog from"posthog-js";import{initPosthog}from"./posthog";vi.mock("posthog-js",()=>({default:{init:vi.fn()}}));describe("initPosthog",()=>{beforeEach(()=>{vi.clearAllMocks()});it("does not initialize without an API key",()=>{initPosthog("","https://app.posthog.com");expect(posthog.init).not.toHaveBeenCalled()});it("initializes with session recording masking on [data-mask]",()=>{initPosthog("phc_test","https://app.posthog.com");expect(posthog.init).toHaveBeenCalledWith("phc_test",{api_host:"https://app.posthog.com",capture_pageview:false,session_recording:{maskTextSelector:"[data-mask]"}})})});
2
+ //# sourceMappingURL=posthog.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/core/insights/posthog.test.ts"],"sourcesContent":["/**\n * @vitest-environment jsdom\n */\n\nimport { describe, expect, beforeEach, it, vi } from \"vitest\";\nimport posthog from \"posthog-js\";\n\nimport { initPosthog } from \"./posthog\";\n\nvi.mock(\"posthog-js\", () => ({\n default: {\n init: vi.fn(),\n },\n}));\n\ndescribe(\"initPosthog\", () => {\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n it(\"does not initialize without an API key\", () => {\n initPosthog(\"\", \"https://app.posthog.com\");\n expect(posthog.init).not.toHaveBeenCalled();\n });\n\n it(\"initializes with session recording masking on [data-mask]\", () => {\n initPosthog(\"phc_test\", \"https://app.posthog.com\");\n\n expect(posthog.init).toHaveBeenCalledWith(\"phc_test\", {\n api_host: \"https://app.posthog.com\",\n capture_pageview: false,\n session_recording: {\n maskTextSelector: \"[data-mask]\",\n },\n });\n });\n});\n"],"names":["describe","expect","beforeEach","it","vi","posthog","initPosthog","mock","default","init","fn","clearAllMocks","not","toHaveBeenCalled","toHaveBeenCalledWith","api_host","capture_pageview","session_recording","maskTextSelector"],"mappings":"AAIA,OAASA,QAAQ,CAAEC,MAAM,CAAEC,UAAU,CAAEC,EAAE,CAAEC,EAAE,KAAQ,QAAS,AAC9D,QAAOC,YAAa,YAAa,AAEjC,QAASC,WAAW,KAAQ,WAAY,CAExCF,GAAGG,IAAI,CAAC,aAAc,IAAO,CAAA,CAC3BC,QAAS,CACPC,KAAML,GAAGM,EAAE,EACb,CACF,CAAA,GAEAV,SAAS,cAAe,KACtBE,WAAW,KACTE,GAAGO,aAAa,EAClB,GAEAR,GAAG,yCAA0C,KAC3CG,YAAY,GAAI,2BAChBL,OAAOI,QAAQI,IAAI,EAAEG,GAAG,CAACC,gBAAgB,EAC3C,GAEAV,GAAG,4DAA6D,KAC9DG,YAAY,WAAY,2BAExBL,OAAOI,QAAQI,IAAI,EAAEK,oBAAoB,CAAC,WAAY,CACpDC,SAAU,0BACVC,iBAAkB,MAClBC,kBAAmB,CACjBC,iBAAkB,aACpB,CACF,EACF,EACF"}
package/core/scripts.js CHANGED
@@ -1,2 +1,2 @@
1
- import"array-flat-polyfill";export{default as reactRenderer,renderComponent}from"./react-renderer";export{default as loadSprites}from"./load-sprites";export*from"./remote-data-store";export*from"./remote-blogs-posts";export*from"./remote-session-data";export*from"./dom-query";
1
+ import"array-flat-polyfill";export{default as reactRenderer,renderComponent}from"./react-renderer";export{default as loadSprites}from"./load-sprites";export*from"./SessionData";export*from"./dom-query";
2
2
  //# sourceMappingURL=scripts.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/scripts.js"],"sourcesContent":["import \"array-flat-polyfill\";\n\nexport { default as reactRenderer, renderComponent } from \"./react-renderer\";\nexport { default as loadSprites } from \"./load-sprites\";\n\nexport * from \"./remote-data-store\";\nexport * from \"./remote-blogs-posts\";\nexport * from \"./remote-session-data\";\nexport * from \"./dom-query\";\n"],"names":["default","reactRenderer","renderComponent","loadSprites"],"mappings":"AAAA,MAAO,qBAAsB,AAE7B,QAASA,WAAWC,aAAa,CAAEC,eAAe,KAAQ,kBAAmB,AAC7E,QAASF,WAAWG,WAAW,KAAQ,gBAAiB,AAExD,YAAc,qBAAsB,AACpC,YAAc,sBAAuB,AACrC,YAAc,uBAAwB,AACtC,YAAc,aAAc"}
1
+ {"version":3,"sources":["../../src/core/scripts.js"],"sourcesContent":["import \"array-flat-polyfill\";\n\nexport { default as reactRenderer, renderComponent } from \"./react-renderer\";\nexport { default as loadSprites } from \"./load-sprites\";\n\nexport * from \"./SessionData\";\nexport * from \"./dom-query\";\n"],"names":["default","reactRenderer","renderComponent","loadSprites"],"mappings":"AAAA,MAAO,qBAAsB,AAE7B,QAASA,WAAWC,aAAa,CAAEC,eAAe,KAAQ,kBAAmB,AAC7E,QAASF,WAAWG,WAAW,KAAQ,gBAAiB,AAExD,YAAc,eAAgB,AAC9B,YAAc,aAAc"}