@agorapulse/ui-components 20.3.25 → 20.3.26-beta.1
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.
- package/agorapulse-ui-components-20.3.26-beta.1.tgz +0 -0
- package/fesm2022/agorapulse-ui-components-nav-selector-testing.mjs +5 -3
- package/fesm2022/agorapulse-ui-components-nav-selector-testing.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-nav-selector.mjs +274 -216
- package/fesm2022/agorapulse-ui-components-nav-selector.mjs.map +1 -1
- package/nav-selector/testing/index.d.ts +5 -23
- package/package.json +1 -1
- package/agorapulse-ui-components-20.3.25.tgz +0 -0
|
Binary file
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { identity } from 'es-toolkit';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Usage Example:
|
|
3
5
|
*
|
|
@@ -20,7 +22,7 @@
|
|
|
20
22
|
* @param options Configuration options for generating leaf elements
|
|
21
23
|
* @returns Array of leaf elements
|
|
22
24
|
*/
|
|
23
|
-
function generateLeafElements(options) {
|
|
25
|
+
function generateLeafElements(options, customizer = identity) {
|
|
24
26
|
const { count, uidPrefix = 'account', aliasPrefix = 'Account', startUid = 1, networks = ['facebook', 'instagram', 'youtube', 'tiktok', 'linkedin', 'xPlus'], pictureUrlPattern = 'https://picsum.photos/150/150?random={uid}', disableReasonFrequency = 17, tokenInvalidFrequency = 7, featureLockedFrequency = 11, actions = [], details = [], } = options;
|
|
25
27
|
return Array.from({ length: count }, (_, index) => {
|
|
26
28
|
const uid = startUid + index;
|
|
@@ -29,7 +31,7 @@ function generateLeafElements(options) {
|
|
|
29
31
|
const finalUid = `${uidPrefix}_${uid}`;
|
|
30
32
|
const finalAlias = `${aliasPrefix} ${uid}`;
|
|
31
33
|
const finalPictureUrl = pictureUrlPattern.replace('{uid}', uid.toString());
|
|
32
|
-
return {
|
|
34
|
+
return customizer({
|
|
33
35
|
uid: finalUid,
|
|
34
36
|
counter: null,
|
|
35
37
|
alias: finalAlias,
|
|
@@ -44,7 +46,7 @@ function generateLeafElements(options) {
|
|
|
44
46
|
tokenInvalid: index > 0 && index % tokenInvalidFrequency === 0,
|
|
45
47
|
featureLocked: index > 0 && index % featureLockedFrequency === 0,
|
|
46
48
|
type: 'LEAF',
|
|
47
|
-
};
|
|
49
|
+
}, index);
|
|
48
50
|
});
|
|
49
51
|
}
|
|
50
52
|
/**
|
|
@@ -1 +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":["import { NavSelectorLeafAction, NavSelectorLeafDetails } from '@agorapulse/ui-components/nav-selector';\n\n/**\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
|
|
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":["import { AvatarNetwork } from '@agorapulse/ui-components/avatar';\nimport { NavSelectorLeaf, NavSelectorLeafAction, NavSelectorLeafDetails } from '@agorapulse/ui-components/nav-selector';\nimport { identity } from 'es-toolkit';\n\n/**\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(\n options: {\n count: number;\n uidPrefix?: string;\n aliasPrefix?: string;\n startUid?: number;\n networks?: AvatarNetwork[];\n pictureUrlPattern?: string;\n disableReasonFrequency?: number;\n tokenInvalidFrequency?: number;\n featureLockedFrequency?: number;\n actions?: NavSelectorLeafAction[];\n details?: Partial<NavSelectorLeafDetails>[];\n },\n customizer: (leaf: NavSelectorLeaf, index: number) => NavSelectorLeaf = identity\n) {\n const {\n count,\n uidPrefix = 'account',\n aliasPrefix = 'Account',\n startUid = 1,\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 actions = [],\n details = [],\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 customizer(\n {\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: details.map(detail => {\n return { ...detail, uid: 'detail_' + detail.uid + '_' + finalUid } as NavSelectorLeafDetails;\n }),\n tokenInvalid: index > 0 && index % tokenInvalidFrequency === 0,\n featureLocked: index > 0 && index % featureLockedFrequency === 0,\n type: 'LEAF' as const,\n } as NavSelectorLeaf,\n index\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?: AvatarNetwork[];\n pictureUrlPattern?: string;\n disableReasonFrequency?: number;\n tokenInvalidFrequency?: number;\n featureLockedFrequency?: number;\n actions?: NavSelectorLeafAction[];\n details?: Partial<NavSelectorLeafDetails>[];\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 actions = [],\n details = [],\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 actions,\n details,\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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"}
|