{"version":3,"file":"static/js/application.async.landing~7aeafcb2.5a47671b.chunk.js","mappings":"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","sources":["../../bid-landscape-style/src/style.js","../../brand-page/src/legacy-deps-list.js","../../brand-page/src/additional-plugins.js","../../brand-page/src/brands-factory.js","../../brand-page/src/add-brand-panel.js","../../brand-page/src/brands-page.js","../../brand-page/src/toolbar-config.js","../../budget-suggestion-popup-style/src/style.js","../../campaign-adgroup-creation/src/components/selectable-item.js","../../campaign-adgroup-creation/src/components/objective-item.js","../../campaign-adgroup-creation/src/components/action-list.js","../../campaign-adgroup-creation/src/components/ad-type-item.js","../../campaign-adgroup-creation/src/components/deal-filter-bar.js","../../campaign-adgroup-creation/src/components/choose-ads-panel.js","../../campaign-adgroup-creation/src/page/choose-objective.js","../../campaign-adgroup-creation/src/page/choose-objective-with-legacy.js","../../campaign-adgroup-creation/src/styles/campaign-creation-search-styles.js","../../campaign-adgroup-creation/src/page/campaign-creation-search.js","../../campaign-adgroup-creation/src/page/campaign-creation-audience.js","../../campaign-adgroup-creation/src/page/campaign-creation-audience-video.js","../../campaign-adgroup-creation/src/page/campaign-creation-search-shopping.js","../../campaign-adgroup-creation/src/page/campaign-creation-audience-shopping.js","../../campaign-adgroup-creation/src/page/campaign-creation-audience-simplified.js","../../campaign-adgroup-creation/src/page/campaign-creation-shopping-wizard.js","../../campaign-adgroup-creation/src/styles/campaign-creation-search-v2-styles.js","../../campaign-adgroup-creation/src/page/campaign-creation-search-v2.js","../../campaign-adgroup-creation/src/page/adgroup-creation.js","../../campaign-adgroup-creation/src/helper/tools-config.js","../../campaign-adgroup-creation/src/helper/inject-factory.js","../../campaign-adgroup-creation/src/helper/ad-type-config.js","../../campaign-adgroup-creation/src/helper/inject-wrapper.js","../../campaign-adgroup-creation/src/helper/router-helper.js","../../campaign-adgroup-creation/src/components/navigate-section.js","../../campaign-adgroup-creation/src/components/navigate-content.js","../../campaign-adgroup-creation/src/components/creation-header.js","../../campaign-adgroup-creation/src/helper/with-creation-header.js","../../campaign-adgroup-creation/src/helper/get-delayed-styles.js","../../campaign-adgroup-creation/src/helper/get-common-campaign-creation-options.js","../../campaign-adgroup-creation/src/helper/get-mmc-data.js","../../campaign-adgroup-creation/src/helper/get-deals.js","../../campaign-adgroup-creation/src/helper/objectives-config.js","../../campaign-adgroup-creation/src/styles/adgroup-creation-audience-styles.js","../../campaign-adgroup-creation/src/page/adgroup-creation-audience.js","../../campaign-adgroup-creation/src/styles/adgroup-creation-search-styles.js","../../campaign-adgroup-creation/src/page/adgroup-creation-search.js","../../campaign-adgroup-creation/src/styles/creation-content-container-style.js","../../campaign-adgroup-creation/src/styles/campaign-creation-ad-editor-override.js","../../campaign-adgroup-creation/src/styles/action-list.js","../../campaign-adgroup-creation/src/styles/choose-objective.js","../../campaign-adgroup-creation/src/styles/objective-item.js","../../campaign-adgroup-creation/src/styles/navigate-section.js","../../campaign-adgroup-creation/src/styles/navigate-content.js","../../campaign-adgroup-creation/src/styles/ad-type-item.js","../../campaign-adgroup-creation/src/styles/choose-ads-panel.js","../../campaign-adgroup-creation/src/styles/selectable-item.js","../../campaign-adgroup-creation/src/styles/index.js","../../campaign-adgroup-creation/src/styles/step-wizard.js","../../brand-page/src/empty-placeholder-template.pug","../../campaign-adgroup-creation/src/template/header-template.pug","../../campaign-adgroup-creation/src/template/legacy-steps-template.pug","../../campaign-adgroup-creation/src/template/steps-template.pug"],"sourcesContent":["export const getBidLandscapeStyle = (palette = {}) => ({\r\n '.popup-dialog': {\r\n left: '0',\r\n right: '0',\r\n top: '0',\r\n bottom: '0',\r\n margin: 'auto',\r\n position: 'absolute',\r\n width: 1100,\r\n height: '600px !important',\r\n backgroundColor: 'transparent',\r\n },\r\n '.popup-container': {\r\n backgroundColor: 'rgba(255,255,255,0.5) !important',\r\n '& .bid-landscape.panel-form': {\r\n backgroundColor: 'white',\r\n border: '1px solid #BBB',\r\n boxShadow: '0px 4.8px 14.4px rgba(0, 0, 0, 0.18), 0px 25.6px 57.6px rgba(0, 0, 0, 0.22)',\r\n },\r\n },\r\n\r\n '.bidlandscape-title': {\r\n fontSize: 20,\r\n marginTop: 6,\r\n marginLeft: -15,\r\n marginBottom: 15,\r\n display: 'block',\r\n fontWeight: 600,\r\n },\r\n '.bidlandscape-subTitle': {\r\n marginBottom: '15px',\r\n },\r\n '.bidlandscape-subTitle .fwLink': {\r\n marginLeft: '5px',\r\n },\r\n '.bid-landscape': {\r\n padding: 16,\r\n fontSize: 14,\r\n color: '#323130',\r\n },\r\n '.bidlandscape-detail-table': {\r\n width: '100%',\r\n },\r\n '.bid-landscape__radio': {\r\n position: 'relative',\r\n },\r\n 'tr.bidlandscape-table-row.cursor-pointer': {\r\n float: 'inherit',\r\n },\r\n 'col.bid-landscape__col.bid-landscape__col--bid': {\r\n width: 130,\r\n },\r\n 'col.bid-landscape__col.bid-landscape__col--radio': {\r\n width: 46,\r\n },\r\n 'col.bid-landscape__col.bid-landscape__col--bi': {\r\n width: 130,\r\n },\r\n '.bidlandscape-table-row td:nth-child(1)': {\r\n textAlign: 'center',\r\n },\r\n '.clear': {\r\n clear: 'both',\r\n },\r\n '.radio-inline.adgroup-bid-update-clear-custom-bid-mode': {\r\n marginLeft: '0',\r\n },\r\n '.bidlandscape-data-panel .bidlandscape-left-div': {\r\n padding: '0',\r\n width: '62.666667%',\r\n marginLeft: 6,\r\n },\r\n '.bidlandscape-action input.btn.btn-primary': {\r\n marginRight: 8,\r\n },\r\n '.bidlandscape-chart': {\r\n width: 330,\r\n height: 210,\r\n padding: '0',\r\n marginTop: 43,\r\n overflow: 'visible !important',\r\n '& .highcharts-series-group': {\r\n '& .highcharts-line-series': {\r\n '& > path.highcharts-point': {\r\n opacity: '1 !important',\r\n },\r\n },\r\n },\r\n },\r\n '.bidlandscape-data-panel .error': {\r\n color: '#D90026',\r\n marginLeft: 42,\r\n },\r\n '.bidlandscape-right-div': {\r\n padding: '0',\r\n marginLeft: 20,\r\n },\r\n '.bidlandscape-table-row td': {\r\n paddingRight: 5,\r\n fontWeight: 'normal',\r\n lineHeight: '24px',\r\n },\r\n '.bidlandscape-table-row th': {\r\n verticalAlign: 'text-top',\r\n fontWeight: 600,\r\n },\r\n '.bidlandscape-table-row .bidlandscape-label': {\r\n whiteSpace: 'nowrap',\r\n overflowWrap: 'normal',\r\n },\r\n '.bidlandscape-footer-warning': {\r\n fontSize: 12,\r\n paddingTop: 10,\r\n },\r\n '.bidlandscape-footer.type-normal': {\r\n paddingTop: 46,\r\n fontSize: 12,\r\n },\r\n '.bidlandscape-action': {\r\n marginTop: 17,\r\n marginBottom: 8,\r\n },\r\n '.bid-current-row': {\r\n backgroundColor: '#F3F2F1',\r\n },\r\n '.bidlandscape-footer b': {\r\n fontWeight: 'normal',\r\n },\r\n '.bidlandscape-column .bidlandscape_icon': {\r\n position: 'static',\r\n },\r\n '.fix-dialog-position .modal-dialog': {\r\n width: 1100,\r\n maxWidth: 'unset',\r\n },\r\n '.campaign-bid-landscape': {\r\n padding: 0,\r\n },\r\n '.bidlandscape_icon.disabled': {\r\n color: 'rgba(50, 49, 48, 0.5)',\r\n },\r\n '.campaign-bid-landscape .bidlandscape-title': {\r\n marginLeft: 0,\r\n },\r\n '.campaign-bid-landscape .radio-inline': {\r\n display: 'block',\r\n },\r\n '.campaign-bid-landscape .radio-inline+.radio-inline': {\r\n marginLeft: 0,\r\n },\r\n '.fix-dialog-position .modal-body': {\r\n padding: '14px 24px 24px',\r\n },\r\n '.fix-dialog-position .modal-empty-header': {\r\n padding: 0,\r\n },\r\n '.bidlandscape-campaign-type': {\r\n lineHeight: '19px',\r\n },\r\n '.bidlandscape-campaign-type .title': {\r\n display: 'none',\r\n },\r\n '.campaign-bid-landscape .bidlandscape-data-panel': {\r\n marginTop: '15px',\r\n marginBottom: '15px',\r\n },\r\n '.campaign-bid-landscape col.bid-landscape__col.bid-landscape__col--bi': {\r\n width: 100,\r\n },\r\n '.campaign-bid-landscape .bid-landscape-input-group .bid-landscape__input': {\r\n outline: 'none',\r\n border: 'none',\r\n marginRight: 5,\r\n },\r\n '.campaign-bid-landscape .bid-landscape-input-group .bid-landscape__select': {\r\n outline: 'none',\r\n border: 'none',\r\n },\r\n '.campaign-bid-landscape .bid-landscape-input-group': {\r\n border: '1px solid #ccc',\r\n display: 'inline-block',\r\n backgroundColor: '#fff',\r\n lineHeight: '26px',\r\n padding: '0 5px',\r\n },\r\n '.campaign-bid-landscape .bidlandscape-campaign-additionalbudget': {\r\n margin: '15px 6px',\r\n padding: 10,\r\n border: `1px solid ${palette.neutralSecondary}`,\r\n },\r\n '.campaign-bid-landscape .bidlandscape-campaign-additionalbudget .title': {\r\n fontWeight: 600,\r\n },\r\n '.campaign-bid-landscape .bidlandscape-footer': {\r\n marginTop: 10,\r\n padding: 0,\r\n },\r\n '.campaign-bid-landscape .bidlandscape-chart': {\r\n marginTop: 0,\r\n },\r\n '.campaign-bid-landscape .highcharts-root,.campaign-bid-landscape .highcharts-container ': {\r\n overflow: 'visible!important',\r\n },\r\n '.type-normal': {\r\n fontWeight: 'normal!important',\r\n },\r\n '.campaign-bid-landscape td.selected,.campaign-bid-landscape th.selected': {\r\n backgroundColor: palette.neutralLighter,\r\n },\r\n '.campaign-bid-landscape tr.bid-current-row td': {\r\n backgroundColor: palette.themeLighter,\r\n },\r\n '.campaign-bid-landscape .bid-current-row td.selected': {\r\n backgroundColor: palette.themeLight,\r\n },\r\n '.campaign-bid-landscape .bidlandscape-table-row:hover td': {\r\n backgroundColor: palette.neutralLighter,\r\n },\r\n});\r\n","/* eslint-disable import/extensions */\r\n/* eslint-disable import/no-unresolved */\r\n\r\nimport edm from '@bingads-webui-component-legacy/edm-campaign/index';\r\nimport appConfig from '@bingads-webui-component-legacy/config/index';\r\nimport logger from '@bingads-webui-static-legacy/instrumentation/index';\r\nimport * as columnChooserPreference from '@bingads-webui-component-legacy/bingads-grid/service/column-chooser-preferences';\r\nimport * as legacyColumnChooserPreferences from '@bingads-webui-component-legacy/bingads-grid/service/legacy-column-chooser-preferences';\r\nimport jsDataCampaign from '@bingads-webui-component-legacy/js-data-campaign/index';\r\nimport appState from '@bingads-webui-component-legacy/state/index';\r\nimport * as preferenceService from '@bingads-webui-component-legacy/preference/service/index';\r\nimport sessionStore from '@bingads-webui-component-legacy/js-data-storage/session-storage';\r\nimport * as preferenceStoreFactory from '@bingads-webui-component-legacy/bingads-grid/service/filter-preferences';\r\nimport cacheService from '@bingads-webui-static-legacy/cache-service';\r\nimport dataContextManager from '@bingads-webui-static-legacy/summary/SummaryDataContextManager';\r\nimport { ProductOffer } from '@bingads-webui-campaign/campaign-ui-schemas';\r\nimport pageContext from '@bingads-webui-static-legacy/page-context';\r\n\r\n\r\nconst i18n = window.globalLegacyI18n.get('@bingads-webui/i18n-amd-loader!campaignui/feature/product-feed');\r\nconst schemaI18nCampaign = window.globalLegacyI18n.get('$/schema-i18n!campaign');\r\nexport const brandGridLegacyDepsList = {\r\n '@bingads-webui/i18n-amd-loader!campaignui/feature/product-feed': i18n,\r\n 'component/edm-campaign/index': edm,\r\n 'component/config/index': appConfig,\r\n 'module/service/instrumentation/index': logger,\r\n 'component/bingads-grid/service/column-chooser-preferences': columnChooserPreference,\r\n 'component/bingads-grid/service/legacy-column-chooser-preferences': legacyColumnChooserPreferences,\r\n 'component/js-data-campaign/index': jsDataCampaign,\r\n 'component/state/index': appState,\r\n 'component/preference/service/index': preferenceService,\r\n '$/schema!campaign/ProductOffer': ProductOffer,\r\n 'component/js-data-storage/session-storage': sessionStore,\r\n 'component/bingads-grid/service/filter-preferences': preferenceStoreFactory,\r\n 'Services/CacheService': cacheService,\r\n SummaryDataContextManager: dataContextManager,\r\n '$/schema-i18n!campaign': schemaI18nCampaign,\r\n PageContext: pageContext,\r\n};\r\n\r\nexport const extraDepList = [\r\n '$/i18n!legacy/global',\r\n 'module/app/component/azureUrlRewrite',\r\n];\r\n\r\nexport const inlineChartDepList = [\r\n '@bingads-webui/i18n-amd-loader!@bingads-webui-campaign-react/inline-chart',\r\n 'Constants',\r\n '$/i18n!global',\r\n 'component/bingads-grid/service/grid-preferences',\r\n];\r\n\r\nexport const pageDepList = [\r\n 'component/bingads-grid/shared/timeRangeChecker',\r\n 'component/bingads-grid/service/fetch-pagination',\r\n];\r\n","import _ from 'underscore';\r\nimport Promise from 'bluebird';\r\nimport { projectionGridScopeNavigator } from '@bingads-webui-campaign/projection-grid-scope-navigator';\r\nimport { placeholderPlugin } from '@bingads-webui/projection-grid-placeholder';\r\n\r\nimport placeholderTemplate from './empty-placeholder-template.pug';\r\n\r\nexport const getAdditionalPluginsFactory = ({\r\n toolbarPlugin,\r\n scope,\r\n i18n,\r\n}) => view => [\r\n toolbarPlugin,\r\n {\r\n plugin: projectionGridScopeNavigator,\r\n config: scope,\r\n }, {\r\n plugin: placeholderPlugin,\r\n config: {\r\n container: '.brand-page .grid-noresult',\r\n template: placeholderTemplate,\r\n templateOptions: {\r\n i18n,\r\n _,\r\n },\r\n asyncEmptyText: view.tooMuchDataErrorText,\r\n asyncCallback: () => Promise.resolve(view.showTooMuchDataError),\r\n },\r\n },\r\n];\r\n","/* eslint-disable import/extensions */\r\n/* eslint-disable import/no-unresolved */\r\n\r\nimport Promise from 'bluebird';\r\nimport $ from 'jquery';\r\nimport _ from 'underscore';\r\nimport { getBrandGridFactory } from '@bingads-webui-campaign/cpg-product-feed-grid';\r\nimport { getRouterDep } from '@bingads-webui-campaign-react/legacy-router-dep';\r\nimport { getGridPreferences } from '@bingads-webui-campaign/summary-grid-helper';\r\nimport edm from '@bingads-webui-component-legacy/edm-campaign/index';\r\nimport appState from '@bingads-webui-component-legacy/state/index';\r\nimport segmentTimeChecker from '@bingads-webui-component-legacy/bingads-grid/shared/timeRangeChecker';\r\nimport { fetchPaginationConfig } from '@bingads-webui-component-legacy/bingads-grid/service/fetch-pagination';\r\n\r\nimport { brandGridLegacyDepsList } from './legacy-deps-list';\r\nimport { getAdditionalPluginsFactory } from './additional-plugins';\r\n\r\n\r\nlet brandFactory = null;\r\nconst brandPromiseFactory = () => {\r\n const brandPromise = new Promise((resolve) => {\r\n if (brandFactory) {\r\n resolve(brandFactory);\r\n } else {\r\n getBrandGridFactory()(brandGridLegacyDepsList)\r\n .then((result) => {\r\n brandFactory = result;\r\n resolve(result);\r\n });\r\n }\r\n });\r\n return brandPromise;\r\n};\r\n\r\nexport function createBrandsGridForUiNext({\r\n serverContext,\r\n toolbarPlugin,\r\n preferenceService,\r\n scope,\r\n permissions,\r\n currentCampaign,\r\n currentAdGroup,\r\n siteMap,\r\n perfMarker,\r\n fetchDataCallback,\r\n hideSubBrand,\r\n}) {\r\n return new Promise((resolve) => {\r\n const campaignContext = {\r\n currentCampaign,\r\n currentAdGroup,\r\n };\r\n brandPromiseFactory({\r\n serverContext,\r\n scope,\r\n permissions,\r\n campaignContext,\r\n preferenceService,\r\n }).then(({ createBrandGrid }) => {\r\n const i18n = window.globalLegacyI18n.get('@bingads-webui/i18n-amd-loader!campaignui/feature/product-feed');\r\n\r\n // merge the scopeService instance and scope entity object together\r\n const scopeAdapter = _.extend({\r\n customerId: scope.values.cid,\r\n accountId: scope.values.aid,\r\n campaignId: scope.values.campaignId,\r\n adGroupId: scope.values.adGroupId,\r\n }, scope);\r\n\r\n if (scopeAdapter.adGroupId) {\r\n appState.set('campaign_id', scopeAdapter.campaignId);\r\n appState.set('adgroup_id', scopeAdapter.adGroupId);\r\n } else if (scopeAdapter.campaignId) {\r\n appState.set('campaign_id', scopeAdapter.campaignId);\r\n appState.unset('adgroup_id');\r\n } else {\r\n appState.unset('campaign_id');\r\n appState.unset('adgroup_id');\r\n }\r\n\r\n let edmEntity = edm.currentAccount;\r\n if (scopeAdapter.adGroupId) {\r\n edmEntity = edm.currentAdGroup;\r\n } else if (scopeAdapter.campaignId) {\r\n edmEntity = edm.currentCampaign;\r\n }\r\n\r\n const router = {\r\n getRouteTo: () => 'route',\r\n navigateToRoute: getRouterDep(scope, siteMap).navigateToRoute,\r\n };\r\n const $viewport = $('.brand-page');\r\n\r\n getGridPreferences({\r\n gridName: 'productsGrid',\r\n dateUtil: {\r\n format: value => i18n.formatDate(value),\r\n },\r\n state: appState,\r\n edm: edmEntity,\r\n segmentTimeChecker,\r\n fetchPaginationConfig,\r\n customColumnsEnabled: false,\r\n }).then((preferenceConfig) => {\r\n resolve({\r\n gridView: createBrandGrid({\r\n getAdditionalPlugins: getAdditionalPluginsFactory({\r\n toolbarPlugin,\r\n scope: scopeAdapter,\r\n i18n,\r\n }),\r\n preferenceConfig,\r\n router,\r\n scope: scopeAdapter,\r\n addDateChangeListener: _.noop,\r\n isForVNext: true,\r\n viewport: $viewport,\r\n customHeaderOffset: () => $viewport.find('.sticky-container').height(),\r\n perfMarker,\r\n fetchDataCallback,\r\n hideSubBrand,\r\n }),\r\n i18n,\r\n });\r\n });\r\n });\r\n });\r\n}\r\n","import $ from 'jquery';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React, { memo } from 'react';\r\nimport { every, pick } from 'underscore';\r\nimport { Panel, PanelType } from '@fluentui/react';\r\nimport { withDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { Button, Input, Glyphicon } from '@bingads-webui-react/primitive';\r\nimport { withUiBlock } from '@bingads-webui/uiblocker';\r\nimport { AlertHelper } from '@bingads-webui-campaign/alert-helper';\r\n\r\nconst panelStyles = {\r\n main: {\r\n top: 60,\r\n },\r\n};\r\n\r\nconst overlayProps = {\r\n styles: {\r\n root: {\r\n top: 60,\r\n },\r\n },\r\n};\r\n\r\nconst flexStyle = {\r\n overflow: 'hidden',\r\n display: 'flex',\r\n flex: 1,\r\n position: 'relative',\r\n flexDirection: 'column',\r\n};\r\n\r\nfunction style() {\r\n return {\r\n panel: {\r\n '& .ms-Panel-scrollableContent, & .ms-Panel-contentInner, & .ms-Panel-content': {\r\n ...flexStyle,\r\n },\r\n '& .ms-Panel-content': {\r\n padding: 0,\r\n },\r\n '& input': {\r\n width: '90%',\r\n marginBottom: 10,\r\n },\r\n },\r\n header: {\r\n marginTop: 32,\r\n marginLeft: 28,\r\n },\r\n content: {\r\n ...flexStyle,\r\n marginLeft: 28,\r\n overflow: 'auto',\r\n },\r\n addSubBrandButton: {\r\n border: 'none',\r\n color: '#1470A5',\r\n width: 'fit-content',\r\n paddingLeft: 0,\r\n paddingRight: 5,\r\n '&:hover, &:active, &:focus': {\r\n color: '#0c4261',\r\n background: 'none',\r\n border: 'none',\r\n 'border-color': 'none',\r\n 'text-decoration': 'underline',\r\n },\r\n },\r\n saveButton: {\r\n marginRight: 12,\r\n },\r\n subBrandInput: {\r\n display: 'inline-block',\r\n },\r\n removeSubBrandButton: {\r\n padding: 0,\r\n border: 'none',\r\n height: 32,\r\n width: 32,\r\n minWidth: 'unset',\r\n },\r\n bottomBar: {\r\n borderTop: '1px solid #EDEBE9',\r\n padding: '0 16px',\r\n height: 63,\r\n display: 'flex',\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n closeButton: {\r\n position: 'absolute',\r\n right: 12,\r\n top: 14,\r\n padding: 0,\r\n border: 'none',\r\n minWidth: 'unset',\r\n height: 32,\r\n width: 32,\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n '& .iconba': {\r\n color: '#605E5C',\r\n margin: 0,\r\n },\r\n },\r\n addSubBrandErrorMessage: {\r\n color: 'red',\r\n },\r\n };\r\n}\r\n\r\nconst componentsAttributes = {\r\n panelClass: 'add-brand-panel',\r\n brandNameClass: 'brand-name',\r\n brandUrlClass: 'brand-website-url',\r\n addSubBrandButtonClass: 'add-sub-brand',\r\n addSubBrandErrorMessageClass: 'sub-brand-error',\r\n subBrandClass: 'sub-brand',\r\n removeSubBrandButtonClass: 'remove-sub-brand',\r\n saveButtonClass: 'save-brand',\r\n cancelButonClass: 'close-add-brand-panel',\r\n closeIconClass: 'close-add-brand-panel-icon',\r\n};\r\n\r\nconst maxSubBrands = 10;\r\nconst maxSubBrandValueLength = 256;\r\n\r\nclass AddBrandPanel extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = this.initState();\r\n }\r\n\r\n onSaveBrand = () => {\r\n this.sendAddBrandRequest();\r\n this.props.onClose();\r\n this.resetState();\r\n }\r\n\r\n onClosePanel = () => {\r\n this.props.onClose();\r\n this.resetState();\r\n }\r\n\r\n initState() {\r\n return {\r\n brandName: null,\r\n brandUrl: null,\r\n subBrands: [],\r\n showAddSubBrandError: false,\r\n };\r\n }\r\n\r\n updateBrandName = (e) => {\r\n const { value } = e.currentTarget;\r\n this.setState({\r\n brandName: value,\r\n });\r\n }\r\n\r\n updateBrandUrl = (e) => {\r\n const { value } = e.currentTarget;\r\n this.setState({\r\n brandUrl: value,\r\n });\r\n }\r\n\r\n addSubBrand = () => {\r\n if (!this.canAddSubBrand()) {\r\n this.setState({\r\n showAddSubBrandError: true,\r\n });\r\n return;\r\n }\r\n const { subBrands } = this.state;\r\n this.setState({\r\n subBrands: [...subBrands, ''],\r\n showAddSubBrandError: false,\r\n });\r\n }\r\n\r\n canAddSubBrand = () => {\r\n const { subBrands } = this.state;\r\n return every(subBrands, subBrand => this.validateInput(subBrand));\r\n }\r\n\r\n updateSubBrand = (e) => {\r\n const { value, tabIndex } = e.currentTarget;\r\n const { subBrands } = this.state;\r\n const truncateValue = value.slice(0, maxSubBrandValueLength);\r\n this.setState({\r\n subBrands: [...subBrands.slice(0, tabIndex), truncateValue, ...subBrands.slice(tabIndex + 1)],\r\n }, this.updateSubBrandErrorMessage);\r\n }\r\n\r\n updateSubBrandErrorMessage = () => {\r\n if (this.canAddSubBrand()) {\r\n this.setState({\r\n showAddSubBrandError: false,\r\n });\r\n } else {\r\n this.setState({\r\n showAddSubBrandError: true,\r\n });\r\n }\r\n }\r\n\r\n removeSubBrand = (e) => {\r\n const { tabIndex } = e.currentTarget;\r\n const { subBrands } = this.state;\r\n this.setState({\r\n subBrands: [...subBrands.slice(0, tabIndex), ...subBrands.slice(tabIndex + 1)],\r\n }, this.updateSubBrandErrorMessage);\r\n }\r\n\r\n canSaveBrand = () => {\r\n const { brandName, brandUrl, subBrands } = this.state;\r\n return this.validateInput(brandName) && this.validateInput(brandUrl) && every(subBrands, subBrand => this.validateInput(subBrand));\r\n }\r\n\r\n validateInput = (input) => {\r\n if (input && input !== '') {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n showAddBrandError() {\r\n const { i18n } = this.props;\r\n const alertHelper = new AlertHelper({ i18n });\r\n alertHelper.showError(i18n.getString(_TL_('Request to add brand failed.')));\r\n }\r\n\r\n sendAddBrandRequest = () => {\r\n const { brandGrid } = this.props;\r\n const unblock = withUiBlock(brandGrid.grid.gridView.$el);\r\n const saveResult = pick(this.state, 'brandName', 'brandUrl', 'subBrands');\r\n $.ajax({\r\n url: `${brandGrid.getBmcMtEndpoint()}/api/v1/manufacturers/${brandGrid.customerId}/brands?cid=${brandGrid.customerId}&aid=${brandGrid.accountId}&uid=${brandGrid.userId}`,\r\n type: 'POST',\r\n data: saveResult,\r\n xhrFields: {\r\n withCredentials: true,\r\n },\r\n success: () => {\r\n unblock();\r\n brandGrid.fetchGridData = true;\r\n brandGrid.grid.gridView.refresh(true);\r\n },\r\n error: () => {\r\n unblock();\r\n this.showAddBrandError();\r\n },\r\n });\r\n }\r\n\r\n resetState() {\r\n this.setState(this.initState());\r\n }\r\n\r\n render() {\r\n const {\r\n displayName,\r\n isOpen,\r\n classes,\r\n } = this.props;\r\n\r\n const showSubBrand = this.state.subBrands.length > 0;\r\n const showAddSubBrand = this.state.subBrands.length < maxSubBrands;\r\n const isSaveButtonDisabled = !this.canSaveBrand();\r\n const { i18n } = this.props;\r\n const componentsStrings = {\r\n brandName: i18n.getString(_TL_('Brand name')),\r\n brandUrl: i18n.getString(_TL_('Brand domain URL')),\r\n addSubBrandText: i18n.getString(_TL_('Add sub-brand')),\r\n addSubBrandErrorMessage: i18n.getString(_TL_('Sub-brand(s) cannot be empty.')),\r\n subBrandName: i18n.getString(_TL_('Sub-brand(s)')),\r\n removeSubBrandButtonAriaLabel: i18n.getString(_TL_('remove sub brand')),\r\n saveButtonText: i18n.getString(_TL_('Save')),\r\n cancelButtonText: i18n.getString(_TL_('Cancel')),\r\n closeIconAriaLabel: i18n.getString(_TL_('Close')),\r\n };\r\n\r\n const showSubBrandContent = showSubBrand ? (\r\n \r\n \r\n {componentsStrings.subBrandName}\r\n \r\n {this.state.subBrands.map((subBrand, idx) => (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n ))}\r\n
\r\n ) : null;\r\n\r\n const showAddSubBrandErrorMessage = this.state.showAddSubBrandError ? (\r\n \r\n {componentsStrings.addSubBrandErrorMessage}\r\n \r\n ) : null;\r\n\r\n const showAddSubBrandButton = showAddSubBrand ? (\r\n \r\n {showAddSubBrandErrorMessage}\r\n \r\n \r\n {componentsStrings.addSubBrandText}\r\n \r\n \r\n ) : null;\r\n\r\n return (\r\n \r\n \r\n {displayName}\r\n \r\n
\r\n \r\n {componentsStrings.brandName}\r\n \r\n \r\n \r\n {componentsStrings.brandUrl}\r\n \r\n \r\n {showSubBrandContent}\r\n {showAddSubBrandButton}\r\n
\r\n
\r\n \r\n {componentsStrings.saveButtonText}\r\n \r\n \r\n {componentsStrings.cancelButtonText}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nAddBrandPanel.propTypes = {\r\n displayName: PropTypes.string.isRequired,\r\n isOpen: PropTypes.bool.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n classes: PropTypes.objectOf(PropTypes.object).isRequired,\r\n brandGrid: PropTypes.objectOf(PropTypes.object).isRequired,\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func,\r\n }).isRequired,\r\n};\r\n\r\nAddBrandPanel.defaultProps = {\r\n};\r\n\r\nexport const StyledAddBrandPanel = withDefaultStyles(memo(AddBrandPanel), style);\r\n","import React, { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { noop, compose, extend } from 'underscore';\r\nimport { SPAv2Tutorial } from '@bingads-webui-campaign-react/spa-tutorial';\r\nimport { StyledGridViewWrapper } from '@bingads-webui-campaign-react/grid-view-wrapper';\r\nimport { TopGridPanel } from '@bingads-webui-campaign-react/top-grid-panel';\r\nimport { withGlobalFilter } from '@bingads-webui-campaign-react/global-filter-context';\r\nimport { withDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { StyledTablePageContainer } from '@bingads-webui-campaign-react/table-page-container';\r\nimport { withI18nConsumer } from '@bingads-webui-react/i18n-context';\r\nimport { withTablePageStateManager } from '@bingads-webui-campaign-react/table-page-state-manager';\r\nimport { withCurrentExpandedScope } from '@bingads-webui-campaign-react/use-current-scope-entity';\r\nimport { perfMarkerPropTypes } from '@bingads-webui/performance-marker';\r\nimport { ProgressiveLoadingBlock } from '@bingads-webui-campaign-react/shell-ui-common';\r\n\r\nimport { createBrandsGridForUiNext } from './brands-factory';\r\nimport { getToolbarConfig } from './toolbar-config';\r\n\r\nimport { StyledAddBrandPanel } from './add-brand-panel';\r\n\r\nconst StyledGridViewWrapperWithFilterContext = withGlobalFilter(StyledGridViewWrapper);\r\n\r\nconst getBrandGridViewStyles = () =>\r\n ({\r\n '@global': extend({\r\n '.brand-page .table-container table.table thead.header tr th': {\r\n '&:first-child, &:nth-child(2)': {\r\n 'border-right': '1px solid #EDEBE9',\r\n },\r\n '&:nth-child(5)': {\r\n 'border-right': 'none',\r\n },\r\n '&:last-child': {\r\n 'border-left': 'none',\r\n },\r\n },\r\n '.brand-page .table-container table.table tbody tr td': {\r\n 'overflow-wrap': 'break-word',\r\n '&:first-child, &:nth-child(2)': {\r\n 'border-right': '1px solid #EDEBE9',\r\n },\r\n '&:nth-child(5)': {\r\n 'border-right': 'none',\r\n '&:hover': {\r\n 'border-right': 'none',\r\n },\r\n },\r\n '&:last-child': {\r\n 'border-left': 'none',\r\n '&:hover': {\r\n 'border-left': 'none',\r\n },\r\n },\r\n },\r\n '.brand-page .bingadsgrid .table-container table.table tbody tr:hover': {\r\n '& td': {\r\n borderRight: '1px solid #fff',\r\n },\r\n },\r\n '.brand-page .bingadsgrid': {\r\n paddingRight: 32,\r\n },\r\n '.brand-page .container-fluid': {\r\n marginRight: 32,\r\n height: 56,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n justifyContent: 'center',\r\n },\r\n '.brand-page .top-grid-form': {\r\n maxWidth: 'none',\r\n },\r\n '.grid-header-text': {\r\n whiteSpace: 'nowrap',\r\n },\r\n '.show-brand-dropdown': {\r\n border: 'none',\r\n background: 'none',\r\n width: 17,\r\n '&:hover, &:focus, &:active, &:visited': {\r\n 'background-color': 'white',\r\n border: '1px solid #EDEBE9',\r\n },\r\n },\r\n '.brand-dropdown': {\r\n position: 'absolute',\r\n 'font-weight': 600,\r\n height: 32,\r\n 'line-height': 1.5,\r\n 'min-width': 80,\r\n outline: 'transparent',\r\n padding: '0px 20px',\r\n 'text-decoration': 'none',\r\n border: '1px solid #EDEBE9',\r\n 'background-color': 'white',\r\n '&:active, &:focus': {\r\n 'background-color': 'white',\r\n border: '1px solid #EDEBE9',\r\n },\r\n '&:hover': {\r\n 'background-color': '#FDFBF9',\r\n },\r\n },\r\n '.delete-brand': {\r\n background: 'none',\r\n 'vertical-align': 'middle',\r\n '&:active, &:focus, &:hover': {\r\n border: 'none',\r\n },\r\n },\r\n }),\r\n });\r\n\r\nclass Brands extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n const {\r\n serverContext,\r\n scope,\r\n preferenceService,\r\n permissions,\r\n crossPageSelectPlugin,\r\n toolbarPlugin,\r\n onGridInjected,\r\n showTopOfGridPanel,\r\n currentCampaign,\r\n currentAdGroup,\r\n siteMap,\r\n perfMarker,\r\n classes,\r\n } = props;\r\n\r\n this.classes = classes;\r\n\r\n this.state = {\r\n backboneGridView: null,\r\n addBrandPanel: {\r\n isOpenAddBrandPanel: false,\r\n displayName: '',\r\n },\r\n };\r\n this.columnAction = noop;\r\n this.chartView = null;\r\n this.viewport = React.createRef();\r\n\r\n const brandsGridPromise = createBrandsGridForUiNext({\r\n crossPageSelectPlugin,\r\n serverContext,\r\n scope,\r\n preferenceService,\r\n permissions,\r\n toolbarPlugin,\r\n currentCampaign,\r\n currentAdGroup,\r\n siteMap,\r\n perfMarker,\r\n });\r\n\r\n const BrandsGridView = React.lazy(() => { // eslint-disable-line arrow-body-style\r\n return brandsGridPromise.then(({ gridView, i18n }) => {\r\n this.GRID_EVENT_NAMES = gridView.EVENT_NAMES;\r\n this.brandGrid = gridView;\r\n this.gridView = gridView.grid.gridView;\r\n this.bindGridEvents();\r\n gridView.overrideWith = showTopOfGridPanel; // eslint-disable-line no-param-reassign\r\n onGridInjected({\r\n backboneGridView: gridView,\r\n deselectAll: gridView.grid.gridView.deselectAll.bind(gridView.grid.gridView),\r\n });\r\n this.i18n = i18n;\r\n\r\n this.setState({ backboneGridView: gridView });\r\n\r\n return {\r\n default: () => (),\r\n };\r\n });\r\n });\r\n\r\n this.productFeedGrid = ();\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.gridView) {\r\n this.gridView.off(this.GRID_EVENT_NAMES.SHOW_ADD_BRAND_PANEL, this.showAddBrandPanel);\r\n }\r\n }\r\n\r\n bindGridEvents = () => {\r\n if (this.gridView) {\r\n this.gridView.on(this.GRID_EVENT_NAMES.SHOW_ADD_BRAND_PANEL, this.showAddBrandPanel);\r\n }\r\n };\r\n\r\n showAddBrandPanel = ({\r\n displayName,\r\n }) => {\r\n this.setState({\r\n addBrandPanel: {\r\n isOpenAddBrandPanel: true,\r\n displayName,\r\n },\r\n });\r\n };\r\n\r\n closeAddBrandPanel = () => {\r\n this.setState({\r\n addBrandPanel: {\r\n isOpenAddBrandPanel: false,\r\n },\r\n });\r\n };\r\n\r\n render() {\r\n const {\r\n panelView,\r\n renderToolbarContainer,\r\n showTopGridPanel,\r\n i18n,\r\n } = this.props;\r\n\r\n const topGridPanel = showTopGridPanel ? (\r\n ) : null;\r\n\r\n const topOfGridContent = (\r\n \r\n \r\n {topGridPanel}\r\n \r\n );\r\n\r\n const stickyTopOfGridContent = (\r\n \r\n {renderToolbarContainer()}\r\n \r\n );\r\n\r\n return (\r\n }>\r\n \r\n {this.state.addBrandPanel ? : null}\r\n \r\n );\r\n }\r\n}\r\n\r\nBrands.propTypes = {\r\n location: PropTypes.shape({\r\n pathname: PropTypes.string.isRequired,\r\n search: PropTypes.string.isRequired,\r\n }).isRequired,\r\n serverContext: PropTypes.shape({\r\n CurrentCustomer: PropTypes.object.isRequired,\r\n }).isRequired,\r\n classes: PropTypes.shape({\r\n gridContainer: PropTypes.string,\r\n inlineChartContainer: PropTypes.string.isRequired,\r\n pageContainer: PropTypes.string.isRequired,\r\n topGridPanelCustomStyles: PropTypes.object, // eslint-disable-line react/forbid-prop-types\r\n }).isRequired,\r\n scope: PropTypes.shape({}).isRequired,\r\n preferenceService: PropTypes.shape({}).isRequired,\r\n permissions: PropTypes.shape({}).isRequired,\r\n currentCampaign: PropTypes.shape({}).isRequired,\r\n currentAdGroup: PropTypes.shape({}).isRequired,\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func,\r\n }).isRequired,\r\n renderToolbarContainer: PropTypes.func.isRequired,\r\n crossPageSelectPlugin: PropTypes.shape({\r\n plugin: PropTypes.func.isRequired,\r\n }).isRequired,\r\n toolbarPlugin: PropTypes.shape({\r\n plugin: PropTypes.func.isRequired,\r\n }).isRequired,\r\n panelView: PropTypes.shape({\r\n render: PropTypes.func,\r\n }).isRequired,\r\n onGridInjected: PropTypes.func.isRequired,\r\n showTopGridPanel: PropTypes.bool.isRequired,\r\n showTopOfGridPanel: PropTypes.func.isRequired,\r\n siteMap: PropTypes.arrayOf(PropTypes.shape({\r\n id: PropTypes.string,\r\n })).isRequired,\r\n perfMarker: perfMarkerPropTypes.isRequired,\r\n};\r\n\r\nBrands.defaultProps = {\r\n};\r\n\r\nexport const StyledBrand = compose(\r\n withI18nConsumer,\r\n WrappedComponent => withDefaultStyles(WrappedComponent, getBrandGridViewStyles),\r\n withCurrentExpandedScope,\r\n withTablePageStateManager({ getToolbarConfig })\r\n)(Brands);\r\n","export function getToolbarConfig({\r\n i18n,\r\n lazyInject,\r\n}) {\r\n // eslint-disable-next-line\r\n const toolbarSelectedConfig = new Map([\r\n\r\n ]);\r\n\r\n // eslint-disable-next-line\r\n const toolbarUnselectedConfig = new Map([\r\n ['button-add-brand', {\r\n id: 'button-add-brand',\r\n type: 'button',\r\n classes: ['btn-primary'],\r\n text: i18n.getString(_TL_('Add')),\r\n iconLeftGlyphName: 'ba-Add',\r\n onClick() {\r\n const gridView = lazyInject().backboneGridView;\r\n gridView.AddBrandToolbar();\r\n },\r\n }],\r\n ]);\r\n return {\r\n toolbarSelectedConfig,\r\n toolbarUnselectedConfig,\r\n };\r\n}\r\n","import { btnStyle } from '@bingads-webui-campaign-react/common-styles';\r\n\r\nexport const getBudgetSuggestionPopupStyle = (palette = {}) => ({\r\n '.budget-landscape-container-outer': {\r\n width: '1200px',\r\n border: '0 solid',\r\n borderRadius: '2px',\r\n backgroundColor: '#fff',\r\n boxShadow: '0 25.6px 57.6px 0 rgba(0,0,0,.22), 0 4.8px 14.4px 0 rgba(0,0,0,.18)',\r\n\r\n '& .budget-landscape-dismiss-popup': {\r\n right: 10,\r\n bottom: 70,\r\n zIndex: '2000',\r\n\r\n '& .single-choice-feedback-form': {\r\n width: 408,\r\n padding: 20,\r\n boxShadow: '0 0 5px #ccc',\r\n backgroundColor: '#fff',\r\n position: 'absolute',\r\n right: -150,\r\n bottom: -100,\r\n '& .close': {\r\n right: 25,\r\n },\r\n '& .single-choice-feedback-form-head': {\r\n paddingLeft: 8,\r\n '& .single-choice-feedback-form-title': {\r\n width: 392,\r\n fontWeight: 'bold',\r\n fontSize: '20px',\r\n },\r\n '& .single-choice-feedback-form-description': {\r\n color: '#797775',\r\n },\r\n },\r\n '& .reason-input': {\r\n marginLeft: 8,\r\n '& .input-wrapper': {\r\n position: 'relative',\r\n },\r\n '& .percent-suffix': {\r\n position: 'absolute',\r\n top: '5px',\r\n left: '80px',\r\n },\r\n '& .percent-input': {\r\n width: 98,\r\n paddingRight: '20px',\r\n },\r\n '& .number-input': {\r\n width: 98,\r\n },\r\n '& .input-comment': {\r\n paddingTop: 6,\r\n paddingBottom: 6,\r\n },\r\n },\r\n '& p, & .radio': {\r\n paddingLeft: 10,\r\n fontFamily: '\\'Segoe UI\\', Arial, sans-serif',\r\n '&[data-checked=true]': {\r\n backgroundColor: '#DEECF9',\r\n },\r\n '& button:disabled': {\r\n color: '#a2a2a2',\r\n backgroundColor: palette.themePrimary,\r\n border: '1px solid #0078d4',\r\n },\r\n },\r\n '& .form-group': {\r\n marginBottom: '0px !important',\r\n marginTop: 10,\r\n },\r\n '& div.comments': {\r\n '& textarea': {\r\n height: 72,\r\n width: 296,\r\n border: '1px #bbb solid',\r\n background: '#fff',\r\n marginBottom: 5,\r\n },\r\n },\r\n '& .actions': {\r\n paddingTop: 8,\r\n '& .submit': {\r\n marginLeft: 5,\r\n marginRight: 10,\r\n },\r\n '& .checkbox.preference': {\r\n paddingTop: 12,\r\n color: '#bbb',\r\n paddingLeft: 10,\r\n '& .not-show-again-text': {\r\n paddingLeft: 8,\r\n width: 312,\r\n display: 'inline-block',\r\n verticalAlign: 'top',\r\n },\r\n },\r\n },\r\n '& .error': {\r\n color: '#A80000', // error-icon color in color.less file\r\n fontSize: '12px',\r\n },\r\n },\r\n },\r\n\r\n '& .budgetlandscape-seasonal-title': {\r\n backgroundColor: 'lightgray',\r\n width: 1200,\r\n height: 30,\r\n marginTop: -24,\r\n '& .budgetlandscape-seasonal-title-text': {\r\n lineHeight: '30px',\r\n marginTop: 0,\r\n marginLeft: 10,\r\n fontSize: 14,\r\n },\r\n '& .closeimage': {\r\n marginRight: 10,\r\n marginTop: 2,\r\n },\r\n },\r\n\r\n '& .budget-landscape.panel': {\r\n marginBottom: '0px',\r\n '& .panel-outer-body': {\r\n padding: '25px 15px 10px 15px',\r\n },\r\n '& .budget-landscape-actions': {\r\n '& .btn-hero': {\r\n marginRight: '7px',\r\n },\r\n },\r\n '& .budget-landscape-actions .btn-hero': btnStyle({ palette })['.btn-hero'],\r\n '& .budget-landscape-actions .btn-default': btnStyle({ palette })['.btn-default'],\r\n\r\n '& .with-feedback-footer': {\r\n borderTop: '1px solid #EDEBE9',\r\n padding: 16,\r\n height: 64,\r\n '& .budget-landscape-actions': {\r\n float: 'left',\r\n },\r\n '& .budget-landscape-feedback-actions': {\r\n float: 'right',\r\n paddingRight: '20px',\r\n '& .iconba': {\r\n verticalAlign: 'middle',\r\n fontSize: 20,\r\n marginRight: 20,\r\n },\r\n '& .iconba-LikeSolid': {\r\n color: '#106EBE',\r\n },\r\n '& .navigate-to-recommended-page-link': {\r\n verticalAlign: 'middle',\r\n },\r\n '& .feedback-comment': {\r\n verticalAlign: 'middle',\r\n },\r\n '& .budget-landscape-like': {\r\n marginLeft: 30,\r\n },\r\n '& .budget-landscape-dislike': {\r\n transform: 'rotate(180deg)',\r\n marginLeft: 10,\r\n },\r\n },\r\n },\r\n\r\n '& .budgetlandscape-title': {\r\n marginTop: '0px',\r\n marginBottom: '5px',\r\n paddingLeft: '10px',\r\n fontSize: '15px',\r\n fontWeight: 'bold',\r\n },\r\n\r\n '& .close.closeimage': {\r\n\r\n },\r\n\r\n '& .panel-body': {\r\n padding: '15px 10px',\r\n\r\n '& .budgetlandscape-helptext': {\r\n fontSize: '14px',\r\n fontWeight: 'normal',\r\n margin: '0px',\r\n },\r\n\r\n '& .budget-landscape-div': {\r\n marginTop: '25px',\r\n\r\n '& .budget-landscape-container': {\r\n display: 'grid',\r\n gridTemplateColumns: '68% auto',\r\n\r\n '& .landscape-table': {\r\n marginRight: '20px',\r\n\r\n '& > div': {\r\n position: 'relative',\r\n },\r\n\r\n '& .tip-message': {\r\n marginTop: '15px',\r\n\r\n '& .iconba.iconba-Warning': {\r\n color: '#D83B01 !important',\r\n },\r\n },\r\n\r\n '& span.status': {\r\n marginRight: '5px',\r\n },\r\n\r\n '& tr': {\r\n height: '30px',\r\n\r\n '&.selected': {\r\n backgroundColor: '#DEECF9',\r\n\r\n '&::after': {\r\n borderBottom: '15px solid transparent',\r\n borderLeft: '25px solid #e5f7f4',\r\n borderTop: '15px solid transparent',\r\n height: '0',\r\n width: '0',\r\n content: '\" \"',\r\n position: 'absolute',\r\n },\r\n },\r\n },\r\n\r\n '& th': {\r\n fontWeight: 'normal',\r\n padding: '0px 10px',\r\n\r\n '&.selected': {\r\n fontWeight: 'bold',\r\n backgroundColor: 'rgba(237, 237, 237, 0.5)',\r\n },\r\n },\r\n\r\n '& td': {\r\n padding: '0px 10px',\r\n\r\n '&.selected': {\r\n backgroundColor: 'rgba(237, 237, 237, 0.5)',\r\n },\r\n\r\n '& input[type=radio]': {\r\n '&::before': {\r\n left: '10px !important',\r\n },\r\n '&::after': {\r\n left: '12px !important',\r\n },\r\n },\r\n },\r\n '& td.user-input-cell': {\r\n padding: 0,\r\n '& .user-input': {\r\n position: 'relative',\r\n '& .currency-symbol': {\r\n position: 'absolute',\r\n left: 10,\r\n top: 3,\r\n },\r\n '& input': {\r\n width: 135,\r\n paddingLeft: 16,\r\n },\r\n '& .symbol-size-2 + input': {\r\n paddingLeft: 25,\r\n },\r\n '& .symbol-size-3 + input': {\r\n paddingLeft: 35,\r\n },\r\n },\r\n },\r\n '& .error-message': {\r\n color: '#a80000',\r\n },\r\n },\r\n\r\n '& .landscape-chart': {\r\n marginLeft: '15px',\r\n marginRight: '15px',\r\n display: 'grid',\r\n\r\n '& .column-chart-title': {\r\n paddingTop: '4px',\r\n paddingBottom: '4px',\r\n display: 'grid',\r\n },\r\n },\r\n },\r\n },\r\n\r\n '& .more-suggestion': {\r\n marginBottom: '10px',\r\n },\r\n },\r\n },\r\n },\r\n '#delivery-status-popup-callout .popover-content': {\r\n padding: '15px',\r\n lineHeight: '16px',\r\n color: '#333333',\r\n '& .description-text.bold.margin-zero': {\r\n fontWeight: 'bold',\r\n lineHeight: '14px',\r\n marginBottom: '8px',\r\n },\r\n '& .description-text.margin-bottom-8': {\r\n marginBottom: '8px',\r\n },\r\n '& a.budget-center-view-link': {\r\n lineHeight: '20px',\r\n textDecoration: 'none',\r\n },\r\n },\r\n});\r\n","/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\r\n/* eslint-disable jsx-a11y/no-static-element-interactions */\r\nimport React from 'react';\r\nimport classnames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport { mapObject, constant, identity } from 'underscore';\r\nimport { withDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { getSelectableItemStyles } from '../styles';\r\n\r\nclass SelectableItem extends React.PureComponent {\r\n handleKeyDown = (event) => {\r\n if ((event.keyCode === 13) || (event.keyCode === 32)) {\r\n this.handleClick();\r\n }\r\n };\r\n\r\n handleClick = () => {\r\n const {\r\n id, siteMapId, siteMapAvailable, onClick,\r\n } = this.props;\r\n\r\n if (onClick) {\r\n onClick({ id, siteMapId, siteMapAvailable });\r\n }\r\n };\r\n\r\n render() {\r\n const {\r\n classes,\r\n 'aria-label': ariaLabel,\r\n isSelected,\r\n children,\r\n ariaItemSize,\r\n ariaItemIndex,\r\n className,\r\n showWarning,\r\n isNewFeature,\r\n i18n,\r\n } = this.props;\r\n\r\n const rootClass = classnames([\r\n classes.selectableButton,\r\n `campaign-objective-button${isSelected ? ' selected' : ''}`,\r\n className,\r\n ]);\r\n\r\n return (\r\n showWarning(true)}\r\n onFocus={showWarning}\r\n className={rootClass}\r\n onClick={this.handleClick}\r\n onKeyDown={this.handleKeyDown}\r\n aria-label={ariaLabel}\r\n >\r\n \r\n {children}\r\n \r\n );\r\n }\r\n}\r\n\r\nSelectableItem.propTypes = {\r\n classes: PropTypes.shape(mapObject(\r\n getSelectableItemStyles({}, {}),\r\n constant(PropTypes.string.isRequired)\r\n )).isRequired,\r\n id: PropTypes.string.isRequired,\r\n siteMapId: PropTypes.string,\r\n siteMapAvailable: PropTypes.func,\r\n children: PropTypes.node.isRequired,\r\n onClick: PropTypes.func,\r\n 'aria-label': PropTypes.string,\r\n isSelected: PropTypes.bool,\r\n ariaItemSize: PropTypes.number.isRequired,\r\n ariaItemIndex: PropTypes.number.isRequired,\r\n className: PropTypes.string,\r\n showWarning: PropTypes.func,\r\n isNewFeature: PropTypes.bool,\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func,\r\n }),\r\n};\r\n\r\nSelectableItem.defaultProps = {\r\n onClick: null,\r\n siteMapId: '',\r\n siteMapAvailable: null,\r\n 'aria-label': '',\r\n isSelected: false,\r\n className: '',\r\n showWarning: identity,\r\n isNewFeature: false,\r\n i18n: {\r\n getString: text => text,\r\n },\r\n};\r\n\r\nexport const StyledSelectableItem = withDefaultStyles(SelectableItem, getSelectableItemStyles);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { compose, mapObject, constant } from 'underscore';\r\nimport { withDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { Glyphicon } from '@bingads-webui-react/primitive';\r\nimport { withI18nConsumer } from '@bingads-webui-react/i18n-context';\r\nimport { getObjectiveItemStyles } from '../styles';\r\nimport { StyledSelectableItem } from './selectable-item';\r\n\r\nconst MaxDescriptionLength = 36;\r\n\r\nclass ObjectiveItem extends React.PureComponent {\r\n helpKeyDown = (event) => {\r\n if ((event.keyCode === 13) || (event.keyCode === 32)) {\r\n this.helpClick(event);\r\n event.stopPropagation();\r\n }\r\n };\r\n\r\n helpClick = (event) => {\r\n window.PopupController.PopupJsClick(event.target);\r\n event.stopPropagation();\r\n };\r\n\r\n handleDescription = (description) => {\r\n const wordArray = description.split(' ');\r\n let updatedDescription = description;\r\n while (updatedDescription.length > MaxDescriptionLength) {\r\n wordArray.pop();\r\n updatedDescription = `${wordArray.join(' ')}...`;\r\n }\r\n\r\n return updatedDescription;\r\n };\r\n\r\n renderObjectiveItemContent = () => {\r\n const {\r\n classes,\r\n iconName,\r\n descriptionLine,\r\n helpId,\r\n helpArialLabel,\r\n onClick,\r\n isNewFeature,\r\n showFACBadge,\r\n FACInfo,\r\n isSVGIcon,\r\n i18n,\r\n } = this.props;\r\n\r\n const description = this.handleDescription(descriptionLine);\r\n const rootClass = classNames('objective-item', 'wider-objective-item');\r\n\r\n return (\r\n \r\n
\r\n {isSVGIcon ? () : ()}\r\n
\r\n
{description}
\r\n
\r\n
\r\n
);\r\n };\r\n\r\n render() {\r\n const {\r\n classes,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n {this.renderObjectiveItemContent()}\r\n
\r\n );\r\n }\r\n}\r\n\r\nObjectiveItem.propTypes = {\r\n classes: PropTypes.shape(mapObject(\r\n getObjectiveItemStyles({}, {}),\r\n constant(PropTypes.string.isRequired)\r\n )).isRequired,\r\n id: PropTypes.string.isRequired,\r\n iconName: PropTypes.string.isRequired,\r\n descriptionLine: PropTypes.string.isRequired,\r\n helpId: PropTypes.string,\r\n onClick: PropTypes.func,\r\n isSVGIcon: PropTypes.bool,\r\n 'aria-label': PropTypes.string,\r\n isSelected: PropTypes.bool,\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func,\r\n }).isRequired,\r\n helpArialLabel: PropTypes.string,\r\n isNewFeature: PropTypes.bool,\r\n showFACBadge: PropTypes.bool,\r\n FACInfo: PropTypes.shape({\r\n CouponValueWithCurrency: PropTypes.string,\r\n }),\r\n ariaItemSize: PropTypes.number.isRequired,\r\n ariaItemIndex: PropTypes.number.isRequired,\r\n};\r\n\r\nObjectiveItem.defaultProps = {\r\n helpId: null,\r\n onClick: null,\r\n isSVGIcon: false,\r\n 'aria-label': '',\r\n isSelected: false,\r\n helpArialLabel: null,\r\n isNewFeature: false,\r\n showFACBadge: false,\r\n FACInfo: null,\r\n};\r\n\r\nconst wrap = compose(\r\n TempComponent => withDefaultStyles(TempComponent, getObjectiveItemStyles),\r\n withI18nConsumer\r\n);\r\n\r\nexport const StyledObjectiveItem = wrap(ObjectiveItem);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { mapObject, constant } from 'underscore';\r\nimport { withDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { getActionListStyles } from '../styles';\r\nimport { StyledObjectiveItem } from './objective-item';\r\n\r\nconst ActionList = ({\r\n classes,\r\n title,\r\n actionItems,\r\n}) => {\r\n const ariaLabelId = `campaignCreationActionListTitle-${Math.floor(Math.random() * 10000)}`;\r\n\r\n return (\r\n
\r\n {title && (\r\n
\r\n {title}\r\n
\r\n )}\r\n
\r\n {actionItems.map((item, index) => (\r\n \r\n ))}\r\n
\r\n
\r\n );\r\n};\r\n\r\nActionList.propTypes = {\r\n classes: PropTypes.shape(mapObject(\r\n getActionListStyles({}, {}),\r\n constant(PropTypes.string.isRequired)\r\n )).isRequired,\r\n title: PropTypes.string,\r\n actionItems: PropTypes.arrayOf(PropTypes.shape({\r\n id: PropTypes.string.isRequired,\r\n iconName: PropTypes.string.isRequired,\r\n descriptionLine: PropTypes.string.isRequired,\r\n helpId: PropTypes.string,\r\n onClick: PropTypes.func,\r\n 'aria-label': PropTypes.string,\r\n isSelected: PropTypes.bool,\r\n })).isRequired,\r\n};\r\n\r\nActionList.defaultProps = {\r\n title: null,\r\n};\r\n\r\nexport const StyledActionList = withDefaultStyles(ActionList, getActionListStyles);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Callout, DirectionalHint } from '@fluentui/react';\r\nimport { mapObject, constant, bind } from 'underscore';\r\nimport { Row } from '@bingads-webui-react/layout';\r\nimport { withDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { LearnMoreLink } from '@bingads-webui-campaign-react/help';\r\nimport { getAdTypeItemStyles } from '../styles';\r\nimport { StyledSelectableItem } from './selectable-item';\r\n\r\nclass AdTypeItem extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isSmartShoppingWarningVisible: false,\r\n isPerfMaxWarningVisible: false,\r\n };\r\n this.warningMessageTarget = React.createRef();\r\n }\r\n\r\n handleAdTypeClick = () => {\r\n const {\r\n disabled, onSelect, id, itemId, dealDetails,\r\n } = this.props;\r\n\r\n if (disabled) {\r\n return;\r\n }\r\n\r\n if (itemId === 'MediaPackageCampaign') {\r\n onSelect(dealDetails);\r\n\r\n return;\r\n }\r\n onSelect(id);\r\n };\r\n\r\n showWarning(isShowWarning) {\r\n if (isShowWarning && this.props.isSmartShoppingWarningVisible) {\r\n this.setState({\r\n isSmartShoppingWarningVisible: true,\r\n });\r\n }\r\n if (isShowWarning && this.props.isPerfMaxWarningVisible) {\r\n this.setState({\r\n isPerfMaxWarningVisible: true,\r\n });\r\n }\r\n if (!isShowWarning && this.state.isSmartShoppingWarningVisible) {\r\n this.setState({\r\n isSmartShoppingWarningVisible: false,\r\n });\r\n }\r\n if (!isShowWarning && this.state.isPerfMaxWarningVisible) {\r\n this.setState({\r\n isPerfMaxWarningVisible: false,\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n smartShoppingWarningMessage, disabled, classes, title, description, img, id, isSelected, audienceAdsPolicy, period, 'aria-label': ariaLabel, ariaItemSize, ariaItemIndex, i18n, isNewFeature, helpTopicId,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n \r\n {\r\n isNewFeature ?\r\n
{i18n.getString(_TL_('New'))}
\r\n : ''\r\n }\r\n \r\n {title}\r\n \r\n {\r\n img &&\r\n \r\n {title}\r\n \r\n }\r\n \r\n \r\n {description}\r\n {\r\n audienceAdsPolicy ?\r\n {audienceAdsPolicy}\r\n : ''\r\n }\r\n {period}\r\n {\r\n helpTopicId ?\r\n \r\n : null\r\n }\r\n \r\n \r\n \r\n {this.state.isSmartShoppingWarningVisible && smartShoppingWarningMessage ? (\r\n \r\n {smartShoppingWarningMessage}\r\n \r\n ) : null}\r\n {this.state.isPerfMaxWarningVisible && smartShoppingWarningMessage ? (\r\n \r\n {smartShoppingWarningMessage}\r\n \r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nAdTypeItem.propTypes = {\r\n isSmartShoppingWarningVisible: PropTypes.bool,\r\n isPerfMaxWarningVisible: PropTypes.bool,\r\n smartShoppingWarningMessage: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.element,\r\n ]),\r\n classes: PropTypes.shape(mapObject(\r\n getAdTypeItemStyles({}, {}),\r\n constant(PropTypes.string.isRequired)\r\n )).isRequired,\r\n id: PropTypes.string.isRequired,\r\n title: PropTypes.string.isRequired,\r\n description: PropTypes.string.isRequired,\r\n img: PropTypes.string.isRequired,\r\n helpTopicId: PropTypes.string,\r\n onSelect: PropTypes.func.isRequired,\r\n isSelected: PropTypes.bool.isRequired,\r\n audienceAdsPolicy: PropTypes.string,\r\n period: PropTypes.string,\r\n 'aria-label': PropTypes.string,\r\n ariaItemSize: PropTypes.number.isRequired,\r\n disabled: PropTypes.bool,\r\n ariaItemIndex: PropTypes.number.isRequired,\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func,\r\n }).isRequired,\r\n isNewFeature: PropTypes.bool,\r\n itemId: PropTypes.string,\r\n dealDetails: PropTypes.shape({}),\r\n};\r\n\r\nAdTypeItem.defaultProps = {\r\n isPerfMaxWarningVisible: false,\r\n isSmartShoppingWarningVisible: false,\r\n smartShoppingWarningMessage: '',\r\n audienceAdsPolicy: null,\r\n period: null,\r\n dealDetails: null,\r\n helpTopicId: '',\r\n itemId: '',\r\n disabled: false,\r\n 'aria-label': '',\r\n isNewFeature: false,\r\n};\r\n\r\nexport const StyledAdTypeItem = withDefaultStyles(AdTypeItem, getAdTypeItemStyles);\r\n","/* eslint-disable jsx-a11y/no-static-element-interactions */\r\n/* eslint-disable jsx-a11y/click-events-have-key-events */\r\nimport React, { useEffect, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport classnames from 'classnames';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { Dropdown } from '@fluentui/react';\r\nimport { getTargetConstraints } from '@bingads-webui-campaign-react/xandr-video-campaign-shared-components';\r\nimport config from '@bingads-webui-component-legacy/config/index';\r\n\r\nimport { getChooseAdsPanelStyles } from '../styles';\r\n\r\nfunction isTargetHasValue(deal, targetType) {\r\n return getTargetConstraints(deal, targetType).mandatory.length > 0;\r\n}\r\n\r\nexport function DealFilterBar(props) {\r\n const {\r\n i18n, deals, onFilter, locationFilterOptions, isEnabledDealsV2,\r\n } = props;\r\n\r\n const classes = useDefaultStyles(getChooseAdsPanelStyles);\r\n // alphabetical order by location\r\n const locationOptions = _.sortBy(locationFilterOptions, item => item.text);\r\n const [ronFilter, setRonFilter] = useState(false);\r\n const [ageFilter, setAgeFilter] = useState(false);\r\n const [genderFilter, setGenderFilter] = useState(false);\r\n const [genreFilter, setGenreFilter] = useState(false);\r\n\r\n const currentLocation = config.get('CurrentUser').Market;\r\n // For deal V2 SI test, we will remove it when we can fetch US deals from V2 api\r\n const currentLocationInOptions = locationFilterOptions.find(location => location.key === currentLocation);\r\n const usLocationOptions = locationFilterOptions.find(location => location.key === 'US');\r\n const defaultLocationOptions = isEnabledDealsV2 ? _.first(locationFilterOptions) : usLocationOptions;\r\n\r\n const [locationFilter, setLocationFilter] = useState(currentLocationInOptions || defaultLocationOptions);\r\n\r\n function applyFilterToDeal() {\r\n let tmpDeals = deals.slice();\r\n if (ronFilter) {\r\n tmpDeals = tmpDeals.filter(deal =>\r\n _.get(deal, 'Name', '').toLowerCase().includes('top10') ||\r\n (!deal.Genre && !deal.AgeRange && !isTargetHasValue(deal, 'Gender') && !isTargetHasValue(deal, 'Device') && !isTargetHasValue(deal, 'Audience')));\r\n }\r\n\r\n if (ageFilter) {\r\n tmpDeals = tmpDeals.filter(deal => deal.AgeRange);\r\n }\r\n\r\n if (genderFilter) {\r\n tmpDeals = tmpDeals.filter(deal => isTargetHasValue(deal, 'Gender'));\r\n }\r\n\r\n if (genreFilter) {\r\n tmpDeals = tmpDeals.filter(deal => deal.Genre);\r\n }\r\n\r\n if (locationFilter.key !== 'all') {\r\n tmpDeals = tmpDeals.filter((deal) => {\r\n const { mandatory } = getTargetConstraints(deal, 'Location');\r\n return mandatory.includes(String(locationFilter.data.Id));\r\n });\r\n }\r\n\r\n onFilter(tmpDeals);\r\n }\r\n\r\n useEffect(() => {\r\n applyFilterToDeal();\r\n }, [ronFilter, ageFilter, genderFilter, genreFilter, locationFilter]);\r\n\r\n function onLocationChange(ev, item) {\r\n setLocationFilter(item);\r\n }\r\n\r\n function onRonClick() {\r\n setRonFilter(!ronFilter);\r\n\r\n setAgeFilter(false);\r\n setGenderFilter(false);\r\n setGenreFilter(false);\r\n }\r\n\r\n function onAgeClick() {\r\n setAgeFilter(!ageFilter);\r\n\r\n setRonFilter(false);\r\n setGenderFilter(false);\r\n setGenreFilter(false);\r\n\r\n applyFilterToDeal();\r\n }\r\n\r\n function onGenderClick() {\r\n setGenderFilter(!genderFilter);\r\n\r\n setRonFilter(false);\r\n setAgeFilter(false);\r\n setGenreFilter(false);\r\n\r\n applyFilterToDeal();\r\n }\r\n\r\n function onGenreClick() {\r\n setGenreFilter(!genreFilter);\r\n\r\n setRonFilter(false);\r\n setAgeFilter(false);\r\n setGenderFilter(false);\r\n\r\n applyFilterToDeal();\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n {i18n.getString(_TL_('RON and TOP10'))}\r\n
\r\n \r\n {i18n.getString(_TL_('Age'))}\r\n
\r\n \r\n {i18n.getString(_TL_('Gender'))}\r\n \r\n \r\n {i18n.getString(_TL_('Genre'))}\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nDealFilterBar.propTypes = {\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func,\r\n }).isRequired,\r\n deals: PropTypes.array.isRequired,\r\n onFilter: PropTypes.func.isRequired,\r\n locationFilterOptions: PropTypes.array.isRequired,\r\n isEnabledDealsV2: PropTypes.bool,\r\n};\r\n\r\nDealFilterBar.defaultProps = {\r\n isEnabledDealsV2: false,\r\n};\r\n","/* eslint-disable jsx-a11y/anchor-is-valid */\r\n/* eslint-disable jsx-a11y/click-events-have-key-events */\r\n/* eslint-disable jsx-a11y/interactive-supports-focus */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { mapObject, constant, isBoolean, flatten, uniq, each, get } from 'underscore';\r\nimport { MessageBar, Checkbox, Link } from '@fluentui/react';\r\nimport { withDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { Button } from '@bingads-webui-react/primitive';\r\nimport { withI18nConsumer } from '@bingads-webui-react/i18n-context';\r\nimport { Loading } from '@bingads-webui-campaign-react/loading';\r\nimport { Panel } from '@bingads-webui-campaign-react/panel';\r\nimport { withScope, QueryParam } from '@bingads-webui-react/scope-service';\r\nimport { withPermissions } from '@bingads-webui-react/hoc-with-permissions';\r\nimport { getLocalStorage } from '@bingads-webui/storage';\r\nimport { getRoutePathById, siteMapPropType, withSiteMap } from '@bingads-webui-campaign-react/with-site-map';\r\nimport * as createService from '@bingads-webui-campaign-legacy/campaign-create-advanced/view/service';\r\nimport { bytesForHuman, targetConstraintsToText, getCountriesLocations, getTargetConstraints, getVideoConstraintDuration, MTCurrencyConvertor, isNetflixDeal } from '@bingads-webui-campaign-react/xandr-video-campaign-shared-components';\r\nimport decimal from '@bingads-webui-component-legacy/humanize/decimal';\r\nimport { getChooseAdsPanelStyles } from '../styles';\r\nimport { StyledAdTypeItem } from './ad-type-item';\r\nimport { DealFilterBar } from './deal-filter-bar';\r\nimport {\r\n adTypeConfig,\r\n shoppingCampaignTypeConfig,\r\n perfMaxCampaignTypeConfig,\r\n standardShoppingCampaignTypeConfig,\r\n shoppingCampaignTypes,\r\n xandrVideoCampaignTypeConfig,\r\n adImpressionsCampaignTypeConfig,\r\n getDeals,\r\n getDealsV2,\r\n sponsoredProductCampaignTypeConfig,\r\n} from '../helper';\r\n\r\nconst NFDealAccountPreferenceName = 'WebApp.CampaignUI.AcceptNetflixDealTCs';\r\nlet noSmartShoppingReasonRef = null;\r\n\r\nclass ChooseAdsPanel extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.createService = createService;\r\n\r\n this.localStorage = getLocalStorage();\r\n this.isLocalStorageSupported = this.localStorage.supportsStorage();\r\n if (this.isLocalStorageSupported) {\r\n this.localStorage.invalidate('XandrVideoCampaignType');\r\n }\r\n\r\n this.state = {\r\n selectedAdType: null,\r\n selectedVideoChannelType: null,\r\n selectedAdImpressionsType: null,\r\n selectedCampaignType: null,\r\n selectedSponsoredProductCampaignType: null,\r\n showShoppingCampaignTypeOptions: false,\r\n showPerfMaxCampaignTypeOptions: props.showPerfMaxCampaignTypeOptions,\r\n isPerfMaxCampaignDisabled: false,\r\n netflixDealTCAccepted: this.isAcceptNetflixDealTCs(props),\r\n deals: [],\r\n filteredDeals: [],\r\n isSmartShoppingCampaignDisabled: false,\r\n loading: true,\r\n locationMap: {},\r\n locationFilterOptions: [],\r\n smartShoppingNotSupportedReason: null,\r\n itemId: props.itemId,\r\n };\r\n }\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n if (nextProps.itemId !== prevState.itemId) {\r\n const { itemId, showPerfMaxCampaignTypeOptions } = nextProps;\r\n const selectedCampaignType = showPerfMaxCampaignTypeOptions ? null : shoppingCampaignTypes.smart;\r\n if (itemId === 'ShoppingCampaign' && nextProps.isSmartShoppingCampaignEnabled) {\r\n return {\r\n loading: true,\r\n selectedCampaignType,\r\n showShoppingCampaignTypeOptions: false,\r\n showPerfMaxCampaignTypeOptions: nextProps.showPerfMaxCampaignTypeOptions,\r\n itemId,\r\n };\r\n } else if (itemId === 'MediaPackageCampaign') {\r\n return {\r\n loading: !prevState.deals || prevState.deals.length === 0,\r\n itemId,\r\n };\r\n }\r\n\r\n return {\r\n selectedAdType: null,\r\n selectedCampaignType,\r\n showShoppingCampaignTypeOptions: false,\r\n showPerfMaxCampaignTypeOptions: nextProps.showPerfMaxCampaignTypeOptions,\r\n loading: nextProps.showPerfMaxCampaignTypeOptions,\r\n itemId,\r\n };\r\n }\r\n return null;\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.itemId !== this.props.itemId) {\r\n this.fetchIsSmartShoppingCampaignEnabled(this.props);\r\n this.fetchIsPerfMaxCampaignEnabled(this.props);\r\n this.fetchDeals(this.props);\r\n }\r\n }\r\n\r\n get adTypes() {\r\n const { i18n } = this.props;\r\n return adTypeConfig(i18n);\r\n }\r\n\r\n get shopppingCampaignTypes() {\r\n const { i18n, permissions } = this.props;\r\n return shoppingCampaignTypeConfig(i18n, permissions);\r\n }\r\n\r\n get perfMaxCampaignType() {\r\n const { i18n } = this.props;\r\n return perfMaxCampaignTypeConfig(i18n);\r\n }\r\n\r\n get standardCampaignType() {\r\n const { i18n } = this.props;\r\n return adTypeConfig(i18n, true)[0];\r\n }\r\n\r\n get audienceCampaignType() {\r\n const { i18n } = this.props;\r\n return adTypeConfig(i18n, true)[1];\r\n }\r\n\r\n get standardShoppingCampaignType() {\r\n const { i18n } = this.props;\r\n return standardShoppingCampaignTypeConfig(i18n);\r\n }\r\n\r\n get xandrVideoCampaignType() {\r\n const { i18n } = this.props;\r\n return xandrVideoCampaignTypeConfig(i18n);\r\n }\r\n\r\n get adImpressionCampaignType() {\r\n const { i18n } = this.props;\r\n return adImpressionsCampaignTypeConfig(i18n);\r\n }\r\n\r\n getPanelTitle() {\r\n if (this.state.loading) {\r\n return '';\r\n }\r\n const { i18n, itemId } = this.props;\r\n\r\n if (itemId === 'MediaPackageCampaign') {\r\n return i18n.getString(_TL_('Choose your deal'));\r\n }\r\n\r\n const shoppingCampaignSubTypeTitle = i18n.getString(_TL_('Select a campaign type.'));\r\n const campaignTypeTitle = i18n.getString(_TL_('What kind of ads do you want to run for this campaign?'));\r\n return this.state.showShoppingCampaignTypeOptions || this.state.showPerfMaxCampaignTypeOptions ? shoppingCampaignSubTypeTitle : campaignTypeTitle;\r\n }\r\n\r\n getConversionGoalWarningMessage(isPerfMaxCampaign) {\r\n const {\r\n classes, scope, siteMap, i18n,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n

{i18n.getString(_TL_('Missing conversion tracking'))}

\r\n {i18n.getString(_TL_('To run a {{campaignType}}, you need conversion tracking so you can keep track of when your ads lead to sales on your website.'), {\r\n campaignType: isPerfMaxCampaign ? i18n.getString(_TL_('Performance Max campaign')) : i18n.getString(_TL_('Smart Shopping campaign')),\r\n })}\r\n {\r\n evt.preventDefault();\r\n const pathname = getRoutePathById(siteMap, 'conversion-goals');\r\n\r\n scope.history.push({\r\n pathname,\r\n search: scope.history.location.search,\r\n });\r\n }}\r\n >\r\n {i18n.getString(_TL_('Set up conversion tracking'))}\r\n \r\n
\r\n );\r\n }\r\n\r\n getSmartShoppingWarningMessage() {\r\n const { classes, i18n } = this.props;\r\n switch (this.state.smartShoppingNotSupportedReason) {\r\n case noSmartShoppingReasonRef.NO_AVAILABLE_GOAL:\r\n return this.getConversionGoalWarningMessage();\r\n case noSmartShoppingReasonRef.MORE_THAN_100:\r\n return (\r\n
\r\n

{i18n.getString(_TL_('Campaign limit reached'))}

\r\n {i18n.getString(_TL_('The maximum number of Smart Shopping campaigns allowed per account is 100.'))}\r\n
\r\n );\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n async fetchDeals(props) {\r\n if (props.permissions.IsDealEnabledForMsAds) {\r\n if (this.state.deals && this.state.deals.length > 0) {\r\n return;\r\n }\r\n const { itemId, scope, serverContext } = props;\r\n const { cid, aid } = scope.values;\r\n const lcid = serverContext ? serverContext.CurrentUser.LocaleID : '1033';\r\n\r\n if (itemId === 'MediaPackageCampaign') {\r\n let deals;\r\n if (props.permissions.IsEnabledDealsV2) {\r\n deals = await getDealsV2(cid, aid).then(response => response.value);\r\n } else {\r\n deals = await getDeals();\r\n }\r\n const locationIds = uniq(flatten(deals.map(deal => getTargetConstraints(deal, 'Location').mandatory)));\r\n\r\n const locationResponse = await getCountriesLocations(locationIds, lcid, cid, aid);\r\n const locationMap = {};\r\n const locationFilterOptions = [];\r\n each(locationResponse, (location) => {\r\n if (!locationMap[location.data.Id]) {\r\n locationFilterOptions.push({ key: location.data.CountryCode, text: location.data.EnglishName, data: location.data });\r\n }\r\n locationMap[location.data.Id] = location.data.EnglishName;\r\n });\r\n\r\n this.setState({\r\n loading: false,\r\n locationMap,\r\n locationFilterOptions,\r\n deals,\r\n filteredDeals: deals,\r\n });\r\n }\r\n }\r\n }\r\n\r\n fetchIsSmartShoppingCampaignEnabled(props) {\r\n const { itemId, showPerfMaxCampaignTypeOptions, isSmartShoppingCampaignEnabled } = props;\r\n if (itemId === 'ShoppingCampaign') {\r\n if (isSmartShoppingCampaignEnabled) {\r\n this.fetchIsSmartShoppingCampaignSupportedWithLegacyCode().then(({ supported, reason }) => {\r\n if (this.props.itemId === itemId) {\r\n const showShoppingCampaignTypeOptions = supported || reason !== noSmartShoppingReasonRef.NO_PILOT;\r\n this.setState({\r\n loading: false,\r\n showShoppingCampaignTypeOptions,\r\n selectedAdType: null,\r\n isSmartShoppingCampaignDisabled: !supported && reason !== noSmartShoppingReasonRef.NO_PILOT,\r\n smartShoppingNotSupportedReason: reason,\r\n });\r\n if (!showPerfMaxCampaignTypeOptions) {\r\n this.setState({\r\n selectedCampaignType: supported ? shoppingCampaignTypes.smart : shoppingCampaignTypes.standard,\r\n });\r\n }\r\n }\r\n });\r\n } else if (this.props.itemId === itemId) {\r\n this.setState({\r\n loading: false,\r\n showShoppingCampaignTypeOptions: true,\r\n isSmartShoppingCampaignDisabled: true,\r\n selectedAdType: null,\r\n });\r\n if (!showPerfMaxCampaignTypeOptions) {\r\n this.setState({\r\n selectedCampaignType: shoppingCampaignTypes.standard,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n fetchIsPerfMaxCampaignEnabled(props) {\r\n const { showPerfMaxCampaignTypeOptions } = props;\r\n\r\n if (showPerfMaxCampaignTypeOptions) {\r\n this.setState({\r\n loading: false,\r\n isPerfMaxCampaignDisabled: false,\r\n });\r\n }\r\n }\r\n\r\n fetchIsSmartShoppingCampaignSupportedWithLegacyCode() {\r\n return new Promise((resolve) => {\r\n const { fetchIsSmartShoppingCampaignSupported, noSmartShoppingReason } = this.createService;\r\n resolve(fetchIsSmartShoppingCampaignSupported());\r\n noSmartShoppingReasonRef = noSmartShoppingReason;\r\n });\r\n }\r\n\r\n handleNextButtonClick = () => {\r\n const {\r\n handleNavigation, permissions, config, preferenceService,\r\n } = this.props;\r\n const {\r\n selectedVideoChannelType,\r\n itemId,\r\n netflixDealTCAccepted,\r\n selectedDeal,\r\n selectedAdImpressionsType,\r\n selectedSponsoredProductCampaignType,\r\n } = this.state;\r\n if (itemId === 'VideoCampaign') {\r\n config.set('XandrVideoCampaignType', selectedVideoChannelType);\r\n\r\n if (this.isLocalStorageSupported) {\r\n this.localStorage.set('XandrVideoCampaignType', selectedVideoChannelType);\r\n }\r\n handleNavigation('VideoCampaign');\r\n } else if (itemId === 'MediaPackageCampaign') {\r\n config.set('VideoMediaDeal', selectedDeal);\r\n\r\n if (netflixDealTCAccepted && this.isNetflixDealSelected()) {\r\n preferenceService.setAtAccountLevel({\r\n Name: NFDealAccountPreferenceName,\r\n Data: true,\r\n Type: 'bool',\r\n Version: 1,\r\n });\r\n }\r\n\r\n if (this.isLocalStorageSupported) {\r\n this.localStorage.set('VideoMediaDeal', selectedDeal);\r\n }\r\n\r\n handleNavigation('VideoCampaign');\r\n } else if (itemId === 'AdImpressions') {\r\n handleNavigation(selectedAdImpressionsType);\r\n } else if (itemId === 'SponsoredShoppingCampaign') {\r\n handleNavigation(selectedSponsoredProductCampaignType);\r\n } else if (this.state.showPerfMaxCampaignTypeOptions) {\r\n if (this.state.showShoppingCampaignTypeOptions && this.state.selectedCampaignType === shoppingCampaignTypes.standard) {\r\n if (permissions.IsAIMCampaignEnabled) {\r\n this.setState({\r\n showPerfMaxCampaignTypeOptions: false,\r\n showShoppingCampaignTypeOptions: false,\r\n });\r\n } else {\r\n handleNavigation('SearchAds');\r\n }\r\n } else {\r\n const { selectedCampaignType } = this.state;\r\n handleNavigation(selectedCampaignType);\r\n }\r\n } else if (!this.state.showShoppingCampaignTypeOptions) {\r\n const { selectedAdType } = this.state;\r\n\r\n handleNavigation(selectedAdType);\r\n } else if (this.state.selectedCampaignType === shoppingCampaignTypes.standard) {\r\n if (permissions.IsAIMCampaignEnabled) {\r\n this.setState({\r\n showShoppingCampaignTypeOptions: false,\r\n });\r\n } else {\r\n handleNavigation('SearchAds');\r\n }\r\n } else {\r\n const { selectedCampaignType } = this.state;\r\n handleNavigation(selectedCampaignType);\r\n }\r\n };\r\n\r\n handleAdTypeSelect = (adTypeId) => {\r\n this.setState({ selectedAdType: adTypeId });\r\n };\r\n\r\n handleCampaignTypeSelect = (id) => {\r\n this.setState({ selectedCampaignType: id });\r\n };\r\n\r\n handleShoppingCampaignTypeSelect = (id) => {\r\n this.setState({ selectedCampaignType: id });\r\n };\r\n\r\n handleXanerVideoCampaignChannelSelect = (id) => {\r\n this.setState({ selectedVideoChannelType: id });\r\n };\r\n\r\n handleSponsoredProductCampaignTypeSelect = (id) => {\r\n this.setState({ selectedSponsoredProductCampaignType: id });\r\n };\r\n\r\n handleDealSelect = (deal) => {\r\n this.setState({ selectedDeal: deal });\r\n };\r\n\r\n handleAdImpressionsCampaignChannelSelect = (id) => {\r\n this.setState({ selectedAdImpressionsType: id });\r\n };\r\n\r\n handleCheckNFDealIterm = async () => {\r\n this.setState({\r\n netflixDealTCAccepted: !this.state.netflixDealTCAccepted,\r\n });\r\n };\r\n\r\n handleDealFilter = (filteredDeals) => {\r\n this.setState({\r\n filteredDeals,\r\n });\r\n };\r\n\r\n isAcceptNetflixDealTCs = (props) => {\r\n const { preferenceService } = props;\r\n return get(preferenceService.findByNameAtAccountLevel(NFDealAccountPreferenceName), 'Data', false);\r\n };\r\n\r\n isNetflixDealSelected = () => this.state.selectedDeal && isNetflixDeal(this.state.selectedDeal);\r\n\r\n isNextButtonDisabled() {\r\n const {\r\n selectedAdType,\r\n selectedCampaignType,\r\n loading,\r\n itemId,\r\n selectedDeal,\r\n netflixDealTCAccepted,\r\n selectedAdImpressionsType,\r\n selectedVideoChannelType,\r\n selectedSponsoredProductCampaignType,\r\n } = this.state;\r\n if (loading) {\r\n return true;\r\n }\r\n\r\n if (this.state.showShoppingCampaignTypeOptions) {\r\n return selectedCampaignType == null;\r\n }\r\n if (this.state.showPerfMaxCampaignTypeOptions) {\r\n return selectedCampaignType == null;\r\n }\r\n if (itemId === 'VideoCampaign') {\r\n return selectedVideoChannelType == null;\r\n }\r\n if (itemId === 'MediaPackageCampaign') {\r\n return selectedDeal == null || (this.isNetflixDealSelected() && !netflixDealTCAccepted);\r\n }\r\n if (itemId === 'AdImpressions') {\r\n return selectedAdImpressionsType == null;\r\n }\r\n if (itemId === 'SponsoredShoppingCampaign') {\r\n return selectedSponsoredProductCampaignType == null;\r\n }\r\n if (!this.state.showShoppingCampaignTypeOptions) {\r\n return selectedAdType == null;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n renderOptions() {\r\n const { i18n, permissions, isSmartShoppingCampaignEnabled } = this.props;\r\n const {\r\n selectedCampaignType,\r\n selectedVideoChannelType,\r\n selectedAdImpressionsType,\r\n selectedSponsoredProductCampaignType,\r\n itemId,\r\n selectedDeal,\r\n filteredDeals,\r\n deals,\r\n isPerfMaxCampaignDisabled,\r\n locationMap,\r\n } = this.state;\r\n let campaignTypeOptions = [];\r\n const { selectedAdType } = this.state;\r\n\r\n if (permissions.IsDomesticSimplifiedChineseEnabled) {\r\n const campaignTypesToShow = [this.standardCampaignType];\r\n if (itemId !== 'ShoppingCampaign') {\r\n campaignTypesToShow.push(this.audienceCampaignType);\r\n }\r\n return campaignTypesToShow.map((campaigntype, index) =>\r\n (\r\n \r\n ));\r\n }\r\n\r\n if (itemId === 'VideoCampaign') {\r\n campaignTypeOptions = this.xandrVideoCampaignType.map((item, index) => (\r\n \r\n ));\r\n return campaignTypeOptions;\r\n }\r\n\r\n if (itemId === 'MediaPackageCampaign') {\r\n const displayDeals = permissions.IsDealFilterEnabled ? filteredDeals : deals;\r\n const options = displayDeals.map((item, index) => {\r\n const hideDealImpression = isNetflixDeal(item);\r\n const isDealGenreRestricted = get(permissions, 'IsDealFilterEnabled', false);\r\n\r\n const configItem = {\r\n id: item.Id,\r\n title: item.Name,\r\n description: (\r\n
\r\n {!hideDealImpression && item.EstimatedImpressions &&
{i18n.getString(_TL_('Estimated Impressions'))}: {bytesForHuman(item.EstimatedImpressions)}
}\r\n
{i18n.getString(_TL_('Deal Id'))}: {item.Id}
\r\n {/* todos: get location by ids */}\r\n
{i18n.getString(_TL_('Country'))}: {targetConstraintsToText(item, 'Location', i18n, locationMap)}
\r\n {\r\n item.MinimumBid ?\r\n
{i18n.getString(_TL_('Minimum bid'))}: {decimal.fromFloatToString(item.MinimumBid, 2)} {MTCurrencyConvertor[item.Currency] || 'USD'}
:\r\n
{i18n.getString(_TL_('Minimum bid'))}: {i18n.getString(_TL_('Unavailable'))}
\r\n }\r\n
{i18n.getString(_TL_('Duration'))}: {getVideoConstraintDuration(item, i18n)}
\r\n
{i18n.getString(_TL_('Gender targeting'))}: {targetConstraintsToText(item, 'Gender', i18n)}
\r\n
{i18n.getString(_TL_('Device targeting'))}: {targetConstraintsToText(item, 'Device', i18n)}
\r\n
{i18n.getString(_TL_('Age targeting'))}: {item.AgeRange || targetConstraintsToText(item, 'Age', i18n)}
\r\n
{i18n.getString(_TL_('Audience targeting'))}: {targetConstraintsToText(item, 'Audience', i18n)}
\r\n {isDealGenreRestricted &&
{i18n.getString(_TL_('Genre targeting'))}: {item.Genre ? 'Available' : 'Unavailable'}
}\r\n
\r\n ),\r\n };\r\n return (\r\n \r\n );\r\n });\r\n\r\n return options;\r\n }\r\n\r\n if (itemId === 'AdImpressions') {\r\n campaignTypeOptions = this.adImpressionCampaignType.map((item, index) => (\r\n \r\n ));\r\n return campaignTypeOptions;\r\n }\r\n\r\n if (itemId === 'SponsoredShoppingCampaign') {\r\n return sponsoredProductCampaignTypeConfig(i18n, permissions).map((item, index) => (\r\n \r\n ));\r\n }\r\n\r\n if (this.state.showPerfMaxCampaignTypeOptions) {\r\n const warningMessage = this.getConversionGoalWarningMessage(true);\r\n const campaignTypeLength = campaignTypeOptions.length;\r\n\r\n campaignTypeOptions.push();\r\n }\r\n\r\n if (this.state.showShoppingCampaignTypeOptions) {\r\n const warningMessage = isSmartShoppingCampaignEnabled && this.getSmartShoppingWarningMessage();\r\n const campaignTypeLength = campaignTypeOptions.length;\r\n\r\n const shoppingOptions = this.shopppingCampaignTypes.map((item, index) => {\r\n const isSmartShoppingDisabled = item.id === shoppingCampaignTypes.smart && this.state.isSmartShoppingCampaignDisabled;\r\n return ();\r\n });\r\n campaignTypeOptions = campaignTypeOptions.concat(shoppingOptions);\r\n return campaignTypeOptions;\r\n } else if (itemId === 'ShoppingCampaign' && this.state.showPerfMaxCampaignTypeOptions) {\r\n const campaignTypeLength = campaignTypeOptions.length;\r\n\r\n campaignTypeOptions.push();\r\n return campaignTypeOptions;\r\n } else if (this.state.showPerfMaxCampaignTypeOptions) {\r\n const campaignTypeLength = campaignTypeOptions.length;\r\n\r\n campaignTypeOptions.push();\r\n campaignTypeOptions.push();\r\n return campaignTypeOptions;\r\n }\r\n\r\n const searchAudienceOptions = this.adTypes.map((item, index) => ());\r\n\r\n return searchAudienceOptions;\r\n }\r\n\r\n renderConsentCheckBox(i18n) {\r\n const { netflixDealTCAccepted } = this.state;\r\n return (\r\n
\r\n \r\n {i18n.getString(_TL_('I have read and agree to the '))}\r\n \r\n {i18n.getString(_TL_('Netflix Inventory Policy'))}\r\n \r\n {i18n.getString(_TL_('.'))}\r\n \r\n }\r\n onChange={this.handleCheckNFDealIterm}\r\n disabled={this.isAcceptNetflixDealTCs(this.props)}\r\n defaultChecked={netflixDealTCAccepted}\r\n />\r\n \r\n {i18n.getString(_TL_('Once you save your campaign, you cannot change your deal. If at some point you want to change your deal, you\\'ll need to create a new campaign.'))}\r\n \r\n \r\n \r\n {\r\n i18n.getString(_TL_('Advertisers in the following verticals are required to submit their licenses and/or proof of creative approval in select markets to serve their ads on Netflix: Alcohol, Financial Services, Insurance, High fat/sugar/salt foods, online sports betting, state-run lotteries, healthcare, pharmaceuticals, and dating. Licenses and proof of creative approval can be submitted in web forms linked through the'))\r\n }\r\n \r\n \r\n {i18n.getString(_TL_('Restricted policy page.'))}\r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n render() {\r\n const {\r\n i18n, isOpen, classes, onClose, isMMCSetup, permissions, isSmartShoppingCampaignEnabled\r\n } = this.props;\r\n const { itemId, deals, locationFilterOptions } = this.state;\r\n let optionsLength = 2;\r\n\r\n if (this.state.showPerfMaxCampaignTypeOptions && !(itemId === 'ShoppingCampaign' && !isSmartShoppingCampaignEnabled)) {\r\n optionsLength = 3;\r\n }\r\n\r\n const width = 1191 - ((3 - optionsLength) * 334);\r\n\r\n return (\r\n \r\n {\r\n permissions.IsDealFilterEnabled &&\r\n itemId === 'MediaPackageCampaign' &&\r\n deals.length > 0 &&\r\n \r\n }\r\n
\r\n {this.state.loading ? : this.renderOptions()}\r\n
\r\n {\r\n this.state.showShoppingCampaignTypeOptions && this.state.showPerfMaxCampaignTypeOptions && isBoolean(isMMCSetup) && !isMMCSetup &&\r\n \r\n {i18n.getString(_TL_('No merchant center stores found. Create a store in Merchant Center in order to run product ads.'))}\r\n \r\n }\r\n\r\n {\r\n itemId === 'MediaPackageCampaign' &&\r\n this.isNetflixDealSelected() &&\r\n this.renderConsentCheckBox(i18n)\r\n }\r\n\r\n
\r\n \r\n {i18n.getString(_TL_('Next'))}\r\n \r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nChooseAdsPanel.propTypes = {\r\n itemId: PropTypes.string.isRequired,\r\n isSmartShoppingCampaignEnabled: PropTypes.bool.isRequired,\r\n classes: PropTypes.shape(mapObject(\r\n getChooseAdsPanelStyles({}, {}),\r\n constant(PropTypes.string.isRequired)\r\n )).isRequired,\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func,\r\n }).isRequired,\r\n isOpen: PropTypes.bool.isRequired,\r\n onClose: PropTypes.func,\r\n preferenceService: PropTypes.shape({}).isRequired,\r\n deals: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n handleNavigation: PropTypes.func.isRequired,\r\n scope: PropTypes.instanceOf(QueryParam).isRequired,\r\n siteMap: siteMapPropType.isRequired,\r\n permissions: PropTypes.shape({\r\n dynamic: PropTypes.shape({\r\n PMaxLite: PropTypes.bool,\r\n }).isRequired,\r\n IsAIMCampaignEnabled: PropTypes.bool.isRequired,\r\n IsDealFilterEnabled: PropTypes.bool.isRequired,\r\n IsSmartShoppingCampaignEnabled: PropTypes.bool.isRequired,\r\n IsDomesticSimplifiedChineseEnabled: PropTypes.bool,\r\n IsEnabledDealsV2: PropTypes.bool,\r\n }).isRequired,\r\n serverContext: PropTypes.shape({}).isRequired,\r\n showPerfMaxCampaignTypeOptions: PropTypes.bool,\r\n isMMCSetup: PropTypes.bool.isRequired,\r\n};\r\n\r\nChooseAdsPanel.defaultProps = {\r\n onClose: () => { },\r\n showPerfMaxCampaignTypeOptions: false,\r\n};\r\n\r\nexport const StyledChooseAdsPanel = withDefaultStyles(withI18nConsumer(withScope(withSiteMap(withPermissions(ChooseAdsPanel)))), getChooseAdsPanelStyles);\r\n","import React, { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport _, { compose, mapObject, constant, map, findWhere } from 'underscore';\r\nimport { withScope, QueryParam } from '@bingads-webui-react/scope-service';\r\nimport { withDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { withPermissions } from '@bingads-webui-react/hoc-with-permissions';\r\nimport { withI18nConsumer } from '@bingads-webui-react/i18n-context';\r\nimport { getLocalStorage } from '@bingads-webui/storage';\r\nimport { withDFMCache } from '@bingads-webui/dfm-cache';\r\nimport { withPreference } from '@bingads-webui-react/preference-context';\r\nimport { withSiteMap, siteMapPropType } from '@bingads-webui-campaign-react/with-site-map';\r\nimport { perfMarkerPropTypes } from '@bingads-webui/performance-marker';\r\nimport { Stack } from '@fluentui/react';\r\nimport { withCcJsData } from '@bingads-webui-cc-react/js-data-rest';\r\nimport { Constants as CCUIConstants } from '@bingads-webui-clientcenter/entity-utils';\r\nimport { FAC_FEATURE_ID } from '@bingads-webui-campaign/recommendation-core';\r\n\r\nimport { StyledActionList } from '../components/action-list';\r\nimport { getChooseObjectiveStyles } from '../styles';\r\nimport {\r\n objectivesConfig,\r\n toolsConfig,\r\n navigateSelectedTools,\r\n navigateSelectedObjective,\r\n withCreationHeader,\r\n shoppingCampaignTypes,\r\n campaignTypes,\r\n objectivesForPerfMax,\r\n adImpressionsCampaignTypes,\r\n getProductData,\r\n} from '../helper';\r\nimport { StyledChooseAdsPanel } from '../components/choose-ads-panel';\r\n\r\nclass ChooseObjective extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.localStorage = getLocalStorage();\r\n this.isLocalStorageSupported = this.localStorage.supportsStorage();\r\n if (this.isLocalStorageSupported) {\r\n this.localStorage.invalidate('CampaignObjective');\r\n }\r\n\r\n this.state = {\r\n isPanelOpen: false,\r\n selectedItemId: null,\r\n isMMCSetup: null,\r\n couponDetails: null,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const {\r\n perfMarker,\r\n prefetchChunks,\r\n scope,\r\n ccJsData,\r\n permissions,\r\n i18n,\r\n serverContext,\r\n } = this.props;\r\n if (perfMarker) {\r\n perfMarker.done();\r\n }\r\n if (typeof prefetchChunks === 'function') {\r\n prefetchChunks();\r\n }\r\n const { uid, cid, aid } = scope.values;\r\n const {\r\n CurrentAccount: {\r\n CurrencyCode,\r\n },\r\n } = serverContext;\r\n if (permissions.dynamic.FACForShopping) {\r\n this.getFACData({\r\n ccJsData,\r\n aid,\r\n i18n,\r\n CurrencyCode,\r\n });\r\n }\r\n this.getProductData = _.once(() => {\r\n const getProductDataWithCache = withDFMCache(getProductData, 'getProductScopeDFM', this);\r\n const getProductDataPromise = Promise.resolve(getProductDataWithCache(cid, aid, uid));\r\n getProductDataPromise.then((data) => {\r\n const hasAnyStores = !_.isEmpty(data) && !_.isEmpty(data.ProductCollectionAccounts);\r\n this.setState({\r\n isMMCSetup: hasAnyStores,\r\n });\r\n });\r\n });\r\n this.setSelectedItemFromQueryString();\r\n }\r\n\r\n getFACData = ({\r\n ccJsData, aid, i18n, CurrencyCode,\r\n }) => {\r\n ccJsData.FeatureAdoptionCoupon\r\n .findAll({ aid })\r\n .then((coupons) => {\r\n if (!_.isArray(coupons) || coupons.length === 0) {\r\n return [];\r\n }\r\n return coupons;\r\n })\r\n .catch(() => [])\r\n .then(coupons => _.filter(\r\n coupons,\r\n ({ Status, FeatureId }) => FeatureId === parseInt(FAC_FEATURE_ID.SHOPPING_CAMPAIGN, 10)\r\n && (\r\n Status === CCUIConstants.RecommendationAdoptionStatus.NotInProgess\r\n || Status === CCUIConstants.RecommendationAdoptionStatus.Active\r\n )\r\n ))\r\n .then((coupons) => {\r\n if (coupons.length > 0) {\r\n this.setState({\r\n couponDetails: {\r\n ...coupons[0],\r\n CouponValueWithCurrency: i18n.formatCurrency(coupons[0].CouponValue, CurrencyCode),\r\n },\r\n });\r\n }\r\n });\r\n };\r\n\r\n getDescription = i18n => i18n.getString(_TL_('A successful campaign needs a clear goal, and setting your goal here lets us suggest the most helpful Microsoft Advertising features for your campaign. You\\'ll still have access to all Microsoft Advertising features regardless of the goal you choose.'));\r\n\r\n get showPerfMaxCampaignTypeOptions() {\r\n const { permissions } = this.props;\r\n return permissions.dynamic.PerformanceMaxCampaigns && _.contains(objectivesForPerfMax, this.state.selectedItemId);\r\n }\r\n\r\n setSelectedItemFromQueryString = () => {\r\n const { scope, i18n, permissions } = this.props;\r\n const selectedItemKeyFromSearch = scope.values && scope.values.selectedCampaignObjectiveKey;\r\n const objectiveItems = objectivesConfig({ i18n, permissions }).filter(item => item.isEnabled);\r\n\r\n if (objectiveItems.some(item => item.id === selectedItemKeyFromSearch)) {\r\n this.handleSelectedObjective({ id: selectedItemKeyFromSearch });\r\n }\r\n };\r\n\r\n showPanel = () => {\r\n this.setState({ isPanelOpen: true });\r\n if (this.props.permissions.dynamic.PerformanceMaxCampaigns) {\r\n this.getProductData();\r\n }\r\n };\r\n\r\n closePanel = () => {\r\n this.setState({ isPanelOpen: false, selectedItemId: null });\r\n };\r\n\r\n handleSelectedObjective = ({ id: itemId }) => {\r\n const {\r\n config, permissions, scope, siteMap,\r\n } = this.props;\r\n const isSmartCampaign = itemId === 'SmartCampaign';\r\n const isHotelBooking = itemId === 'HotelBooking';\r\n const isAppInstall = itemId === 'AppInstalls';\r\n const isMSStoreAdsGAWorkflow = itemId === 'MSStoreAds';\r\n\r\n if (isMSStoreAdsGAWorkflow) {\r\n scope.history.push({\r\n pathname: '/campaign/vnext/createcampaign/msstoreads',\r\n search: scope.history.location.search,\r\n });\r\n return;\r\n }\r\n\r\n if (isHotelBooking) {\r\n const IsRenameHotelToLodgingEnabled = this.props.permissions && this.props.permissions.dynamic && this.props.permissions.dynamic.IsRenameHotelToLodgingEnabled;\r\n scope.history.push({\r\n pathname: IsRenameHotelToLodgingEnabled ? '/campaign/vnext/createcampaign/lodging' : '/campaign/vnext/createcampaign/hotel',\r\n search: scope.history.location.search,\r\n });\r\n return;\r\n }\r\n\r\n if (isSmartCampaign) {\r\n const { uid, cid, aid } = scope.values;\r\n window.location.href = `/campaign/smart?cid=${cid}&aid=${aid}&uid=${uid}#/CreateCampaign`;\r\n return;\r\n }\r\n\r\n if (isAppInstall) {\r\n navigateSelectedObjective({\r\n isShopping: false,\r\n isAudience: false,\r\n isSmartShopping: false,\r\n siteMap: [findWhere(siteMap, { id: 'campaign-create' })],\r\n scope,\r\n });\r\n }\r\n\r\n const isShopping = itemId.indexOf('ShoppingCampaign') !== -1;\r\n this.setState({ isPanelOpen: false, selectedItemId: itemId });\r\n config.set('CampaignObjective', itemId);\r\n\r\n if (this.isLocalStorageSupported) {\r\n this.localStorage.set('CampaignObjective', itemId);\r\n }\r\n\r\n if ((permissions.IsVideoAdsForCampaignEnabled && !permissions.dynamic.XandrVideoCampaigns) && itemId === 'VideoCampaign') {\r\n navigateSelectedObjective({\r\n isVideo: true, isAudience: true, siteMap: [findWhere(siteMap, { id: 'campaign-create' })], scope, permissions,\r\n });\r\n } else if (permissions.IsManualCpmEnabled && !permissions.dynamic.XandrDisplayAdsCampaigns && itemId === 'AdImpressions') {\r\n // only native ads enabled\r\n navigateSelectedObjective({\r\n isAudience: true, siteMap: [findWhere(siteMap, { id: 'campaign-create' })], scope,\r\n });\r\n } else if (!permissions.IsManualCpmEnabled && permissions.dynamic.XandrDisplayAdsCampaigns && itemId === 'AdImpressions') {\r\n // only display ad enabled\r\n navigateSelectedObjective({\r\n isAudience: true, isDisplayAds: true, siteMap: [findWhere(siteMap, { id: 'campaign-create' })], scope,\r\n });\r\n } else if (\r\n (permissions.IsAIMCampaignEnabled && itemId !== 'SponsoredShoppingCampaign' &&\r\n !(permissions.IsDomesticSimplifiedChineseEnabled && itemId === 'ShoppingCampaign')) ||\r\n (permissions.IsSmartShoppingCampaignEnabled && !permissions.IsDomesticSimplifiedChineseEnabled && !permissions.dynamic.SSCDeprecation && itemId === 'ShoppingCampaign') ||\r\n (permissions.IsDealEnabledForMsAds && itemId === 'MediaPackageCampaign') ||\r\n (permissions.IsManualCpmEnabled && permissions.dynamic.XandrDisplayAdsCampaigns && itemId === 'AdImpressions') ||\r\n (permissions.dynamic.XandrVideoCampaigns && itemId === 'VideoCampaign') ||\r\n (itemId === 'SponsoredShoppingCampaign')) {\r\n this.showPanel();\r\n } else {\r\n navigateSelectedObjective({\r\n isShopping, isAudience: false, siteMap: [findWhere(siteMap, { id: 'campaign-create' })], scope,\r\n });\r\n }\r\n };\r\n\r\n handleNavigation = (selectedType) => {\r\n const { scope, siteMap, permissions } = this.props;\r\n if (!selectedType) {\r\n return;\r\n }\r\n\r\n if (this.state.selectedItemId === 'VideoCampaign') {\r\n navigateSelectedObjective({\r\n isVideo: true, isAudience: true, siteMap: [findWhere(siteMap, { id: 'campaign-create' })], scope, permissions,\r\n });\r\n return;\r\n }\r\n\r\n if (this.state.selectedItemId === 'MediaPackageCampaign') {\r\n navigateSelectedObjective({\r\n isMediaPackage: true, siteMap: [findWhere(siteMap, { id: 'campaign-create' })], scope,\r\n });\r\n return;\r\n }\r\n\r\n if (this.state.selectedItemId === 'AdImpressions') {\r\n if (selectedType === adImpressionsCampaignTypes.displayAds) {\r\n navigateSelectedObjective({\r\n isAudience: true, isDisplayAds: true, siteMap: [findWhere(siteMap, { id: 'campaign-create' })], scope,\r\n });\r\n return;\r\n }\r\n\r\n navigateSelectedObjective({\r\n isAudience: true, siteMap: [findWhere(siteMap, { id: 'campaign-create' })], scope,\r\n });\r\n return;\r\n }\r\n\r\n if (this.state.selectedItemId === 'SponsoredShoppingCampaign') {\r\n navigateSelectedObjective({\r\n sponsoredBrandAdType: selectedType,\r\n siteMap: [findWhere(siteMap, { id: 'campaign-create' })],\r\n scope,\r\n });\r\n\r\n return;\r\n }\r\n\r\n navigateSelectedObjective({\r\n isShopping: this.state.selectedItemId.indexOf('ShoppingCampaign') !== -1,\r\n isAudience: selectedType === 'AudienceAds',\r\n isNewAudience: permissions.IsNewStaticAudienceCampaignCreationEnabled,\r\n isNewSearch: permissions.dynamic.SearchCampaignCreationRevamp,\r\n isSmartShopping: selectedType === shoppingCampaignTypes.smart,\r\n isPerfMax: selectedType === campaignTypes.perfMax,\r\n siteMap: [findWhere(siteMap, { id: 'campaign-create' })],\r\n scope,\r\n });\r\n };\r\n\r\n renderActionList = () => {\r\n const { i18n, permissions } = this.props;\r\n const objectives = map(objectivesConfig({ i18n, permissions }), item => ({\r\n onClick: this.handleSelectedObjective,\r\n isSelected: (!!this.state.selectedItemId) && this.state.selectedItemId === item.id,\r\n FACInfo: this.state.couponDetails,\r\n ...item,\r\n }));\r\n const tools = map(toolsConfig({ i18n, permissions }), item => ({\r\n onClick: params => navigateSelectedTools({\r\n ...this.props,\r\n ...params,\r\n }),\r\n isSelected: (!!this.state.selectedItemId) && this.state.selectedItemId === item.id,\r\n ...item,\r\n }));\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n render() {\r\n const {\r\n classes,\r\n serverContext,\r\n i18n,\r\n preferenceService,\r\n permissions,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n {this.getDescription(i18n)}\r\n \r\n
\r\n {this.renderActionList()}\r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nChooseObjective.propTypes = {\r\n classes: PropTypes.shape(mapObject(\r\n getChooseObjectiveStyles({}, {}),\r\n constant(PropTypes.string.isRequired)\r\n )).isRequired,\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func,\r\n }).isRequired,\r\n preferenceService: PropTypes.shape({}).isRequired,\r\n permissions: PropTypes.shape({\r\n IsAIMCampaignEnabled: PropTypes.bool.isRequired,\r\n IsDynamicSearchAdsV1Enabled: PropTypes.bool.isRequired,\r\n IsAdultAdsEnabled: PropTypes.bool.isRequired,\r\n IsUserAppInstallAdsAllowed: PropTypes.bool.isRequired,\r\n IsEnhancedShoppingCampaignAllowed: PropTypes.bool.isRequired,\r\n IsSmartShoppingCampaignEnabled: PropTypes.bool.isRequired,\r\n IsVideoAdsForCampaignEnabled: PropTypes.bool.isRequired,\r\n IsDealEnabledForMsAds: PropTypes.bool.isRequired,\r\n IsAmplifyEnabled: PropTypes.bool.isRequired,\r\n IsNewStaticAudienceCampaignCreationEnabled: PropTypes.bool.isRequired,\r\n dynamic: PropTypes.shape({\r\n PerformanceMaxCampaigns: PropTypes.bool,\r\n XandrVideoCampaigns: PropTypes.bool,\r\n XandrDisplayAdsCampaigns: PropTypes.bool,\r\n FACForShopping: PropTypes.bool,\r\n DisplayPlusCampaigns: PropTypes.bool,\r\n SSCDeprecation: PropTypes.bool,\r\n SearchCampaignCreationRevamp: PropTypes.bool,\r\n }),\r\n }).isRequired,\r\n // config: e.g. component/config/index file should be inject from the options\r\n // eslint-disable-next-line react/forbid-prop-types\r\n config: PropTypes.object.isRequired,\r\n siteMap: siteMapPropType.isRequired,\r\n scope: PropTypes.instanceOf(QueryParam).isRequired,\r\n perfMarker: perfMarkerPropTypes.isRequired,\r\n prefetchChunks: PropTypes.func.isRequired,\r\n serverContext: PropTypes.shape({\r\n CurrentAccount: PropTypes.shape({\r\n CurrencyCode: PropTypes.string.isRequired,\r\n }).isRequired,\r\n }).isRequired,\r\n ccJsData: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nconst wrap = compose(\r\n TempComponent => withDefaultStyles(TempComponent, getChooseObjectiveStyles),\r\n withScope,\r\n withI18nConsumer,\r\n withPreference,\r\n withPermissions,\r\n withSiteMap,\r\n withCcJsData,\r\n TempComponent => withCreationHeader(TempComponent, undefined, undefined, false)\r\n);\r\n\r\nexport const StyledCampaignChooseObjective = wrap(ChooseObjective);\r\n","/* istanbul ignore file */\r\nimport React from 'react';\r\nimport Promise from 'bluebird';\r\nimport { withI18nConsumer } from '@bingads-webui-react/i18n-context';\r\nimport { ProgressiveLoadingBlock } from '@bingads-webui-campaign-react/shell-ui-common';\r\nimport appConfig from '@bingads-webui-component-legacy/config/index';\r\nimport { StyledCampaignChooseObjective } from './choose-objective';\r\n\r\nconst chooseObjectiveViewPromise = () => Promise.resolve(props => ());\r\n\r\n\r\nexport const ChooseObjectiveWithLegacyConfig = withI18nConsumer((props) => {\r\n const ChooseObjectiveView = React.lazy(() => { // eslint-disable-line arrow-body-style\r\n return chooseObjectiveViewPromise(props).then(InjectedView => ({\r\n default: () => (),\r\n }));\r\n });\r\n\r\n return (\r\n }>\r\n \r\n );\r\n});\r\n","import { isFunction, some, isEmpty } from 'underscore';\r\nimport { merge } from '@bingads-webui/primitive-utilities';\r\nimport {\r\n campaignSettingsStyles,\r\n creationCommonStyle,\r\n dsaCampaignStyles,\r\n} from '@bingads-webui-campaign-react/campaign-adgroup-settings-shared-styles';\r\nimport {\r\n helpbuttonStyle, linkStyle, containerBudgetStyle,\r\n sharedBudgetGridWrapper, inputFieldStyle\r\n} from '@bingads-webui-campaign-react/common-styles';\r\nimport { stepWizardStyle } from './step-wizard';\r\nimport { CreationContainerContentOverrideStyle } from './creation-content-container-style';\r\n\r\nfunction resolveStyles(theme, ...styles) {\r\n const resolvedStyles = styles.map(s => (isFunction(s) ? s(theme) : s));\r\n if (some(resolvedStyles, isEmpty)) {\r\n throw new Error('Cannot pass in empty style!');\r\n }\r\n return resolvedStyles;\r\n}\r\nexport const getSearchCreationStyle = (_, { palette = {} }) => {\r\n const globalStyles = merge(\r\n {},\r\n ...resolveStyles(\r\n { palette },\r\n stepWizardStyle,\r\n helpbuttonStyle,\r\n inputFieldStyle,\r\n CreationContainerContentOverrideStyle\r\n )\r\n );\r\n const commonStyles = merge(\r\n {},\r\n ...resolveStyles(\r\n { palette },\r\n containerBudgetStyle,\r\n sharedBudgetGridWrapper,\r\n linkStyle\r\n )\r\n );\r\n const searchCreationStyles = merge(\r\n {},\r\n ...resolveStyles(\r\n { palette },\r\n dsaCampaignStyles,\r\n campaignSettingsStyles,\r\n creationCommonStyle\r\n )\r\n );\r\n return {\r\n '@global': globalStyles,\r\n CampaignCreationSearch: {\r\n ...searchCreationStyles,\r\n ...commonStyles,\r\n },\r\n };\r\n};\r\n","/* istanbul ignore file */\r\nimport React from 'react';\r\nimport Promise from 'bluebird';\r\nimport PropTypes from 'prop-types';\r\nimport { mapObject, constant, isFunction } from 'underscore';\r\nimport { withTheme } from 'react-jss';\r\nimport { perfMarkerPropTypes } from '@bingads-webui/performance-marker';\r\nimport { withDelayedStyles } from '@bingads-webui-campaign-react/common-utils';\r\nimport CampaignCreateAdvancedView from '@bingads-webui-campaign-legacy/campaign-create-advanced/view/index';\r\nimport { getSearchCreationStyle } from '../styles/campaign-creation-search-styles';\r\nimport { InjectWrapperWithHoC, withCreationHeader } from '../helper';\r\nimport VerticalTemplate from '../template/legacy-steps-template.pug';\r\n\r\nfunction callbackAfterInjected(view) {\r\n if (view && isFunction(view.on)) {\r\n view.on('begin:switch', view.onSwitch);\r\n view.on('end:switch', view.onSwitched);\r\n }\r\n}\r\n\r\nconst getDelayedCreationStyles = () => (\r\n import(/* webpackMode: 'eager' */'../styles')\r\n .then(({ getEntityCreationStyle }) => ({\r\n getDelayedStyles: getEntityCreationStyle,\r\n }))\r\n);\r\n\r\nfunction CampaignCreationSearch(props) {\r\n const {\r\n serverContext: {\r\n CurrentAccount: {\r\n CurrencyCode,\r\n },\r\n },\r\n perfMarker,\r\n } = props;\r\n return (\r\n Promise.resolve(CampaignCreateAdvancedView)}\r\n InjectViewOption={props.adExtensionsDynamicFeaturesLoader({\r\n permissions: props.permissions,\r\n theme: props.theme,\r\n scope: props.scope,\r\n instrumentation: props.instrumentation,\r\n i18n: props.i18n,\r\n })\r\n .then(adExtensionsDynamicFeatures => ({\r\n accountCurrencyCode: CurrencyCode,\r\n perfMarker,\r\n template: VerticalTemplate,\r\n usePanel: true,\r\n isForVNext: true,\r\n adExtensionsDynamicFeatures,\r\n serverContext: props.serverContext,\r\n scope: props.scope,\r\n }))}\r\n styleScopeName=\"CampaignCreationSearch\"\r\n callbackAfterInjected={callbackAfterInjected}\r\n />);\r\n}\r\n\r\nCampaignCreationSearch.propTypes = {\r\n serverContext: PropTypes.shape({\r\n CurrentAccount: PropTypes.shape({\r\n CurrencyCode: PropTypes.string.isRequired,\r\n }).isRequired,\r\n }).isRequired,\r\n\r\n classes: PropTypes.shape(mapObject(\r\n getSearchCreationStyle({}, {}),\r\n constant(PropTypes.string.isRequired)\r\n )).isRequired,\r\n\r\n perfMarker: perfMarkerPropTypes.isRequired,\r\n\r\n permissions: PropTypes.shape({}).isRequired,\r\n theme: PropTypes.shape({}).isRequired,\r\n scope: PropTypes.shape({\r\n values: PropTypes.shape({\r\n cid: PropTypes.number.isRequired,\r\n }).isRequired,\r\n }).isRequired,\r\n i18n: PropTypes.shape({}).isRequired,\r\n instrumentation: PropTypes.shape({}).isRequired,\r\n adExtensionsDynamicFeaturesLoader: PropTypes.func.isRequired,\r\n};\r\n\r\nexport const StyledCampaignCreationSearch =\r\n withDelayedStyles(withCreationHeader(withTheme(CampaignCreationSearch)), getSearchCreationStyle, getDelayedCreationStyles, 'shared_budget_grid_loaded');\r\n","/* istanbul ignore file */\r\nimport React from 'react';\r\nimport Promise from 'bluebird';\r\nimport PropTypes from 'prop-types';\r\nimport { withDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { perfMarkerPropTypes } from '@bingads-webui/performance-marker';\r\nimport { AudienceCampaignCreationWizard } from '@bingads-webui-campaign-legacy/audience-campaign/loader';\r\nimport { getEntityCreationStyle } from '../styles';\r\nimport { InjectWrapperWithHoC, withCreationHeader, getCommonCampaignCreationViewOptions } from '../helper';\r\nimport VerticalLayout from '../template/steps-template.pug';\r\nimport HeaderTemplate from '../template/header-template.pug';\r\n\r\nfunction CampaignCreationAudience(props) {\r\n return (\r\n Promise.resolve(AudienceCampaignCreationWizard)}\r\n InjectViewOption={{\r\n ...getCommonCampaignCreationViewOptions(props),\r\n layout: VerticalLayout,\r\n headerTemplate: HeaderTemplate,\r\n serverContext: props.serverContext,\r\n }}\r\n styleScopeName=\"CampaignCreationAudience\"\r\n />\r\n );\r\n}\r\n\r\nCampaignCreationAudience.propTypes = {\r\n serverContext: PropTypes.shape({\r\n CurrentAccount: PropTypes.shape({\r\n CurrencyCode: PropTypes.string.isRequired,\r\n }).isRequired,\r\n }).isRequired,\r\n perfMarker: perfMarkerPropTypes.isRequired,\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func.isRequired,\r\n }),\r\n};\r\n\r\nCampaignCreationAudience.defaultProps = {\r\n i18n: {\r\n getString: text => text,\r\n },\r\n};\r\n\r\nexport const StyledCampaignCreationAudience =\r\n withDefaultStyles(withCreationHeader(CampaignCreationAudience), getEntityCreationStyle);\r\n","/* istanbul ignore file */\r\nimport React from 'react';\r\nimport Promise from 'bluebird';\r\nimport PropTypes from 'prop-types';\r\nimport { withDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { perfMarkerPropTypes } from '@bingads-webui/performance-marker';\r\nimport { AudienceCampaignCreationWizard } from '@bingads-webui-campaign-legacy/audience-campaign/loader';\r\nimport PageContext from '@bingads-webui-static-legacy/page-context';\r\nimport { getEntityCreationStyle } from '../styles';\r\nimport { InjectWrapperWithHoC, withCreationHeader } from '../helper';\r\nimport VerticalLayout from '../template/steps-template.pug';\r\nimport HeaderTemplate from '../template/header-template.pug';\r\n\r\nfunction CampaignCreationAudienceVideo(props) {\r\n const {\r\n serverContext: {\r\n CurrentAccount: {\r\n CurrencyCode,\r\n },\r\n CurrentAccountInActive,\r\n Permissions: {\r\n IsReadOnlyUser,\r\n IsImpressionTrackingUrlsEnabled,\r\n },\r\n },\r\n perfMarker,\r\n i18n,\r\n } = props;\r\n return (\r\n Promise.resolve(AudienceCampaignCreationWizard)}\r\n InjectViewOption={{\r\n viewContext: {\r\n accountCurrencyCode: CurrencyCode,\r\n isReadOnlyUser: IsReadOnlyUser,\r\n CurrentAccountInActive,\r\n },\r\n perfMarker,\r\n layout: VerticalLayout,\r\n headerTemplate: HeaderTemplate,\r\n isForVNext: true,\r\n isImpressionTrackingUrlsEnabled: IsImpressionTrackingUrlsEnabled,\r\n isVideo: true,\r\n newI18n: i18n,\r\n deps: {\r\n pageContext: PageContext,\r\n },\r\n }}\r\n styleScopeName=\"CampaignCreationAudience\"\r\n />);\r\n}\r\n\r\nCampaignCreationAudienceVideo.propTypes = {\r\n serverContext: PropTypes.shape({\r\n CurrentAccount: PropTypes.shape({\r\n CurrencyCode: PropTypes.string.isRequired,\r\n }).isRequired,\r\n }).isRequired,\r\n perfMarker: perfMarkerPropTypes.isRequired,\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func.isRequired,\r\n }),\r\n};\r\n\r\nCampaignCreationAudienceVideo.defaultProps = {\r\n i18n: {\r\n getString: text => text,\r\n },\r\n};\r\n\r\nexport const StyledCampaignCreationAudienceVideo =\r\n withDefaultStyles(withCreationHeader(CampaignCreationAudienceVideo), getEntityCreationStyle);\r\n","/* istanbul ignore file */\r\nimport React from 'react';\r\nimport Promise from 'bluebird';\r\nimport PropTypes from 'prop-types';\r\nimport { withDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { perfMarkerPropTypes } from '@bingads-webui/performance-marker';\r\nimport ShoppingCampaignCreationView from '@bingads-webui-campaign-legacy/shopping-campaign/view/campaign-creation/index';\r\nimport { useJsDataContext } from '@bingads-webui-cc-react/js-data-rest';\r\nimport { useShoppingFAC } from '@bingads-webui-campaign-react/shopping-coupon-callout';\r\nimport { getEntityCreationStyle } from '../styles';\r\nimport { InjectWrapperWithHoC, withCreationHeader } from '../helper';\r\n\r\nconst getShoppingCampaignCreationComponent = isMSStoreAdsGAWorkflow => (props) => {\r\n const ccJsData = useJsDataContext();\r\n const { perfMarker, scope, siteMap } = props;\r\n const {\r\n getFACCoupon,\r\n updateCouponStatus,\r\n } = useShoppingFAC({\r\n scope,\r\n siteMap,\r\n });\r\n\r\n return (\r\n
\r\n Promise.resolve(ShoppingCampaignCreationView)}\r\n InjectViewOption={{\r\n perfMarker,\r\n isMSStoreAdsGAWorkflow,\r\n ccJsData,\r\n scope,\r\n siteMap,\r\n getFACCoupon,\r\n updateCouponStatus,\r\n }}\r\n styleScopeName=\"CampaignCreationSearchShopping\"\r\n />\r\n
\r\n );\r\n};\r\n\r\nconst CampaignCreationSearchShopping = getShoppingCampaignCreationComponent(false);\r\nconst CampaignCreationMSStoreAds = getShoppingCampaignCreationComponent(true);\r\n\r\nconst propTypes = {\r\n serverContext: PropTypes.shape({\r\n CurrentAccount: PropTypes.shape({\r\n CurrencyCode: PropTypes.string.isRequired,\r\n }).isRequired,\r\n }).isRequired,\r\n perfMarker: perfMarkerPropTypes.isRequired,\r\n scope: PropTypes.shape({}).isRequired,\r\n siteMap: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n};\r\n\r\nCampaignCreationSearchShopping.propTypes = propTypes;\r\nCampaignCreationMSStoreAds.propTypes = propTypes;\r\n\r\nexport const StyledCampaignCreationSearchShopping =\r\n withDefaultStyles(withCreationHeader(CampaignCreationSearchShopping), getEntityCreationStyle);\r\nexport const StyledCampaignCreationMSStoreAds =\r\n withDefaultStyles(withCreationHeader(CampaignCreationMSStoreAds), getEntityCreationStyle);\r\n","/* istanbul ignore file */\r\nimport React from 'react';\r\nimport Promise from 'bluebird';\r\nimport PropTypes from 'prop-types';\r\nimport { withDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { perfMarkerPropTypes } from '@bingads-webui/performance-marker';\r\nimport { AudienceCampaignCreationWizard } from '@bingads-webui-campaign-legacy/audience-campaign/loader';\r\nimport decimal from '@bingads-webui-component-legacy/humanize/decimal';\r\nimport PageContext from '@bingads-webui-static-legacy/page-context';\r\nimport { getEntityCreationStyle } from '../styles';\r\nimport { InjectWrapperWithHoC, withCreationHeader } from '../helper';\r\nimport VerticalLayout from '../template/steps-template.pug';\r\nimport HeaderTemplate from '../template/header-template.pug';\r\n\r\nconst $top = 10000;\r\n\r\nfunction CampaignCreationAudienceShopping(props) {\r\n const {\r\n serverContext: {\r\n CurrentAccount: {\r\n CurrencyCode,\r\n },\r\n Permissions: {\r\n IsReadOnlyUser,\r\n IsEnabledForDynamicFeedCampaign,\r\n },\r\n CurrentAccountInActive,\r\n },\r\n perfMarker,\r\n } = props;\r\n return (\r\n Promise.resolve(AudienceCampaignCreationWizard)}\r\n InjectViewOption={{\r\n viewContext: {\r\n accountCurrencyCode: CurrencyCode,\r\n isReadOnlyUser: IsReadOnlyUser,\r\n CurrentAccountInActive,\r\n },\r\n audienceCampaignType: 'shopping',\r\n audienceCampaignSubType: 'audiencefeedbased',\r\n perfMarker,\r\n layout: VerticalLayout,\r\n headerTemplate: HeaderTemplate,\r\n initData: view => Promise.all(IsEnabledForDynamicFeedCampaign ?\r\n [view.getProductDataInit(), view.getFeedDataInit({ $top })] : [view.getProductDataInit()]),\r\n isForVNext: true,\r\n deps: {\r\n decimal,\r\n pageContext: PageContext,\r\n },\r\n }}\r\n styleScopeName=\"CampaignCreationAudienceShopping\"\r\n />);\r\n}\r\n\r\nCampaignCreationAudienceShopping.propTypes = {\r\n serverContext: PropTypes.shape({\r\n CurrentAccount: PropTypes.shape({\r\n CurrencyCode: PropTypes.string.isRequired,\r\n }).isRequired,\r\n }).isRequired,\r\n perfMarker: perfMarkerPropTypes.isRequired,\r\n decimal: PropTypes.shape({}).isRequired,\r\n PageContext: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport const StyledCampaignCreationAudienceShopping =\r\n withDefaultStyles(withCreationHeader(CampaignCreationAudienceShopping), getEntityCreationStyle);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { perfMarkerPropTypes } from '@bingads-webui/performance-marker';\r\nimport { StaticAudienceCampaignCreation } from '@bingads-webui-campaign-react/static-audience-campaign-creation';\r\n// import { AudienceCampaignCreationWizard } from '@bingads-webui-campaign-legacy/audience-campaign/loader';\r\nimport { getEntityCreationStyle } from '../styles';\r\nimport { withCreationHeader, getCommonCampaignCreationViewOptions } from '../helper';\r\n\r\nfunction CampaignCreationAudienceSimplified(props) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nCampaignCreationAudienceSimplified.propTypes = {\r\n serverContext: PropTypes.shape({\r\n CurrentAccountInActive: PropTypes.bool.isRequired,\r\n Permissions: PropTypes.shape({\r\n IsReadOnlyUser: PropTypes.bool.isRequired,\r\n IsImpressionTrackingUrlsEnabled: PropTypes.bool.isRequired,\r\n }).isRequired,\r\n CurrentAccount: PropTypes.shape({\r\n CurrencyCode: PropTypes.string.isRequired,\r\n }).isRequired,\r\n }).isRequired,\r\n perfMarker: perfMarkerPropTypes.isRequired,\r\n classes: PropTypes.shape({\r\n CampaignCreationAudience: PropTypes.string.isRequired,\r\n }).isRequired,\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func.isRequired,\r\n }),\r\n};\r\n\r\nCampaignCreationAudienceSimplified.defaultProps = {\r\n i18n: {\r\n getString: text => text,\r\n },\r\n};\r\n\r\nexport const StyledCampaignCreationAudienceSimplified =\r\n withDefaultStyles(withCreationHeader(CampaignCreationAudienceSimplified), getEntityCreationStyle);\r\n","/* istanbul ignore file */\r\nimport React from 'react';\r\nimport { withDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { AdTypes } from '@bingads-webui-campaign-react/campaign-onboarding-v2';\r\nimport { ProgressiveLoadingBlock } from '@bingads-webui-campaign-react/shell-ui-common';\r\n\r\nconst getStandardShoppingCampaignWizardAsync = () => import(/* webpackMode: 'eager' */ '@bingads-webui-campaign-react/standard-shopping-wizard')\r\n .then(({ StandardShoppingCampaignWizard }) => StandardShoppingCampaignWizard);\r\n\r\nconst getComponent = getComponentAsync =>\r\n () => getComponentAsync()\r\n .then(component => ({ default: component }));\r\n\r\n\r\nconst StandardShoppingComponent = (props) => {\r\n const Component = React.lazy(getComponent(getStandardShoppingCampaignWizardAsync));\r\n return (\r\n }>\r\n \r\n \r\n );\r\n};\r\n\r\nconst getShoppingCampaignCreationWizardComponent = campaignTypeName => props => ;\r\n\r\nexport const StyledCampaignCreationSearchShoppingWizard =\r\n withDefaultStyles(getShoppingCampaignCreationWizardComponent(AdTypes.AudienceAndSearch));\r\nexport const StyledCampaignCreationAudienceShoppingWizard =\r\n withDefaultStyles(getShoppingCampaignCreationWizardComponent(AdTypes.ShoppingAudience));\r\n","import { isFunction, some, isEmpty } from 'underscore';\r\nimport { merge } from '@bingads-webui/primitive-utilities';\r\nimport {\r\n helpbuttonStyle, inputFieldStyle\r\n} from '@bingads-webui-campaign-react/common-styles';\r\n\r\nconst WizardDefaultLayoutOverrideStyle = {\r\n '.default-layout': {\r\n overflowY: 'hidden',\r\n },\r\n};\r\n\r\nfunction resolveStyles(theme, ...styles) {\r\n const resolvedStyles = styles.map(s => (isFunction(s) ? s(theme) : s));\r\n if (some(resolvedStyles, isEmpty)) {\r\n throw new Error('Cannot pass in empty style!');\r\n }\r\n return resolvedStyles;\r\n}\r\nexport const getSearchCreationV2Style = (_, { palette = {} }) => {\r\n const globalStyles = merge(\r\n {},\r\n ...resolveStyles(\r\n { palette },\r\n helpbuttonStyle,\r\n inputFieldStyle,\r\n WizardDefaultLayoutOverrideStyle\r\n )\r\n );\r\n return {\r\n '@global': globalStyles,\r\n };\r\n};\r\n","/* istanbul ignore file */\r\nimport React, { useCallback, useMemo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Promise from 'bluebird';\r\nimport { withTheme } from 'react-jss';\r\nimport { withProps } from '@bingads-webui-react/with-props';\r\nimport { withDelayedStyles } from '@bingads-webui-campaign-react/common-utils';\r\nimport { ProgressiveLoadingBlock } from '@bingads-webui-campaign-react/shell-ui-common';\r\nimport { getSearchCreationV2Style } from '../styles/campaign-creation-search-v2-styles';\r\nimport { withCreationHeader } from '../helper';\r\n\r\nconst getSearchCampaignWizardAsync = () => import(/* webpackMode: 'eager' */ '@bingads-webui-campaign-react/search-campaign-wizard')\r\n .then(({ SearchCampaignCreationWizard }) => ({ default: SearchCampaignCreationWizard }));\r\n\r\nconst getDelayedCreationStyles = () => (\r\n import(/* webpackMode: 'eager' */'../styles')\r\n .then(({ getEntityCreationStyle }) => ({\r\n getDelayedStyles: getEntityCreationStyle,\r\n }))\r\n);\r\n\r\nconst CampaignCreationSearchV2 = (props) => {\r\n const {\r\n adExtensionsDynamicFeaturesLoader,\r\n permissions,\r\n theme,\r\n scope,\r\n instrumentation,\r\n i18n,\r\n } = props;\r\n\r\n const SearchCampaignCreationWizard = useMemo(() => React.lazy((() => getSearchCampaignWizardAsync())), []);\r\n\r\n const dynamicOptionsLoader = useCallback(\r\n () => Promise.props({\r\n adExtensionsDynamicFeatures: adExtensionsDynamicFeaturesLoader({\r\n permissions,\r\n theme,\r\n scope,\r\n instrumentation,\r\n i18n,\r\n }),\r\n adExtensionsAssociationsFactory:\r\n import(/* webpackChunkName: \"campaign-adgroup-creation\" */'@bingads-webui-campaign-react/ad-extensions-associations-factory'),\r\n })\r\n .then(({ adExtensionsDynamicFeatures, adExtensionsAssociationsFactory }) => ({\r\n adExtensionsDynamicFeatures,\r\n adExtensionsAssociationsFactory,\r\n }))\r\n .then(dynamicOptions => ({\r\n default: withProps({ dynamicOptions }, SearchCampaignCreationWizard),\r\n })),\r\n [adExtensionsDynamicFeaturesLoader, permissions, theme, scope, instrumentation, i18n, SearchCampaignCreationWizard]\r\n );\r\n\r\n const LazyView = useMemo(() => React.lazy(dynamicOptionsLoader), [dynamicOptionsLoader]);\r\n\r\n return (\r\n }>\r\n \r\n \r\n );\r\n};\r\n\r\nCampaignCreationSearchV2.propTypes = {\r\n adExtensionsDynamicFeaturesLoader: PropTypes.func.isRequired,\r\n permissions: PropTypes.shape({}).isRequired,\r\n theme: PropTypes.shape({}).isRequired,\r\n scope: PropTypes.shape({}).isRequired,\r\n instrumentation: PropTypes.shape({}).isRequired,\r\n i18n: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport const StyledCampaignCreationSearchV2 =\r\n withDelayedStyles(withCreationHeader(withTheme(CampaignCreationSearchV2), undefined, undefined, undefined, true), getSearchCreationV2Style, getDelayedCreationStyles, 'campaign_create_search_v2_loaded');\r\n","/* istanbul ignore file */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport { CampaignSubTypeMapping, isXandrDisplayAdsCampaign, isXandrVideoAdsCampaign, isAudienceNativeAdsCampaign, isSearchCampaign } from '@bingads-webui-campaign-react/constants';\r\nimport { withI18nConsumer } from '@bingads-webui-react/i18n-context';\r\nimport { ProgressiveLoadingBlock } from '@bingads-webui-campaign-react/shell-ui-common';\r\nimport { setClarityTag } from '@bingads-webui-universal/clarity';\r\n\r\nimport { withCampaign, withCreationHeader } from '../helper';\r\n\r\nconst getStyledAdGroupCreationSearchAsync = () => import(/* webpackMode: 'eager' */'./adgroup-creation-search')\r\n .then(({ StyledAdGroupCreationSearch }) => StyledAdGroupCreationSearch);\r\nconst getStyledAdGroupCreationAudienceAsync = () => import(/* webpackMode: 'eager' */'./adgroup-creation-audience')\r\n .then(({ StyledAdGroupCreationAudience }) => StyledAdGroupCreationAudience);\r\nconst getHotelAdGroupCreationAsync = () => import(/* webpackMode: 'eager' */'@bingads-webui-campaign/hotel-adgroup-upsert')\r\n .then(({ HotelAdGroupCreation }) => HotelAdGroupCreation);\r\nconst getXandrVideoAdGroupCreationAsync = () => import(/* webpackMode: 'eager' */ '@bingads-webui-campaign-react/xandr-video-campaign')\r\n .then(({ XandrVideoAdGroupCreationPage }) => XandrVideoAdGroupCreationPage);\r\nconst getXandrDisplayAdsAdGroupCreationAsync = () => import(/* webpackMode: 'eager' */ '@bingads-webui-campaign-react/xandr-display-ads-campaign')\r\n .then(({ XandrDisplayAdsAdGroupCreationPage }) => XandrDisplayAdsAdGroupCreationPage);\r\nconst getDisplayPlusAdGroupCreationAsync = () => import(/* webpackMode: 'eager' */ '@bingads-webui-campaign-react/display-plus-campaigns')\r\n .then(({ DisplayPlusCreateAdGroupWizard }) => DisplayPlusCreateAdGroupWizard);\r\nconst getSearchAdGroupCreationRevampAsync = () => import(/* webpackMode: 'eager' */ '@bingads-webui-campaign-react/search-campaign-wizard')\r\n .then(({ SearchAdGroupCreationWizard }) => SearchAdGroupCreationWizard);\r\n\r\n/**\r\n * @param {Function} getComponentAsync a function that returns a lazy loading component\r\n * @param {Object} i18n i18n object\r\n * @returns {Function} a function that can be passed to React.lazy()\r\n */\r\nconst getComponent = (getComponentAsync, i18n) =>\r\n () => getComponentAsync()\r\n .then(component => ({ default: withCreationHeader(component, [i18n.getString(_TL_('Ad Groups')), i18n.getString(_TL_('Create ad group'))], 'adgroups') }));\r\n\r\nclass AdGroupCreation extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n const { scope, i18n } = props;\r\n this.SearchComponent = React.lazy(getComponent(getStyledAdGroupCreationSearchAsync, i18n));\r\n this.SearchRevampComponent = React.lazy(getComponent(getSearchAdGroupCreationRevampAsync, i18n));\r\n this.AudienceComponent = React.lazy(getComponent(getStyledAdGroupCreationAudienceAsync, i18n));\r\n this.HotelComponent = React.lazy(getComponent(getHotelAdGroupCreationAsync, i18n));\r\n this.XandrVideoComponent = React.lazy(getComponent(getXandrVideoAdGroupCreationAsync, i18n));\r\n this.XandrDisplayAdsComponent = React.lazy(getComponent(getXandrDisplayAdsAdGroupCreationAsync, i18n));\r\n this.DisplayPlusComponent = React.lazy(getComponent(getDisplayPlusAdGroupCreationAsync, i18n));\r\n\r\n this.isOpenCreatePanel = !!scope.values.isOpenCreatePanel;\r\n if (this.isOpenCreatePanel) {\r\n delete scope.values.isOpenCreatePanel;\r\n scope.history.replace({\r\n pathname: scope.history.location.pathname,\r\n search: scope.stringify(),\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const { permissions } = this.props;\r\n const campaignType = _.chain(this.props)\r\n .result('campaignContext')\r\n .result('currentCampaign')\r\n .result('CampaignType')\r\n .value();\r\n const campaignSubType = _.chain(this.props)\r\n .result('campaignContext')\r\n .result('currentCampaign')\r\n .result('CampaignSubType')\r\n .value();\r\n\r\n let Component = this.SearchComponent;\r\n\r\n if (isSearchCampaign(campaignType) && permissions && permissions.dynamic &&\r\n permissions.dynamic.SearchCampaignCreationRevamp && permissions.dynamic.SearchRevampPhase2) {\r\n Component = this.SearchRevampComponent;\r\n }\r\n\r\n if (campaignType === 'Audience') {\r\n Component = this.AudienceComponent;\r\n if (permissions && permissions.dynamic && permissions.dynamic.XandrVideoCampaigns &&\r\n isXandrVideoAdsCampaign(campaignSubType)) {\r\n if (permissions.dynamic.CTVAndDealToDisplayPlus && permissions.dynamic.DisplayPlusAdGroupCreation) {\r\n setClarityTag({\r\n IsDisplayPlusAdGroupCreationEnabled: true,\r\n CampaignSubType: campaignSubType,\r\n });\r\n Component = this.DisplayPlusComponent;\r\n } else {\r\n Component = this.XandrVideoComponent;\r\n }\r\n }\r\n if (permissions && permissions.dynamic && permissions.dynamic.XandrDisplayAdsCampaigns &&\r\n isXandrDisplayAdsCampaign(campaignSubType)) {\r\n Component = this.XandrDisplayAdsComponent;\r\n }\r\n if (permissions && permissions.dynamic && permissions.dynamic.DisplayPlusAdGroupCreation &&\r\n isAudienceNativeAdsCampaign(campaignSubType)) {\r\n setClarityTag({\r\n IsDisplayPlusAdGroupCreationEnabled: true,\r\n CampaignSubType: campaignSubType,\r\n });\r\n Component = this.DisplayPlusComponent;\r\n }\r\n }\r\n\r\n if (permissions && permissions.dynamic && permissions.dynamic.HotelCampaign && campaignType === 'Hotel') {\r\n Component = this.HotelComponent;\r\n }\r\n\r\n return (\r\n }>\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nAdGroupCreation.propTypes = {\r\n campaignContext: PropTypes.shape({}).isRequired,\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func,\r\n }).isRequired,\r\n permissions: PropTypes.shape({\r\n dynamic: PropTypes.shape({\r\n HotelCampaign: PropTypes.bool,\r\n XandrVideoCampaigns: PropTypes.bool,\r\n XandrDisplayAdsCampaigns: PropTypes.bool,\r\n DisplayPlusAdGroupCreation: PropTypes.bool,\r\n CTVAndDealToDisplayPlus: PropTypes.bool,\r\n SearchCampaignCreationRevamp: PropTypes.bool,\r\n SearchRevampPhase2: PropTypes.bool,\r\n }).isRequired,\r\n }).isRequired,\r\n scope: PropTypes.shape({\r\n values: PropTypes.shape({\r\n isOpenCreatePanel: PropTypes.bool,\r\n }),\r\n history: PropTypes.shape({\r\n replace: PropTypes.func,\r\n location: PropTypes.shape({\r\n pathname: PropTypes.string,\r\n search: PropTypes.string,\r\n }),\r\n }),\r\n stringify: PropTypes.func,\r\n }).isRequired,\r\n};\r\n\r\nexport const AdGroupCreationWithCampaign = withCampaign(withI18nConsumer(AdGroupCreation));\r\n","const toolsItemsPropsMapping = (i18n, permissions) => [\r\n {\r\n id: 'KWPlanner',\r\n title: i18n.getString(_TL_('Keyword planner')),\r\n descriptionLine: i18n.getString(_TL_('Research keywords')),\r\n helpId: 'pop_BA_CampaignCreate_Goals_KWPlanner',\r\n iconName: 'Search',\r\n 'aria-label': i18n.getString(_TL_('Research keywords with the Keyword Planner Tool')),\r\n helpArialLabel: 'Learn more about Research keywords with the Keyword Planner Tool',\r\n siteMapId: 'keyword-planner',\r\n siteMapAvailable: () => true,\r\n isEnabled: true,\r\n },\r\n {\r\n id: 'ImportFile',\r\n title: i18n.getString(_TL_('Import file')),\r\n descriptionLine: i18n.getString(_TL_('Import from a file')),\r\n helpId: 'pop_BA_CampaignCreate_Goals_ImportFile',\r\n iconName: 'Import',\r\n 'aria-label': i18n.getString(_TL_('Import from a file')),\r\n helpArialLabel: 'Learn more about Import from a file',\r\n siteMapId: 'import-file',\r\n siteMapAvailable: () => true,\r\n isEnabled: true,\r\n },\r\n {\r\n id: 'GoogleImport',\r\n title: i18n.getString(_TL_('Google import')),\r\n descriptionLine: i18n.getString(_TL_('Import from Google Ads')),\r\n helpId: 'pop_BA_CampaignCreate_Goals_GoogleImport',\r\n iconName: 'Import',\r\n 'aria-label': i18n.getString(_TL_('Import from Google AdWords')),\r\n helpArialLabel: 'Learn more about Import from Google AdWords',\r\n siteMapId: 'import-google',\r\n siteMapAvailable: () => true,\r\n isEnabled: permissions && !permissions.IsDomesticSimplifiedChineseEnabled,\r\n },\r\n {\r\n id: 'FreeCoach',\r\n title: i18n.getString(_TL_('Free coach')),\r\n descriptionLine: i18n.getString(_TL_('Free coaching on creating a campaign')),\r\n helpId: 'pop_BA_CampaignCreate_Goals_Coaching',\r\n analyticsId: 'free-coaching',\r\n iconName: 'Phone',\r\n 'aria-label': i18n.getString(_TL_('Free coaching on creating a campaign')),\r\n helpArialLabel: 'Learn more about Free coaching on creating a campaign',\r\n siteMapAvailable: () => false,\r\n isEnabled: true,\r\n },\r\n];\r\n\r\nexport const toolsConfig = ({ i18n, permissions }) => {\r\n const toolsItems = toolsItemsPropsMapping(i18n, permissions);\r\n\r\n return toolsItems.filter(item => item.isEnabled);\r\n};\r\n\r\n","/* istanbul ignore file */\r\nimport Promise from 'bluebird';\r\n\r\nconst InjectedView = {};\r\n\r\nexport function injectFactory({\r\n deps = [],\r\n path,\r\n}) {\r\n return new Promise((resolve) => {\r\n window.require(\r\n [...deps],\r\n () => {\r\n window.require([path], (View) => {\r\n InjectedView[path] = View;\r\n resolve(View);\r\n });\r\n }\r\n );\r\n });\r\n}\r\n","import React from 'react';\r\nimport _ from 'underscore';\r\nimport { ReactTemplate } from '@bingads-webui-react/react-template';\r\n\r\nimport AudienceAdsImg from '../../media/AudienceAds_animated.gif';\r\n// import ProductAdsImg from '../../media/ProductAds_animated.gif';\r\nimport SearchAdsImg from '../../media/SearchAds_animated.gif';\r\nimport SmartShoppingImg from '../../media/SmartShopping.gif';\r\nimport StandardShoppingImg from '../../media/StandardShopping.gif';\r\nimport PerformanceMaxImg from '../../media/PerformanceMax.gif';\r\nimport VideoCampaignCTV from '../../media/VideoCampaignCTV.svg';\r\nimport VideoCampaignWeb from '../../media/VideoCampaignWeb.svg';\r\nimport NativeAdsImg from '../../media/img_Native.svg';\r\nimport DisplayAdsImg from '../../media/img_Banner.svg';\r\nimport MicrosoftRetailerNetworkImg from '../../media/MicrosoftRetailerNetwork.svg';\r\nimport SponsoredPromotionsByBrandImg from '../../media/SponsoredPromotionsByBrand.svg';\r\n\r\nexport const adTypeConfig = (i18n, showAsCampaignType) => [{\r\n id: 'SearchAds',\r\n title: showAsCampaignType ? i18n.getString(_TL_('Search')) : i18n.getString(_TL_('Search ads')),\r\n description: i18n.getString(_TL_('Reach potential customers who have displayed search intent for your products and services. These ads can appear with search results on sites like Microsoft Bing, AOL, Yahoo, DuckDuckGo, Ecosia, and other partners. These ads can also extend into relevant sites across the Microsoft Advertising Network to maximize your conversions and reach your performance goal.')),\r\n helpTopicId: 'app50028',\r\n img: SearchAdsImg,\r\n 'aria-label': showAsCampaignType ? i18n.getString(_TL_('Search')) : i18n.getString(_TL_('Search ads')),\r\n}, {\r\n id: 'AudienceAds',\r\n title: showAsCampaignType ? i18n.getString(_TL_('Audience')) : i18n.getString(_TL_('Audience ads')),\r\n description: i18n.getString(_TL_('Show highly relevant ads to your audience and reach them in the right place at the right time on any device. Microsoft Audience ads can appear on sites like MSN, Microsoft Start, Microsoft Edge, Outlook, and partners. ')),\r\n helpTopicId: 'app54714',\r\n img: AudienceAdsImg,\r\n 'aria-label': showAsCampaignType ? i18n.getString(_TL_('Audience')) : i18n.getString(_TL_('Audience ads')),\r\n}, /* {\r\n id: 'SmartAds',\r\n title: i18n.getString(_TL_('Smart ads')),\r\n description: i18n.getString(_TL_('Smart ads description Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo.')),\r\n img: ProductAdsImg,\r\n} */];\r\n\r\nexport const shoppingCampaignTypes = {\r\n smart: 'SmartShoppingCampaign',\r\n standard: 'StandardShoppingCampaign',\r\n};\r\n\r\nexport const campaignTypes = {\r\n standard: 'StandardCampaign',\r\n perfMax: 'PerfMaxCampaign',\r\n};\r\n\r\nexport const xandrVideoCampaignTypes = {\r\n xandrVideoWeb: 'XandrVideoWebCampaign',\r\n xandrVideoCtv: 'XandrVideoCtvCampaign',\r\n};\r\n\r\nexport const adImpressionsCampaignTypes = {\r\n nativeAds: 'NativeAdsCampaign',\r\n displayAds: 'DisplayAdsCampaign',\r\n};\r\n\r\nexport const sponsoredProductCampaignTypes = {\r\n spa: 'MicrosoftRetailerNetwork',\r\n spb: 'SponsoredPromotionsByBrand',\r\n};\r\n\r\nexport const perfMaxCampaignTypeConfig = i18n => ({\r\n id: campaignTypes.perfMax,\r\n title: i18n.getString(_TL_('Performance Max')),\r\n description: i18n.getString(_TL_('Easily create and manage your campaign, optimize ads to reach the right audience at the right time, and drive performance to meet your advertising goals using Microsoft AI. We\\'ll determine which audiences and assets are best for your ads based on your settings. All ads will be eligible to surface on the entire Microsoft Advertising Network.')),\r\n img: PerformanceMaxImg,\r\n 'aria-label': i18n.getString(_TL_('Performance Max')),\r\n helpTopicId: 'app54826',\r\n});\r\n\r\nexport const smartShoppingCampaignTypeConfig = i18n => ({\r\n id: shoppingCampaignTypes.smart,\r\n title: i18n.getString(_TL_('Smart Shopping')),\r\n description: i18n.getString(_TL_('Maximize your return by using automated bidding and targeting on the Microsoft Advertising Network. Smart Shopping campaigns take priority over Standard Shopping campaigns which target the same set of products.')),\r\n img: SmartShoppingImg,\r\n 'aria-label': i18n.getString(_TL_('SmartShopping')),\r\n});\r\n\r\nexport const standardShoppingCampaignTypeConfig = i18n => ({\r\n id: shoppingCampaignTypes.standard,\r\n title: i18n.getString(_TL_('Standard Shopping')),\r\n description: i18n.getString(_TL_('Pick your products, bid strategy, budget, and targeting. Your ads can show on the Microsoft Advertising Network.')),\r\n img: StandardShoppingImg,\r\n 'aria-label': i18n.getString(_TL_('Standard Shopping')),\r\n});\r\n\r\nexport const shoppingCampaignTypeConfig = (i18n, permissions) => _.compact([!permissions.dynamic.SSCDeprecation && smartShoppingCampaignTypeConfig(i18n), standardShoppingCampaignTypeConfig(i18n)]);\r\n\r\nexport const xandrVideoCampaignTypeConfig = i18n => [\r\n {\r\n id: xandrVideoCampaignTypes.xandrVideoWeb,\r\n title: i18n.getString(_TL_('Online video ads')),\r\n description: i18n.getString(_TL_('Online video ads engage potential customers on websites across desktop, tablet, and mobile devices while they\\'re streaming media and browsing the web.')),\r\n img: VideoCampaignWeb,\r\n 'aria-label': i18n.getString(_TL_('Online video ads')),\r\n },\r\n {\r\n id: xandrVideoCampaignTypes.xandrVideoCtv,\r\n title: i18n.getString(_TL_('Connected TV (CTV) ads')),\r\n description: i18n.getString(_TL_('Reach your audience with video ads on CTV streaming services. These ads are designed to increase engagement and maximize completed views of your CTV ads.')),\r\n img: VideoCampaignCTV,\r\n 'aria-label': i18n.getString(_TL_('Connected TV (CTV) ads')),\r\n },\r\n];\r\n\r\nexport const sponsoredProductCampaignTypeConfig = (i18n, permissions) => [\r\n // If MranDeprecation is enabled, we want to hide the option instead of disabling the option\r\n ...(_.get(permissions, ['dynamic', 'MranDeprecation'], false) ? [] : [{\r\n id: sponsoredProductCampaignTypes.spa,\r\n title: i18n.getString(_TL_('Sponsored retail ads')),\r\n description: (\r\n {text} }}\r\n template={i18n.getString(_TL_('Target in-market customers with {{bold}}product ads across Bing and the retailer\\'s network.{{/bold}}'))}\r\n />\r\n ),\r\n img: MicrosoftRetailerNetworkImg,\r\n 'aria-label': i18n.getString(_TL_('Sponsored retail ads')),\r\n }]),\r\n {\r\n id: sponsoredProductCampaignTypes.spb,\r\n title: i18n.getString(_TL_('Sponsored Promotions for brands')),\r\n description: (\r\n {text} }}\r\n template={i18n.getString(_TL_('Target in-market customers with {{bold}}cashback promotions when they shop on Edge.{{/bold}}'))}\r\n />\r\n ),\r\n disabled: !permissions.dynamic.SponsoredPromotionsByBrands,\r\n img: SponsoredPromotionsByBrandImg,\r\n 'aria-label': i18n.getString(_TL_('Sponsored Promotions for brands')),\r\n },\r\n];\r\n\r\nexport const adImpressionsCampaignTypeConfig = i18n => [\r\n {\r\n id: adImpressionsCampaignTypes.nativeAds,\r\n title: i18n.getString(_TL_('Audience ads')),\r\n description: i18n.getString(_TL_('Show personalized, visually rich, responsive ads that integrate naturally into webpage content. ')),\r\n helpTopicId: 'app54714',\r\n img: NativeAdsImg,\r\n 'aria-label': i18n.getString(_TL_('Native ads')),\r\n },\r\n {\r\n id: adImpressionsCampaignTypes.displayAds,\r\n title: i18n.getString(_TL_('Display ads')),\r\n description: i18n.getString(_TL_('Showcase your brand with eye-catching, customized image ads, including banner, billboard, and half-page display placements.')),\r\n img: DisplayAdsImg,\r\n 'aria-label': i18n.getString(_TL_('Display ads')),\r\n },\r\n];\r\n\r\nexport const search = (i18n, showAsCampaignType) => [{\r\n id: 'SearchAds',\r\n title: showAsCampaignType ? i18n.getString(_TL_('Search')) : i18n.getString(_TL_('Search ads')),\r\n description: i18n.getString(_TL_('Search ads appear as results to search queries on the Bing Network. They are text-based ads with formatting and image enhancements')),\r\n img: SearchAdsImg,\r\n 'aria-label': showAsCampaignType ? i18n.getString(_TL_('Search')) : i18n.getString(_TL_('Search ads')),\r\n}, {\r\n id: 'AudienceAds',\r\n title: showAsCampaignType ? i18n.getString(_TL_('Audience')) : i18n.getString(_TL_('Audience ads')),\r\n description: i18n.getString(_TL_('Audience ads appear to people on the Microsoft Advertising Network based on who they are interested in. They are responsive ads that fit with the subject matter and visual design of the surrounding experience. Audience ads must comply with Microsoft Advertising policies and are also subject to additional requirements listed in our ')),\r\n audienceAdsPolicy: i18n.getString(_TL_('Audience ads Policy')),\r\n period: i18n.getString(_TL_('.')),\r\n img: AudienceAdsImg,\r\n 'aria-label': showAsCampaignType ? i18n.getString(_TL_('Audience')) : i18n.getString(_TL_('Audience ads')),\r\n}, /* {\r\n id: 'SmartAds',\r\n title: i18n.getString(_TL_('Smart ads')),\r\n description: i18n.getString(_TL_('Smart ads description Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo.')),\r\n img: ProductAdsImg,\r\n} */];\r\n","/* istanbul ignore file */\r\nimport React from 'react';\r\nimport Promise from 'bluebird';\r\nimport _ from 'underscore';\r\nimport PropTypes from 'prop-types';\r\nimport { BackboneInstanceWrapper } from '@bingads-webui-react/backbone-instance-wrapper';\r\nimport { getRouterDep } from '@bingads-webui-campaign-react/legacy-router-dep';\r\nimport { EventDelegator } from '@bingads-webui-campaign-react/event-delegator';\r\nimport { withSiteMap, processor } from '@bingads-webui-campaign-react/with-site-map';\r\nimport { withI18nConsumer } from '@bingads-webui-react/i18n-context';\r\nimport { ProgressiveLoadingBlock } from '@bingads-webui-campaign-react/shell-ui-common';\r\n\r\nexport class InjectWrapper extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n const injectViewFactoryOptions = _.omit(props, ['styleScopeName', 'InjectViewFactory', 'InjectViewOption']);\r\n\r\n this.ReactView = React.lazy(() => props.InjectViewFactory(injectViewFactoryOptions)\r\n .then(InjectedView => Promise.props({ InjectedView, InjectViewOption: props.InjectViewOption }))\r\n .then(({ InjectedView, InjectViewOption }) => {\r\n const { deps = {} } = InjectViewOption;\r\n const viewOptions = {\r\n ...InjectViewOption,\r\n deps: {\r\n router: getRouterDep(props.scope, props.siteMap),\r\n eventDelegator: new EventDelegator(),\r\n i18nNewDesign: this.props.i18n,\r\n ...deps,\r\n },\r\n };\r\n\r\n const initData = viewOptions.initData || (() => Promise.resolve());\r\n\r\n return Promise.resolve(new InjectedView(viewOptions))\r\n .then(view => initData(view).then(() => view))\r\n .then((view) => {\r\n props.callbackAfterInjected(view);\r\n this.instance = view.render();\r\n return this.instance;\r\n })\r\n .then(instance => ({\r\n default: () => {\r\n this.props.callbackAfterRendered();\r\n return (\r\n
\r\n \r\n
);\r\n },\r\n }));\r\n }));\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.instance && this.instance.remove) {\r\n this.instance.remove();\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n }>\r\n \r\n );\r\n }\r\n}\r\n\r\nInjectWrapper.propTypes = {\r\n InjectViewFactory: PropTypes.func.isRequired,\r\n serverContext: PropTypes.shape({\r\n Permissions: PropTypes.object.isRequired,\r\n CurrentAccount: PropTypes.object.isRequired,\r\n }).isRequired,\r\n InjectViewOption: PropTypes.objectOf(PropTypes.any),\r\n classes: PropTypes.objectOf(PropTypes.any).isRequired,\r\n styleScopeName: PropTypes.string,\r\n scope: PropTypes.objectOf(PropTypes.any).isRequired,\r\n siteMap: PropTypes.arrayOf(PropTypes.any).isRequired,\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func,\r\n }).isRequired,\r\n callbackAfterInjected: PropTypes.func,\r\n callbackAfterRendered: PropTypes.func,\r\n};\r\n\r\nInjectWrapper.defaultProps = {\r\n InjectViewOption: {},\r\n styleScopeName: 'CampaignCreationSearch',\r\n callbackAfterInjected: _.noop,\r\n callbackAfterRendered: _.noop,\r\n};\r\n\r\nexport const InjectWrapperWithHoC = withI18nConsumer(withSiteMap(InjectWrapper, [processor.processPermissions]));\r\n","import { getRoutePathById } from '@bingads-webui-campaign-react/with-site-map';\r\nimport { sponsoredProductCampaignTypes } from './ad-type-config';\r\n\r\n// These urls is not find in sitemap\r\n// Keep the orignal behavior to navigate to old campaign page\r\nconst toolsPathMap = urlIds => ({\r\n ImportFile: `/Campaign/ImportCampaign/FileImport?${urlIds}`,\r\n GoogleImport: `/Campaign/ImportCampaign/GoogleImport?${urlIds}`,\r\n FreeCoach: 'http://go.microsoft.com/fwlink?LinkId=398320',\r\n});\r\n\r\nexport function navigateToRoute(scope, siteMap, id) {\r\n const pathname = getRoutePathById(siteMap, id);\r\n\r\n scope.history.push({\r\n pathname,\r\n search: scope.history.location.search,\r\n });\r\n}\r\n\r\nexport function navigateSelectedObjective({\r\n isDisplayAds,\r\n isVideo,\r\n isMediaPackage,\r\n isAudience,\r\n isShopping,\r\n isSmartShopping,\r\n isPerfMax,\r\n sponsoredBrandAdType,\r\n scope,\r\n siteMap,\r\n isNewAudience,\r\n isNewSearch,\r\n permissions,\r\n}) {\r\n let id = null;\r\n if (isVideo) {\r\n if (permissions.dynamic.XandrVideoCampaigns) {\r\n id = 'campaign-create-xandr-video';\r\n } else {\r\n id = 'campaign-create-videoaudience';\r\n }\r\n } else if (isDisplayAds) {\r\n id = 'campaign-create-xandr-display-ads';\r\n } else if (isMediaPackage) {\r\n id = 'campaign-create-xandr-mediadeal';\r\n } else if (isPerfMax) {\r\n id = 'campaign-create-pmax';\r\n } else if (isAudience) {\r\n if (isShopping) {\r\n id = 'campaign-create-shoppingaudience';\r\n } else {\r\n id = `campaign-create-${isNewAudience ? 'audience-simplified' : 'audience'}`;\r\n }\r\n } else if (sponsoredBrandAdType === sponsoredProductCampaignTypes.spa) {\r\n id = 'campaign-create-shopping-spa';\r\n } else if (sponsoredBrandAdType === sponsoredProductCampaignTypes.spb) {\r\n id = 'campaign-create-shopping-spb';\r\n } else if (!isSmartShopping) {\r\n const searchId = isNewSearch ? 'search-v2' : 'search';\r\n id = `campaign-create-${isShopping ? 'shopping' : searchId}`;\r\n } else {\r\n id = 'campaign-create-smart-shopping';\r\n }\r\n\r\n navigateToRoute(scope, siteMap, id);\r\n}\r\n\r\nexport function navigateSelectedTools({\r\n scope, siteMap, permissions, id: itemId, siteMapId, siteMapAvailable,\r\n}) {\r\n if (siteMapAvailable && siteMapAvailable(permissions)) {\r\n navigateToRoute(scope, siteMap, siteMapId);\r\n return;\r\n }\r\n\r\n const {\r\n values: {\r\n cid,\r\n uid,\r\n aid,\r\n },\r\n } = scope;\r\n const urlIds = `cid=${cid}&uid=${uid}&aid=${aid}`;\r\n const itemTarget = itemId === 'FreeCoach' ? '_blank' : '_self';\r\n\r\n window.open(toolsPathMap(urlIds)[itemId], itemTarget);\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withScope, QueryParam } from '@bingads-webui-react/scope-service';\r\nimport { useDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { withI18nConsumer } from '@bingads-webui-react/i18n-context';\r\nimport { withSiteMap } from '@bingads-webui-campaign-react/with-site-map';\r\nimport { navigateToRoute } from '../helper';\r\nimport { getNavigateSectionStyles } from '../styles';\r\n\r\nconst NavigateSection = (props) => {\r\n const {\r\n i18n,\r\n backRouterId,\r\n isShowConfirmPopup,\r\n isBorderInsteadOfShadow,\r\n ariaLabelText,\r\n } = props;\r\n\r\n const onBackLinkClick = () => {\r\n const { scope, siteMap } = props;\r\n if (isShowConfirmPopup && !confirm(i18n.getString(_TL_('Changes you made may not be saved.')))) {\r\n return;\r\n }\r\n navigateToRoute(scope, siteMap, backRouterId);\r\n };\r\n\r\n const classes = useDefaultStyles(getNavigateSectionStyles({ isBorderInsteadOfShadow }));\r\n\r\n return (\r\n
\r\n \r\n
{props.content ||
{i18n.getString(_TL_('Campaigns > Create Campaign'))}
}
\r\n
\r\n );\r\n};\r\n\r\nNavigateSection.propTypes = {\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func,\r\n }).isRequired,\r\n siteMap: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n scope: PropTypes.instanceOf(QueryParam).isRequired,\r\n backRouterId: PropTypes.string,\r\n content: PropTypes.element,\r\n isShowConfirmPopup: PropTypes.bool,\r\n isBorderInsteadOfShadow: PropTypes.bool,\r\n ariaLabelText: PropTypes.string.isRequired,\r\n};\r\n\r\nNavigateSection.defaultProps = {\r\n backRouterId: 'campaigns',\r\n content: undefined,\r\n isShowConfirmPopup: true,\r\n isBorderInsteadOfShadow: false,\r\n};\r\n\r\nexport const StyledNavigateSection = withScope(withSiteMap(withI18nConsumer(NavigateSection)));\r\n","import React from 'react';\r\nimport { map, last, constant, mapObject } from 'underscore';\r\nimport PropTypes from 'prop-types';\r\nimport { withDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { getNavigateContentStyles } from '../styles';\r\n\r\nfunction NavigateContent(props) {\r\n const { crumbs, classes } = props;\r\n const crumbSpans = map(crumbs, (crumb, index) => {`${crumb} > `});\r\n\r\n if (crumbSpans.length > 0) {\r\n crumbSpans[crumbSpans.length - 1] = ({last(crumbs)});\r\n }\r\n\r\n return (\r\n
\r\n {crumbSpans}\r\n
);\r\n}\r\n\r\nNavigateContent.propTypes = {\r\n crumbs: PropTypes.arrayOf(PropTypes.string),\r\n classes: PropTypes.shape(mapObject(\r\n getNavigateContentStyles({}, {}),\r\n constant(PropTypes.string.isRequired)\r\n )).isRequired,\r\n};\r\n\r\nNavigateContent.defaultProps = {\r\n crumbs: [],\r\n};\r\n\r\nexport const StyledNavigateContent = withDefaultStyles(NavigateContent, getNavigateContentStyles);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport { StyledNavigateSection } from './navigate-section';\r\nimport { StyledNavigateContent } from './navigate-content';\r\n\r\nexport function CreationHeader(props) {\r\n return (\r\n
\r\n } ariaLabelText={_.first(props.crumbs)} {...props} />\r\n
\r\n );\r\n}\r\n\r\nCreationHeader.propTypes = {\r\n style: PropTypes.shape({}),\r\n crumbs: PropTypes.arrayOf(PropTypes.string),\r\n};\r\n\r\nCreationHeader.defaultProps = {\r\n style: {},\r\n crumbs: [],\r\n};\r\n","import _ from 'underscore';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { withI18nConsumer } from '@bingads-webui-react/i18n-context';\r\nimport { getLocalStorage } from '@bingads-webui/storage';\r\nimport { withSiteMap, siteMapPropType } from '@bingads-webui-campaign-react/with-site-map';\r\nimport { withDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { CreationHeader } from '../components/creation-header';\r\n\r\n\r\nconst styles = () => ({\r\n container: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n height: '100%',\r\n },\r\n});\r\n\r\nexport function withCreationHeader(Component, headerCrumbs, backRouterId, isShowConfirmPopup, isBorderInsteadOfShadow) {\r\n const CreationHeaderHoC = (props) => {\r\n const { i18n, siteMap, classes } = props;\r\n const localStorage = getLocalStorage();\r\n let fromPathId = backRouterId;\r\n if (localStorage.supportsStorage()) {\r\n fromPathId = localStorage.get('fromPathId');\r\n }\r\n let crumbs = headerCrumbs;\r\n if (_.isUndefined(crumbs)) {\r\n const fromPage = _.findWhere(siteMap, { id: fromPathId });\r\n let fromPageName = '';\r\n if (fromPage && fromPage.name) {\r\n fromPageName = i18n.getString(_TL_(fromPage.name));\r\n }\r\n crumbs = [\r\n fromPageName || i18n.getString(_TL_('Campaigns')),\r\n i18n.getString(_TL_('Create Campaign'))];\r\n }\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n CreationHeaderHoC.propTypes = {\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func,\r\n }).isRequired,\r\n siteMap: siteMapPropType.isRequired,\r\n classes: PropTypes.shape({\r\n container: PropTypes.string.isRequired,\r\n }).isRequired,\r\n };\r\n\r\n return withDefaultStyles(withI18nConsumer(withSiteMap(CreationHeaderHoC)), styles);\r\n}\r\n","export const getDelayedCreationStyles = () => (\r\n import(/* webpackMode: 'eager' */'../styles')\r\n .then(({ getEntityCreationStyle }) => ({\r\n getDelayedStyles: getEntityCreationStyle,\r\n }))\r\n);\r\n","import PageContext from '@bingads-webui-static-legacy/page-context';\r\n\r\nexport function getCommonCampaignCreationViewOptions(props) {\r\n const {\r\n serverContext: {\r\n CurrentAccount: {\r\n CurrencyCode,\r\n },\r\n CurrentAccountInActive,\r\n Permissions: {\r\n IsReadOnlyUser,\r\n IsImpressionTrackingUrlsEnabled,\r\n },\r\n },\r\n perfMarker,\r\n i18n,\r\n } = props;\r\n\r\n return {\r\n viewContext: {\r\n accountCurrencyCode: CurrencyCode,\r\n isReadOnlyUser: IsReadOnlyUser,\r\n CurrentAccountInActive,\r\n },\r\n perfMarker,\r\n isForVNext: true,\r\n isImpressionTrackingUrlsEnabled: IsImpressionTrackingUrlsEnabled,\r\n newI18n: i18n,\r\n deps: {\r\n pageContext: PageContext,\r\n },\r\n }\r\n}\r\n","\r\nimport { queryify } from '@bingads-webui/url-util';\r\nimport jsData from '@bingads-webui-component-legacy/js-data-campaign/index';\r\n\r\nexport const getProductData = (cid, aid, uid) => {\r\n const url = queryify('/Campaign/NewCampaign/GetProductScope', {\r\n aid,\r\n cid,\r\n uid,\r\n });\r\n\r\n const params = {\r\n url,\r\n adapter: 'legacy',\r\n bypassCache: false,\r\n cacheResponse: true,\r\n };\r\n\r\n return jsData.Product.find('MetaData', params);\r\n};\r\n","import jsData from '@bingads-webui-component-legacy/js-data-campaign/index';\r\nimport { edmCampaign } from '@bingads-webui/edm-campaign';\r\n\r\nexport const getDeals = () => jsData.Deal.findAll();\r\n\r\nexport const getDealsV2 = (cid, aid) => edmCampaign\r\n .Customers.$withKey(cid)\r\n .Accounts.$withKey(aid)\r\n .Deals.get({\r\n IsUseV2: true,\r\n }).toPromise();\r\n","const objectiveItemsPropsMapping = (i18n, permissions) => [\r\n {\r\n id: 'WebsiteVisits',\r\n descriptionLine: i18n.getString(_TL_('Visits to my website')),\r\n helpId: 'pop_BA_CampaignCreate_Goals_Clicks',\r\n iconName: 'Click',\r\n 'aria-label': i18n.getString(_TL_('Visits to my website')),\r\n helpArialLabel: i18n.getString(_TL_('Learn more about Visits to my website')),\r\n isEnabled: true,\r\n },\r\n {\r\n id: 'LocationVisits',\r\n descriptionLine: i18n.getString(_TL_('Visits to my business location(s)')),\r\n helpId: 'pop_BA_CampaignCreate_Goals_Visits',\r\n iconName: 'PedometerSteps',\r\n 'aria-label': i18n.getString(_TL_('Visits to my business location(s)')),\r\n helpArialLabel: i18n.getString(_TL_('Learn more about Visits to my business location(s)')),\r\n isEnabled: true,\r\n },\r\n {\r\n id: 'WebsiteConversions',\r\n descriptionLine: i18n.getString(_TL_('Conversions in my website')),\r\n helpId: 'pop_BA_CampaignCreate_Goals_Conversions',\r\n iconName: 'WebConversion',\r\n 'aria-label': i18n.getString(_TL_('Conversions in my website')),\r\n helpArialLabel: i18n.getString(_TL_('Learn more about Conversions in my website')),\r\n isEnabled: true,\r\n },\r\n {\r\n id: 'PhoneCalls',\r\n descriptionLine: i18n.getString(_TL_('Phone calls to my business')),\r\n helpId: 'pop_BA_CampaignCreate_Goals_Calls',\r\n iconName: 'Phone',\r\n 'aria-label': i18n.getString(_TL_('Phone calls to my business')),\r\n helpArialLabel: i18n.getString(_TL_('Learn more about Phone calls to my business')),\r\n isEnabled: true,\r\n },\r\n {\r\n id: 'AppInstalls',\r\n descriptionLine: i18n.getString(_TL_('App installs')),\r\n helpId: 'pop_BA_CampaignCreate_Goals_Installs',\r\n iconName: 'CellPhone',\r\n 'aria-label': i18n.getString(_TL_('App installs')),\r\n helpArialLabel: i18n.getString(_TL_('Learn more about App installs')),\r\n isEnabled: permissions.IsUserAppInstallAdsAllowed && !permissions.IsDomesticSimplifiedChineseEnabled,\r\n },\r\n {\r\n id: 'SmartCampaign',\r\n descriptionLine: i18n.getString(_TL_('Smart campaign')),\r\n helpId: 'pop_BA_CampaignCreate_Goals_Smart',\r\n iconName: 'Processing',\r\n 'aria-label': i18n.getString(_TL_('Smart campaign')),\r\n helpArialLabel: i18n.getString(_TL_('Learn more about Smart campaign')),\r\n isEnabled: permissions.IsSmartCampaignPhase2Enabled && !permissions.IsDomesticSimplifiedChineseEnabled,\r\n },\r\n {\r\n id: 'ShoppingCampaign',\r\n descriptionLine: i18n.getString(_TL_('Sell products from your catalog')),\r\n helpId: 'pop_BA_CampaignCreate_Goals_BSC',\r\n iconName: 'ShoppingCart',\r\n 'aria-label': i18n.getString(_TL_('Sell products from your catalog')),\r\n helpArialLabel: i18n.getString(_TL_('Learn more about Sell products from your catalog')),\r\n isEnabled: permissions.IsEnhancedShoppingCampaignAllowed,\r\n showFACBadge: permissions.dynamic.FACForShopping, // show feature adoption coupon badge: eg. '$25 off'\r\n },\r\n {\r\n id: 'SponsoredShoppingCampaign',\r\n descriptionLine: i18n.getString(_TL_('Boost product sales')),\r\n helpId: 'pop_BA_CampaignCreate_Goals_ProductSales',\r\n iconName: 'RetailFinancials',\r\n isSVGIcon: false,\r\n helpArialLabel: i18n.getString(_TL_('Learn more about Boost product sales')),\r\n 'aria-label': i18n.getString(_TL_('Boost product sales')),\r\n isEnabled: permissions.IsSPAv2Enabled && !permissions.IsDomesticSimplifiedChineseEnabled,\r\n },\r\n {\r\n id: 'MSStoreAds',\r\n descriptionLine: i18n.getString(_TL_('Promote your apps and games')),\r\n helpId: 'pop_BA_CampaignCreate_Goals_StoreAds',\r\n iconName: 'MicrosoftStore',\r\n isSVGIcon: true,\r\n helpArialLabel: i18n.getString(_TL_('Learn more about Microsoft Store ads')),\r\n 'aria-label': i18n.getString(_TL_('Promote your apps and games')),\r\n isNewFeature: true,\r\n isEnabled: (!permissions.IsDomesticSimplifiedChineseEnabled && permissions.IsEnhancedShoppingCampaignAllowed) || (permissions.IsDomesticSimplifiedChineseEnabled && permissions.dynamic.WindowsStoreAdsCNExpansion),\r\n },\r\n {\r\n id: 'VideoCampaign',\r\n descriptionLine: permissions.dynamic.XandrVideoCampaigns ? i18n.getString(_TL_('Video views')) : i18n.getString(_TL_('Video views')),\r\n helpId: permissions.dynamic.XandrVideoCampaigns ? 'pop_BA_VideoAds_About' : 'pop_BA_CampaignCreate_Goals_VideoViews',\r\n iconName: 'MSNVideos',\r\n helpArialLabel: permissions.dynamic.XandrVideoCampaigns ? i18n.getString(_TL_('Learn more about brand awareness video')) : i18n.getString(_TL_('Learn more about video views')),\r\n 'aria-label': permissions.dynamic.XandrVideoCampaigns ? i18n.getString(_TL_('Video views')) : i18n.getString(_TL_('Video views')),\r\n isNewFeature: true,\r\n isEnabled: (permissions.IsVideoAdsForCampaignEnabled || permissions.dynamic.XandrVideoCampaigns) && !permissions.IsDomesticSimplifiedChineseEnabled,\r\n },\r\n {\r\n id: 'MediaPackageCampaign',\r\n descriptionLine: i18n.getString(_TL_('Media deals')),\r\n helpId: 'pop_BA_VideoAds_MediaDeals',\r\n iconName: 'MSNVideos',\r\n helpArialLabel: i18n.getString(_TL_('Learn more about media deals')),\r\n 'aria-label': i18n.getString(_TL_('Media deals')),\r\n isNewFeature: true,\r\n isEnabled: permissions.IsDealEnabledForMsAds && !permissions.IsDomesticSimplifiedChineseEnabled,\r\n },\r\n {\r\n id: 'AdImpressions',\r\n descriptionLine: i18n.getString(_TL_('Ad impressions')),\r\n helpId: 'pop_BA_CampaignCreate_Goals_AdImpressions', // TODO\r\n iconName: 'View',\r\n helpArialLabel: i18n.getString(_TL_('Learn more about ad impressions')),\r\n 'aria-label': i18n.getString(_TL_('Ad impressions')),\r\n isEnabled: (permissions.IsManualCpmEnabled || permissions.dynamic.XandrDisplayAdsCampaigns) && !permissions.IsDomesticSimplifiedChineseEnabled,\r\n },\r\n {\r\n id: 'HotelBooking',\r\n descriptionLine: permissions.dynamic.IsRenameHotelToLodgingEnabled ? i18n.getString(_TL_('Increase property bookings')) : i18n.getString(_TL_('Increase hotel bookings')),\r\n helpId: permissions.dynamic.IsRenameHotelToLodgingEnabled ? 'pop_BA_CampaignCreate_Goals_LodgingBooking' : 'pop_BA_CampaignCreate_Goals_HotelBooking',\r\n iconName: 'Hotel',\r\n 'aria-label': permissions.dynamic.IsRenameHotelToLodgingEnabled ? i18n.getString(_TL_('Increase property bookings')) : i18n.getString(_TL_('Increase hotel bookings')),\r\n helpArialLabel: permissions.dynamic.IsRenameHotelToLodgingEnabled ? i18n.getString(_TL_('Learn more about increase property bookings')) : i18n.getString(_TL_('Learn more about increase hotel bookings')),\r\n isNewFeature: true,\r\n isEnabled: permissions.dynamic.HotelCampaign && !permissions.IsDomesticSimplifiedChineseEnabled,\r\n },\r\n];\r\n\r\nexport const objectivesConfig = ({ i18n, permissions }) => {\r\n const objectivesItems = objectiveItemsPropsMapping(i18n, permissions);\r\n\r\n return objectivesItems.filter(item => item.isEnabled);\r\n};\r\n\r\nexport const objectivesForPerfMax = [\r\n 'WebsiteVisits',\r\n 'LocationVisits',\r\n 'WebsiteConversions',\r\n 'PhoneCalls',\r\n 'ShoppingCampaign',\r\n];\r\n","import { isFunction, some, isEmpty } from 'underscore';\r\nimport { merge } from '@bingads-webui/primitive-utilities';\r\nimport {\r\n campaignSettingsStyles, adgroupsKeywordsStyles, adExtensionsStyles, budgetBidsStyles, adgroupCreationStyles,\r\n creationCommonStyle,\r\n dsaCampaignStyles,\r\n audienceCampaignSettingsStyles, audienceTargetsSettingsStyles, audienceBudgetBidsStyles, audienceAdsStyles,\r\n audienceAdgroupStyles,\r\n raiseBidPopupStyles,\r\n disclaimerPanelStyles, globalDsaCampaignStyles,\r\n globalAdgroupCreationStyles,\r\n audienceCampaignBmcRedirectStyles\r\n} from '@bingads-webui-campaign-react/campaign-adgroup-settings-shared-styles';\r\nimport {\r\n entitySelectorStyle, uiblockerStyle, toggleButtonStyle, messageBarStyle, searchboxStyle, tableStyle,\r\n helpbuttonStyle, linkStyle, paginationStyle, statusStyle, glyphIconStyle, kendoMultiSelectStyle, commonDoubleListBoxStyle,\r\n advancedSettingsSectionStyle, containerBudgetStyle, locationBidGridStyle, keywordPlannerStyle, locationMapStyle,\r\n sharedBudgetGridWrapper, estimationResultStyle, audienceAssociationSectionStyle, extensionEditorStyles, audienceReachEstimateContainerStyle,\r\n datePickerStyle, audienceModalStyles, audienceCombinedListStyle, keywordToolbarStyle, selectElementStyle, buttonInputStyle, inputFieldStyle, audienceExpressionStyle,\r\n convertToGlobalStyle, legacyUIBlockerStyle\r\n} from '@bingads-webui-campaign-react/common-styles';\r\nimport { adEditorPanelOverrideStyle } from '@bingads-webui-campaign-react/ad-editor-styles';\r\nimport { stepWizardStyle } from './step-wizard';\r\nimport { getCreationContainerContentStyle, CreationContainerContentOverrideStyle } from './creation-content-container-style';\r\n\r\nfunction resolveStyles(theme, ...styles) {\r\n const resolvedStyles = styles.map(s => (isFunction(s) ? s(theme) : s));\r\n\r\n if (some(resolvedStyles, isEmpty)) {\r\n throw new Error('Cannot pass in empty style!');\r\n }\r\n return resolvedStyles;\r\n}\r\n\r\nexport const getAdgroupCreationAudienceStyle = (_, { palette = {} }) => {\r\n const commonStyles = merge(\r\n {},\r\n ...resolveStyles(\r\n { palette },\r\n statusStyle,\r\n paginationStyle,\r\n entitySelectorStyle,\r\n buttonInputStyle,\r\n containerBudgetStyle,\r\n commonDoubleListBoxStyle,\r\n keywordPlannerStyle,\r\n searchboxStyle,\r\n estimationResultStyle,\r\n locationBidGridStyle,\r\n locationMapStyle,\r\n sharedBudgetGridWrapper,\r\n tableStyle,\r\n advancedSettingsSectionStyle,\r\n toggleButtonStyle,\r\n linkStyle,\r\n selectElementStyle\r\n )\r\n );\r\n\r\n const globalStyles = merge(\r\n {},\r\n ...resolveStyles(\r\n { palette },\r\n stepWizardStyle,\r\n uiblockerStyle,\r\n kendoMultiSelectStyle,\r\n audienceModalStyles,\r\n audienceExpressionStyle,\r\n audienceCombinedListStyle,\r\n extensionEditorStyles,\r\n messageBarStyle,\r\n glyphIconStyle,\r\n datePickerStyle,\r\n helpbuttonStyle,\r\n keywordToolbarStyle,\r\n inputFieldStyle,\r\n CreationContainerContentOverrideStyle,\r\n disclaimerPanelStyles,\r\n globalDsaCampaignStyles,\r\n globalAdgroupCreationStyles\r\n ),\r\n convertToGlobalStyle(resolveStyles(\r\n { palette },\r\n adEditorPanelOverrideStyle\r\n ))\r\n );\r\n\r\n\r\n const searchCreationStyles = merge(\r\n {},\r\n ...resolveStyles(\r\n { palette },\r\n audienceTargetsSettingsStyles,\r\n audienceBudgetBidsStyles,\r\n dsaCampaignStyles,\r\n campaignSettingsStyles,\r\n adgroupsKeywordsStyles,\r\n adExtensionsStyles,\r\n budgetBidsStyles,\r\n creationCommonStyle,\r\n adgroupCreationStyles,\r\n raiseBidPopupStyles\r\n )\r\n );\r\n\r\n const audienceCreationStyles = merge(\r\n {\r\n '& .ima-reach-alert': {\r\n padding: '8px 32px 8px 8px !important',\r\n marginTop: '10px',\r\n marginLeft: '0px',\r\n },\r\n },\r\n ...resolveStyles(\r\n { palette },\r\n audienceCampaignSettingsStyles,\r\n audienceReachEstimateContainerStyle,\r\n audienceAssociationSectionStyle,\r\n audienceTargetsSettingsStyles,\r\n audienceBudgetBidsStyles,\r\n audienceAdsStyles,\r\n audienceAdgroupStyles,\r\n audienceCampaignBmcRedirectStyles,\r\n legacyUIBlockerStyle\r\n )\r\n );\r\n\r\n return {\r\n '@global': globalStyles,\r\n\r\n CampaignCreationAudience: {\r\n ...getCreationContainerContentStyle(),\r\n ...audienceCreationStyles,\r\n ...commonStyles,\r\n ...searchCreationStyles,\r\n },\r\n };\r\n};\r\n","/* istanbul ignore file */\r\nimport React from 'react';\r\nimport Promise from 'bluebird';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport { perfMarkerPropTypes } from '@bingads-webui/performance-marker';\r\nimport { AudienceAdgroupCreationWizard } from '@bingads-webui-campaign-legacy/audience-campaign/loader';\r\nimport decimal from '@bingads-webui-component-legacy/humanize/decimal';\r\nimport PageContext from '@bingads-webui-static-legacy/page-context';\r\nimport eventDispatcher from '@bingads-webui-component-legacy/event-dispatcher/index';\r\nimport { withDelayedStyles } from '@bingads-webui-campaign-react/common-utils';\r\nimport { getAdgroupCreationAudienceStyle } from '../styles/adgroup-creation-audience-styles';\r\nimport { InjectWrapperWithHoC, getDelayedCreationStyles } from '../helper';\r\nimport VerticalLayout from '../template/steps-template.pug';\r\nimport HeaderTemplate from '../template/header-template.pug';\r\n\r\nconst ADGROUP_CREATION_AUDIENCE_LOADED_EVENT = 'ad_group_creation_view_loaded';\r\nfunction AdGroupCreationAudience(props) {\r\n const {\r\n serverContext: {\r\n CurrentAccount: {\r\n CurrencyCode,\r\n },\r\n CurrentAccountInActive,\r\n Permissions: {\r\n IsReadOnlyUser,\r\n },\r\n },\r\n campaignContext: { currentCampaign },\r\n perfMarker,\r\n isVideo,\r\n isOpenCreatePanel,\r\n i18n,\r\n } = props;\r\n const isShoppingCampaign = _.result(_.take(currentCampaign.CampaignSettings), 'ProviderId');\r\n const AdGroupCreationAudiencePerfMarker = perfMarker.createChild('AdGroupCreationAudience');\r\n\r\n return ( Promise.resolve(AudienceAdgroupCreationWizard)}\r\n InjectViewOption={{\r\n viewContext: {\r\n accountCurrencyCode: CurrencyCode,\r\n isReadOnlyUser: IsReadOnlyUser,\r\n CurrentAccountInActive,\r\n currentCampaign,\r\n },\r\n audienceCampaignType: isShoppingCampaign ? 'shopping' : '',\r\n perfMarker: AdGroupCreationAudiencePerfMarker,\r\n layout: VerticalLayout,\r\n headerTemplate: HeaderTemplate,\r\n isForVNext: true,\r\n isVideo,\r\n isOpenCreatePanel,\r\n newI18n: i18n,\r\n deps: {\r\n decimal,\r\n pageContext: PageContext,\r\n },\r\n serverContext: props.serverContext,\r\n }}\r\n callbackAfterRendered={() => _.defer(() => eventDispatcher.trigger(ADGROUP_CREATION_AUDIENCE_LOADED_EVENT))}\r\n styleScopeName=\"CampaignCreationAudience\"\r\n />);\r\n}\r\n\r\nAdGroupCreationAudience.propTypes = {\r\n serverContext: PropTypes.shape({\r\n CurrentAccount: PropTypes.shape({\r\n CurrencyCode: PropTypes.string.isRequired,\r\n }).isRequired,\r\n }).isRequired,\r\n campaignContext: PropTypes.objectOf(PropTypes.any).isRequired,\r\n perfMarker: perfMarkerPropTypes.isRequired,\r\n isVideo: PropTypes.bool,\r\n isOpenCreatePanel: PropTypes.bool, // isOpenCreatePanel: see if the page is opened from the link in delivery status column\r\n decimal: PropTypes.shape({}).isRequired,\r\n PageContext: PropTypes.shape({}).isRequired,\r\n i18n: PropTypes.shape({\r\n getString: PropTypes.func.isRequired,\r\n }),\r\n};\r\n\r\nAdGroupCreationAudience.defaultProps = {\r\n isVideo: false,\r\n isOpenCreatePanel: false,\r\n i18n: {\r\n getString: text => text,\r\n },\r\n};\r\n\r\nexport const StyledAdGroupCreationAudience =\r\n withDelayedStyles(AdGroupCreationAudience, getAdgroupCreationAudienceStyle, getDelayedCreationStyles, ADGROUP_CREATION_AUDIENCE_LOADED_EVENT);\r\n\r\n","import { isFunction, some, isEmpty } from 'underscore';\r\nimport { merge } from '@bingads-webui/primitive-utilities';\r\nimport {\r\n adExtensionsStyles, adgroupCreationStyles,\r\n creationCommonStyle,\r\n audienceTargetsSettingsStyles, audienceBudgetBidsStyles,\r\n} from '@bingads-webui-campaign-react/campaign-adgroup-settings-shared-styles';\r\nimport {\r\n toggleButtonStyle, searchboxStyle, tableStyle,\r\n helpbuttonStyle, paginationStyle, statusStyle, glyphIconStyle,\r\n advancedSettingsSectionStyle, containerBudgetStyle, keywordPlannerStyle,\r\n buttonInputStyle, inputFieldStyle,\r\n convertToGlobalStyle,\r\n} from '@bingads-webui-campaign-react/common-styles';\r\nimport { adEditorPanelOverrideStyle } from '@bingads-webui-campaign-react/ad-editor-styles';\r\nimport { stepWizardStyle } from './step-wizard';\r\nimport { getCreationContainerContentStyle } from './creation-content-container-style';\r\n\r\nfunction resolveStyles(theme, ...styles) {\r\n const resolvedStyles = styles.map(s => (isFunction(s) ? s(theme) : s));\r\n\r\n if (some(resolvedStyles, isEmpty)) {\r\n throw new Error('Cannot pass in empty style!');\r\n }\r\n return resolvedStyles;\r\n}\r\n\r\nexport const getAdgroupCreationStyle = (_, { palette = {} }) => {\r\n const commonStyles = merge(\r\n {},\r\n ...resolveStyles(\r\n { palette },\r\n statusStyle,\r\n paginationStyle,\r\n buttonInputStyle,\r\n containerBudgetStyle,\r\n keywordPlannerStyle,\r\n searchboxStyle,\r\n tableStyle,\r\n advancedSettingsSectionStyle,\r\n toggleButtonStyle\r\n )\r\n );\r\n\r\n const globalStyles = merge(\r\n {},\r\n ...resolveStyles(\r\n { palette },\r\n stepWizardStyle,\r\n glyphIconStyle,\r\n helpbuttonStyle,\r\n inputFieldStyle\r\n ),\r\n convertToGlobalStyle(resolveStyles(\r\n { palette },\r\n adEditorPanelOverrideStyle\r\n ))\r\n );\r\n\r\n\r\n const searchCreationStyles = merge(\r\n {},\r\n ...resolveStyles(\r\n { palette },\r\n audienceTargetsSettingsStyles,\r\n audienceBudgetBidsStyles,\r\n adExtensionsStyles,\r\n creationCommonStyle,\r\n adgroupCreationStyles\r\n )\r\n );\r\n\r\n return {\r\n '@global': globalStyles,\r\n\r\n CampaignCreationSearch: {\r\n ...getCreationContainerContentStyle(),\r\n ...commonStyles,\r\n ...searchCreationStyles,\r\n },\r\n };\r\n};\r\n","/* istanbul ignore file */\r\nimport React from 'react';\r\nimport Promise from 'bluebird';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport { perfMarkerPropTypes } from '@bingads-webui/performance-marker';\r\nimport MixedModeCreationView from '@bingads-webui-campaign-legacy/adgroup-create-advanced/view/mixed-mode-creation';\r\nimport AdgroupCreateAdvancedView from '@bingads-webui-campaign-legacy/adgroup-create-advanced/view/index';\r\nimport { withDelayedStyles } from '@bingads-webui-campaign-react/common-utils';\r\nimport { getAdgroupCreationStyle } from '../styles/adgroup-creation-search-styles';\r\nimport { InjectWrapperWithHoC, getDelayedCreationStyles } from '../helper';\r\n\r\nfunction AdGroupCreationSearch(props) {\r\n const {\r\n perfMarker, permissions, campaignContext, isOpenCreatePanel,\r\n } = props;\r\n const { IsDSAMixedModeCampaignEnabled } = permissions;\r\n const { currentCampaign } = campaignContext;\r\n const isExperiment = _.result(currentCampaign, 'ExperimentId') > 0;\r\n const isMixed = currentCampaign.CampaignType === 'Default' && IsDSAMixedModeCampaignEnabled && !isExperiment;\r\n const InjectedView = isMixed ? MixedModeCreationView : AdgroupCreateAdvancedView;\r\n const AdGroupCreationSearchPerfMarker = perfMarker.createChild('AdGroupCreationSearch');\r\n AdGroupCreationSearchPerfMarker.willInit();\r\n\r\n return ( Promise.resolve(InjectedView)}\r\n InjectViewOption={{\r\n perfMarker: AdGroupCreationSearchPerfMarker,\r\n usePanel: true,\r\n isForVNext: true,\r\n isOpenCreatePanel,\r\n serverContext: props.serverContext,\r\n }}\r\n styleScopeName=\"CampaignCreationSearch\"\r\n />);\r\n}\r\n\r\nAdGroupCreationSearch.propTypes = {\r\n serverContext: PropTypes.shape({\r\n CurrentAccount: PropTypes.shape({\r\n CurrencyCode: PropTypes.string.isRequired,\r\n }).isRequired,\r\n }).isRequired,\r\n perfMarker: perfMarkerPropTypes.isRequired,\r\n permissions: PropTypes.shape({\r\n IsDSAMixedModeCampaignEnabled: PropTypes.bool.isRequired,\r\n }).isRequired,\r\n campaignContext: PropTypes.objectOf(PropTypes.any).isRequired,\r\n isOpenCreatePanel: PropTypes.bool, // isOpenCreatePanel: see if the page is opened from the link in delivery status column\r\n};\r\n\r\nAdGroupCreationSearch.defaultProps = {\r\n isOpenCreatePanel: false,\r\n};\r\n\r\nexport const StyledAdGroupCreationSearch =\r\n withDelayedStyles(AdGroupCreationSearch, getAdgroupCreationStyle, getDelayedCreationStyles, 'ad_group_creation_view_loaded');\r\n\r\n","export const getCreationContainerContentStyle = () => ({\r\n flex: 1,\r\n overflow: 'auto',\r\n '& .ba-backbone-instance-wrapper': {\r\n height: '100%',\r\n overflow: 'auto',\r\n\r\n '& >div': {\r\n height: '100%',\r\n overflow: 'auto',\r\n\r\n '& .audience-campaign-creation-wizard-container': {\r\n height: '100%',\r\n overflow: 'auto',\r\n '& .audience-campaign-creation-wizard': {\r\n height: '100%',\r\n overflow: 'auto',\r\n\r\n '& div[data-current-step-name^=\"audience-campaign-creation-wizard-step\"]': {\r\n height: '100%',\r\n overflow: 'auto',\r\n },\r\n },\r\n },\r\n\r\n '& .audience-adgroup-creation-wizard-container': {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n height: '100%',\r\n overflow: 'auto',\r\n\r\n '& .audience-adgroup-creation-wizard': {\r\n flex: 1,\r\n\r\n '& div[data-current-step-name^=\"audience-adgroup-creation-wizard-step\"]': {\r\n height: '100%',\r\n },\r\n },\r\n },\r\n },\r\n },\r\n});\r\n\r\nexport const CreationContainerContentOverrideStyle = {\r\n // TODO: This is a temporary fix\r\n '.app-content-body': {\r\n flex: '1',\r\n overflow: 'auto',\r\n },\r\n};\r\n","import { adEditorStyle } from '@bingads-webui-campaign-react/ad-editor-styles';\r\n\r\nexport const campaignCreationAdEditorOverrideStyle = (_, { palette = {} }) => ({\r\n '& .audience-campaign-creation-wizard-container div[data-current-step-name^=\"audience-campaign-creation-wizard-step3\"]': {\r\n '& .created-ad-list-container.row .ad-list-item .create-another-ad': {\r\n lineHeight: 'unset',\r\n color: '#00a2ff',\r\n fontSize: 14,\r\n border: 'none',\r\n backgroundColor: 'unset',\r\n padding: 2,\r\n position: 'relative',\r\n top: '38px',\r\n\r\n '&:hover, &:active': {\r\n color: `${palette.themeDarker} !important`,\r\n textDecoration: 'underline',\r\n },\r\n '&:focus': {\r\n border: 'none',\r\n outline: `1px solid ${palette.neutralSecondary}`,\r\n },\r\n },\r\n '& .created-ad-list-container.row .existing-ad .existing-ad-options': {\r\n ...adEditorStyle({ palette })['& .created-ad-list-container.row .existing-ad .existing-ad-options'],\r\n display: 'inline',\r\n },\r\n '& .created-ad-list-container.row .existing-ad .existing-ad-options button': {\r\n ...adEditorStyle({ palette })['& .created-ad-list-container.row .existing-ad .existing-ad-options button'],\r\n opacity: '0',\r\n '&:hover, &:active': {\r\n color: `${palette.themeDarker} !important`,\r\n textDecoration: 'underline',\r\n },\r\n },\r\n '& .created-ad-list-container.row .existing-ad:hover .existing-ad-options button': {\r\n opacity: '1',\r\n },\r\n '& .created-ad-list-container.row .existing-ad .existing-ad-options button:focus': {\r\n opacity: '1',\r\n border: 'none',\r\n outline: `1px solid ${palette.neutralSecondary}`,\r\n },\r\n },\r\n '& .alert-info-inline': {\r\n '& > a': {\r\n textDecoration: 'none !important',\r\n },\r\n '& > a:active': {\r\n textDecoration: 'none !important',\r\n },\r\n '& > a:hover': {\r\n textDecoration: 'none !important',\r\n },\r\n },\r\n '& a.helpbutton': {\r\n '&:active': {\r\n textDecoration: 'none !important',\r\n },\r\n '&:hover': {\r\n textDecoration: 'none !important',\r\n },\r\n },\r\n});\r\n","export const getActionListStyles = () => ({\r\n actionList: {\r\n marginTop: 30,\r\n '& .action-list-group': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n flexWrap: 'wrap',\r\n '& .campaign-objective': {\r\n marginBottom: 2,\r\n },\r\n },\r\n },\r\n title: {\r\n fontWeight: 'bold',\r\n fontSize: 16,\r\n lineHeight: '19px',\r\n color: '#000000',\r\n marginBottom: 24,\r\n },\r\n});\r\n","import { helpbuttonStyle } from '@bingads-webui-campaign-react/common-styles';\r\n\r\nexport const getChooseObjectiveStyles = (_, { palette = {} }) => ({\r\n '@global': helpbuttonStyle({ palette }),\r\n chooseObjective: {\r\n // Used by StyledCampaignChooseObjective, can be removed if removed there.\r\n },\r\n pageContent: {\r\n marginTop: 35,\r\n marginLeft: 18,\r\n minHeight: 450,\r\n },\r\n description: {\r\n marginTop: 24,\r\n fontSize: 14,\r\n lineHeight: '24px',\r\n color: palette.neutralPrimary,\r\n },\r\n});\r\n","import microsoftStoreIcon from '../../media/MicrosoftStore.svg';\r\n\r\nconst svgIconStyle = {\r\n backgroundRepeat: 'no-repeat',\r\n backgroundSize: 'contain',\r\n backgroundPosition: 'center center',\r\n height: '36px',\r\n width: '36px',\r\n margin: '10px 0px -4px',\r\n};\r\n\r\nconst labelStyle = {\r\n position: 'absolute',\r\n right: 5,\r\n top: 5,\r\n borderRadius: 12,\r\n padding: '0 9px',\r\n fontSize: 12,\r\n};\r\n\r\nexport const getObjectiveItemStyles = (_, { palette = {}, iconFontFamily = 'MsAds MDL2 Assets' }) => ({\r\n objectiveItem: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n },\r\n objectiveItemContent: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n justifyContent: 'space-between',\r\n alignItems: 'center',\r\n height: '100%',\r\n position: 'relative',\r\n '& .icon-MicrosoftStore': {\r\n backgroundImage: `url(\"${microsoftStoreIcon}\")`,\r\n ...svgIconStyle,\r\n },\r\n },\r\n objectiveIcon: {\r\n fontSize: 35,\r\n lineHeight: '24px',\r\n color: '#000000',\r\n marginTop: 13,\r\n },\r\n objectiveDescription: {\r\n fontSize: 14,\r\n lineHeight: '16px',\r\n textAlign: 'center',\r\n color: palette.neutralPrimary,\r\n marginBottom: '-15px',\r\n width: '90%',\r\n\r\n '& .empty': {\r\n color: palette.neutralLighter,\r\n },\r\n },\r\n objectiveHelpIcon: {\r\n cursor: 'pointer',\r\n '&:focus': {\r\n outline: '1px solid #605e5c',\r\n },\r\n '&:hover': {\r\n backgroundColor: palette.neutralLight,\r\n },\r\n '&:active': {\r\n backgroundColor: palette.neutralQuaternaryAlt,\r\n },\r\n '&::before': {\r\n content: '\"\\\\E9CE\"',\r\n },\r\n fontFamily: iconFontFamily,\r\n fontSize: 15,\r\n marginLeft: '0 !important',\r\n border: 'none',\r\n backgroundColor: 'inherit',\r\n },\r\n newFeatureLabel: {\r\n ...labelStyle,\r\n color: palette.white,\r\n border: `1px solid ${palette.white}`,\r\n backgroundColor: '#D83B01',\r\n },\r\n facLabel: {\r\n ...labelStyle,\r\n color: palette.white,\r\n border: `1px solid ${palette.white}`,\r\n backgroundColor: palette.themePrimary,\r\n },\r\n});\r\n","import { memoize } from 'underscore';\r\n\r\nexport const getNavigateSectionStyles = memoize(({ isBorderInsteadOfShadow = false } = {}) => (_, { palette = {} }) => ({\r\n backToCampaign: {\r\n height: 44,\r\n backgroundColor: palette.neutralLighter,\r\n ...isBorderInsteadOfShadow ? {\r\n borderBottom: `solid 1px ${palette.neutralQuaternaryAlt}`,\r\n } : {\r\n boxShadow: '0px 0.6px 1.8px rgba(0, 0, 0, 0.108), 0px 3.2px 7.2px rgba(0, 0, 0, 0.132)',\r\n },\r\n },\r\n backToCampaignLink: {\r\n lineHeight: '19px',\r\n fontSize: 14,\r\n color: palette.themeDarkAlt,\r\n margin: 1,\r\n padding: [12, 0, 12, 0],\r\n '&:focus': {\r\n outline: '1px solid #605E5C',\r\n },\r\n '& .icon-Back': {\r\n fontSize: 16,\r\n width: 16,\r\n height: 16,\r\n marginRight: 8,\r\n },\r\n },\r\n}), (...args) => JSON.stringify(args));\r\n","export const getNavigateContentStyles = (_, { palette = {} }) => ({\r\n navigateContent: {\r\n color: palette.neutralPrimary,\r\n },\r\n navigateContentLastItem: {\r\n fontWeight: 'bold',\r\n },\r\n});\r\n","import { internalLinkStyle } from '@bingads-webui-campaign-react/common-styles';\r\n\r\nexport const getAdTypeItemStyles = (_, { palette = {} }) => ({\r\n adTypeItem: {\r\n position: 'relative',\r\n '&.disabled': {\r\n opacity: 0.5,\r\n '& > div': {\r\n cursor: 'not-allowed',\r\n },\r\n },\r\n '& > div': {\r\n height: '100%',\r\n minHeight: 365,\r\n width: 344,\r\n cursor: 'pointer',\r\n },\r\n '& .title-row': {\r\n height: 55,\r\n paddingTop: 18,\r\n marginLeft: 19,\r\n marginRight: 19,\r\n textAlign: 'center',\r\n },\r\n '& .img-row': {\r\n marginLeft: 61,\r\n marginRight: 61,\r\n textAlign: 'center',\r\n marginBottom: 10,\r\n },\r\n '& .description-row': {\r\n minHeight: 128,\r\n marginLeft: 19,\r\n marginRight: 19,\r\n textAlign: 'center',\r\n display: 'flex',\r\n alignItems: 'center',\r\n '& .ad-type-description': {\r\n ...internalLinkStyle({ palette, isGreyBackground: true }),\r\n },\r\n },\r\n },\r\n title: {\r\n color: palette.neutralPrimary,\r\n lineHeight: '16px',\r\n fontWeight: 'bold',\r\n },\r\n img: {\r\n },\r\n description: {\r\n lineHeight: '16px',\r\n color: palette.neutralPrimary,\r\n },\r\n newFeatureLabel: {\r\n position: 'absolute',\r\n marginLeft: '2px',\r\n marginTop: '2px',\r\n backgroundColor: '#D83B01',\r\n color: palette.white,\r\n borderRadius: 12,\r\n padding: '0 9px',\r\n border: `1px solid ${palette.white}`,\r\n fontSize: 12,\r\n },\r\n});\r\n","export const getChooseAdsPanelStyles = (_, { palette = {} }) => ({\r\n smartShoppingWarning: {\r\n padding: '17px 27px',\r\n '& h3': {\r\n marginTop: 0,\r\n },\r\n },\r\n dealFilterBar: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n '& .targetFilters': {\r\n justifyContent: 'space-between',\r\n display: 'flex',\r\n width: '250px',\r\n\r\n '& .target': {\r\n cursor: 'pointer',\r\n borderRadius: '5px',\r\n border: '1px solid lightgray',\r\n padding: '6px',\r\n },\r\n '& .target-active': {\r\n border: '1px solid #0078D4',\r\n color: '#0078D4',\r\n },\r\n },\r\n },\r\n smartShoppingWarningLink: {\r\n display: 'block',\r\n },\r\n chooseAdsPanelBody: {\r\n display: 'flex',\r\n marginTop: 75,\r\n marginBottom: 'auto',\r\n marginRight: 45,\r\n marginLeft: 45,\r\n flexWrap: 'wrap',\r\n padding: 1,\r\n overflowY: 'auto',\r\n },\r\n chooseAdsPanelFooter: {\r\n height: 64,\r\n backgroundColor: palette.white,\r\n marginBottom: 0,\r\n paddingTop: 16,\r\n },\r\n nextButton: {\r\n marginRight: 8,\r\n },\r\n cancelButton: {\r\n },\r\n chooseObjectivePanel: {\r\n boxShadow: 'none',\r\n '&.MediaPackageCampaign': {\r\n fontSize: 12,\r\n '& .campaign-objective-button': {\r\n boxShadow: '0px 1.6px 3.6px rgba(0, 0, 0, 0.132), 0px 0.3px 0px rgba(0, 0, 0, 0.108)',\r\n width: 306,\r\n marginRight: 10,\r\n marginBottom: 10,\r\n height: 280,\r\n },\r\n '& .deal-description': {\r\n '& div': {\r\n lineHeight: 2,\r\n },\r\n },\r\n '& .description-row': {\r\n height: 'unset',\r\n textAlign: 'left',\r\n },\r\n '& .title-row': {\r\n textAlign: 'left',\r\n fontSize: 15,\r\n },\r\n },\r\n '&:focus': {\r\n outline: 'none',\r\n },\r\n '& .panel-close': {\r\n width: 32,\r\n height: 44,\r\n right: 8,\r\n top: 2,\r\n minWidth: 'unset',\r\n '& .panel-cancel-icon': {\r\n fontSize: 12,\r\n lineHeight: '12px',\r\n color: palette.neutralSecondary,\r\n margin: 0,\r\n top: 0,\r\n right: 5,\r\n },\r\n },\r\n '& .panel-title': {\r\n lineHeight: '27px',\r\n fontSize: 20,\r\n color: palette.neutralPrimary,\r\n fontWeight: 'bold',\r\n },\r\n '& .panel-body': {\r\n paddingBottom: 0,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n position: 'relative',\r\n },\r\n '& .panel-header': {\r\n marginTop: 11,\r\n },\r\n '& .ms-MessageBar': {\r\n backgroundColor: '#EFF6FC',\r\n },\r\n },\r\n});\r\n","export const getSelectableItemStyles = (_, { palette = {} }) => ({\r\n selectableButton: {\r\n padding: 0,\r\n height: 112,\r\n width: 140,\r\n cursor: 'pointer',\r\n\r\n '&:focus, &:hover, &:active': {\r\n outline: `1px solid ${palette.neutralPrimary}`,\r\n '& .shared-radio': {\r\n opacity: 1,\r\n },\r\n },\r\n '&.selected': {\r\n '& .shared-radio': {\r\n opacity: 1,\r\n },\r\n outline: `1px solid ${palette.themePrimary}`,\r\n },\r\n backgroundColor: palette.neutralLighter,\r\n marginRight: 2,\r\n outline: 'none',\r\n border: 'none',\r\n '& .shared-radio': {\r\n '&:focus, &:hover, &:active': {\r\n opacity: 1,\r\n },\r\n float: 'right',\r\n marginTop: '5px',\r\n marginLeft: '-25px',\r\n marginRight: '5px',\r\n position: 'relative',\r\n opacity: 0,\r\n },\r\n\r\n '& .icon-RadioBtnOff': {\r\n right: 5,\r\n zIndex: 1,\r\n },\r\n '&.wider-objective-item.objective-item': {\r\n width: 150,\r\n },\r\n },\r\n});\r\n","import { isFunction, some, isEmpty } from 'underscore';\r\nimport { merge } from '@bingads-webui/primitive-utilities';\r\nimport {\r\n campaignSettingsStyles, adgroupsKeywordsStyles, adExtensionsStyles, budgetBidsStyles, adgroupCreationStyles,\r\n creationCommonStyle,\r\n dsaCampaignStyles,\r\n audienceCampaignSettingsStyles, audienceTargetsSettingsStyles, audienceBudgetBidsStyles, audienceAdsStyles,\r\n audienceAdgroupStyles,\r\n campaignCreationSearchShoppingStyles,\r\n raiseBidPopupStyles,\r\n disclaimerPanelStyles, globalDsaCampaignStyles,\r\n smartShoppingStyles, globalAdgroupCreationStyles,\r\n audienceCampaignBmcRedirectStyles\r\n} from '@bingads-webui-campaign-react/campaign-adgroup-settings-shared-styles';\r\nimport {\r\n entitySelectorStyle, uiblockerStyle, toggleButtonStyle, messageBarStyle, searchboxStyle, tableStyle,\r\n helpbuttonStyle, linkStyle, paginationStyle, statusStyle, glyphIconStyle, kendoMultiSelectStyle, commonDoubleListBoxStyle,\r\n advancedSettingsSectionStyle, containerBudgetStyle, locationBidGridStyle, keywordPlannerStyle, locationMapStyle,\r\n sharedBudgetGridWrapper, estimationResultStyle, audienceAssociationSectionStyle, extensionEditorStyles, audienceReachEstimateContainerStyle,\r\n datePickerStyle, audienceModalStyles, audienceCombinedListStyle, keywordToolbarStyle, selectElementStyle, buttonInputStyle, inputFieldStyle, audienceExpressionStyle,\r\n convertToGlobalStyle, legacyUIBlockerStyle\r\n} from '@bingads-webui-campaign-react/common-styles';\r\nimport { adEditorPanelOverrideStyle } from '@bingads-webui-campaign-react/ad-editor-styles';\r\nimport { stepWizardStyle } from './step-wizard';\r\nimport { getCreationContainerContentStyle, CreationContainerContentOverrideStyle } from './creation-content-container-style';\r\nimport { campaignCreationAdEditorOverrideStyle } from './campaign-creation-ad-editor-override';\r\n\r\nexport * from './action-list';\r\nexport * from './choose-objective';\r\nexport * from './objective-item';\r\nexport * from './navigate-section';\r\nexport * from './navigate-content';\r\nexport * from './ad-type-item';\r\nexport * from './choose-ads-panel';\r\nexport * from './selectable-item';\r\n\r\n\r\nfunction resolveStyles(theme, ...styles) {\r\n const resolvedStyles = styles.map(s => (isFunction(s) ? s(theme) : s));\r\n\r\n if (some(resolvedStyles, isEmpty)) {\r\n throw new Error('Cannot pass in empty style!');\r\n }\r\n return resolvedStyles;\r\n}\r\n\r\nexport const getEntityCreationStyle = (_, { palette = {} }) => {\r\n const commonStyles = merge(\r\n {},\r\n ...resolveStyles(\r\n { palette },\r\n statusStyle,\r\n paginationStyle,\r\n entitySelectorStyle,\r\n buttonInputStyle,\r\n containerBudgetStyle,\r\n commonDoubleListBoxStyle,\r\n keywordPlannerStyle,\r\n searchboxStyle,\r\n estimationResultStyle,\r\n locationBidGridStyle,\r\n locationMapStyle,\r\n sharedBudgetGridWrapper,\r\n tableStyle,\r\n advancedSettingsSectionStyle,\r\n toggleButtonStyle,\r\n linkStyle,\r\n selectElementStyle\r\n )\r\n );\r\n\r\n const globalStyles = merge(\r\n {},\r\n ...resolveStyles(\r\n { palette },\r\n stepWizardStyle,\r\n uiblockerStyle,\r\n kendoMultiSelectStyle,\r\n audienceModalStyles,\r\n audienceExpressionStyle,\r\n audienceCombinedListStyle,\r\n extensionEditorStyles,\r\n messageBarStyle,\r\n glyphIconStyle,\r\n datePickerStyle,\r\n helpbuttonStyle,\r\n keywordToolbarStyle,\r\n inputFieldStyle,\r\n CreationContainerContentOverrideStyle,\r\n disclaimerPanelStyles,\r\n globalDsaCampaignStyles,\r\n globalAdgroupCreationStyles\r\n ),\r\n convertToGlobalStyle(resolveStyles(\r\n { palette },\r\n adEditorPanelOverrideStyle\r\n ))\r\n );\r\n\r\n\r\n const searchCreationStyles = merge(\r\n {},\r\n ...resolveStyles(\r\n { palette },\r\n audienceTargetsSettingsStyles,\r\n audienceBudgetBidsStyles,\r\n dsaCampaignStyles,\r\n campaignSettingsStyles,\r\n adgroupsKeywordsStyles,\r\n adExtensionsStyles,\r\n budgetBidsStyles,\r\n creationCommonStyle,\r\n adgroupCreationStyles,\r\n raiseBidPopupStyles\r\n )\r\n );\r\n\r\n const audienceCreationStyles = merge(\r\n {\r\n '& .ima-reach-alert': {\r\n padding: '8px 32px 8px 8px !important',\r\n marginTop: '10px',\r\n marginLeft: '0px',\r\n },\r\n },\r\n ...resolveStyles(\r\n { palette },\r\n audienceCampaignSettingsStyles,\r\n audienceReachEstimateContainerStyle,\r\n audienceAssociationSectionStyle,\r\n audienceTargetsSettingsStyles,\r\n audienceBudgetBidsStyles,\r\n audienceAdsStyles,\r\n audienceAdgroupStyles,\r\n audienceCampaignBmcRedirectStyles,\r\n legacyUIBlockerStyle\r\n )\r\n );\r\n\r\n const shoppingCreationStyles = merge(\r\n {},\r\n ...resolveStyles(\r\n { palette },\r\n campaignCreationSearchShoppingStyles,\r\n audienceCampaignSettingsStyles\r\n )\r\n );\r\n\r\n const smartShoppingCreationStyles = merge(\r\n {},\r\n ...resolveStyles(\r\n { palette },\r\n smartShoppingStyles,\r\n audienceCampaignSettingsStyles,\r\n campaignCreationSearchShoppingStyles\r\n )\r\n );\r\n\r\n\r\n return {\r\n '@global': globalStyles,\r\n\r\n CampaignCreationSearch: {\r\n ...getCreationContainerContentStyle(),\r\n ...commonStyles,\r\n ...searchCreationStyles,\r\n },\r\n\r\n CampaignCreationSearchShopping: {\r\n ...getCreationContainerContentStyle(),\r\n ...shoppingCreationStyles,\r\n ...commonStyles,\r\n ...searchCreationStyles,\r\n\r\n },\r\n\r\n CampaignCreationAudienceShopping: {\r\n ...getCreationContainerContentStyle(),\r\n ...audienceCreationStyles,\r\n ...commonStyles,\r\n ...searchCreationStyles,\r\n },\r\n\r\n CampaignCreationAudience: {\r\n ...getCreationContainerContentStyle(),\r\n ...audienceCreationStyles,\r\n ...commonStyles,\r\n ...searchCreationStyles,\r\n ...campaignCreationAdEditorOverrideStyle(_, { palette }),\r\n },\r\n\r\n CampaignCreationSmartShopping: {\r\n ...getCreationContainerContentStyle(),\r\n ...smartShoppingCreationStyles,\r\n ...commonStyles,\r\n },\r\n };\r\n};\r\n","export const stepWizardStyle = ({ palette = {}, iconFontFamily = 'MsAds MDL2 Assets' }) => ({\r\n '.steps-wizard': {\r\n height: '100%',\r\n },\r\n '.steps-wizard:after': {\r\n content: '\" \"',\r\n clear: 'both',\r\n display: 'block',\r\n },\r\n '.step-content-container': {\r\n borderLeft: `1px solid ${palette.neutralQuaternaryAlt}`,\r\n paddingTop: '20px',\r\n paddingLeft: 0,\r\n paddingBottom: '64px',\r\n minHeight: '100%',\r\n\r\n '& div[data-step-status=\"done\"], div[data-step-status=\"pending\"]': {\r\n padding: 0,\r\n },\r\n\r\n '& .step-footer[data-step-status=\"done\"], .step-footer[data-step-status=\"pending\"]': {\r\n display: 'none',\r\n },\r\n },\r\n '.steps-wizard .steps-wizard__title, .step-body .step-page-title': {\r\n fontSize: 20,\r\n fontWeight: 600,\r\n lineHeight: '27px',\r\n marginLeft: 32,\r\n\r\n '& span[role=\"heading\"][tabindex=\"-1\"]': {\r\n outline: 'none',\r\n },\r\n },\r\n '.step-content-container .steps-wizard__description': {\r\n marginTop: '0px',\r\n },\r\n '.step-content-container>.action-container': {\r\n width: '100%',\r\n paddingTop: '16px',\r\n paddingBottom: '16px',\r\n paddingLeft: '32px',\r\n marginLeft: '0 !important',\r\n borderTop: `1px solid ${palette.neutralQuaternaryAlt}`,\r\n bottom: 0,\r\n position: 'absolute',\r\n },\r\n\r\n '.step-content-container .action-container .btn': {\r\n marginRight: 12,\r\n },\r\n\r\n '.step-content-container .action-container .btn-back': {\r\n marginRight: 38,\r\n },\r\n\r\n '.step-indicator-container': {\r\n marginTop: '27px',\r\n paddingLeft: 20,\r\n },\r\n '.step-vertical-divider': {\r\n marginLeft: '7px',\r\n top: '16px',\r\n borderLeft: '2px solid #EBEBEB',\r\n height: '39px',\r\n marginBottom: '3px',\r\n marginTop: '3px',\r\n },\r\n '.step-indicator': {\r\n /* position: 'absolute', */\r\n width: '16px',\r\n height: '16px',\r\n left: '0px',\r\n top: 'calc(50% - 16px/2)',\r\n\r\n fontFamily: 'Fabric MDL2 Assets',\r\n fontSize: '16px',\r\n lineHeight: '16px',\r\n /* identical to box height */\r\n flex: [0, 1, 'auto'],\r\n alignItems: 'center',\r\n borderRadius: '50%',\r\n },\r\n\r\n '.step-header[data-step-status=active] .step-indicator': {\r\n backgroundColor: '#C0DEF6',\r\n fontWeight: 600,\r\n },\r\n '.step-header[data-step-status=done] .step-indicator': {\r\n fontFamily: iconFontFamily,\r\n color: palette.themePrimary,\r\n fontSize: 16,\r\n },\r\n '.step-header[data-step-status=done] .step-indicator:before': {\r\n content: '\"\\\\EC61\"',\r\n },\r\n '.step-header[data-step-status=pending] .step-indicator': {\r\n border: `2px solid ${palette.neutralLight}`,\r\n boxSizing: 'border-box',\r\n\r\n '& .title': {\r\n marginTop: -4,\r\n },\r\n },\r\n '.current-step': {\r\n backgroundColor: '#C0DEF6',\r\n fontWeight: 600,\r\n },\r\n '.not-start-step': {\r\n border: `2px solid ${palette.neutralLight}`,\r\n boxSizing: 'border-box',\r\n\r\n '& span.title': {\r\n marginTop: -4,\r\n },\r\n },\r\n '.completed-step': {\r\n fontFamily: iconFontFamily,\r\n color: palette.themePrimary,\r\n '&:before': {\r\n content: '\"\\\\EC61\"',\r\n },\r\n },\r\n '.step-indicator .title': {\r\n position: 'absolute',\r\n height: '24px',\r\n left: '28px',\r\n /* top: 'calc(50% - 24px/2 - 1px)', */\r\n fontFamily: 'Segoe UI',\r\n fontSize: '14px',\r\n lineHeight: '20px',\r\n flex: [0, 1, 'auto'],\r\n alignItems: 'center',\r\n color: palette.neutralPrimary,\r\n marginRight: '20px',\r\n marginLeft: 20,\r\n marginTop: -2,\r\n },\r\n});\r\n","var pug = require(\"!../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (options, placeholderText) {var i18n = options.templateOptions.i18n\nif ((placeholderText)) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"grid-nodata\\\"\\u003E\" + (pug.escape(null == (pug_interp = placeholderText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\nelse {\npug_html = pug_html + \"\\u003Cdiv class=\\\"grid-nodata\\\"\\u003E\" + (pug.escape(null == (pug_interp = i18n.getString('CPG_BrandsGrid_NoResult')) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}}.call(this,\"options\" in locals_for_with?locals_for_with.options:typeof options!==\"undefined\"?options:undefined,\"placeholderText\" in locals_for_with?locals_for_with.placeholderText:typeof placeholderText!==\"undefined\"?placeholderText:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (html, text) {pug_html = pug_html + \"\\u003Cdiv class=\\\"step-indicator\\\"\\u003E\";\nif (text) {\npug_html = pug_html + \"\\u003Cspan class=\\\"title\\\"\\u003E\" + (pug.escape(null == (pug_interp = text) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n}\nelse\nif (html) {\npug_html = pug_html + (null == (pug_interp = html) ? \"\" : pug_interp);\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\";}.call(this,\"html\" in locals_for_with?locals_for_with.html:typeof html!==\"undefined\"?html:undefined,\"text\" in locals_for_with?locals_for_with.text:typeof text!==\"undefined\"?text:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (contentClass, steps) {pug_html = pug_html + \"\\u003Cdiv class=\\\"steps-wizard\\\"\\u003E\\u003Cdiv class=\\\"step-indicator-container col-sm-2\\\"\\u003E\";\n// iterate steps\n;(function(){\n var $$obj = steps;\n if ('number' == typeof $$obj.length) {\n for (var index = 0, $$l = $$obj.length; index < $$l; index++) {\n var step = $$obj[index];\nif (index > 0) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"step-vertical-divider\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003Cdiv class=\\\"step-wizard-substep\\\"\\u003E\\u003Cdiv\" + (\" class=\\\"step-indicator\\\"\"+pug.attr(\"data-bind\", 'css: {\\\n \"current-step\": ' + index + '=== stepIndex(), \\\n \"not-start-step\": ' + index + '> stepIndex(), \\\n \"completed-step\": ' + index + '< stepIndex(), \\\n }', true, true)) + \"\\u003E\\u003Cspan\" + (\" class=\\\"title\\\"\"+pug.attr(\"id\", `steptab-${index}`, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = step.title) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var index in $$obj) {\n $$l++;\n var step = $$obj[index];\nif (index > 0) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"step-vertical-divider\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003Cdiv class=\\\"step-wizard-substep\\\"\\u003E\\u003Cdiv\" + (\" class=\\\"step-indicator\\\"\"+pug.attr(\"data-bind\", 'css: {\\\n \"current-step\": ' + index + '=== stepIndex(), \\\n \"not-start-step\": ' + index + '> stepIndex(), \\\n \"completed-step\": ' + index + '< stepIndex(), \\\n }', true, true)) + \"\\u003E\\u003Cspan\" + (\" class=\\\"title\\\"\"+pug.attr(\"id\", `steptab-${index}`, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = step.title) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"step-content-container col-sm-10\\\"\\u003E\";\n// iterate steps\n;(function(){\n var $$obj = steps;\n if ('number' == typeof $$obj.length) {\n for (var index = 0, $$l = $$obj.length; index < $$l; index++) {\n var step = $$obj[index];\npug_html = pug_html + (\"\\u003Cdiv\" + (\" class=\\\"content content-container\\\"\"+pug.attr(\"data-bind\", 'visible:' + index + ' === stepIndex()', true, true)) + \"\\u003E\\u003Cdiv class=\\\"steps-wizard__title\\\"\\u003E\\u003Cspan role=\\\"heading\\\" aria-level=\\\"1\\\" tabIndex=\\\"-1\\\"\\u003E\" + (pug.escape(null == (pug_interp = step.pageTitle) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"steps-wizard__description clearfix\\\"\\u003E\" + (pug.escape(null == (pug_interp = step.description) ? \"\" : pug_interp)));\nif (step.descriptionHelpText) {\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"HelpTopic\\\"\"+\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"query\", step.descriptionHelpId, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = step.descriptionHelpText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"steps-wizard__content\",\"clearfix\",contentClass], [false,false,true]), false, true)) + \"\\u003E\\u003Cdiv\" + (\" class=\\\"content-wrapper\\\"\"+\" role=\\\"tabpanel\\\"\"+pug.attr(\"id\", `steppanel-${index}`, true, true)+pug.attr(\"aria-labelledby\", `steptab-${index}`, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var index in $$obj) {\n $$l++;\n var step = $$obj[index];\npug_html = pug_html + (\"\\u003Cdiv\" + (\" class=\\\"content content-container\\\"\"+pug.attr(\"data-bind\", 'visible:' + index + ' === stepIndex()', true, true)) + \"\\u003E\\u003Cdiv class=\\\"steps-wizard__title\\\"\\u003E\\u003Cspan role=\\\"heading\\\" aria-level=\\\"1\\\" tabIndex=\\\"-1\\\"\\u003E\" + (pug.escape(null == (pug_interp = step.pageTitle) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"steps-wizard__description clearfix\\\"\\u003E\" + (pug.escape(null == (pug_interp = step.description) ? \"\" : pug_interp)));\nif (step.descriptionHelpText) {\npug_html = pug_html + \"\\u003Ca\" + (\" class=\\\"HelpTopic\\\"\"+\" href=\\\"javascript:void(0);\\\"\"+pug.attr(\"query\", step.descriptionHelpId, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = step.descriptionHelpText) ? \"\" : pug_interp)) + \"\\u003C\\u002Fa\\u003E\";\n}\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"steps-wizard__content\",\"clearfix\",contentClass], [false,false,true]), false, true)) + \"\\u003E\\u003Cdiv\" + (\" class=\\\"content-wrapper\\\"\"+\" role=\\\"tabpanel\\\"\"+pug.attr(\"id\", `steppanel-${index}`, true, true)+pug.attr(\"aria-labelledby\", `steptab-${index}`, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003Cdiv class=\\\"action action-container\\\"\\u003E\\u003Cdiv class=\\\"clearfix steps-wizard__footer\\\"\\u003E\\u003C!-- ko foreach: customButtons--\\u003E\\u003Cbutton class=\\\"btn\\\" data-bind=\\\"css: cssClass + (" btn-" + key), text: Text, visible: isVisible, enable: isEnable\\\"\\u003E\\u003C\\u002Fbutton\\u003E\\u003C!-- \\u002Fko--\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"contentClass\" in locals_for_with?locals_for_with.contentClass:typeof contentClass!==\"undefined\"?contentClass:undefined,\"steps\" in locals_for_with?locals_for_with.steps:typeof steps!==\"undefined\"?steps:undefined));;return pug_html;};\nmodule.exports = template;","var pug = require(\"!../../../../../node_modules/.pnpm/pug@2.0.4/node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (steps) {pug_html = pug_html + \"\\u003Cdiv class=\\\"steps-wizard\\\"\\u003E\\u003Cdiv class=\\\"step-indicator-container col-sm-2\\\"\\u003E\";\n// iterate steps\n;(function(){\n var $$obj = steps;\n if ('number' == typeof $$obj.length) {\n for (var index = 0, $$l = $$obj.length; index < $$l; index++) {\n var step = $$obj[index];\nif (index > 0) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"step-vertical-divider\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"step-header\\\"\"+pug.attr(\"data-step-name\", step.name, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var index in $$obj) {\n $$l++;\n var step = $$obj[index];\nif (index > 0) {\npug_html = pug_html + \"\\u003Cdiv class=\\\"step-vertical-divider\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"step-header\\\"\"+pug.attr(\"data-step-name\", step.name, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"step-content-container col-sm-10\\\"\\u003E\";\n// iterate steps\n;(function(){\n var $$obj = steps;\n if ('number' == typeof $$obj.length) {\n for (var index = 0, $$l = $$obj.length; index < $$l; index++) {\n var step = $$obj[index];\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"step-body\\\"\"+pug.attr(\"data-step-name\", step.name, true, true)) + \"\\u003E\\u003Cdiv class=\\\"step-page-title\\\" role=\\\"heading\\\" aria-level=\\\"1\\\"\\u003E\" + (pug.escape(null == (pug_interp = step.view && step.view.pageTitle && step.view.pageTitle.text) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"step-content content-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\" + (\" class=\\\"step-footer action-container\\\"\"+pug.attr(\"data-step-name\", step.name, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var index in $$obj) {\n $$l++;\n var step = $$obj[index];\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"step-body\\\"\"+pug.attr(\"data-step-name\", step.name, true, true)) + \"\\u003E\\u003Cdiv class=\\\"step-page-title\\\" role=\\\"heading\\\" aria-level=\\\"1\\\"\\u003E\" + (pug.escape(null == (pug_interp = step.view && step.view.pageTitle && step.view.pageTitle.text) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\\u003Cdiv class=\\\"step-content content-container\\\"\\u003E\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\\u003Cdiv\" + (\" class=\\\"step-footer action-container\\\"\"+pug.attr(\"data-step-name\", step.name, true, true)) + \"\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n }\n}).call(this);\n\npug_html = pug_html + \"\\u003C\\u002Fdiv\\u003E\\u003C\\u002Fdiv\\u003E\";}.call(this,\"steps\" in locals_for_with?locals_for_with.steps:typeof steps!==\"undefined\"?steps:undefined));;return pug_html;};\nmodule.exports = template;"],"names":["getBidLandscapeStyle","palette","arguments","length","undefined","left","right","top","bottom","margin","position","width","height","backgroundColor","border","boxShadow","fontSize","marginTop","marginLeft","marginBottom","display","fontWeight","padding","color","float","textAlign","clear","marginRight","overflow","opacity","paddingRight","lineHeight","verticalAlign","whiteSpace","overflowWrap","paddingTop","maxWidth","outline","concat","neutralSecondary","neutralLighter","themeLighter","themeLight","i18n","window","globalLegacyI18n","get","schemaI18nCampaign","brandGridLegacyDepsList","edm","appConfig","logger","columnChooserPreference","legacyColumnChooserPreferences","jsDataCampaign","appState","preferenceService","ProductOffer","sessionStore","preferenceStoreFactory","cacheService","SummaryDataContextManager","dataContextManager","PageContext","pageContext","getAdditionalPluginsFactory","_ref","toolbarPlugin","scope","view","plugin","projectionGridScopeNavigator","config","placeholderPlugin","container","template","placeholderTemplate","templateOptions","_","asyncEmptyText","tooMuchDataErrorText","asyncCallback","Promise","showTooMuchDataError","brandFactory","brandPromiseFactory","resolve","getBrandGridFactory","then","result","createBrandsGridForUiNext","serverContext","permissions","currentCampaign","currentAdGroup","siteMap","perfMarker","fetchDataCallback","hideSubBrand","campaignContext","_ref2","createBrandGrid","scopeAdapter","customerId","values","cid","accountId","aid","campaignId","adGroupId","set","unset","edmEntity","currentAccount","router","getRouteTo","navigateToRoute","getRouterDep","$viewport","$","getGridPreferences","gridName","dateUtil","format","value","formatDate","state","segmentTimeChecker","fetchPaginationConfig","customColumnsEnabled","preferenceConfig","gridView","getAdditionalPlugins","addDateChangeListener","isForVNext","viewport","customHeaderOffset","find","panelStyles","main","overlayProps","styles","root","flexStyle","flex","flexDirection","componentsAttributes","AddBrandPanel","_React$PureComponent","props","_this","_classCallCheck","_callSuper","onSaveBrand","sendAddBrandRequest","onClose","resetState","onClosePanel","updateBrandName","e","currentTarget","setState","brandName","updateBrandUrl","brandUrl","addSubBrand","canAddSubBrand","subBrands","_toConsumableArray","showAddSubBrandError","every","subBrand","validateInput","updateSubBrand","_e$currentTarget","tabIndex","truncateValue","slice","updateSubBrandErrorMessage","removeSubBrand","canSaveBrand","_this$state","input","brandGrid","unblock","withUiBlock","grid","$el","saveResult","pick","url","getBmcMtEndpoint","userId","type","data","xhrFields","withCredentials","success","fetchGridData","refresh","error","showAddBrandError","initState","_inherits","_createClass","key","this","AlertHelper","showError","getString","_TL_","_this2","_this$props","displayName","isOpen","classes","showSubBrand","showAddSubBrand","isSaveButtonDisabled","componentsStrings","addSubBrandText","addSubBrandErrorMessage","subBrandName","removeSubBrandButtonAriaLabel","saveButtonText","cancelButtonText","closeIconAriaLabel","showSubBrandContent","_jsxs","React","children","_jsx","map","idx","Input","className","classNames","subBrandInput","onChange","Button","removeSubBrandButton","btnStyle","onClick","Glyphicon","glyph","showAddSubBrandErrorMessage","showAddSubBrandButton","addSubBrandButton","Panel","panel","PanelType","medium","hasCloseButton","header","content","bottomBar","saveButton","disabled","closeButton","defaultProps","StyledAddBrandPanel","withDefaultStyles","memo","_objectSpread","paddingLeft","background","minWidth","borderTop","alignItems","justifyContent","StyledGridViewWrapperWithFilterContext","withGlobalFilter","StyledGridViewWrapper","getBrandGridViewStyles","extend","borderRight","Brands","bindGridEvents","on","GRID_EVENT_NAMES","SHOW_ADD_BRAND_PANEL","showAddBrandPanel","addBrandPanel","isOpenAddBrandPanel","closeAddBrandPanel","crossPageSelectPlugin","onGridInjected","showTopOfGridPanel","backboneGridView","columnAction","noop","chartView","brandsGridPromise","BrandsGridView","EVENT_NAMES","overrideWith","deselectAll","bind","default","productFeedGrid","off","panelView","renderToolbarContainer","showTopGridPanel","topGridPanel","TopGridPanel","customClasses","topGridPanelCustomStyles","topOfGridContent","Fragment","SPAv2Tutorial","stickyTopOfGridContent","fallback","ProgressiveLoadingBlock","StyledTablePageContainer","tablePageContainer","gridViewContainer","StyledBrand","compose","withI18nConsumer","WrappedComponent","withCurrentExpandedScope","withTablePageStateManager","getToolbarConfig","lazyInject","toolbarSelectedConfig","Map","toolbarUnselectedConfig","id","text","iconLeftGlyphName","AddBrandToolbar","getBudgetSuggestionPopupStyle","borderRadius","zIndex","paddingBottom","fontFamily","themePrimary","transform","gridTemplateColumns","borderBottom","borderLeft","textDecoration","SelectableItem","_len","args","Array","_key","handleKeyDown","event","keyCode","handleClick","siteMapId","siteMapAvailable","_this$props2","ariaLabel","isSelected","ariaItemSize","ariaItemIndex","showWarning","isNewFeature","rootClass","classnames","selectableButton","onMouseOver","onFocus","onKeyDown","checked","identity","StyledSelectableItem","getSelectableItemStyles","ObjectiveItem","helpKeyDown","helpClick","stopPropagation","PopupController","PopupJsClick","target","handleDescription","description","wordArray","split","updatedDescription","pop","join","renderObjectiveItemContent","iconName","descriptionLine","helpId","helpArialLabel","showFACBadge","FACInfo","isSVGIcon","objectiveItemContent","objectiveIcon","objectiveDescription","objectiveHelpIcon","topic","newFeatureLabel","facLabel","CouponValue","CouponValueWithCurrency","objectiveItem","StyledObjectiveItem","TempComponent","getObjectiveItemStyles","wrap","ActionList","title","actionItems","ariaLabelId","Math","floor","random","actionList","role","item","index","StyledActionList","getActionListStyles","AdTypeItem","handleAdTypeClick","onSelect","itemId","dealDetails","isSmartShoppingWarningVisible","isPerfMaxWarningVisible","warningMessageTarget","isShowWarning","smartShoppingWarningMessage","img","audienceAdsPolicy","period","helpTopicId","ref","adTypeItem","Row","src","alt","rel","href","LearnMoreLink","linkText","Callout","smartShoppingWarningCallout","current","directionalHint","DirectionalHint","leftCenter","calloutWidth","rightCenter","StyledAdTypeItem","getAdTypeItemStyles","isTargetHasValue","deal","targetType","getTargetConstraints","mandatory","DealFilterBar","deals","onFilter","locationFilterOptions","isEnabledDealsV2","useDefaultStyles","getChooseAdsPanelStyles","locationOptions","_useState","useState","_useState2","_slicedToArray","ronFilter","setRonFilter","_useState3","_useState4","ageFilter","setAgeFilter","_useState5","_useState6","genderFilter","setGenderFilter","_useState7","_useState8","genreFilter","setGenreFilter","currentLocation","Market","currentLocationInOptions","location","usLocationOptions","defaultLocationOptions","_useState9","_useState10","locationFilter","setLocationFilter","applyFilterToDeal","tmpDeals","filter","toLowerCase","includes","Genre","AgeRange","String","Id","useEffect","dealFilterBar","Dropdown","placeholder","options","selectedKey","ev","dropdown","NFDealAccountPreferenceName","noSmartShoppingReasonRef","ChooseAdsPanel","handleNextButtonClick","handleNavigation","selectedVideoChannelType","netflixDealTCAccepted","selectedDeal","selectedAdImpressionsType","selectedSponsoredProductCampaignType","isLocalStorageSupported","localStorage","isNetflixDealSelected","setAtAccountLevel","Name","Data","Type","Version","showPerfMaxCampaignTypeOptions","showShoppingCampaignTypeOptions","selectedCampaignType","shoppingCampaignTypes","standard","IsAIMCampaignEnabled","selectedAdType","handleAdTypeSelect","adTypeId","handleCampaignTypeSelect","handleShoppingCampaignTypeSelect","handleXanerVideoCampaignChannelSelect","handleSponsoredProductCampaignTypeSelect","handleDealSelect","handleAdImpressionsCampaignChannelSelect","handleCheckNFDealIterm","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_context","prev","next","stop","handleDealFilter","filteredDeals","isAcceptNetflixDealTCs","findByNameAtAccountLevel","isNetflixDeal","createService","getLocalStorage","supportsStorage","invalidate","isPerfMaxCampaignDisabled","isSmartShoppingCampaignDisabled","loading","locationMap","smartShoppingNotSupportedReason","prevProps","fetchIsSmartShoppingCampaignEnabled","fetchIsPerfMaxCampaignEnabled","fetchDeals","adTypeConfig","shoppingCampaignTypeConfig","perfMaxCampaignTypeConfig","standardShoppingCampaignTypeConfig","xandrVideoCampaignTypeConfig","adImpressionsCampaignTypeConfig","_this$props3","shoppingCampaignSubTypeTitle","campaignTypeTitle","isPerfMaxCampaign","_this$props4","smartShoppingWarning","campaignType","smartShoppingWarningLink","evt","preventDefault","pathname","getRoutePathById","history","push","search","_this$props5","NO_AVAILABLE_GOAL","getConversionGoalWarningMessage","MORE_THAN_100","_fetchDeals","_callee2","_scope$values","lcid","locationIds","locationResponse","_context2","IsDealEnabledForMsAds","abrupt","CurrentUser","LocaleID","IsEnabledDealsV2","getDealsV2","response","sent","getDeals","uniq","flatten","getCountriesLocations","each","CountryCode","EnglishName","_x","apply","isSmartShoppingCampaignEnabled","fetchIsSmartShoppingCampaignSupportedWithLegacyCode","supported","reason","NO_PILOT","smart","_this3","_this3$createService","fetchIsSmartShoppingCampaignSupported","noSmartShoppingReason","_this$state2","_this4","_this$props6","_this$state3","campaignTypeOptions","IsDomesticSimplifiedChineseEnabled","campaignTypesToShow","standardCampaignType","audienceCampaignType","campaigntype","xandrVideoCampaignType","IsDealFilterEnabled","hideDealImpression","isDealGenreRestricted","configItem","EstimatedImpressions","style","bytesForHuman","targetConstraintsToText","MinimumBid","decimal","fromFloatToString","MTCurrencyConvertor","Currency","getVideoConstraintDuration","adImpressionCampaignType","sponsoredProductCampaignTypeConfig","warningMessage","campaignTypeLength","perfMaxCampaignType","getSmartShoppingWarningMessage","shoppingOptions","shopppingCampaignTypes","isSmartShoppingDisabled","standardShoppingCampaignType","adTypes","Checkbox","label","_Fragment","Link","defaultChecked","MessageBar","_this$props7","isMMCSetup","_this$state4","optionsLength","getPanelTitle","panelClassName","chooseObjectivePanel","panelReadyAriaLabel","chooseAdsPanelBody","Loading","isVisible","renderOptions","isBoolean","isMultiline","renderConsentCheckBox","chooseAdsPanelFooter","nextButton","isNextButtonDisabled","cancelButton","nextProps","prevState","StyledChooseAdsPanel","withScope","withSiteMap","withPermissions","ChooseObjective","getFACData","ccJsData","CurrencyCode","FeatureAdoptionCoupon","findAll","coupons","catch","Status","FeatureId","parseInt","FAC_FEATURE_ID","SHOPPING_CAMPAIGN","CCUIConstants","RecommendationAdoptionStatus","NotInProgess","Active","couponDetails","formatCurrency","getDescription","setSelectedItemFromQueryString","selectedItemKeyFromSearch","selectedCampaignObjectiveKey","objectivesConfig","isEnabled","some","handleSelectedObjective","showPanel","isPanelOpen","dynamic","PerformanceMaxCampaigns","getProductData","closePanel","selectedItemId","_ref3","isSmartCampaign","isHotelBooking","isAppInstall","IsRenameHotelToLodgingEnabled","uid","navigateSelectedObjective","isShopping","isAudience","isSmartShopping","findWhere","indexOf","IsVideoAdsForCampaignEnabled","XandrVideoCampaigns","isVideo","IsManualCpmEnabled","XandrDisplayAdsCampaigns","isDisplayAds","IsSmartShoppingCampaignEnabled","SSCDeprecation","selectedType","adImpressionsCampaignTypes","displayAds","isNewAudience","IsNewStaticAudienceCampaignCreationEnabled","isNewSearch","SearchCampaignCreationRevamp","isPerfMax","campaignTypes","perfMax","sponsoredBrandAdType","isMediaPackage","renderActionList","objectives","tools","toolsConfig","params","navigateSelectedTools","prefetchChunks","done","_scope$values2","CurrentAccount","FACForShopping","getProductDataWithCache","withDFMCache","hasAnyStores","ProductCollectionAccounts","objectivesForPerfMax","chooseObjective","pageContent","Stack","horizontal","tokens","childrenGap","Item","grow","StyledCampaignChooseObjective","getChooseObjectiveStyles","withPreference","withCcJsData","withCreationHeader","ChooseObjectiveWithLegacyConfig","ChooseObjectiveView","InjectedView","resolveStyles","theme","resolvedStyles","s","isFunction","isEmpty","Error","callbackAfterInjected","onSwitch","onSwitched","StyledCampaignCreationSearch","withDelayedStyles","withTheme","InjectWrapperWithHoC","InjectViewFactory","CampaignCreateAdvancedView","InjectViewOption","adExtensionsDynamicFeaturesLoader","instrumentation","adExtensionsDynamicFeatures","accountCurrencyCode","VerticalTemplate","usePanel","styleScopeName","_ref$palette","globalStyles","merge","stepWizardStyle","helpbuttonStyle","inputFieldStyle","CreationContainerContentOverrideStyle","commonStyles","containerBudgetStyle","sharedBudgetGridWrapper","linkStyle","searchCreationStyles","dsaCampaignStyles","campaignSettingsStyles","creationCommonStyle","CampaignCreationSearch","getDelayedStyles","getEntityCreationStyle","CampaignCreationAudience","AudienceCampaignCreationWizard","getCommonCampaignCreationViewOptions","layout","VerticalLayout","headerTemplate","HeaderTemplate","StyledCampaignCreationAudience","CampaignCreationAudienceVideo","_props$serverContext","CurrentAccountInActive","_props$serverContext$","Permissions","IsReadOnlyUser","IsImpressionTrackingUrlsEnabled","viewContext","isReadOnlyUser","isImpressionTrackingUrlsEnabled","newI18n","deps","StyledCampaignCreationAudienceVideo","getShoppingCampaignCreationComponent","isMSStoreAdsGAWorkflow","useJsDataContext","_useShoppingFAC","useShoppingFAC","getFACCoupon","updateCouponStatus","ShoppingCampaignCreationView","CampaignCreationSearchShopping","CampaignCreationMSStoreAds","propTypes","PropTypes","isRequired","perfMarkerPropTypes","StyledCampaignCreationSearchShopping","StyledCampaignCreationMSStoreAds","StyledCampaignCreationAudienceShopping","IsEnabledForDynamicFeedCampaign","audienceCampaignSubType","initData","getProductDataInit","getFeedDataInit","$top","CampaignCreationAudienceSimplified","StaticAudienceCampaignCreation","StyledCampaignCreationAudienceSimplified","getStandardShoppingCampaignWizardAsync","StandardShoppingCampaignWizard","StandardShoppingComponent","getComponentAsync","Component","component","getShoppingCampaignCreationWizardComponent","campaignTypeName","StyledCampaignCreationSearchShoppingWizard","AdTypes","AudienceAndSearch","StyledCampaignCreationAudienceShoppingWizard","ShoppingAudience","WizardDefaultLayoutOverrideStyle","overflowY","StyledCampaignCreationSearchV2","SearchCampaignCreationWizard","useMemo","dynamicOptionsLoader","useCallback","adExtensionsAssociationsFactory","dynamicOptions","withProps","LazyView","getStyledAdGroupCreationSearchAsync","StyledAdGroupCreationSearch","getStyledAdGroupCreationAudienceAsync","StyledAdGroupCreationAudience","getHotelAdGroupCreationAsync","HotelAdGroupCreation","getXandrVideoAdGroupCreationAsync","_ref4","XandrVideoAdGroupCreationPage","getXandrDisplayAdsAdGroupCreationAsync","_ref5","XandrDisplayAdsAdGroupCreationPage","getDisplayPlusAdGroupCreationAsync","_ref6","DisplayPlusCreateAdGroupWizard","getSearchAdGroupCreationRevampAsync","_ref7","SearchAdGroupCreationWizard","getComponent","AdGroupCreation","SearchComponent","SearchRevampComponent","AudienceComponent","HotelComponent","XandrVideoComponent","XandrDisplayAdsComponent","DisplayPlusComponent","isOpenCreatePanel","replace","stringify","campaignSubType","isSearchCampaign","SearchRevampPhase2","isXandrVideoAdsCampaign","CTVAndDealToDisplayPlus","DisplayPlusAdGroupCreation","setClarityTag","IsDisplayPlusAdGroupCreationEnabled","CampaignSubType","isXandrDisplayAdsCampaign","isAudienceNativeAdsCampaign","HotelCampaign","CampaignSubTypeMapping","AudienceVideoAds","AdGroupCreationWithCampaign","withCampaign","toolsItems","analyticsId","toolsItemsPropsMapping","injectFactory","_ref$deps","path","require","View","showAsCampaignType","SearchAdsImg","AudienceAdsImg","xandrVideoCampaignTypes","xandrVideoWeb","xandrVideoCtv","nativeAds","sponsoredProductCampaignTypes","spa","spb","PerformanceMaxImg","smartShoppingCampaignTypeConfig","SmartShoppingImg","StandardShoppingImg","VideoCampaignWeb","VideoCampaignCTV","ReactTemplate","model","bold","MicrosoftRetailerNetworkImg","SponsoredPromotionsByBrands","SponsoredPromotionsByBrandImg","NativeAdsImg","DisplayAdsImg","InjectWrapper","injectViewFactoryOptions","ReactView","_InjectViewOption$dep","viewOptions","eventDelegator","EventDelegator","i18nNewDesign","instance","render","callbackAfterRendered","BackboneInstanceWrapper","managed","remove","processor","processPermissions","toolsPathMap","urlIds","ImportFile","GoogleImport","FreeCoach","itemTarget","open","NavigateSection","backRouterId","isShowConfirmPopup","isBorderInsteadOfShadow","ariaLabelText","onBackLinkClick","confirm","getNavigateSectionStyles","backToCampaign","backToCampaignLink","onKeyPress","StyledNavigateSection","NavigateContent","crumbs","crumbSpans","crumb","navigateContentLastItem","last","navigateContent","StyledNavigateContent","getNavigateContentStyles","CreationHeader","headerCrumbs","fromPathId","fromPage","fromPageName","name","getDelayedCreationStyles","queryify","adapter","bypassCache","cacheResponse","jsData","Product","Deal","edmCampaign","Customers","$withKey","Accounts","Deals","IsUseV2","toPromise","objectivesItems","IsUserAppInstallAdsAllowed","IsSmartCampaignPhase2Enabled","IsEnhancedShoppingCampaignAllowed","IsSPAv2Enabled","WindowsStoreAdsCNExpansion","objectiveItemsPropsMapping","ADGROUP_CREATION_AUDIENCE_LOADED_EVENT","AdGroupCreationAudience","isShoppingCampaign","CampaignSettings","AdGroupCreationAudiencePerfMarker","createChild","AudienceAdgroupCreationWizard","eventDispatcher","trigger","statusStyle","paginationStyle","entitySelectorStyle","buttonInputStyle","commonDoubleListBoxStyle","keywordPlannerStyle","searchboxStyle","estimationResultStyle","locationBidGridStyle","locationMapStyle","tableStyle","advancedSettingsSectionStyle","toggleButtonStyle","selectElementStyle","uiblockerStyle","kendoMultiSelectStyle","audienceModalStyles","audienceExpressionStyle","audienceCombinedListStyle","extensionEditorStyles","messageBarStyle","glyphIconStyle","datePickerStyle","keywordToolbarStyle","disclaimerPanelStyles","globalDsaCampaignStyles","globalAdgroupCreationStyles","convertToGlobalStyle","adEditorPanelOverrideStyle","audienceTargetsSettingsStyles","audienceBudgetBidsStyles","adgroupsKeywordsStyles","adExtensionsStyles","budgetBidsStyles","adgroupCreationStyles","raiseBidPopupStyles","audienceCreationStyles","audienceCampaignSettingsStyles","audienceReachEstimateContainerStyle","audienceAssociationSectionStyle","audienceAdsStyles","audienceAdgroupStyles","audienceCampaignBmcRedirectStyles","legacyUIBlockerStyle","getCreationContainerContentStyle","AdGroupCreationSearch","IsDSAMixedModeCampaignEnabled","isExperiment","CampaignType","MixedModeCreationView","AdgroupCreateAdvancedView","AdGroupCreationSearchPerfMarker","willInit","campaignCreationAdEditorOverrideStyle","themeDarker","adEditorStyle","flexWrap","minHeight","neutralPrimary","svgIconStyle","backgroundRepeat","backgroundSize","backgroundPosition","labelStyle","_ref$iconFontFamily","iconFontFamily","backgroundImage","microsoftStoreIcon","cursor","neutralLight","neutralQuaternaryAlt","white","memoize","_ref$isBorderInsteadO","_ref2$palette","themeDarkAlt","JSON","internalLinkStyle","isGreyBackground","shoppingCreationStyles","campaignCreationSearchShoppingStyles","smartShoppingCreationStyles","smartShoppingStyles","CampaignCreationAudienceShopping","CampaignCreationSmartShopping","boxSizing","pug","module","exports","locals","pug_interp","pug_html","locals_for_with","placeholderText","escape","call","html","contentClass","steps","$$obj","$$l","step","attr","pageTitle","descriptionHelpText","descriptionHelpId"],"sourceRoot":""}