diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/.gitignore b/Environment Integration/SharePoint/pdfviewer-spfx/.gitignore new file mode 100644 index 0000000..5de8473 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx/.gitignore @@ -0,0 +1,38 @@ +# Logs +logs +*.log +npm-debug.log* + +# Dependency directories +node_modules + +# Build generated files +dist +lib +lib-dts +lib-commonjs +lib-esm +jest-output +release +solution +temp +*.sppkg +.heft + +# Coverage directory used by tools like istanbul +coverage + +# OSX +.DS_Store + +# Visual Studio files +.ntvs_analysis.dat +.vs +bin +obj + +# Resx Generated Code +*.resx.ts + +# Styles Generated Code +*.scss.ts diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/.npmignore b/Environment Integration/SharePoint/pdfviewer-spfx/.npmignore new file mode 100644 index 0000000..b2625b8 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx/.npmignore @@ -0,0 +1,22 @@ +# Ignore everything by default +** + +# Use negative patterns to bring back the specific things we want to publish +!/bin/** +!/dist/** +!/EULA/** +!/lib/** +!ThirdPartyNotice.txt + +# Ignore certain files in the above folders +/dist/*.stats.* +/dist/**/*.js.map +/lib/**/*.js.map +/lib/**/test/** + +# NOTE: These don't need to be specified, because NPM includes them automatically. +# +# package.json +# README (and its variants) +# CHANGELOG (and its variants) +# LICENSE / LICENCE diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/.yo-rc.json b/Environment Integration/SharePoint/pdfviewer-spfx/.yo-rc.json new file mode 100644 index 0000000..86edc06 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx/.yo-rc.json @@ -0,0 +1,19 @@ +{ + "@microsoft/generator-sharepoint": { + "useGulp": false, + "plusBeta": false, + "isCreatingSolution": true, + "nodeVersion": "22.22.3", + "sdksVersions": {}, + "version": "1.23.2", + "libraryName": "pdfviewer-spfx", + "libraryId": "476209fe-4e45-426c-9977-20e5fe0baf57", + "environment": "spo", + "packageManager": "npm", + "solutionName": "pdfviewer-spfx", + "solutionShortDescription": "pdfviewer-spfx description", + "skipFeatureDeployment": true, + "isDomainIsolated": false, + "componentType": "webpart" + } +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/README.md b/Environment Integration/SharePoint/pdfviewer-spfx/README.md new file mode 100644 index 0000000..7c9d927 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx/README.md @@ -0,0 +1,77 @@ +# pdfviewer-spfx + +## Summary + +Short summary on functionality and used technologies. + +[picture of the solution in action, if possible] + +## Used SharePoint Framework Version + +![version](https://img.shields.io/badge/version-1.23.2-green.svg) + +## Applies to + +- [SharePoint Framework](https://aka.ms/spfx) +- [Microsoft 365 tenant](https://docs.microsoft.com/sharepoint/dev/spfx/set-up-your-developer-tenant) + +> Get your own free development tenant by subscribing to [Microsoft 365 developer program](http://aka.ms/o365devprogram) + +## Prerequisites + +> Any special pre-requisites? + +## Solution + +| Solution | Author(s) | +| ----------- | ------------------------------------------------------- | +| folder name | Author details (name, company, twitter alias with link) | + +## Version history + +| Version | Date | Comments | +| ------- | ---------------- | --------------- | +| 1.1 | March 10, 2021 | Update comment | +| 1.0 | January 29, 2021 | Initial release | + +## Disclaimer + +**THIS CODE IS PROVIDED _AS IS_ WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.** + +--- + +## Minimal Path to Awesome + +- Clone this repository +- Ensure that you are at the solution folder +- in the command-line run: + - `npm install -g @rushstack/heft` + - `npm install` + - `heft start` + +> Include any additional steps as needed. + +Other build commands can be listed using `heft --help`. + +## Features + +Description of the extension that expands upon high-level summary above. + +This extension illustrates the following concepts: + +- topic 1 +- topic 2 +- topic 3 + +> Notice that better pictures and documentation will increase the sample usage and the value you are providing for others. Thanks for your submissions advance. + +> Share your web part with others through Microsoft 365 Patterns and Practices program to get visibility and exposure. More details on the community, open-source projects and other activities from http://aka.ms/m365pnp. + +## References + +- [Getting started with SharePoint Framework](https://docs.microsoft.com/sharepoint/dev/spfx/set-up-your-developer-tenant) +- [Building for Microsoft teams](https://docs.microsoft.com/sharepoint/dev/spfx/build-for-teams-overview) +- [Use Microsoft Graph in your solution](https://docs.microsoft.com/sharepoint/dev/spfx/web-parts/get-started/using-microsoft-graph-apis) +- [Publish SharePoint Framework applications to the Marketplace](https://docs.microsoft.com/sharepoint/dev/spfx/publish-to-marketplace-overview) +- [Microsoft 365 Patterns and Practices](https://aka.ms/m365pnp) - Guidance, tooling, samples and open-source controls for your Microsoft 365 development +- [Heft Documentation](https://heft.rushstack.io/) \ No newline at end of file diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/config/config.json b/Environment Integration/SharePoint/pdfviewer-spfx/config/config.json new file mode 100644 index 0000000..c238cb0 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx/config/config.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json", + "version": "2.0", + "bundles": { + "pdf-viewer-web-part": { + "components": [ + { + "entrypoint": "./lib/webparts/pdfViewer/PdfViewerWebPart.js", + "manifest": "./src/webparts/pdfViewer/PdfViewerWebPart.manifest.json" + } + ] + } + }, + "externals": {}, + "localizedResources": { + "PdfViewerWebPartStrings": "lib/webparts/pdfViewer/loc/{locale}.js" + } +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/config/deploy-azure-storage.json b/Environment Integration/SharePoint/pdfviewer-spfx/config/deploy-azure-storage.json new file mode 100644 index 0000000..20c839e --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx/config/deploy-azure-storage.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json", + "workingDir": "./release/assets/", + "account": "", + "container": "pdfviewer-spfx", + "accessKey": "" +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/config/package-solution.json b/Environment Integration/SharePoint/pdfviewer-spfx/config/package-solution.json new file mode 100644 index 0000000..0672b4c --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx/config/package-solution.json @@ -0,0 +1,40 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json", + "solution": { + "name": "pdfviewer-spfx-client-side-solution", + "id": "476209fe-4e45-426c-9977-20e5fe0baf57", + "version": "1.0.0.0", + "includeClientSideAssets": true, + "skipFeatureDeployment": true, + "isDomainIsolated": false, + "developer": { + "name": "", + "websiteUrl": "", + "privacyUrl": "", + "termsOfUseUrl": "", + "mpnId": "Undefined-1.23.2" + }, + "metadata": { + "shortDescription": { + "default": "pdfviewer-spfx description" + }, + "longDescription": { + "default": "pdfviewer-spfx description" + }, + "screenshotPaths": [], + "videoUrl": "", + "categories": [] + }, + "features": [ + { + "title": "pdfviewer-spfx Feature", + "description": "The feature that activates elements of the pdfviewer-spfx solution.", + "id": "ffbf0dac-8778-4d7e-b08a-5ad8790b10f2", + "version": "1.0.0.0" + } + ] + }, + "paths": { + "zippedPackage": "solution/pdfviewer-spfx.sppkg" + } +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/config/rig.json b/Environment Integration/SharePoint/pdfviewer-spfx/config/rig.json new file mode 100644 index 0000000..99e3431 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx/config/rig.json @@ -0,0 +1,7 @@ +{ + // The "rig.json" file directs tools to look for their config files in an external package. + // Documentation for this system: https://www.npmjs.com/package/@rushstack/rig-package + "$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json", + + "rigPackageName": "@microsoft/spfx-web-build-rig" +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/config/sass.json b/Environment Integration/SharePoint/pdfviewer-spfx/config/sass.json new file mode 100644 index 0000000..1cfc17b --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx/config/sass.json @@ -0,0 +1,5 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/heft/v0/heft-sass-plugin.schema.json", + + "extends": "@microsoft/spfx-web-build-rig/profiles/default/config/sass.json" +} \ No newline at end of file diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/config/serve.json b/Environment Integration/SharePoint/pdfviewer-spfx/config/serve.json new file mode 100644 index 0000000..e608ddf --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx/config/serve.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/spfx-serve.schema.json", + "port": 4321, + "https": true, + "initialPage": "https://syncfusion.sharepoint.com/sites/syncfusionPdfviewer/_layouts/workbench.aspx" +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/config/typescript.json b/Environment Integration/SharePoint/pdfviewer-spfx/config/typescript.json new file mode 100644 index 0000000..ce4cc73 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx/config/typescript.json @@ -0,0 +1,9 @@ +{ + "extends": "@microsoft/spfx-web-build-rig/profiles/default/config/typescript.json", + + "staticAssetsToCopy": { + "fileExtensions": [".resx", ".jpg", ".png", ".woff", ".eot", ".ttf", ".svg", ".gif"], + + "includeGlobs": ["webparts/*/loc/*.js"] + } +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/config/write-manifests.json b/Environment Integration/SharePoint/pdfviewer-spfx/config/write-manifests.json new file mode 100644 index 0000000..bad3526 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx/config/write-manifests.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json", + "cdnBasePath": "" +} \ No newline at end of file diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/eslint.config.js b/Environment Integration/SharePoint/pdfviewer-spfx/eslint.config.js new file mode 100644 index 0000000..859c155 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx/eslint.config.js @@ -0,0 +1,14 @@ +const spfxProfile = require('@microsoft/eslint-config-spfx/lib/flat-profiles/default'); + +module.exports = [ + ...spfxProfile, + { + files: ['**/*.ts', '**/*.tsx'], + languageOptions: { + parserOptions: { + tsconfigRootDir: __dirname, + project: './tsconfig.json' + } + } + } +]; diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/package.json b/Environment Integration/SharePoint/pdfviewer-spfx/package.json new file mode 100644 index 0000000..0a49ba7 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx/package.json @@ -0,0 +1,43 @@ +{ + "name": "pdfviewer-spfx", + "version": "0.0.1", + "private": true, + "engines": { + "node": ">=22.14.0 < 23.0.0" + }, + "scripts": { + "build": "heft test --clean --production && heft package-solution --production", + "clean": "heft clean", + "eject-webpack": "heft eject-webpack", + "start": "heft start --clean" + }, + "dependencies": { + "@microsoft/sp-component-base": "1.23.2", + "@microsoft/sp-core-library": "1.23.2", + "@microsoft/sp-lodash-subset": "1.23.2", + "@microsoft/sp-office-ui-fabric-core": "1.23.2", + "@microsoft/sp-property-pane": "1.23.2", + "@microsoft/sp-webpart-base": "1.23.2", + "@syncfusion/ej2-material-theme": "^34.2.5", + "@syncfusion/ej2-pdfviewer": "^34.2.5", + "gulp": "^5.0.1", + "tslib": "2.3.1" + }, + "devDependencies": { + "@fluentui/react": "^8.106.4", + "@microsoft/eslint-config-spfx": "1.23.2", + "@microsoft/eslint-plugin-spfx": "1.23.2", + "@microsoft/sp-module-interfaces": "1.23.2", + "@microsoft/spfx-heft-plugins": "1.23.2", + "@microsoft/spfx-web-build-rig": "1.23.2", + "@rushstack/heft": "1.2.17", + "@types/jest": "30.0.0", + "@types/webpack-env": "~1.15.2", + "css-loader": "~7.1.2", + "eslint": "9.37.0", + "typescript": "~5.8.0" + }, + "overrides": { + "@rushstack/heft": "1.2.17" + } +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/src/webparts/pdfViewer/PdfViewerWebPart.manifest.json b/Environment Integration/SharePoint/pdfviewer-spfx/src/webparts/pdfViewer/PdfViewerWebPart.manifest.json new file mode 100644 index 0000000..32445e3 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx/src/webparts/pdfViewer/PdfViewerWebPart.manifest.json @@ -0,0 +1,28 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json", + "id": "74691b07-7da8-4f57-9062-74ce5330ec4a", + "alias": "PdfViewerWebPart", + "componentType": "WebPart", + + // The "*" signifies that the version should be taken from the package.json + "version": "*", + "manifestVersion": 2, + + // If true, the component can only be installed on sites where Custom Script is allowed. + // Components that allow authors to embed arbitrary script code should set this to true. + // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f + "requiresCustomScript": false, + "supportedHosts": ["SharePointWebPart", "TeamsPersonalApp", "TeamsTab", "SharePointFullPage"], + "supportsThemeVariants": true, + + "preconfiguredEntries": [{ + "groupId": "5c03119e-3074-46fd-976b-c60198311f70", // Advanced + "group": { "default": "Advanced" }, + "title": { "default": "PdfViewer" }, + "description": { "default": "PdfViewer description" }, + "officeFabricIconFontName": "Page", + "properties": { + "description": "PdfViewer" + } + }] +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/src/webparts/pdfViewer/PdfViewerWebPart.module.scss b/Environment Integration/SharePoint/pdfviewer-spfx/src/webparts/pdfViewer/PdfViewerWebPart.module.scss new file mode 100644 index 0000000..aab3d41 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx/src/webparts/pdfViewer/PdfViewerWebPart.module.scss @@ -0,0 +1,29 @@ +.pdfViewer { + overflow: hidden; + padding: 1em; + color: "[theme:bodyText, default: #323130]"; + color: var(--bodyText); +} + +.welcome { + text-align: center; +} + +.welcomeImage { + width: 100%; + max-width: 420px; +} + +.links { + a { + text-decoration: none; + color: "[theme:link, default:#03787c]"; + color: var(--link); // note: CSS Custom Properties support is limited to modern browsers only + + &:hover { + text-decoration: underline; + color: "[theme:linkHovered, default: #014446]"; + color: var(--linkHovered); // note: CSS Custom Properties support is limited to modern browsers only + } + } +} \ No newline at end of file diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/src/webparts/pdfViewer/PdfViewerWebPart.ts b/Environment Integration/SharePoint/pdfviewer-spfx/src/webparts/pdfViewer/PdfViewerWebPart.ts new file mode 100644 index 0000000..a3c0241 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx/src/webparts/pdfViewer/PdfViewerWebPart.ts @@ -0,0 +1,155 @@ +import { Version } from '@microsoft/sp-core-library'; +import { + type IPropertyPaneConfiguration, + PropertyPaneTextField +} from '@microsoft/sp-property-pane'; +import { BaseClientSideWebPart } from '@microsoft/sp-webpart-base'; +import type { IReadonlyTheme } from '@microsoft/sp-component-base'; +import { escape } from '@microsoft/sp-lodash-subset'; +//import '../node_modules/@syncfusion/ej2-tailwind3-theme/styles/pdfviewer/index.css'; + +import { + PdfViewer, + Toolbar, + Magnification, + Navigation, + LinkAnnotation, + BookmarkView, + ThumbnailView, + Print, + TextSelection, + TextSearch, + Annotation, + FormFields, + FormDesigner +} from '@syncfusion/ej2-pdfviewer'; + +// import styles from './PdfViewerWebPart.module.scss'; + import * as strings from 'PdfViewerWebPartStrings'; +// import welcomeDark from './assets/welcome-dark.png'; +// import welcomeLight from './assets/welcome-light.png'; + +export interface IPdfViewerWebPartProps { + description: string; +} + +export default class PdfViewerWebPart extends BaseClientSideWebPart { + + private _isDarkTheme: boolean = false; + private _environmentMessage: string = ''; + +public render(): void { + + this.domElement.innerHTML = ` + +
+ `; + + PdfViewer.Inject( + Toolbar, + Magnification, + Navigation, + LinkAnnotation, + BookmarkView, + ThumbnailView, + Print, + TextSelection, + TextSearch, + Annotation, + FormFields, + FormDesigner + ); + + const viewer: PdfViewer = new PdfViewer({ + documentPath: + 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf', + resourceUrl: + 'https://syncfusion.sharepoint.com/sites/syncfusionPdfviewer/SiteAssets/ej2-pdfviewer-lib' + }); + + viewer.appendTo('#pdfViewer'); +} + +protected onDispose(): void { + this.domElement.innerHTML = ''; +} + + protected onInit(): Promise { + return this._getEnvironmentMessage().then(message => { + this._environmentMessage = message; + }); + } + + + + private _getEnvironmentMessage(): Promise { + if (!!this.context.sdks.microsoftTeams) { // running in Teams, office.com or Outlook + return this.context.sdks.microsoftTeams.teamsJs.app.getContext() + .then(context => { + let environmentMessage: string = ''; + switch (context.app.host.name) { + case 'Office': // running in Office + environmentMessage = this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentOffice : strings.AppOfficeEnvironment; + break; + case 'Outlook': // running in Outlook + environmentMessage = this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentOutlook : strings.AppOutlookEnvironment; + break; + case 'Teams': // running in Teams + case 'TeamsModern': + environmentMessage = this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentTeams : strings.AppTeamsTabEnvironment; + break; + default: + environmentMessage = strings.UnknownEnvironment; + } + + return environmentMessage; + }); + } + + return Promise.resolve(this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentSharePoint : strings.AppSharePointEnvironment); + } + + protected onThemeChanged(currentTheme: IReadonlyTheme | undefined): void { + if (!currentTheme) { + return; + } + + this._isDarkTheme = !!currentTheme.isInverted; + const { + semanticColors + } = currentTheme; + + if (semanticColors) { + this.domElement.style.setProperty('--bodyText', semanticColors.bodyText || null); + this.domElement.style.setProperty('--link', semanticColors.link || null); + this.domElement.style.setProperty('--linkHovered', semanticColors.linkHovered || null); + } + + } + + protected get dataVersion(): Version { + return Version.parse('1.0'); + } + + protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration { + return { + pages: [ + { + header: { + description: strings.PropertyPaneDescription + }, + groups: [ + { + groupName: strings.BasicGroupName, + groupFields: [ + PropertyPaneTextField('description', { + label: strings.DescriptionFieldLabel + }) + ] + } + ] + } + ] + }; + } +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/src/webparts/pdfViewer/assets/welcome-dark.png b/Environment Integration/SharePoint/pdfviewer-spfx/src/webparts/pdfViewer/assets/welcome-dark.png new file mode 100644 index 0000000..42f0b8d Binary files /dev/null and b/Environment Integration/SharePoint/pdfviewer-spfx/src/webparts/pdfViewer/assets/welcome-dark.png differ diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/src/webparts/pdfViewer/assets/welcome-light.png b/Environment Integration/SharePoint/pdfviewer-spfx/src/webparts/pdfViewer/assets/welcome-light.png new file mode 100644 index 0000000..69eb3b4 Binary files /dev/null and b/Environment Integration/SharePoint/pdfviewer-spfx/src/webparts/pdfViewer/assets/welcome-light.png differ diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/src/webparts/pdfViewer/loc/en-us.js b/Environment Integration/SharePoint/pdfviewer-spfx/src/webparts/pdfViewer/loc/en-us.js new file mode 100644 index 0000000..3b25e74 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx/src/webparts/pdfViewer/loc/en-us.js @@ -0,0 +1,16 @@ +define([], function() { + return { + "PropertyPaneDescription": "Description", + "BasicGroupName": "Group Name", + "DescriptionFieldLabel": "Description Field", + "AppLocalEnvironmentSharePoint": "The app is running on your local environment as SharePoint web part", + "AppLocalEnvironmentTeams": "The app is running on your local environment as Microsoft Teams app", + "AppLocalEnvironmentOffice": "The app is running on your local environment in office.com", + "AppLocalEnvironmentOutlook": "The app is running on your local environment in Outlook", + "AppSharePointEnvironment": "The app is running on SharePoint page", + "AppTeamsTabEnvironment": "The app is running in Microsoft Teams", + "AppOfficeEnvironment": "The app is running in office.com", + "AppOutlookEnvironment": "The app is running in Outlook", + "UnknownEnvironment": "The app is running in an unknown environment" + } +}); \ No newline at end of file diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/src/webparts/pdfViewer/loc/mystrings.d.ts b/Environment Integration/SharePoint/pdfviewer-spfx/src/webparts/pdfViewer/loc/mystrings.d.ts new file mode 100644 index 0000000..db82c4a --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx/src/webparts/pdfViewer/loc/mystrings.d.ts @@ -0,0 +1,19 @@ +declare interface IPdfViewerWebPartStrings { + PropertyPaneDescription: string; + BasicGroupName: string; + DescriptionFieldLabel: string; + AppLocalEnvironmentSharePoint: string; + AppLocalEnvironmentTeams: string; + AppLocalEnvironmentOffice: string; + AppLocalEnvironmentOutlook: string; + AppSharePointEnvironment: string; + AppTeamsTabEnvironment: string; + AppOfficeEnvironment: string; + AppOutlookEnvironment: string; + UnknownEnvironment: string; +} + +declare module 'PdfViewerWebPartStrings' { + const strings: IPdfViewerWebPartStrings; + export = strings; +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/teams/74691b07-7da8-4f57-9062-74ce5330ec4a_color.png b/Environment Integration/SharePoint/pdfviewer-spfx/teams/74691b07-7da8-4f57-9062-74ce5330ec4a_color.png new file mode 100644 index 0000000..0e1f764 Binary files /dev/null and b/Environment Integration/SharePoint/pdfviewer-spfx/teams/74691b07-7da8-4f57-9062-74ce5330ec4a_color.png differ diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/teams/74691b07-7da8-4f57-9062-74ce5330ec4a_outline.png b/Environment Integration/SharePoint/pdfviewer-spfx/teams/74691b07-7da8-4f57-9062-74ce5330ec4a_outline.png new file mode 100644 index 0000000..e8cb4b6 Binary files /dev/null and b/Environment Integration/SharePoint/pdfviewer-spfx/teams/74691b07-7da8-4f57-9062-74ce5330ec4a_outline.png differ diff --git a/Environment Integration/SharePoint/pdfviewer-spfx/tsconfig.json b/Environment Integration/SharePoint/pdfviewer-spfx/tsconfig.json new file mode 100644 index 0000000..ee582d5 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/@microsoft/spfx-web-build-rig/profiles/default/tsconfig-base.json" +}