getGlobalWidgets()   B
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 152
Code Lines 150

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 150
dl 0
loc 152
rs 8
c 0
b 0
f 0
cc 1
nc 1
nop 0

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
2
3
/**
4
 * This file is part of the Spryker Commerce OS.
5
 * For full license information, please view the LICENSE file that was distributed with this source code.
6
 */
7
8
declare(strict_types = 1);
9
10
namespace Pyz\Yves\ShopApplication;
11
12
use Pyz\Yves\CompanyPage\Plugin\ShopApplication\CompanyUserRestrictionHandlerPlugin;
13
use Pyz\Yves\CompanyWidget\Widget\MenuItemCompanyWidget;
14
use Pyz\Yves\CustomerFullNameWidget\Widget\CustomerFullNameWidget;
15
use Pyz\Yves\ProductSetWidget\Widget\ProductSetIdsWidget;
16
use Spryker\Yves\CustomerDataChangeRequest\Widget\CustomerEmailChangeRequestWidget;
17
use Spryker\Yves\ErrorHandler\Plugin\Application\ErrorHandlerApplicationPlugin;
18
use Spryker\Yves\EventDispatcher\Plugin\Application\EventDispatcherApplicationPlugin;
19
use Spryker\Yves\Form\Plugin\Application\FormApplicationPlugin;
20
use Spryker\Yves\Http\Plugin\Application\YvesHttpApplicationPlugin;
21
use Spryker\Yves\Locale\Plugin\Application\LocaleApplicationPlugin;
22
use Spryker\Yves\Messenger\Plugin\Application\FlashMessengerApplicationPlugin;
23
use Spryker\Yves\MultiFactorAuth\Widget\MultiFactorAuthHandlerWidget;
24
use Spryker\Yves\MultiFactorAuth\Widget\SetMultiFactorAuthMenuItemWidget;
25
use Spryker\Yves\Router\Plugin\Application\RouterApplicationPlugin;
26
use Spryker\Yves\Security\Plugin\Application\YvesSecurityApplicationPlugin;
27
use Spryker\Yves\Session\Plugin\Application\SessionApplicationPlugin;
28
use Spryker\Yves\Sitemap\Widget\SitemapWidget;
29
use Spryker\Yves\Translator\Plugin\Application\TranslatorApplicationPlugin;
30
use Spryker\Yves\Twig\Plugin\Application\TwigApplicationPlugin;
31
use Spryker\Yves\Validator\Plugin\Application\ValidatorApplicationPlugin;
32
use SprykerShop\Yves\AgentWidget\Widget\AgentControlBarWidget;
33
use SprykerShop\Yves\AssetWidget\Widget\AssetWidget;
34
use SprykerShop\Yves\AvailabilityNotificationWidget\Widget\AvailabilityNotificationSubscriptionWidget;
35
use SprykerShop\Yves\BarcodeWidget\Widget\BarcodeWidget;
36
use SprykerShop\Yves\BusinessOnBehalfWidget\Widget\BusinessOnBehalfStatusWidget;
37
use SprykerShop\Yves\CartCodeWidget\Widget\CartCodeFormWidget;
38
use SprykerShop\Yves\CartNoteWidget\Plugin\ShopApplication\CartItemNoteFormWidgetCacheKeyGeneratorStrategyPlugin;
39
use SprykerShop\Yves\CartNoteWidget\Widget\CartItemNoteFormWidget;
40
use SprykerShop\Yves\CartNoteWidget\Widget\CartNoteFormWidget;
41
use SprykerShop\Yves\CartPage\Widget\AddItemsFormWidget;
42
use SprykerShop\Yves\CartPage\Widget\AddToCartFormWidget;
43
use SprykerShop\Yves\CartPage\Widget\CartAddProductAsSeparateItemWidget;
44
use SprykerShop\Yves\CartPage\Widget\CartChangeQuantityFormWidget;
45
use SprykerShop\Yves\CartPage\Widget\CartSummaryHideTaxAmountWidget;
46
use SprykerShop\Yves\CartPage\Widget\ProductAbstractAddToCartButtonWidget;
47
use SprykerShop\Yves\CartPage\Widget\RemoveFromCartFormWidget;
48
use SprykerShop\Yves\CartReorderPage\Widget\CartReorderItemCheckboxWidget;
49
use SprykerShop\Yves\CartReorderPage\Widget\CartReorderItemsWidget;
50
use SprykerShop\Yves\CartReorderPage\Widget\CartReorderWidget;
51
use SprykerShop\Yves\CategoryImageStorageWidget\Widget\CategoryImageStorageWidget;
52
use SprykerShop\Yves\CheckoutWidget\Widget\CheckoutBreadcrumbWidget;
53
use SprykerShop\Yves\CheckoutWidget\Widget\ProceedToCheckoutButtonWidget;
54
use SprykerShop\Yves\CommentWidget\Widget\CommentThreadWidget;
55
use SprykerShop\Yves\CompanyPage\Plugin\ShopApplication\CheckBusinessOnBehalfCompanyUserHandlerPlugin;
56
use SprykerShop\Yves\CompanyPage\Plugin\ShopApplication\CompanyBusinessUnitControllerRestrictionPlugin;
57
use SprykerShop\Yves\CompanyWidget\Widget\CompanyBusinessUnitAddressWidget;
58
use SprykerShop\Yves\CompanyWidget\Widget\CompanyMenuItemWidget;
59
use SprykerShop\Yves\ConfigurableBundleNoteWidget\Widget\ConfiguredBundleNoteWidget;
60
use SprykerShop\Yves\ConfigurableBundleWidget\Widget\QuoteConfiguredBundleWidget;
61
use SprykerShop\Yves\CurrencyWidget\Widget\CurrencyWidget;
62
use SprykerShop\Yves\CustomerPage\Plugin\Application\CustomerConfirmationUserCheckerApplicationPlugin;
63
use SprykerShop\Yves\CustomerPage\Widget\CustomerNavigationWidget;
64
use SprykerShop\Yves\CustomerValidationPage\Plugin\ShopApplication\LogoutInvalidatedCustomerFilterControllerEventHandlerPlugin;
65
use SprykerShop\Yves\DiscountPromotionWidget\Plugin\ShopApplication\CartDiscountPromotionProductListWidgetCacheKeyGeneratorStrategyPlugin;
66
use SprykerShop\Yves\DiscountPromotionWidget\Widget\CartDiscountPromotionProductListWidget;
67
use SprykerShop\Yves\LanguageSwitcherWidget\Widget\LanguageSwitcherWidget;
68
use SprykerShop\Yves\MerchantOpeningHoursWidget\Widget\MerchantOpeningHoursWidget;
69
use SprykerShop\Yves\MerchantProductOfferWidget\Widget\MerchantProductOffersSelectWidget;
70
use SprykerShop\Yves\MerchantProductOfferWidget\Widget\MerchantProductOfferWidget;
71
use SprykerShop\Yves\MerchantProductWidget\Widget\MerchantProductWidget;
72
use SprykerShop\Yves\MerchantRelationRequestWidget\Widget\MerchantRelationRequestCreateButtonWidget;
73
use SprykerShop\Yves\MerchantRelationRequestWidget\Widget\MerchantRelationRequestCreateLinkWidget;
74
use SprykerShop\Yves\MerchantRelationRequestWidget\Widget\MerchantRelationRequestMenuItemWidget;
75
use SprykerShop\Yves\MerchantRelationshipWidget\Widget\MerchantRelationshipLinkListWidget;
76
use SprykerShop\Yves\MerchantRelationshipWidget\Widget\MerchantRelationshipMenuItemWidget;
77
use SprykerShop\Yves\MerchantSalesOrderWidget\Widget\MerchantOrderReferenceForItemsWidget;
78
use SprykerShop\Yves\MerchantSalesReturnWidget\Plugin\MerchantSalesReturnCreateFormWidgetCacheKeyGeneratorStrategyPlugin;
79
use SprykerShop\Yves\MerchantSalesReturnWidget\Widget\MerchantSalesReturnCreateFormWidget;
80
use SprykerShop\Yves\MerchantSearchWidget\Widget\MerchantSearchWidget;
81
use SprykerShop\Yves\MerchantWidget\Plugin\ShopApplication\SoldByMerchantWidgetCacheKeyGeneratorStrategyPlugin;
82
use SprykerShop\Yves\MerchantWidget\Widget\ShoppingListMerchantWidget;
83
use SprykerShop\Yves\MerchantWidget\Widget\SoldByMerchantWidget;
84
use SprykerShop\Yves\MoneyWidget\Widget\CurrencyIsoCodeWidget;
85
use SprykerShop\Yves\MultiCartWidget\Widget\AddToMultiCartWidget;
86
use SprykerShop\Yves\MultiCartWidget\Widget\CartOperationsWidget;
87
use SprykerShop\Yves\MultiCartWidget\Widget\MiniCartWidget;
88
use SprykerShop\Yves\MultiCartWidget\Widget\MultiCartListWidget;
89
use SprykerShop\Yves\MultiCartWidget\Widget\MultiCartMenuItemWidget;
90
use SprykerShop\Yves\MultiCartWidget\Widget\QuickOrderPageWidget;
91
use SprykerShop\Yves\NewsletterWidget\Widget\NewsletterSubscriptionSummaryWidget;
92
use SprykerShop\Yves\NewsletterWidget\Widget\NewsletterSubscriptionWidget;
93
use SprykerShop\Yves\OrderCancelWidget\Widget\OrderCancelButtonWidget;
94
use SprykerShop\Yves\OrderCustomReferenceWidget\Widget\OrderCustomReferenceWidget;
95
use SprykerShop\Yves\PaymentAppWidget\Widget\ExpressCheckoutPaymentWidget;
96
use SprykerShop\Yves\PersistentCartShareWidget\Widget\ShareCartByLinkWidget;
97
use SprykerShop\Yves\PriceProductVolumeWidget\Widget\CurrentProductPriceVolumeWidget;
98
use SprykerShop\Yves\PriceProductWidget\Widget\PriceProductWidget;
99
use SprykerShop\Yves\PriceWidget\Widget\PriceModeSwitcherWidget;
100
use SprykerShop\Yves\ProductAlternativeWidget\Widget\ProductAlternativeListWidget;
101
use SprykerShop\Yves\ProductAlternativeWidget\Widget\ShoppingListProductAlternativeWidget;
102
use SprykerShop\Yves\ProductAlternativeWidget\Widget\WishlistProductAlternativeWidget;
103
use SprykerShop\Yves\ProductBarcodeWidget\Widget\ProductBarcodeWidget;
104
use SprykerShop\Yves\ProductBundleWidget\Widget\ProductBundleCartItemsListWidget;
105
use SprykerShop\Yves\ProductBundleWidget\Widget\ProductBundleItemCounterWidget;
106
use SprykerShop\Yves\ProductBundleWidget\Widget\ProductBundleItemsMultiCartItemsListWidget;
107
use SprykerShop\Yves\ProductBundleWidget\Widget\ProductBundleMultiCartItemsListWidget;
108
use SprykerShop\Yves\ProductBundleWidget\Widget\ProductBundleProductDetailPageItemsListWidget;
109
use SprykerShop\Yves\ProductCategoryWidget\Widget\ProductBreadcrumbsWithCategoriesWidget;
110
use SprykerShop\Yves\ProductCategoryWidget\Widget\ProductSchemaOrgCategoryWidget;
111
use SprykerShop\Yves\ProductConfigurationCartWidget\Widget\ProductConfigurationCartItemDisplayWidget;
112
use SprykerShop\Yves\ProductConfigurationCartWidget\Widget\ProductConfigurationCartPageButtonWidget;
113
use SprykerShop\Yves\ProductConfigurationCartWidget\Widget\ProductConfigurationQuoteValidatorWidget;
114
use SprykerShop\Yves\ProductConfigurationShoppingListWidget\Widget\ProductConfigurationShoppingListItemDisplayWidget;
115
use SprykerShop\Yves\ProductConfigurationShoppingListWidget\Widget\ProductConfigurationShoppingListPageButtonWidget;
116
use SprykerShop\Yves\ProductConfigurationWidget\Widget\ProductConfigurationProductDetailPageButtonWidget;
117
use SprykerShop\Yves\ProductConfigurationWidget\Widget\ProductConfigurationProductViewDisplayWidget;
118
use SprykerShop\Yves\ProductDiscontinuedWidget\Widget\ProductDiscontinuedNoteWidget;
119
use SprykerShop\Yves\ProductDiscontinuedWidget\Widget\ProductDiscontinuedWidget;
120
use SprykerShop\Yves\ProductGroupWidget\Widget\ProductGroupColorWidget;
121
use SprykerShop\Yves\ProductGroupWidget\Widget\ProductGroupWidget;
122
use SprykerShop\Yves\ProductLabelWidget\Widget\ProductAbstractLabelWidget;
123
use SprykerShop\Yves\ProductLabelWidget\Widget\ProductConcreteLabelWidget;
124
use SprykerShop\Yves\ProductMeasurementUnitWidget\Widget\CartProductMeasurementUnitQuantitySelectorWidget;
125
use SprykerShop\Yves\ProductMeasurementUnitWidget\Widget\ManageProductMeasurementUnitWidget;
126
use SprykerShop\Yves\ProductOfferShoppingListWidget\Widget\ProductOfferShoppingListWidget;
127
use SprykerShop\Yves\ProductOfferWidget\Widget\ShoppingListProductOfferWidget;
128
use SprykerShop\Yves\ProductOptionWidget\Widget\ProductOptionConfiguratorWidget;
129
use SprykerShop\Yves\ProductPackagingUnitWidget\Widget\ProductPackagingUnitWidget;
130
use SprykerShop\Yves\ProductRelationWidget\Widget\SimilarProductsWidget;
131
use SprykerShop\Yves\ProductRelationWidget\Widget\UpSellingProductsWidget;
132
use SprykerShop\Yves\ProductReplacementForWidget\Widget\ProductReplacementForListWidget;
133
use SprykerShop\Yves\ProductReviewWidget\Widget\DisplayProductAbstractReviewWidget;
134
use SprykerShop\Yves\ProductReviewWidget\Widget\ProductDetailPageReviewWidget;
135
use SprykerShop\Yves\ProductReviewWidget\Widget\ProductRatingFilterWidget;
136
use SprykerShop\Yves\ProductReviewWidget\Widget\ProductReviewDisplayWidget;
137
use SprykerShop\Yves\ProductSearchWidget\Widget\ProductConcreteAddWidget;
138
use SprykerShop\Yves\ProductSearchWidget\Widget\ProductConcreteSearchGridWidget;
139
use SprykerShop\Yves\ProductSearchWidget\Widget\ProductConcreteSearchWidget;
140
use SprykerShop\Yves\ProductWidget\Widget\CatalogPageProductWidget;
141
use SprykerShop\Yves\ProductWidget\Widget\CmsProductGroupWidget;
142
use SprykerShop\Yves\ProductWidget\Widget\CmsProductWidget;
143
use SprykerShop\Yves\ProductWidget\Widget\PdpProductRelationWidget;
144
use SprykerShop\Yves\ProductWidget\Widget\PdpProductReplacementForListWidget;
145
use SprykerShop\Yves\ProductWidget\Widget\ProductAlternativeWidget;
146
use SprykerShop\Yves\QuoteApprovalWidget\Plugin\ShopApplication\QuoteApprovalStatusWidgetCacheKeyGeneratorStrategyPlugin;
147
use SprykerShop\Yves\QuoteApprovalWidget\Plugin\ShopApplication\QuoteApprovalWidgetCacheKeyGeneratorStrategyPlugin;
148
use SprykerShop\Yves\QuoteApprovalWidget\Plugin\ShopApplication\QuoteApproveRequestWidgetCacheKeyGeneratorStrategyPlugin;
149
use SprykerShop\Yves\QuoteApprovalWidget\Widget\QuoteApprovalStatusWidget;
150
use SprykerShop\Yves\QuoteApprovalWidget\Widget\QuoteApprovalWidget;
151
use SprykerShop\Yves\QuoteApprovalWidget\Widget\QuoteApproveRequestWidget;
152
use SprykerShop\Yves\QuoteRequestAgentWidget\Widget\QuoteRequestAgentCancelWidget;
153
use SprykerShop\Yves\QuoteRequestAgentWidget\Widget\QuoteRequestAgentOverviewWidget;
154
use SprykerShop\Yves\QuoteRequestWidget\Widget\QuoteRequestActionsWidget;
155
use SprykerShop\Yves\QuoteRequestWidget\Widget\QuoteRequestCancelWidget;
156
use SprykerShop\Yves\QuoteRequestWidget\Widget\QuoteRequestCartWidget;
157
use SprykerShop\Yves\QuoteRequestWidget\Widget\QuoteRequestCreateWidget;
158
use SprykerShop\Yves\QuoteRequestWidget\Widget\QuoteRequestMenuItemWidget;
159
use SprykerShop\Yves\SalesConfigurableBundleWidget\Widget\OrderItemsConfiguredBundleWidget;
160
use SprykerShop\Yves\SalesOrderAmendmentWidget\Widget\CancelOrderAmendmentWidget;
161
use SprykerShop\Yves\SalesOrderAmendmentWidget\Widget\OrderAmendmentItemLinkWidget;
162
use SprykerShop\Yves\SalesOrderAmendmentWidget\Widget\OrderAmendmentWidget;
163
use SprykerShop\Yves\SalesOrderAmendmentWidget\Widget\UpdateOrderCheckoutSubmitButtonTextWidget;
164
use SprykerShop\Yves\SalesOrderAmendmentWidget\Widget\UpdateOrderCheckoutSuccessTitleWidget;
165
use SprykerShop\Yves\SalesOrderThresholdWidget\Widget\SalesOrderThresholdWidget;
166
use SprykerShop\Yves\SalesProductBundleWidget\Widget\OrderItemsProductBundleWidget;
167
use SprykerShop\Yves\SalesProductConfigurationWidget\Widget\ProductConfigurationOrderItemDisplayWidget;
168
use SprykerShop\Yves\SharedCartWidget\Widget\CartDeleteSharingCompanyUsersListWidget;
169
use SprykerShop\Yves\SharedCartWidget\Widget\CartListPermissionGroupWidget;
170
use SprykerShop\Yves\SharedCartWidget\Widget\SharedCartDetailsWidget;
171
use SprykerShop\Yves\SharedCartWidget\Widget\SharedCartOperationsWidget;
172
use SprykerShop\Yves\SharedCartWidget\Widget\SharedCartPermissionGroupWidget;
173
use SprykerShop\Yves\SharedCartWidget\Widget\SharedCartShareWidget;
174
use SprykerShop\Yves\ShopApplication\Plugin\Application\ShopApplicationApplicationPlugin;
175
use SprykerShop\Yves\ShopApplication\ShopApplicationDependencyProvider as SprykerShopApplicationDependencyProvider;
176
use SprykerShop\Yves\ShoppingListNoteWidget\Widget\ShoppingListItemNoteWidget;
177
use SprykerShop\Yves\ShoppingListPage\Widget\ShoppingListDismissWidget;
178
use SprykerShop\Yves\ShoppingListWidget\Widget\AddItemsToShoppingListWidget;
179
use SprykerShop\Yves\ShoppingListWidget\Widget\AddToShoppingListWidget;
180
use SprykerShop\Yves\ShoppingListWidget\Widget\CreateShoppingListFromCartWidget;
181
use SprykerShop\Yves\ShoppingListWidget\Widget\ShoppingListMenuItemWidget;
182
use SprykerShop\Yves\ShoppingListWidget\Widget\ShoppingListNavigationMenuWidget;
183
use SprykerShop\Yves\ShoppingListWidget\Widget\ShoppingListSubtotalWidget;
184
use SprykerShop\Yves\StoreWidget\Plugin\ShopApplication\StoreApplicationPlugin;
185
use SprykerShop\Yves\StoreWidget\Widget\StoreSwitcherWidget;
186
use SprykerShop\Yves\TabsWidget\Widget\FullTextSearchTabsWidget;
187
use SprykerShop\Yves\TraceableEventWidget\Widget\TraceableEventWidget;
188
use SprykerShop\Yves\WebProfilerWidget\Plugin\Application\WebProfilerApplicationPlugin;
189
190
/**
191
 * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
192
 */
193
class ShopApplicationDependencyProvider extends SprykerShopApplicationDependencyProvider
194
{
195
    /**
196
     * @return array<string>
197
     */
198
    protected function getGlobalWidgets(): array
199
    {
200
        return [
201
            AddToMultiCartWidget::class,
202
            AddToShoppingListWidget::class,
203
            AgentControlBarWidget::class,
204
            BusinessOnBehalfStatusWidget::class,
205
            CartDeleteSharingCompanyUsersListWidget::class,
206
            CartDiscountPromotionProductListWidget::class,
207
            CartCodeFormWidget::class,
208
            CartItemNoteFormWidget::class,
209
            CartListPermissionGroupWidget::class,
210
            CartNoteFormWidget::class,
211
            CartOperationsWidget::class,
212
            CartProductMeasurementUnitQuantitySelectorWidget::class,
213
            CatalogPageProductWidget::class,
214
            CheckoutBreadcrumbWidget::class,
215
            CmsProductGroupWidget::class,
216
            CmsProductWidget::class,
217
            CompanyMenuItemWidget::class,
218
            CreateShoppingListFromCartWidget::class,
219
            CurrencyWidget::class,
220
            CurrencyIsoCodeWidget::class,
221
            CustomerNavigationWidget::class,
222
            DisplayProductAbstractReviewWidget::class,
223
            ProductGroupColorWidget::class,
224
            LanguageSwitcherWidget::class,
225
            ManageProductMeasurementUnitWidget::class,
226
            MiniCartWidget::class,
227
            MultiCartListWidget::class,
228
            MultiCartMenuItemWidget::class,
229
            QuoteRequestMenuItemWidget::class,
230
            NewsletterSubscriptionWidget::class,
231
            NewsletterSubscriptionSummaryWidget::class,
232
            PdpProductRelationWidget::class,
233
            PdpProductReplacementForListWidget::class,
234
            ProductReplacementForListWidget::class,
235
            PriceModeSwitcherWidget::class,
236
            ProductAbstractLabelWidget::class,
237
            ProductAlternativeListWidget::class,
238
            ProductAlternativeWidget::class,
239
            ProductBarcodeWidget::class,
240
            ProductBreadcrumbsWithCategoriesWidget::class,
241
            ProductBundleCartItemsListWidget::class,
242
            ProductBundleItemCounterWidget::class,
243
            ProductBundleItemsMultiCartItemsListWidget::class,
244
            ProductBundleMultiCartItemsListWidget::class,
245
            ProductConcreteLabelWidget::class,
246
            ProductDetailPageReviewWidget::class,
247
            ProductDiscontinuedNoteWidget::class,
248
            ProductDiscontinuedWidget::class,
249
            ProductGroupWidget::class,
250
            ProductOptionConfiguratorWidget::class,
251
            ProductPackagingUnitWidget::class,
252
            CurrentProductPriceVolumeWidget::class,
253
            ProductRatingFilterWidget::class,
254
            ProductReviewDisplayWidget::class,
255
            QuickOrderPageWidget::class,
256
            SalesOrderThresholdWidget::class,
257
            ShareCartByLinkWidget::class,
258
            SharedCartDetailsWidget::class,
259
            SharedCartOperationsWidget::class,
260
            SharedCartPermissionGroupWidget::class,
261
            SharedCartShareWidget::class,
262
            ShoppingListDismissWidget::class,
263
            ShoppingListItemNoteWidget::class,
264
            ShoppingListMenuItemWidget::class,
265
            ShoppingListNavigationMenuWidget::class,
266
            ShoppingListProductAlternativeWidget::class,
267
            ShoppingListSubtotalWidget::class,
268
            SimilarProductsWidget::class,
269
            UpSellingProductsWidget::class,
270
            WishlistProductAlternativeWidget::class,
271
            CompanyBusinessUnitAddressWidget::class,
272
            FullTextSearchTabsWidget::class,
273
            QuoteApprovalStatusWidget::class,
274
            QuoteApproveRequestWidget::class,
275
            ProceedToCheckoutButtonWidget::class,
276
            QuoteApprovalWidget::class,
277
            ProductConcreteSearchWidget::class,
278
            ProductConcreteSearchGridWidget::class,
279
            PriceProductWidget::class,
280
            AddItemsToShoppingListWidget::class,
281
            CategoryImageStorageWidget::class,
282
            AvailabilityNotificationSubscriptionWidget::class,
283
            ProductConcreteAddWidget::class,
284
            QuoteRequestCreateWidget::class,
285
            QuoteRequestCartWidget::class,
286
            QuoteRequestCancelWidget::class,
287
            QuoteRequestAgentOverviewWidget::class,
288
            QuoteRequestAgentCancelWidget::class,
289
            CommentThreadWidget::class,
290
            QuoteConfiguredBundleWidget::class,
291
            ConfiguredBundleNoteWidget::class,
292
            QuoteRequestActionsWidget::class,
293
            OrderCustomReferenceWidget::class,
294
            OrderItemsConfiguredBundleWidget::class,
295
            BarcodeWidget::class,
296
            AddToCartFormWidget::class,
297
            AddItemsFormWidget::class,
298
            CartChangeQuantityFormWidget::class,
299
            OrderItemsProductBundleWidget::class,
300
            RemoveFromCartFormWidget::class,
301
            ProductAbstractAddToCartButtonWidget::class,
302
            OrderCancelButtonWidget::class,
303
            MenuItemCompanyWidget::class,
304
            CustomerFullNameWidget::class,
305
            ProductSetIdsWidget::class,
306
            CartAddProductAsSeparateItemWidget::class,
307
            SoldByMerchantWidget::class,
308
            MerchantProductWidget::class,
309
            MerchantProductOfferWidget::class,
310
            MerchantOpeningHoursWidget::class,
311
            MerchantOrderReferenceForItemsWidget::class,
312
            MerchantSalesReturnCreateFormWidget::class,
313
            ShoppingListMerchantWidget::class,
314
            ShoppingListProductOfferWidget::class,
315
            StoreSwitcherWidget::class,
316
            ProductOfferShoppingListWidget::class,
317
            MerchantProductOffersSelectWidget::class,
318
            MerchantSearchWidget::class,
319
            ProductSchemaOrgCategoryWidget::class,
320
            AssetWidget::class,
321
            ProductBundleProductDetailPageItemsListWidget::class,
322
            ProductConfigurationCartPageButtonWidget::class,
323
            ProductConfigurationCartItemDisplayWidget::class,
324
            ProductConfigurationProductDetailPageButtonWidget::class,
325
            ProductConfigurationProductViewDisplayWidget::class,
326
            ProductConfigurationOrderItemDisplayWidget::class,
327
            ProductConfigurationQuoteValidatorWidget::class,
328
            ProductConfigurationShoppingListItemDisplayWidget::class,
329
            ProductConfigurationShoppingListPageButtonWidget::class,
330
            CartSummaryHideTaxAmountWidget::class,
331
            MerchantRelationRequestCreateLinkWidget::class,
332
            MerchantRelationRequestCreateButtonWidget::class,
333
            MerchantRelationRequestMenuItemWidget::class,
334
            MerchantRelationshipMenuItemWidget::class,
335
            MerchantRelationshipLinkListWidget::class,
336
            TraceableEventWidget::class,
337
            ExpressCheckoutPaymentWidget::class,
338
            CustomerEmailChangeRequestWidget::class,
339
            SetMultiFactorAuthMenuItemWidget::class,
340
            MultiFactorAuthHandlerWidget::class,
341
            SitemapWidget::class,
342
            CartReorderWidget::class,
343
            CartReorderItemCheckboxWidget::class,
344
            CartReorderItemsWidget::class,
345
            OrderAmendmentWidget::class,
346
            OrderAmendmentItemLinkWidget::class,
347
            CancelOrderAmendmentWidget::class,
348
            UpdateOrderCheckoutSubmitButtonTextWidget::class,
349
            UpdateOrderCheckoutSuccessTitleWidget::class,
350
        ];
351
    }
352
353
    /**
354
     * @return array<\SprykerShop\Yves\ShopApplicationExtension\Dependency\Plugin\WidgetCacheKeyGeneratorStrategyPluginInterface>
355
     */
356
    protected function getWidgetCacheKeyGeneratorStrategyPlugins(): array
357
    {
358
        return [
359
            new QuoteApprovalStatusWidgetCacheKeyGeneratorStrategyPlugin(),
360
            new QuoteApproveRequestWidgetCacheKeyGeneratorStrategyPlugin(),
361
            new QuoteApprovalWidgetCacheKeyGeneratorStrategyPlugin(),
362
            new CartDiscountPromotionProductListWidgetCacheKeyGeneratorStrategyPlugin(),
363
            new CartItemNoteFormWidgetCacheKeyGeneratorStrategyPlugin(),
364
            new MerchantSalesReturnCreateFormWidgetCacheKeyGeneratorStrategyPlugin(),
365
            new SoldByMerchantWidgetCacheKeyGeneratorStrategyPlugin(),
366
        ];
367
    }
368
369
    /**
370
     * @return array<\SprykerShop\Yves\ShopApplicationExtension\Dependency\Plugin\FilterControllerEventHandlerPluginInterface>
371
     */
372
    protected function getFilterControllerEventSubscriberPlugins(): array
373
    {
374
        return [
375
            new CompanyUserRestrictionHandlerPlugin(),
376
            new CheckBusinessOnBehalfCompanyUserHandlerPlugin(), #BusinessOnBehalfFeature
377
            new CompanyBusinessUnitControllerRestrictionPlugin(),
378
            new LogoutInvalidatedCustomerFilterControllerEventHandlerPlugin(),
379
        ];
380
    }
381
382
    /**
383
     * @return array<\Spryker\Shared\ApplicationExtension\Dependency\Plugin\ApplicationPluginInterface>
384
     */
385
    protected function getApplicationPlugins(): array
386
    {
387
        $applicationPlugins = [
388
            new YvesHttpApplicationPlugin(),
389
            new TwigApplicationPlugin(),
390
            new EventDispatcherApplicationPlugin(),
391
            new ShopApplicationApplicationPlugin(),
392
            new StoreApplicationPlugin(),
393
            new LocaleApplicationPlugin(),
394
            new TranslatorApplicationPlugin(),
395
            new RouterApplicationPlugin(),
396
            new SessionApplicationPlugin(),
397
            new ErrorHandlerApplicationPlugin(),
398
            new FlashMessengerApplicationPlugin(),
399
            new FormApplicationPlugin(),
400
            new ValidatorApplicationPlugin(),
401
            new YvesSecurityApplicationPlugin(),
402
            new CustomerConfirmationUserCheckerApplicationPlugin(),
403
        ];
404
405
        if (class_exists(WebProfilerApplicationPlugin::class)) {
406
            $applicationPlugins[] = new WebProfilerApplicationPlugin();
407
        }
408
409
        return $applicationPlugins;
410
    }
411
}
412