Enter Tracking Pixel URL
Inserted Tracking Pixels:
None detected (Click the box to highlight the pixel)Instructions
- Create a Tracking Pixel using go.rutgers.edu
- Paste the link into the box
- Click '+' button
diff --git a/shrunk-prod-dist.zip b/shrunk-prod-dist.zip deleted file mode 100644 index 8d17894..0000000 Binary files a/shrunk-prod-dist.zip and /dev/null differ diff --git a/shrunk-prod-dist/05e4a8ee01c4c61da036.css b/shrunk-prod-dist/05e4a8ee01c4c61da036.css deleted file mode 100644 index 79eccdb..0000000 --- a/shrunk-prod-dist/05e4a8ee01c4c61da036.css +++ /dev/null @@ -1,265 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. - * See LICENSE in the project root for license information. - */ - -html, -body { - width: 100%; - height: 100%; - margin: 0; - padding: 0; -} - -ul { - margin: 0; - padding: 0; -} - -.ms-welcome__header { - padding: 20px; - padding-bottom: 30px; - padding-top: 100px; - display: -webkit-flex; - display: flex; - -webkit-flex-direction: column; - flex-direction: column; - align-items: center; -} - -.ms-welcome__main { - display: -webkit-flex; - display: flex; - -webkit-flex-direction: column; - flex-direction: column; - -webkit-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-align-items: center; - align-items: center; - -webkit-flex: 1 0 0; - flex: 1 0 0; - padding: 10px 20px; -} - -.ms-welcome__main>h2 { - width: 100%; - text-align: center; -} - -.ms-welcome__features { - list-style-type: none; - margin-top: 20px; -} - -.ms-welcome__features.ms-List .ms-ListItem { - padding-bottom: 20px; - display: -webkit-flex; - display: flex; -} - -.ms-welcome__features.ms-List .ms-ListItem>.ms-Icon { - margin-right: 10px; -} - -.ms-welcome__action.ms-Button--hero { - margin-top: 30px; -} - -.ms-Button.ms-Button--hero .ms-Button-label { - color: #0078d7; -} - -.ms-Button.ms-Button--hero:hover .ms-Button-label, -.ms-Button.ms-Button--hero:focus .ms-Button-label { - color: #005a9e; - cursor: pointer; -} - -b { - font-weight: bold; -} - -#insert { - display: flex; - align-items: center; - justify-content: center; -} - -#insert img { - width: 30px; - height: 30px; -} - -.button { - margin: 5px; - font-size: large; - border-radius: 12px; - color: white; - background-color: #cc0033; - font-weight: bold; - transition: 0.1s all; -} - -.button:hover { - background-color: #940025; - cursor: pointer; - transform: scale(1.05); -} - -#tracking-pixel-url { - width: 100%; - padding: 7px; - border-radius: 5px; - outline: none; - border-width: 0px; - outline: 2px solid #ccc; -} - -.bold { - font-weight: bold; -} - -.flex { - display: flex; - flex-direction: row; - justify-content: space-between; - align-items: center; -} - -.instructions { - margin-top: 30px; - box-shadow: 2px 2px 6px 2px rgb(206, 206, 206, 0.5); - border-radius: 8px; - padding: 20px; - font-size: small; - color: white; - background-color: #ff5b5b; - transition: 0.1s all; - text-align: left; -} - -.instructions li { - margin-top: 10px; -} - -.instructions h3 { - margin: 0; - text-decoration: underline; -} - -#shrunk-link-detected { - width: 100%; - color: red; - font-weight: bold; - text-align: center; - text-wrap: wrap; - visibility: hidden; -} - -.instructions a { - text-decoration: none; - color: inherit; - font-weight: bold; - -} - -.instructions a:hover { - text-decoration: underline; -} - -.container { - width: 100%; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - - margin-top: 15px; - padding: 20px; -} - -.container h2 { - margin-bottom: 5px; -} - -.container em { - margin-bottom: 5px; - font-size: small; - color: gray -} - -#inserted-tracking-pixels-container { - width: 100%; -} - -#inserted-tracking-pixels-container div { - margin: 1px; - width: 100%; - border-radius: 8px; - background-color: #ff5b5b; - color: white; - display: flex; - flex-direction: row; - justify-content: space-between; - align-items: center; - transition: 0.1s all; - - box-shadow: 2px 2px 6px 2px rgb(206, 206, 206, 0.5); -} - -#inserted-tracking-pixels-container div:hover { - background-color: #940025; - cursor: pointer; -} - -#inserted-tracking-pixels-container div p { - max-width: 70%; - padding-left: 10px; - max-height: 20px; - text-overflow: ellipsis; - overflow: hidden; - font-size: small; - text-wrap: nowrap; -} - -#inserted-tracking-pixels-container button { - text-align: center; - font-size: x-large; - font-weight: bolder; - color: white; - border: none; - transition: 0.1s all; - background-color: transparent; - line-height: 1px; -} - -#inserted-tracking-pixels-container button img { - width: 20px; - height: 20px; - transition: 0.25s all; -} - -#inserted-tracking-pixels-container button img:hover { - transform: scale(1.2); - cursor: pointer; -} - -.feedback { - margin-top: 40px; -} - -.feedback a { - text-decoration: none; - position: relative; - color: white; - font-weight: bold; - background-color: #ff5b5b; - border-radius: 8px; - padding: 8px 10px; - transition: 0.2s all; -} - -.feedback a:hover { - background-color: #d30337; - cursor: pointer; -} \ No newline at end of file diff --git a/shrunk-prod-dist/612bd852153055670686.svg b/shrunk-prod-dist/612bd852153055670686.svg deleted file mode 100644 index fcbd6f3..0000000 --- a/shrunk-prod-dist/612bd852153055670686.svg +++ /dev/null @@ -1,8 +0,0 @@ - - \ No newline at end of file diff --git a/shrunk-prod-dist/assets/RUTGERS_H_RED_BLACK_RGB.png b/shrunk-prod-dist/assets/RUTGERS_H_RED_BLACK_RGB.png deleted file mode 100644 index 267433c..0000000 Binary files a/shrunk-prod-dist/assets/RUTGERS_H_RED_BLACK_RGB.png and /dev/null differ diff --git a/shrunk-prod-dist/assets/add_svg.svg b/shrunk-prod-dist/assets/add_svg.svg deleted file mode 100644 index fcbd6f3..0000000 --- a/shrunk-prod-dist/assets/add_svg.svg +++ /dev/null @@ -1,8 +0,0 @@ - - \ No newline at end of file diff --git a/shrunk-prod-dist/assets/delete_svg.svg b/shrunk-prod-dist/assets/delete_svg.svg deleted file mode 100644 index 3c09137..0000000 --- a/shrunk-prod-dist/assets/delete_svg.svg +++ /dev/null @@ -1,7 +0,0 @@ - - \ No newline at end of file diff --git a/shrunk-prod-dist/assets/icon-128.png b/shrunk-prod-dist/assets/icon-128.png deleted file mode 100644 index 37dfcd7..0000000 Binary files a/shrunk-prod-dist/assets/icon-128.png and /dev/null differ diff --git a/shrunk-prod-dist/assets/icon-16.png b/shrunk-prod-dist/assets/icon-16.png deleted file mode 100644 index b650979..0000000 Binary files a/shrunk-prod-dist/assets/icon-16.png and /dev/null differ diff --git a/shrunk-prod-dist/assets/icon-32.png b/shrunk-prod-dist/assets/icon-32.png deleted file mode 100644 index dcf56db..0000000 Binary files a/shrunk-prod-dist/assets/icon-32.png and /dev/null differ diff --git a/shrunk-prod-dist/assets/icon-64.png b/shrunk-prod-dist/assets/icon-64.png deleted file mode 100644 index 41051fc..0000000 Binary files a/shrunk-prod-dist/assets/icon-64.png and /dev/null differ diff --git a/shrunk-prod-dist/assets/icon-80.png b/shrunk-prod-dist/assets/icon-80.png deleted file mode 100644 index 5e63769..0000000 Binary files a/shrunk-prod-dist/assets/icon-80.png and /dev/null differ diff --git a/shrunk-prod-dist/assets/logo-filled.png b/shrunk-prod-dist/assets/logo-filled.png deleted file mode 100644 index 5bf09cc..0000000 Binary files a/shrunk-prod-dist/assets/logo-filled.png and /dev/null differ diff --git a/shrunk-prod-dist/commands.html b/shrunk-prod-dist/commands.html deleted file mode 100644 index 6f3a200..0000000 --- a/shrunk-prod-dist/commands.html +++ /dev/null @@ -1 +0,0 @@ -
\ No newline at end of file diff --git a/shrunk-prod-dist/commands.js b/shrunk-prod-dist/commands.js deleted file mode 100644 index 39a7d0b..0000000 --- a/shrunk-prod-dist/commands.js +++ /dev/null @@ -1,2 +0,0 @@ -Office.onReady((function(){})),Office.actions.associate("action",(function(e){var i={type:Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,message:"Performed action.",icon:"Icon.80x80",persistent:!0};Office.context.mailbox.item.notificationMessages.replaceAsync("action",i),e.completed()})); -//# sourceMappingURL=commands.js.map \ No newline at end of file diff --git a/shrunk-prod-dist/commands.js.map b/shrunk-prod-dist/commands.js.map deleted file mode 100644 index fbbb834..0000000 --- a/shrunk-prod-dist/commands.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"commands.js","mappings":"AAOAA,OAAOC,SAAQ,WACb,IAuBFD,OAAOE,QAAQC,UAAU,UAhBzB,SAAgBC,GACd,IAAMC,EAA6C,CACjDC,KAAMN,OAAOO,aAAaC,4BAA4BC,qBACtDJ,QAAS,oBACTK,KAAM,aACNC,YAAY,GAIdX,OAAOY,QAAQC,QAAQC,KAAKC,qBAAqBC,aAAa,SAAUX,GAGxED,EAAMa,WACR","sources":["webpack://office-addin-taskpane/./src/commands/commands.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n * See LICENSE in the project root for license information.\n */\n\n/* global Office */\n\nOffice.onReady(() => {\n // If needed, Office.js is ready to be called.\n});\n\n/**\n * Shows a notification when the add-in command is executed.\n * @param event\n */\nfunction action(event: Office.AddinCommands.Event) {\n const message: Office.NotificationMessageDetails = {\n type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,\n message: \"Performed action.\",\n icon: \"Icon.80x80\",\n persistent: true,\n };\n\n // Show a notification message.\n Office.context.mailbox.item.notificationMessages.replaceAsync(\"action\", message);\n\n // Be sure to indicate when the add-in command function is complete.\n event.completed();\n}\n\n// Register the function with Office.\nOffice.actions.associate(\"action\", action);\n"],"names":["Office","onReady","actions","associate","event","message","type","MailboxEnums","ItemNotificationMessageType","InformationalMessage","icon","persistent","context","mailbox","item","notificationMessages","replaceAsync","completed"],"sourceRoot":""} \ No newline at end of file diff --git a/shrunk-prod-dist/manifest.xml b/shrunk-prod-dist/manifest.xml deleted file mode 100644 index af8330a..0000000 --- a/shrunk-prod-dist/manifest.xml +++ /dev/null @@ -1,97 +0,0 @@ - ->1,d=23===a?n(2,-24)-n(2,-77):0,y=t<0||0===t&&1/t<0?1:0,m=0;for((t=e(t))!=t||t===1/0?(f=t!=t?1:0,s=v):(s=i(o(t)/u),t*(l=n(2,-s))<1&&(s--,l*=2),(t+=s+g>=1?d/l:d*n(2,1-g))*l>=2&&(s++,l/=2),s+g>=v?(f=0,s=v):s+g>=1?(f=(t*l-1)*n(2,a),s+=g):(f=t*n(2,g-1)*n(2,a),s=0));a>=8;)h[m++]=255&f,f/=256,a-=8;for(s=s<0;)h[m++]=255&s,s/=256,p-=8;return h[--m]|=128*y,h},unpack:function(t,r){var e,i=t.length,o=8*i-r-1,u=(1< >1,d=23===a?n(2,-24)-n(2,-77):0,y=t<0||0===t&&1/t<0?1:0,m=0;for((t=e(t))!=t||t===1/0?(f=t!=t?1:0,s=v):(s=i(o(t)/u),t*(l=n(2,-s))<1&&(s--,l*=2),(t+=s+g>=1?d/l:d*n(2,1-g))*l>=2&&(s++,l/=2),s+g>=v?(f=0,s=v):s+g>=1?(f=(t*l-1)*n(2,a),s+=g):(f=t*n(2,g-1)*n(2,a),s=0));a>=8;)h[m++]=255&f,f/=256,a-=8;for(s=s<0;)h[m++]=255&s,s/=256,p-=8;return h[--m]|=128*y,h},unpack:function(t,r){var e,i=t.length,o=8*i-r-1,u=(1<Please sideload your add-in to see app body.
\ No newline at end of file
diff --git a/shrunk-prod-dist/taskpane.js b/shrunk-prod-dist/taskpane.js
deleted file mode 100644
index 6a264fb..0000000
--- a/shrunk-prod-dist/taskpane.js
+++ /dev/null
@@ -1,2 +0,0 @@
-!function(){"use strict";var e={53211:function(e,t){var n=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function c(e){try{l(i.next(e))}catch(e){r(e)}}function a(e){try{l(i.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(c,a)}l((i=i.apply(e,t||[])).next())}))},i=this&&this.__generator||function(e,t){var n,i,o,r,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(a){return function(l){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,a[0]&&(c=0)),c;)try{if(n=1,i&&(o=2&a[0]?i.return:a[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,a[1])).done)return o;switch(i=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return c.label++,{value:a[1],done:!1};case 5:c.label++,i=a[1],a=[0];continue;case 7:a=c.ops.pop(),c.trys.pop();continue;default:if(!((o=(o=c.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){c=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]
`,\n {\n coercionType: Office.CoercionType.Html,\n },\n () => {\n // release the lock once the tracking pixel is inserted\n insertLock = false;\n }\n );\n Office.context.mailbox.item.notificationMessages.replaceAsync(\"notify\", {\n type: \"informationalMessage\",\n message: \"Tracking pixel inserted\",\n persistent: false,\n icon: \"iconid\",\n });\n\n let container = document.getElementById(\"inserted-tracking-pixels-container\");\n let newTrackingPixelDiv = getTrackingPixelDiv(urlItem.value);\n\n container.appendChild(newTrackingPixelDiv);\n });\n}\n\nfunction setTrackingPixelBorder(borderStyle: string, src: string, callback: () => void) {\n Office.context.mailbox.item.body.getAsync(\"html\", {}, function (result) {\n let oldHTML = result.value;\n let dummy = document.createElement(\"div\");\n dummy.innerHTML = oldHTML;\n let image = dummy.querySelector(`img[src='${src}']`) as HTMLImageElement;\n if (image == null) return;\n image.style.border = borderStyle;\n Office.context.mailbox.item.body.setAsync(dummy.innerHTML, { coercionType: Office.CoercionType.Html }, callback);\n });\n}\n\nfunction getTrackingPixelDiv(url: string) {\n let trackingPixelDiv = document.createElement(\"div\");\n trackingPixelDiv.title = url;\n\n let text = document.createElement(\"p\");\n text.innerHTML = getAlias(url);\n trackingPixelDiv.appendChild(text);\n\n let removeButton = document.createElement(\"button\");\n // add the close_svg to the button\n let img = document.createElement(\"img\");\n // the svg is located in ../../assets/delete_svg.svg\n img.src = \"../../assets/delete_svg.svg\";\n removeButton.appendChild(img);\n\n removeButton.onclick = (event: MouseEvent) => {\n event.stopPropagation();\n trackingPixelDiv.remove();\n Office.context.mailbox.item.notificationMessages.replaceAsync(\"notify\", {\n type: \"informationalMessage\",\n message: \"Tracking pixel removed\",\n persistent: false,\n icon: \"iconid\",\n });\n\n Office.context.mailbox.item.body.getAsync(\"html\", {}, function (result) {\n let oldHTML = result.value;\n let dummy = document.createElement(\"div\");\n dummy.innerHTML = oldHTML;\n let allTrackingPixels = dummy.querySelectorAll(`img[title='${TRACKING_PIXEL_TITLE}']`);\n allTrackingPixels.forEach((image) => {\n if (image.getAttribute(\"src\") == trackingPixelDiv.title) {\n image.remove();\n }\n });\n Office.context.mailbox.item.body.setAsync(dummy.innerHTML, { coercionType: Office.CoercionType.Html });\n });\n };\n trackingPixelDiv.onclick = () => {\n if (highlightLock) return;\n let removeButton = trackingPixelDiv.querySelector(\"button\");\n setTrackingPixelBorder(\"5px solid red\", trackingPixelDiv.title, () => { });\n removeButton.disabled = true;\n trackingPixelDiv.style.pointerEvents = \"none\";\n highlightLock = true;\n setTimeout(() => {\n trackingPixelDiv.style.pointerEvents = \"auto\";\n trackingPixelDiv.style.border = \"none\";\n setTrackingPixelBorder(\"\", trackingPixelDiv.title, () => {\n highlightLock = false;\n });\n removeButton.disabled = false;\n }, 200);\n };\n\n trackingPixelDiv.appendChild(removeButton);\n return trackingPixelDiv;\n}\n","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../node_modules/.pnpm/html-loader@4.2.0_webpack@5.89.0/node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"./taskpane.css\", import.meta.url);\nvar ___HTML_LOADER_IMPORT_1___ = new URL(\"../../assets/RUTGERS_H_RED_BLACK_RGB.png\", import.meta.url);\nvar ___HTML_LOADER_IMPORT_2___ = new URL(\"../../assets/add_svg.svg\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar ___HTML_LOADER_REPLACEMENT_1___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_1___);\nvar ___HTML_LOADER_REPLACEMENT_2___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_2___);\nvar code = \"
Please sideload your add-in to see app body.
\";\n// Exports\nexport default code;","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n // eslint-disable-next-line no-param-reassign\n options = {};\n }\n\n if (!url) {\n return url;\n } // eslint-disable-next-line no-underscore-dangle, no-param-reassign\n\n\n url = String(url.__esModule ? url.default : url);\n\n if (options.hash) {\n // eslint-disable-next-line no-param-reassign\n url += options.hash;\n }\n\n if (options.maybeNeedQuotes && /[\\t\\n\\f\\r \"'=<>`]/.test(url)) {\n return \"\\\"\".concat(url, \"\\\"\");\n }\n\n return url;\n};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t41: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// no jsonp function","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\n__webpack_require__(53211);\nvar __webpack_exports__ = __webpack_require__(53407);\n"],"names":["getAsyncTrackingPixels","callback","Office","context","mailbox","item","body","getAsync","result","html","value","dummy","document","createElement","innerHTML","trackingPixels","querySelectorAll","concat","TRACKING_PIXEL_TITLE","insertLock","loadLock","highlightLock","prevChildNodes","loadTrackingPixels","container","getElementById","childNodes","length","style","display","forEach","trackingPixel","newTrackingPixel","getTrackingPixelDiv","getAttribute","push","replaceChildren","apply","i","title","onReady","info","host","HostType","Outlook","child","insertButton","onclick","insert","setInterval","urlItem","trim","error","match","notificationMessages","replaceAsync","type","message","icon","persistent","prependAsync","coercionType","CoercionType","Html","newTrackingPixelDiv","appendChild","setTrackingPixelBorder","borderStyle","src","oldHTML","image","querySelector","border","setAsync","url","trackingPixelDiv","text","replace","split","getAlias","removeButton","img","event","stopPropagation","remove","disabled","pointerEvents","setTimeout","exports","___HTML_LOADER_IMPORT_0___","URL","___HTML_LOADER_IMPORT_1___","___HTML_LOADER_IMPORT_2___","module","options","String","__esModule","default","hash","maybeNeedQuotes","test","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","call","m","n","getter","d","a","definition","key","o","Object","defineProperty","enumerable","get","g","globalThis","this","Function","e","window","obj","prop","prototype","hasOwnProperty","scriptUrl","importScripts","location","currentScript","scripts","getElementsByTagName","Error","p","b","baseURI","self","href"],"sourceRoot":""}
\ No newline at end of file
diff --git a/shrunk-test-dist.zip b/shrunk-test-dist.zip
deleted file mode 100644
index 4ae40c1..0000000
Binary files a/shrunk-test-dist.zip and /dev/null differ
diff --git a/shrunk-test-dist/05e4a8ee01c4c61da036.css b/shrunk-test-dist/05e4a8ee01c4c61da036.css
deleted file mode 100644
index 79eccdb..0000000
--- a/shrunk-test-dist/05e4a8ee01c4c61da036.css
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
- * See LICENSE in the project root for license information.
- */
-
-html,
-body {
- width: 100%;
- height: 100%;
- margin: 0;
- padding: 0;
-}
-
-ul {
- margin: 0;
- padding: 0;
-}
-
-.ms-welcome__header {
- padding: 20px;
- padding-bottom: 30px;
- padding-top: 100px;
- display: -webkit-flex;
- display: flex;
- -webkit-flex-direction: column;
- flex-direction: column;
- align-items: center;
-}
-
-.ms-welcome__main {
- display: -webkit-flex;
- display: flex;
- -webkit-flex-direction: column;
- flex-direction: column;
- -webkit-flex-wrap: nowrap;
- flex-wrap: nowrap;
- -webkit-align-items: center;
- align-items: center;
- -webkit-flex: 1 0 0;
- flex: 1 0 0;
- padding: 10px 20px;
-}
-
-.ms-welcome__main>h2 {
- width: 100%;
- text-align: center;
-}
-
-.ms-welcome__features {
- list-style-type: none;
- margin-top: 20px;
-}
-
-.ms-welcome__features.ms-List .ms-ListItem {
- padding-bottom: 20px;
- display: -webkit-flex;
- display: flex;
-}
-
-.ms-welcome__features.ms-List .ms-ListItem>.ms-Icon {
- margin-right: 10px;
-}
-
-.ms-welcome__action.ms-Button--hero {
- margin-top: 30px;
-}
-
-.ms-Button.ms-Button--hero .ms-Button-label {
- color: #0078d7;
-}
-
-.ms-Button.ms-Button--hero:hover .ms-Button-label,
-.ms-Button.ms-Button--hero:focus .ms-Button-label {
- color: #005a9e;
- cursor: pointer;
-}
-
-b {
- font-weight: bold;
-}
-
-#insert {
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-#insert img {
- width: 30px;
- height: 30px;
-}
-
-.button {
- margin: 5px;
- font-size: large;
- border-radius: 12px;
- color: white;
- background-color: #cc0033;
- font-weight: bold;
- transition: 0.1s all;
-}
-
-.button:hover {
- background-color: #940025;
- cursor: pointer;
- transform: scale(1.05);
-}
-
-#tracking-pixel-url {
- width: 100%;
- padding: 7px;
- border-radius: 5px;
- outline: none;
- border-width: 0px;
- outline: 2px solid #ccc;
-}
-
-.bold {
- font-weight: bold;
-}
-
-.flex {
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
-}
-
-.instructions {
- margin-top: 30px;
- box-shadow: 2px 2px 6px 2px rgb(206, 206, 206, 0.5);
- border-radius: 8px;
- padding: 20px;
- font-size: small;
- color: white;
- background-color: #ff5b5b;
- transition: 0.1s all;
- text-align: left;
-}
-
-.instructions li {
- margin-top: 10px;
-}
-
-.instructions h3 {
- margin: 0;
- text-decoration: underline;
-}
-
-#shrunk-link-detected {
- width: 100%;
- color: red;
- font-weight: bold;
- text-align: center;
- text-wrap: wrap;
- visibility: hidden;
-}
-
-.instructions a {
- text-decoration: none;
- color: inherit;
- font-weight: bold;
-
-}
-
-.instructions a:hover {
- text-decoration: underline;
-}
-
-.container {
- width: 100%;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
-
- margin-top: 15px;
- padding: 20px;
-}
-
-.container h2 {
- margin-bottom: 5px;
-}
-
-.container em {
- margin-bottom: 5px;
- font-size: small;
- color: gray
-}
-
-#inserted-tracking-pixels-container {
- width: 100%;
-}
-
-#inserted-tracking-pixels-container div {
- margin: 1px;
- width: 100%;
- border-radius: 8px;
- background-color: #ff5b5b;
- color: white;
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
- transition: 0.1s all;
-
- box-shadow: 2px 2px 6px 2px rgb(206, 206, 206, 0.5);
-}
-
-#inserted-tracking-pixels-container div:hover {
- background-color: #940025;
- cursor: pointer;
-}
-
-#inserted-tracking-pixels-container div p {
- max-width: 70%;
- padding-left: 10px;
- max-height: 20px;
- text-overflow: ellipsis;
- overflow: hidden;
- font-size: small;
- text-wrap: nowrap;
-}
-
-#inserted-tracking-pixels-container button {
- text-align: center;
- font-size: x-large;
- font-weight: bolder;
- color: white;
- border: none;
- transition: 0.1s all;
- background-color: transparent;
- line-height: 1px;
-}
-
-#inserted-tracking-pixels-container button img {
- width: 20px;
- height: 20px;
- transition: 0.25s all;
-}
-
-#inserted-tracking-pixels-container button img:hover {
- transform: scale(1.2);
- cursor: pointer;
-}
-
-.feedback {
- margin-top: 40px;
-}
-
-.feedback a {
- text-decoration: none;
- position: relative;
- color: white;
- font-weight: bold;
- background-color: #ff5b5b;
- border-radius: 8px;
- padding: 8px 10px;
- transition: 0.2s all;
-}
-
-.feedback a:hover {
- background-color: #d30337;
- cursor: pointer;
-}
\ No newline at end of file
diff --git a/shrunk-test-dist/612bd852153055670686.svg b/shrunk-test-dist/612bd852153055670686.svg
deleted file mode 100644
index fcbd6f3..0000000
--- a/shrunk-test-dist/612bd852153055670686.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
\ No newline at end of file
diff --git a/shrunk-test-dist/assets/RUTGERS_H_RED_BLACK_RGB.png b/shrunk-test-dist/assets/RUTGERS_H_RED_BLACK_RGB.png
deleted file mode 100644
index 267433c..0000000
Binary files a/shrunk-test-dist/assets/RUTGERS_H_RED_BLACK_RGB.png and /dev/null differ
diff --git a/shrunk-test-dist/assets/add_svg.svg b/shrunk-test-dist/assets/add_svg.svg
deleted file mode 100644
index fcbd6f3..0000000
--- a/shrunk-test-dist/assets/add_svg.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
\ No newline at end of file
diff --git a/shrunk-test-dist/assets/delete_svg.svg b/shrunk-test-dist/assets/delete_svg.svg
deleted file mode 100644
index 3c09137..0000000
--- a/shrunk-test-dist/assets/delete_svg.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
\ No newline at end of file
diff --git a/shrunk-test-dist/assets/icon-128.png b/shrunk-test-dist/assets/icon-128.png
deleted file mode 100644
index 37dfcd7..0000000
Binary files a/shrunk-test-dist/assets/icon-128.png and /dev/null differ
diff --git a/shrunk-test-dist/assets/icon-16.png b/shrunk-test-dist/assets/icon-16.png
deleted file mode 100644
index b650979..0000000
Binary files a/shrunk-test-dist/assets/icon-16.png and /dev/null differ
diff --git a/shrunk-test-dist/assets/icon-32.png b/shrunk-test-dist/assets/icon-32.png
deleted file mode 100644
index dcf56db..0000000
Binary files a/shrunk-test-dist/assets/icon-32.png and /dev/null differ
diff --git a/shrunk-test-dist/assets/icon-64.png b/shrunk-test-dist/assets/icon-64.png
deleted file mode 100644
index 41051fc..0000000
Binary files a/shrunk-test-dist/assets/icon-64.png and /dev/null differ
diff --git a/shrunk-test-dist/assets/icon-80.png b/shrunk-test-dist/assets/icon-80.png
deleted file mode 100644
index 5e63769..0000000
Binary files a/shrunk-test-dist/assets/icon-80.png and /dev/null differ
diff --git a/shrunk-test-dist/assets/logo-filled.png b/shrunk-test-dist/assets/logo-filled.png
deleted file mode 100644
index 5bf09cc..0000000
Binary files a/shrunk-test-dist/assets/logo-filled.png and /dev/null differ
diff --git a/shrunk-test-dist/commands.html b/shrunk-test-dist/commands.html
deleted file mode 100644
index 6f3a200..0000000
--- a/shrunk-test-dist/commands.html
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/shrunk-test-dist/commands.js b/shrunk-test-dist/commands.js
deleted file mode 100644
index 39a7d0b..0000000
--- a/shrunk-test-dist/commands.js
+++ /dev/null
@@ -1,2 +0,0 @@
-Office.onReady((function(){})),Office.actions.associate("action",(function(e){var i={type:Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,message:"Performed action.",icon:"Icon.80x80",persistent:!0};Office.context.mailbox.item.notificationMessages.replaceAsync("action",i),e.completed()}));
-//# sourceMappingURL=commands.js.map
\ No newline at end of file
diff --git a/shrunk-test-dist/commands.js.map b/shrunk-test-dist/commands.js.map
deleted file mode 100644
index fbbb834..0000000
--- a/shrunk-test-dist/commands.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"commands.js","mappings":"AAOAA,OAAOC,SAAQ,WACb,IAuBFD,OAAOE,QAAQC,UAAU,UAhBzB,SAAgBC,GACd,IAAMC,EAA6C,CACjDC,KAAMN,OAAOO,aAAaC,4BAA4BC,qBACtDJ,QAAS,oBACTK,KAAM,aACNC,YAAY,GAIdX,OAAOY,QAAQC,QAAQC,KAAKC,qBAAqBC,aAAa,SAAUX,GAGxED,EAAMa,WACR","sources":["webpack://office-addin-taskpane/./src/commands/commands.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n * See LICENSE in the project root for license information.\n */\n\n/* global Office */\n\nOffice.onReady(() => {\n // If needed, Office.js is ready to be called.\n});\n\n/**\n * Shows a notification when the add-in command is executed.\n * @param event\n */\nfunction action(event: Office.AddinCommands.Event) {\n const message: Office.NotificationMessageDetails = {\n type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,\n message: \"Performed action.\",\n icon: \"Icon.80x80\",\n persistent: true,\n };\n\n // Show a notification message.\n Office.context.mailbox.item.notificationMessages.replaceAsync(\"action\", message);\n\n // Be sure to indicate when the add-in command function is complete.\n event.completed();\n}\n\n// Register the function with Office.\nOffice.actions.associate(\"action\", action);\n"],"names":["Office","onReady","actions","associate","event","message","type","MailboxEnums","ItemNotificationMessageType","InformationalMessage","icon","persistent","context","mailbox","item","notificationMessages","replaceAsync","completed"],"sourceRoot":""}
\ No newline at end of file
diff --git a/shrunk-test-dist/manifest.xml b/shrunk-test-dist/manifest.xml
deleted file mode 100644
index b401d54..0000000
--- a/shrunk-test-dist/manifest.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
0;)f in e?e[s]=e[f]:u(e,s),s+=p,f+=p;return e}},63039:function(t,r,e){"use strict";var n=e(84874),i=e(50645),o=e(71024);t.exports=function(t){for(var r=n(this),e=o(r),u=arguments.length,a=i(u>1?arguments[1]:void 0,e),c=u>2?arguments[2]:void 0,s=void 0===c?e:i(c,e);s>a;)r[a++]=t;return r}},60755:function(t,r,e){"use strict";var n=e(86682).forEach,i=e(85668)("forEach");t.exports=i?[].forEach:function(t){return n(this,t,arguments.length>1?arguments[1]:void 0)}},19353:function(t,r,e){"use strict";var n=e(71024);t.exports=function(t,r,e){for(var i=0,o=arguments.length>2?e:n(r),u=new t(o);o>i;)u[i]=r[i++];return u}},41383:function(t,r,e){"use strict";var n=e(46913),i=e(55304),o=e(84874),u=e(47477),a=e(85525),c=e(95713),s=e(71024),f=e(58638),l=e(49392),h=e(29755),p=Array;t.exports=function(t){var r=o(t),e=c(this),v=arguments.length,g=v>1?arguments[1]:void 0,d=void 0!==g;d&&(g=n(g,v>2?arguments[2]:void 0));var y,m,b,x,w,E,S=h(r),A=0;if(!S||this===p&&a(S))for(y=s(r),m=e?new this(y):p(y);y>A;A++)E=d?g(r[A],A):r[A],f(m,A,E);else for(w=(x=l(r,S)).next,m=e?new this:[];!(b=i(w,x)).done;A++)E=d?u(x,g,[b.value,A],!0):b.value,f(m,A,E);return m.length=A,m}},43458:function(t,r,e){"use strict";var n=e(33238),i=e(50645),o=e(71024),u=function(t){return function(r,e,u){var a,c=n(r),s=o(c),f=i(u,s);if(t&&e!=e){for(;s>f;)if((a=c[f++])!=a)return!0}else for(;s>f;f++)if((t||f in c)&&c[f]===e)return t||f||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},38648:function(t,r,e){"use strict";var n=e(46913),i=e(93415),o=e(84874),u=e(71024),a=function(t){var r=1===t;return function(e,a,c){for(var s,f=o(e),l=i(f),h=u(l),p=n(a,c);h-- >0;)if(p(s=l[h],h,f))switch(t){case 0:return s;case 1:return h}return r?-1:void 0}};t.exports={findLast:a(0),findLastIndex:a(1)}},86682:function(t,r,e){"use strict";var n=e(46913),i=e(35207),o=e(93415),u=e(84874),a=e(71024),c=e(38730),s=i([].push),f=function(t){var r=1===t,e=2===t,i=3===t,f=4===t,l=6===t,h=7===t,p=5===t||l;return function(v,g,d,y){for(var m,b,x=u(v),w=o(x),E=a(w),S=n(g,d),A=0,O=y||c,R=r?O(v,E):e||h?O(v,0):void 0;E>A;A++)if((p||A in w)&&(b=S(m=w[A],A,x),t))if(r)R[A]=b;else if(b)switch(t){case 3:return!0;case 5:return m;case 6:return A;case 2:s(R,m)}else switch(t){case 4:return!1;case 7:s(R,m)}return l?-1:i||f?f:R}};t.exports={forEach:f(0),map:f(1),filter:f(2),some:f(3),every:f(4),find:f(5),findIndex:f(6),filterReject:f(7)}},50798:function(t,r,e){"use strict";var n=e(79500),i=e(33238),o=e(32501),u=e(71024),a=e(85668),c=Math.min,s=[].lastIndexOf,f=!!s&&1/[1].lastIndexOf(1,-0)<0,l=a("lastIndexOf"),h=f||!l;t.exports=h?function(t){if(f)return n(s,this,arguments)||0;var r=i(this),e=u(r),a=e-1;for(arguments.length>1&&(a=c(a,o(arguments[1]))),a<0&&(a=e+a);a>=0;a--)if(a in r&&r[a]===t)return a||0;return-1}:s},35728:function(t,r,e){"use strict";var n=e(5392),i=e(85553),o=e(36262),u=i("species");t.exports=function(t){return o>=51||!n((function(){var r=[];return(r.constructor={})[u]=function(){return{foo:1}},1!==r[t](Boolean).foo}))}},85668:function(t,r,e){"use strict";var n=e(5392);t.exports=function(t,r){var e=[][t];return!!e&&n((function(){e.call(null,r||function(){return 1},1)}))}},52253:function(t,r,e){"use strict";var n=e(20607),i=e(84874),o=e(93415),u=e(71024),a=TypeError,c=function(t){return function(r,e,c,s){var f=i(r),l=o(f),h=u(f);n(e);var p=t?h-1:0,v=t?-1:1;if(c<2)for(;;){if(p in l){s=l[p],p+=v;break}if(p+=v,t?p<0:h<=p)throw new a("Reduce of empty array with no initial value")}for(;t?p>=0:h>p;p+=v)p in l&&(s=e(s,l[p],p,f));return s}};t.exports={left:c(!1),right:c(!0)}},55303:function(t,r,e){"use strict";var n=e(91724),i=e(6308),o=TypeError,u=Object.getOwnPropertyDescriptor,a=n&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}();t.exports=a?function(t,r){if(i(t)&&!u(t,"length").writable)throw new o("Cannot set read only .length");return t.length=r}:function(t,r){return t.length=r}},54997:function(t,r,e){"use strict";var n=e(35207);t.exports=n([].slice)},99158:function(t,r,e){"use strict";var n=e(54997),i=Math.floor,o=function(t,r){var e=t.length;if(e<8)for(var u,a,c=1;cPlease sideload your add-in to see app body.
\ No newline at end of file
diff --git a/shrunk-test-dist/taskpane.js b/shrunk-test-dist/taskpane.js
deleted file mode 100644
index 6a264fb..0000000
--- a/shrunk-test-dist/taskpane.js
+++ /dev/null
@@ -1,2 +0,0 @@
-!function(){"use strict";var e={53211:function(e,t){var n=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function c(e){try{l(i.next(e))}catch(e){r(e)}}function a(e){try{l(i.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(c,a)}l((i=i.apply(e,t||[])).next())}))},i=this&&this.__generator||function(e,t){var n,i,o,r,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(a){return function(l){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,a[0]&&(c=0)),c;)try{if(n=1,i&&(o=2&a[0]?i.return:a[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,a[1])).done)return o;switch(i=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return c.label++,{value:a[1],done:!1};case 5:c.label++,i=a[1],a=[0];continue;case 7:a=c.ops.pop(),c.trys.pop();continue;default:if(!((o=(o=c.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){c=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]
`,\n {\n coercionType: Office.CoercionType.Html,\n },\n () => {\n // release the lock once the tracking pixel is inserted\n insertLock = false;\n }\n );\n Office.context.mailbox.item.notificationMessages.replaceAsync(\"notify\", {\n type: \"informationalMessage\",\n message: \"Tracking pixel inserted\",\n persistent: false,\n icon: \"iconid\",\n });\n\n let container = document.getElementById(\"inserted-tracking-pixels-container\");\n let newTrackingPixelDiv = getTrackingPixelDiv(urlItem.value);\n\n container.appendChild(newTrackingPixelDiv);\n });\n}\n\nfunction setTrackingPixelBorder(borderStyle: string, src: string, callback: () => void) {\n Office.context.mailbox.item.body.getAsync(\"html\", {}, function (result) {\n let oldHTML = result.value;\n let dummy = document.createElement(\"div\");\n dummy.innerHTML = oldHTML;\n let image = dummy.querySelector(`img[src='${src}']`) as HTMLImageElement;\n if (image == null) return;\n image.style.border = borderStyle;\n Office.context.mailbox.item.body.setAsync(dummy.innerHTML, { coercionType: Office.CoercionType.Html }, callback);\n });\n}\n\nfunction getTrackingPixelDiv(url: string) {\n let trackingPixelDiv = document.createElement(\"div\");\n trackingPixelDiv.title = url;\n\n let text = document.createElement(\"p\");\n text.innerHTML = getAlias(url);\n trackingPixelDiv.appendChild(text);\n\n let removeButton = document.createElement(\"button\");\n // add the close_svg to the button\n let img = document.createElement(\"img\");\n // the svg is located in ../../assets/delete_svg.svg\n img.src = \"../../assets/delete_svg.svg\";\n removeButton.appendChild(img);\n\n removeButton.onclick = (event: MouseEvent) => {\n event.stopPropagation();\n trackingPixelDiv.remove();\n Office.context.mailbox.item.notificationMessages.replaceAsync(\"notify\", {\n type: \"informationalMessage\",\n message: \"Tracking pixel removed\",\n persistent: false,\n icon: \"iconid\",\n });\n\n Office.context.mailbox.item.body.getAsync(\"html\", {}, function (result) {\n let oldHTML = result.value;\n let dummy = document.createElement(\"div\");\n dummy.innerHTML = oldHTML;\n let allTrackingPixels = dummy.querySelectorAll(`img[title='${TRACKING_PIXEL_TITLE}']`);\n allTrackingPixels.forEach((image) => {\n if (image.getAttribute(\"src\") == trackingPixelDiv.title) {\n image.remove();\n }\n });\n Office.context.mailbox.item.body.setAsync(dummy.innerHTML, { coercionType: Office.CoercionType.Html });\n });\n };\n trackingPixelDiv.onclick = () => {\n if (highlightLock) return;\n let removeButton = trackingPixelDiv.querySelector(\"button\");\n setTrackingPixelBorder(\"5px solid red\", trackingPixelDiv.title, () => { });\n removeButton.disabled = true;\n trackingPixelDiv.style.pointerEvents = \"none\";\n highlightLock = true;\n setTimeout(() => {\n trackingPixelDiv.style.pointerEvents = \"auto\";\n trackingPixelDiv.style.border = \"none\";\n setTrackingPixelBorder(\"\", trackingPixelDiv.title, () => {\n highlightLock = false;\n });\n removeButton.disabled = false;\n }, 200);\n };\n\n trackingPixelDiv.appendChild(removeButton);\n return trackingPixelDiv;\n}\n","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../node_modules/.pnpm/html-loader@4.2.0_webpack@5.89.0/node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"./taskpane.css\", import.meta.url);\nvar ___HTML_LOADER_IMPORT_1___ = new URL(\"../../assets/RUTGERS_H_RED_BLACK_RGB.png\", import.meta.url);\nvar ___HTML_LOADER_IMPORT_2___ = new URL(\"../../assets/add_svg.svg\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar ___HTML_LOADER_REPLACEMENT_1___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_1___);\nvar ___HTML_LOADER_REPLACEMENT_2___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_2___);\nvar code = \"
Please sideload your add-in to see app body.
\";\n// Exports\nexport default code;","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n // eslint-disable-next-line no-param-reassign\n options = {};\n }\n\n if (!url) {\n return url;\n } // eslint-disable-next-line no-underscore-dangle, no-param-reassign\n\n\n url = String(url.__esModule ? url.default : url);\n\n if (options.hash) {\n // eslint-disable-next-line no-param-reassign\n url += options.hash;\n }\n\n if (options.maybeNeedQuotes && /[\\t\\n\\f\\r \"'=<>`]/.test(url)) {\n return \"\\\"\".concat(url, \"\\\"\");\n }\n\n return url;\n};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t41: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// no jsonp function","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\n__webpack_require__(53211);\nvar __webpack_exports__ = __webpack_require__(53407);\n"],"names":["getAsyncTrackingPixels","callback","Office","context","mailbox","item","body","getAsync","result","html","value","dummy","document","createElement","innerHTML","trackingPixels","querySelectorAll","concat","TRACKING_PIXEL_TITLE","insertLock","loadLock","highlightLock","prevChildNodes","loadTrackingPixels","container","getElementById","childNodes","length","style","display","forEach","trackingPixel","newTrackingPixel","getTrackingPixelDiv","getAttribute","push","replaceChildren","apply","i","title","onReady","info","host","HostType","Outlook","child","insertButton","onclick","insert","setInterval","urlItem","trim","error","match","notificationMessages","replaceAsync","type","message","icon","persistent","prependAsync","coercionType","CoercionType","Html","newTrackingPixelDiv","appendChild","setTrackingPixelBorder","borderStyle","src","oldHTML","image","querySelector","border","setAsync","url","trackingPixelDiv","text","replace","split","getAlias","removeButton","img","event","stopPropagation","remove","disabled","pointerEvents","setTimeout","exports","___HTML_LOADER_IMPORT_0___","URL","___HTML_LOADER_IMPORT_1___","___HTML_LOADER_IMPORT_2___","module","options","String","__esModule","default","hash","maybeNeedQuotes","test","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","call","m","n","getter","d","a","definition","key","o","Object","defineProperty","enumerable","get","g","globalThis","this","Function","e","window","obj","prop","prototype","hasOwnProperty","scriptUrl","importScripts","location","currentScript","scripts","getElementsByTagName","Error","p","b","baseURI","self","href"],"sourceRoot":""}
\ No newline at end of file