@burdenoff/microfe-tours 2026.510.112

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 (164) hide show
  1. package/README.md +342 -0
  2. package/dist/__tests__/setup.d.ts +2 -0
  3. package/dist/__tests__/setup.d.ts.map +1 -0
  4. package/dist/constants/featureFlags.d.ts +25 -0
  5. package/dist/constants/featureFlags.d.ts.map +1 -0
  6. package/dist/constants/featureFlags.js +9 -0
  7. package/dist/constants/featureFlags.js.map +1 -0
  8. package/dist/constants/permissions.d.ts +49 -0
  9. package/dist/constants/permissions.d.ts.map +1 -0
  10. package/dist/constants/permissions.js +38 -0
  11. package/dist/constants/permissions.js.map +1 -0
  12. package/dist/dev/main.d.ts +2 -0
  13. package/dist/dev/main.d.ts.map +1 -0
  14. package/dist/generated/global-operations.d.ts +1270 -0
  15. package/dist/generated/global-operations.d.ts.map +1 -0
  16. package/dist/generated/global-operations.js +650 -0
  17. package/dist/generated/global-operations.js.map +1 -0
  18. package/dist/generated/global-types.d.ts +20448 -0
  19. package/dist/generated/global-types.d.ts.map +1 -0
  20. package/dist/generated/wspace-operations.d.ts +2 -0
  21. package/dist/generated/wspace-operations.d.ts.map +1 -0
  22. package/dist/generated/wspace-types.d.ts +53398 -0
  23. package/dist/generated/wspace-types.d.ts.map +1 -0
  24. package/dist/index.d.ts +6 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +6 -0
  27. package/dist/tours/ToursAdminRoot.d.ts +16 -0
  28. package/dist/tours/ToursAdminRoot.d.ts.map +1 -0
  29. package/dist/tours/ToursAdminRoot.js +42 -0
  30. package/dist/tours/ToursAdminRoot.js.map +1 -0
  31. package/dist/tours/ToursAdminRoutes.d.ts +12 -0
  32. package/dist/tours/ToursAdminRoutes.d.ts.map +1 -0
  33. package/dist/tours/ToursAdminRoutes.js +109 -0
  34. package/dist/tours/ToursAdminRoutes.js.map +1 -0
  35. package/dist/tours/ToursRoot.d.ts +10 -0
  36. package/dist/tours/ToursRoot.d.ts.map +1 -0
  37. package/dist/tours/ToursRoot.js +1 -0
  38. package/dist/tours/ToursRoutes.d.ts +8 -0
  39. package/dist/tours/ToursRoutes.d.ts.map +1 -0
  40. package/dist/tours/ToursUserRoot.d.ts +15 -0
  41. package/dist/tours/ToursUserRoot.d.ts.map +1 -0
  42. package/dist/tours/ToursUserRoot.js +48 -0
  43. package/dist/tours/ToursUserRoot.js.map +1 -0
  44. package/dist/tours/ToursUserRoutes.d.ts +15 -0
  45. package/dist/tours/ToursUserRoutes.d.ts.map +1 -0
  46. package/dist/tours/ToursUserRoutes.js +66 -0
  47. package/dist/tours/ToursUserRoutes.js.map +1 -0
  48. package/dist/tours/components/RouteHelpers.d.ts +33 -0
  49. package/dist/tours/components/RouteHelpers.d.ts.map +1 -0
  50. package/dist/tours/components/RouteHelpers.js +75 -0
  51. package/dist/tours/components/RouteHelpers.js.map +1 -0
  52. package/dist/tours/components/ToursAdminNavRegistrar.d.ts +25 -0
  53. package/dist/tours/components/ToursAdminNavRegistrar.d.ts.map +1 -0
  54. package/dist/tours/components/ToursAdminNavRegistrar.js +60 -0
  55. package/dist/tours/components/ToursAdminNavRegistrar.js.map +1 -0
  56. package/dist/tours/components/ui.d.ts +2 -0
  57. package/dist/tours/components/ui.d.ts.map +1 -0
  58. package/dist/tours/hooks/useMediaLibrary.d.ts +22 -0
  59. package/dist/tours/hooks/useMediaLibrary.d.ts.map +1 -0
  60. package/dist/tours/hooks/useMediaLibrary.js +82 -0
  61. package/dist/tours/hooks/useMediaLibrary.js.map +1 -0
  62. package/dist/tours/hooks/useStepSequencer.d.ts +20 -0
  63. package/dist/tours/hooks/useStepSequencer.d.ts.map +1 -0
  64. package/dist/tours/hooks/useStepSequencer.js +53 -0
  65. package/dist/tours/hooks/useStepSequencer.js.map +1 -0
  66. package/dist/tours/hooks/useTourAnalytics.d.ts +32 -0
  67. package/dist/tours/hooks/useTourAnalytics.d.ts.map +1 -0
  68. package/dist/tours/hooks/useTourAnalytics.js +70 -0
  69. package/dist/tours/hooks/useTourAnalytics.js.map +1 -0
  70. package/dist/tours/hooks/useTourBuilder.d.ts +61 -0
  71. package/dist/tours/hooks/useTourBuilder.d.ts.map +1 -0
  72. package/dist/tours/hooks/useTourBuilder.js +192 -0
  73. package/dist/tours/hooks/useTourBuilder.js.map +1 -0
  74. package/dist/tours/hooks/useTourLifecycle.d.ts +22 -0
  75. package/dist/tours/hooks/useTourLifecycle.d.ts.map +1 -0
  76. package/dist/tours/hooks/useTourLifecycle.js +28 -0
  77. package/dist/tours/hooks/useTourLifecycle.js.map +1 -0
  78. package/dist/tours/hooks/useTourPreview.d.ts +33 -0
  79. package/dist/tours/hooks/useTourPreview.d.ts.map +1 -0
  80. package/dist/tours/hooks/useTourPreview.js +70 -0
  81. package/dist/tours/hooks/useTourPreview.js.map +1 -0
  82. package/dist/tours/hooks/useToursList.d.ts +30 -0
  83. package/dist/tours/hooks/useToursList.d.ts.map +1 -0
  84. package/dist/tours/hooks/useToursList.js +49 -0
  85. package/dist/tours/hooks/useToursList.js.map +1 -0
  86. package/dist/tours/hooks/useToursPermissionAccess.d.ts +16 -0
  87. package/dist/tours/hooks/useToursPermissionAccess.d.ts.map +1 -0
  88. package/dist/tours/hooks/useToursPermissionAccess.js +9 -0
  89. package/dist/tours/hooks/useToursPermissionAccess.js.map +1 -0
  90. package/dist/tours/i18n.d.ts +172 -0
  91. package/dist/tours/i18n.d.ts.map +1 -0
  92. package/dist/tours/i18n.js +175 -0
  93. package/dist/tours/i18n.js.map +1 -0
  94. package/dist/tours/index.d.ts +21 -0
  95. package/dist/tours/index.d.ts.map +1 -0
  96. package/dist/tours/index.js +5 -0
  97. package/dist/tours/pages/AnalyticsDashboardPage.d.ts +6 -0
  98. package/dist/tours/pages/AnalyticsDashboardPage.d.ts.map +1 -0
  99. package/dist/tours/pages/AnalyticsDashboardPage.js +230 -0
  100. package/dist/tours/pages/AnalyticsDashboardPage.js.map +1 -0
  101. package/dist/tours/pages/MediaLibraryPage.d.ts +6 -0
  102. package/dist/tours/pages/MediaLibraryPage.d.ts.map +1 -0
  103. package/dist/tours/pages/MediaLibraryPage.js +195 -0
  104. package/dist/tours/pages/MediaLibraryPage.js.map +1 -0
  105. package/dist/tours/pages/MyToursPage.d.ts +11 -0
  106. package/dist/tours/pages/MyToursPage.d.ts.map +1 -0
  107. package/dist/tours/pages/MyToursPage.js +103 -0
  108. package/dist/tours/pages/MyToursPage.js.map +1 -0
  109. package/dist/tours/pages/MyToursProgressPage.d.ts +6 -0
  110. package/dist/tours/pages/MyToursProgressPage.d.ts.map +1 -0
  111. package/dist/tours/pages/MyToursProgressPage.js +142 -0
  112. package/dist/tours/pages/MyToursProgressPage.js.map +1 -0
  113. package/dist/tours/pages/SchedulerPage.d.ts +6 -0
  114. package/dist/tours/pages/SchedulerPage.d.ts.map +1 -0
  115. package/dist/tours/pages/SchedulerPage.js +231 -0
  116. package/dist/tours/pages/SchedulerPage.js.map +1 -0
  117. package/dist/tours/pages/StepEditorPage.d.ts +7 -0
  118. package/dist/tours/pages/StepEditorPage.d.ts.map +1 -0
  119. package/dist/tours/pages/StepEditorPage.js +586 -0
  120. package/dist/tours/pages/StepEditorPage.js.map +1 -0
  121. package/dist/tours/pages/SystemAnalyticsPage.d.ts +6 -0
  122. package/dist/tours/pages/SystemAnalyticsPage.d.ts.map +1 -0
  123. package/dist/tours/pages/SystemAnalyticsPage.js +155 -0
  124. package/dist/tours/pages/SystemAnalyticsPage.js.map +1 -0
  125. package/dist/tours/pages/TemplateLibraryPage.d.ts +6 -0
  126. package/dist/tours/pages/TemplateLibraryPage.d.ts.map +1 -0
  127. package/dist/tours/pages/TemplateLibraryPage.js +207 -0
  128. package/dist/tours/pages/TemplateLibraryPage.js.map +1 -0
  129. package/dist/tours/pages/TourBuilderPage.d.ts +6 -0
  130. package/dist/tours/pages/TourBuilderPage.d.ts.map +1 -0
  131. package/dist/tours/pages/TourBuilderPage.js +363 -0
  132. package/dist/tours/pages/TourBuilderPage.js.map +1 -0
  133. package/dist/tours/pages/TourPreviewPage.d.ts +6 -0
  134. package/dist/tours/pages/TourPreviewPage.d.ts.map +1 -0
  135. package/dist/tours/pages/TourPreviewPage.js +239 -0
  136. package/dist/tours/pages/TourPreviewPage.js.map +1 -0
  137. package/dist/tours/pages/ToursListPage.d.ts +6 -0
  138. package/dist/tours/pages/ToursListPage.d.ts.map +1 -0
  139. package/dist/tours/pages/ToursListPage.js +310 -0
  140. package/dist/tours/pages/ToursListPage.js.map +1 -0
  141. package/dist/tours/providers/ToursProvider.d.ts +27 -0
  142. package/dist/tours/providers/ToursProvider.d.ts.map +1 -0
  143. package/dist/tours/providers/ToursProvider.js +28 -0
  144. package/dist/tours/providers/ToursProvider.js.map +1 -0
  145. package/dist/tours/store/toursStore.d.ts +39 -0
  146. package/dist/tours/store/toursStore.d.ts.map +1 -0
  147. package/dist/tours/store/toursStore.js +143 -0
  148. package/dist/tours/store/toursStore.js.map +1 -0
  149. package/dist/tours/types/index.d.ts +350 -0
  150. package/dist/tours/types/index.d.ts.map +1 -0
  151. package/dist/tours/utils/cn.d.ts +8 -0
  152. package/dist/tours/utils/cn.d.ts.map +1 -0
  153. package/dist/tours/utils/index.d.ts +102 -0
  154. package/dist/tours/utils/index.d.ts.map +1 -0
  155. package/dist/tours/utils/index.js +28 -0
  156. package/dist/tours/utils/index.js.map +1 -0
  157. package/dist/tours/utils/joinPath.d.ts +9 -0
  158. package/dist/tours/utils/joinPath.d.ts.map +1 -0
  159. package/dist/tours/utils/joinPath.js +8 -0
  160. package/dist/tours/utils/joinPath.js.map +1 -0
  161. package/dist/utils/nativeBridge.d.ts +3 -0
  162. package/dist/utils/nativeBridge.d.ts.map +1 -0
  163. package/dist/utils/nativeBridge.js +2 -0
  164. package/package.json +114 -0
@@ -0,0 +1,172 @@
1
+ declare const toursTranslationFallbacks: {
2
+ readonly 'stepEditor.addFirstStep': "Add First Step";
3
+ readonly 'stepEditor.addStep': "Add Step";
4
+ readonly 'stepEditor.clickAddStep': "Click \"Add Step\" to create one";
5
+ readonly 'stepEditor.content': "Content";
6
+ readonly 'stepEditor.contentPlaceholder': "Enter step content or instructions";
7
+ readonly 'stepEditor.createFirstStep': "Create your first step to get started";
8
+ readonly 'stepEditor.cssSelector': "CSS Selector";
9
+ readonly 'stepEditor.cssSelectorPlaceholder': "[data-tour='element-name'] or #id or .class";
10
+ readonly 'stepEditor.dataTourHint': "Use data-tour attributes like [data-tour='sidenav'] for best results";
11
+ readonly 'stepEditor.deleteStep': "Delete step";
12
+ readonly 'stepEditor.desktopSelector': "Desktop Selector";
13
+ readonly 'stepEditor.deviceSelectorHint': "Override the default selector for specific device types";
14
+ readonly 'stepEditor.deviceSpecificSelectors': "Device-Specific Selectors (Advanced)";
15
+ readonly 'stepEditor.editStep': "Edit Step";
16
+ readonly 'stepEditor.goBack': "Go back";
17
+ readonly 'stepEditor.leaveEmptyDefault': "Leave empty to use default";
18
+ readonly 'stepEditor.mobileSelector': "Mobile Selector";
19
+ readonly 'stepEditor.noStepSelected': "No step selected";
20
+ readonly 'stepEditor.noStepsYet': "No steps yet";
21
+ readonly 'stepEditor.of': "of";
22
+ readonly 'stepEditor.placementAuto': "Auto (recommended)";
23
+ readonly 'stepEditor.placementBottom': "Bottom";
24
+ readonly 'stepEditor.placementCenter': "Center (modal style)";
25
+ readonly 'stepEditor.placementLeft': "Left";
26
+ readonly 'stepEditor.placementRight': "Right";
27
+ readonly 'stepEditor.placementTop': "Top";
28
+ readonly 'stepEditor.save': "Save";
29
+ readonly 'stepEditor.saving': "Saving...";
30
+ readonly 'stepEditor.selectStepToEdit': "Select a step from the list to edit it";
31
+ readonly 'stepEditor.stepNumber': "Step";
32
+ readonly 'stepEditor.steps': "Steps";
33
+ readonly 'stepEditor.stepsCount': "steps";
34
+ readonly 'stepEditor.stepsLabel': "Steps";
35
+ readonly 'stepEditor.stepTitle': "Step Title";
36
+ readonly 'stepEditor.stepTitlePlaceholder': "Enter step title";
37
+ readonly 'stepEditor.tabletSelector': "Tablet Selector";
38
+ readonly 'stepEditor.targetElement': "target element";
39
+ readonly 'stepEditor.tooltipPlacement': "Tooltip Placement";
40
+ readonly 'stepEditor.tourFallback': "Tour";
41
+ readonly 'stepEditor.tourSteps': "Tour Steps";
42
+ readonly 'stepEditor.untitled': "Untitled";
43
+ readonly 'templateLibrary.adjustFilters': "Try adjusting your filters or search query";
44
+ readonly 'templateLibrary.allCategories': "All Categories";
45
+ readonly 'templateLibrary.categoryCustom': "Custom";
46
+ readonly 'templateLibrary.categoryFeatureAnnouncement': "Feature Announcement";
47
+ readonly 'templateLibrary.categoryHelp': "Help";
48
+ readonly 'templateLibrary.categoryOnboarding': "Onboarding";
49
+ readonly 'templateLibrary.deleteConfirm': "Delete this template?";
50
+ readonly 'templateLibrary.loading': "Loading templates...";
51
+ readonly 'templateLibrary.noTemplatesFound': "No templates found";
52
+ readonly 'templateLibrary.publicOnly': "Public only";
53
+ readonly 'templateLibrary.searchPlaceholder': "Search templates...";
54
+ readonly 'templateLibrary.subtitle': "Browse and use pre-built tour templates";
55
+ readonly 'templateLibrary.times': "times";
56
+ readonly 'templateLibrary.title': "Tour Templates";
57
+ readonly 'templateLibrary.useTemplate': "Use Template";
58
+ readonly 'templateLibrary.usedTimes': "Used";
59
+ readonly 'tourBuilder.analytics': "Analytics";
60
+ readonly 'tourBuilder.createAndAddSteps': "Create & Add Steps";
61
+ readonly 'tourBuilder.editSteps': "Edit Steps";
62
+ readonly 'tourBuilder.errorTitle': "Error";
63
+ readonly 'tourBuilder.goBack': "Go back";
64
+ readonly 'tourBuilder.labelDescription': "Description";
65
+ readonly 'tourBuilder.labelName': "Tour Name *";
66
+ readonly 'tourBuilder.labelPriority': "Priority (1-100)";
67
+ readonly 'tourBuilder.labelProductId': "Product ID *";
68
+ readonly 'tourBuilder.labelTriggerType': "Trigger Type";
69
+ readonly 'tourBuilder.preview': "Preview";
70
+ readonly 'tourBuilder.saving': "Saving...";
71
+ readonly 'tourBuilder.sectionBasicInfo': "Basic Information";
72
+ readonly 'tourBuilder.sectionTriggerSettings': "Trigger Settings";
73
+ readonly 'tourBuilder.subtitle': "Configure tour details and settings";
74
+ readonly 'tourBuilder.titleCreate': "Create Tour";
75
+ readonly 'tourBuilder.titleEdit': "Edit Tour";
76
+ readonly 'tourBuilder.triggerAutoAlways': "Auto (Always)";
77
+ readonly 'tourBuilder.triggerAutoFirstVisit': "Auto (First Visit)";
78
+ readonly 'tourBuilder.triggerManual': "Manual";
79
+ readonly 'tourBuilder.triggerOnEvent': "On Event";
80
+ readonly 'tourBuilder.triggerScheduled': "Scheduled";
81
+ readonly 'tourBuilder.updateTour': "Update Tour";
82
+ readonly 'tourBuilder.validationErrorsTitle': "Validation Errors";
83
+ readonly 'tourPreview.accessDeniedMessage': "You do not have permission to preview this tour.";
84
+ readonly 'tourPreview.accessDeniedTitle': "Access Denied";
85
+ readonly 'tourPreview.deviceDesktop': "Desktop preview";
86
+ readonly 'tourPreview.deviceMobile': "Mobile preview";
87
+ readonly 'tourPreview.deviceTablet': "Tablet preview";
88
+ readonly 'tourPreview.finish': "Finish";
89
+ readonly 'tourPreview.loading': "Loading tour...";
90
+ readonly 'tourPreview.next': "Next";
91
+ readonly 'tourPreview.nextFooter': "Next";
92
+ readonly 'tourPreview.previewSuffix': "Preview";
93
+ readonly 'tourPreview.previous': "Previous";
94
+ readonly 'tourPreview.readyHint': "Click \"Start Preview\" to begin";
95
+ readonly 'tourPreview.readyTitle': "Preview ready";
96
+ readonly 'tourPreview.startPreview': "Start Preview";
97
+ readonly 'tourPreview.stepOf': "Step";
98
+ readonly 'tourPreview.stepOfConnector': "of";
99
+ readonly 'tourPreview.stopPreview': "Stop Preview";
100
+ readonly 'tourPreview.validationErrorsTitle': "Validation Errors";
101
+ readonly 'tourPreview.warningsTitle': "Warnings";
102
+ readonly 'toursList.accessDeniedMessage': "You do not have permission to view product tours.";
103
+ readonly 'toursList.accessDeniedTitle': "Access Denied";
104
+ readonly 'toursList.actionArchive': "Archive";
105
+ readonly 'toursList.actionDelete': "Delete";
106
+ readonly 'toursList.actionDuplicate': "Duplicate";
107
+ readonly 'toursList.actionPublish': "Publish";
108
+ readonly 'toursList.actionUnpublish': "Unpublish";
109
+ readonly 'toursList.confirmDelete': "Are you sure you want to delete this tour?";
110
+ readonly 'toursList.createTour': "Create Tour";
111
+ readonly 'toursList.editStepsTitle': "Edit Steps";
112
+ readonly 'toursList.emptySubtitle': "Create your first tour to get started";
113
+ readonly 'toursList.emptyTitle': "No tours found";
114
+ readonly 'toursList.errorArchive': "Failed to archive tour";
115
+ readonly 'toursList.errorDelete': "Failed to delete tour";
116
+ readonly 'toursList.errorDuplicate': "Failed to duplicate tour";
117
+ readonly 'toursList.errorPublish': "Failed to publish tour";
118
+ readonly 'toursList.errorUnpublish': "Failed to unpublish tour";
119
+ readonly 'toursList.gridView': "Grid view";
120
+ readonly 'toursList.listView': "List view";
121
+ readonly 'toursList.loading': "Loading tours...";
122
+ readonly 'toursList.moreActionsTitle': "More actions";
123
+ readonly 'toursList.previewButton': "Preview";
124
+ readonly 'toursList.previewTitle': "Preview Tour";
125
+ readonly 'toursList.searchPlaceholder': "Search tours...";
126
+ readonly 'toursList.settingsTitle': "Settings";
127
+ readonly 'toursList.statusAll': "All Statuses";
128
+ readonly 'toursList.statusArchived': "Archived";
129
+ readonly 'toursList.statusDraft': "Draft";
130
+ readonly 'toursList.statusPublished': "Published";
131
+ readonly 'toursList.statusScheduled': "Scheduled";
132
+ readonly 'toursList.steps': "steps";
133
+ readonly 'toursList.stepsButton': "Steps";
134
+ readonly 'toursList.subtitle': "Create and manage interactive product tours";
135
+ readonly 'toursList.title': "Product Tours";
136
+ readonly 'toursList.views': "views";
137
+ readonly 'myTours.title': "My Tours";
138
+ readonly 'myTours.subtitle': "Walkthroughs available in this product. Take a tour to learn a feature.";
139
+ readonly 'myTours.loading': "Loading...";
140
+ readonly 'myTours.empty': "No tours are available in this context yet.";
141
+ readonly 'myTours.status.completed': "Completed";
142
+ readonly 'myTours.status.inProgress': "In progress";
143
+ readonly 'myTours.status.skipped': "Skipped";
144
+ readonly 'myTours.status.notStarted': "Not started";
145
+ readonly 'myTours.notFoundTitle': "Page not found";
146
+ readonly 'myTours.notFoundBody': "That tour page isn't available — returning to My Tours.";
147
+ readonly 'myToursProgress.title': "My Progress";
148
+ readonly 'myToursProgress.subtitle': "Tours you have started, completed, or skipped.";
149
+ readonly 'myToursProgress.loading': "Loading...";
150
+ readonly 'myToursProgress.inProgress': "In progress";
151
+ readonly 'myToursProgress.completed': "Completed";
152
+ readonly 'myToursProgress.skipped': "Skipped or dismissed";
153
+ readonly 'myToursProgress.emptyInProgress': "No tours in progress.";
154
+ readonly 'myToursProgress.emptyCompleted': "No completed tours yet.";
155
+ readonly 'myToursProgress.emptySkipped': "No skipped tours.";
156
+ readonly 'myToursProgress.other': "Other";
157
+ readonly 'myToursProgress.emptyOther': "No tours in other states.";
158
+ };
159
+ export type ToursTranslationKey = keyof typeof toursTranslationFallbacks;
160
+ type TranslationParams = Record<string, string | number>;
161
+ export declare function useToursI18n(): {
162
+ tr: (key: ToursTranslationKey, params?: TranslationParams) => string;
163
+ locale: import('@burdenoff/fe-libs/shared/providers/shell').Locale;
164
+ translations: import('@burdenoff/fe-libs/shared/providers/shell').TranslationDictionary;
165
+ setLocale: (locale: import('@burdenoff/fe-libs/shared/providers/shell').Locale) => void;
166
+ t: (key: string, fallbackOrParams?: string | Record<string, string | number>, params?: Record<string, string | number>) => string;
167
+ isLoading: boolean;
168
+ error: string | null;
169
+ };
170
+ export declare function getToursTranslationFallback(key: ToursTranslationKey): "steps" | "Create Tour" | "Analytics" | "Tour" | "Add First Step" | "Add Step" | "Click \"Add Step\" to create one" | "Content" | "Enter step content or instructions" | "Create your first step to get started" | "CSS Selector" | "[data-tour='element-name'] or #id or .class" | "Use data-tour attributes like [data-tour='sidenav'] for best results" | "Delete step" | "Desktop Selector" | "Override the default selector for specific device types" | "Device-Specific Selectors (Advanced)" | "Edit Step" | "Go back" | "Leave empty to use default" | "Mobile Selector" | "No step selected" | "No steps yet" | "of" | "Auto (recommended)" | "Bottom" | "Center (modal style)" | "Left" | "Right" | "Top" | "Save" | "Saving..." | "Select a step from the list to edit it" | "Step" | "Steps" | "Step Title" | "Enter step title" | "Tablet Selector" | "target element" | "Tooltip Placement" | "Tour Steps" | "Untitled" | "Try adjusting your filters or search query" | "All Categories" | "Custom" | "Feature Announcement" | "Help" | "Onboarding" | "Delete this template?" | "Loading templates..." | "No templates found" | "Public only" | "Search templates..." | "Browse and use pre-built tour templates" | "times" | "Tour Templates" | "Use Template" | "Used" | "Create & Add Steps" | "Edit Steps" | "Error" | "Description" | "Tour Name *" | "Priority (1-100)" | "Product ID *" | "Trigger Type" | "Preview" | "Basic Information" | "Trigger Settings" | "Configure tour details and settings" | "Edit Tour" | "Auto (Always)" | "Auto (First Visit)" | "Manual" | "On Event" | "Scheduled" | "Update Tour" | "Validation Errors" | "You do not have permission to preview this tour." | "Access Denied" | "Desktop preview" | "Mobile preview" | "Tablet preview" | "Finish" | "Loading tour..." | "Next" | "Previous" | "Click \"Start Preview\" to begin" | "Preview ready" | "Start Preview" | "Stop Preview" | "Warnings" | "You do not have permission to view product tours." | "Archive" | "Delete" | "Duplicate" | "Publish" | "Unpublish" | "Are you sure you want to delete this tour?" | "Create your first tour to get started" | "No tours found" | "Failed to archive tour" | "Failed to delete tour" | "Failed to duplicate tour" | "Failed to publish tour" | "Failed to unpublish tour" | "Grid view" | "List view" | "Loading tours..." | "More actions" | "Preview Tour" | "Search tours..." | "Settings" | "All Statuses" | "Archived" | "Draft" | "Published" | "Create and manage interactive product tours" | "Product Tours" | "views" | "My Tours" | "Walkthroughs available in this product. Take a tour to learn a feature." | "Loading..." | "No tours are available in this context yet." | "Completed" | "In progress" | "Skipped" | "Not started" | "Page not found" | "That tour page isn't available — returning to My Tours." | "My Progress" | "Tours you have started, completed, or skipped." | "Skipped or dismissed" | "No tours in progress." | "No completed tours yet." | "No skipped tours." | "Other" | "No tours in other states.";
171
+ export {};
172
+ //# sourceMappingURL=i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/tours/i18n.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgKrB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,yBAAyB,CAAC;AAEzE,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAEzD,wBAAgB,YAAY;cAQlB,mBAAmB,WAAW,iBAAiB,KAAG,MAAM;;;;qCAzKvB,CAAC,kDACvB,CAAC;;;EA2LrB;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,mBAAmB,q7FAEnE"}
@@ -0,0 +1,175 @@
1
+ import { useCallback as e } from "react";
2
+ import { useI18n as t } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
3
+ //#region src/tours/i18n.ts
4
+ var n = {
5
+ "stepEditor.addFirstStep": "Add First Step",
6
+ "stepEditor.addStep": "Add Step",
7
+ "stepEditor.clickAddStep": "Click \"Add Step\" to create one",
8
+ "stepEditor.content": "Content",
9
+ "stepEditor.contentPlaceholder": "Enter step content or instructions",
10
+ "stepEditor.createFirstStep": "Create your first step to get started",
11
+ "stepEditor.cssSelector": "CSS Selector",
12
+ "stepEditor.cssSelectorPlaceholder": "[data-tour='element-name'] or #id or .class",
13
+ "stepEditor.dataTourHint": "Use data-tour attributes like [data-tour='sidenav'] for best results",
14
+ "stepEditor.deleteStep": "Delete step",
15
+ "stepEditor.desktopSelector": "Desktop Selector",
16
+ "stepEditor.deviceSelectorHint": "Override the default selector for specific device types",
17
+ "stepEditor.deviceSpecificSelectors": "Device-Specific Selectors (Advanced)",
18
+ "stepEditor.editStep": "Edit Step",
19
+ "stepEditor.goBack": "Go back",
20
+ "stepEditor.leaveEmptyDefault": "Leave empty to use default",
21
+ "stepEditor.mobileSelector": "Mobile Selector",
22
+ "stepEditor.noStepSelected": "No step selected",
23
+ "stepEditor.noStepsYet": "No steps yet",
24
+ "stepEditor.of": "of",
25
+ "stepEditor.placementAuto": "Auto (recommended)",
26
+ "stepEditor.placementBottom": "Bottom",
27
+ "stepEditor.placementCenter": "Center (modal style)",
28
+ "stepEditor.placementLeft": "Left",
29
+ "stepEditor.placementRight": "Right",
30
+ "stepEditor.placementTop": "Top",
31
+ "stepEditor.save": "Save",
32
+ "stepEditor.saving": "Saving...",
33
+ "stepEditor.selectStepToEdit": "Select a step from the list to edit it",
34
+ "stepEditor.stepNumber": "Step",
35
+ "stepEditor.steps": "Steps",
36
+ "stepEditor.stepsCount": "steps",
37
+ "stepEditor.stepsLabel": "Steps",
38
+ "stepEditor.stepTitle": "Step Title",
39
+ "stepEditor.stepTitlePlaceholder": "Enter step title",
40
+ "stepEditor.tabletSelector": "Tablet Selector",
41
+ "stepEditor.targetElement": "target element",
42
+ "stepEditor.tooltipPlacement": "Tooltip Placement",
43
+ "stepEditor.tourFallback": "Tour",
44
+ "stepEditor.tourSteps": "Tour Steps",
45
+ "stepEditor.untitled": "Untitled",
46
+ "templateLibrary.adjustFilters": "Try adjusting your filters or search query",
47
+ "templateLibrary.allCategories": "All Categories",
48
+ "templateLibrary.categoryCustom": "Custom",
49
+ "templateLibrary.categoryFeatureAnnouncement": "Feature Announcement",
50
+ "templateLibrary.categoryHelp": "Help",
51
+ "templateLibrary.categoryOnboarding": "Onboarding",
52
+ "templateLibrary.deleteConfirm": "Delete this template?",
53
+ "templateLibrary.loading": "Loading templates...",
54
+ "templateLibrary.noTemplatesFound": "No templates found",
55
+ "templateLibrary.publicOnly": "Public only",
56
+ "templateLibrary.searchPlaceholder": "Search templates...",
57
+ "templateLibrary.subtitle": "Browse and use pre-built tour templates",
58
+ "templateLibrary.times": "times",
59
+ "templateLibrary.title": "Tour Templates",
60
+ "templateLibrary.useTemplate": "Use Template",
61
+ "templateLibrary.usedTimes": "Used",
62
+ "tourBuilder.analytics": "Analytics",
63
+ "tourBuilder.createAndAddSteps": "Create & Add Steps",
64
+ "tourBuilder.editSteps": "Edit Steps",
65
+ "tourBuilder.errorTitle": "Error",
66
+ "tourBuilder.goBack": "Go back",
67
+ "tourBuilder.labelDescription": "Description",
68
+ "tourBuilder.labelName": "Tour Name *",
69
+ "tourBuilder.labelPriority": "Priority (1-100)",
70
+ "tourBuilder.labelProductId": "Product ID *",
71
+ "tourBuilder.labelTriggerType": "Trigger Type",
72
+ "tourBuilder.preview": "Preview",
73
+ "tourBuilder.saving": "Saving...",
74
+ "tourBuilder.sectionBasicInfo": "Basic Information",
75
+ "tourBuilder.sectionTriggerSettings": "Trigger Settings",
76
+ "tourBuilder.subtitle": "Configure tour details and settings",
77
+ "tourBuilder.titleCreate": "Create Tour",
78
+ "tourBuilder.titleEdit": "Edit Tour",
79
+ "tourBuilder.triggerAutoAlways": "Auto (Always)",
80
+ "tourBuilder.triggerAutoFirstVisit": "Auto (First Visit)",
81
+ "tourBuilder.triggerManual": "Manual",
82
+ "tourBuilder.triggerOnEvent": "On Event",
83
+ "tourBuilder.triggerScheduled": "Scheduled",
84
+ "tourBuilder.updateTour": "Update Tour",
85
+ "tourBuilder.validationErrorsTitle": "Validation Errors",
86
+ "tourPreview.accessDeniedMessage": "You do not have permission to preview this tour.",
87
+ "tourPreview.accessDeniedTitle": "Access Denied",
88
+ "tourPreview.deviceDesktop": "Desktop preview",
89
+ "tourPreview.deviceMobile": "Mobile preview",
90
+ "tourPreview.deviceTablet": "Tablet preview",
91
+ "tourPreview.finish": "Finish",
92
+ "tourPreview.loading": "Loading tour...",
93
+ "tourPreview.next": "Next",
94
+ "tourPreview.nextFooter": "Next",
95
+ "tourPreview.previewSuffix": "Preview",
96
+ "tourPreview.previous": "Previous",
97
+ "tourPreview.readyHint": "Click \"Start Preview\" to begin",
98
+ "tourPreview.readyTitle": "Preview ready",
99
+ "tourPreview.startPreview": "Start Preview",
100
+ "tourPreview.stepOf": "Step",
101
+ "tourPreview.stepOfConnector": "of",
102
+ "tourPreview.stopPreview": "Stop Preview",
103
+ "tourPreview.validationErrorsTitle": "Validation Errors",
104
+ "tourPreview.warningsTitle": "Warnings",
105
+ "toursList.accessDeniedMessage": "You do not have permission to view product tours.",
106
+ "toursList.accessDeniedTitle": "Access Denied",
107
+ "toursList.actionArchive": "Archive",
108
+ "toursList.actionDelete": "Delete",
109
+ "toursList.actionDuplicate": "Duplicate",
110
+ "toursList.actionPublish": "Publish",
111
+ "toursList.actionUnpublish": "Unpublish",
112
+ "toursList.confirmDelete": "Are you sure you want to delete this tour?",
113
+ "toursList.createTour": "Create Tour",
114
+ "toursList.editStepsTitle": "Edit Steps",
115
+ "toursList.emptySubtitle": "Create your first tour to get started",
116
+ "toursList.emptyTitle": "No tours found",
117
+ "toursList.errorArchive": "Failed to archive tour",
118
+ "toursList.errorDelete": "Failed to delete tour",
119
+ "toursList.errorDuplicate": "Failed to duplicate tour",
120
+ "toursList.errorPublish": "Failed to publish tour",
121
+ "toursList.errorUnpublish": "Failed to unpublish tour",
122
+ "toursList.gridView": "Grid view",
123
+ "toursList.listView": "List view",
124
+ "toursList.loading": "Loading tours...",
125
+ "toursList.moreActionsTitle": "More actions",
126
+ "toursList.previewButton": "Preview",
127
+ "toursList.previewTitle": "Preview Tour",
128
+ "toursList.searchPlaceholder": "Search tours...",
129
+ "toursList.settingsTitle": "Settings",
130
+ "toursList.statusAll": "All Statuses",
131
+ "toursList.statusArchived": "Archived",
132
+ "toursList.statusDraft": "Draft",
133
+ "toursList.statusPublished": "Published",
134
+ "toursList.statusScheduled": "Scheduled",
135
+ "toursList.steps": "steps",
136
+ "toursList.stepsButton": "Steps",
137
+ "toursList.subtitle": "Create and manage interactive product tours",
138
+ "toursList.title": "Product Tours",
139
+ "toursList.views": "views",
140
+ "myTours.title": "My Tours",
141
+ "myTours.subtitle": "Walkthroughs available in this product. Take a tour to learn a feature.",
142
+ "myTours.loading": "Loading...",
143
+ "myTours.empty": "No tours are available in this context yet.",
144
+ "myTours.status.completed": "Completed",
145
+ "myTours.status.inProgress": "In progress",
146
+ "myTours.status.skipped": "Skipped",
147
+ "myTours.status.notStarted": "Not started",
148
+ "myTours.notFoundTitle": "Page not found",
149
+ "myTours.notFoundBody": "That tour page isn't available — returning to My Tours.",
150
+ "myToursProgress.title": "My Progress",
151
+ "myToursProgress.subtitle": "Tours you have started, completed, or skipped.",
152
+ "myToursProgress.loading": "Loading...",
153
+ "myToursProgress.inProgress": "In progress",
154
+ "myToursProgress.completed": "Completed",
155
+ "myToursProgress.skipped": "Skipped or dismissed",
156
+ "myToursProgress.emptyInProgress": "No tours in progress.",
157
+ "myToursProgress.emptyCompleted": "No completed tours yet.",
158
+ "myToursProgress.emptySkipped": "No skipped tours.",
159
+ "myToursProgress.other": "Other",
160
+ "myToursProgress.emptyOther": "No tours in other states."
161
+ };
162
+ function r() {
163
+ let r = t(), i = r.t, a = e((e, t) => {
164
+ let r = i(e, n[e]);
165
+ return t ? Object.entries(t).reduce((e, [t, n]) => e.replace(`{{${t}}}`, String(n)), r) : r;
166
+ }, [i]);
167
+ return {
168
+ ...r,
169
+ tr: a
170
+ };
171
+ }
172
+ //#endregion
173
+ export { r as useToursI18n };
174
+
175
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","names":[],"sources":["../../src/tours/i18n.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\n\nconst toursTranslationFallbacks = {\n 'stepEditor.addFirstStep': 'Add First Step',\n 'stepEditor.addStep': 'Add Step',\n 'stepEditor.clickAddStep': 'Click \"Add Step\" to create one',\n 'stepEditor.content': 'Content',\n 'stepEditor.contentPlaceholder': 'Enter step content or instructions',\n 'stepEditor.createFirstStep': 'Create your first step to get started',\n 'stepEditor.cssSelector': 'CSS Selector',\n 'stepEditor.cssSelectorPlaceholder': \"[data-tour='element-name'] or #id or .class\",\n 'stepEditor.dataTourHint': \"Use data-tour attributes like [data-tour='sidenav'] for best results\",\n 'stepEditor.deleteStep': 'Delete step',\n 'stepEditor.desktopSelector': 'Desktop Selector',\n 'stepEditor.deviceSelectorHint': 'Override the default selector for specific device types',\n 'stepEditor.deviceSpecificSelectors': 'Device-Specific Selectors (Advanced)',\n 'stepEditor.editStep': 'Edit Step',\n 'stepEditor.goBack': 'Go back',\n 'stepEditor.leaveEmptyDefault': 'Leave empty to use default',\n 'stepEditor.mobileSelector': 'Mobile Selector',\n 'stepEditor.noStepSelected': 'No step selected',\n 'stepEditor.noStepsYet': 'No steps yet',\n 'stepEditor.of': 'of',\n 'stepEditor.placementAuto': 'Auto (recommended)',\n 'stepEditor.placementBottom': 'Bottom',\n 'stepEditor.placementCenter': 'Center (modal style)',\n 'stepEditor.placementLeft': 'Left',\n 'stepEditor.placementRight': 'Right',\n 'stepEditor.placementTop': 'Top',\n 'stepEditor.save': 'Save',\n 'stepEditor.saving': 'Saving...',\n 'stepEditor.selectStepToEdit': 'Select a step from the list to edit it',\n 'stepEditor.stepNumber': 'Step',\n 'stepEditor.steps': 'Steps',\n 'stepEditor.stepsCount': 'steps',\n 'stepEditor.stepsLabel': 'Steps',\n 'stepEditor.stepTitle': 'Step Title',\n 'stepEditor.stepTitlePlaceholder': 'Enter step title',\n 'stepEditor.tabletSelector': 'Tablet Selector',\n 'stepEditor.targetElement': 'target element',\n 'stepEditor.tooltipPlacement': 'Tooltip Placement',\n 'stepEditor.tourFallback': 'Tour',\n 'stepEditor.tourSteps': 'Tour Steps',\n 'stepEditor.untitled': 'Untitled',\n 'templateLibrary.adjustFilters': 'Try adjusting your filters or search query',\n 'templateLibrary.allCategories': 'All Categories',\n 'templateLibrary.categoryCustom': 'Custom',\n 'templateLibrary.categoryFeatureAnnouncement': 'Feature Announcement',\n 'templateLibrary.categoryHelp': 'Help',\n 'templateLibrary.categoryOnboarding': 'Onboarding',\n 'templateLibrary.deleteConfirm': 'Delete this template?',\n 'templateLibrary.loading': 'Loading templates...',\n 'templateLibrary.noTemplatesFound': 'No templates found',\n 'templateLibrary.publicOnly': 'Public only',\n 'templateLibrary.searchPlaceholder': 'Search templates...',\n 'templateLibrary.subtitle': 'Browse and use pre-built tour templates',\n 'templateLibrary.times': 'times',\n 'templateLibrary.title': 'Tour Templates',\n 'templateLibrary.useTemplate': 'Use Template',\n 'templateLibrary.usedTimes': 'Used',\n 'tourBuilder.analytics': 'Analytics',\n 'tourBuilder.createAndAddSteps': 'Create & Add Steps',\n 'tourBuilder.editSteps': 'Edit Steps',\n 'tourBuilder.errorTitle': 'Error',\n 'tourBuilder.goBack': 'Go back',\n 'tourBuilder.labelDescription': 'Description',\n 'tourBuilder.labelName': 'Tour Name *',\n 'tourBuilder.labelPriority': 'Priority (1-100)',\n 'tourBuilder.labelProductId': 'Product ID *',\n 'tourBuilder.labelTriggerType': 'Trigger Type',\n 'tourBuilder.preview': 'Preview',\n 'tourBuilder.saving': 'Saving...',\n 'tourBuilder.sectionBasicInfo': 'Basic Information',\n 'tourBuilder.sectionTriggerSettings': 'Trigger Settings',\n 'tourBuilder.subtitle': 'Configure tour details and settings',\n 'tourBuilder.titleCreate': 'Create Tour',\n 'tourBuilder.titleEdit': 'Edit Tour',\n 'tourBuilder.triggerAutoAlways': 'Auto (Always)',\n 'tourBuilder.triggerAutoFirstVisit': 'Auto (First Visit)',\n 'tourBuilder.triggerManual': 'Manual',\n 'tourBuilder.triggerOnEvent': 'On Event',\n 'tourBuilder.triggerScheduled': 'Scheduled',\n 'tourBuilder.updateTour': 'Update Tour',\n 'tourBuilder.validationErrorsTitle': 'Validation Errors',\n 'tourPreview.accessDeniedMessage': 'You do not have permission to preview this tour.',\n 'tourPreview.accessDeniedTitle': 'Access Denied',\n 'tourPreview.deviceDesktop': 'Desktop preview',\n 'tourPreview.deviceMobile': 'Mobile preview',\n 'tourPreview.deviceTablet': 'Tablet preview',\n 'tourPreview.finish': 'Finish',\n 'tourPreview.loading': 'Loading tour...',\n 'tourPreview.next': 'Next',\n 'tourPreview.nextFooter': 'Next',\n 'tourPreview.previewSuffix': 'Preview',\n 'tourPreview.previous': 'Previous',\n 'tourPreview.readyHint': 'Click \"Start Preview\" to begin',\n 'tourPreview.readyTitle': 'Preview ready',\n 'tourPreview.startPreview': 'Start Preview',\n 'tourPreview.stepOf': 'Step',\n 'tourPreview.stepOfConnector': 'of',\n 'tourPreview.stopPreview': 'Stop Preview',\n 'tourPreview.validationErrorsTitle': 'Validation Errors',\n 'tourPreview.warningsTitle': 'Warnings',\n 'toursList.accessDeniedMessage': 'You do not have permission to view product tours.',\n 'toursList.accessDeniedTitle': 'Access Denied',\n 'toursList.actionArchive': 'Archive',\n 'toursList.actionDelete': 'Delete',\n 'toursList.actionDuplicate': 'Duplicate',\n 'toursList.actionPublish': 'Publish',\n 'toursList.actionUnpublish': 'Unpublish',\n 'toursList.confirmDelete': 'Are you sure you want to delete this tour?',\n 'toursList.createTour': 'Create Tour',\n 'toursList.editStepsTitle': 'Edit Steps',\n 'toursList.emptySubtitle': 'Create your first tour to get started',\n 'toursList.emptyTitle': 'No tours found',\n 'toursList.errorArchive': 'Failed to archive tour',\n 'toursList.errorDelete': 'Failed to delete tour',\n 'toursList.errorDuplicate': 'Failed to duplicate tour',\n 'toursList.errorPublish': 'Failed to publish tour',\n 'toursList.errorUnpublish': 'Failed to unpublish tour',\n 'toursList.gridView': 'Grid view',\n 'toursList.listView': 'List view',\n 'toursList.loading': 'Loading tours...',\n 'toursList.moreActionsTitle': 'More actions',\n 'toursList.previewButton': 'Preview',\n 'toursList.previewTitle': 'Preview Tour',\n 'toursList.searchPlaceholder': 'Search tours...',\n 'toursList.settingsTitle': 'Settings',\n 'toursList.statusAll': 'All Statuses',\n 'toursList.statusArchived': 'Archived',\n 'toursList.statusDraft': 'Draft',\n 'toursList.statusPublished': 'Published',\n 'toursList.statusScheduled': 'Scheduled',\n 'toursList.steps': 'steps',\n 'toursList.stepsButton': 'Steps',\n 'toursList.subtitle': 'Create and manage interactive product tours',\n 'toursList.title': 'Product Tours',\n 'toursList.views': 'views',\n\n // User-facing surface (BOFF-2391: My Tours + My Progress).\n 'myTours.title': 'My Tours',\n 'myTours.subtitle': 'Walkthroughs available in this product. Take a tour to learn a feature.',\n 'myTours.loading': 'Loading...',\n 'myTours.empty': 'No tours are available in this context yet.',\n 'myTours.status.completed': 'Completed',\n 'myTours.status.inProgress': 'In progress',\n 'myTours.status.skipped': 'Skipped',\n 'myTours.status.notStarted': 'Not started',\n 'myTours.notFoundTitle': 'Page not found',\n 'myTours.notFoundBody': \"That tour page isn't available — returning to My Tours.\",\n\n 'myToursProgress.title': 'My Progress',\n 'myToursProgress.subtitle': 'Tours you have started, completed, or skipped.',\n 'myToursProgress.loading': 'Loading...',\n 'myToursProgress.inProgress': 'In progress',\n 'myToursProgress.completed': 'Completed',\n 'myToursProgress.skipped': 'Skipped or dismissed',\n 'myToursProgress.emptyInProgress': 'No tours in progress.',\n 'myToursProgress.emptyCompleted': 'No completed tours yet.',\n 'myToursProgress.emptySkipped': 'No skipped tours.',\n 'myToursProgress.other': 'Other',\n 'myToursProgress.emptyOther': 'No tours in other states.',\n} as const;\n\nexport type ToursTranslationKey = keyof typeof toursTranslationFallbacks;\n\ntype TranslationParams = Record<string, string | number>;\n\nexport function useToursI18n() {\n const i18n = useI18n();\n // The installed fe-libs typings still expose the older 2-argument shape, but the\n // runtime provider supports fallback strings. Narrow locally so this MFE can rely\n // on fallback-backed translations without changing the shared package here.\n const translateWithFallback = i18n.t as (key: string, fallback?: string) => string;\n\n const tr = useCallback(\n (key: ToursTranslationKey, params?: TranslationParams): string => {\n const resolved = translateWithFallback(key, toursTranslationFallbacks[key]);\n\n if (!params) {\n return resolved;\n }\n\n return Object.entries(params).reduce(\n (value, [paramKey, paramValue]) => value.replace(`{{${paramKey}}}`, String(paramValue)),\n resolved\n );\n },\n [translateWithFallback]\n );\n\n return {\n ...i18n,\n tr,\n };\n}\n\nexport function getToursTranslationFallback(key: ToursTranslationKey) {\n return toursTranslationFallbacks[key];\n}\n"],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Tours Microfrontend
3
+ *
4
+ * Provides UIs for product tours and onboarding. Two surfaces are exported:
5
+ *
6
+ * - `ToursAdminRoot` — full authoring suite (CRUD, builder, step editor,
7
+ * media library, analytics, templates, scheduler, preview). Mount in
8
+ * admin-app.
9
+ * - `ToursUserRoot` — read-only "My Tours" + "My Progress" surface. Mount
10
+ * in product user shells (vibecontrols-app, etc.).
11
+ *
12
+ * `ToursRoot` is kept as a back-compat alias of `ToursAdminRoot` so callers
13
+ * that imported `ToursRoot` before the BOFF-2391 split continue to work.
14
+ */
15
+ export { ToursRoot } from './ToursRoot';
16
+ export { ToursAdminRoot } from './ToursAdminRoot';
17
+ export { ToursUserRoot } from './ToursUserRoot';
18
+ export type { ToursRootProps, ToursVariant } from './types';
19
+ export { useToursContext } from './providers/ToursProvider';
20
+ export { useToursStore } from './store/toursStore';
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tours/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import "./providers/ToursProvider.js";
2
+ import "./store/toursStore.js";
3
+ import "./ToursAdminRoot.js";
4
+ import "./ToursRoot.js";
5
+ import "./ToursUserRoot.js";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Analytics dashboard page
3
+ * Display tour performance metrics and charts
4
+ */
5
+ export declare function AnalyticsDashboardPage(): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=AnalyticsDashboardPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnalyticsDashboardPage.d.ts","sourceRoot":"","sources":["../../../src/tours/pages/AnalyticsDashboardPage.tsx"],"names":[],"mappings":"AASA;;;GAGG;AACH,wBAAgB,sBAAsB,4CAgMrC"}