{"version":3,"file":"js/555-5bd90d2f9ff51ea58aca.js","mappings":"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","sources":["webpack://flonectors/./app/javascript/components/App/index.tsx","webpack://flonectors/./app/javascript/components/AppCommandBar.tsx","webpack://flonectors/./app/javascript/components/AppContent.tsx","webpack://flonectors/./app/javascript/components/AppHeader.tsx","webpack://flonectors/./app/javascript/components/AppSidebar.tsx","webpack://flonectors/./app/javascript/components/Flash.tsx","webpack://flonectors/./app/javascript/components/LoginButton/index.tsx","webpack://flonectors/./app/javascript/components/Question.tsx","webpack://flonectors/./app/javascript/components/Routes/index.tsx","webpack://flonectors/./app/javascript/components/products/Woopower/index.tsx","webpack://flonectors/./app/javascript/components/woocommerce/Subscription/index.tsx","webpack://flonectors/./app/javascript/components/woocommerce/SubscriptionList/index.tsx","webpack://flonectors/./app/javascript/src/helpers.ts","webpack://flonectors/./app/javascript/src/history.ts","webpack://flonectors/./app/javascript/src/hooks.ts","webpack://flonectors/./app/javascript/src/reducers/auth.ts","webpack://flonectors/./app/javascript/src/reducers/subscription.ts"],"sourcesContent":["import * as React from \"react\"\nimport { initializeIcons } from \"@fluentui/react\";\nimport { RootState } from \"../../src/reducers\";\nimport AppHeader from \"../AppHeader\";\nimport AppSidebar from \"../AppSidebar\";\nimport AppContent from \"../AppContent\";\nimport AppFooter from \"../AppFooter\";\nimport { useAppSelector } from \"../../src/hooks\";\n\nimport './styles.scss';\n\ninitializeIcons();\n\nexport const App: React.FunctionComponent<{}> = (props) => {\n\tconst loggedIn = useAppSelector((state: RootState) => state.auth.loaded && state.auth.loggedIn)\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n}\n\nexport default App;","import { CommandBar, ThemeProvider, ICommandBarProps, mergeStyleSets, PartialTheme } from \"@fluentui/react\";\nimport * as React from \"react\";\n\nconst bgcolor = '#eee';\n\nconst styles = mergeStyleSets({\n\tAppCommandBar: {\n\t\tbackgroundColor: bgcolor,\n\t\tmarginLeft: '-32px',\n\t}\n});\n\nconst appCommandBarTheme: PartialTheme = {\n\tpalette: {\n\t\twhite: bgcolor\n\t}\n}\n\nconst AppCommandBar: React.FC = (props) => {\n\tconst commandBarProps: ICommandBarProps = {\n\t\tclassName: `${styles.AppCommandBar} ${props.className ||''}`,\n\t\t...props\n\t};\n\n\treturn \n\t\t\t\n\t\t;\n}\n\nexport default AppCommandBar;","import Routes from \"./Routes\";\nimport * as React from 'react';\nimport { getTheme, mergeStyleSets, MessageBar, MessageBarType } from \"@fluentui/react\";\nimport Flash from \"./Flash\";\nimport AppCommandBar from \"./AppCommandBar\";\n\nconst theme = getTheme();\n\nconst styles = mergeStyleSets({\n\tAppContent: [\n\t\t\"AppContent\",\n\t\t{\n\t\t\tpadding: '0 32px',\n\t\t\twidth: '100%',\n\t\t\toverflow: 'auto',\n\t\t\tmargin: '0',\n\t\t\tcolor: theme.palette.black,\n\t\t}],\n\tcontentArea: [\n\t\t\"contentArea\",\n\t]\n});\n\nexport const AppContent: React.FC = () => {\n\treturn
\n\t\t
\n\t\t\t{Routes}\n\t\t
\n\t
;\n}\n\nexport default AppContent;","import { ContextualMenu, getTheme, Icon, IContextualMenuItem, mergeStyleSets, Persona, PersonaSize, Stack } from \"@fluentui/react\"\nimport * as React from \"react\";\nimport { useRef, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { NavLink, Link } from 'react-router-dom';\nimport { getUser } from \"../src/reducers/auth\";\nimport LoginButton from \"./LoginButton\";\nimport Rails from '@rails/ujs';\n\nconst theme = getTheme();\n\nconst styles = mergeStyleSets({\n\tAppHeader: [{\n\t\tdisplay: 'flex',\n\t\talignItems: 'center',\n\t\tpadding: '0.5em 1em',\n\t\tjustifyContent: 'space-between',\n\t\tbackground: 'linear-gradient(120deg, rgba(121,9,109,1) 0%, rgba(0,179,255,1) 100%)',\n\t\tcolor: 'white'\n\t}],\n\tlogo: [{\n\t\tcolor: '#fff',\n\t\tfontSize: '24pt',\n\t\tfontFamily: '\"Segoe UI\", \"Segoe UI Web (West European)\", \"Segoe UI\", -apple-system, BlinkMacSystemFont, \"Roboto\", \"Helvetica Neue\", sans-serif',\n\t\tfontWeight: 'regular',\n\t\ttextDecoration: 'none'\n\n\t}],\n\tlogoText: {\n\t\tpaddingLeft: '5px'\n\t},\n\tmenuItem: [\n\t\t{\n\t\t\tmargin: '0px 4px',\n\t\t\tdisplay: 'inline-block',\n\t\t\tflexGrow: 1,\n\t\t\ttextOverflow: 'ellipsis',\n\t\t\toverflow: 'hidden',\n\t\t\twhiteSpace: 'nowrap',\n\t\t\ttextDecoration: 'none'\n\t\t}],\n});\n\nexport const AppHeader: React.FunctionComponent<{loggedIn: boolean}> = (props) => {\n\tconst personaRef = useRef(null);\n\tconst user = useSelector(getUser);\n\tconst [showMenu, setShowMenu] = useState(false);\n\n\tconst items: IContextualMenuItem[] = [\n\t\t{\n\t\t\tkey: 'logout',\n\t\t\tonRenderContent: () =>\n\t\t\t\tLogout,\n\t\t\tonClick: (ev) => Rails.handleMethod.call(ev.target, ev)\n\t\t}\n\t]\n\n\treturn (\n\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tBuild Better Software\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t{props.loggedIn &&\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t setShowMenu(!showMenu) } />\n\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t
\n\t\t\t\t\t}\n\t\t\t\t
\n\t\t
\n\t)\n}\n\nexport default AppHeader;","import { getTheme, INavLinkGroup, mergeStyleSets, Nav, INavProps, css, INavStyles, Icon, INavLink } from '@fluentui/react';\nimport * as React from 'react';\nimport { navigateTo } from '../src/hooks';\nimport { logo } from './woocommerce/Subscription';\nimport { doLogin } from './LoginButton';\n\ndeclare var require: any;\nexport const wordpresslogo = require('../src/assets/wordpress.svg');\n\nconst theme = getTheme();\n\nconst styles = mergeStyleSets({\n\tAppSidebar: [\n\t\t\"AppSidebar\",\n\t\t{\n\t\tbackgroundColor: theme.palette.neutralLight,\n\t\tpadding: '10px 0',\n\t\tborderRight: '1px solid rgb(210, 210, 210)',\n\t\tcolor: theme.palette.black\n\t}],\n\tcollapseIcon: [\n\t\t\"collapseIcon\",\n\t\t{\n\t\tcursor: 'pointer',\n\t\tpaddingLeft: '10px',\n\t\ttextAlign: 'center'\n\t\t}]\n});\n\nconst navHiddenStyles: Partial = {\n\tlinkText: {\n\t\tdisplay: 'none'\n\t}\n}\n\nexport const AppSidebar: React.FC<{loggedIn: boolean}> = (props) => {\n\tconst [sidebarOpen, setSidebarOpen] = React.useState(window.innerWidth >= 800);\n\n\tconst subscriptionsNav: INavLink = {\n\t\t\t\tkey: 'subs',\n\t\t\t\tname: 'Subscriptions',\n\t\t\t\turl: '/subscriptions',\n\t\t\t\ticon: 'FavoriteList'\n\t\t\t};\n\n\tconst loginNav: INavLink = {\n\t\tkey: 'login',\n\t\tname: 'Login with WordPress.com',\n\t\turl: '/users/auth/wordpress',\n\t\ticonProps: {\n\t\t\timageProps: {\n\t\t\t\tsrc: wordpresslogo,\n\t\t\t\twidth: 16\n\t\t\t}\n\t\t},\n\t\tonClick: doLogin\n\t};\n\n\tconst userNavGroups:INavLinkGroup[] = [{\n\t\tlinks: [\n\t\t\t{\n\t\t\t\tkey: 'products',\n\t\t\t\tname: 'Products',\n\t\t\t\ticon: 'ProductList',\n\t\t\t\tisExpanded: true,\n\t\t\t\turl: '#',\n\t\t\t\tlinks: [{\n\t\t\t\t\tkey: 'woopower',\n\t\t\t\t\tname: 'Power Automate for WooCommerce',\n\t\t\t\t\turl: '/products/woopower',\n\t\t\t\t\ticonProps: {\n\t\t\t\t\t\timageProps: {\n\t\t\t\t\t\t\tsrc: logo,\n\t\t\t\t\t\t\twidth: 16\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}]\n\t\t\t}]\n\t}];\n\n\tconst navigateToItem: INavProps[\"onLinkClick\"] = (ev, item) => {\n\t\tev.preventDefault();\n\t\tnavigateTo(item.url);\n\t}\n\n\treturn (\n\t\t
\n\t\t\t setSidebarOpen(!sidebarOpen) } />\n\t\t\t\n\t\t
\n\t)\n}\n\nexport default AppSidebar;","import { getTheme, mergeStyleSets, MessageBar } from '@fluentui/react';\nimport * as React from 'react';\nimport { useState } from 'react';\n\nconst theme = getTheme();\nconst styles = mergeStyleSets({\n\tflash: {\n\t\tmarginBottom: '2em',\n\t}\n\n})\n\n\nexport const Flash: React.FC = () => {\n\tconst [flash, setFlash] = useState(window['flash']);\n\treturn (\n\t\t( flash !== undefined ? \n\t\t\t setFlash(undefined)} className={styles.flash}>\n\t\t\t\t{window['flash']}\n\t\t\t\n\t\t:\n\t\t <>\n\t\t)\n\t)\n}\n\nexport default Flash;","import { DefaultButton } from '@fluentui/react';\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\n\nconst LoginButton: React.FunctionComponent = () => {\n\n\treturn <>\n\t\t\n\t;\n\n}\n\nexport const doLogin = () => {\n\tconst authPath = \"/users/auth/wordpress\";\n\tconst csrf = document.querySelector(\"meta[name='csrf-token']\").getAttribute(\"content\");\n\tvar formRef;\n\tvar buttonRef;\n\n\tconst form: JSX.Element =
formRef = ref} action={authPath} method=\"POST\">\n\t\t\t\n\t\t\t buttonRef = ref} />\n\t\t
;\n\n\tconst div = document.createElement('div');\n\tdiv.style.display = 'none';\n\n\tdocument.body.appendChild(div);\n\n\tReactDOM.render(form, div);\n\n\tbuttonRef.click();\n}\n\nexport default LoginButton;","import { getTheme, mergeStyleSets, Text, Icon } from \"@fluentui/react\";\nimport * as React from \"react\";\nimport { PropsWithChildren } from \"react\";\n\nconst theme = getTheme();\n\nconst style = mergeStyleSets({\n\tquestion: [\n\t\ttheme.fonts.xLarge,\n\t\t{\n\t\t\tfontWeight: 'bold',\n\t\t\tpaddingTop: '20px'\n\n\t\t}\n\t],\n\tanswer: [\n\t\ttheme.fonts.large,\n\t\t{\n\n\t\t}\n\t]\n});\n\nexport const Question: React.FC> = (props) => {\n\treturn <>\n\t\t\n\t\t\t\n\t\t\t{props.question}\n\t\t\n\t\t\n\t\t\t{props.children}\n\t\t\n\t;\n}","import * as React from \"react\";\nimport { Route, Switch, Redirect } from \"react-router-dom\";\nimport Woopower from \"../products/Woopower\";\nimport Subscription from \"../woocommerce/Subscription\";\nimport SubscriptionList from \"../woocommerce/SubscriptionList\";\n\nconst redirectActive = window['redirectTo'] !== undefined;\nconst redirectDest = window['redirectTo'];\n\nwindow['redirectTo'] = undefined;\n\nif (redirectActive) {\n\tconsole.log(`Redirecting to ${redirectDest}`);\n}\n\nexport default (\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\n);\n","import { Breadcrumb, ChoiceGroup, getTheme, IBreadcrumbItem, IChoiceGroupOption, Icon, Image, ImageIcon, mergeStyleSets, Pivot, PivotItem, PrimaryButton, ProgressIndicator, Stack, Text } from '@fluentui/react';\nimport * as React from 'react'\nimport { useState } from 'react';\nimport { cents_to_dollars } from '../../../src/helpers';\nimport { navigateTo, useAppSelector } from '../../../src/hooks';\nimport { getLoggedIn } from '../../../src/reducers/auth';\nimport { doLogin } from '../../LoginButton';\nimport { Question } from '../../Question';\nimport { logo } from '../../woocommerce/Subscription';\n\ndeclare var require: any;\nconst woocommerceEventTrigger = require('../../woocommerce/woo-event-trigger.jpg')\n\nconst theme = getTheme();\n\nconst style = mergeStyleSets({\n\tcontainer: {\n\t},\n\ttitle: [\n\t\ttheme.fonts.xxLarge,\n\t],\n\tlogo: {\n\t\tpaddingRight: '10px',\n\t\tmarginBottom: '-15px'\n\t},\n\tsubtitle: [\n\t\ttheme.fonts.mediumPlus,\n\t\t{\n\t\t\tmargin: '2rem 0',\n\t\t}\n\t],\n\tctaSection: [\n\t\t{\n\t\t\tmarginBottom: '2rem'\n\t\t}\n\t],\n\tcontrolHeader: [\n\t\ttheme.fonts.mediumPlus,\n\t\t{\n\t\t\tfontWeight: 'bold',\n\t\t\tpaddingBottom: '5px'\n\t\t}\n\t],\n\tbillingFrequency: [\n\t\ttheme.fonts.medium,\n\t\t{\n\t\t\tcolor: theme.palette.neutralSecondary,\n\t\t\tfontWeight: 'bold'\n\t\t}\n\t],\n\tsubtotal: [\n\t\ttheme.fonts.large,\n\t\t{\n\t\t\tcolor: theme.palette.neutralSecondary,\n\t\t\tfontWeight: 'bold'\n\t\t}\n\t],\n\tsubtotalAfter: [\n\t\ttheme.fonts.medium,\n\t\t{\n\t\t\tcolor: theme.palette.neutralSecondary,\n\t\t\tfontWeight: 'bold',\n\t\t\tfontStyle: 'italic'\n\t\t}\n\t],\n\tprocessedByWoo: [\n\t\ttheme.fonts.small,\n\t\t{\n\t\t\tcolor: theme.palette.themePrimary,\n\t\t\tpaddingTop: '5px',\n\t\t\tmargin: 0\n\t\t}\n\t],\n\ttextBlock: [\n\t\ttheme.fonts.mediumPlus,\n\t],\n\tcolored: {\n\t\tcolor: '#944'\n\t},\n\thighlight: {\n\t\tbackgroundColor: 'rgba(255, 245, 100, 0.60)',\n\t\tpadding: '0 4px',\n\t},\n\tpointyList: [\n\t\t{\n\t\t\tlistStyle: \"none\",\n\t\t}\n\t],\n\tlistItem: [\n\t\ttheme.fonts.medium,\n\t\t{\n\t\t\tpadding: '5px'\n\t\t}\n\t]\n\n});\n\n\nexport const Woopower: React.FC = () => {\n\tconst [pkg, setPackage] = useState('month');\n\tconst [loading, setLoading] = useState(false);\n\n\tconst prices = useAppSelector((state) => state.subscription.prices);\n\tconst subUrl = useAppSelector((state) => state.subscription.subscriptionUrl);\n\n\tconst loggedIn = useAppSelector(getLoggedIn);\n\n\tconst breadcrumbs: IBreadcrumbItem[] = [\n\t\t{\n\t\t\ttext: 'Products',\n\t\t\tkey: 'products',\n\t\t},\n\t\t{\n\t\t\ttext: 'Power Automate for WooCommerce',\n\t\t\tkey: 'woopower'\n\t\t}\n\t];\n\n\tconst price:() => string = () => {\n\t\treturn cents_to_dollars(prices[pkg]);\n\t}\n\n\tconst subscriptionLengthOptions: IChoiceGroupOption[] = [\n\t\t{\n\t\t\tkey: 'month',\n\t\t\ttext: `${cents_to_dollars(prices['month'])} per month`,\n\t\t\tstyles: {\n\t\t\t\troot: style.billingFrequency\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tkey: 'year',\n\t\t\ttext: `${cents_to_dollars(prices['year'])} per year`,\n\t\t\tstyles: {\n\t\t\t\troot: style.billingFrequency\n\t\t\t}\n\t\t},\n\t];\n\n\tconst buttonText = (pkg) => {\n\t\tif (!loading) {\n\t\t\treturn 'Buy at reenhanced.com';\n\t\t} else {\n\t\t\treturn 'Loading...';\n\t\t}\n\t}\n\n\tconst handleButtonClick = () => {\n\t\twindow.location.href = \"https://reenhanced.com/products/power-automate-for-woocommerce/\";\n\t\treturn;\n\n\t\tif (loggedIn) {\n\t\t\tdoSubscription();\n\t\t} else {\n\t\t\tdoLogin();\n\t\t}\n\t}\n\n\tconst doSubscription = () => {\n\t\tlet url: URL = new URL(subUrl);\n\t\turl.searchParams.append('billing_period', pkg);\n\t\tsetLoading(true);\n\n\t\twindow.location.href = url.href;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\n\t\t
\n\t\t\t

\n\t\t\t\t\n\t\t\t\tPower Automate for WooCommerce\n\t\t\t

\n\n\t\t\t
\n\t\t\t\tConnect your WooCommerce store to Power Automate with this amazing WordPress plugin.\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t{ loggedIn && \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tProcessed by WooCommerce.com\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t
\n\t\t\t{ loading && }\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tAutomate your way to bliss using Power Automate licensing that may already be included with your organization's existing Microsoft licensing. Form the tightest possible integration between WooCommerce and Teams, Dynamics 365, Excel or any other Microsoft service using Microsoft's own automation solution.\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tThis WordPress plugin is the easiest way to integrate your WooCommerce store with all 700+ services offered in Power Automate, including Microsoft Dynamics, Microsoft Teams, Outlook, Excel, and more. Our users find creating triggers on Orders or Subscriptions to be most useful.\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\tShowing an example of the power automate trigger\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tThrough the Power Platform, this plugin allows WooCommerce to become an active part of your larger business processes, simplifying or even eliminating manual steps.\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tAnother super popular use case for handling order refunds is use of the Approval Process which helps alert the team when resulting actions need to happen.\n\t\t\t\t\t\t

\n\n\t\t\t\t\t
\n\n\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tPlus, you can easily extend the source code to support even more!\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tOnly through Power Automate can you get the deepest and best supported integration with your Microsoft products. Whether you want to integrate with Teams or have deep integration with Microsoft Dynamics, this add-on will allow you to extend your WooCommerce store in ways that will make you wonder how you did without. \n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tTop 10 Use Cases for this Plugin:\n\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t{[\n\t\t\t\t\t\t\t'Look up subscription status for customers before any automation',\n\t\t\t\t\t\t\t'Automatically create products from your data in Dynamics 365',\n\t\t\t\t\t\t\t'Build an automated process after orders are placed or after order status changes',\n\t\t\t\t\t\t\t'Automatically create a list of completed orders inside SharePoint or Excel',\n\t\t\t\t\t\t\t'Build a Power App that interacts with WooCommerce',\n\t\t\t\t\t\t\t'Automatically create coupons',\n\t\t\t\t\t\t\t'Build an approval process into your order workflow.',\n\t\t\t\t\t\t\t'Integrate your WooCommerce store with Microsoft Dynamics 365, Business Central, NAV, or Dataverse',\n\t\t\t\t\t\t\t'Trigger flows on Customers, Coupons, Orders, Products, and Subscriptions',\n\t\t\t\t\t\t\t'Directly integrate WooCommerce and Excel'\n\t\t\t\t\t\t].map((item, i) => \n\t\t\t\t\t\t\t\t
  • 👉 {item}
  • \n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t

Yes. Please contact us directly for bulk purchases and enterprise accounts. Enterprise accounts have higher usage limits and can be configured for on-premises deployment.

\n\t\t\t\t\t
\n\n\t\t\t\t\t\n\t\t\t\t\t\t

The initial launch supports core WooCommerce and WooCommerce Subscriptions. We are planning support for Memberships and Bookings in an upcoming release.

\n\t\t\t\t\t
\n\n\t\t\t\t\t\n\t\t\t\t\t\t

All built-in triggers are supported, including subscription triggers.

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tTriggers
\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t
  • Coupon created
  • \n\t\t\t\t\t\t\t\t
  • Coupon updated
  • \n\t\t\t\t\t\t\t\t
  • Coupon deleted (moved to trash)
  • \n\t\t\t\t\t\t\t\t
  • Coupon restored
  • \n\t\t\t\t\t\t\t\t
  • Customer created
  • \n\t\t\t\t\t\t\t\t
  • Customer updated
  • \n\t\t\t\t\t\t\t\t
  • Customer deleted
  • \n\t\t\t\t\t\t\t\t
  • Order created
  • \n\t\t\t\t\t\t\t\t
  • Order updated
  • \n\t\t\t\t\t\t\t\t
  • Order deleted (moved to trash)
  • \n\t\t\t\t\t\t\t\t
  • Order restored
  • \n\t\t\t\t\t\t\t\t
  • Product created
  • \n\t\t\t\t\t\t\t\t
  • Product updated
  • \n\t\t\t\t\t\t\t\t
  • Product deleted (moved to trash)
  • \n\t\t\t\t\t\t\t\t
  • Product restored
  • \n\t\t\t\t\t\t\t\t
  • Subscription created
  • \n\t\t\t\t\t\t\t\t
  • Subscription updated
  • \n\t\t\t\t\t\t\t\t
  • Subscription deleted
  • \n\t\t\t\t\t\t\t\t
  • Subscription switched
  • \n\t\t\t\t\t\t\t\t
  • Subscription status changed
  • \n\t\t\t\t\t\t\t\t
  • Subscription renewed
  • \n\t\t\t\t\t\t\t\t
  • Subscription renewal failed
  • \n\t\t\t\t\t\t\t\t
  • Order status changed
  • \n\t\t\t\t\t\t\t\t
  • Order paid
  • \n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

For each of the resources below, the actions of Create, Update, Delete, Fetch one, Fetch a list (search) are supported:

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tResources
\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t
  • Coupon
  • \n\t\t\t\t\t\t\t\t
  • Customer
  • \n\t\t\t\t\t\t\t\t
  • Order
  • \n\t\t\t\t\t\t\t\t
  • Order Note
  • \n\t\t\t\t\t\t\t\t
  • Product
  • \n\t\t\t\t\t\t\t\t
  • Subscription
  • \n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

Note: Some items may not appear if not enabled or available on your WooCommerce installation

\n\t\t\t\t\t
\n\n\t\t\t\t\t\n\t\t\t\t\t\t

Yes. We have constructed this plugin in a modular fashion and we're developing a starter-kit if you want to add more resources to your site.

\n\t\t\t\t\t\t

All you need to do to extend this is add a small bit of code as a child plugin and output a schema using JSON schema format. Contact us if you would like assistance building your extension, we're happy to help you.

\n\t\t\t\t\t
\n\n\t\t\t\t\t\n\t\t\t\t\t\t

As long as you have an active subscription you are entitled to all updates which will be released regularly. Please use an active email address to signup so we can contact you with updates.

\n\t\t\t\t\t\t

If your subscription expires, your connection to Power Automate will not work.

\n\t\t\t\t\t
\n\n\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tEach purchase of this software is for a single installation of WordPress, identified by Site URL. (Found in WordPress settings > General)\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\n\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tOnly one site may be active at a time so that we know where to direct the Power Automate traffic. You can reset your license at any time by visiting the Subscriptions section of this website.\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\n\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tWe have utilized the same authentication method as WooCommerce so that we may provide direct installation services in future updates.\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\n\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tYou will need WordPress v4.7 or greater and WooCommerce v3.5.0 or greater. PHP 5.6.20 is required as well.\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\n\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tYou are purchasing a plugin for WooCommerce that makes it compatible with Microsoft Power Automate. The plugin is authored and maintained by Reenhanced. Reenhanced is a separate company from Automattic, the owners of WooCommerce.\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tIf you require support, please email support@reenhanced.com or fill out our contact form.\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\n\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tAll data is protected by HTTP SSL security and is encrypted in transit. No data is stored in intermediary systems unless an error occurs, in which case request data is captured to help debugging.\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tTrigger data is sent directly to Power Automate. Data for actions goes through a central routing server to ensure delivery to Power Automate.\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tAudit tracking will be available locally on your WordPress server so that all requests can be reviewed. No audit records are stored in intermediary systems.\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tUsage information is tracked on each license in the form of request counts.\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\n\t\t\t\t\t\n\t\t\t\t\t\t

Your usage of this product is subject to a rate limit of 10 requests per second, which is handled automatically by Power Automate.

\n\t\t\t\t\t\t

Licenses are also subject to a total monthly action count of 5,000 actions. Please contact us if you anticipate a need for more actions.

\n\t\t\t\t\t
\n\n\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t
\n\n\t\t
\n\t);\n}\n\nexport default Woopower;","import { mergeStyleSets, Text, getTheme, IconButton, TooltipHost, PrimaryButton, Shimmer, Link, ImageIcon, IBreadcrumbItem, Breadcrumb, ICommandBarItemProps } from '@fluentui/react';\nimport * as React from \"react\"\nimport { useEffect, useState } from 'react';\nimport { useParams } from 'react-router-dom'\nimport { cents_to_dollars } from '../../../src/helpers';\nimport { navigateTo, useAppDispatch, useAppSelector } from '../../../src/hooks';\nimport { RootState } from '../../../src/reducers';\nimport { loading, resetSubscriptionSites, selectSubscriptionById } from '../../../src/reducers/subscription'\nimport AppCommandBar from '../../AppCommandBar';\n\nimport './styles.scss';\n\ndeclare var require: any;\nexport const logo = require('../woo-icon.png');\n\nconst theme = getTheme();\n\nconst style = mergeStyleSets({\n\ttitle: [\n\t\t\"title\",\n\t\ttheme.fonts.xxLarge,\n\t\t{\n\t\t\tpaddingBottom: '10px'\n\t\t}\n\t],\n\tcta: {\n\t},\n\ttextBlock: [\n\t\t{\n\t\t\tpadding: '10px 0'\n\t\t}\n\t],\n\tdetails: {\n\t\tpadding: '20px 0'\n\t},\n\tdl: [\n\t\t'subscriptionDetailList',\n\t\ttheme.fonts.large,\n\t\t{\n\t\t\t\n\t\t}\n\t],\n\tcolored: {\n\t\tcolor: '#944'\n\t},\n\tcontainer: {\n\t\tmargin: '10px',\n\t\tpadding: '20px',\n\t},\n\tlogo: {\n\t\tpaddingRight: '10px',\n\t\tmarginBottom: '-15px'\n\t}\n});\n\nexport const Subscription: React.FunctionComponent = () => {\n\tconst dispatch = useAppDispatch();\n\tconst isLoaded = useAppSelector((state: RootState) => state.subscription.loaded);\n\tconst isLoading = useAppSelector((state: RootState) => state.subscription.loading);\n\tconst { id } = useParams();\n\tconst subscription = useAppSelector((state: RootState) => selectSubscriptionById(state, id));\n\n\t// Fetches subscriptions when we render the page\n\tuseEffect(() => {\n\t\tif (!isLoaded) {\n\t\t\tdispatch(loading());\n\t\t}\n\t}, []);\n\n\tconst [copyHint, setCopyHint] = useState(\"Copy License Key to Clipboard\");\n\n\tconst copyLicenseToClipboard = () => {\n\t\tif (navigator.clipboard) {\n\t\t\tnavigator.clipboard.writeText(license.key);\n\t\t\tsetCopyHint(\"Copied!\");\n\t\t}\n\t}\n\n\tconst license = subscription && subscription.licenses[0];\n\n\tconst subscriptionStatus = () => {\n\t\tconst status = subscription.status;\n\n\t\tif (status === 'pending') {\n\t\t\treturn {status}\n\t\t}\n\n\t\treturn status;\n\t}\n\n\tconst breadcrumbs: IBreadcrumbItem[] = subscription && [\n\t\t{\n\t\t\ttext: 'Subscriptions',\n\t\t\tkey: 'subscriptions',\n\t\t\tonClick: () => navigateTo('/subscriptions')\n\t\t},\n\t\t{\n\t\t\ttext: subscription.name,\n\t\t\tkey: subscription.name\n\t\t}\n\t];\n\n\tconst headerItems: ICommandBarItemProps[] = [\n\t\t{\n\t\t\tkey: 'reset',\n\t\t\ttext: 'Clear All Active Sites',\n\t\t\ticonProps: { iconName: 'RecycleBin' },\n\t\t\tonClick: () => {\n\t\t\t\tif (confirm('This will reset all active sites!\\n\\n To use the product you must activate again.\\n Continue?')) {\n\t\t\t\t\tdispatch(resetSubscriptionSites(subscription));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t];\n\n\treturn <>\n\t\t\n\t\t{ subscription && \n\t\t\t\n\t\t}\n\t\t
\n\t\t\t{ isLoading || !isLoaded ?\n\t\t\t\t\n\t\t\t:\n\t\t\t\tsubscription ? \n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{subscription.name}\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tDownload WordPress Plugin (v1.0.16)\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tTo install, visit the Plugins ➡ Add New area inside your WordPress administration and then upload this plugin there.\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tYour subscription is being managed by WooCommerce.com.\n\t\t\t\t\t\t\tYou can \n\t\t\t\t\t\t\t\tmanage your subscription here.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
Subscription Status
\n\t\t\t\t\t\t\t
{subscriptionStatus()}
\n\n\t\t\t\t\t\t\t
Subscription Date
\n\t\t\t\t\t\t\t
{subscription.created_at}
\n\n\t\t\t\t\t\t\t
Billing Amount
\n\t\t\t\t\t\t\t
{cents_to_dollars(subscription.price_in_cents)} per {subscription.billing_period}
\n\n\t\t\t\t\t\t\t{ license && \n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t
License key
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t{ license.key }\n\t\t\t\t\t\t\t\t\t\t{ navigator.clipboard && \n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t\t
Active Sites
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t{ license.domains.length > 0 ?\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t{ license.domains.map(domain => {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn
  • 🟢 {domain.domain_name}
  • \n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t\t\tInstall WordPress plugin to activate\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t:\n\t\t\t\t Subscription not found \n\t\t\t}\n\t\t
\n\t\n}\n\nexport default Subscription;","import * as React from \"react\";\nimport { DetailsListLayoutMode, getTheme, IColumn, ICommandBarItemProps, Icon, ImageIcon, mergeStyleSets, PrimaryButton, SelectionMode, ShimmeredDetailsList, Text } from '@fluentui/react'\nimport { RootState } from \"../../../src/reducers\";\nimport { useEffect } from \"react\";\nimport { allSubscriptions, loading } from \"../../../src/reducers/subscription\";\nimport { navigateTo, useAppDispatch, useAppSelector } from \"../../../src/hooks\";\nimport { ISubscription } from \"../../../src/types\";\nimport { logo } from \"../Subscription\";\nimport Flash from \"../../Flash\";\nimport AppCommandBar from \"../../AppCommandBar\";\n\nimport './styles.scss';\n\nconst theme = getTheme();\n\nconst styles = mergeStyleSets({\n\theader: [\n\t\t{\n\t\t\tmarginTop: '10px', \n\t\t\tmarginBottom: '16px'\n\n\t\t},\n\t\ttheme.fonts.xxLarge\n\t],\n\tnewButton: [{\n\t\tmarginTop: '1em',\n\t\tmarginLeft: '1em'\n\t}],\n\tcontainer: {\n\t},\n\ticonCell: {\n\t\ttextAlign: 'center',\n\t\tselectors: {\n '&:before': {\n content: '.',\n display: 'inline-block',\n verticalAlign: 'middle',\n height: '100%',\n width: '0px',\n visibility: 'hidden',\n },\n },\n\t},\n\ticonImg: {\n\t\tverticalAlign: 'middle',\n\t\tmaxWidth: '16px',\n\t\tmaxHeight: '16px'\n\t},\n\tnameColumn: {\n\t\tfontWeight: 'bold'\n\t}\n});\n\nconst SubscriptionList: React.FC = () => {\n\tconst dispatch = useAppDispatch();\n\tconst items = useAppSelector(allSubscriptions);\n\tconst isLoaded = useAppSelector((state: RootState) => state.subscription.loaded);\n\tconst isLoading = useAppSelector((state: RootState) => state.subscription.loading);\n\tconst hasNoSubscriptions = useAppSelector((state) => state.subscription.loaded && state.subscription.subscriptions.length == 0)\n\n\t// Fetches subscriptions when we render the page\n\tuseEffect(() => {\n\t\tif (!isLoaded) {\n\t\t\tdispatch(loading());\n\t\t}\n\t}, []);\n\n\tconst imgSrc_for: (sku: string) => string = (sku) => {\n\t\tswitch(sku) {\n\t\t\tcase \"woopower\":\n\t\t\t\treturn logo;\n\t\t\tdefault:\n\t\t\t\treturn \"\";\n\t\t}\n\t}\n\n\tconst columns: IColumn[] = [\n\t\t{\n\t\t\tisIconOnly: true,\n\t\t\tname: 'Subscription Type',\n\t\t\tkey: 'icon',\n\t\t\tclassName: styles.iconCell,\n\t\t\ticonClassName: styles.iconImg,\n\t\t\tminWidth: 16,\n\t\t\tmaxWidth: 16,\n\t\t\tonRender: ((item: ISubscription) => {\n\t\t\t\treturn \n\t\t\t}),\n\t\t},\n\t\t{\n\t\t\tname: 'Name',\n\t\t\tkey: 'name',\n\t\t\tclassName: styles.nameColumn,\n\t\t\tfieldName: 'name',\n\t\t\tminWidth: 250,\n\t\t\tisResizable: true,\n\t\t\tisPadded: true,\n\t\t\tonRender: ((sub: ISubscription) => {\n\t\t\t\treturn <>\n\t\t\t\t\t{sub.name}  \n\t\t\t\t\t{sub.status == 'pending' &&\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t})\n\t\t},\n\t\t{\n\t\t\tkey: 'domains',\n\t\t\tname: 'Active Sites',\n\t\t\tminWidth: 250,\n\t\t\tonRender: ((subscription: ISubscription) => {\n\t\t\t\tconst license = subscription.licenses[0];\n\n\t\t\t\tif (license) {\n\t\t\t\t\tif (license.can_have_multiple_installs) {\n\t\t\t\t\t\treturn
    \n\t\t\t\t\t\t\t{license.domains.map(domain =>
  • {domain.domain_name}
  • )}\n\t\t\t\t\t\t
\n\t\t\t\t\t} else if (license.siteurl) {\n\t\t\t\t\t\treturn <>🟢 {license.siteurl};\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn Unactivated;\n\t\t\t})\n\t\t},\n\t\t{\n\t\t\tkey: 'status',\n\t\t\tname: 'Status',\n\t\t\tfieldName: 'status',\n\t\t\tminWidth: 48 \n\t\t},\n\t\t{\n\t\t\tkey: 'created_at',\n\t\t\tname: 'Created At',\n\t\t\tfieldName: 'created_at',\n\t\t\tminWidth: 150\n\t\t}\n\t];\n\n\tconst itemClick = (subscription: ISubscription) => {\n\t\tconst status = subscription.status;\n\n\t\tif (status === 'pending') {\n\t\t\twindow.location.href = subscription.confirm_url;\n\t\t} else {\n\t\t\tnavigateTo(`/subscriptions/${subscription.id}`);\n\t\t}\n\t}\n\n\tconst headerItems: ICommandBarItemProps[] = [\n\t\t{\n\t\t\tkey: 'new',\n\t\t\ttext: 'New Subscription',\n\t\t\ticonProps: { iconName: 'Add' },\n\t\t\tonClick: () => navigateTo('/products/woopower')\n\t\t}\n\t];\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t
\n\t\t\t\tSubscriptions\n\t\t\t\t\n\t\t\t\t\tAll of your subscriptions will appear here. If you have multiple subscriptions to a product, each one will appear as a separate item.\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t{ hasNoSubscriptions ?\n\t\t\t\t\tYou have no subscriptions.\n\t\t\t\t\t:\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t
\n\t\t\n\t);\n}\n\nexport default SubscriptionList;","\n\texport const cents_to_dollars:(price: number) => string = (price) => {\n\t\tconst formatter = new Intl.NumberFormat('en-US', {\n\t\t\tstyle: 'currency',\n\t\t\tcurrency: 'USD'\n\t\t});\n\n\t\treturn formatter.format(price / 100.00);\n\t}","import { createBrowserHistory } from 'history'\n\nexport default createBrowserHistory();","import { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux'\nimport { RootState } from './reducers'\nimport type { AppDispatch } from './store'\nimport history from './history'\n\nexport const useAppDispatch = () => useDispatch()\nexport const useAppSelector: TypedUseSelectorHook = useSelector\n\nexport const navigateTo = (location: string) => history.push(location);\n","import {IUser} from '../types';\nimport type { RootState } from '../reducers';\nimport { createSlice, PayloadAction } from '@reduxjs/toolkit'\n\nexport interface AuthState {\n\tloading?: boolean;\n\tloaded: boolean;\n\tloggedIn: boolean;\n\tuser?: IUser | undefined;\n\terror?: string;\n}\n\nexport const initialState: AuthState = {\n\tloggedIn: false,\n\tloaded: false,\n};\n\nexport const authSlice = createSlice({\n\tname: 'auth',\n\tinitialState,\n\treducers: {\n\t\tloading: state => { state.loading = true; state.loaded = false; },\n\t\tauthenticated: (state, action: PayloadAction<{ user: IUser | undefined, error?: string}>) => {\n\t\t\tstate.user = undefined;\n\t\t\tstate.error = undefined;\n\n\t\t\tif (action.payload.user) {\n\t\t\t\tstate.user = action.payload.user;\n\t\t\t\tstate.loggedIn = true;\n\t\t\t} else {\n\t\t\t\tstate.loggedIn = false;\n\t\t\t\tstate.error = action.payload.error;\n\t\t\t}\n\n\t\t\tstate.loading = false;\n\t\t\tstate.loaded = true;\n\t\t}\n\t}\n});\n\nexport const { authenticated, loading } = authSlice.actions;\n\nexport const getLoggedIn = (state: RootState) => state.auth.loggedIn;\nexport const getUser = (state: RootState) => state.auth.user;\n\nexport default authSlice.reducer;","import {ISubscription} from '../types';\nimport type { RootState } from '../reducers';\nimport { createSlice, PayloadAction } from '@reduxjs/toolkit'\n\nexport interface SubscriptionState {\n\tloading?: boolean;\n\tloaded: boolean;\n\tsubscriptions?: ISubscription[];\n\tprices: {\n\t\t[pkg: string]: number;\n\t};\n\tsubscriptionUrl: string;\n}\n\nexport const initialState: SubscriptionState = {\n\tloaded: false,\n\tsubscriptions: [],\n\tprices: {\n\t\tmonth: 3900,\n\t\tyear: 24900\n\t},\n\tsubscriptionUrl: '/users/purchases/woocommerce_products/new'\n};\n\nexport const subscriptionSlice = createSlice({\n\tname: 'subscription',\n\tinitialState,\n\treducers: {\n\t\tloading: state => { state.loading = true; state.loaded = false; },\n\t\tloaded: (state, action: PayloadAction<{ subscriptions: ISubscription[] }>) => {\n\t\t\tif (action.payload.subscriptions) {\n\t\t\t\tstate.subscriptions = action.payload.subscriptions;\n\t\t\t}\n\n\t\t\tstate.loading = false;\n\t\t\tstate.loaded = true;\n\t\t},\n\t\tconfigLoaded: (state, action: PayloadAction<{ config: { subscriptionUrl: string, prices: { [pkg:string]: number; }} }>) => {\n\t\t\tstate.subscriptionUrl = action.payload.config.subscriptionUrl;\n\t\t\tstate.prices = action.payload.config.prices;\n\t\t},\n\t\tresetSubscriptionSites: (state, action: PayloadAction) => {},\n\t\trefreshSubscription: (state, action: PayloadAction) => {\n\t\t\tconst subscription = action.payload;\n\n\t\t\tlet updatedSubscriptions = state.subscriptions.map(sub => {\n\t\t\t\tif (subscription.id == sub.id) {\n\t\t\t\t\treturn subscription;\n\t\t\t\t}\n\n\t\t\t\treturn sub;\n\t\t\t});\n\n\t\t\tstate.subscriptions = updatedSubscriptions;\n\t\t}\n\t}\n});\n\nexport const { loaded, loading, configLoaded, refreshSubscription, resetSubscriptionSites } = subscriptionSlice.actions;\n\nexport const allSubscriptions = (state: RootState) => state.subscription.loaded && state.subscription.subscriptions;\nexport const selectSubscriptionById = (state: RootState, id: number) => {\n\treturn state.subscription.subscriptions.find(s => s.id == id);\n}\n\nexport default subscriptionSlice.reducer;"],"names":["initializeIcons","App","props","loggedIn","useAppSelector","state","auth","loaded","className","bgcolor","styles","mergeStyleSets","AppCommandBar","backgroundColor","marginLeft","appCommandBarTheme","palette","white","commandBarProps","theme","getTheme","AppContent","padding","width","overflow","margin","color","black","contentArea","Routes","AppHeader","display","alignItems","justifyContent","background","logo","fontSize","fontFamily","fontWeight","textDecoration","logoText","paddingLeft","menuItem","flexGrow","textOverflow","whiteSpace","personaRef","useRef","user","useSelector","getUser","useState","showMenu","setShowMenu","items","key","onRenderContent","href","onClick","ev","Rails","target","to","iconName","ref","imageUrl","avatar_url","size","PersonaSize","imageAlt","display_name","hidden","wordpresslogo","require","AppSidebar","neutralLight","borderRight","collapseIcon","cursor","textAlign","React","window","innerWidth","sidebarOpen","setSidebarOpen","userNavGroups","doLogin","links","name","icon","isExpanded","url","iconProps","imageProps","src","groups","onLinkClick","item","preventDefault","navigateTo","flash","marginBottom","Flash","setFlash","undefined","onDismiss","buttonRef","csrf","document","querySelector","getAttribute","form","action","method","type","value","div","createElement","style","body","appendChild","ReactDOM","click","text","question","fonts","xLarge","paddingTop","answer","large","Question","block","paddingRight","themePrimary","children","redirectActive","redirectDest","console","log","path","exact","component","Subscription","SubscriptionList","Woopower","push","woocommerceEventTrigger","container","title","xxLarge","subtitle","mediumPlus","ctaSection","controlHeader","paddingBottom","billingFrequency","medium","neutralSecondary","subtotal","subtotalAfter","fontStyle","processedByWoo","small","textBlock","colored","highlight","pointyList","listStyle","listItem","loading","prices","subscription","subscriptionUrl","getLoggedIn","cents_to_dollars","horizontal","horizontalAlign","location","disabled","as","headerText","maxWidth","alt","variant","map","i","cta","details","dl","dispatch","useAppDispatch","isLoaded","isLoading","id","useParams","selectSubscriptionById","useEffect","status","copyHint","setCopyHint","license","licenses","breadcrumbs","headerItems","confirm","resetSubscriptionSites","confirm_url","created_at","price_in_cents","billing_period","navigator","clipboard","calloutProps","gapSpace","root","content","writeText","domains","length","domain","domain_name","header","marginTop","newButton","iconCell","selectors","verticalAlign","height","visibility","iconImg","maxHeight","nameColumn","allSubscriptions","hasNoSubscriptions","subscriptions","columns","isIconOnly","iconClassName","minWidth","onRender","sku","product_sku","fieldName","isResizable","isPadded","sub","can_have_multiple_installs","siteurl","enableShimmer","selectionMode","SelectionMode","layoutMode","DetailsListLayoutMode","onActiveItemChanged","price","Intl","NumberFormat","currency","format","createBrowserHistory","useDispatch","history","authSlice","createSlice","initialState","reducers","authenticated","error","payload","actions","subscriptionSlice","month","year","configLoaded","config","refreshSubscription","updatedSubscriptions","find","s"],"sourceRoot":""}