@usertour/helpers 0.0.51 → 0.0.52

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.
@@ -206,7 +206,7 @@ var duplicateData = (data, contentType) => {
206
206
  return data;
207
207
  };
208
208
  var duplicateStep = (step) => {
209
- const { id, cvid, createdAt, updatedAt, versionId, trigger, target, data, ...rest } = step;
209
+ const { id, createdAt, updatedAt, versionId, trigger, target, data, ...rest } = step;
210
210
  return {
211
211
  ...rest,
212
212
  data: data ? processQuestionElements(data) : [],
@@ -214,20 +214,6 @@ var duplicateStep = (step) => {
214
214
  target: duplicateTarget(target)
215
215
  };
216
216
  };
217
- var duplicateSteps = (steps) => {
218
- if (!isArray(steps)) {
219
- return [];
220
- }
221
- return steps.map((step) => duplicateStep(step));
222
- };
223
- var duplicateStepWithRename = (originalStep, sequence, existingStepNames) => {
224
- const duplicated = duplicateStep(originalStep);
225
- return {
226
- ...duplicated,
227
- name: generateUniqueCopyName(originalStep.name, existingStepNames),
228
- sequence
229
- };
230
- };
231
217
 
232
218
  export {
233
219
  isRestrictedType,
@@ -244,7 +230,5 @@ export {
244
230
  duplicateLauncherData,
245
231
  duplicateConfig,
246
232
  duplicateData,
247
- duplicateStep,
248
- duplicateSteps,
249
- duplicateStepWithRename
233
+ duplicateStep
250
234
  };
@@ -35,8 +35,6 @@ __export(content_helper_exports, {
35
35
  duplicateData: () => duplicateData,
36
36
  duplicateLauncherData: () => duplicateLauncherData,
37
37
  duplicateStep: () => duplicateStep,
38
- duplicateStepWithRename: () => duplicateStepWithRename,
39
- duplicateSteps: () => duplicateSteps,
40
38
  duplicateTarget: () => duplicateTarget,
41
39
  duplicateTriggers: () => duplicateTriggers,
42
40
  extractQuestionData: () => extractQuestionData,
@@ -347,7 +345,7 @@ var duplicateData = (data, contentType) => {
347
345
  return data;
348
346
  };
349
347
  var duplicateStep = (step) => {
350
- const { id, cvid, createdAt, updatedAt, versionId, trigger, target, data, ...rest } = step;
348
+ const { id, createdAt, updatedAt, versionId, trigger, target, data, ...rest } = step;
351
349
  return {
352
350
  ...rest,
353
351
  data: data ? processQuestionElements(data) : [],
@@ -355,20 +353,6 @@ var duplicateStep = (step) => {
355
353
  target: duplicateTarget(target)
356
354
  };
357
355
  };
358
- var duplicateSteps = (steps) => {
359
- if (!isArray(steps)) {
360
- return [];
361
- }
362
- return steps.map((step) => duplicateStep(step));
363
- };
364
- var duplicateStepWithRename = (originalStep, sequence, existingStepNames) => {
365
- const duplicated = duplicateStep(originalStep);
366
- return {
367
- ...duplicated,
368
- name: generateUniqueCopyName(originalStep.name, existingStepNames),
369
- sequence
370
- };
371
- };
372
356
  // Annotate the CommonJS export names for ESM import in node:
373
357
  0 && (module.exports = {
374
358
  duplicateChecklistData,
@@ -376,8 +360,6 @@ var duplicateStepWithRename = (originalStep, sequence, existingStepNames) => {
376
360
  duplicateData,
377
361
  duplicateLauncherData,
378
362
  duplicateStep,
379
- duplicateStepWithRename,
380
- duplicateSteps,
381
363
  duplicateTarget,
382
364
  duplicateTriggers,
383
365
  extractQuestionData,
@@ -79,25 +79,10 @@ type StepLike = {
79
79
  /**
80
80
  * Core function to duplicate a single step by removing database-specific fields
81
81
  * and regenerating IDs in triggers, target actions, and question elements
82
+ * Preserves cvid to maintain step references in triggers/actions when duplicating entire content
82
83
  * @param step - The step to duplicate
83
- * @returns A new step object with regenerated IDs, without id/cvid/timestamps/versionId
84
+ * @returns A new step object with regenerated IDs, preserving cvid
84
85
  */
85
- declare const duplicateStep: <T extends StepLike>(step: T) => Omit<T, "id" | "cvid" | "createdAt" | "updatedAt" | "versionId">;
86
- /**
87
- * Process multiple steps for duplication
88
- * Works with both Prisma Step type (server) and @usertour/types Step (client)
89
- * @param steps - Array of steps to process
90
- * @returns Array of steps ready for creation with regenerated IDs
91
- */
92
- declare const duplicateSteps: <T extends StepLike>(steps: T[]) => Omit<T, "id" | "cvid" | "createdAt" | "updatedAt" | "versionId">[];
93
- /**
94
- * Duplicate a single step with a new unique name and sequence
95
- * Used for UI operations when duplicating a step within the same version
96
- * @param originalStep - The step to duplicate
97
- * @param sequence - The new sequence number for the duplicated step
98
- * @param existingStepNames - Optional array of existing step names to avoid conflicts
99
- * @returns A new step object ready for creation
100
- */
101
- declare const duplicateStepWithRename: (originalStep: Step, sequence: number, existingStepNames?: string[]) => Omit<Step, 'id' | 'cvid' | 'updatedAt' | 'createdAt'>;
86
+ declare const duplicateStep: <T extends StepLike>(step: T) => Omit<T, "id" | "createdAt" | "updatedAt" | "versionId">;
102
87
 
103
- export { duplicateChecklistData, duplicateConfig, duplicateData, duplicateLauncherData, duplicateStep, duplicateStepWithRename, duplicateSteps, duplicateTarget, duplicateTriggers, extractQuestionData, generateUniqueCopyName, hasMissingRequiredData, isClickableElement, isMissingRequiredData, isQuestionElement, isRestrictedType, processQuestionElements };
88
+ export { duplicateChecklistData, duplicateConfig, duplicateData, duplicateLauncherData, duplicateStep, duplicateTarget, duplicateTriggers, extractQuestionData, generateUniqueCopyName, hasMissingRequiredData, isClickableElement, isMissingRequiredData, isQuestionElement, isRestrictedType, processQuestionElements };
@@ -79,25 +79,10 @@ type StepLike = {
79
79
  /**
80
80
  * Core function to duplicate a single step by removing database-specific fields
81
81
  * and regenerating IDs in triggers, target actions, and question elements
82
+ * Preserves cvid to maintain step references in triggers/actions when duplicating entire content
82
83
  * @param step - The step to duplicate
83
- * @returns A new step object with regenerated IDs, without id/cvid/timestamps/versionId
84
+ * @returns A new step object with regenerated IDs, preserving cvid
84
85
  */
85
- declare const duplicateStep: <T extends StepLike>(step: T) => Omit<T, "id" | "cvid" | "createdAt" | "updatedAt" | "versionId">;
86
- /**
87
- * Process multiple steps for duplication
88
- * Works with both Prisma Step type (server) and @usertour/types Step (client)
89
- * @param steps - Array of steps to process
90
- * @returns Array of steps ready for creation with regenerated IDs
91
- */
92
- declare const duplicateSteps: <T extends StepLike>(steps: T[]) => Omit<T, "id" | "cvid" | "createdAt" | "updatedAt" | "versionId">[];
93
- /**
94
- * Duplicate a single step with a new unique name and sequence
95
- * Used for UI operations when duplicating a step within the same version
96
- * @param originalStep - The step to duplicate
97
- * @param sequence - The new sequence number for the duplicated step
98
- * @param existingStepNames - Optional array of existing step names to avoid conflicts
99
- * @returns A new step object ready for creation
100
- */
101
- declare const duplicateStepWithRename: (originalStep: Step, sequence: number, existingStepNames?: string[]) => Omit<Step, 'id' | 'cvid' | 'updatedAt' | 'createdAt'>;
86
+ declare const duplicateStep: <T extends StepLike>(step: T) => Omit<T, "id" | "createdAt" | "updatedAt" | "versionId">;
102
87
 
103
- export { duplicateChecklistData, duplicateConfig, duplicateData, duplicateLauncherData, duplicateStep, duplicateStepWithRename, duplicateSteps, duplicateTarget, duplicateTriggers, extractQuestionData, generateUniqueCopyName, hasMissingRequiredData, isClickableElement, isMissingRequiredData, isQuestionElement, isRestrictedType, processQuestionElements };
88
+ export { duplicateChecklistData, duplicateConfig, duplicateData, duplicateLauncherData, duplicateStep, duplicateTarget, duplicateTriggers, extractQuestionData, generateUniqueCopyName, hasMissingRequiredData, isClickableElement, isMissingRequiredData, isQuestionElement, isRestrictedType, processQuestionElements };
@@ -4,8 +4,6 @@ import {
4
4
  duplicateData,
5
5
  duplicateLauncherData,
6
6
  duplicateStep,
7
- duplicateStepWithRename,
8
- duplicateSteps,
9
7
  duplicateTarget,
10
8
  duplicateTriggers,
11
9
  extractQuestionData,
@@ -16,7 +14,7 @@ import {
16
14
  isQuestionElement,
17
15
  isRestrictedType,
18
16
  processQuestionElements
19
- } from "./chunk-YR6T3KNN.js";
17
+ } from "./chunk-2TMOS3DN.js";
20
18
  import "./chunk-7ODE2AIC.js";
21
19
  import "./chunk-SIG4WTEF.js";
22
20
  import "./chunk-YYIGUZNZ.js";
@@ -32,8 +30,6 @@ export {
32
30
  duplicateData,
33
31
  duplicateLauncherData,
34
32
  duplicateStep,
35
- duplicateStepWithRename,
36
- duplicateSteps,
37
33
  duplicateTarget,
38
34
  duplicateTriggers,
39
35
  extractQuestionData,
package/dist/index.cjs CHANGED
@@ -59,8 +59,6 @@ __export(src_exports, {
59
59
  duplicateData: () => duplicateData,
60
60
  duplicateLauncherData: () => duplicateLauncherData,
61
61
  duplicateStep: () => duplicateStep,
62
- duplicateStepWithRename: () => duplicateStepWithRename,
63
- duplicateSteps: () => duplicateSteps,
64
62
  duplicateTarget: () => duplicateTarget,
65
63
  duplicateTriggers: () => duplicateTriggers,
66
64
  evalCode: () => evalCode,
@@ -1903,7 +1901,7 @@ var duplicateData = (data, contentType) => {
1903
1901
  return data;
1904
1902
  };
1905
1903
  var duplicateStep = (step) => {
1906
- const { id, cvid, createdAt, updatedAt, versionId, trigger, target, data, ...rest } = step;
1904
+ const { id, createdAt, updatedAt, versionId, trigger, target, data, ...rest } = step;
1907
1905
  return {
1908
1906
  ...rest,
1909
1907
  data: data ? processQuestionElements(data) : [],
@@ -1911,20 +1909,6 @@ var duplicateStep = (step) => {
1911
1909
  target: duplicateTarget(target)
1912
1910
  };
1913
1911
  };
1914
- var duplicateSteps = (steps) => {
1915
- if (!isArray(steps)) {
1916
- return [];
1917
- }
1918
- return steps.map((step) => duplicateStep(step));
1919
- };
1920
- var duplicateStepWithRename = (originalStep, sequence, existingStepNames) => {
1921
- const duplicated = duplicateStep(originalStep);
1922
- return {
1923
- ...duplicated,
1924
- name: generateUniqueCopyName(originalStep.name, existingStepNames),
1925
- sequence
1926
- };
1927
- };
1928
1912
  // Annotate the CommonJS export names for ESM import in node:
1929
1913
  0 && (module.exports = {
1930
1914
  AbortController,
@@ -1951,8 +1935,6 @@ var duplicateStepWithRename = (originalStep, sequence, existingStepNames) => {
1951
1935
  duplicateData,
1952
1936
  duplicateLauncherData,
1953
1937
  duplicateStep,
1954
- duplicateStepWithRename,
1955
- duplicateSteps,
1956
1938
  duplicateTarget,
1957
1939
  duplicateTriggers,
1958
1940
  evalCode,
package/dist/index.d.cts CHANGED
@@ -14,7 +14,7 @@ export { evaluateUrlCondition, isMatchUrlPattern } from './conditions/url.cjs';
14
14
  export { convertTimeConditionLegacyToV2, evaluateTimeCondition, isTimeConditionDataLegacy, isTimeConditionDataV2, normalizeTimeConditionData } from './conditions/time.cjs';
15
15
  export { evaluateAttributeCondition } from './conditions/attribute.cjs';
16
16
  export { capitalizeFirstLetter, filterNullAttributes, getAttributeType, isValidISO8601 } from './attribute.cjs';
17
- export { duplicateChecklistData, duplicateConfig, duplicateData, duplicateLauncherData, duplicateStep, duplicateStepWithRename, duplicateSteps, duplicateTarget, duplicateTriggers, extractQuestionData, generateUniqueCopyName, hasMissingRequiredData, isClickableElement, isMissingRequiredData, isQuestionElement, isRestrictedType, processQuestionElements } from './content-helper.cjs';
17
+ export { duplicateChecklistData, duplicateConfig, duplicateData, duplicateLauncherData, duplicateStep, duplicateTarget, duplicateTriggers, extractQuestionData, generateUniqueCopyName, hasMissingRequiredData, isClickableElement, isMissingRequiredData, isQuestionElement, isRestrictedType, processQuestionElements } from './content-helper.cjs';
18
18
  export { default as isEqual } from 'fast-deep-equal';
19
19
  import '@usertour/types';
20
20
  import './storage.cjs';
package/dist/index.d.ts CHANGED
@@ -14,7 +14,7 @@ export { evaluateUrlCondition, isMatchUrlPattern } from './conditions/url.js';
14
14
  export { convertTimeConditionLegacyToV2, evaluateTimeCondition, isTimeConditionDataLegacy, isTimeConditionDataV2, normalizeTimeConditionData } from './conditions/time.js';
15
15
  export { evaluateAttributeCondition } from './conditions/attribute.js';
16
16
  export { capitalizeFirstLetter, filterNullAttributes, getAttributeType, isValidISO8601 } from './attribute.js';
17
- export { duplicateChecklistData, duplicateConfig, duplicateData, duplicateLauncherData, duplicateStep, duplicateStepWithRename, duplicateSteps, duplicateTarget, duplicateTriggers, extractQuestionData, generateUniqueCopyName, hasMissingRequiredData, isClickableElement, isMissingRequiredData, isQuestionElement, isRestrictedType, processQuestionElements } from './content-helper.js';
17
+ export { duplicateChecklistData, duplicateConfig, duplicateData, duplicateLauncherData, duplicateStep, duplicateTarget, duplicateTriggers, extractQuestionData, generateUniqueCopyName, hasMissingRequiredData, isClickableElement, isMissingRequiredData, isQuestionElement, isRestrictedType, processQuestionElements } from './content-helper.js';
18
18
  export { default as isEqual } from 'fast-deep-equal';
19
19
  import '@usertour/types';
20
20
  import './storage.js';
package/dist/index.js CHANGED
@@ -28,8 +28,6 @@ import {
28
28
  duplicateData,
29
29
  duplicateLauncherData,
30
30
  duplicateStep,
31
- duplicateStepWithRename,
32
- duplicateSteps,
33
31
  duplicateTarget,
34
32
  duplicateTriggers,
35
33
  extractQuestionData,
@@ -40,7 +38,7 @@ import {
40
38
  isQuestionElement,
41
39
  isRestrictedType,
42
40
  processQuestionElements
43
- } from "./chunk-YR6T3KNN.js";
41
+ } from "./chunk-2TMOS3DN.js";
44
42
  import "./chunk-7ODE2AIC.js";
45
43
  import {
46
44
  allConditionsHaveIds,
@@ -173,8 +171,6 @@ export {
173
171
  duplicateData,
174
172
  duplicateLauncherData,
175
173
  duplicateStep,
176
- duplicateStepWithRename,
177
- duplicateSteps,
178
174
  duplicateTarget,
179
175
  duplicateTriggers,
180
176
  evalCode,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@usertour/helpers",
3
- "version": "0.0.51",
3
+ "version": "0.0.52",
4
4
  "type": "module",
5
5
  "description": "Utility functions and helpers shared across the UserTour project",
6
6
  "homepage": "https://www.usertour.io",
@@ -29,7 +29,7 @@
29
29
  },
30
30
  "dependencies": {
31
31
  "@paralleldrive/cuid2": "^2.2.2",
32
- "@usertour/types": "^0.0.33",
32
+ "@usertour/types": "^0.0.35",
33
33
  "chroma-js": "^3.1.2",
34
34
  "class-variance-authority": "^0.4.0",
35
35
  "clsx": "^1.2.1",