@qrvey/widget-configurability 0.0.0-beta.4506 → 0.0.0-beta.4519

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.
@@ -411,6 +411,7 @@ __decorate([
411
411
  'qSubscribeMyself',
412
412
  'qSubscribeSpecificPeople',
413
413
  'qIncludeHyperlinks',
414
+ 'qIncludeHeader',
414
415
  'qExportVersion',
415
416
  'qSavedVersionWarning',
416
417
  'qUnsavedVersionWarning',
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.structure.doc.js","sourceRoot":"","sources":["../../../src/doc/dashboard.structure.doc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard.structure.doc.js","sourceRoot":"","sources":["../../../src/doc/dashboard.structure.doc.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ exports.DOWNLOAD_MODAL_V1_KEYS = [
12
12
  'qSubscribeMyself',
13
13
  'qSubscribeSpecificPeople',
14
14
  'qIncludeHyperlinks',
15
+ 'qIncludeHeader',
15
16
  ];
16
17
  // The Subscribe elements split what qSubscribeOption controlled, so a keep list naming it keeps them too.
17
18
  exports.DOWNLOAD_MODAL_V1_KEEP_INHERITANCE = {
@@ -1 +1 @@
1
- {"version":3,"file":"download-modal.structure.v1.js","sourceRoot":"","sources":["../../../src/structures/download-modal.structure.v1.ts"],"names":[],"mappings":";;;AAEA,gIAAgI;AACnH,QAAA,sBAAsB,GAAG;IAClC,iBAAiB;IACjB,kBAAkB;IAClB,yBAAyB;IACzB,kBAAkB;IAClB,aAAa;IACb,wBAAwB;IACxB,kBAAkB;IAClB,0BAA0B;IAC1B,oBAAoB;CACd,CAAC;AAIX,0GAA0G;AAC7F,QAAA,kCAAkC,GAG3C;IACA,gBAAgB,EAAE,kBAAkB;IACpC,WAAW,EAAE,kBAAkB;IAC/B,sBAAsB,EAAE,kBAAkB;IAC1C,gBAAgB,EAAE,kBAAkB;IACpC,wBAAwB,EAAE,kBAAkB;CAC/C,CAAC;AAEF,mFAAmF;AAC5E,MAAM,mBAAmB,GAAG,CAC/B,OAAO,GAAG,eAAe,EACH,EAAE,CACxB,MAAM,CAAC,WAAW,CACd,MAAM,CAAC,OAAO,CAAC,0CAAkC,CAAC,CAAC,GAAG,CAClD,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,IAAI,GAAG,EAAE,EAAE,GAAG,OAAO,IAAI,KAAK,EAAE,CAAC,CACjE,CACJ,CAAC;AAPO,QAAA,mBAAmB,uBAO1B;AAEO,QAAA,0BAA0B,GAAG;IACtC,eAAe,EAAE,IAAI;CACxB,CAAC;AAEF,MAAM,qBAAqB,GAAiB;IACxC,OAAO,EAAE,KAAK;IACd,eAAe,EAAE,0CAAkC;IACnD,aAAa,kBACT,QAAQ,oBAAO,kCAA0B,KACtC,MAAM,CAAC,WAAW,CAAC,8BAAsB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAC1E;CACJ,CAAC;AAEF,kBAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"download-modal.structure.v1.js","sourceRoot":"","sources":["../../../src/structures/download-modal.structure.v1.ts"],"names":[],"mappings":";;;AAEA,gIAAgI;AACnH,QAAA,sBAAsB,GAAG;IAClC,iBAAiB;IACjB,kBAAkB;IAClB,yBAAyB;IACzB,kBAAkB;IAClB,aAAa;IACb,wBAAwB;IACxB,kBAAkB;IAClB,0BAA0B;IAC1B,oBAAoB;IACpB,gBAAgB;CACV,CAAC;AAIX,0GAA0G;AAC7F,QAAA,kCAAkC,GAG3C;IACA,gBAAgB,EAAE,kBAAkB;IACpC,WAAW,EAAE,kBAAkB;IAC/B,sBAAsB,EAAE,kBAAkB;IAC1C,gBAAgB,EAAE,kBAAkB;IACpC,wBAAwB,EAAE,kBAAkB;CAC/C,CAAC;AAEF,mFAAmF;AAC5E,MAAM,mBAAmB,GAAG,CAC/B,OAAO,GAAG,eAAe,EACH,EAAE,CACxB,MAAM,CAAC,WAAW,CACd,MAAM,CAAC,OAAO,CAAC,0CAAkC,CAAC,CAAC,GAAG,CAClD,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,IAAI,GAAG,EAAE,EAAE,GAAG,OAAO,IAAI,KAAK,EAAE,CAAC,CACjE,CACJ,CAAC;AAPO,QAAA,mBAAmB,uBAO1B;AAEO,QAAA,0BAA0B,GAAG;IACtC,eAAe,EAAE,IAAI;CACxB,CAAC;AAEF,MAAM,qBAAqB,GAAiB;IACxC,OAAO,EAAE,KAAK;IACd,eAAe,EAAE,0CAAkC;IACnD,aAAa,kBACT,QAAQ,oBAAO,kCAA0B,KACtC,MAAM,CAAC,WAAW,CAAC,8BAAsB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAC1E;CACJ,CAAC;AAEF,kBAAe,qBAAqB,CAAC"}
@@ -192,7 +192,8 @@ var DOWNLOAD_MODAL_V1_KEYS = [
192
192
  "qSubscribeOrganization",
193
193
  "qSubscribeMyself",
194
194
  "qSubscribeSpecificPeople",
195
- "qIncludeHyperlinks"
195
+ "qIncludeHyperlinks",
196
+ "qIncludeHeader"
196
197
  ];
197
198
  var DOWNLOAD_MODAL_V1_KEEP_INHERITANCE = {
198
199
  qSubscribeBanner: "qSubscribeOption",
@@ -2247,6 +2248,7 @@ _ts_decorate([
2247
2248
  "qSubscribeMyself",
2248
2249
  "qSubscribeSpecificPeople",
2249
2250
  "qIncludeHyperlinks",
2251
+ "qIncludeHeader",
2250
2252
  "qExportVersion",
2251
2253
  "qSavedVersionWarning",
2252
2254
  "qUnsavedVersionWarning"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/constants/structure.constants.ts","../../src/utils/defaults.helpers.ts","../../src/structures/download-modal.structure.v1.ts","../../src/structures/dashboard.structure.v1.ts","../../src/structures/download-manager.structure.v1.ts","../../src/structures/report.structure.v1.ts","../../src/structures/chart-panel.structure.v1.ts","../../src/structures/chart-gallery.structure.v1.ts","../../src/structures/chart-builder.structure.v1.ts","../../src/constants/configs.ts","../../src/models/conditions.models.ts","../../src/utils/conditions.helpers.ts","../../src/utils/merge.helpers.ts","../../src/utils/structural.helpers.ts","../../src/structural-manager.ts","../../src/utils/scope.helpers.ts","../../src/utils/download-modal.helpers.ts","../../src/doc/swagger.optional.ts"],"names":["STRUCTURE_SECTION_NAME_SEPARATOR","STRUCTURE_VIEW_NAME_SEPARATOR","STRUCTURE_RESERVED_WORDS","Widget","WIDGET_SUBMODULE_NAMES","WIDGET_STRUCTURE_SCOPE_KIND","WIDGET_STRUCTURE_SCOPE_FORMAT","WidgetVersion","FONT_SIZES","applyValidation","currentObj","validatorMap","parentKey","sanitize","validatedObj","Object","keys","forEach","key","fullKey","value","Array","isArray","validateDefaults","obj","isANumber","_value","Number","isNaN","undefined","numberMinMaxValue","maxValue","minValue","fontSizeMinMaxValue","minSize","maxSize","inputSize","parseInt","includes","validFontSizes","filter","size","length","closestSize","smallestDiff","Math","abs","diff","fontColorValue","normalizedColor","toLowerCase","validateBoolean","validateUnsavedChangesBehavior","validateType","validValues","receivedValue","toUpperCase","DX_VALIDATOR_MAP","unsavedChangesBehavior","DOWNLOAD_MODAL_VALIDATOR_MAP","subscribeMyself","DOWNLOAD_MODAL_V1_KEYS","DOWNLOAD_MODAL_V1_KEEP_INHERITANCE","qSubscribeBanner","qOwnerLabel","qSubscribeOrganization","qSubscribeMyself","qSubscribeSpecificPeople","hostKeepInheritance","section","fromEntries","entries","map","alias","DOWNLOAD_MODAL_V1_DEFAULTS","downloadModalV1Config","version","keepInheritance","baseStructure","defaults","DOWNLOAD_MODAL_HOST_KEYS","dashboardV1Config","views","list","design","preview","endUser","navBar","endUserTopBar","assetList","assetListViewMode","asset","optionMenu","card","table","canvas","removeElement","dragElement","resizeElement","controlBarLeft","controlBarRight","header","menuBar","file","qCreateDataset","qMnuDownloadDash","edit","grid","insert","qMnuInsertChart","qMnuInsertFilterCtrl","qMnuInsertShape","qMnuArrange","qMnuAlign","toolBar","qInsertChart","qInsertFilterCtrl","qInsertShape","qDownloadDash","qArrange","qResponsiveView","qAlign","qQvTokenExpiredMessage","qGoToDashBackButton","configPanel","filterPanel","qAddFilter","qEnabDisabAllFilters","qDeleteAllFilters","qFilterSettings","viewOnlyFilterScope","dashFilterScope","tabFilterScope","containerFilterScope","panelFilterScope","downloadModal","duplicateModal","options","qCharts","qFilters","qDashActions","subModules","chartPanel","chartGallery","chartBuilder","downloadManagerV1Config","main","detail","controlBar","filters","qFilterByFileType","qFilterByExecution","qFilterByWidget","qFilterByAsset","qFilterByOrganization","qFilterByOwner","qSearch","qRemoveFilters","qScheduleDetail","qFilesExported","qMoreInfo","bottomBar","moreInfoModal","reportV1Config","tabBar","qDownloadReport","dataPanel","tabDataset","tabParameters","repoFilterScope","optionMenuChildren","qDownloadChart","headerConfig","qFilter","optionDateGrouping","floatingMenuConfig","item","chartPanelV1Config","floatingMenu","menuLayout","body","chartGalleryV1Config","chartTypeFilter","showSummary","inputSearch","switch","title","chartBuilderV1Config","widgetConfigs","DASHBOARD","v1","latest","REPORT","DOWNLOAD_MANAGER","DOWNLOAD_MODAL","CHART_PANEL","CHART_GALLERY","CHART_BUILDER","widgetValidators","allowedOperators","isOperator","getValue","condition","state","field","_evalConditionOperator","operator","OPERATOR_MAP","a","b","startsWith","endsWith","contains","evaluateCondition","conditions","every","c","_evalCondition","evalFn","checkConditions","cond","effect","result","mergeDeep","obj1","obj2","settings","defaultSettings","mergeExistingValues","mergeMissingProperties","isValid","objectCopy","val1","val2","isObject","prototype","hasOwnProperty","call","toString","getWidgetStructure","config","customization","validationMap","calculateViewMap","permissionMap","keepAliases","view","assign","calculateSpecificViewMap","customDefaults","calculateCustomDefaults","prevDefaults","submodules","calculateSubmodules","conditionMaps","calculateConditions","calculatePermissionMap","calculateRootDefaults","calculateDefaults","viewDefinition","viewConditionals","viewKeys","viewPrefix","getViewPrefix","getStructureKey","viewValue","matchWildcard","pattern","regexPattern","RegExp","replace","test","keyIsIncludedInKeep","keep","keyIsIncludedInRemove","remove","canInsertInCustomization","validateKeepOption","includedInRemove","includedInKeep","canInsert","keepValue","keepResult","conditionAffect","evalInsertKey","hasKeepOption","customizationView","custCanInsert","custViewCanInsert","some","x","canInsertKey","checkCondition","addKeyToPermissions","childMap","keyAttr","addDefaultKey","addChildMapKey","getConditionsForKey","pathPrefix","previousKeepOption","currentKeepOption","nodeHasKeepOption","configValue","currentKey","newPrefix","canInsertResult","calculatePermissionMapArray","reduce","mapValue","push","rootConditionals","conditional","customConditionals","viewSubmodules","customRootSubmodules","customSubmodules","mergeObjects","viewDefaults","customRootDefaults","defaultObj","structureDefaults","itemDefaults","baseDefaults","prevObj","newObj","mapObjKeys","mapArrayKeys","nodeKeys","defaultsSimple","option","fullPath","getWidgetConfig","widget","versionSet","widgetConfigurability","Error","buildStructure","structureMap","rootDefaults","WidgetStructureInstance","constructor","viewMap","isVisible","getChildMap","getSubmodule","module","getDefaults","getRootDefaults","scope","prefixKey","present","sectionPath","split","pop","namespace","defaultsNamespace","sectionDefaults","childPrefix","structureVersion","slice","JSON","parse","stringify","kind","format","source","isPlainObject","isWidgetStructureScope","scopeToCustomization","extractCustomization","host","target","hostStructure","submoduleOf","input","root","fromView","structureFrom","String","submodule","error","console","warn","message","structureFromSubmodule","parent","find","resolveDownloadModalConfig","structure","organizationAvailable","visible","elements","banner","owner","organization","myself","specificPeople","schedule","anyElement","subscribe","externalUsers","subscribeMyselfDefault","ApiProperty","nodeRequire","require","bind","metadata","ViewsDto","type","description","example","AssetListDto","MenuBarDto","FilterPanelDto","SubModulesDto","BaseDashboardV1StructureDto"],"mappings":"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","file":"index.mjs","sourcesContent":["export const STRUCTURE_SECTION_NAME_SEPARATOR = '.';\nexport const STRUCTURE_VIEW_NAME_SEPARATOR = '::';\nexport const STRUCTURE_RESERVED_WORDS = ['views', 'defaults', 'subModules'];\n\nexport enum Widget {\n DASHBOARD = 'dashboard',\n REPORT = 'report',\n DOWNLOAD_MANAGER = 'download-manager',\n DOWNLOAD_MODAL = 'download-modal',\n CHART_PANEL = 'chart-panel',\n CHART_GALLERY = 'chart-gallery',\n CHART_BUILDER = 'chart-builder',\n}\n\n// The subModules key a host uses for each widget it embeds.\nexport const WIDGET_SUBMODULE_NAMES: Partial<Record<Widget, string>> = {\n [Widget.DOWNLOAD_MODAL]: 'downloadModal',\n [Widget.CHART_PANEL]: 'chartPanel',\n [Widget.CHART_GALLERY]: 'chartGallery',\n [Widget.CHART_BUILDER]: 'chartBuilder',\n};\n\nexport const WIDGET_STRUCTURE_SCOPE_KIND = 'qrvey.widget-structure-scope';\nexport const WIDGET_STRUCTURE_SCOPE_FORMAT = 1;\n\nexport enum WidgetVersion {\n v1 = '1.0',\n latest = 'latest',\n}\n","import { SanitizeFn, ValidationMap } from '../models/structure.models';\n\nexport type { ValidationMap } from '../models/structure.models';\n\nconst FONT_SIZES: number[] = [\n 8, 9, 10, 11, 12, 14, 15, 16, 18, 24, 30, 36, 48, 60, 72, 96,\n];\n\nfunction applyValidation(\n currentObj: Record<string, unknown>,\n validatorMap: ValidationMap,\n parentKey = '',\n sanitize?: SanitizeFn,\n): Record<string, unknown> {\n const validatedObj: Record<string, unknown> = {};\n\n Object.keys(currentObj).forEach((key) => {\n const fullKey = parentKey ? `${parentKey}.${key}` : key;\n const value = currentObj[key];\n if (\n typeof value === 'object' &&\n !Array.isArray(value) &&\n value !== null\n ) {\n validatedObj[key] = applyValidation(\n value as Record<string, unknown>,\n validatorMap,\n fullKey,\n sanitize,\n );\n } else if (validatorMap[fullKey]) {\n validatedObj[key] = validatorMap[fullKey](value);\n } else {\n validatedObj[key] =\n sanitize && typeof value === 'string' ? sanitize(value) : value;\n }\n });\n\n return validatedObj;\n}\n\nexport function validateDefaults(\n obj: Record<string, unknown>,\n validatorMap: ValidationMap,\n sanitize?: SanitizeFn,\n) {\n return applyValidation(obj, validatorMap, '', sanitize);\n}\n\nconst isANumber = (value: string | number) => {\n const _value = Number(value);\n if (!_value || isNaN(_value)) return undefined;\n return _value;\n};\n\nconst numberMinMaxValue =\n (maxValue: number, minValue?: number) => (value: string) => {\n const _value = isANumber(value);\n if (!_value) return undefined;\n if (minValue && _value < minValue) return minValue;\n if (_value > maxValue) return maxValue;\n return _value;\n };\n\nexport const fontSizeMinMaxValue =\n (minSize: number, maxSize: number) =>\n (value: string): string | undefined => {\n const inputSize = parseInt(value, 10);\n // Check if the inputSize is valid and within range\n if (\n FONT_SIZES.includes(inputSize) &&\n inputSize >= minSize &&\n inputSize <= maxSize\n ) {\n return `${inputSize}px`;\n }\n\n // Filter FONT_SIZES by min and max\n const validFontSizes = FONT_SIZES.filter(\n (size) => size >= minSize && size <= maxSize,\n );\n\n if (validFontSizes.length === 0) {\n return undefined;\n }\n\n // Find the closest font size\n let closestSize = validFontSizes[0];\n let smallestDiff = Math.abs(inputSize - closestSize);\n\n for (const size of validFontSizes) {\n const diff = Math.abs(inputSize - size);\n if (diff < smallestDiff) {\n smallestDiff = diff;\n closestSize = size;\n }\n }\n\n // Return the closest font size as a string with 'px'\n return `${closestSize}px`;\n };\nexport const fontColorValue = (value: string) => {\n const normalizedColor = value.toLowerCase();\n return normalizedColor;\n};\n\nexport const validateBoolean = (value: unknown): boolean | undefined =>\n typeof value === 'boolean' ? value : undefined;\n\nconst validateUnsavedChangesBehavior = (value: unknown): string | undefined => {\n if (typeof value !== 'string') return undefined;\n return ['prompt', 'autoSave', 'discard'].includes(value)\n ? value\n : undefined;\n};\n\nconst validateType = (validValues: string[]) => (value: unknown) => {\n if (typeof value !== 'string') return undefined;\n const receivedValue = value.toUpperCase();\n return validValues.includes(receivedValue) ? receivedValue : undefined;\n};\n\nexport const DX_VALIDATOR_MAP: ValidationMap = {\n 'customStyles.header.height': numberMinMaxValue(300, 10),\n 'customStyles.text.fontSize': fontSizeMinMaxValue(8, 96),\n 'customStyles.text.fontColor': fontColorValue,\n 'customStyles.container.borderWidth': numberMinMaxValue(20, 1),\n 'customStyles.line.lineWidth': numberMinMaxValue(20, 1),\n 'customStyles.rectangle.borderWidth': numberMinMaxValue(20, 1),\n 'customStyles.ellipse.borderWidth': numberMinMaxValue(20, 1),\n 'customStyles.container.borderRadius': numberMinMaxValue(100, 0),\n\n // Filter Controls: MULTISELECT LIST\n 'customStyles.filterList.type': validateType(['LIST', 'DROPDOWN']),\n 'customStyles.filterList.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n\n // Filter Controls: INPUTBOX\n 'customStyles.filterInput.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n\n // Filter Controls: DATE\n 'customStyles.filterDate.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n\n // Unsaved Changes Behavior\n unsavedChangesBehavior: validateUnsavedChangesBehavior,\n\n // Download modal\n 'downloadModal.subscribeMyself': validateBoolean,\n};\n\nexport const DOWNLOAD_MODAL_VALIDATOR_MAP: ValidationMap = {\n subscribeMyself: validateBoolean,\n};\n","import { WidgetConfig } from '../models/structure.models';\n\n// Keys of the export modal (qui-schedule-exporting-modal) at its own root; hosts import them under their downloadModal section.\nexport const DOWNLOAD_MODAL_V1_KEYS = [\n 'qScheduleOption',\n 'qSubscribeOption',\n 'qSubscribeExternalUsers',\n 'qSubscribeBanner',\n 'qOwnerLabel',\n 'qSubscribeOrganization',\n 'qSubscribeMyself',\n 'qSubscribeSpecificPeople',\n 'qIncludeHyperlinks',\n] as const;\n\nexport type DownloadModalKey = (typeof DOWNLOAD_MODAL_V1_KEYS)[number];\n\n// The Subscribe elements split what qSubscribeOption controlled, so a keep list naming it keeps them too.\nexport const DOWNLOAD_MODAL_V1_KEEP_INHERITANCE: Record<\n string,\n DownloadModalKey\n> = {\n qSubscribeBanner: 'qSubscribeOption',\n qOwnerLabel: 'qSubscribeOption',\n qSubscribeOrganization: 'qSubscribeOption',\n qSubscribeMyself: 'qSubscribeOption',\n qSubscribeSpecificPeople: 'qSubscribeOption',\n};\n\n// The same aliases for a host that lists the modal keys under one of its sections.\nexport const hostKeepInheritance = (\n section = 'downloadModal',\n): Record<string, string> =>\n Object.fromEntries(\n Object.entries(DOWNLOAD_MODAL_V1_KEEP_INHERITANCE).map(\n ([key, alias]) => [`${section}.${key}`, `${section}.${alias}`],\n ),\n );\n\nexport const DOWNLOAD_MODAL_V1_DEFAULTS = {\n subscribeMyself: true,\n};\n\nconst downloadModalV1Config: WidgetConfig = {\n version: '1.0',\n keepInheritance: DOWNLOAD_MODAL_V1_KEEP_INHERITANCE,\n baseStructure: {\n defaults: { ...DOWNLOAD_MODAL_V1_DEFAULTS },\n ...Object.fromEntries(DOWNLOAD_MODAL_V1_KEYS.map((key) => [key, true])),\n },\n};\n\nexport default downloadModalV1Config;\n","import { WidgetConfig } from '../models/structure.models';\nimport {\n DOWNLOAD_MODAL_V1_KEYS,\n hostKeepInheritance,\n} from './download-modal.structure.v1';\n\n// The download modal's keys come from its own structure; qExportVersion and the two warnings are DashboardX's slot content.\nconst DOWNLOAD_MODAL_HOST_KEYS = [\n 'qExportVersion',\n 'qSavedVersionWarning',\n 'qUnsavedVersionWarning',\n];\n\nconst dashboardV1Config: WidgetConfig = {\n version: '1.0',\n keepInheritance: hostKeepInheritance('downloadModal'),\n baseStructure: {\n views: {\n list: [\n 'navBar',\n 'assetList',\n 'controlBarLeft',\n 'controlBarRight',\n 'qQvTokenExpiredMessage',\n 'duplicateModal',\n ],\n design: [\n 'navBar',\n 'header',\n 'controlBarRight',\n 'menuBar',\n 'toolBar',\n 'configPanel',\n 'filterPanel',\n 'downloadModal',\n 'canvas',\n 'qQvTokenExpiredMessage',\n 'duplicateModal',\n ],\n preview: [\n 'navBar',\n 'header',\n 'controlBarRight',\n 'filterPanel',\n 'qGoToDashBackButton',\n 'qQvTokenExpiredMessage',\n ],\n endUser: [\n 'navBar',\n 'toolBar',\n 'filterPanel',\n 'downloadModal',\n 'canvas',\n 'qGoToDashBackButton',\n 'qQvTokenExpiredMessage',\n ],\n },\n\n navBar: ['qAppTitle', 'qBackButton'],\n\n endUserTopBar: ['indicator', 'options'],\n\n assetList: {\n defaults: {\n assetListViewMode: 'card',\n },\n asset: {\n optionMenu: [\n 'qEditDash',\n 'qUseDash',\n 'qRenameDash',\n 'qDeleteDash',\n 'qDuplDash',\n 'qDuplDashAndCharts',\n 'qManageSharing',\n ],\n card: [\n 'qFavorite',\n 'qCreatedDate',\n 'qLastModifDate',\n 'qStatus',\n 'qNumberOfCharts',\n 'qSharing',\n 'qSharingIcon',\n 'qOwner',\n 'qDescription',\n ],\n table: [\n 'qFavorite',\n 'qCreatedDate',\n 'qLastModifDate',\n 'qStatus',\n 'qNumberOfCharts',\n 'qSharing',\n 'qSharingIcon',\n 'qOwner',\n 'qDescription',\n ],\n },\n },\n\n canvas: {\n defaults: {\n removeElement: true,\n dragElement: true,\n resizeElement: true,\n },\n },\n\n controlBarLeft: ['qCreateDash'],\n\n controlBarRight: [\n 'qSwitchView',\n 'timezone',\n 'qFilterBy',\n 'qSortBy',\n 'qSearch',\n 'qSelectColumn',\n 'qStatus',\n 'qPreview',\n 'qDiscard',\n 'qPublish',\n 'qUnpublish',\n 'qSwitchMode',\n 'qDesign',\n 'qDownloadList',\n ],\n\n header: ['qDashFavorite', 'qSharingIcon', 'qDashName', 'qDashDesc'],\n\n menuBar: {\n file: [\n 'qMnuCreateDash',\n 'qMnuOpenDash',\n 'qMnuDuplicateDash',\n 'qMnuDuplicateDashAndCharts',\n 'qMnuCanvasSize',\n 'qMnuThemes',\n 'qManageSharing',\n 'qMnuDeleteDash',\n {\n qCreateDataset: [\n 'qCreateCustomDataset',\n 'qViewCustomDataset',\n ],\n qMnuDownloadDash: [\n 'qDashPDF',\n 'qDashCSV',\n 'qDashExcel',\n 'qDashDataset',\n ],\n },\n ],\n edit: [\n 'qUndoRedo',\n 'qCopyElement',\n 'qPasteElement',\n 'qCutElement',\n 'qRemoveElement',\n 'qDuplElement',\n 'qSelectAllElem',\n 'qSelectAllContElem',\n ],\n grid: ['qMnuSnapToGrid', 'qMnuDisplayGrid', 'qMnuSwitchGrid'],\n insert: [\n {\n qMnuInsertChart: [\n 'qMnuExistingChart',\n 'qMnuNewChart',\n 'qMnuNewChartAI',\n ],\n qMnuInsertFilterCtrl: [\n 'qMnuDatePicker',\n 'qMnuInputBox',\n 'qMnuMultiSelectList',\n 'qMnuSingleSelectList',\n ],\n qMnuInsertShape: [\n 'qMnuLine',\n 'qMnuRectangle',\n 'qMnuEllipse',\n ],\n },\n 'qMnuInsertText',\n 'qMnuInsertImage',\n 'qMnuInsertButton',\n 'qMnuInsertContainer',\n 'qMnuInsertHeader',\n 'qMnuInsertTabs',\n ],\n qMnuArrange: [\n 'qMnuBringToFront',\n 'qMnuSendToBack',\n {\n qMnuAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n },\n ],\n },\n toolBar: [\n 'qCanvasSize',\n {\n qInsertChart: ['qExistingChart', 'qNewChart', 'qNewChartAI'],\n qInsertFilterCtrl: [\n 'qDatePicker',\n 'qInputBox',\n 'qMultiSelectList',\n 'qSingleSelectList',\n ],\n qInsertShape: ['qLine', 'qRectangle', 'qEllipse'],\n grid: ['qSnapToGrid', 'qDisplayGrid', 'qSwitchGrid'],\n qDownloadDash: [\n 'qDashPDF',\n 'qDashCSV',\n 'qDashExcel',\n 'qDashDataset',\n ],\n qArrange: ['qBringToFront', 'qSendToBack'],\n qResponsiveView: [\n 'qDesktop',\n 'qTablet',\n 'qMobile',\n 'qBreakpoints',\n ],\n qAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n qCreateDataset: ['qCreateCustomDataset', 'qViewCustomDataset'],\n },\n 'qInsertText',\n 'qInsertImage',\n 'qInsertButton',\n 'qInsertContainer',\n 'qRespGridMargins',\n 'qRespGridColumns',\n 'qThemes',\n 'qUndoRedo',\n\n // only for end user\n 'qDashVersion',\n 'qGetDashVersion',\n 'qSourceDashBanner',\n 'qHiddenItems',\n 'qDiscard',\n 'qSave',\n 'qSwitchMode',\n 'qHideToolBar',\n 'qDownloadList',\n 'qChangeLayout',\n ],\n qQvTokenExpiredMessage: true,\n qGoToDashBackButton: true,\n configPanel: true,\n filterPanel: {\n qAddFilter: true,\n qEnabDisabAllFilters: true,\n qDeleteAllFilters: true,\n qFilterSettings: true,\n viewOnlyFilterScope: true,\n dashFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n tabFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n containerFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n panelFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n },\n downloadModal: [...DOWNLOAD_MODAL_V1_KEYS, ...DOWNLOAD_MODAL_HOST_KEYS],\n duplicateModal: [\n 'qCharts',\n 'qFilters',\n 'qDashActions',\n {\n options: {\n defaults: {\n qCharts: true,\n qFilters: true,\n qDashActions: true,\n },\n },\n },\n ],\n subModules: {\n chartPanel: {},\n chartGallery: {},\n chartBuilder: {},\n },\n },\n};\n\nexport default dashboardV1Config;\n","import { WidgetConfig } from '../models/structure.models';\nimport {\n DOWNLOAD_MODAL_V1_KEYS,\n hostKeepInheritance,\n} from './download-modal.structure.v1';\n\nconst downloadManagerV1Config: WidgetConfig = {\n version: '1.0',\n keepInheritance: hostKeepInheritance('downloadModal'),\n baseStructure: {\n views: {\n main: [\n 'header',\n 'controlBar',\n 'assetList',\n 'moreInfoModal',\n 'downloadModal',\n ],\n detail: [\n 'header',\n 'controlBar',\n 'assetList',\n 'moreInfoModal',\n 'bottomBar',\n 'downloadModal',\n ],\n },\n header: ['qTitle'],\n controlBar: {\n defaults: {\n filters: {},\n },\n qFilterByFileType: [\n 'qTypePDF',\n 'qTypeJPG',\n 'qTypeCSV',\n 'qTypeExcel',\n 'qTypeZIP',\n ],\n qFilterByExecution: ['qExecScheduled', 'qExecOthers'],\n qFilterByWidget: [\n 'qWidgetAnalyze',\n 'qWidgetAutomation',\n 'qWidgetDash',\n 'qWidgetLegacyDash',\n 'qWidgetSubscriptions',\n 'qWidgetPPR',\n ],\n qFilterByAsset: true,\n qFilterByOrganization: true,\n qFilterByOwner: true,\n qSearch: true,\n qRemoveFilters: true,\n qScheduleDetail: true,\n qFilesExported: true,\n qMoreInfo: true,\n },\n\n assetList: {\n asset: [\n {\n optionMenu: [\n 'qDelete',\n 'qMoreInfo',\n 'qDeleteAllFiles',\n 'qEditSched',\n 'qPauseRestartSched',\n 'qUnsubscribe',\n 'qSubscribe',\n ],\n table: [\n 'qType',\n 'qSchedule',\n 'qSize',\n 'qCreationDate',\n 'qExpirationDate',\n 'qDownload',\n 'qOrganization',\n 'qOwner',\n ],\n },\n 'qDrillToDetail',\n 'qUnsubscribe',\n 'qSubscribe',\n ],\n },\n\n bottomBar: [\n 'qDeleteAllFiles',\n 'qEditSched',\n 'qPauseRestartSched',\n 'qDelete',\n ],\n\n // The export modal's own keys, so a scope of this section carries all of them.\n downloadModal: [...DOWNLOAD_MODAL_V1_KEYS],\n\n moreInfoModal: [\n 'qFileType',\n 'qSource',\n 'qOwner',\n 'qApplication',\n 'qPath',\n 'qOrganization',\n 'qErrorMessage',\n ],\n },\n};\n\nexport default downloadManagerV1Config;\n","import { WidgetConfig } from '../models/structure.models';\n\nconst reportV1Config: WidgetConfig = {\n version: '1.0',\n\n baseStructure: {\n views: {\n list: ['navBar', 'assetList', 'controlBarLeft', 'controlBarRight'],\n design: [\n 'navBar',\n 'controlBarRight',\n 'menuBar',\n 'toolBar',\n 'configPanel',\n 'filterPanel',\n 'dataPanel',\n ],\n preview: [\n 'navBar',\n 'tabBar',\n 'toolBar',\n 'pagePreview',\n 'controlBarRight',\n 'downloadModal',\n ],\n },\n navBar: ['qAppTitle', 'qBackButton'],\n tabBar: ['qTabSelector', 'qScrollButton'],\n assetList: {\n defaults: {\n assetListViewMode: 'card',\n },\n asset: {\n optionMenu: [\n 'qEditRep',\n 'qRenameRep',\n 'qDeleteRep',\n 'qDuplRep',\n ],\n },\n },\n\n controlBarLeft: ['qCreateRep'],\n\n controlBarRight: [\n 'qSwitchView',\n 'timezone',\n 'qFilterBy',\n 'qSortBy',\n 'qSearch',\n 'qPreview',\n 'qDesign',\n ],\n\n menuBar: {\n edit: ['qCopyElement', 'qPasteElement'],\n },\n toolBar: [\n 'qPageSetup',\n {\n qInsertShape: ['qLine', 'qRectangle', 'qEllipse'],\n grid: ['qDisplayRuler', 'qDisplayGrid'],\n qArrange: ['qBringToFront', 'qSendToBack'],\n qAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n qDownloadReport: [\n 'qReportPDF',\n 'qReportExcel',\n ],\n },\n 'qUndoRedo',\n 'qInsertDTable',\n 'qInsertSTable',\n 'qInsertImage',\n 'qInsertText',\n 'qInsertPageGroup',\n 'qInsertFormula',\n 'qInsertBucket',\n 'qInsertPageBreak',\n ],\n configPanel: true,\n dataPanel: {\n tabDataset: ['qChangeDataSet', 'qSearch'],\n tabParameters: ['qAddParameter', 'qSearch'],\n },\n filterPanel: {\n qAddFilter: true,\n qEnabDisabAllFilters: true,\n qDeleteAllFilters: true,\n qFilterSettings: true,\n repoFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n tabFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n panelFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n },\n downloadModal: [\n 'qScheduleOption',\n 'qSubscribeOption',\n 'qSubscribeExternalUsers',\n ],\n },\n};\n\nexport default reportV1Config;\n","import { WidgetConfig } from '../models/structure.models';\n\nconst optionMenuChildren = [\n 'qEditChart',\n 'qDuplicateChart',\n {\n qDownloadChart: [\n 'qChartJPG',\n 'qChartPDF',\n 'qChartCSV',\n 'qChartSummary',\n 'qChartExcel',\n ],\n },\n];\n\nconst headerConfig = [\n 'qChartName',\n 'qFitPanel',\n 'qChartSelection',\n 'qColumnSection',\n 'qSorting',\n 'qColumnReplacement',\n 'qColumnAggregation',\n 'qColumnGrouping',\n 'qDateGrouping',\n 'qColumnSelection',\n 'qResetColumnsWidth',\n 'qSmartAnalyzer',\n { optionMenu: optionMenuChildren },\n {\n qFilter: [\n 'qAddFilter',\n { dashFilterScope: ['qEditFilter', 'qDeleteFilter'] },\n { tabFilterScope: ['qEditFilter', 'qDeleteFilter'] },\n { panelFilterScope: ['qEditFilter', 'qDeleteFilter'] },\n ],\n },\n {\n optionDateGrouping: [\n 'qDayOnly',\n 'qMonth',\n 'qMonthOnly',\n 'qQuarter',\n 'qQuarterOnly',\n 'qWeek',\n 'qYear',\n 'qDay',\n 'qHour',\n 'qHourOnly',\n 'qMinute',\n 'qMinuteOnly',\n 'qSecond',\n 'qSecondOnly',\n ],\n },\n];\n\nconst floatingMenuConfig = [\n ...headerConfig.filter(\n (item) => typeof item !== 'object' || !('optionMenu' in item),\n ),\n ...optionMenuChildren,\n];\n\nconst chartPanelV1Config: WidgetConfig = {\n version: '1.0',\n baseStructure: {\n header: headerConfig,\n floatingMenu: floatingMenuConfig,\n menuLayout: { defaults: { menuLayout: undefined } },\n body: ['actions', 'qComparativeAnalysis'],\n },\n};\n\nexport default chartPanelV1Config;\n","import { WidgetConfig } from '../models/structure.models';\n\nconst chartGalleryV1Config: WidgetConfig = {\n version: '1.0',\n baseStructure: {\n chartTypeFilter: true,\n showSummary: true,\n inputSearch: true,\n switch: true,\n subModules: {\n chartPanel: {\n title: false,\n },\n },\n },\n};\nexport default chartGalleryV1Config;\n","import { WidgetConfig } from '../models/structure.models';\n\nconst chartBuilderV1Config: WidgetConfig = {\n version: '1.0',\n baseStructure: {\n chartTypeFilter: true,\n showSummary: true,\n inputSearch: true,\n switch: true,\n subModules: {\n chartPanel: {\n title: false,\n },\n },\n },\n};\nexport default chartBuilderV1Config;\n","import { Widget, WidgetVersion } from './structure.constants';\nimport { WidgetConfigsMap } from './widget.config';\nimport { ValidationMap } from '../models/structure.models';\nimport {\n DOWNLOAD_MODAL_VALIDATOR_MAP,\n DX_VALIDATOR_MAP,\n} from '../utils/defaults.helpers';\nimport dashboardV1Config from '../structures/dashboard.structure.v1';\nimport downloadManagerV1Config from '../structures/download-manager.structure.v1';\nimport reportV1Config from '../structures/report.structure.v1';\nimport downloadModalV1Config from '../structures/download-modal.structure.v1';\nimport chartPanelV1Config from '../structures/chart-panel.structure.v1';\nimport chartGalleryV1Config from '../structures/chart-gallery.structure.v1';\nimport chartBuilderV1Config from '../structures/chart-builder.structure.v1';\n\nexport const widgetConfigs: WidgetConfigsMap = {\n [Widget.DASHBOARD]: {\n [WidgetVersion.v1]: dashboardV1Config,\n [WidgetVersion.latest]: dashboardV1Config,\n },\n [Widget.REPORT]: {\n [WidgetVersion.v1]: reportV1Config,\n [WidgetVersion.latest]: reportV1Config,\n },\n [Widget.DOWNLOAD_MANAGER]: {\n [WidgetVersion.v1]: downloadManagerV1Config,\n [WidgetVersion.latest]: downloadManagerV1Config,\n },\n [Widget.DOWNLOAD_MODAL]: {\n [WidgetVersion.v1]: downloadModalV1Config,\n [WidgetVersion.latest]: downloadModalV1Config,\n },\n [Widget.CHART_PANEL]: {\n [WidgetVersion.v1]: chartPanelV1Config,\n [WidgetVersion.latest]: chartPanelV1Config,\n },\n [Widget.CHART_GALLERY]: {\n [WidgetVersion.v1]: chartGalleryV1Config,\n [WidgetVersion.latest]: chartGalleryV1Config,\n },\n [Widget.CHART_BUILDER]: {\n [WidgetVersion.v1]: chartBuilderV1Config,\n [WidgetVersion.latest]: chartBuilderV1Config,\n },\n};\n\n// Validators applied to customization defaults when the caller passes none; the analytics widgets never validated theirs.\nexport const widgetValidators: Partial<Record<Widget, ValidationMap>> = {\n [Widget.DASHBOARD]: DX_VALIDATOR_MAP,\n [Widget.REPORT]: DX_VALIDATOR_MAP,\n [Widget.DOWNLOAD_MANAGER]: DX_VALIDATOR_MAP,\n [Widget.DOWNLOAD_MODAL]: DOWNLOAD_MODAL_VALIDATOR_MAP,\n};\n","export const allowedOperators = [\n '=',\n '!=',\n '>',\n '>=',\n '<',\n '<=',\n 'startsWith',\n 'endsWith',\n 'contains',\n] as const;\nexport type Operators = (typeof allowedOperators)[number];\n\nexport type ConditionValue = string | number;\n\nexport interface Condition {\n field: string;\n operator: Operators;\n value: ConditionValue;\n}\n\nexport type ConditionState = Record<string, ConditionValue>;\n\nexport type OperatorConditionFn = (\n value: Condition,\n state: Record<string, ConditionValue>,\n) => boolean;\n","import {\n Condition,\n ConditionState,\n ConditionValue,\n OperatorConditionFn,\n Operators,\n allowedOperators,\n} from '../models/conditions.models';\nimport { WidgetItemCondition } from '../models/structure.models';\n\nfunction isOperator(value: string): value is Operators {\n return allowedOperators.includes(value as Operators);\n}\n\nfunction getValue(condition: Condition, state: ConditionState): ConditionValue {\n return state[condition.field];\n}\n\nfunction _evalConditionOperator(\n condition: Condition,\n state: ConditionState,\n operator: (a: ConditionValue, b: ConditionValue) => boolean,\n): boolean {\n const value = getValue(condition, state);\n if (value == null) return false;\n return operator(value, condition.value);\n}\n\nconst OPERATOR_MAP: Record<Operators, OperatorConditionFn> = {\n '=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a == b),\n '!=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a != b),\n '<': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a < b),\n '<=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a <= b),\n '>': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a > b),\n '>=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a >= b),\n\n startsWith: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' &&\n typeof b === 'string' &&\n a.startsWith(b),\n ),\n\n endsWith: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' && typeof b === 'string' && a.endsWith(b),\n ),\n\n contains: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' && typeof b === 'string' && a.includes(b),\n ),\n};\n\nexport function evaluateCondition(\n state: ConditionState | undefined,\n ...conditions: Condition[]\n): boolean {\n if (!state) return false;\n if (conditions.length === 0) return true;\n return conditions.every((c) => _evalCondition(state, c));\n}\n\nfunction _evalCondition(state: ConditionState, condition: Condition): boolean {\n if (!isOperator(condition.operator)) return false;\n const evalFn = OPERATOR_MAP[condition.operator];\n return evalFn(condition, state);\n}\n\nexport function checkConditions(\n state: ConditionState | undefined,\n conditions: WidgetItemCondition[],\n): boolean {\n if (!state) return false;\n for (const cond of conditions) {\n if (cond.effect === 'keep') continue;\n const result = evaluateCondition(state, cond.condition);\n if (result) return false;\n }\n return true;\n}\n","export interface MergeDeepSettings {\n mergeMissingProperties?: boolean;\n mergeExistingValues?: boolean;\n}\n\nexport function mergeDeep(\n obj1: any,\n obj2: any,\n settings?: MergeDeepSettings,\n): any {\n const defaultSettings = {\n mergeExistingValues: settings?.mergeExistingValues ?? true,\n mergeMissingProperties: settings?.mergeMissingProperties ?? true,\n };\n\n if (!isValid(obj1, obj2)) return objectCopy(obj1);\n\n const result: any = Array.isArray(obj1) ? [] : {};\n\n for (const key in obj1) {\n const val1 = obj1[key];\n const val2 = obj2?.[key];\n\n if (isObject(val1) || Array.isArray(val1)) {\n result[key] = mergeDeep(val1, val2, defaultSettings);\n } else if (key in obj2 && defaultSettings.mergeExistingValues) {\n result[key] = val2;\n } else {\n result[key] = val1;\n }\n }\n\n if (defaultSettings.mergeMissingProperties) {\n for (const key in obj2) {\n if (!(key in result)) {\n result[key] = obj2[key];\n }\n }\n }\n\n return result;\n}\n\nfunction isValid(obj1: any, obj2: any): boolean {\n return (\n (isObject(obj1) && isObject(obj2)) ||\n (Array.isArray(obj1) && Array.isArray(obj2))\n );\n}\n\nfunction objectCopy<T = any>(obj: T): T {\n if (obj === null || typeof obj !== 'object') return obj;\n\n if (Array.isArray(obj)) {\n return obj.map((item) => objectCopy(item)) as any;\n }\n\n const result: any = {};\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n result[key] = objectCopy((obj as any)[key]);\n }\n }\n\n return result;\n}\n\nfunction isObject(value: any): boolean {\n return (\n value !== null &&\n typeof value === 'object' &&\n !Array.isArray(value) &&\n Object.prototype.toString.call(value) === '[object Object]'\n );\n}\n","import { ValidationMap, validateDefaults } from './defaults.helpers';\nimport { mergeDeep } from './merge.helpers';\nimport {\n STRUCTURE_RESERVED_WORDS,\n STRUCTURE_SECTION_NAME_SEPARATOR,\n STRUCTURE_VIEW_NAME_SEPARATOR,\n} from '../constants/structure.constants';\nimport { WidgetCustomization } from '../models/customization.models';\nimport {\n SanitizeFn,\n StructureEngineOptions,\n WidgetConditionMap,\n WidgetConfig,\n WidgetItemCondition,\n WidgetStructure,\n WidgetStructureRoot,\n WidgetViewMap,\n} from '../models/structure.models';\n\ntype hasKeepOptType = 'root' | 'view';\n\ninterface CalculateViewOptions {\n viewKeys?: string[];\n pathPrefix?: string;\n viewPrefix?: string;\n hasKeepOption?: hasKeepOptType;\n prevDefaults?: Record<string, unknown>;\n customDefaults?: Record<string, unknown>;\n conditionMaps?: WidgetConditionMap[];\n checkCondition?: boolean;\n keepAliases?: Record<string, string>;\n}\n\ninterface ViewMapOptions extends StructureEngineOptions {\n keepInheritance?: Record<string, string>;\n}\n\ntype ConditionAffectValue = false | 'keep' | 'remove';\n\ninterface InsertionResult {\n canInsert: boolean;\n conditionAffect: ConditionAffectValue;\n}\n\n/**\n * constructs the permission map structure for a widget\n * @param config configuration of a widget\n * @param customization customization options for a widget\n * @param validationMap\n * @returns object representing the view map for the widget\n */\nexport function getWidgetStructure(\n config: WidgetConfig,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n options?: StructureEngineOptions,\n): WidgetViewMap {\n return calculateViewMap(\n config.baseStructure,\n customization,\n validationMap,\n {\n ...options,\n keepInheritance: config.keepInheritance,\n },\n );\n}\n\nexport function calculateViewMap(\n config: WidgetStructureRoot,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n options?: ViewMapOptions,\n): WidgetViewMap {\n const permissionMap: WidgetViewMap = {};\n const keepAliases = options?.keepInheritance;\n if (config.views) {\n for (const view in config.views) {\n Object.assign(\n permissionMap,\n calculateSpecificViewMap(\n view,\n config,\n customization,\n validationMap,\n options,\n ),\n );\n }\n } else {\n const customDefaults = calculateCustomDefaults(\n customization,\n undefined,\n validationMap,\n options?.sanitize,\n );\n const prevDefaults = config.defaults;\n\n const submodules = calculateSubmodules(config, customization);\n if (submodules) {\n permissionMap.subModules = submodules;\n }\n\n const conditionMaps = calculateConditions(\n config,\n customization,\n undefined,\n keepAliases,\n );\n\n Object.assign(\n permissionMap,\n calculatePermissionMap(config, customization, {\n prevDefaults,\n customDefaults,\n conditionMaps,\n keepAliases,\n }),\n );\n }\n return permissionMap;\n}\n\n/**\n * Defaults at the root of a structure without views (structure defaults merged with the customization's).\n */\nexport function calculateRootDefaults(\n config: WidgetStructureRoot,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n sanitize?: SanitizeFn,\n): Record<string, unknown> | undefined {\n return calculateDefaults(\n config.defaults as Record<string, unknown> | undefined,\n undefined,\n calculateCustomDefaults(\n customization,\n undefined,\n validationMap,\n sanitize,\n ),\n );\n}\n\nfunction calculateSpecificViewMap(\n view: string,\n config: WidgetStructureRoot,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n options?: ViewMapOptions,\n) {\n const viewDefinition = config.views![view];\n const keepAliases = options?.keepInheritance;\n const customDefaults = calculateCustomDefaults(\n customization,\n view,\n validationMap,\n options?.sanitize,\n );\n const prevDefaults = config.defaults;\n\n const permissionMap: WidgetViewMap = {};\n\n const submodules = calculateSubmodules(config, customization, view);\n if (submodules) {\n permissionMap[`${view}::subModules`] = submodules;\n }\n\n const conditionMaps =\n options?.viewConditionals === false\n ? undefined\n : calculateConditions(config, customization, view, keepAliases);\n\n Object.assign(\n permissionMap,\n calculatePermissionMap(config, customization, {\n viewKeys: viewDefinition,\n viewPrefix: view,\n prevDefaults,\n customDefaults,\n conditionMaps,\n keepAliases,\n }),\n );\n\n return permissionMap;\n}\n\nfunction getViewPrefix(view?: string) {\n return view ? `${view}${STRUCTURE_VIEW_NAME_SEPARATOR}` : '';\n}\n\nfunction getStructureKey(key: string, viewPrefix?: string): string {\n const viewValue = getViewPrefix(viewPrefix);\n return `${viewValue}${key}`;\n}\n\nconst matchWildcard = (pattern: string, value: string): boolean => {\n const regexPattern = new RegExp(\n '^' + pattern.replace(/\\./g, '\\\\.').replace(/\\*/g, '.*') + '$',\n );\n return regexPattern.test(value);\n};\n\nfunction keyIsIncludedInKeep(\n key: string,\n customization: WidgetCustomization,\n keepAliases?: Record<string, string>,\n): boolean {\n const { keep = [] } = customization;\n const alias = keepAliases?.[key];\n for (const pattern of keep) {\n if (pattern === key || matchWildcard(pattern, key)) {\n return true;\n }\n if (alias && (pattern === alias || matchWildcard(pattern, alias))) {\n return true;\n }\n }\n return false;\n}\n\nfunction keyIsIncludedInRemove(\n key: string,\n customization: WidgetCustomization,\n): boolean {\n const { remove = [] } = customization;\n for (const pattern of remove) {\n if (pattern === key || matchWildcard(pattern, key)) {\n return true;\n }\n }\n return false;\n}\n\nfunction canInsertInCustomization(\n key: string,\n customization: WidgetCustomization,\n validateKeepOption?: boolean,\n keepAliases?: Record<string, string>,\n): InsertionResult {\n const includedInRemove = keyIsIncludedInRemove(key, customization);\n const includedInKeep = keyIsIncludedInKeep(key, customization, keepAliases);\n const canInsert =\n !includedInRemove && (!validateKeepOption || includedInKeep);\n\n const keepValue = includedInKeep ? 'keep' : 'remove';\n const keepResult = validateKeepOption ? keepValue : false;\n const conditionAffect = includedInRemove ? 'remove' : keepResult;\n return { canInsert, conditionAffect };\n}\n\nfunction evalInsertKey(\n key: string,\n {\n viewKeys,\n viewPrefix = '',\n hasKeepOption,\n keepAliases,\n }: CalculateViewOptions,\n customization?: WidgetCustomization,\n): InsertionResult {\n const customizationView = customization?.views?.[viewPrefix];\n\n const custCanInsert: InsertionResult = customization\n ? canInsertInCustomization(\n key,\n customization,\n hasKeepOption === 'root',\n keepAliases,\n )\n : {\n canInsert: true,\n conditionAffect: false,\n };\n const custViewCanInsert: InsertionResult = customizationView\n ? canInsertInCustomization(\n key,\n customizationView,\n hasKeepOption === 'view',\n keepAliases,\n )\n : {\n canInsert: true,\n conditionAffect: false,\n };\n\n // validate remove and keep attributes for views.\n const canInsert =\n (!viewKeys || viewKeys.some((x) => key.startsWith(x))) &&\n custCanInsert.canInsert &&\n custViewCanInsert.canInsert;\n\n const conditionAffect =\n custCanInsert.conditionAffect || custViewCanInsert.conditionAffect;\n\n return { canInsert, conditionAffect };\n}\n\nfunction canInsertKey(\n key: string,\n {\n viewKeys,\n viewPrefix = '',\n hasKeepOption,\n checkCondition = false,\n keepAliases,\n }: CalculateViewOptions,\n customization?: WidgetCustomization,\n): InsertionResult {\n const result = evalInsertKey(\n key,\n { viewKeys, viewPrefix, hasKeepOption, checkCondition, keepAliases },\n customization,\n );\n const canInsert = checkCondition || result.canInsert;\n return { canInsert, conditionAffect: result.conditionAffect };\n}\n\nfunction addKeyToPermissions(\n permissionMap: WidgetViewMap,\n key: string,\n { viewPrefix, checkCondition, conditionMaps }: CalculateViewOptions,\n defaults?: Record<string, unknown>,\n childMap?: WidgetViewMap,\n conditionAffect?: ConditionAffectValue,\n) {\n const keyAttr = getStructureKey(key, viewPrefix);\n\n if (checkCondition && conditionAffect != null) {\n permissionMap[keyAttr] = conditionAffect;\n return;\n }\n\n const addDefaultKey = defaults && Object.keys(defaults).length > 0;\n const addChildMapKey = childMap && Object.keys(childMap).length > 0;\n const conditions = getConditionsForKey(key, conditionMaps);\n\n permissionMap[keyAttr] =\n !addDefaultKey && !addChildMapKey && !conditions\n ? true\n : {\n ...(addDefaultKey && { defaults }),\n ...(addChildMapKey && { childMap }),\n ...(conditions && { conditions }),\n };\n}\n\nfunction calculatePermissionMap(\n config: WidgetStructure | Record<string, WidgetStructure>,\n customization: WidgetCustomization | undefined,\n {\n viewKeys,\n pathPrefix = '',\n viewPrefix = '',\n hasKeepOption: previousKeepOption,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n keepAliases,\n }: CalculateViewOptions,\n) {\n const permissionMap: WidgetViewMap = {};\n const currentKeepOption = nodeHasKeepOption(config, customization, {\n viewPrefix,\n pathPrefix,\n });\n\n for (const key in config) {\n if (STRUCTURE_RESERVED_WORDS.includes(key)) {\n continue;\n }\n const hasKeepOption = previousKeepOption ?? currentKeepOption;\n const configValue = config[key];\n const currentKey = `${pathPrefix}${key}`;\n const newPrefix = `${currentKey}${STRUCTURE_SECTION_NAME_SEPARATOR}`;\n\n const canInsertResult = canInsertKey(\n currentKey,\n {\n viewKeys,\n viewPrefix,\n hasKeepOption,\n checkCondition,\n keepAliases,\n },\n customization,\n );\n if (!canInsertResult.canInsert) {\n continue;\n }\n\n let defaults = prevDefaults;\n let childMap: WidgetViewMap | undefined = undefined;\n if (Array.isArray(configValue)) {\n // if it's an array, every element is a key\n defaults = calculateDefaults(\n prevDefaults,\n {} as Record<string, unknown>,\n customDefaults,\n );\n childMap = calculatePermissionMapArray(configValue, customization, {\n viewKeys,\n viewPrefix,\n pathPrefix: newPrefix,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n keepAliases,\n });\n\n Object.assign(permissionMap, childMap);\n } else if (\n typeof configValue === 'object' &&\n !Array.isArray(configValue)\n ) {\n defaults = calculateDefaults(\n prevDefaults,\n configValue.defaults as Record<string, unknown>,\n customDefaults,\n );\n // if it's an object, a recursive call is made\n childMap = calculatePermissionMap(\n configValue as WidgetStructure,\n customization,\n {\n viewKeys,\n viewPrefix,\n pathPrefix: newPrefix,\n prevDefaults: defaults,\n conditionMaps,\n checkCondition,\n keepAliases,\n },\n );\n Object.assign(permissionMap, childMap);\n } else if (typeof configValue === 'boolean' && !configValue) {\n // if it's a boolean and its false, it should be ignored\n continue;\n } else if (typeof configValue === 'boolean' && configValue) {\n defaults = calculateDefaults(\n prevDefaults,\n {} as Record<string, unknown>,\n customDefaults,\n );\n }\n\n addKeyToPermissions(\n permissionMap,\n currentKey,\n {\n viewPrefix,\n checkCondition,\n conditionMaps,\n },\n defaults,\n childMap,\n canInsertResult.conditionAffect,\n );\n }\n\n return permissionMap;\n}\n\nfunction getConditionsForKey(\n key: string,\n conditionMaps: WidgetConditionMap[] | undefined,\n): WidgetItemCondition[] | undefined {\n if (!conditionMaps || conditionMaps.length === 0) return undefined;\n const result = conditionMaps.reduce((result, x) => {\n const mapValue = x.map[key];\n if (\n typeof mapValue === 'string' &&\n (mapValue === 'keep' || mapValue === 'remove')\n ) {\n result.push({\n effect: mapValue,\n condition: x.condition,\n });\n }\n return result;\n }, [] as WidgetItemCondition[]);\n\n if (result.length === 0) return undefined;\n return result;\n}\n\nfunction calculateConditions(\n config: WidgetStructure,\n customization?: WidgetCustomization,\n view?: string,\n keepAliases?: Record<string, string>,\n): WidgetConditionMap[] | undefined {\n const rootConditionals = customization?.conditional;\n const viewConditionals = view\n ? customization?.views?.[view]?.conditional\n : undefined;\n\n if (!rootConditionals && !viewConditionals) return undefined;\n\n const customConditionals = [\n ...(rootConditionals ?? []),\n ...(viewConditionals ?? []),\n ];\n return (\n customConditionals?.map((c) => ({\n condition: c.condition,\n map: calculatePermissionMap(config, c, {\n checkCondition: true,\n keepAliases,\n }),\n })) ?? undefined\n );\n}\n\nfunction calculateSubmodules(\n config: WidgetStructure,\n customization?: WidgetCustomization,\n view?: string,\n) {\n const viewSubmodules = view\n ? customization?.views?.[view]?.subModules\n : undefined;\n const customRootSubmodules = customization?.subModules;\n const customSubmodules = viewSubmodules\n ? mergeObjects(customRootSubmodules, viewSubmodules)\n : customRootSubmodules;\n return mergeObjects(config.subModules, customSubmodules);\n}\n\nfunction calculateCustomDefaults(\n customization?: WidgetCustomization,\n view?: string,\n validationMap?: ValidationMap,\n sanitize?: SanitizeFn,\n) {\n const viewDefaults = view\n ? customization?.views?.[view]?.defaults\n : undefined;\n const customRootDefaults = customization?.defaults ?? {};\n const defaultObj = viewDefaults\n ? mergeObjects(customRootDefaults, viewDefaults)\n : customRootDefaults;\n if (!defaultObj || (!validationMap && !sanitize)) return defaultObj;\n return validateDefaults(defaultObj, validationMap ?? {}, sanitize);\n}\n\nfunction calculateDefaults(\n structureDefaults: Record<string, unknown> | undefined,\n itemDefaults: Record<string, unknown> | undefined,\n customDefaults: Record<string, unknown> | undefined,\n) {\n const baseDefaults = mergeObjects(structureDefaults, itemDefaults);\n return mergeObjects(baseDefaults, customDefaults);\n}\n\nfunction mergeObjects(\n prevObj: Record<string, unknown> | undefined,\n newObj: Record<string, unknown> | undefined,\n): Record<string, unknown> | undefined {\n // if both of configurations are falsy return undefined;\n if (!newObj && !prevObj) return undefined;\n // if just the prev defaults has value, return it\n if (!newObj) return prevObj;\n // if the newDefaults value is different than an object\n if (typeof newObj !== 'object' || Array.isArray(newObj)) return prevObj;\n return !prevObj ? newObj : mergeDeep(prevObj, newObj);\n}\n\nfunction mapObjKeys(\n configValue: WidgetStructure,\n { pathPrefix }: CalculateViewOptions,\n) {\n return Object.keys(configValue).map((x) =>\n getStructureKey(`${pathPrefix}${x}`),\n );\n}\n\nfunction mapArrayKeys(\n configValue: (string | WidgetStructure)[],\n { viewPrefix, pathPrefix }: CalculateViewOptions,\n) {\n return configValue.reduce((result, value) => {\n if (typeof value === 'string') {\n result.push(getStructureKey(`${pathPrefix}${value}`));\n } else {\n result.push(...mapObjKeys(value, { viewPrefix, pathPrefix }));\n }\n return result;\n }, [] as string[]);\n}\n\nfunction nodeHasKeepOption(\n configValue: WidgetStructure | (string | WidgetStructure)[],\n customization: WidgetCustomization | undefined,\n { viewPrefix, pathPrefix }: CalculateViewOptions,\n): hasKeepOptType | undefined {\n if (!customization) return;\n const nodeKeys = Array.isArray(configValue)\n ? mapArrayKeys(configValue, { viewPrefix, pathPrefix })\n : mapObjKeys(configValue, { viewPrefix, pathPrefix });\n const customizationView = viewPrefix\n ? customization?.views?.[viewPrefix]\n : undefined;\n for (const key of nodeKeys) {\n if (keyIsIncludedInKeep(key, customization)) {\n return 'root';\n } else if (\n customizationView &&\n keyIsIncludedInKeep(key, customizationView)\n ) {\n return 'view';\n }\n }\n return undefined;\n}\n\nfunction calculatePermissionMapArray(\n configValue: (string | WidgetStructure)[],\n customization: WidgetCustomization | undefined,\n {\n viewKeys,\n viewPrefix,\n pathPrefix,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n keepAliases,\n }: CalculateViewOptions,\n): WidgetViewMap {\n const permissionMap: WidgetViewMap = {};\n const hasKeepOption = nodeHasKeepOption(configValue, customization, {\n viewPrefix,\n pathPrefix,\n });\n const defaultsSimple = calculateDefaults(\n prevDefaults,\n undefined,\n customDefaults,\n );\n\n configValue.forEach((option) => {\n const fullPath = `${pathPrefix}${option}`;\n if (typeof option === 'string') {\n const canInsertResult = canInsertKey(\n fullPath,\n {\n viewKeys,\n viewPrefix,\n hasKeepOption,\n checkCondition,\n keepAliases,\n },\n customization,\n );\n if (!canInsertResult.canInsert) {\n return;\n }\n addKeyToPermissions(\n permissionMap,\n fullPath,\n {\n viewKeys,\n viewPrefix,\n checkCondition,\n conditionMaps,\n },\n defaultsSimple,\n undefined,\n canInsertResult.conditionAffect,\n );\n } else {\n Object.assign(\n permissionMap,\n calculatePermissionMap(option, customization, {\n viewKeys,\n pathPrefix,\n viewPrefix,\n hasKeepOption,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n keepAliases,\n }),\n );\n }\n });\n return permissionMap;\n}\n","import { widgetConfigs, widgetValidators } from './constants/configs';\nimport {\n STRUCTURE_SECTION_NAME_SEPARATOR,\n STRUCTURE_VIEW_NAME_SEPARATOR,\n Widget,\n WIDGET_STRUCTURE_SCOPE_FORMAT,\n WIDGET_STRUCTURE_SCOPE_KIND,\n WidgetVersion,\n} from './constants/structure.constants';\nimport { ConditionState } from './models/conditions.models';\nimport { WidgetCustomization } from './models/customization.models';\nimport { ScopeOptions, WidgetStructureScope } from './models/scope.models';\nimport {\n BuildStructureOptions,\n WidgetConfig,\n WidgetItemCondition,\n WidgetViewMap,\n} from './models/structure.models';\nimport { checkConditions } from './utils/conditions.helpers';\nimport {\n calculateRootDefaults,\n calculateViewMap,\n getWidgetStructure,\n} from './utils/structural.helpers';\n\nexport function getWidgetConfig(\n widget: Widget,\n version?: WidgetVersion,\n): WidgetConfig {\n const versionSet = version ?? WidgetVersion.latest;\n const widgetConfigurability = widgetConfigs[widget]?.[versionSet];\n if (!widgetConfigurability) {\n throw new Error(\n `No config found for widget ${widget} and version ${version}`,\n );\n }\n return widgetConfigurability;\n}\n\nexport function buildStructure(\n widget: Widget,\n customization?: WidgetCustomization,\n version?: WidgetVersion,\n options?: BuildStructureOptions,\n) {\n const config = getWidgetConfig(widget, version);\n const validationMap = options?.validationMap ?? widgetValidators[widget];\n const structureMap = getWidgetStructure(\n config,\n customization,\n validationMap,\n options,\n );\n const rootDefaults = config.baseStructure.views\n ? undefined\n : calculateRootDefaults(\n config.baseStructure,\n customization,\n validationMap,\n options?.sanitize,\n );\n return new WidgetStructureInstance(structureMap, rootDefaults);\n}\n\nexport class WidgetStructureInstance {\n constructor(\n private viewMap: WidgetViewMap,\n private rootDefaults?: Record<string, unknown>,\n ) {}\n\n private getValue(key: string) {\n return this.viewMap[key];\n }\n\n isVisible(key: string, state?: ConditionState): boolean {\n const value = this.getValue(key);\n if (!value) return false;\n if (typeof value === 'object' && value.conditions) {\n return checkConditions(\n state,\n value.conditions as WidgetItemCondition[],\n );\n }\n return true;\n }\n\n getChildMap(key: string): WidgetViewMap | undefined {\n const value = this.getValue(key);\n if (\n !value ||\n typeof value === 'boolean' ||\n typeof value === 'string' ||\n !value.childMap\n )\n return undefined;\n return value.childMap as WidgetViewMap;\n }\n\n getSubmodule(\n module: string,\n view?: string,\n ): WidgetCustomization | undefined {\n const key = `${view ? view + '::' : ''}subModules`;\n const value = this.getValue(key);\n return (value as Record<string, WidgetCustomization>)?.[module];\n }\n\n getDefaults(key: string): Record<string, unknown> | undefined {\n const value = this.getValue(key);\n if (\n !value ||\n typeof value === 'boolean' ||\n typeof value === 'string' ||\n !value.defaults\n )\n return undefined;\n return value.defaults as WidgetViewMap;\n }\n\n getRootDefaults(): Record<string, unknown> | undefined {\n return this.rootDefaults;\n }\n\n /**\n * Re-roots a resolved section (`design::downloadModal`) as plain JSON another bundle can rebuild a structure from.\n */\n scope(prefixKey: string, options: ScopeOptions = {}): WidgetStructureScope {\n const { widget, version, state } = options;\n const present = this.isVisible(prefixKey, state);\n const sectionPath =\n prefixKey.split(STRUCTURE_VIEW_NAME_SEPARATOR).pop() ?? prefixKey;\n const namespace =\n options.defaultsNamespace === undefined\n ? sectionPath.split(STRUCTURE_SECTION_NAME_SEPARATOR).pop()\n : options.defaultsNamespace;\n const sectionDefaults = present\n ? this.getDefaults(prefixKey)\n : undefined;\n const defaults = namespace\n ? (sectionDefaults?.[namespace] as\n | Record<string, unknown>\n | undefined)\n : sectionDefaults;\n const childPrefix = `${prefixKey}${STRUCTURE_SECTION_NAME_SEPARATOR}`;\n const map: Record<string, boolean> = {};\n let structureVersion: string | undefined;\n\n if (widget) {\n const config = getWidgetConfig(widget, version);\n structureVersion = config.version;\n Object.keys(calculateViewMap(config.baseStructure))\n .filter((key) => key !== 'subModules')\n .forEach((key) => {\n map[key] =\n present &&\n this.isVisible(`${childPrefix}${key}`, state);\n });\n } else if (present) {\n Object.keys(this.viewMap)\n .filter((key) => key.startsWith(childPrefix))\n .forEach((key) => {\n if (this.isVisible(key, state)) {\n map[key.slice(childPrefix.length)] = true;\n }\n });\n }\n\n return JSON.parse(\n JSON.stringify({\n kind: WIDGET_STRUCTURE_SCOPE_KIND,\n format: WIDGET_STRUCTURE_SCOPE_FORMAT,\n widget,\n structureVersion,\n source: prefixKey,\n present,\n map,\n defaults,\n }),\n );\n }\n}\n","import {\n Widget,\n WIDGET_STRUCTURE_SCOPE_FORMAT,\n WIDGET_STRUCTURE_SCOPE_KIND,\n WIDGET_SUBMODULE_NAMES,\n WidgetVersion,\n} from '../constants/structure.constants';\nimport { WidgetCustomization } from '../models/customization.models';\nimport { WidgetStructureScope } from '../models/scope.models';\nimport { BuildStructureOptions } from '../models/structure.models';\nimport { buildStructure, WidgetStructureInstance } from '../structural-manager';\nimport { mergeDeep } from './merge.helpers';\n\nexport type StructureInput =\n | WidgetStructureScope\n | WidgetCustomization\n | null\n | undefined;\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nexport function isWidgetStructureScope(\n value: unknown,\n): value is WidgetStructureScope {\n return isPlainObject(value) && value.kind === WIDGET_STRUCTURE_SCOPE_KIND;\n}\n\n/**\n * Turns a resolved scope back into a customization of the widget it lists: hidden keys become an explicit remove list.\n */\nexport function scopeToCustomization(\n scope: WidgetStructureScope,\n): WidgetCustomization {\n const remove = scope.present\n ? Object.keys(scope.map ?? {}).filter((key) => scope.map[key] === false)\n : ['*'];\n return {\n ...(remove.length ? { remove } : {}),\n ...(scope.defaults ? { defaults: scope.defaults } : {}),\n };\n}\n\n/**\n * Extracts a section of a host's customization as a customization of the embedded widget, by evaluating it with the host's engine.\n */\nexport function extractCustomization(\n host: Widget,\n customization: WidgetCustomization | undefined,\n prefixKey: string,\n target: Widget,\n options?: BuildStructureOptions,\n): WidgetCustomization {\n const hostStructure = buildStructure(\n host,\n customization,\n undefined,\n options,\n );\n return scopeToCustomization(\n hostStructure.scope(prefixKey, { widget: target }),\n );\n}\n\nfunction submoduleOf(\n input: WidgetCustomization,\n module: string,\n view?: string,\n): WidgetCustomization | undefined {\n const root = input.subModules?.[module];\n const fromView = view\n ? input.views?.[view]?.subModules?.[module]\n : undefined;\n if (!fromView) return root;\n return root ? mergeDeep(root, fromView) : fromView;\n}\n\n/**\n * Builds an embedded widget's structure from what its host passes: a resolved scope, a raw customization of the widget, or a host\n * customization carrying the widget under subModules. Returns undefined for no input or an invalid one, so the receiver keeps its\n * legacy behaviour.\n */\nexport function structureFrom(\n widget: Widget,\n input: unknown,\n view?: string,\n version?: WidgetVersion,\n): WidgetStructureInstance | undefined {\n if (input === undefined || input === null) return undefined;\n try {\n if (!isPlainObject(input)) {\n throw new Error('expected an object');\n }\n if ('kind' in input) {\n if (!isWidgetStructureScope(input)) {\n throw new Error(`unknown kind ${String(input.kind)}`);\n }\n if (input.format !== WIDGET_STRUCTURE_SCOPE_FORMAT) {\n throw new Error(`unknown scope format ${input.format}`);\n }\n if (input.widget && input.widget !== widget) {\n throw new Error(`scope of ${input.widget}, expected ${widget}`);\n }\n return buildStructure(widget, scopeToCustomization(input), version);\n }\n const customization = input as WidgetCustomization;\n const module = WIDGET_SUBMODULE_NAMES[widget];\n const submodule = module\n ? submoduleOf(customization, module, view)\n : undefined;\n return buildStructure(widget, submodule ?? customization, version);\n } catch (error) {\n console.warn(\n `[widget-configurability] ignoring the ${widget} customization: ${(error as Error).message}`,\n );\n return undefined;\n }\n}\n\n/**\n * Builds the structure of a widget a host embeds as a submodule (chartPanel, chartGallery, chartBuilder, downloadModal).\n */\nexport function structureFromSubmodule(\n parent: WidgetStructureInstance,\n module: string,\n view?: string,\n options?: BuildStructureOptions,\n): WidgetStructureInstance {\n const widget = (Object.keys(WIDGET_SUBMODULE_NAMES) as Widget[]).find(\n (key) => WIDGET_SUBMODULE_NAMES[key] === module,\n );\n if (!widget) {\n throw new Error(`No widget registered for the submodule ${module}`);\n }\n return buildStructure(\n widget,\n parent.getSubmodule(module, view),\n undefined,\n options,\n );\n}\n","import { WidgetStructureInstance } from '../structural-manager';\nimport { DownloadModalKey } from '../structures/download-modal.structure.v1';\n\nexport interface DownloadModalResolvedConfig {\n schedule: boolean;\n subscribe: boolean;\n banner: boolean;\n owner: boolean;\n organization: boolean;\n myself: boolean;\n specificPeople: boolean;\n externalUsers: boolean;\n subscribeMyselfDefault: boolean;\n}\n\nexport interface ResolveDownloadModalOptions {\n // False where the host never shows the organization checkbox (embedded), so it counts as hidden for the section rule.\n organizationAvailable?: boolean;\n}\n\n/**\n * The export modal's visibility rules: Schedule hides Subscribe, and Subscribe hides when it has nothing left to show.\n */\nexport function resolveDownloadModalConfig(\n structure: WidgetStructureInstance,\n { organizationAvailable = true }: ResolveDownloadModalOptions = {},\n): DownloadModalResolvedConfig {\n const visible = (key: DownloadModalKey) => structure.isVisible(key);\n const elements = {\n banner: visible('qSubscribeBanner'),\n owner: visible('qOwnerLabel'),\n organization: visible('qSubscribeOrganization'),\n myself: visible('qSubscribeMyself'),\n specificPeople: visible('qSubscribeSpecificPeople'),\n };\n const schedule = visible('qScheduleOption');\n const anyElement =\n elements.banner ||\n elements.owner ||\n (organizationAvailable && elements.organization) ||\n elements.myself ||\n elements.specificPeople;\n return {\n ...elements,\n schedule,\n subscribe: schedule && visible('qSubscribeOption') && anyElement,\n externalUsers: visible('qSubscribeExternalUsers'),\n // A rejected value comes back undefined, which keeps the checkbox checked as it always started.\n subscribeMyselfDefault:\n structure.getRootDefaults()?.subscribeMyself !== false,\n };\n}\n","type DecoratorFactory = (metadata?: any) => PropertyDecorator;\n\nlet ApiProperty: DecoratorFactory;\n\n// module.require keeps bundlers from hoisting the optional swagger peer into a static browser import.\nconst nodeRequire = typeof module !== 'undefined' && typeof module.require === 'function' ? module.require.bind(module) : undefined;\n\ntry {\n ApiProperty = nodeRequire!('@nestjs/swagger').ApiProperty;\n} catch {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ApiProperty = (metadata?: unknown): PropertyDecorator => {\n return (): void => {};\n };\n}\n\nexport { ApiProperty };\n"]}
1
+ {"version":3,"sources":["../../src/constants/structure.constants.ts","../../src/utils/defaults.helpers.ts","../../src/structures/download-modal.structure.v1.ts","../../src/structures/dashboard.structure.v1.ts","../../src/structures/download-manager.structure.v1.ts","../../src/structures/report.structure.v1.ts","../../src/structures/chart-panel.structure.v1.ts","../../src/structures/chart-gallery.structure.v1.ts","../../src/structures/chart-builder.structure.v1.ts","../../src/constants/configs.ts","../../src/models/conditions.models.ts","../../src/utils/conditions.helpers.ts","../../src/utils/merge.helpers.ts","../../src/utils/structural.helpers.ts","../../src/structural-manager.ts","../../src/utils/scope.helpers.ts","../../src/utils/download-modal.helpers.ts","../../src/doc/swagger.optional.ts"],"names":["STRUCTURE_SECTION_NAME_SEPARATOR","STRUCTURE_VIEW_NAME_SEPARATOR","STRUCTURE_RESERVED_WORDS","Widget","WIDGET_SUBMODULE_NAMES","WIDGET_STRUCTURE_SCOPE_KIND","WIDGET_STRUCTURE_SCOPE_FORMAT","WidgetVersion","FONT_SIZES","applyValidation","currentObj","validatorMap","parentKey","sanitize","validatedObj","Object","keys","forEach","key","fullKey","value","Array","isArray","validateDefaults","obj","isANumber","_value","Number","isNaN","undefined","numberMinMaxValue","maxValue","minValue","fontSizeMinMaxValue","minSize","maxSize","inputSize","parseInt","includes","validFontSizes","filter","size","length","closestSize","smallestDiff","Math","abs","diff","fontColorValue","normalizedColor","toLowerCase","validateBoolean","validateUnsavedChangesBehavior","validateType","validValues","receivedValue","toUpperCase","DX_VALIDATOR_MAP","unsavedChangesBehavior","DOWNLOAD_MODAL_VALIDATOR_MAP","subscribeMyself","DOWNLOAD_MODAL_V1_KEYS","DOWNLOAD_MODAL_V1_KEEP_INHERITANCE","qSubscribeBanner","qOwnerLabel","qSubscribeOrganization","qSubscribeMyself","qSubscribeSpecificPeople","hostKeepInheritance","section","fromEntries","entries","map","alias","DOWNLOAD_MODAL_V1_DEFAULTS","downloadModalV1Config","version","keepInheritance","baseStructure","defaults","DOWNLOAD_MODAL_HOST_KEYS","dashboardV1Config","views","list","design","preview","endUser","navBar","endUserTopBar","assetList","assetListViewMode","asset","optionMenu","card","table","canvas","removeElement","dragElement","resizeElement","controlBarLeft","controlBarRight","header","menuBar","file","qCreateDataset","qMnuDownloadDash","edit","grid","insert","qMnuInsertChart","qMnuInsertFilterCtrl","qMnuInsertShape","qMnuArrange","qMnuAlign","toolBar","qInsertChart","qInsertFilterCtrl","qInsertShape","qDownloadDash","qArrange","qResponsiveView","qAlign","qQvTokenExpiredMessage","qGoToDashBackButton","configPanel","filterPanel","qAddFilter","qEnabDisabAllFilters","qDeleteAllFilters","qFilterSettings","viewOnlyFilterScope","dashFilterScope","tabFilterScope","containerFilterScope","panelFilterScope","downloadModal","duplicateModal","options","qCharts","qFilters","qDashActions","subModules","chartPanel","chartGallery","chartBuilder","downloadManagerV1Config","main","detail","controlBar","filters","qFilterByFileType","qFilterByExecution","qFilterByWidget","qFilterByAsset","qFilterByOrganization","qFilterByOwner","qSearch","qRemoveFilters","qScheduleDetail","qFilesExported","qMoreInfo","bottomBar","moreInfoModal","reportV1Config","tabBar","qDownloadReport","dataPanel","tabDataset","tabParameters","repoFilterScope","optionMenuChildren","qDownloadChart","headerConfig","qFilter","optionDateGrouping","floatingMenuConfig","item","chartPanelV1Config","floatingMenu","menuLayout","body","chartGalleryV1Config","chartTypeFilter","showSummary","inputSearch","switch","title","chartBuilderV1Config","widgetConfigs","DASHBOARD","v1","latest","REPORT","DOWNLOAD_MANAGER","DOWNLOAD_MODAL","CHART_PANEL","CHART_GALLERY","CHART_BUILDER","widgetValidators","allowedOperators","isOperator","getValue","condition","state","field","_evalConditionOperator","operator","OPERATOR_MAP","a","b","startsWith","endsWith","contains","evaluateCondition","conditions","every","c","_evalCondition","evalFn","checkConditions","cond","effect","result","mergeDeep","obj1","obj2","settings","defaultSettings","mergeExistingValues","mergeMissingProperties","isValid","objectCopy","val1","val2","isObject","prototype","hasOwnProperty","call","toString","getWidgetStructure","config","customization","validationMap","calculateViewMap","permissionMap","keepAliases","view","assign","calculateSpecificViewMap","customDefaults","calculateCustomDefaults","prevDefaults","submodules","calculateSubmodules","conditionMaps","calculateConditions","calculatePermissionMap","calculateRootDefaults","calculateDefaults","viewDefinition","viewConditionals","viewKeys","viewPrefix","getViewPrefix","getStructureKey","viewValue","matchWildcard","pattern","regexPattern","RegExp","replace","test","keyIsIncludedInKeep","keep","keyIsIncludedInRemove","remove","canInsertInCustomization","validateKeepOption","includedInRemove","includedInKeep","canInsert","keepValue","keepResult","conditionAffect","evalInsertKey","hasKeepOption","customizationView","custCanInsert","custViewCanInsert","some","x","canInsertKey","checkCondition","addKeyToPermissions","childMap","keyAttr","addDefaultKey","addChildMapKey","getConditionsForKey","pathPrefix","previousKeepOption","currentKeepOption","nodeHasKeepOption","configValue","currentKey","newPrefix","canInsertResult","calculatePermissionMapArray","reduce","mapValue","push","rootConditionals","conditional","customConditionals","viewSubmodules","customRootSubmodules","customSubmodules","mergeObjects","viewDefaults","customRootDefaults","defaultObj","structureDefaults","itemDefaults","baseDefaults","prevObj","newObj","mapObjKeys","mapArrayKeys","nodeKeys","defaultsSimple","option","fullPath","getWidgetConfig","widget","versionSet","widgetConfigurability","Error","buildStructure","structureMap","rootDefaults","WidgetStructureInstance","constructor","viewMap","isVisible","getChildMap","getSubmodule","module","getDefaults","getRootDefaults","scope","prefixKey","present","sectionPath","split","pop","namespace","defaultsNamespace","sectionDefaults","childPrefix","structureVersion","slice","JSON","parse","stringify","kind","format","source","isPlainObject","isWidgetStructureScope","scopeToCustomization","extractCustomization","host","target","hostStructure","submoduleOf","input","root","fromView","structureFrom","String","submodule","error","console","warn","message","structureFromSubmodule","parent","find","resolveDownloadModalConfig","structure","organizationAvailable","visible","elements","banner","owner","organization","myself","specificPeople","schedule","anyElement","subscribe","externalUsers","subscribeMyselfDefault","ApiProperty","nodeRequire","require","bind","metadata","ViewsDto","type","description","example","AssetListDto","MenuBarDto","FilterPanelDto","SubModulesDto","BaseDashboardV1StructureDto"],"mappings":"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","file":"index.mjs","sourcesContent":["export const STRUCTURE_SECTION_NAME_SEPARATOR = '.';\nexport const STRUCTURE_VIEW_NAME_SEPARATOR = '::';\nexport const STRUCTURE_RESERVED_WORDS = ['views', 'defaults', 'subModules'];\n\nexport enum Widget {\n DASHBOARD = 'dashboard',\n REPORT = 'report',\n DOWNLOAD_MANAGER = 'download-manager',\n DOWNLOAD_MODAL = 'download-modal',\n CHART_PANEL = 'chart-panel',\n CHART_GALLERY = 'chart-gallery',\n CHART_BUILDER = 'chart-builder',\n}\n\n// The subModules key a host uses for each widget it embeds.\nexport const WIDGET_SUBMODULE_NAMES: Partial<Record<Widget, string>> = {\n [Widget.DOWNLOAD_MODAL]: 'downloadModal',\n [Widget.CHART_PANEL]: 'chartPanel',\n [Widget.CHART_GALLERY]: 'chartGallery',\n [Widget.CHART_BUILDER]: 'chartBuilder',\n};\n\nexport const WIDGET_STRUCTURE_SCOPE_KIND = 'qrvey.widget-structure-scope';\nexport const WIDGET_STRUCTURE_SCOPE_FORMAT = 1;\n\nexport enum WidgetVersion {\n v1 = '1.0',\n latest = 'latest',\n}\n","import { SanitizeFn, ValidationMap } from '../models/structure.models';\n\nexport type { ValidationMap } from '../models/structure.models';\n\nconst FONT_SIZES: number[] = [\n 8, 9, 10, 11, 12, 14, 15, 16, 18, 24, 30, 36, 48, 60, 72, 96,\n];\n\nfunction applyValidation(\n currentObj: Record<string, unknown>,\n validatorMap: ValidationMap,\n parentKey = '',\n sanitize?: SanitizeFn,\n): Record<string, unknown> {\n const validatedObj: Record<string, unknown> = {};\n\n Object.keys(currentObj).forEach((key) => {\n const fullKey = parentKey ? `${parentKey}.${key}` : key;\n const value = currentObj[key];\n if (\n typeof value === 'object' &&\n !Array.isArray(value) &&\n value !== null\n ) {\n validatedObj[key] = applyValidation(\n value as Record<string, unknown>,\n validatorMap,\n fullKey,\n sanitize,\n );\n } else if (validatorMap[fullKey]) {\n validatedObj[key] = validatorMap[fullKey](value);\n } else {\n validatedObj[key] =\n sanitize && typeof value === 'string' ? sanitize(value) : value;\n }\n });\n\n return validatedObj;\n}\n\nexport function validateDefaults(\n obj: Record<string, unknown>,\n validatorMap: ValidationMap,\n sanitize?: SanitizeFn,\n) {\n return applyValidation(obj, validatorMap, '', sanitize);\n}\n\nconst isANumber = (value: string | number) => {\n const _value = Number(value);\n if (!_value || isNaN(_value)) return undefined;\n return _value;\n};\n\nconst numberMinMaxValue =\n (maxValue: number, minValue?: number) => (value: string) => {\n const _value = isANumber(value);\n if (!_value) return undefined;\n if (minValue && _value < minValue) return minValue;\n if (_value > maxValue) return maxValue;\n return _value;\n };\n\nexport const fontSizeMinMaxValue =\n (minSize: number, maxSize: number) =>\n (value: string): string | undefined => {\n const inputSize = parseInt(value, 10);\n // Check if the inputSize is valid and within range\n if (\n FONT_SIZES.includes(inputSize) &&\n inputSize >= minSize &&\n inputSize <= maxSize\n ) {\n return `${inputSize}px`;\n }\n\n // Filter FONT_SIZES by min and max\n const validFontSizes = FONT_SIZES.filter(\n (size) => size >= minSize && size <= maxSize,\n );\n\n if (validFontSizes.length === 0) {\n return undefined;\n }\n\n // Find the closest font size\n let closestSize = validFontSizes[0];\n let smallestDiff = Math.abs(inputSize - closestSize);\n\n for (const size of validFontSizes) {\n const diff = Math.abs(inputSize - size);\n if (diff < smallestDiff) {\n smallestDiff = diff;\n closestSize = size;\n }\n }\n\n // Return the closest font size as a string with 'px'\n return `${closestSize}px`;\n };\nexport const fontColorValue = (value: string) => {\n const normalizedColor = value.toLowerCase();\n return normalizedColor;\n};\n\nexport const validateBoolean = (value: unknown): boolean | undefined =>\n typeof value === 'boolean' ? value : undefined;\n\nconst validateUnsavedChangesBehavior = (value: unknown): string | undefined => {\n if (typeof value !== 'string') return undefined;\n return ['prompt', 'autoSave', 'discard'].includes(value)\n ? value\n : undefined;\n};\n\nconst validateType = (validValues: string[]) => (value: unknown) => {\n if (typeof value !== 'string') return undefined;\n const receivedValue = value.toUpperCase();\n return validValues.includes(receivedValue) ? receivedValue : undefined;\n};\n\nexport const DX_VALIDATOR_MAP: ValidationMap = {\n 'customStyles.header.height': numberMinMaxValue(300, 10),\n 'customStyles.text.fontSize': fontSizeMinMaxValue(8, 96),\n 'customStyles.text.fontColor': fontColorValue,\n 'customStyles.container.borderWidth': numberMinMaxValue(20, 1),\n 'customStyles.line.lineWidth': numberMinMaxValue(20, 1),\n 'customStyles.rectangle.borderWidth': numberMinMaxValue(20, 1),\n 'customStyles.ellipse.borderWidth': numberMinMaxValue(20, 1),\n 'customStyles.container.borderRadius': numberMinMaxValue(100, 0),\n\n // Filter Controls: MULTISELECT LIST\n 'customStyles.filterList.type': validateType(['LIST', 'DROPDOWN']),\n 'customStyles.filterList.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n\n // Filter Controls: INPUTBOX\n 'customStyles.filterInput.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n\n // Filter Controls: DATE\n 'customStyles.filterDate.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n\n // Unsaved Changes Behavior\n unsavedChangesBehavior: validateUnsavedChangesBehavior,\n\n // Download modal\n 'downloadModal.subscribeMyself': validateBoolean,\n};\n\nexport const DOWNLOAD_MODAL_VALIDATOR_MAP: ValidationMap = {\n subscribeMyself: validateBoolean,\n};\n","import { WidgetConfig } from '../models/structure.models';\n\n// Keys of the export modal (qui-schedule-exporting-modal) at its own root; hosts import them under their downloadModal section.\nexport const DOWNLOAD_MODAL_V1_KEYS = [\n 'qScheduleOption',\n 'qSubscribeOption',\n 'qSubscribeExternalUsers',\n 'qSubscribeBanner',\n 'qOwnerLabel',\n 'qSubscribeOrganization',\n 'qSubscribeMyself',\n 'qSubscribeSpecificPeople',\n 'qIncludeHyperlinks',\n 'qIncludeHeader',\n] as const;\n\nexport type DownloadModalKey = (typeof DOWNLOAD_MODAL_V1_KEYS)[number];\n\n// The Subscribe elements split what qSubscribeOption controlled, so a keep list naming it keeps them too.\nexport const DOWNLOAD_MODAL_V1_KEEP_INHERITANCE: Record<\n string,\n DownloadModalKey\n> = {\n qSubscribeBanner: 'qSubscribeOption',\n qOwnerLabel: 'qSubscribeOption',\n qSubscribeOrganization: 'qSubscribeOption',\n qSubscribeMyself: 'qSubscribeOption',\n qSubscribeSpecificPeople: 'qSubscribeOption',\n};\n\n// The same aliases for a host that lists the modal keys under one of its sections.\nexport const hostKeepInheritance = (\n section = 'downloadModal',\n): Record<string, string> =>\n Object.fromEntries(\n Object.entries(DOWNLOAD_MODAL_V1_KEEP_INHERITANCE).map(\n ([key, alias]) => [`${section}.${key}`, `${section}.${alias}`],\n ),\n );\n\nexport const DOWNLOAD_MODAL_V1_DEFAULTS = {\n subscribeMyself: true,\n};\n\nconst downloadModalV1Config: WidgetConfig = {\n version: '1.0',\n keepInheritance: DOWNLOAD_MODAL_V1_KEEP_INHERITANCE,\n baseStructure: {\n defaults: { ...DOWNLOAD_MODAL_V1_DEFAULTS },\n ...Object.fromEntries(DOWNLOAD_MODAL_V1_KEYS.map((key) => [key, true])),\n },\n};\n\nexport default downloadModalV1Config;\n","import { WidgetConfig } from '../models/structure.models';\nimport {\n DOWNLOAD_MODAL_V1_KEYS,\n hostKeepInheritance,\n} from './download-modal.structure.v1';\n\n// The download modal's keys come from its own structure; qExportVersion and the two warnings are DashboardX's slot content.\nconst DOWNLOAD_MODAL_HOST_KEYS = [\n 'qExportVersion',\n 'qSavedVersionWarning',\n 'qUnsavedVersionWarning',\n];\n\nconst dashboardV1Config: WidgetConfig = {\n version: '1.0',\n keepInheritance: hostKeepInheritance('downloadModal'),\n baseStructure: {\n views: {\n list: [\n 'navBar',\n 'assetList',\n 'controlBarLeft',\n 'controlBarRight',\n 'qQvTokenExpiredMessage',\n 'duplicateModal',\n ],\n design: [\n 'navBar',\n 'header',\n 'controlBarRight',\n 'menuBar',\n 'toolBar',\n 'configPanel',\n 'filterPanel',\n 'downloadModal',\n 'canvas',\n 'qQvTokenExpiredMessage',\n 'duplicateModal',\n ],\n preview: [\n 'navBar',\n 'header',\n 'controlBarRight',\n 'filterPanel',\n 'qGoToDashBackButton',\n 'qQvTokenExpiredMessage',\n ],\n endUser: [\n 'navBar',\n 'toolBar',\n 'filterPanel',\n 'downloadModal',\n 'canvas',\n 'qGoToDashBackButton',\n 'qQvTokenExpiredMessage',\n ],\n },\n\n navBar: ['qAppTitle', 'qBackButton'],\n\n endUserTopBar: ['indicator', 'options'],\n\n assetList: {\n defaults: {\n assetListViewMode: 'card',\n },\n asset: {\n optionMenu: [\n 'qEditDash',\n 'qUseDash',\n 'qRenameDash',\n 'qDeleteDash',\n 'qDuplDash',\n 'qDuplDashAndCharts',\n 'qManageSharing',\n ],\n card: [\n 'qFavorite',\n 'qCreatedDate',\n 'qLastModifDate',\n 'qStatus',\n 'qNumberOfCharts',\n 'qSharing',\n 'qSharingIcon',\n 'qOwner',\n 'qDescription',\n ],\n table: [\n 'qFavorite',\n 'qCreatedDate',\n 'qLastModifDate',\n 'qStatus',\n 'qNumberOfCharts',\n 'qSharing',\n 'qSharingIcon',\n 'qOwner',\n 'qDescription',\n ],\n },\n },\n\n canvas: {\n defaults: {\n removeElement: true,\n dragElement: true,\n resizeElement: true,\n },\n },\n\n controlBarLeft: ['qCreateDash'],\n\n controlBarRight: [\n 'qSwitchView',\n 'timezone',\n 'qFilterBy',\n 'qSortBy',\n 'qSearch',\n 'qSelectColumn',\n 'qStatus',\n 'qPreview',\n 'qDiscard',\n 'qPublish',\n 'qUnpublish',\n 'qSwitchMode',\n 'qDesign',\n 'qDownloadList',\n ],\n\n header: ['qDashFavorite', 'qSharingIcon', 'qDashName', 'qDashDesc'],\n\n menuBar: {\n file: [\n 'qMnuCreateDash',\n 'qMnuOpenDash',\n 'qMnuDuplicateDash',\n 'qMnuDuplicateDashAndCharts',\n 'qMnuCanvasSize',\n 'qMnuThemes',\n 'qManageSharing',\n 'qMnuDeleteDash',\n {\n qCreateDataset: [\n 'qCreateCustomDataset',\n 'qViewCustomDataset',\n ],\n qMnuDownloadDash: [\n 'qDashPDF',\n 'qDashCSV',\n 'qDashExcel',\n 'qDashDataset',\n ],\n },\n ],\n edit: [\n 'qUndoRedo',\n 'qCopyElement',\n 'qPasteElement',\n 'qCutElement',\n 'qRemoveElement',\n 'qDuplElement',\n 'qSelectAllElem',\n 'qSelectAllContElem',\n ],\n grid: ['qMnuSnapToGrid', 'qMnuDisplayGrid', 'qMnuSwitchGrid'],\n insert: [\n {\n qMnuInsertChart: [\n 'qMnuExistingChart',\n 'qMnuNewChart',\n 'qMnuNewChartAI',\n ],\n qMnuInsertFilterCtrl: [\n 'qMnuDatePicker',\n 'qMnuInputBox',\n 'qMnuMultiSelectList',\n 'qMnuSingleSelectList',\n ],\n qMnuInsertShape: [\n 'qMnuLine',\n 'qMnuRectangle',\n 'qMnuEllipse',\n ],\n },\n 'qMnuInsertText',\n 'qMnuInsertImage',\n 'qMnuInsertButton',\n 'qMnuInsertContainer',\n 'qMnuInsertHeader',\n 'qMnuInsertTabs',\n ],\n qMnuArrange: [\n 'qMnuBringToFront',\n 'qMnuSendToBack',\n {\n qMnuAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n },\n ],\n },\n toolBar: [\n 'qCanvasSize',\n {\n qInsertChart: ['qExistingChart', 'qNewChart', 'qNewChartAI'],\n qInsertFilterCtrl: [\n 'qDatePicker',\n 'qInputBox',\n 'qMultiSelectList',\n 'qSingleSelectList',\n ],\n qInsertShape: ['qLine', 'qRectangle', 'qEllipse'],\n grid: ['qSnapToGrid', 'qDisplayGrid', 'qSwitchGrid'],\n qDownloadDash: [\n 'qDashPDF',\n 'qDashCSV',\n 'qDashExcel',\n 'qDashDataset',\n ],\n qArrange: ['qBringToFront', 'qSendToBack'],\n qResponsiveView: [\n 'qDesktop',\n 'qTablet',\n 'qMobile',\n 'qBreakpoints',\n ],\n qAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n qCreateDataset: ['qCreateCustomDataset', 'qViewCustomDataset'],\n },\n 'qInsertText',\n 'qInsertImage',\n 'qInsertButton',\n 'qInsertContainer',\n 'qRespGridMargins',\n 'qRespGridColumns',\n 'qThemes',\n 'qUndoRedo',\n\n // only for end user\n 'qDashVersion',\n 'qGetDashVersion',\n 'qSourceDashBanner',\n 'qHiddenItems',\n 'qDiscard',\n 'qSave',\n 'qSwitchMode',\n 'qHideToolBar',\n 'qDownloadList',\n 'qChangeLayout',\n ],\n qQvTokenExpiredMessage: true,\n qGoToDashBackButton: true,\n configPanel: true,\n filterPanel: {\n qAddFilter: true,\n qEnabDisabAllFilters: true,\n qDeleteAllFilters: true,\n qFilterSettings: true,\n viewOnlyFilterScope: true,\n dashFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n tabFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n containerFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n panelFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n },\n downloadModal: [...DOWNLOAD_MODAL_V1_KEYS, ...DOWNLOAD_MODAL_HOST_KEYS],\n duplicateModal: [\n 'qCharts',\n 'qFilters',\n 'qDashActions',\n {\n options: {\n defaults: {\n qCharts: true,\n qFilters: true,\n qDashActions: true,\n },\n },\n },\n ],\n subModules: {\n chartPanel: {},\n chartGallery: {},\n chartBuilder: {},\n },\n },\n};\n\nexport default dashboardV1Config;\n","import { WidgetConfig } from '../models/structure.models';\nimport {\n DOWNLOAD_MODAL_V1_KEYS,\n hostKeepInheritance,\n} from './download-modal.structure.v1';\n\nconst downloadManagerV1Config: WidgetConfig = {\n version: '1.0',\n keepInheritance: hostKeepInheritance('downloadModal'),\n baseStructure: {\n views: {\n main: [\n 'header',\n 'controlBar',\n 'assetList',\n 'moreInfoModal',\n 'downloadModal',\n ],\n detail: [\n 'header',\n 'controlBar',\n 'assetList',\n 'moreInfoModal',\n 'bottomBar',\n 'downloadModal',\n ],\n },\n header: ['qTitle'],\n controlBar: {\n defaults: {\n filters: {},\n },\n qFilterByFileType: [\n 'qTypePDF',\n 'qTypeJPG',\n 'qTypeCSV',\n 'qTypeExcel',\n 'qTypeZIP',\n ],\n qFilterByExecution: ['qExecScheduled', 'qExecOthers'],\n qFilterByWidget: [\n 'qWidgetAnalyze',\n 'qWidgetAutomation',\n 'qWidgetDash',\n 'qWidgetLegacyDash',\n 'qWidgetSubscriptions',\n 'qWidgetPPR',\n ],\n qFilterByAsset: true,\n qFilterByOrganization: true,\n qFilterByOwner: true,\n qSearch: true,\n qRemoveFilters: true,\n qScheduleDetail: true,\n qFilesExported: true,\n qMoreInfo: true,\n },\n\n assetList: {\n asset: [\n {\n optionMenu: [\n 'qDelete',\n 'qMoreInfo',\n 'qDeleteAllFiles',\n 'qEditSched',\n 'qPauseRestartSched',\n 'qUnsubscribe',\n 'qSubscribe',\n ],\n table: [\n 'qType',\n 'qSchedule',\n 'qSize',\n 'qCreationDate',\n 'qExpirationDate',\n 'qDownload',\n 'qOrganization',\n 'qOwner',\n ],\n },\n 'qDrillToDetail',\n 'qUnsubscribe',\n 'qSubscribe',\n ],\n },\n\n bottomBar: [\n 'qDeleteAllFiles',\n 'qEditSched',\n 'qPauseRestartSched',\n 'qDelete',\n ],\n\n // The export modal's own keys, so a scope of this section carries all of them.\n downloadModal: [...DOWNLOAD_MODAL_V1_KEYS],\n\n moreInfoModal: [\n 'qFileType',\n 'qSource',\n 'qOwner',\n 'qApplication',\n 'qPath',\n 'qOrganization',\n 'qErrorMessage',\n ],\n },\n};\n\nexport default downloadManagerV1Config;\n","import { WidgetConfig } from '../models/structure.models';\n\nconst reportV1Config: WidgetConfig = {\n version: '1.0',\n\n baseStructure: {\n views: {\n list: ['navBar', 'assetList', 'controlBarLeft', 'controlBarRight'],\n design: [\n 'navBar',\n 'controlBarRight',\n 'menuBar',\n 'toolBar',\n 'configPanel',\n 'filterPanel',\n 'dataPanel',\n ],\n preview: [\n 'navBar',\n 'tabBar',\n 'toolBar',\n 'pagePreview',\n 'controlBarRight',\n 'downloadModal',\n ],\n },\n navBar: ['qAppTitle', 'qBackButton'],\n tabBar: ['qTabSelector', 'qScrollButton'],\n assetList: {\n defaults: {\n assetListViewMode: 'card',\n },\n asset: {\n optionMenu: [\n 'qEditRep',\n 'qRenameRep',\n 'qDeleteRep',\n 'qDuplRep',\n ],\n },\n },\n\n controlBarLeft: ['qCreateRep'],\n\n controlBarRight: [\n 'qSwitchView',\n 'timezone',\n 'qFilterBy',\n 'qSortBy',\n 'qSearch',\n 'qPreview',\n 'qDesign',\n ],\n\n menuBar: {\n edit: ['qCopyElement', 'qPasteElement'],\n },\n toolBar: [\n 'qPageSetup',\n {\n qInsertShape: ['qLine', 'qRectangle', 'qEllipse'],\n grid: ['qDisplayRuler', 'qDisplayGrid'],\n qArrange: ['qBringToFront', 'qSendToBack'],\n qAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n qDownloadReport: [\n 'qReportPDF',\n 'qReportExcel',\n ],\n },\n 'qUndoRedo',\n 'qInsertDTable',\n 'qInsertSTable',\n 'qInsertImage',\n 'qInsertText',\n 'qInsertPageGroup',\n 'qInsertFormula',\n 'qInsertBucket',\n 'qInsertPageBreak',\n ],\n configPanel: true,\n dataPanel: {\n tabDataset: ['qChangeDataSet', 'qSearch'],\n tabParameters: ['qAddParameter', 'qSearch'],\n },\n filterPanel: {\n qAddFilter: true,\n qEnabDisabAllFilters: true,\n qDeleteAllFilters: true,\n qFilterSettings: true,\n repoFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n tabFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n panelFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n },\n downloadModal: [\n 'qScheduleOption',\n 'qSubscribeOption',\n 'qSubscribeExternalUsers',\n ],\n },\n};\n\nexport default reportV1Config;\n","import { WidgetConfig } from '../models/structure.models';\n\nconst optionMenuChildren = [\n 'qEditChart',\n 'qDuplicateChart',\n {\n qDownloadChart: [\n 'qChartJPG',\n 'qChartPDF',\n 'qChartCSV',\n 'qChartSummary',\n 'qChartExcel',\n ],\n },\n];\n\nconst headerConfig = [\n 'qChartName',\n 'qFitPanel',\n 'qChartSelection',\n 'qColumnSection',\n 'qSorting',\n 'qColumnReplacement',\n 'qColumnAggregation',\n 'qColumnGrouping',\n 'qDateGrouping',\n 'qColumnSelection',\n 'qResetColumnsWidth',\n 'qSmartAnalyzer',\n { optionMenu: optionMenuChildren },\n {\n qFilter: [\n 'qAddFilter',\n { dashFilterScope: ['qEditFilter', 'qDeleteFilter'] },\n { tabFilterScope: ['qEditFilter', 'qDeleteFilter'] },\n { panelFilterScope: ['qEditFilter', 'qDeleteFilter'] },\n ],\n },\n {\n optionDateGrouping: [\n 'qDayOnly',\n 'qMonth',\n 'qMonthOnly',\n 'qQuarter',\n 'qQuarterOnly',\n 'qWeek',\n 'qYear',\n 'qDay',\n 'qHour',\n 'qHourOnly',\n 'qMinute',\n 'qMinuteOnly',\n 'qSecond',\n 'qSecondOnly',\n ],\n },\n];\n\nconst floatingMenuConfig = [\n ...headerConfig.filter(\n (item) => typeof item !== 'object' || !('optionMenu' in item),\n ),\n ...optionMenuChildren,\n];\n\nconst chartPanelV1Config: WidgetConfig = {\n version: '1.0',\n baseStructure: {\n header: headerConfig,\n floatingMenu: floatingMenuConfig,\n menuLayout: { defaults: { menuLayout: undefined } },\n body: ['actions', 'qComparativeAnalysis'],\n },\n};\n\nexport default chartPanelV1Config;\n","import { WidgetConfig } from '../models/structure.models';\n\nconst chartGalleryV1Config: WidgetConfig = {\n version: '1.0',\n baseStructure: {\n chartTypeFilter: true,\n showSummary: true,\n inputSearch: true,\n switch: true,\n subModules: {\n chartPanel: {\n title: false,\n },\n },\n },\n};\nexport default chartGalleryV1Config;\n","import { WidgetConfig } from '../models/structure.models';\n\nconst chartBuilderV1Config: WidgetConfig = {\n version: '1.0',\n baseStructure: {\n chartTypeFilter: true,\n showSummary: true,\n inputSearch: true,\n switch: true,\n subModules: {\n chartPanel: {\n title: false,\n },\n },\n },\n};\nexport default chartBuilderV1Config;\n","import { Widget, WidgetVersion } from './structure.constants';\nimport { WidgetConfigsMap } from './widget.config';\nimport { ValidationMap } from '../models/structure.models';\nimport {\n DOWNLOAD_MODAL_VALIDATOR_MAP,\n DX_VALIDATOR_MAP,\n} from '../utils/defaults.helpers';\nimport dashboardV1Config from '../structures/dashboard.structure.v1';\nimport downloadManagerV1Config from '../structures/download-manager.structure.v1';\nimport reportV1Config from '../structures/report.structure.v1';\nimport downloadModalV1Config from '../structures/download-modal.structure.v1';\nimport chartPanelV1Config from '../structures/chart-panel.structure.v1';\nimport chartGalleryV1Config from '../structures/chart-gallery.structure.v1';\nimport chartBuilderV1Config from '../structures/chart-builder.structure.v1';\n\nexport const widgetConfigs: WidgetConfigsMap = {\n [Widget.DASHBOARD]: {\n [WidgetVersion.v1]: dashboardV1Config,\n [WidgetVersion.latest]: dashboardV1Config,\n },\n [Widget.REPORT]: {\n [WidgetVersion.v1]: reportV1Config,\n [WidgetVersion.latest]: reportV1Config,\n },\n [Widget.DOWNLOAD_MANAGER]: {\n [WidgetVersion.v1]: downloadManagerV1Config,\n [WidgetVersion.latest]: downloadManagerV1Config,\n },\n [Widget.DOWNLOAD_MODAL]: {\n [WidgetVersion.v1]: downloadModalV1Config,\n [WidgetVersion.latest]: downloadModalV1Config,\n },\n [Widget.CHART_PANEL]: {\n [WidgetVersion.v1]: chartPanelV1Config,\n [WidgetVersion.latest]: chartPanelV1Config,\n },\n [Widget.CHART_GALLERY]: {\n [WidgetVersion.v1]: chartGalleryV1Config,\n [WidgetVersion.latest]: chartGalleryV1Config,\n },\n [Widget.CHART_BUILDER]: {\n [WidgetVersion.v1]: chartBuilderV1Config,\n [WidgetVersion.latest]: chartBuilderV1Config,\n },\n};\n\n// Validators applied to customization defaults when the caller passes none; the analytics widgets never validated theirs.\nexport const widgetValidators: Partial<Record<Widget, ValidationMap>> = {\n [Widget.DASHBOARD]: DX_VALIDATOR_MAP,\n [Widget.REPORT]: DX_VALIDATOR_MAP,\n [Widget.DOWNLOAD_MANAGER]: DX_VALIDATOR_MAP,\n [Widget.DOWNLOAD_MODAL]: DOWNLOAD_MODAL_VALIDATOR_MAP,\n};\n","export const allowedOperators = [\n '=',\n '!=',\n '>',\n '>=',\n '<',\n '<=',\n 'startsWith',\n 'endsWith',\n 'contains',\n] as const;\nexport type Operators = (typeof allowedOperators)[number];\n\nexport type ConditionValue = string | number;\n\nexport interface Condition {\n field: string;\n operator: Operators;\n value: ConditionValue;\n}\n\nexport type ConditionState = Record<string, ConditionValue>;\n\nexport type OperatorConditionFn = (\n value: Condition,\n state: Record<string, ConditionValue>,\n) => boolean;\n","import {\n Condition,\n ConditionState,\n ConditionValue,\n OperatorConditionFn,\n Operators,\n allowedOperators,\n} from '../models/conditions.models';\nimport { WidgetItemCondition } from '../models/structure.models';\n\nfunction isOperator(value: string): value is Operators {\n return allowedOperators.includes(value as Operators);\n}\n\nfunction getValue(condition: Condition, state: ConditionState): ConditionValue {\n return state[condition.field];\n}\n\nfunction _evalConditionOperator(\n condition: Condition,\n state: ConditionState,\n operator: (a: ConditionValue, b: ConditionValue) => boolean,\n): boolean {\n const value = getValue(condition, state);\n if (value == null) return false;\n return operator(value, condition.value);\n}\n\nconst OPERATOR_MAP: Record<Operators, OperatorConditionFn> = {\n '=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a == b),\n '!=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a != b),\n '<': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a < b),\n '<=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a <= b),\n '>': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a > b),\n '>=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a >= b),\n\n startsWith: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' &&\n typeof b === 'string' &&\n a.startsWith(b),\n ),\n\n endsWith: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' && typeof b === 'string' && a.endsWith(b),\n ),\n\n contains: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' && typeof b === 'string' && a.includes(b),\n ),\n};\n\nexport function evaluateCondition(\n state: ConditionState | undefined,\n ...conditions: Condition[]\n): boolean {\n if (!state) return false;\n if (conditions.length === 0) return true;\n return conditions.every((c) => _evalCondition(state, c));\n}\n\nfunction _evalCondition(state: ConditionState, condition: Condition): boolean {\n if (!isOperator(condition.operator)) return false;\n const evalFn = OPERATOR_MAP[condition.operator];\n return evalFn(condition, state);\n}\n\nexport function checkConditions(\n state: ConditionState | undefined,\n conditions: WidgetItemCondition[],\n): boolean {\n if (!state) return false;\n for (const cond of conditions) {\n if (cond.effect === 'keep') continue;\n const result = evaluateCondition(state, cond.condition);\n if (result) return false;\n }\n return true;\n}\n","export interface MergeDeepSettings {\n mergeMissingProperties?: boolean;\n mergeExistingValues?: boolean;\n}\n\nexport function mergeDeep(\n obj1: any,\n obj2: any,\n settings?: MergeDeepSettings,\n): any {\n const defaultSettings = {\n mergeExistingValues: settings?.mergeExistingValues ?? true,\n mergeMissingProperties: settings?.mergeMissingProperties ?? true,\n };\n\n if (!isValid(obj1, obj2)) return objectCopy(obj1);\n\n const result: any = Array.isArray(obj1) ? [] : {};\n\n for (const key in obj1) {\n const val1 = obj1[key];\n const val2 = obj2?.[key];\n\n if (isObject(val1) || Array.isArray(val1)) {\n result[key] = mergeDeep(val1, val2, defaultSettings);\n } else if (key in obj2 && defaultSettings.mergeExistingValues) {\n result[key] = val2;\n } else {\n result[key] = val1;\n }\n }\n\n if (defaultSettings.mergeMissingProperties) {\n for (const key in obj2) {\n if (!(key in result)) {\n result[key] = obj2[key];\n }\n }\n }\n\n return result;\n}\n\nfunction isValid(obj1: any, obj2: any): boolean {\n return (\n (isObject(obj1) && isObject(obj2)) ||\n (Array.isArray(obj1) && Array.isArray(obj2))\n );\n}\n\nfunction objectCopy<T = any>(obj: T): T {\n if (obj === null || typeof obj !== 'object') return obj;\n\n if (Array.isArray(obj)) {\n return obj.map((item) => objectCopy(item)) as any;\n }\n\n const result: any = {};\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n result[key] = objectCopy((obj as any)[key]);\n }\n }\n\n return result;\n}\n\nfunction isObject(value: any): boolean {\n return (\n value !== null &&\n typeof value === 'object' &&\n !Array.isArray(value) &&\n Object.prototype.toString.call(value) === '[object Object]'\n );\n}\n","import { ValidationMap, validateDefaults } from './defaults.helpers';\nimport { mergeDeep } from './merge.helpers';\nimport {\n STRUCTURE_RESERVED_WORDS,\n STRUCTURE_SECTION_NAME_SEPARATOR,\n STRUCTURE_VIEW_NAME_SEPARATOR,\n} from '../constants/structure.constants';\nimport { WidgetCustomization } from '../models/customization.models';\nimport {\n SanitizeFn,\n StructureEngineOptions,\n WidgetConditionMap,\n WidgetConfig,\n WidgetItemCondition,\n WidgetStructure,\n WidgetStructureRoot,\n WidgetViewMap,\n} from '../models/structure.models';\n\ntype hasKeepOptType = 'root' | 'view';\n\ninterface CalculateViewOptions {\n viewKeys?: string[];\n pathPrefix?: string;\n viewPrefix?: string;\n hasKeepOption?: hasKeepOptType;\n prevDefaults?: Record<string, unknown>;\n customDefaults?: Record<string, unknown>;\n conditionMaps?: WidgetConditionMap[];\n checkCondition?: boolean;\n keepAliases?: Record<string, string>;\n}\n\ninterface ViewMapOptions extends StructureEngineOptions {\n keepInheritance?: Record<string, string>;\n}\n\ntype ConditionAffectValue = false | 'keep' | 'remove';\n\ninterface InsertionResult {\n canInsert: boolean;\n conditionAffect: ConditionAffectValue;\n}\n\n/**\n * constructs the permission map structure for a widget\n * @param config configuration of a widget\n * @param customization customization options for a widget\n * @param validationMap\n * @returns object representing the view map for the widget\n */\nexport function getWidgetStructure(\n config: WidgetConfig,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n options?: StructureEngineOptions,\n): WidgetViewMap {\n return calculateViewMap(\n config.baseStructure,\n customization,\n validationMap,\n {\n ...options,\n keepInheritance: config.keepInheritance,\n },\n );\n}\n\nexport function calculateViewMap(\n config: WidgetStructureRoot,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n options?: ViewMapOptions,\n): WidgetViewMap {\n const permissionMap: WidgetViewMap = {};\n const keepAliases = options?.keepInheritance;\n if (config.views) {\n for (const view in config.views) {\n Object.assign(\n permissionMap,\n calculateSpecificViewMap(\n view,\n config,\n customization,\n validationMap,\n options,\n ),\n );\n }\n } else {\n const customDefaults = calculateCustomDefaults(\n customization,\n undefined,\n validationMap,\n options?.sanitize,\n );\n const prevDefaults = config.defaults;\n\n const submodules = calculateSubmodules(config, customization);\n if (submodules) {\n permissionMap.subModules = submodules;\n }\n\n const conditionMaps = calculateConditions(\n config,\n customization,\n undefined,\n keepAliases,\n );\n\n Object.assign(\n permissionMap,\n calculatePermissionMap(config, customization, {\n prevDefaults,\n customDefaults,\n conditionMaps,\n keepAliases,\n }),\n );\n }\n return permissionMap;\n}\n\n/**\n * Defaults at the root of a structure without views (structure defaults merged with the customization's).\n */\nexport function calculateRootDefaults(\n config: WidgetStructureRoot,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n sanitize?: SanitizeFn,\n): Record<string, unknown> | undefined {\n return calculateDefaults(\n config.defaults as Record<string, unknown> | undefined,\n undefined,\n calculateCustomDefaults(\n customization,\n undefined,\n validationMap,\n sanitize,\n ),\n );\n}\n\nfunction calculateSpecificViewMap(\n view: string,\n config: WidgetStructureRoot,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n options?: ViewMapOptions,\n) {\n const viewDefinition = config.views![view];\n const keepAliases = options?.keepInheritance;\n const customDefaults = calculateCustomDefaults(\n customization,\n view,\n validationMap,\n options?.sanitize,\n );\n const prevDefaults = config.defaults;\n\n const permissionMap: WidgetViewMap = {};\n\n const submodules = calculateSubmodules(config, customization, view);\n if (submodules) {\n permissionMap[`${view}::subModules`] = submodules;\n }\n\n const conditionMaps =\n options?.viewConditionals === false\n ? undefined\n : calculateConditions(config, customization, view, keepAliases);\n\n Object.assign(\n permissionMap,\n calculatePermissionMap(config, customization, {\n viewKeys: viewDefinition,\n viewPrefix: view,\n prevDefaults,\n customDefaults,\n conditionMaps,\n keepAliases,\n }),\n );\n\n return permissionMap;\n}\n\nfunction getViewPrefix(view?: string) {\n return view ? `${view}${STRUCTURE_VIEW_NAME_SEPARATOR}` : '';\n}\n\nfunction getStructureKey(key: string, viewPrefix?: string): string {\n const viewValue = getViewPrefix(viewPrefix);\n return `${viewValue}${key}`;\n}\n\nconst matchWildcard = (pattern: string, value: string): boolean => {\n const regexPattern = new RegExp(\n '^' + pattern.replace(/\\./g, '\\\\.').replace(/\\*/g, '.*') + '$',\n );\n return regexPattern.test(value);\n};\n\nfunction keyIsIncludedInKeep(\n key: string,\n customization: WidgetCustomization,\n keepAliases?: Record<string, string>,\n): boolean {\n const { keep = [] } = customization;\n const alias = keepAliases?.[key];\n for (const pattern of keep) {\n if (pattern === key || matchWildcard(pattern, key)) {\n return true;\n }\n if (alias && (pattern === alias || matchWildcard(pattern, alias))) {\n return true;\n }\n }\n return false;\n}\n\nfunction keyIsIncludedInRemove(\n key: string,\n customization: WidgetCustomization,\n): boolean {\n const { remove = [] } = customization;\n for (const pattern of remove) {\n if (pattern === key || matchWildcard(pattern, key)) {\n return true;\n }\n }\n return false;\n}\n\nfunction canInsertInCustomization(\n key: string,\n customization: WidgetCustomization,\n validateKeepOption?: boolean,\n keepAliases?: Record<string, string>,\n): InsertionResult {\n const includedInRemove = keyIsIncludedInRemove(key, customization);\n const includedInKeep = keyIsIncludedInKeep(key, customization, keepAliases);\n const canInsert =\n !includedInRemove && (!validateKeepOption || includedInKeep);\n\n const keepValue = includedInKeep ? 'keep' : 'remove';\n const keepResult = validateKeepOption ? keepValue : false;\n const conditionAffect = includedInRemove ? 'remove' : keepResult;\n return { canInsert, conditionAffect };\n}\n\nfunction evalInsertKey(\n key: string,\n {\n viewKeys,\n viewPrefix = '',\n hasKeepOption,\n keepAliases,\n }: CalculateViewOptions,\n customization?: WidgetCustomization,\n): InsertionResult {\n const customizationView = customization?.views?.[viewPrefix];\n\n const custCanInsert: InsertionResult = customization\n ? canInsertInCustomization(\n key,\n customization,\n hasKeepOption === 'root',\n keepAliases,\n )\n : {\n canInsert: true,\n conditionAffect: false,\n };\n const custViewCanInsert: InsertionResult = customizationView\n ? canInsertInCustomization(\n key,\n customizationView,\n hasKeepOption === 'view',\n keepAliases,\n )\n : {\n canInsert: true,\n conditionAffect: false,\n };\n\n // validate remove and keep attributes for views.\n const canInsert =\n (!viewKeys || viewKeys.some((x) => key.startsWith(x))) &&\n custCanInsert.canInsert &&\n custViewCanInsert.canInsert;\n\n const conditionAffect =\n custCanInsert.conditionAffect || custViewCanInsert.conditionAffect;\n\n return { canInsert, conditionAffect };\n}\n\nfunction canInsertKey(\n key: string,\n {\n viewKeys,\n viewPrefix = '',\n hasKeepOption,\n checkCondition = false,\n keepAliases,\n }: CalculateViewOptions,\n customization?: WidgetCustomization,\n): InsertionResult {\n const result = evalInsertKey(\n key,\n { viewKeys, viewPrefix, hasKeepOption, checkCondition, keepAliases },\n customization,\n );\n const canInsert = checkCondition || result.canInsert;\n return { canInsert, conditionAffect: result.conditionAffect };\n}\n\nfunction addKeyToPermissions(\n permissionMap: WidgetViewMap,\n key: string,\n { viewPrefix, checkCondition, conditionMaps }: CalculateViewOptions,\n defaults?: Record<string, unknown>,\n childMap?: WidgetViewMap,\n conditionAffect?: ConditionAffectValue,\n) {\n const keyAttr = getStructureKey(key, viewPrefix);\n\n if (checkCondition && conditionAffect != null) {\n permissionMap[keyAttr] = conditionAffect;\n return;\n }\n\n const addDefaultKey = defaults && Object.keys(defaults).length > 0;\n const addChildMapKey = childMap && Object.keys(childMap).length > 0;\n const conditions = getConditionsForKey(key, conditionMaps);\n\n permissionMap[keyAttr] =\n !addDefaultKey && !addChildMapKey && !conditions\n ? true\n : {\n ...(addDefaultKey && { defaults }),\n ...(addChildMapKey && { childMap }),\n ...(conditions && { conditions }),\n };\n}\n\nfunction calculatePermissionMap(\n config: WidgetStructure | Record<string, WidgetStructure>,\n customization: WidgetCustomization | undefined,\n {\n viewKeys,\n pathPrefix = '',\n viewPrefix = '',\n hasKeepOption: previousKeepOption,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n keepAliases,\n }: CalculateViewOptions,\n) {\n const permissionMap: WidgetViewMap = {};\n const currentKeepOption = nodeHasKeepOption(config, customization, {\n viewPrefix,\n pathPrefix,\n });\n\n for (const key in config) {\n if (STRUCTURE_RESERVED_WORDS.includes(key)) {\n continue;\n }\n const hasKeepOption = previousKeepOption ?? currentKeepOption;\n const configValue = config[key];\n const currentKey = `${pathPrefix}${key}`;\n const newPrefix = `${currentKey}${STRUCTURE_SECTION_NAME_SEPARATOR}`;\n\n const canInsertResult = canInsertKey(\n currentKey,\n {\n viewKeys,\n viewPrefix,\n hasKeepOption,\n checkCondition,\n keepAliases,\n },\n customization,\n );\n if (!canInsertResult.canInsert) {\n continue;\n }\n\n let defaults = prevDefaults;\n let childMap: WidgetViewMap | undefined = undefined;\n if (Array.isArray(configValue)) {\n // if it's an array, every element is a key\n defaults = calculateDefaults(\n prevDefaults,\n {} as Record<string, unknown>,\n customDefaults,\n );\n childMap = calculatePermissionMapArray(configValue, customization, {\n viewKeys,\n viewPrefix,\n pathPrefix: newPrefix,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n keepAliases,\n });\n\n Object.assign(permissionMap, childMap);\n } else if (\n typeof configValue === 'object' &&\n !Array.isArray(configValue)\n ) {\n defaults = calculateDefaults(\n prevDefaults,\n configValue.defaults as Record<string, unknown>,\n customDefaults,\n );\n // if it's an object, a recursive call is made\n childMap = calculatePermissionMap(\n configValue as WidgetStructure,\n customization,\n {\n viewKeys,\n viewPrefix,\n pathPrefix: newPrefix,\n prevDefaults: defaults,\n conditionMaps,\n checkCondition,\n keepAliases,\n },\n );\n Object.assign(permissionMap, childMap);\n } else if (typeof configValue === 'boolean' && !configValue) {\n // if it's a boolean and its false, it should be ignored\n continue;\n } else if (typeof configValue === 'boolean' && configValue) {\n defaults = calculateDefaults(\n prevDefaults,\n {} as Record<string, unknown>,\n customDefaults,\n );\n }\n\n addKeyToPermissions(\n permissionMap,\n currentKey,\n {\n viewPrefix,\n checkCondition,\n conditionMaps,\n },\n defaults,\n childMap,\n canInsertResult.conditionAffect,\n );\n }\n\n return permissionMap;\n}\n\nfunction getConditionsForKey(\n key: string,\n conditionMaps: WidgetConditionMap[] | undefined,\n): WidgetItemCondition[] | undefined {\n if (!conditionMaps || conditionMaps.length === 0) return undefined;\n const result = conditionMaps.reduce((result, x) => {\n const mapValue = x.map[key];\n if (\n typeof mapValue === 'string' &&\n (mapValue === 'keep' || mapValue === 'remove')\n ) {\n result.push({\n effect: mapValue,\n condition: x.condition,\n });\n }\n return result;\n }, [] as WidgetItemCondition[]);\n\n if (result.length === 0) return undefined;\n return result;\n}\n\nfunction calculateConditions(\n config: WidgetStructure,\n customization?: WidgetCustomization,\n view?: string,\n keepAliases?: Record<string, string>,\n): WidgetConditionMap[] | undefined {\n const rootConditionals = customization?.conditional;\n const viewConditionals = view\n ? customization?.views?.[view]?.conditional\n : undefined;\n\n if (!rootConditionals && !viewConditionals) return undefined;\n\n const customConditionals = [\n ...(rootConditionals ?? []),\n ...(viewConditionals ?? []),\n ];\n return (\n customConditionals?.map((c) => ({\n condition: c.condition,\n map: calculatePermissionMap(config, c, {\n checkCondition: true,\n keepAliases,\n }),\n })) ?? undefined\n );\n}\n\nfunction calculateSubmodules(\n config: WidgetStructure,\n customization?: WidgetCustomization,\n view?: string,\n) {\n const viewSubmodules = view\n ? customization?.views?.[view]?.subModules\n : undefined;\n const customRootSubmodules = customization?.subModules;\n const customSubmodules = viewSubmodules\n ? mergeObjects(customRootSubmodules, viewSubmodules)\n : customRootSubmodules;\n return mergeObjects(config.subModules, customSubmodules);\n}\n\nfunction calculateCustomDefaults(\n customization?: WidgetCustomization,\n view?: string,\n validationMap?: ValidationMap,\n sanitize?: SanitizeFn,\n) {\n const viewDefaults = view\n ? customization?.views?.[view]?.defaults\n : undefined;\n const customRootDefaults = customization?.defaults ?? {};\n const defaultObj = viewDefaults\n ? mergeObjects(customRootDefaults, viewDefaults)\n : customRootDefaults;\n if (!defaultObj || (!validationMap && !sanitize)) return defaultObj;\n return validateDefaults(defaultObj, validationMap ?? {}, sanitize);\n}\n\nfunction calculateDefaults(\n structureDefaults: Record<string, unknown> | undefined,\n itemDefaults: Record<string, unknown> | undefined,\n customDefaults: Record<string, unknown> | undefined,\n) {\n const baseDefaults = mergeObjects(structureDefaults, itemDefaults);\n return mergeObjects(baseDefaults, customDefaults);\n}\n\nfunction mergeObjects(\n prevObj: Record<string, unknown> | undefined,\n newObj: Record<string, unknown> | undefined,\n): Record<string, unknown> | undefined {\n // if both of configurations are falsy return undefined;\n if (!newObj && !prevObj) return undefined;\n // if just the prev defaults has value, return it\n if (!newObj) return prevObj;\n // if the newDefaults value is different than an object\n if (typeof newObj !== 'object' || Array.isArray(newObj)) return prevObj;\n return !prevObj ? newObj : mergeDeep(prevObj, newObj);\n}\n\nfunction mapObjKeys(\n configValue: WidgetStructure,\n { pathPrefix }: CalculateViewOptions,\n) {\n return Object.keys(configValue).map((x) =>\n getStructureKey(`${pathPrefix}${x}`),\n );\n}\n\nfunction mapArrayKeys(\n configValue: (string | WidgetStructure)[],\n { viewPrefix, pathPrefix }: CalculateViewOptions,\n) {\n return configValue.reduce((result, value) => {\n if (typeof value === 'string') {\n result.push(getStructureKey(`${pathPrefix}${value}`));\n } else {\n result.push(...mapObjKeys(value, { viewPrefix, pathPrefix }));\n }\n return result;\n }, [] as string[]);\n}\n\nfunction nodeHasKeepOption(\n configValue: WidgetStructure | (string | WidgetStructure)[],\n customization: WidgetCustomization | undefined,\n { viewPrefix, pathPrefix }: CalculateViewOptions,\n): hasKeepOptType | undefined {\n if (!customization) return;\n const nodeKeys = Array.isArray(configValue)\n ? mapArrayKeys(configValue, { viewPrefix, pathPrefix })\n : mapObjKeys(configValue, { viewPrefix, pathPrefix });\n const customizationView = viewPrefix\n ? customization?.views?.[viewPrefix]\n : undefined;\n for (const key of nodeKeys) {\n if (keyIsIncludedInKeep(key, customization)) {\n return 'root';\n } else if (\n customizationView &&\n keyIsIncludedInKeep(key, customizationView)\n ) {\n return 'view';\n }\n }\n return undefined;\n}\n\nfunction calculatePermissionMapArray(\n configValue: (string | WidgetStructure)[],\n customization: WidgetCustomization | undefined,\n {\n viewKeys,\n viewPrefix,\n pathPrefix,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n keepAliases,\n }: CalculateViewOptions,\n): WidgetViewMap {\n const permissionMap: WidgetViewMap = {};\n const hasKeepOption = nodeHasKeepOption(configValue, customization, {\n viewPrefix,\n pathPrefix,\n });\n const defaultsSimple = calculateDefaults(\n prevDefaults,\n undefined,\n customDefaults,\n );\n\n configValue.forEach((option) => {\n const fullPath = `${pathPrefix}${option}`;\n if (typeof option === 'string') {\n const canInsertResult = canInsertKey(\n fullPath,\n {\n viewKeys,\n viewPrefix,\n hasKeepOption,\n checkCondition,\n keepAliases,\n },\n customization,\n );\n if (!canInsertResult.canInsert) {\n return;\n }\n addKeyToPermissions(\n permissionMap,\n fullPath,\n {\n viewKeys,\n viewPrefix,\n checkCondition,\n conditionMaps,\n },\n defaultsSimple,\n undefined,\n canInsertResult.conditionAffect,\n );\n } else {\n Object.assign(\n permissionMap,\n calculatePermissionMap(option, customization, {\n viewKeys,\n pathPrefix,\n viewPrefix,\n hasKeepOption,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n keepAliases,\n }),\n );\n }\n });\n return permissionMap;\n}\n","import { widgetConfigs, widgetValidators } from './constants/configs';\nimport {\n STRUCTURE_SECTION_NAME_SEPARATOR,\n STRUCTURE_VIEW_NAME_SEPARATOR,\n Widget,\n WIDGET_STRUCTURE_SCOPE_FORMAT,\n WIDGET_STRUCTURE_SCOPE_KIND,\n WidgetVersion,\n} from './constants/structure.constants';\nimport { ConditionState } from './models/conditions.models';\nimport { WidgetCustomization } from './models/customization.models';\nimport { ScopeOptions, WidgetStructureScope } from './models/scope.models';\nimport {\n BuildStructureOptions,\n WidgetConfig,\n WidgetItemCondition,\n WidgetViewMap,\n} from './models/structure.models';\nimport { checkConditions } from './utils/conditions.helpers';\nimport {\n calculateRootDefaults,\n calculateViewMap,\n getWidgetStructure,\n} from './utils/structural.helpers';\n\nexport function getWidgetConfig(\n widget: Widget,\n version?: WidgetVersion,\n): WidgetConfig {\n const versionSet = version ?? WidgetVersion.latest;\n const widgetConfigurability = widgetConfigs[widget]?.[versionSet];\n if (!widgetConfigurability) {\n throw new Error(\n `No config found for widget ${widget} and version ${version}`,\n );\n }\n return widgetConfigurability;\n}\n\nexport function buildStructure(\n widget: Widget,\n customization?: WidgetCustomization,\n version?: WidgetVersion,\n options?: BuildStructureOptions,\n) {\n const config = getWidgetConfig(widget, version);\n const validationMap = options?.validationMap ?? widgetValidators[widget];\n const structureMap = getWidgetStructure(\n config,\n customization,\n validationMap,\n options,\n );\n const rootDefaults = config.baseStructure.views\n ? undefined\n : calculateRootDefaults(\n config.baseStructure,\n customization,\n validationMap,\n options?.sanitize,\n );\n return new WidgetStructureInstance(structureMap, rootDefaults);\n}\n\nexport class WidgetStructureInstance {\n constructor(\n private viewMap: WidgetViewMap,\n private rootDefaults?: Record<string, unknown>,\n ) {}\n\n private getValue(key: string) {\n return this.viewMap[key];\n }\n\n isVisible(key: string, state?: ConditionState): boolean {\n const value = this.getValue(key);\n if (!value) return false;\n if (typeof value === 'object' && value.conditions) {\n return checkConditions(\n state,\n value.conditions as WidgetItemCondition[],\n );\n }\n return true;\n }\n\n getChildMap(key: string): WidgetViewMap | undefined {\n const value = this.getValue(key);\n if (\n !value ||\n typeof value === 'boolean' ||\n typeof value === 'string' ||\n !value.childMap\n )\n return undefined;\n return value.childMap as WidgetViewMap;\n }\n\n getSubmodule(\n module: string,\n view?: string,\n ): WidgetCustomization | undefined {\n const key = `${view ? view + '::' : ''}subModules`;\n const value = this.getValue(key);\n return (value as Record<string, WidgetCustomization>)?.[module];\n }\n\n getDefaults(key: string): Record<string, unknown> | undefined {\n const value = this.getValue(key);\n if (\n !value ||\n typeof value === 'boolean' ||\n typeof value === 'string' ||\n !value.defaults\n )\n return undefined;\n return value.defaults as WidgetViewMap;\n }\n\n getRootDefaults(): Record<string, unknown> | undefined {\n return this.rootDefaults;\n }\n\n /**\n * Re-roots a resolved section (`design::downloadModal`) as plain JSON another bundle can rebuild a structure from.\n */\n scope(prefixKey: string, options: ScopeOptions = {}): WidgetStructureScope {\n const { widget, version, state } = options;\n const present = this.isVisible(prefixKey, state);\n const sectionPath =\n prefixKey.split(STRUCTURE_VIEW_NAME_SEPARATOR).pop() ?? prefixKey;\n const namespace =\n options.defaultsNamespace === undefined\n ? sectionPath.split(STRUCTURE_SECTION_NAME_SEPARATOR).pop()\n : options.defaultsNamespace;\n const sectionDefaults = present\n ? this.getDefaults(prefixKey)\n : undefined;\n const defaults = namespace\n ? (sectionDefaults?.[namespace] as\n | Record<string, unknown>\n | undefined)\n : sectionDefaults;\n const childPrefix = `${prefixKey}${STRUCTURE_SECTION_NAME_SEPARATOR}`;\n const map: Record<string, boolean> = {};\n let structureVersion: string | undefined;\n\n if (widget) {\n const config = getWidgetConfig(widget, version);\n structureVersion = config.version;\n Object.keys(calculateViewMap(config.baseStructure))\n .filter((key) => key !== 'subModules')\n .forEach((key) => {\n map[key] =\n present &&\n this.isVisible(`${childPrefix}${key}`, state);\n });\n } else if (present) {\n Object.keys(this.viewMap)\n .filter((key) => key.startsWith(childPrefix))\n .forEach((key) => {\n if (this.isVisible(key, state)) {\n map[key.slice(childPrefix.length)] = true;\n }\n });\n }\n\n return JSON.parse(\n JSON.stringify({\n kind: WIDGET_STRUCTURE_SCOPE_KIND,\n format: WIDGET_STRUCTURE_SCOPE_FORMAT,\n widget,\n structureVersion,\n source: prefixKey,\n present,\n map,\n defaults,\n }),\n );\n }\n}\n","import {\n Widget,\n WIDGET_STRUCTURE_SCOPE_FORMAT,\n WIDGET_STRUCTURE_SCOPE_KIND,\n WIDGET_SUBMODULE_NAMES,\n WidgetVersion,\n} from '../constants/structure.constants';\nimport { WidgetCustomization } from '../models/customization.models';\nimport { WidgetStructureScope } from '../models/scope.models';\nimport { BuildStructureOptions } from '../models/structure.models';\nimport { buildStructure, WidgetStructureInstance } from '../structural-manager';\nimport { mergeDeep } from './merge.helpers';\n\nexport type StructureInput =\n | WidgetStructureScope\n | WidgetCustomization\n | null\n | undefined;\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nexport function isWidgetStructureScope(\n value: unknown,\n): value is WidgetStructureScope {\n return isPlainObject(value) && value.kind === WIDGET_STRUCTURE_SCOPE_KIND;\n}\n\n/**\n * Turns a resolved scope back into a customization of the widget it lists: hidden keys become an explicit remove list.\n */\nexport function scopeToCustomization(\n scope: WidgetStructureScope,\n): WidgetCustomization {\n const remove = scope.present\n ? Object.keys(scope.map ?? {}).filter((key) => scope.map[key] === false)\n : ['*'];\n return {\n ...(remove.length ? { remove } : {}),\n ...(scope.defaults ? { defaults: scope.defaults } : {}),\n };\n}\n\n/**\n * Extracts a section of a host's customization as a customization of the embedded widget, by evaluating it with the host's engine.\n */\nexport function extractCustomization(\n host: Widget,\n customization: WidgetCustomization | undefined,\n prefixKey: string,\n target: Widget,\n options?: BuildStructureOptions,\n): WidgetCustomization {\n const hostStructure = buildStructure(\n host,\n customization,\n undefined,\n options,\n );\n return scopeToCustomization(\n hostStructure.scope(prefixKey, { widget: target }),\n );\n}\n\nfunction submoduleOf(\n input: WidgetCustomization,\n module: string,\n view?: string,\n): WidgetCustomization | undefined {\n const root = input.subModules?.[module];\n const fromView = view\n ? input.views?.[view]?.subModules?.[module]\n : undefined;\n if (!fromView) return root;\n return root ? mergeDeep(root, fromView) : fromView;\n}\n\n/**\n * Builds an embedded widget's structure from what its host passes: a resolved scope, a raw customization of the widget, or a host\n * customization carrying the widget under subModules. Returns undefined for no input or an invalid one, so the receiver keeps its\n * legacy behaviour.\n */\nexport function structureFrom(\n widget: Widget,\n input: unknown,\n view?: string,\n version?: WidgetVersion,\n): WidgetStructureInstance | undefined {\n if (input === undefined || input === null) return undefined;\n try {\n if (!isPlainObject(input)) {\n throw new Error('expected an object');\n }\n if ('kind' in input) {\n if (!isWidgetStructureScope(input)) {\n throw new Error(`unknown kind ${String(input.kind)}`);\n }\n if (input.format !== WIDGET_STRUCTURE_SCOPE_FORMAT) {\n throw new Error(`unknown scope format ${input.format}`);\n }\n if (input.widget && input.widget !== widget) {\n throw new Error(`scope of ${input.widget}, expected ${widget}`);\n }\n return buildStructure(widget, scopeToCustomization(input), version);\n }\n const customization = input as WidgetCustomization;\n const module = WIDGET_SUBMODULE_NAMES[widget];\n const submodule = module\n ? submoduleOf(customization, module, view)\n : undefined;\n return buildStructure(widget, submodule ?? customization, version);\n } catch (error) {\n console.warn(\n `[widget-configurability] ignoring the ${widget} customization: ${(error as Error).message}`,\n );\n return undefined;\n }\n}\n\n/**\n * Builds the structure of a widget a host embeds as a submodule (chartPanel, chartGallery, chartBuilder, downloadModal).\n */\nexport function structureFromSubmodule(\n parent: WidgetStructureInstance,\n module: string,\n view?: string,\n options?: BuildStructureOptions,\n): WidgetStructureInstance {\n const widget = (Object.keys(WIDGET_SUBMODULE_NAMES) as Widget[]).find(\n (key) => WIDGET_SUBMODULE_NAMES[key] === module,\n );\n if (!widget) {\n throw new Error(`No widget registered for the submodule ${module}`);\n }\n return buildStructure(\n widget,\n parent.getSubmodule(module, view),\n undefined,\n options,\n );\n}\n","import { WidgetStructureInstance } from '../structural-manager';\nimport { DownloadModalKey } from '../structures/download-modal.structure.v1';\n\nexport interface DownloadModalResolvedConfig {\n schedule: boolean;\n subscribe: boolean;\n banner: boolean;\n owner: boolean;\n organization: boolean;\n myself: boolean;\n specificPeople: boolean;\n externalUsers: boolean;\n subscribeMyselfDefault: boolean;\n}\n\nexport interface ResolveDownloadModalOptions {\n // False where the host never shows the organization checkbox (embedded), so it counts as hidden for the section rule.\n organizationAvailable?: boolean;\n}\n\n/**\n * The export modal's visibility rules: Schedule hides Subscribe, and Subscribe hides when it has nothing left to show.\n */\nexport function resolveDownloadModalConfig(\n structure: WidgetStructureInstance,\n { organizationAvailable = true }: ResolveDownloadModalOptions = {},\n): DownloadModalResolvedConfig {\n const visible = (key: DownloadModalKey) => structure.isVisible(key);\n const elements = {\n banner: visible('qSubscribeBanner'),\n owner: visible('qOwnerLabel'),\n organization: visible('qSubscribeOrganization'),\n myself: visible('qSubscribeMyself'),\n specificPeople: visible('qSubscribeSpecificPeople'),\n };\n const schedule = visible('qScheduleOption');\n const anyElement =\n elements.banner ||\n elements.owner ||\n (organizationAvailable && elements.organization) ||\n elements.myself ||\n elements.specificPeople;\n return {\n ...elements,\n schedule,\n subscribe: schedule && visible('qSubscribeOption') && anyElement,\n externalUsers: visible('qSubscribeExternalUsers'),\n // A rejected value comes back undefined, which keeps the checkbox checked as it always started.\n subscribeMyselfDefault:\n structure.getRootDefaults()?.subscribeMyself !== false,\n };\n}\n","type DecoratorFactory = (metadata?: any) => PropertyDecorator;\n\nlet ApiProperty: DecoratorFactory;\n\n// module.require keeps bundlers from hoisting the optional swagger peer into a static browser import.\nconst nodeRequire = typeof module !== 'undefined' && typeof module.require === 'function' ? module.require.bind(module) : undefined;\n\ntry {\n ApiProperty = nodeRequire!('@nestjs/swagger').ApiProperty;\n} catch {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ApiProperty = (metadata?: unknown): PropertyDecorator => {\n return (): void => {};\n };\n}\n\nexport { ApiProperty };\n"]}
@@ -185,7 +185,7 @@ interface ResolveDownloadModalOptions {
185
185
  */
186
186
  declare function resolveDownloadModalConfig(structure: WidgetStructureInstance, { organizationAvailable }?: ResolveDownloadModalOptions): DownloadModalResolvedConfig;
187
187
 
188
- declare const DOWNLOAD_MODAL_V1_KEYS: readonly ["qScheduleOption", "qSubscribeOption", "qSubscribeExternalUsers", "qSubscribeBanner", "qOwnerLabel", "qSubscribeOrganization", "qSubscribeMyself", "qSubscribeSpecificPeople", "qIncludeHyperlinks"];
188
+ declare const DOWNLOAD_MODAL_V1_KEYS: readonly ["qScheduleOption", "qSubscribeOption", "qSubscribeExternalUsers", "qSubscribeBanner", "qOwnerLabel", "qSubscribeOrganization", "qSubscribeMyself", "qSubscribeSpecificPeople", "qIncludeHyperlinks", "qIncludeHeader"];
189
189
  type DownloadModalKey = (typeof DOWNLOAD_MODAL_V1_KEYS)[number];
190
190
  declare const hostKeepInheritance: (section?: string) => Record<string, string>;
191
191
  declare const DOWNLOAD_MODAL_V1_DEFAULTS: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qrvey/widget-configurability",
3
- "version": "0.0.0-beta.4506",
3
+ "version": "0.0.0-beta.4519",
4
4
  "types": "dist/types/index.d.ts",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.mjs",