@agorapulse/ui-components 20.0.0 → 20.1.0

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.
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Usage Example:
3
+ *
4
+ * import { generateGroupElements, generateLeafElements } from './nav-selector-entry.mock';
5
+ *
6
+ * const mockNavSelectorEntries = [
7
+ * // Generate 30 groups with children using default settings
8
+ * ...generateGroupElements({
9
+ * count: 30,
10
+ * }),
11
+ *
12
+ * // Generate individual leaf elements without groups
13
+ * ...generateLeafElements({
14
+ * count: 1,
15
+ * }),
16
+ * ];
17
+ */
18
+ /**
19
+ * Utility function to generate leaf type elements
20
+ * @param options Configuration options for generating leaf elements
21
+ * @returns Array of leaf elements
22
+ */
23
+ function generateLeafElements(options) {
24
+ const { count, uidPrefix = 'account', aliasPrefix = 'Account', startUid = 1000, networks = ['facebook', 'instagram', 'youtube', 'tiktok', 'linkedin', 'xPlus'], pictureUrlPattern = 'https://picsum.photos/150/150?random={uid}', disableReasonFrequency = 17, tokenInvalidFrequency = 7, featureLockedFrequency = 11, } = options;
25
+ return Array.from({ length: count }, (_, index) => {
26
+ const uid = startUid + index;
27
+ const networkIndex = index % networks.length;
28
+ const network = networks[networkIndex];
29
+ const finalUid = `${uidPrefix}_${uid}`;
30
+ const finalAlias = `${aliasPrefix} ${uid}`;
31
+ const finalPictureUrl = pictureUrlPattern.replace('{uid}', uid.toString());
32
+ return {
33
+ uid: finalUid,
34
+ counter: null,
35
+ alias: finalAlias,
36
+ pictureUrl: finalPictureUrl,
37
+ disableReason: index > 0 && index % disableReasonFrequency === 0 ? 'The Reports feature is not supported for this account type' : null,
38
+ missingPermission: false,
39
+ network,
40
+ actions: [],
41
+ details: [],
42
+ tokenInvalid: index > 0 && index % tokenInvalidFrequency === 0,
43
+ featureLocked: index > 0 && index % featureLockedFrequency === 0,
44
+ type: 'LEAF',
45
+ };
46
+ });
47
+ }
48
+ /**
49
+ * Utility function to generate group type elements with children
50
+ * @param options Configuration options for generating group elements
51
+ * @returns Array of group elements
52
+ */
53
+ function generateGroupElements(options) {
54
+ const { count, startGroupId = 82529, categories = ['Test Group'], childrenCounts = [10], uidPrefix = 'group', childUidPrefix = 'account', childAliasPrefix = '', startChildUid = 99, childUidIncrement = 30, networks = ['facebook', 'instagram'], pictureUrlPattern = 'https://picsum.photos/150/150?random={uid}', disableReasonFrequency = 999, tokenInvalidFrequency = 999, featureLockedFrequency = 999, } = options;
55
+ // Use a cache to avoid regenerating the same data
56
+ const cacheKey = JSON.stringify(options);
57
+ if (globalThis.__navSelectorMockCache?.[cacheKey]) {
58
+ return globalThis.__navSelectorMockCache[cacheKey];
59
+ }
60
+ const result = Array.from({ length: count }, (_, groupIndex) => {
61
+ const groupId = startGroupId + groupIndex;
62
+ // Reduce default children count to improve performance
63
+ const childrenCount = Math.min(childrenCounts[groupIndex] || 5, 10);
64
+ const startUid = startChildUid + groupIndex * childUidIncrement;
65
+ const groupCategory = categories[groupIndex] || `Category ${groupIndex + 1}`;
66
+ return {
67
+ uid: `${uidPrefix}_${groupId}`,
68
+ alias: groupCategory,
69
+ children: generateLeafElements({
70
+ count: childrenCount,
71
+ uidPrefix: childUidPrefix,
72
+ aliasPrefix: childAliasPrefix || groupCategory,
73
+ startUid: startUid,
74
+ networks,
75
+ pictureUrlPattern,
76
+ disableReasonFrequency,
77
+ tokenInvalidFrequency,
78
+ featureLockedFrequency,
79
+ }),
80
+ folded: true,
81
+ type: 'GROUP',
82
+ };
83
+ });
84
+ // Cache the result
85
+ if (!globalThis.__navSelectorMockCache) {
86
+ globalThis.__navSelectorMockCache = {};
87
+ }
88
+ globalThis.__navSelectorMockCache[cacheKey] = result;
89
+ return result;
90
+ }
91
+
92
+ /**
93
+ * Generated bundle index. Do not edit.
94
+ */
95
+
96
+ export { generateGroupElements, generateLeafElements };
97
+ //# sourceMappingURL=agorapulse-ui-components-nav-selector-testing.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agorapulse-ui-components-nav-selector-testing.mjs","sources":["../../../libs/ui-components/nav-selector/testing/src/nav-selector-entry.mock.ts","../../../libs/ui-components/nav-selector/testing/src/agorapulse-ui-components-nav-selector-testing.ts"],"sourcesContent":["/**\n * Usage Example:\n *\n * import { generateGroupElements, generateLeafElements } from './nav-selector-entry.mock';\n *\n * const mockNavSelectorEntries = [\n * // Generate 30 groups with children using default settings\n * ...generateGroupElements({\n * count: 30,\n * }),\n *\n * // Generate individual leaf elements without groups\n * ...generateLeafElements({\n * count: 1,\n * }),\n * ];\n */\n\n/**\n * Utility function to generate leaf type elements\n * @param options Configuration options for generating leaf elements\n * @returns Array of leaf elements\n */\nexport function generateLeafElements(options: {\n count: number;\n uidPrefix?: string;\n aliasPrefix?: string;\n startUid?: number;\n networks?: string[];\n pictureUrlPattern?: string;\n disableReasonFrequency?: number;\n tokenInvalidFrequency?: number;\n featureLockedFrequency?: number;\n}) {\n const {\n count,\n uidPrefix = 'account',\n aliasPrefix = 'Account',\n startUid = 1000,\n networks = ['facebook', 'instagram', 'youtube', 'tiktok', 'linkedin', 'xPlus'],\n pictureUrlPattern = 'https://picsum.photos/150/150?random={uid}',\n disableReasonFrequency = 17,\n tokenInvalidFrequency = 7,\n featureLockedFrequency = 11,\n } = options;\n\n return Array.from({ length: count }, (_, index) => {\n const uid = startUid + index;\n const networkIndex = index % networks.length;\n const network = networks[networkIndex];\n\n const finalUid = `${uidPrefix}_${uid}`;\n const finalAlias = `${aliasPrefix} ${uid}`;\n const finalPictureUrl = pictureUrlPattern.replace('{uid}', uid.toString());\n\n return {\n uid: finalUid,\n counter: null,\n alias: finalAlias,\n pictureUrl: finalPictureUrl,\n disableReason:\n index > 0 && index % disableReasonFrequency === 0 ? 'The Reports feature is not supported for this account type' : null,\n missingPermission: false,\n network,\n actions: [],\n details: [],\n tokenInvalid: index > 0 && index % tokenInvalidFrequency === 0,\n featureLocked: index > 0 && index % featureLockedFrequency === 0,\n type: 'LEAF' as const,\n };\n });\n}\n\n/**\n * Utility function to generate group type elements with children\n * @param options Configuration options for generating group elements\n * @returns Array of group elements\n */\nexport function generateGroupElements(options: {\n count: number;\n startGroupId?: number;\n categories?: string[];\n childrenCounts?: number[];\n uidPrefix?: string;\n childUidPrefix?: string;\n childAliasPrefix?: string;\n startChildUid?: number;\n childUidIncrement?: number;\n networks?: string[];\n pictureUrlPattern?: string;\n disableReasonFrequency?: number;\n tokenInvalidFrequency?: number;\n featureLockedFrequency?: number;\n}) {\n const {\n count,\n startGroupId = 82529,\n categories = ['Test Group'],\n childrenCounts = [10],\n uidPrefix = 'group',\n childUidPrefix = 'account',\n childAliasPrefix = '',\n startChildUid = 99,\n childUidIncrement = 30,\n networks = ['facebook', 'instagram'],\n pictureUrlPattern = 'https://picsum.photos/150/150?random={uid}',\n disableReasonFrequency = 999,\n tokenInvalidFrequency = 999,\n featureLockedFrequency = 999,\n } = options;\n\n // Use a cache to avoid regenerating the same data\n const cacheKey = JSON.stringify(options);\n if ((globalThis as any).__navSelectorMockCache?.[cacheKey]) {\n return (globalThis as any).__navSelectorMockCache[cacheKey];\n }\n\n const result = Array.from({ length: count }, (_, groupIndex) => {\n const groupId = startGroupId + groupIndex;\n // Reduce default children count to improve performance\n const childrenCount = Math.min(childrenCounts[groupIndex] || 5, 10);\n const startUid = startChildUid + groupIndex * childUidIncrement;\n const groupCategory = categories[groupIndex] || `Category ${groupIndex + 1}`;\n\n return {\n uid: `${uidPrefix}_${groupId}`,\n alias: groupCategory,\n children: generateLeafElements({\n count: childrenCount,\n uidPrefix: childUidPrefix,\n aliasPrefix: childAliasPrefix || groupCategory,\n startUid: startUid,\n networks,\n pictureUrlPattern,\n disableReasonFrequency,\n tokenInvalidFrequency,\n featureLockedFrequency,\n }),\n folded: true,\n type: 'GROUP' as const,\n };\n });\n\n // Cache the result\n if (!(globalThis as any).__navSelectorMockCache) {\n (globalThis as any).__navSelectorMockCache = {};\n }\n (globalThis as any).__navSelectorMockCache[cacheKey] = result;\n\n return result;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}