From 35cccf6a22a63e6c63f7569850191129e04e4092 Mon Sep 17 00:00:00 2001 From: "Carlos Perez (M365)" Date: Tue, 23 Jun 2026 10:35:34 -0700 Subject: [PATCH 1/5] fix(react-file-type-icons): align with 20260623 CDN drop --- ...ui-react-file-type-icons-cdn-20260623.json | 7 ++++++ ...fluentui-style-utilities-cdn-20260623.json | 7 ++++++ .../react-file-type-icons/src/FileIconType.ts | 14 ++++++++++- .../src/FileTypeIconMap.ts | 10 +++++--- .../src/getFileTypeIconProps.test.ts | 6 +++++ .../src/getFileTypeIconProps.ts | 24 +++++++++++++++++++ .../etc/style-utilities.api.md | 2 +- packages/style-utilities/src/cdn.ts | 2 +- 8 files changed, 66 insertions(+), 6 deletions(-) create mode 100644 change/@fluentui-react-file-type-icons-cdn-20260623.json create mode 100644 change/@fluentui-style-utilities-cdn-20260623.json diff --git a/change/@fluentui-react-file-type-icons-cdn-20260623.json b/change/@fluentui-react-file-type-icons-cdn-20260623.json new file mode 100644 index 00000000000000..07975ab86ddfab --- /dev/null +++ b/change/@fluentui-react-file-type-icons-cdn-20260623.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Update the file type icon map for the fabric-cdn-prod_20260623.001 drop.", + "packageName": "@fluentui/react-file-type-icons", + "email": "caperez@microsoft.com", + "dependentChangeType": "patch" +} \ No newline at end of file diff --git a/change/@fluentui-style-utilities-cdn-20260623.json b/change/@fluentui-style-utilities-cdn-20260623.json new file mode 100644 index 00000000000000..cede5f38e819e1 --- /dev/null +++ b/change/@fluentui-style-utilities-cdn-20260623.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Update the default Fluent CDN base URL to the fabric-cdn-prod_20260623.001 drop.", + "packageName": "@fluentui/style-utilities", + "email": "caperez@microsoft.com", + "dependentChangeType": "patch" +} \ No newline at end of file diff --git a/packages/react-file-type-icons/src/FileIconType.ts b/packages/react-file-type-icons/src/FileIconType.ts index 82fcf73b3215e8..26acfadc612d33 100644 --- a/packages/react-file-type-icons/src/FileIconType.ts +++ b/packages/react-file-type-icons/src/FileIconType.ts @@ -30,6 +30,12 @@ export enum FileIconType { listForm = 22, campaign = 23, shortcutsdefaultfolder = 24, + pbiApp = 25, + pbiDashboard = 26, + pbiPaginatedReport = 27, + pbiScorecard = 28, + pbiSemanticModel = 29, + pbiReport = 30, } export type FileIconTypeInput = @@ -56,4 +62,10 @@ export type FileIconTypeInput = | 21 | 22 | 23 - | 24; + | 24 + | 25 + | 26 + | 27 + | 28 + | 29 + | 30; diff --git a/packages/react-file-type-icons/src/FileTypeIconMap.ts b/packages/react-file-type-icons/src/FileTypeIconMap.ts index fa9cfbf59f7ffc..7d51a7eda1ce41 100644 --- a/packages/react-file-type-icons/src/FileTypeIconMap.ts +++ b/packages/react-file-type-icons/src/FileTypeIconMap.ts @@ -7,6 +7,9 @@ export const FileTypeIconMap: { [key: string]: { extensions?: string[] } } = { accdb: { extensions: ['accdb', 'mdb'], }, + agentwork: { + extensions: ['work'], + }, aipage: { extensions: ['page'], }, @@ -263,9 +266,6 @@ export const FileTypeIconMap: { [key: string]: { extensions?: string[] } } = { copilot: { extensions: ['copilot'], }, - cowork: { - extensions: ['work'], - }, /* css: {}, not broken out yet, snapping to 'code' for now */ csv: { extensions: ['csv'], @@ -377,6 +377,10 @@ export const FileTypeIconMap: { [key: string]: { extensions?: string[] } } = { extensions: ['ms-one-stub', 'onetoc', 'onetoc2', 'onepkg'], // This represents a complete, logical notebook. }, pbiapp: {}, + pbidashboard: {}, + pbipagereport: {}, + pbiscorecard: {}, + pbisemmodel: {}, pdf: { extensions: ['pdf'], }, diff --git a/packages/react-file-type-icons/src/getFileTypeIconProps.test.ts b/packages/react-file-type-icons/src/getFileTypeIconProps.test.ts index c7dccd4a441428..7035124efc222c 100644 --- a/packages/react-file-type-icons/src/getFileTypeIconProps.test.ts +++ b/packages/react-file-type-icons/src/getFileTypeIconProps.test.ts @@ -12,4 +12,10 @@ describe('return valid icon name', () => { } } }); + + it('resolves new CDN file type icon mappings', () => { + expect(getFileTypeIconNameFromExtensionOrType('work', undefined)).toBe('agentwork'); + expect(getFileTypeIconNameFromExtensionOrType(undefined, FileIconType.pbiDashboard)).toBe('pbidashboard'); + expect(getFileTypeIconNameFromExtensionOrType(undefined, FileIconType.pbiReport)).toBe('powerbi'); + }); }); diff --git a/packages/react-file-type-icons/src/getFileTypeIconProps.ts b/packages/react-file-type-icons/src/getFileTypeIconProps.ts index 295036d48cb207..3b0f057954a90a 100644 --- a/packages/react-file-type-icons/src/getFileTypeIconProps.ts +++ b/packages/react-file-type-icons/src/getFileTypeIconProps.ts @@ -28,6 +28,12 @@ const ALBUM = 'album'; const LIST_FORM = 'listform'; const CAMPAIGN = 'spocampaign'; const SHORTCUTS_DEFAULT_FOLDER = 'companyfolder'; +const PBI_APP = 'pbiapp'; +const PBI_DASHBOARD = 'pbidashboard'; +const PBI_PAGINATED_REPORT = 'pbipagereport'; +const PBI_SCORECARD = 'pbiscorecard'; +const PBI_SEMANTIC_MODEL = 'pbisemmodel'; +const PBI_REPORT = 'powerbi'; export const DEFAULT_ICON_SIZE: FileTypeIconSize = 16; export type FileTypeIconSize = 16 | 20 | 24 | 32 | 40 | 48 | 64 | 96; @@ -175,6 +181,24 @@ export function getFileTypeIconNameFromExtensionOrType( case FileIconType.shortcutsdefaultfolder: iconBaseName = SHORTCUTS_DEFAULT_FOLDER; break; + case FileIconType.pbiApp: + iconBaseName = PBI_APP; + break; + case FileIconType.pbiDashboard: + iconBaseName = PBI_DASHBOARD; + break; + case FileIconType.pbiPaginatedReport: + iconBaseName = PBI_PAGINATED_REPORT; + break; + case FileIconType.pbiScorecard: + iconBaseName = PBI_SCORECARD; + break; + case FileIconType.pbiSemanticModel: + iconBaseName = PBI_SEMANTIC_MODEL; + break; + case FileIconType.pbiReport: + iconBaseName = PBI_REPORT; + break; } } return iconBaseName || GENERIC_FILE; diff --git a/packages/style-utilities/etc/style-utilities.api.md b/packages/style-utilities/etc/style-utilities.api.md index 5eb702216ec06d..695e5daa8093b7 100644 --- a/packages/style-utilities/etc/style-utilities.api.md +++ b/packages/style-utilities/etc/style-utilities.api.md @@ -85,7 +85,7 @@ export { DefaultPalette } export const EdgeChromiumHighContrastSelector = "@media screen and (-ms-high-contrast: active), screen and (forced-colors: active)"; // @public (undocumented) -export const FLUENT_CDN_BASE_URL = "https://res.cdn.office.net/files/fabric-cdn-prod_20260506.001"; +export const FLUENT_CDN_BASE_URL = "https://res.cdn.office.net/files/fabric-cdn-prod_20260623.001"; // @public export function focusClear(): IRawStyle; diff --git a/packages/style-utilities/src/cdn.ts b/packages/style-utilities/src/cdn.ts index 163885209cb4f6..6bc44a42ba1763 100644 --- a/packages/style-utilities/src/cdn.ts +++ b/packages/style-utilities/src/cdn.ts @@ -1 +1 @@ -export const FLUENT_CDN_BASE_URL = 'https://res.cdn.office.net/files/fabric-cdn-prod_20260506.001'; +export const FLUENT_CDN_BASE_URL = 'https://res.cdn.office.net/files/fabric-cdn-prod_20260623.001'; From b9b21cad3643bce9a8ed32515f0acdbb4c5fbe46 Mon Sep 17 00:00:00 2001 From: "Carlos Perez (M365)" Date: Thu, 25 Jun 2026 15:00:29 -0700 Subject: [PATCH 2/5] linting change files --- change/@fluentui-react-file-type-icons-cdn-20260623.json | 2 +- change/@fluentui-style-utilities-cdn-20260623.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/change/@fluentui-react-file-type-icons-cdn-20260623.json b/change/@fluentui-react-file-type-icons-cdn-20260623.json index 07975ab86ddfab..0c797b7a6a22c7 100644 --- a/change/@fluentui-react-file-type-icons-cdn-20260623.json +++ b/change/@fluentui-react-file-type-icons-cdn-20260623.json @@ -4,4 +4,4 @@ "packageName": "@fluentui/react-file-type-icons", "email": "caperez@microsoft.com", "dependentChangeType": "patch" -} \ No newline at end of file +} diff --git a/change/@fluentui-style-utilities-cdn-20260623.json b/change/@fluentui-style-utilities-cdn-20260623.json index cede5f38e819e1..a089ad2d4c5c24 100644 --- a/change/@fluentui-style-utilities-cdn-20260623.json +++ b/change/@fluentui-style-utilities-cdn-20260623.json @@ -4,4 +4,4 @@ "packageName": "@fluentui/style-utilities", "email": "caperez@microsoft.com", "dependentChangeType": "patch" -} \ No newline at end of file +} From 3d30822f5e4d1c42a2c1a1a8021e9eb6df1102ea Mon Sep 17 00:00:00 2001 From: "Carlos Perez (M365)" Date: Fri, 10 Jul 2026 10:14:30 -0700 Subject: [PATCH 3/5] feat: add wiki page file type mapping --- packages/react-file-type-icons/src/FileIconType.ts | 4 +++- packages/react-file-type-icons/src/FileTypeIconMap.ts | 1 + .../react-file-type-icons/src/getFileTypeIconProps.test.ts | 1 + packages/react-file-type-icons/src/getFileTypeIconProps.ts | 4 ++++ 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/react-file-type-icons/src/FileIconType.ts b/packages/react-file-type-icons/src/FileIconType.ts index 26acfadc612d33..6f2b3f399b0e07 100644 --- a/packages/react-file-type-icons/src/FileIconType.ts +++ b/packages/react-file-type-icons/src/FileIconType.ts @@ -36,6 +36,7 @@ export enum FileIconType { pbiScorecard = 28, pbiSemanticModel = 29, pbiReport = 30, + wikiPage = 31, } export type FileIconTypeInput = @@ -68,4 +69,5 @@ export type FileIconTypeInput = | 27 | 28 | 29 - | 30; + | 30 + | 31; diff --git a/packages/react-file-type-icons/src/FileTypeIconMap.ts b/packages/react-file-type-icons/src/FileTypeIconMap.ts index 7d51a7eda1ce41..9907370b937ee9 100644 --- a/packages/react-file-type-icons/src/FileTypeIconMap.ts +++ b/packages/react-file-type-icons/src/FileTypeIconMap.ts @@ -568,6 +568,7 @@ export const FileTypeIconMap: { [key: string]: { extensions?: string[] } } = { ], }, video360: {}, + wikipage: {}, vsdx: { extensions: ['vdx', 'vsd', 'vsdm', 'vsdx', 'vsw', 'vdw'], }, diff --git a/packages/react-file-type-icons/src/getFileTypeIconProps.test.ts b/packages/react-file-type-icons/src/getFileTypeIconProps.test.ts index 7035124efc222c..79206d5730830a 100644 --- a/packages/react-file-type-icons/src/getFileTypeIconProps.test.ts +++ b/packages/react-file-type-icons/src/getFileTypeIconProps.test.ts @@ -17,5 +17,6 @@ describe('return valid icon name', () => { expect(getFileTypeIconNameFromExtensionOrType('work', undefined)).toBe('agentwork'); expect(getFileTypeIconNameFromExtensionOrType(undefined, FileIconType.pbiDashboard)).toBe('pbidashboard'); expect(getFileTypeIconNameFromExtensionOrType(undefined, FileIconType.pbiReport)).toBe('powerbi'); + expect(getFileTypeIconNameFromExtensionOrType(undefined, FileIconType.wikiPage)).toBe('wikipage'); }); }); diff --git a/packages/react-file-type-icons/src/getFileTypeIconProps.ts b/packages/react-file-type-icons/src/getFileTypeIconProps.ts index 3b0f057954a90a..02db581b1e9af5 100644 --- a/packages/react-file-type-icons/src/getFileTypeIconProps.ts +++ b/packages/react-file-type-icons/src/getFileTypeIconProps.ts @@ -34,6 +34,7 @@ const PBI_PAGINATED_REPORT = 'pbipagereport'; const PBI_SCORECARD = 'pbiscorecard'; const PBI_SEMANTIC_MODEL = 'pbisemmodel'; const PBI_REPORT = 'powerbi'; +const WIKI_PAGE = 'wikipage'; export const DEFAULT_ICON_SIZE: FileTypeIconSize = 16; export type FileTypeIconSize = 16 | 20 | 24 | 32 | 40 | 48 | 64 | 96; @@ -199,6 +200,9 @@ export function getFileTypeIconNameFromExtensionOrType( case FileIconType.pbiReport: iconBaseName = PBI_REPORT; break; + case FileIconType.wikiPage: + iconBaseName = WIKI_PAGE; + break; } } return iconBaseName || GENERIC_FILE; From 4fc5b51f4bf96e7da66d45a4531058e65aadb8f2 Mon Sep 17 00:00:00 2001 From: "Carlos Perez (M365)" Date: Mon, 13 Jul 2026 13:07:52 -0700 Subject: [PATCH 4/5] feat: add wikiPage icon type and update related mappings and tests --- ...yle-utilities-f9a768ab-6e5a-484e-96f9-d861a301d435.json | 7 +++++++ packages/style-utilities/etc/style-utilities.api.md | 2 +- packages/style-utilities/src/cdn.ts | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 change/@fluentui-style-utilities-f9a768ab-6e5a-484e-96f9-d861a301d435.json diff --git a/change/@fluentui-style-utilities-f9a768ab-6e5a-484e-96f9-d861a301d435.json b/change/@fluentui-style-utilities-f9a768ab-6e5a-484e-96f9-d861a301d435.json new file mode 100644 index 00000000000000..4668d99c297d73 --- /dev/null +++ b/change/@fluentui-style-utilities-f9a768ab-6e5a-484e-96f9-d861a301d435.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Update the default Fluent CDN base URL to the fabric-cdn-prod_20260710.001 drop.", + "packageName": "@fluentui/style-utilities", + "email": "caperez@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/packages/style-utilities/etc/style-utilities.api.md b/packages/style-utilities/etc/style-utilities.api.md index 695e5daa8093b7..21cdc17d17b01d 100644 --- a/packages/style-utilities/etc/style-utilities.api.md +++ b/packages/style-utilities/etc/style-utilities.api.md @@ -85,7 +85,7 @@ export { DefaultPalette } export const EdgeChromiumHighContrastSelector = "@media screen and (-ms-high-contrast: active), screen and (forced-colors: active)"; // @public (undocumented) -export const FLUENT_CDN_BASE_URL = "https://res.cdn.office.net/files/fabric-cdn-prod_20260623.001"; +export const FLUENT_CDN_BASE_URL = "https://res.cdn.office.net/files/fabric-cdn-prod_20260710.001"; // @public export function focusClear(): IRawStyle; diff --git a/packages/style-utilities/src/cdn.ts b/packages/style-utilities/src/cdn.ts index 6bc44a42ba1763..4732ef0d7f6e1b 100644 --- a/packages/style-utilities/src/cdn.ts +++ b/packages/style-utilities/src/cdn.ts @@ -1 +1 @@ -export const FLUENT_CDN_BASE_URL = 'https://res.cdn.office.net/files/fabric-cdn-prod_20260623.001'; +export const FLUENT_CDN_BASE_URL = 'https://res.cdn.office.net/files/fabric-cdn-prod_20260710.001'; From 8a3d1131b0365ef7470afc91013e5f8d8a966b4a Mon Sep 17 00:00:00 2001 From: "C. Perez" Date: Mon, 13 Jul 2026 22:46:03 +0000 Subject: [PATCH 5/5] fix(react-file-type-icons): order wikipage entry alphabetically and tidy change files --- .../@fluentui-react-file-type-icons-wikipage-20260713.json | 7 +++++++ change/@fluentui-style-utilities-cdn-20260623.json | 7 ------- packages/react-file-type-icons/src/FileTypeIconMap.ts | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) create mode 100644 change/@fluentui-react-file-type-icons-wikipage-20260713.json delete mode 100644 change/@fluentui-style-utilities-cdn-20260623.json diff --git a/change/@fluentui-react-file-type-icons-wikipage-20260713.json b/change/@fluentui-react-file-type-icons-wikipage-20260713.json new file mode 100644 index 00000000000000..4c5eccc51fba41 --- /dev/null +++ b/change/@fluentui-react-file-type-icons-wikipage-20260713.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Add the wikiPage file type icon mapping.", + "packageName": "@fluentui/react-file-type-icons", + "email": "caperez@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-style-utilities-cdn-20260623.json b/change/@fluentui-style-utilities-cdn-20260623.json deleted file mode 100644 index a089ad2d4c5c24..00000000000000 --- a/change/@fluentui-style-utilities-cdn-20260623.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "patch", - "comment": "Update the default Fluent CDN base URL to the fabric-cdn-prod_20260623.001 drop.", - "packageName": "@fluentui/style-utilities", - "email": "caperez@microsoft.com", - "dependentChangeType": "patch" -} diff --git a/packages/react-file-type-icons/src/FileTypeIconMap.ts b/packages/react-file-type-icons/src/FileTypeIconMap.ts index 9907370b937ee9..b8cbd41f92a8ad 100644 --- a/packages/react-file-type-icons/src/FileTypeIconMap.ts +++ b/packages/react-file-type-icons/src/FileTypeIconMap.ts @@ -568,7 +568,6 @@ export const FileTypeIconMap: { [key: string]: { extensions?: string[] } } = { ], }, video360: {}, - wikipage: {}, vsdx: { extensions: ['vdx', 'vsd', 'vsdm', 'vsdx', 'vsw', 'vdw'], }, @@ -581,6 +580,7 @@ export const FileTypeIconMap: { [key: string]: { extensions?: string[] } } = { whiteboard: { extensions: ['whiteboard', 'wbtx'], }, + wikipage: {}, xlsx: { extensions: ['xlc', 'xls', 'xlsb', 'xlsm', 'xlsx', 'xlw'], },