@posthog/browser-common 0.9.4 → 0.9.6

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 (88) hide show
  1. package/dist/client.d.ts +6 -0
  2. package/dist/config.js +1 -1
  3. package/dist/config.mjs +1 -1
  4. package/dist/index.d.ts +1 -0
  5. package/dist/index.js +58 -10
  6. package/dist/index.mjs +1 -0
  7. package/dist/survey-action-matcher.d.ts +27 -0
  8. package/dist/survey-action-matcher.js +169 -0
  9. package/dist/survey-action-matcher.mjs +131 -0
  10. package/dist/survey-constants.d.ts +86 -0
  11. package/dist/survey-constants.js +144 -0
  12. package/dist/survey-constants.mjs +76 -0
  13. package/dist/survey-event-host.d.ts +15 -0
  14. package/dist/survey-event-host.js +18 -0
  15. package/dist/survey-event-host.mjs +1 -0
  16. package/dist/survey-event-receiver-base.d.ts +180 -0
  17. package/dist/survey-event-receiver-base.js +354 -0
  18. package/dist/survey-event-receiver-base.mjs +316 -0
  19. package/dist/survey-event-receiver.d.ts +36 -0
  20. package/dist/survey-event-receiver.js +133 -0
  21. package/dist/survey-event-receiver.mjs +95 -0
  22. package/dist/survey-render-context.d.ts +13 -0
  23. package/dist/survey-render-context.js +45 -0
  24. package/dist/survey-render-context.mjs +7 -0
  25. package/dist/surveys/components/BottomSection.d.ts +12 -0
  26. package/dist/surveys/components/BottomSection.js +82 -0
  27. package/dist/surveys/components/BottomSection.mjs +44 -0
  28. package/dist/surveys/components/ConfirmationMessage.d.ts +10 -0
  29. package/dist/surveys/components/ConfirmationMessage.js +92 -0
  30. package/dist/surveys/components/ConfirmationMessage.mjs +54 -0
  31. package/dist/surveys/components/IntroScreen.d.ts +10 -0
  32. package/dist/surveys/components/IntroScreen.js +78 -0
  33. package/dist/surveys/components/IntroScreen.mjs +40 -0
  34. package/dist/surveys/components/PostHogLogo.d.ts +5 -0
  35. package/dist/surveys/components/PostHogLogo.js +54 -0
  36. package/dist/surveys/components/PostHogLogo.mjs +16 -0
  37. package/dist/surveys/components/QuestionHeader.d.ts +10 -0
  38. package/dist/surveys/components/QuestionHeader.js +82 -0
  39. package/dist/surveys/components/QuestionHeader.mjs +41 -0
  40. package/dist/surveys/components/QuestionTypes.d.ts +31 -0
  41. package/dist/surveys/components/QuestionTypes.js +519 -0
  42. package/dist/surveys/components/QuestionTypes.mjs +469 -0
  43. package/dist/surveys/icons.d.ts +12 -0
  44. package/dist/surveys/icons.js +212 -0
  45. package/dist/surveys/icons.mjs +147 -0
  46. package/dist/surveys/survey-branching.d.ts +12 -0
  47. package/dist/surveys/survey-branching.js +101 -0
  48. package/dist/surveys/survey-branching.mjs +60 -0
  49. package/dist/surveys/survey-styles.d.ts +1 -0
  50. package/dist/surveys/survey-styles.js +40 -0
  51. package/dist/surveys/survey-styles.mjs +2 -0
  52. package/dist/surveys/survey-translations.d.ts +22 -0
  53. package/dist/surveys/survey-translations.js +68 -0
  54. package/dist/surveys/survey-translations.mjs +27 -0
  55. package/dist/surveys/survey-url-prefill.d.ts +36 -0
  56. package/dist/surveys/survey-url-prefill.js +162 -0
  57. package/dist/surveys/survey-url-prefill.mjs +118 -0
  58. package/dist/surveys/surveys-extension-utils.d.ts +133 -0
  59. package/dist/surveys/surveys-extension-utils.js +739 -0
  60. package/dist/surveys/surveys-extension-utils.mjs +608 -0
  61. package/dist/surveys-config.d.ts +60 -0
  62. package/dist/surveys-config.js +68 -0
  63. package/dist/surveys-config.mjs +9 -0
  64. package/dist/surveys-renderer.d.ts +248 -0
  65. package/dist/surveys-renderer.js +1299 -0
  66. package/dist/surveys-renderer.mjs +1230 -0
  67. package/dist/surveys.d.ts +117 -0
  68. package/dist/surveys.js +566 -0
  69. package/dist/surveys.mjs +495 -0
  70. package/dist/types/surveys.d.ts +83 -86
  71. package/dist/types/surveys.js +1 -127
  72. package/dist/types/surveys.mjs +1 -76
  73. package/dist/utils/autocapture-utils.js +8 -9
  74. package/dist/utils/autocapture-utils.mjs +8 -9
  75. package/dist/utils/event-utils.js +1 -0
  76. package/dist/utils/event-utils.mjs +1 -0
  77. package/dist/utils/matcher-utils.d.ts +1 -1
  78. package/dist/utils/matcher-utils.js +13 -10
  79. package/dist/utils/matcher-utils.mjs +10 -7
  80. package/dist/utils/survey-utils.d.ts +16 -0
  81. package/dist/utils/survey-utils.js +121 -0
  82. package/dist/utils/survey-utils.mjs +38 -0
  83. package/dist/utils/url-targeting-utils.d.ts +3 -1
  84. package/dist/utils/url-targeting-utils.js +1 -2
  85. package/dist/utils/url-targeting-utils.mjs +1 -2
  86. package/dist/utils/uuidv7.js +4 -4
  87. package/dist/utils/uuidv7.mjs +4 -4
  88. package/package.json +97 -3
@@ -1,5 +1,4 @@
1
1
  import { isFunction, isString, isUndefined } from "@posthog/core";
2
- import { window as external_globals_mjs_window } from "./globals.mjs";
3
2
  import { logger } from "./logger.mjs";
4
3
  function applyUrlTargetingOverride(instance, defaultUrl) {
5
4
  const override = instance?.config?.get_current_url;
@@ -13,7 +12,7 @@ function applyUrlTargetingOverride(instance, defaultUrl) {
13
12
  }
14
13
  }
15
14
  function getTargetingUrl(instance) {
16
- const defaultUrl = external_globals_mjs_window?.location?.href;
15
+ const defaultUrl = "u" > typeof window ? window.location?.href : void 0;
17
16
  return isUndefined(defaultUrl) ? void 0 : applyUrlTargetingOverride(instance, defaultUrl);
18
17
  }
19
18
  export { applyUrlTargetingOverride, getTargetingUrl };
@@ -33,7 +33,6 @@ __webpack_require__.d(__webpack_exports__, {
33
33
  uuid7ToTimestampMs: ()=>uuid7ToTimestampMs,
34
34
  uuidv7: ()=>uuidv7
35
35
  });
36
- const external_globals_js_namespaceObject = require("./globals.js");
37
36
  const core_namespaceObject = require("@posthog/core");
38
37
  /**
39
38
  * uuidv7: An experimental implementation of the proposed UUID Version 7
@@ -141,16 +140,17 @@ class V7Generator {
141
140
  this._random = new DefaultRandom();
142
141
  }
143
142
  }
144
- let getRandomValues = (buffer)=>{
143
+ const weakRandomValues = (buffer)=>{
145
144
  if ("u" > typeof UUIDV7_DENY_WEAK_RNG && UUIDV7_DENY_WEAK_RNG) throw new Error('no cryptographically strong RNG available');
146
145
  for(let i = 0; i < buffer.length; i++)buffer[i] = 0x10000 * Math.trunc(0x10000 * Math.random()) + Math.trunc(0x10000 * Math.random());
147
146
  return buffer;
148
147
  };
149
- if (external_globals_js_namespaceObject.window && !(0, core_namespaceObject.isUndefined)(external_globals_js_namespaceObject.window.crypto) && crypto.getRandomValues) getRandomValues = (buffer)=>crypto.getRandomValues(buffer);
148
+ let getRandomValues;
149
+ const selectRandomValues = ()=>"u" > typeof window && !(0, core_namespaceObject.isUndefined)(window.crypto) && crypto.getRandomValues ? (buffer)=>crypto.getRandomValues(buffer) : weakRandomValues;
150
150
  class DefaultRandom {
151
151
  nextUint32() {
152
152
  if (this._cursor >= this._buffer.length) {
153
- getRandomValues(this._buffer);
153
+ (getRandomValues ??= selectRandomValues())(this._buffer);
154
154
  this._cursor = 0;
155
155
  }
156
156
  return this._buffer[this._cursor++];
@@ -1,5 +1,4 @@
1
1
  /*! LICENSE: uuidv7.mjs.LICENSE.txt */
2
- import { window as external_globals_mjs_window } from "./globals.mjs";
3
2
  import { isNumber, isUndefined } from "@posthog/core";
4
3
  /**
5
4
  * uuidv7: An experimental implementation of the proposed UUID Version 7
@@ -107,16 +106,17 @@ class V7Generator {
107
106
  this._random = new DefaultRandom();
108
107
  }
109
108
  }
110
- let getRandomValues = (buffer)=>{
109
+ const weakRandomValues = (buffer)=>{
111
110
  if ("u" > typeof UUIDV7_DENY_WEAK_RNG && UUIDV7_DENY_WEAK_RNG) throw new Error('no cryptographically strong RNG available');
112
111
  for(let i = 0; i < buffer.length; i++)buffer[i] = 0x10000 * Math.trunc(0x10000 * Math.random()) + Math.trunc(0x10000 * Math.random());
113
112
  return buffer;
114
113
  };
115
- if (external_globals_mjs_window && !isUndefined(external_globals_mjs_window.crypto) && crypto.getRandomValues) getRandomValues = (buffer)=>crypto.getRandomValues(buffer);
114
+ let getRandomValues;
115
+ const selectRandomValues = ()=>"u" > typeof window && !isUndefined(window.crypto) && crypto.getRandomValues ? (buffer)=>crypto.getRandomValues(buffer) : weakRandomValues;
116
116
  class DefaultRandom {
117
117
  nextUint32() {
118
118
  if (this._cursor >= this._buffer.length) {
119
- getRandomValues(this._buffer);
119
+ (getRandomValues ??= selectRandomValues())(this._buffer);
120
120
  this._cursor = 0;
121
121
  }
122
122
  return this._buffer[this._cursor++];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@posthog/browser-common",
3
- "version": "0.9.4",
3
+ "version": "0.9.6",
4
4
  "description": "Internal shared browser utilities and extension primitives for PostHog Browser SDKs",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -58,6 +58,39 @@
58
58
  ],
59
59
  "console-logs": [
60
60
  "dist/console-logs.d.ts"
61
+ ],
62
+ "surveys": [
63
+ "dist/surveys.d.ts"
64
+ ],
65
+ "surveys-config": [
66
+ "dist/surveys-config.d.ts"
67
+ ],
68
+ "survey-event-host": [
69
+ "dist/survey-event-host.d.ts"
70
+ ],
71
+ "survey-action-matcher": [
72
+ "dist/survey-action-matcher.d.ts"
73
+ ],
74
+ "survey-event-receiver-base": [
75
+ "dist/survey-event-receiver-base.d.ts"
76
+ ],
77
+ "survey-event-receiver": [
78
+ "dist/survey-event-receiver.d.ts"
79
+ ],
80
+ "survey-render-context": [
81
+ "dist/survey-render-context.d.ts"
82
+ ],
83
+ "surveys-renderer": [
84
+ "dist/surveys-renderer.d.ts"
85
+ ],
86
+ "surveys/surveys-extension-utils": [
87
+ "dist/surveys/surveys-extension-utils.d.ts"
88
+ ],
89
+ "surveys/icons": [
90
+ "dist/surveys/icons.d.ts"
91
+ ],
92
+ "surveys/survey-translations": [
93
+ "dist/surveys/survey-translations.d.ts"
61
94
  ]
62
95
  }
63
96
  },
@@ -126,15 +159,76 @@
126
159
  "types": "./dist/console-logs.d.ts",
127
160
  "import": "./dist/console-logs.mjs",
128
161
  "require": "./dist/console-logs.js"
162
+ },
163
+ "./surveys": {
164
+ "types": "./dist/surveys.d.ts",
165
+ "import": "./dist/surveys.mjs",
166
+ "require": "./dist/surveys.js"
167
+ },
168
+ "./surveys-config": {
169
+ "types": "./dist/surveys-config.d.ts",
170
+ "import": "./dist/surveys-config.mjs",
171
+ "require": "./dist/surveys-config.js"
172
+ },
173
+ "./survey-event-host": {
174
+ "types": "./dist/survey-event-host.d.ts",
175
+ "require": "./dist/survey-event-host.js",
176
+ "import": "./dist/survey-event-host.mjs"
177
+ },
178
+ "./survey-action-matcher": {
179
+ "types": "./dist/survey-action-matcher.d.ts",
180
+ "require": "./dist/survey-action-matcher.js",
181
+ "import": "./dist/survey-action-matcher.mjs"
182
+ },
183
+ "./survey-event-receiver-base": {
184
+ "types": "./dist/survey-event-receiver-base.d.ts",
185
+ "require": "./dist/survey-event-receiver-base.js",
186
+ "import": "./dist/survey-event-receiver-base.mjs"
187
+ },
188
+ "./survey-event-receiver": {
189
+ "types": "./dist/survey-event-receiver.d.ts",
190
+ "require": "./dist/survey-event-receiver.js",
191
+ "import": "./dist/survey-event-receiver.mjs"
192
+ },
193
+ "./survey-render-context": {
194
+ "types": "./dist/survey-render-context.d.ts",
195
+ "require": "./dist/survey-render-context.js",
196
+ "import": "./dist/survey-render-context.mjs"
197
+ },
198
+ "./surveys-renderer": {
199
+ "types": "./dist/surveys-renderer.d.ts",
200
+ "require": "./dist/surveys-renderer.js",
201
+ "import": "./dist/surveys-renderer.mjs"
202
+ },
203
+ "./surveys/surveys-extension-utils": {
204
+ "types": "./dist/surveys/surveys-extension-utils.d.ts",
205
+ "require": "./dist/surveys/surveys-extension-utils.js",
206
+ "import": "./dist/surveys/surveys-extension-utils.mjs"
207
+ },
208
+ "./surveys/icons": {
209
+ "types": "./dist/surveys/icons.d.ts",
210
+ "require": "./dist/surveys/icons.js",
211
+ "import": "./dist/surveys/icons.mjs"
212
+ },
213
+ "./surveys/survey-translations": {
214
+ "types": "./dist/surveys/survey-translations.d.ts",
215
+ "require": "./dist/surveys/survey-translations.js",
216
+ "import": "./dist/surveys/survey-translations.mjs"
129
217
  }
130
218
  },
131
219
  "dependencies": {
132
- "@posthog/core": "^1.57.4",
133
- "@posthog/types": "^1.415.2"
220
+ "preact": "^10.29.3",
221
+ "@posthog/core": "^1.59.3",
222
+ "@posthog/types": "^1.416.0"
134
223
  },
135
224
  "devDependencies": {
225
+ "@rsbuild/plugin-react": "^2.1.0",
136
226
  "@rslib/core": "0.23.2",
227
+ "@testing-library/dom": "^10.4.1",
228
+ "@testing-library/jest-dom": "^6.9.1",
229
+ "@testing-library/preact": "^3.2.4",
137
230
  "jsdom": "^26.1.0",
231
+ "lightningcss": "^1.33.0",
138
232
  "typescript": "7.0.2",
139
233
  "vitest": "^1.6.1",
140
234
  "@posthog-tooling/tsconfig-base": "1.1.1"