diff --git a/app/code/Magento/AdminNotification/view/adminhtml/layout/default.xml b/app/code/Magento/AdminNotification/view/adminhtml/layout/default.xml index a7183277e514bfb390d08cf0241e9e3f3c581661..e3d32f17b6356bc974627b0daaba5dca5c467eea 100644 --- a/app/code/Magento/AdminNotification/view/adminhtml/layout/default.xml +++ b/app/code/Magento/AdminNotification/view/adminhtml/layout/default.xml @@ -8,9 +8,20 @@ <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceContainer name="notifications"> - <block class="Magento\AdminNotification\Block\System\Messages" name="system_messages" as="system_messages" before="-" template="Magento_AdminNotification::system/messages.phtml"/> - <block class="Magento\AdminNotification\Block\System\Messages\UnreadMessagePopup" name="unread_system_messages" as="unread_system_messages" after="system_messages" template="Magento_AdminNotification::system/messages/popup.phtml"/> - <block class="Magento\AdminNotification\Block\Window" name="notification_window" as="notification_window" acl="Magento_AdminNotification::show_toolbar" template="notification/window.phtml"/> + <block class="Magento\AdminNotification\Block\System\Messages" + name="system_messages" + as="system_messages" + before="-" + template="Magento_AdminNotification::system/messages.phtml"/> + <block class="Magento\AdminNotification\Block\System\Messages\UnreadMessagePopup" + name="unread_system_messages" + as="unread_system_messages" + template="Magento_AdminNotification::system/messages/popup.phtml"/> + <block class="Magento\AdminNotification\Block\Window" + name="notification_window" + as="notification_window" + acl="Magento_AdminNotification::show_toolbar" + template="notification/window.phtml"/> </referenceContainer> <referenceContainer name="header"> <block class="Magento\AdminNotification\Block\ToolbarEntry" name="notification.messages" before="user" template="toolbar_entry.phtml"/> diff --git a/app/code/Magento/Braintree/view/adminhtml/layout/sales_order_create_index.xml b/app/code/Magento/Braintree/view/adminhtml/layout/sales_order_create_index.xml index 76f6b5a4d616cc4da49008649411fd8c2afe6689..5c519899208db8fd966552bab21ec893b7b6477f 100644 --- a/app/code/Magento/Braintree/view/adminhtml/layout/sales_order_create_index.xml +++ b/app/code/Magento/Braintree/view/adminhtml/layout/sales_order_create_index.xml @@ -19,12 +19,12 @@ <argument name="template" xsi:type="string">Magento_Vault::form/vault.phtml</argument> </action> </referenceBlock> - <referenceBlock name="content"> + <referenceBlock name="data"> <block name="braintree_payment_script" as="braintree_payment_script" - after="billing_method" template="Magento_Braintree::payment/script.phtml" - class="Magento\Braintree\Block\Payment"/> + class="Magento\Braintree\Block\Payment" + after="billing_method"/> </referenceBlock> </body> </page> diff --git a/app/code/Magento/Bundle/view/frontend/layout/catalog_product_view_type_bundle.xml b/app/code/Magento/Bundle/view/frontend/layout/catalog_product_view_type_bundle.xml index ab0d6c303b2e7a4b273c28c1f01d822fa8416e98..5ab962f0b91b55dd6f617b97fa0f92e73cde766e 100644 --- a/app/code/Magento/Bundle/view/frontend/layout/catalog_product_view_type_bundle.xml +++ b/app/code/Magento/Bundle/view/frontend/layout/catalog_product_view_type_bundle.xml @@ -36,7 +36,7 @@ </block> </referenceBlock> <referenceBlock name="product.info.form.options"> - <container name="bundle.product.options.wrapper" htmlTag="div" htmlClass="bundle-options-wrapper" after="product.info.form.options" /> + <container name="bundle.product.options.wrapper" htmlTag="div" htmlClass="bundle-options-wrapper"/> </referenceBlock> <move element="product.info.options.wrapper" destination="bundle.product.options.wrapper" before="-" /> <move element="product.info.options.wrapper.bottom" destination="bundle.product.options.wrapper" after="product.info.options.wrapper" /> diff --git a/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_set_edit.xml b/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_set_edit.xml index 1c7ae6de66ed062c751ddfa23e062c4b24d9a453..d61a2c344d666277fa2312ffea0c3f10c30d576c 100644 --- a/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_set_edit.xml +++ b/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_set_edit.xml @@ -9,7 +9,9 @@ <body> <referenceContainer name="content"> <container name="adminhtml.catalog.product.set.edit.wrapper" htmlTag="div" htmlClass="admin__scope-old"><!-- @todo ui: remove arguments within .admin__scope-old --> - <block class="Magento\Catalog\Block\Adminhtml\Product\Attribute\Set\Main" name="adminhtml.catalog.product.set.edit" template="catalog/product/attribute/set/main.phtml"/> + <block class="Magento\Catalog\Block\Adminhtml\Product\Attribute\Set\Main" + name="adminhtml.catalog.product.set.edit" + template="catalog/product/attribute/set/main.phtml"/> </container> </referenceContainer> </body> diff --git a/app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xml b/app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xml index f7f1ee4ae54b7d81c8b8c9b13203481203b732d2..991d9a36d18e04c7e8b17744dd3b2d32981fdc18 100644 --- a/app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xml +++ b/app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xml @@ -30,7 +30,7 @@ </referenceBlock> <referenceContainer name="content"> <container name="product.info.main" htmlTag="div" htmlClass="product-info-main" before="-"> - <container name="product.info.price" label="Product info auxiliary container" htmlTag="div" htmlClass="product-info-price" after="product.info.review"> + <container name="product.info.price" label="Product info auxiliary container" htmlTag="div" htmlClass="product-info-price"> <container name="product.info.stock.sku" label="Product auxiliary info" htmlTag="div" htmlClass="product-info-stock-sku"> <container name="product.info.type" before="-"/> <block class="Magento\Catalog\Block\Product\View\Description" name="product.info.sku" template="product/view/attribute.phtml" after="product.info.type"> @@ -44,7 +44,7 @@ </block> </container> <block class="Magento\Catalog\Block\Product\View" name="product.info.review" template="product/view/review.phtml" after="product.info.stock.sku" /> - <block class="Magento\Catalog\Pricing\Render" name="product.price.final" after="product.info.sku"> + <block class="Magento\Catalog\Pricing\Render" name="product.price.final"> <arguments> <argument name="price_render" xsi:type="string">product.price.render.default</argument> <argument name="price_type_code" xsi:type="string">final_price</argument> @@ -81,7 +81,7 @@ </block> </block> <container name="product.info.extrahint" as="extrahint" label="Product View Extra Hint"> - <container name="product.info.social" label="Product social links container" htmlTag="div" htmlClass="product-social-links" after="product.info.overview"> + <container name="product.info.social" label="Product social links container" htmlTag="div" htmlClass="product-social-links"> <block class="Magento\Catalog\Block\Product\View" name="product.info.addto" as="addto" template="product/view/addto.phtml"> <block class="Magento\Catalog\Block\Product\View\AddTo\Compare" name="view.addto.compare" after="view.addto.wishlist" template="Magento_Catalog::product/view/addto/compare.phtml" /> diff --git a/app/code/Magento/CatalogRule/view/adminhtml/layout/catalog_rule_promo_catalog_edit.xml b/app/code/Magento/CatalogRule/view/adminhtml/layout/catalog_rule_promo_catalog_edit.xml index 37a39835fe9f6d1fefe54b2e629ebb8d1cc871da..ef8a6e758bac1c470dd9d80bca27e302db828ba7 100644 --- a/app/code/Magento/CatalogRule/view/adminhtml/layout/catalog_rule_promo_catalog_edit.xml +++ b/app/code/Magento/CatalogRule/view/adminhtml/layout/catalog_rule_promo_catalog_edit.xml @@ -5,21 +5,21 @@ * See COPYING.txt for license details. */ --> -<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="admin-2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> +<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="admin-1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceContainer name="content"> <referenceBlock name="catalog_rule_form"> <block class="Magento\CatalogRule\Block\Adminhtml\Promo\Catalog\Edit\Tab\Conditions" name="promo_catalog_edit_tab_conditions"> <arguments> - <argument name="config" xsi:type="array"> - <item name="label" xsi:type="string" translate="true">Conditions</item> - <item name="collapsible" xsi:type="boolean">true</item> - <item name="opened" xsi:type="boolean">false</item> - <item name="sortOrder" xsi:type="number">20</item> - <item name="canShow" xsi:type="boolean">true</item> - <item name="componentType" xsi:type="string">fieldset</item> - </argument> - </arguments> + <argument name="config" xsi:type="array"> + <item name="label" xsi:type="string" translate="true">Conditions</item> + <item name="collapsible" xsi:type="boolean">true</item> + <item name="opened" xsi:type="boolean">false</item> + <item name="sortOrder" xsi:type="number">20</item> + <item name="canShow" xsi:type="boolean">true</item> + <item name="componentType" xsi:type="string">fieldset</item> + </argument> + </arguments> </block> </referenceBlock> <uiComponent name="catalog_rule_form"/> diff --git a/app/code/Magento/ConfigurableProduct/view/adminhtml/layout/catalog_product_set_edit.xml b/app/code/Magento/ConfigurableProduct/view/adminhtml/layout/catalog_product_set_edit.xml index 9a56d1f172cd4ee4c354bdbb91896f7d82f0f336..a72f712e77f3f6fa3f4aa4855c91ef33268e65fe 100644 --- a/app/code/Magento/ConfigurableProduct/view/adminhtml/layout/catalog_product_set_edit.xml +++ b/app/code/Magento/ConfigurableProduct/view/adminhtml/layout/catalog_product_set_edit.xml @@ -8,7 +8,10 @@ <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceContainer name="content"> - <block class="Magento\Backend\Block\Template" name="adminhtml.catalog.product.set.edit.configurable" template="Magento_ConfigurableProduct::catalog/product/attribute/set/js.phtml" after="adminhtml.catalog.product.set.edit"/> + <block class="Magento\Backend\Block\Template" + name="adminhtml.catalog.product.set.edit.configurable" + template="Magento_ConfigurableProduct::catalog/product/attribute/set/js.phtml" + after="adminhtml.catalog.product.set.edit.wrapper"/> </referenceContainer> </body> </page> diff --git a/app/code/Magento/Cookie/view/frontend/layout/default.xml b/app/code/Magento/Cookie/view/frontend/layout/default.xml index d515c6a42a5e88fa1968658a407cbd0e7e0cb8fe..3e8bcafd3dba43b16d0721b8ba11c4d61b0656ea 100644 --- a/app/code/Magento/Cookie/view/frontend/layout/default.xml +++ b/app/code/Magento/Cookie/view/frontend/layout/default.xml @@ -8,7 +8,7 @@ <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceContainer name="after.body.start"> - <block class="Magento\Cookie\Block\Html\Notices" name="cookie_notices" template="html/notices.phtml" after="global_notices" /> + <block class="Magento\Cookie\Block\Html\Notices" name="cookie_notices" template="html/notices.phtml"/> </referenceContainer> </body> </page> diff --git a/app/code/Magento/Customer/view/frontend/layout/customer_account_index.xml b/app/code/Magento/Customer/view/frontend/layout/customer_account_index.xml index 5d1da28d4c189ff7deb870521137af6782280b24..c3a255192eb9b353fac275da89cc7afbbf25ce6e 100644 --- a/app/code/Magento/Customer/view/frontend/layout/customer_account_index.xml +++ b/app/code/Magento/Customer/view/frontend/layout/customer_account_index.xml @@ -14,7 +14,6 @@ </action> </referenceBlock> <referenceContainer name="content"> - <block class="Magento\Framework\View\Element\Template" name="customer_account_dashboard_top" as="top"/> <block class="Magento\Customer\Block\Account\Dashboard\Info" name="customer_account_dashboard_info" as="info" template="account/dashboard/info.phtml" cacheable="false"/> <block class="Magento\Customer\Block\Account\Dashboard\Address" name="customer_account_dashboard_address" as="address" template="account/dashboard/address.phtml" cacheable="false"/> </referenceContainer> diff --git a/app/code/Magento/Customer/view/frontend/web/js/password-strength-indicator.js b/app/code/Magento/Customer/view/frontend/web/js/password-strength-indicator.js index 138ac06504155b3badcf6c8b032790e68fbb46f5..298af46103ec0eb80e18a01e7ec47cd418dd525c 100644 --- a/app/code/Magento/Customer/view/frontend/web/js/password-strength-indicator.js +++ b/app/code/Magento/Customer/view/frontend/web/js/password-strength-indicator.js @@ -17,7 +17,6 @@ define([ $.widget('mage.passwordStrengthIndicator', { options: { cache: {}, - defaultClassName: 'password-strength-meter-', passwordSelector: '[type=password]', passwordStrengthMeterSelector: '[data-role=password-strength-meter]', passwordStrengthMeterLabelSelector: '[data-role=password-strength-meter-label]' @@ -54,14 +53,15 @@ define([ var password = this._getPassword(), isEmpty = password.length === 0, zxcvbnScore = zxcvbn(password).score, - isValid = $.validator.validateSingleElement(this.options.cache.input), - displayScore = zxcvbnScore || 1; + displayScore, + isValid; // Display score is based on combination of whether password is empty, valid, and zxcvbn strength if (isEmpty) { displayScore = 0; - } else if (!isValid) { - displayScore = 1; + } else { + isValid = $.validator.validateSingleElement(this.options.cache.input); + displayScore = isValid ? zxcvbnScore : 1; } // Update label @@ -75,27 +75,32 @@ define([ */ _displayStrength: function (displayScore) { var strengthLabel = '', - className = this._getClassName(displayScore); + className = 'password-'; switch (displayScore) { case 0: strengthLabel = $t('No Password'); + className += 'none'; break; case 1: strengthLabel = $t('Weak'); + className += 'weak'; break; case 2: strengthLabel = $t('Medium'); + className += 'medium'; break; case 3: strengthLabel = $t('Strong'); + className += 'strong'; break; case 4: strengthLabel = $t('Very Strong'); + className += 'very-strong'; break; } @@ -112,16 +117,6 @@ define([ */ _getPassword: function () { return this.options.cache.input.val(); - }, - - /** - * Get class name for score - * @param {int} displayScore - * @returns {String} - * @private - */ - _getClassName: function (displayScore) { - return this.options.defaultClassName + displayScore; } }); diff --git a/app/code/Magento/GiftMessage/view/frontend/templates/inline.phtml b/app/code/Magento/GiftMessage/view/frontend/templates/inline.phtml index c8be1ad14bfd1323d2a569ec30b0b07dc4704a06..250410fc3b5264d9dc077e92c7c5c1479c0d2693 100644 --- a/app/code/Magento/GiftMessage/view/frontend/templates/inline.phtml +++ b/app/code/Magento/GiftMessage/view/frontend/templates/inline.phtml @@ -28,7 +28,10 @@ <dd id="allow-gift-options-for-order-container" class="order-options"> <div class="options-order-container" id="options-order-container-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>"></div> - <a href="#" class="action activate message" data-mage-init='{"toggleAdvanced": {"selectorsToggleClass":"hidden", "toggleContainers":"#allow-gift-messages-for-order-container"}}'><?php /* @escapeNotVerified */ echo __('Gift Message') ?></a> + <button class="action action-gift" + data-mage-init='{"toggleAdvanced": {"selectorsToggleClass":"hidden", "toggleContainers":"#allow-gift-messages-for-order-container"}}'> + <span><?php /* @escapeNotVerified */ echo __('Gift Message') ?></span> + </button> <div id="allow-gift-messages-for-order-container" class="gift-messages-order hidden"> <fieldset class="fieldset"> <p><?php /* @escapeNotVerified */ echo __('Leave this box blank if you don\'t want to leave a gift message for the entire order.') ?></p> @@ -52,13 +55,12 @@ </div> </fieldset> <script> -require(['jquery'], function(jQuery){ - - jQuery('#add-gift-options-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>') - .add('#add-gift-options-for-order-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>').removeClass('hidden'); - -}); -</script> + require(['jquery'], function(jQuery){ + jQuery('#add-gift-options-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>') + .add('#add-gift-options-for-order-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>') + .removeClass('hidden'); + }); + </script> </div> </dd> <?php endif ?> @@ -87,7 +89,10 @@ require(['jquery'], function(jQuery){ <div class="options"> <div class="options-items-container" id="options-items-container-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>-<?php /* @escapeNotVerified */ echo $_item->getId() ?>"></div> <?php if ($block->isItemMessagesAvailable($_item)): ?> - <a href="#" class="action activate message" data-mage-init='{"toggleAdvanced": {"selectorsToggleClass":"hidden", "toggleContainers":"#gift-messages-for-item-container-<?php /* @escapeNotVerified */ echo $_item->getId() ?>"}}'><?php /* @escapeNotVerified */ echo __('Gift Message') ?></a> + <button class="action action-gift" + data-mage-init='{"toggleAdvanced": {"selectorsToggleClass":"hidden", "toggleContainers":"#gift-messages-for-item-container-<?php /* @escapeNotVerified */ echo $_item->getId() ?>"}}'> + <span><?php /* @escapeNotVerified */ echo __('Gift Message') ?></span> + </button> <div id="gift-messages-for-item-container-<?php /* @escapeNotVerified */ echo $_item->getId() ?>" class="block message hidden"> <fieldset class="fieldset"> <p><?php /* @escapeNotVerified */ echo __('Leave a box blank if you don\'t want to add a gift message for that item.') ?></p> @@ -118,24 +123,23 @@ require(['jquery'], function(jQuery){ </ol> </dd> <script> -require(['jquery'], function(jQuery){ - - jQuery('#add-gift-options-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>') - .add('#add-gift-options-for-items-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>').removeClass('hidden'); - -}); -</script> + require(['jquery'], function(jQuery){ + jQuery('#add-gift-options-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>') + .add('#add-gift-options-for-items-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>') + .removeClass('hidden'); + }); + </script> <?php endif; ?> <dt class="extra-options-container" id="extra-options-container-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>"></dt> </dl> </fieldset> -<script type="text/x-magento-init"> -{ - "#allow_gift_options, #allow_gift_options_for_order, #allow_gift_options_for_items": { - "giftOptions": {} + <script type="text/x-magento-init"> + { + "#allow_gift_options, #allow_gift_options_for_order, #allow_gift_options_for_items": { + "giftOptions": {} + } } -} -</script> + </script> <?php break; ?> <?php case 'multishipping_address': ?> @@ -159,7 +163,10 @@ require(['jquery'], function(jQuery){ <div class="options-order-container" id="options-order-container-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>"></div> <?php if ($block->isMessagesAvailable()): ?> <?php $_giftMessage = true; ?> - <a href="#" class="action activate message" data-mage-init='{"toggleAdvanced": {"selectorsToggleClass":"hidden", "toggleContainers":"#gift-messages-for-order-container-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>"}}'><?php /* @escapeNotVerified */ echo __('Gift Message') ?></a> + <button class="action action-gift" + data-mage-init='{"toggleAdvanced": {"selectorsToggleClass":"hidden", "toggleContainers":"#gift-messages-for-order-container-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>"}}'> + <span><?php /* @escapeNotVerified */ echo __('Gift Message') ?></span> + </button> <div id="gift-messages-for-order-container-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>" class="gift-messages-order hidden"> <fieldset class="fieldset"> <p><?php /* @escapeNotVerified */ echo __('You can leave this box blank if you don\'t want to add a gift message for this address.') ?></p> @@ -212,7 +219,10 @@ require(['jquery'], function(jQuery){ <?php if ($block->isItemMessagesAvailable($_item)): ?> <?php $_giftMessage = true; ?> - <a href="#" class="action activate message" data-mage-init='{"toggleAdvanced": {"selectorsToggleClass":"hidden", "toggleContainers":"#gift-messages-for-item-container-<?php /* @escapeNotVerified */ echo $_item->getId() ?>"}}'><?php /* @escapeNotVerified */ echo __('Gift Message') ?></a> + <button class="action action-gift" + data-mage-init='{"toggleAdvanced": {"selectorsToggleClass":"hidden", "toggleContainers":"#gift-messages-for-item-container-<?php /* @escapeNotVerified */ echo $_item->getId() ?>"}}'> + <span><?php /* @escapeNotVerified */ echo __('Gift Message') ?></span> + </button> <div id="gift-messages-for-item-container-<?php /* @escapeNotVerified */ echo $_item->getId() ?>" class="block message hidden"> <fieldset class="fieldset"> <p><?php /* @escapeNotVerified */ echo __('You can leave this box blank if you don\'t want to add a gift message for the item.') ?></p> @@ -247,13 +257,13 @@ require(['jquery'], function(jQuery){ <dt class="extra-options-container" id="extra-options-container-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>"></dt> </dl> </fieldset> -<script type="text/x-magento-init"> - { - "#allow_gift_options_<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>, #allow_gift_options_for_order_<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>, #allow_gift_options_for_items_<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>": { - "giftOptions": {} + <script type="text/x-magento-init"> + { + "#allow_gift_options_<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>, #allow_gift_options_for_order_<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>, #allow_gift_options_for_items_<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>": { + "giftOptions": {} + } } - } -</script> + </script> <?php break; ?> <?php endswitch ?> <?php if ($_giftMessage): ?> diff --git a/app/code/Magento/GiftMessage/view/frontend/web/template/gift-message-item-level.html b/app/code/Magento/GiftMessage/view/frontend/web/template/gift-message-item-level.html index 559875c90f75a92132ed56a311116754e4e42014..a310dcddf6a19a3226bf4f66a2981d1146fd6736 100644 --- a/app/code/Magento/GiftMessage/view/frontend/web/template/gift-message-item-level.html +++ b/app/code/Magento/GiftMessage/view/frontend/web/template/gift-message-item-level.html @@ -5,14 +5,13 @@ */ --> <!-- ko if: isActive() || hasActiveOptions() --> -<a href="#" - class="action action-gift" - data-bind=" - click: $data.toggleFormBlockVisibility.bind($data), - css: {_active: formBlockVisibility() || resultBlockVisibility()} - "> +<button class="action action-gift" + data-bind=" + click: $data.toggleFormBlockVisibility.bind($data), + css: {_active: formBlockVisibility() || resultBlockVisibility()} + "> <span data-bind="i18n: 'Gift options'"></span> -</a> +</button> <div class="gift-content" data-bind="css: {_active: formBlockVisibility() || resultBlockVisibility()}"> <!-- add class "active" to display the content --> <!-- ko ifnot: resultBlockVisibility() --> <div class="gift-options"> diff --git a/app/code/Magento/Integration/Block/Adminhtml/Widget/Grid/Column/Renderer/Name.php b/app/code/Magento/Integration/Block/Adminhtml/Widget/Grid/Column/Renderer/Name.php index b881ff04db1a217102dd3802f884f1dcbe60f6ae..c1d849f8b718785d00abc4daa7b09dac87da14df 100644 --- a/app/code/Magento/Integration/Block/Adminhtml/Widget/Grid/Column/Renderer/Name.php +++ b/app/code/Magento/Integration/Block/Adminhtml/Widget/Grid/Column/Renderer/Name.php @@ -23,7 +23,7 @@ class Name extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\Text /** @var \Magento\Integration\Model\Integration $row */ $text = parent::render($row); if (!$this->isUrlSecure($row->getEndpoint()) || !$this->isUrlSecure($row->getIdentityLinkUrl())) { - $text .= '<span class="icon-error"><span>Integration not secure</span></span>'; + $text .= '<span class="security-notice"><span>' . __("Integration not secure") . '</span></span>'; } return $text; } diff --git a/app/code/Magento/Integration/Test/Unit/Block/Adminhtml/Widget/Grid/Column/Renderer/NameTest.php b/app/code/Magento/Integration/Test/Unit/Block/Adminhtml/Widget/Grid/Column/Renderer/NameTest.php index 3fb03dd3f65dc05b5548120ab5cb15512bf34b5d..f1bca8620570a29cf31f55daeee68761b4f9bada 100644 --- a/app/code/Magento/Integration/Test/Unit/Block/Adminhtml/Widget/Grid/Column/Renderer/NameTest.php +++ b/app/code/Magento/Integration/Test/Unit/Block/Adminhtml/Widget/Grid/Column/Renderer/NameTest.php @@ -101,7 +101,7 @@ class NameTest extends \PHPUnit_Framework_TestCase [ 'http://myurl', 'Custom Integration', - 'Custom Integration<span class="icon-error"><span>Integration not secure</span></span>' + 'Custom Integration<span class="security-notice"><span>Integration not secure</span></span>' ] ]; } diff --git a/app/code/Magento/Integration/view/adminhtml/layout/adminhtml_integration_index.xml b/app/code/Magento/Integration/view/adminhtml/layout/adminhtml_integration_index.xml index 9825277958f6703c4d3e0d52610540047d00ec1b..8a4e55533d67820aa7b2bae9e6769b3d8df2304d 100644 --- a/app/code/Magento/Integration/view/adminhtml/layout/adminhtml_integration_index.xml +++ b/app/code/Magento/Integration/view/adminhtml/layout/adminhtml_integration_index.xml @@ -8,9 +8,6 @@ */ --> <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> - <head> - <css src="Magento_Integration::integration.css"/> - </head> <update handle="adminhtml_integration_grid_block"/> <body> <referenceBlock name="content"> diff --git a/app/code/Magento/Integration/view/adminhtml/layout/adminhtml_integration_new.xml b/app/code/Magento/Integration/view/adminhtml/layout/adminhtml_integration_new.xml index 74deb27aaba968c40e345de5b71737c2593c2f32..492731b447ea2279d45f10ad2c1091aebccdbe3c 100644 --- a/app/code/Magento/Integration/view/adminhtml/layout/adminhtml_integration_new.xml +++ b/app/code/Magento/Integration/view/adminhtml/layout/adminhtml_integration_new.xml @@ -6,9 +6,6 @@ */ --> <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="admin-2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> - <head> - <css src="Magento_Integration::integration.css"/> - </head> <update handle="adminhtml_integration_edit"/> <body> <referenceBlock name="content"> diff --git a/app/code/Magento/Integration/view/adminhtml/templates/integration/activate/permissions.phtml b/app/code/Magento/Integration/view/adminhtml/templates/integration/activate/permissions.phtml index 225eac3fc7d6338757f1bcdd024590f965bb945c..bcad96435a5cec25a8a02dfcdf00b227af92ff50 100644 --- a/app/code/Magento/Integration/view/adminhtml/templates/integration/activate/permissions.phtml +++ b/app/code/Magento/Integration/view/adminhtml/templates/integration/activate/permissions.phtml @@ -14,4 +14,4 @@ <div id="integration-activate-permissions-tabs"> <?php echo $block->getChildHtml('tabs'); ?> </div> -<div id="integrations-activate-permissions-content"></div> \ No newline at end of file +<div id="integrations-activate-permissions-content"></div> diff --git a/app/code/Magento/Integration/view/adminhtml/templates/integration/activate/permissions/tab/webapi.phtml b/app/code/Magento/Integration/view/adminhtml/templates/integration/activate/permissions/tab/webapi.phtml index a5131655334a89b678f9a250b4e2aa885905dfd8..7b853b53a815d9b3e41f8f5152c748cc30df5966 100644 --- a/app/code/Magento/Integration/view/adminhtml/templates/integration/activate/permissions/tab/webapi.phtml +++ b/app/code/Magento/Integration/view/adminhtml/templates/integration/activate/permissions/tab/webapi.phtml @@ -24,22 +24,20 @@ </fieldset> <?php if (!$block->isTreeEmpty()): ?> <script> -require(["jquery", "Magento_User/js/roles-tree"], function($){ + require(["jquery", "Magento_User/js/roles-tree"], function($){ + $.widget('mage.rolesTree', $.mage.rolesTree, { + _checkNode: function(event) {}, + _checkNodes: function() { + this._super(); + this.element.jstree('disable_hotkeys').jstree('hide_checkboxes') + .find('li.jstree-unchecked').hide().end().find('li.jstree-checked').attr('rel', 'disabled'); + } + }); - $.widget('mage.rolesTree', $.mage.rolesTree, { - _checkNode: function(event) {}, - _checkNodes: function() { - this._super(); - this.element.jstree('disable_hotkeys').jstree('hide_checkboxes') - .find('li.jstree-unchecked').hide().end().find('li.jstree-checked').attr('rel', 'disabled'); - } - }); - - $('[data-role="resource-tree"]').rolesTree({ - 'treeInitData': <?php /* @escapeNotVerified */ echo $block->getResourcesTreeJson() ?>, - 'treeInitSelectedData': <?php /* @escapeNotVerified */ echo $block->getSelectedResourcesJson() ?> - }); - -}); -</script> + $('[data-role="resource-tree"]').rolesTree({ + 'treeInitData': <?php /* @escapeNotVerified */ echo $block->getResourcesTreeJson() ?>, + 'treeInitSelectedData': <?php /* @escapeNotVerified */ echo $block->getSelectedResourcesJson() ?> + }); + }); + </script> <?php endif ?> diff --git a/app/code/Magento/Integration/view/adminhtml/web/integration.css b/app/code/Magento/Integration/view/adminhtml/web/integration.css deleted file mode 100644 index a9415ce2e5cdd3ac3d1c1926ca523977d935c40a..0000000000000000000000000000000000000000 --- a/app/code/Magento/Integration/view/adminhtml/web/integration.css +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Copyright © 2016 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -#integration-popup-container #resource-tree { - max-height: 170px; - overflow: auto; -} - -#integrationGrid_table .action { - border: none; - border-radius: 0; - background: none; - margin: 0; - padding: 0; - box-shadow: none; - text-shadow: none; - filter: none; -} -#integrationGrid_table .action:before { - font-family: 'MUI-Icons'; - font-style: normal; - speak: none; - font-weight: normal; - font-size: 18px; - -webkit-font-smoothing: antialiased; - color: #b7b3ad; -} -#integrationGrid_table .action:hover:before { - color: #7e7e7e; -} - -#integrationGrid_table .action.edit:before { - content: '\e05b'; -} - -#integrationGrid_table .action.info:before { - content: '\e07e'; /* TOFIX: Need to get the proper character code */ -} - -#integrationGrid_table .action.delete:before { - content: '\e07f'; -} - -#integrationGrid_table .action[disabled] { - color: #bbb3b4; - cursor: not-allowed; - opacity: 0.6; -} - -#integrationGrid_table .icon-error { - margin-left: 15px; - color: #c00815; - font-size: 11px; -} -#integrationGrid_table .icon-error:before { - font-family: 'MUI-Icons'; - content: "\e086"; - font-size: 13px; - line-height: 13px; - overflow: hidden; - speak: none; - font-weight: normal; - -webkit-font-smoothing: antialiased; - display: inline-block; - vertical-align: middle; - text-align: center; - margin: -1px 5px 0 0; -} - -.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { - float: none; -} - -.ui-dialog .ui-dialog-buttonpane { - text-align: right; -} - -.no-close .ui-dialog-titlebar-close { - display: none; -} - -#integration_token_base_fieldset input[readonly] { - cursor: copy; -} diff --git a/app/code/Magento/Paypal/view/frontend/layout/catalog_product_view.xml b/app/code/Magento/Paypal/view/frontend/layout/catalog_product_view.xml index 3b91748bf0ce7f221745f2d8247853af6173a846..de139d98d5118c549ac922199d3c10d454c193fd 100644 --- a/app/code/Magento/Paypal/view/frontend/layout/catalog_product_view.xml +++ b/app/code/Magento/Paypal/view/frontend/layout/catalog_product_view.xml @@ -16,7 +16,7 @@ </block> </referenceContainer> <referenceContainer name="product.info.addtocart"> - <block class="Magento\Paypal\Block\Bml\Banners" name="bml.right.logo" after="product.info.addtocart.paypal" template="bml.phtml"> + <block class="Magento\Paypal\Block\Bml\Banners" name="bml.right.logo" template="bml.phtml"> <arguments> <argument name="section" xsi:type="string">productpage</argument> <argument name="position" xsi:type="number">1</argument> diff --git a/app/code/Magento/Reports/Block/Adminhtml/Filter/Form.php b/app/code/Magento/Reports/Block/Adminhtml/Filter/Form.php index e71cc97de683b1cd788e40beae556eaa403a5eef..437f7f6cd2f67a924075aff22ac68ef8c827b022 100644 --- a/app/code/Magento/Reports/Block/Adminhtml/Filter/Form.php +++ b/app/code/Magento/Reports/Block/Adminhtml/Filter/Form.php @@ -160,6 +160,7 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic 'label' => __('From'), 'title' => __('From'), 'required' => true, + 'css_class' => 'admin__field-small', 'class' => 'admin__control-text' ] ); @@ -173,6 +174,7 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic 'label' => __('To'), 'title' => __('To'), 'required' => true, + 'css_class' => 'admin__field-small', 'class' => 'admin__control-text' ] ); diff --git a/app/code/Magento/Reports/view/adminhtml/templates/report/grid/container.phtml b/app/code/Magento/Reports/view/adminhtml/templates/report/grid/container.phtml index 9ae58816b17a36dd0179f8497bacb61860140016..f927a4cda56156a3e08a0a3a639f052d47d16487 100644 --- a/app/code/Magento/Reports/view/adminhtml/templates/report/grid/container.phtml +++ b/app/code/Magento/Reports/view/adminhtml/templates/report/grid/container.phtml @@ -4,7 +4,6 @@ * See COPYING.txt for license details. */ -// @codingStandardsIgnoreFile ?> @@ -24,11 +23,15 @@ require([ //<![CDATA[ jQuery('#filter_form').mage('validation', {errorClass: 'mage-error'}); function filterFormSubmit() { - var filters = $$('#filter_form input', '#filter_form select'); - var elements = []; - for(var i in filters){ - if(filters[i].value && filters[i].value.length && !filters[i].disabled) elements.push(filters[i]); + var filters = $$('#filter_form input', '#filter_form select'), + elements = []; + + for (var i in filters) { + if (filters[i].value && filters[i].value.length && !filters[i].disabled) { + elements.push(filters[i]); + } } + if (jQuery('#filter_form').valid()) { setLocation('<?php /* @escapeNotVerified */ echo $block->getFilterUrl(); ?>filter/'+Base64.encode(Form.serializeElements(elements))+'/'); } diff --git a/app/code/Magento/Sales/view/frontend/layout/customer_account_index.xml b/app/code/Magento/Sales/view/frontend/layout/customer_account_index.xml index bf62f4c5c3a4ed07fd649573c5108fdfaf9e8387..cd3b81593734ffbfe49c4669ef9366785a09bdeb 100644 --- a/app/code/Magento/Sales/view/frontend/layout/customer_account_index.xml +++ b/app/code/Magento/Sales/view/frontend/layout/customer_account_index.xml @@ -8,7 +8,7 @@ <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceContainer name="content"> - <block class="Magento\Sales\Block\Order\Recent" name="customer_account_dashboard_top" after="customer_account_dashboard_hello" template="order/recent.phtml"/> + <block class="Magento\Sales\Block\Order\Recent" name="customer_account_dashboard_top" template="order/recent.phtml"/> </referenceContainer> </body> </page> diff --git a/app/code/Magento/Theme/view/adminhtml/page_layout/admin-1column.xml b/app/code/Magento/Theme/view/adminhtml/page_layout/admin-1column.xml index 51684b30fac9777de069a3e5207ff1ab060cf47d..570f5322e9eb95881ba29f6e6abac446e5a5d56c 100644 --- a/app/code/Magento/Theme/view/adminhtml/page_layout/admin-1column.xml +++ b/app/code/Magento/Theme/view/adminhtml/page_layout/admin-1column.xml @@ -17,9 +17,9 @@ <container name="global.notices" as="global_notices" after="notification.window"/> </container> - <container name="header" after="global.notices" htmlTag="header" htmlClass="page-header"/> + <container name="header" htmlTag="header" htmlClass="page-header"/> <container name="page.menu" as="page.menu" after="header"/> - <container name="page.breadcrumbs" after="notifications" as="page.breadcrumbs"/> + <container name="page.breadcrumbs" as="page.breadcrumbs"/> <container name="page.formkey" as="page.formkey"/> diff --git a/app/code/Magento/Theme/view/adminhtml/page_layout/admin-2columns-left.xml b/app/code/Magento/Theme/view/adminhtml/page_layout/admin-2columns-left.xml index 62dc716817221eda59c8bc0bc1900639c5c91042..0c662a0d467da9cdd41b7e997dc3b9a7a8fde97f 100644 --- a/app/code/Magento/Theme/view/adminhtml/page_layout/admin-2columns-left.xml +++ b/app/code/Magento/Theme/view/adminhtml/page_layout/admin-2columns-left.xml @@ -17,9 +17,9 @@ <container name="global.notices" as="global_notices" after="notification.window"/> </container> - <container name="header" after="global.notices" htmlTag="header" htmlClass="page-header"/> + <container name="header" htmlTag="header" htmlClass="page-header"/> <container name="page.menu" as="page.menu" after="header"/> - <container name="page.breadcrumbs" after="notifications" as="page.breadcrumbs"/> + <container name="page.breadcrumbs" as="page.breadcrumbs"/> <container name="page.formkey" as="page.formkey"/> diff --git a/app/code/Magento/Theme/view/adminhtml/ui_component/design_config_form.xml b/app/code/Magento/Theme/view/adminhtml/ui_component/design_config_form.xml index 696449889d6b28dd0096fbd1dfc237e63ab6fd19..ace2babc100d35fca9c4aabce774c41ca5afb295 100644 --- a/app/code/Magento/Theme/view/adminhtml/ui_component/design_config_form.xml +++ b/app/code/Magento/Theme/view/adminhtml/ui_component/design_config_form.xml @@ -188,7 +188,7 @@ <field name="header_logo_width"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> - <item name="label" xsi:type="string" translate="true">Logo Image Width</item> + <item name="label" xsi:type="string" translate="true">Logo Attribute Width</item> <item name="dataType" xsi:type="string">number</item> <item name="formElement" xsi:type="string">input</item> <item name="dataScope" xsi:type="string">header_logo_width</item> @@ -201,7 +201,7 @@ <field name="header_logo_height"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> - <item name="label" xsi:type="string" translate="true">Logo Image Height</item> + <item name="label" xsi:type="string" translate="true">Logo Attribute Height</item> <item name="dataType" xsi:type="string">number</item> <item name="formElement" xsi:type="string">input</item> <item name="dataScope" xsi:type="string">header_logo_height</item> diff --git a/app/design/adminhtml/Magento/backend/Magento_Backend/layout/default.xml b/app/design/adminhtml/Magento/backend/Magento_Backend/layout/default.xml index 6c4156291d3219fdb96552feb9218181db4c32e7..d26590e617c163cd00d6bce47f56574172de8b67 100644 --- a/app/design/adminhtml/Magento/backend/Magento_Backend/layout/default.xml +++ b/app/design/adminhtml/Magento/backend/Magento_Backend/layout/default.xml @@ -29,7 +29,7 @@ <move element="page.title" before="-" destination="header.inner.left" /> <move element="user" before="-" destination="header.inner.right" /> <move element="notification.messages" after="user" destination="header.inner.right" /> - <move element="global.search" after="notification.messages" destination="header.inner.right" /> + <move element="global.search" destination="header.inner.right" /> </body> </page> diff --git a/app/design/adminhtml/Magento/backend/Magento_Integration/web/css/source/_module.less b/app/design/adminhtml/Magento/backend/Magento_Integration/web/css/source/_module.less new file mode 100644 index 0000000000000000000000000000000000000000..3527cb48759e89a388ac355480c132adb0e7dece --- /dev/null +++ b/app/design/adminhtml/Magento/backend/Magento_Integration/web/css/source/_module.less @@ -0,0 +1,79 @@ +// /** +// * Copyright © 2016 Magento. All rights reserved. +// * See COPYING.txt for license details. +// */ + +.adminhtml-integration-index { + .data-grid { + .action { + &:extend(.abs-action-reset all); + + &[disabled] { + color: @color-gray-light2; + cursor: not-allowed; + opacity: 0.6; + } + + &:hover { + &:before { + color: @color-gray-middle3; + } + } + + &:before { + &:extend(.abs-icon all); + } + + &.edit { + &:before { + content: @icon-edit__content; + } + } + + &.info { + &:before { + content: @icon-info__content; + } + } + + &.delete { + &:before { + content: @icon-delete__content; + } + } + } + } + + .security-notice { + color: @color-red11; + font-size: @font-size__tiny; + margin-left: 1.5rem; + vertical-align: middle; + + &:before { + &:extend(.abs-icon all); + content: @icon-warning__content; + margin-right: @indent__xs; + } + } + + input[readonly] { + cursor: copy; + } + + .ui-dialog { + .ui-dialog-buttonpane { + float: none; + + .ui-dialog-buttonset { + text-align: right; + } + } + } + + .no-close { + .ui-dialog-titlebar-close { + display: none; + } + } +} diff --git a/app/design/adminhtml/Magento/backend/web/css/styles-old.less b/app/design/adminhtml/Magento/backend/web/css/styles-old.less index 2bc734168353c70e68eeb235b77b3e57cf4d4aa2..90481b2f44545734536bdbb6dae324f2880644f0 100644 --- a/app/design/adminhtml/Magento/backend/web/css/styles-old.less +++ b/app/design/adminhtml/Magento/backend/web/css/styles-old.less @@ -756,10 +756,6 @@ display: none; } - label { - display: inline-block; - } - label > input[type="radio"], label > input[type="checkbox"] { margin: -3px 3px 0 0; diff --git a/app/design/frontend/Magento/blank/Magento_Checkout/web/css/source/module/_cart.less b/app/design/frontend/Magento/blank/Magento_Checkout/web/css/source/module/_cart.less index a7850c22dac19d2167fee48698f89c2532feb927..512ec326052272907de276af6299b53d26cc8265 100644 --- a/app/design/frontend/Magento/blank/Magento_Checkout/web/css/source/module/_cart.less +++ b/app/design/frontend/Magento/blank/Magento_Checkout/web/css/source/module/_cart.less @@ -276,6 +276,7 @@ text-align: center; white-space: nowrap; width: 33%; + &:before { content: attr(data-th) ':'; display: block; diff --git a/app/design/frontend/Magento/blank/Magento_Customer/web/css/source/_module.less b/app/design/frontend/Magento/blank/Magento_Customer/web/css/source/_module.less index 9672c4ce214dc42fc1db55018b5ec81e6e617517..4453309461d020b96bccb033a18c92f26fa11e33 100644 --- a/app/design/frontend/Magento/blank/Magento_Customer/web/css/source/_module.less +++ b/app/design/frontend/Magento/blank/Magento_Customer/web/css/source/_module.less @@ -41,7 +41,7 @@ .lib-font-size(18); } } - + .fieldset { .lib-form-hasrequired(bottom); &:after { @@ -49,35 +49,35 @@ } } } - + .block-addresses-list { .items.addresses { > .item { margin-bottom: @indent__base; - + &:last-child { margin-bottom: 0; } } } } - + .form-address-edit { #region_id { display: none; } - + .actions-toolbar .action.primary { &:extend(.abs-button-l all); } } - + .form-edit-account { .fieldset.password { display: none; } } - + .box-billing-address, .box-shipping-address, .box-information, @@ -96,43 +96,43 @@ h2 { margin-top: 0; } - + .toolbar { text-align: center; .limiter-options { width: auto; } } - + .limiter { >.label { &:extend(.abs-visually-hidden all); } } - + .block:not(.widget) { &:extend(.abs-account-blocks all); } } - + .sidebar-additional { margin-top: 40px; } - + .table-wrapper { &:last-child { margin-bottom: 0; } - + .action { margin-right: 15px; - + &:last-child { margin-right: 0; } } } - + .table-return-items { .qty { .input-text { @@ -141,7 +141,7 @@ } } } - + // Checkout address (create shipping address) .field.street { .field.additional { @@ -214,10 +214,10 @@ margin-bottom: 0; } } - + .title { margin-bottom: @indent__s; - + strong { .lib-heading(h4); .column.main & { @@ -272,42 +272,42 @@ z-index: -1; } - .password-strength-meter-0 & { + .password-none & { &:before { background-color: @_password-default; width: 100%; } } - .password-strength-meter-1 & { + .password-weak & { &:before { background-color: @_password-weak; width: 25%; } } - .password-strength-meter-2 & { + .password-medium & { &:before { background-color: @_password-medium; width: 50%; } } - .password-strength-meter-3 & { + .password-strong & { &:before { background-color: @_password-strong; width: 75%; } } - .password-strength-meter-4 & { + .password-very-strong & { &:before { background-color: @_password-very-strong; width: 100%; } } } - + .control.captcha-image { .lib-css(margin-top, @indent__s); diff --git a/app/design/frontend/Magento/blank/Magento_GiftMessage/web/css/source/_module.less b/app/design/frontend/Magento/blank/Magento_GiftMessage/web/css/source/_module.less index 450de45c9152ec7a14e0bb0a9bf9f73aa458795a..59ee7d7dcc472ec6576e939cdcc53a86474d1164 100644 --- a/app/design/frontend/Magento/blank/Magento_GiftMessage/web/css/source/_module.less +++ b/app/design/frontend/Magento/blank/Magento_GiftMessage/web/css/source/_module.less @@ -18,6 +18,9 @@ & when (@media-common = true) { .gift-message { .field { + &:extend(.abs-clearfix all); + margin-bottom: @indent__base; + .label { .lib-css(color, @gift-message-field-label__color); .lib-css(font-weight, @font-weight__regular); @@ -27,6 +30,7 @@ .gift-options { &:extend(.abs-add-clearfix all); + .actions-toolbar { .action-cancel { &:extend(.abs-action-button-as-link all); @@ -44,6 +48,7 @@ margin: 0 0 @indent__base; } } + .gift-summary { .actions-toolbar { > .secondary { @@ -56,39 +61,43 @@ } } - // - // In-table block - // --------------------------------------------- - - .cart.table-wrapper { - .gift-content { - box-sizing: border-box; - clear: left; - display: none; - float: left; - margin: @indent__base 0; - text-align: left; - width: 100%; - - &._active { - display: block; - } - } + .action-gift { + &:extend(.cart.table-wrapper .actions-toolbar > .action all); - .action-gift { - &:extend(.cart.table-wrapper .actions-toolbar > .action all); - .lib-button-icon( + .lib-button-icon( @icon-down, @_icon-font-size: 32px, @_icon-font-line-height: 16px, @_icon-font-position: after - ); + ); - &._active { - .lib-icon-font-symbol( + &.active, + &._active { + .lib-icon-font-symbol( @icon-up, @_icon-font-position: after - ); + ); + } + } + + // + // In-table block + // --------------------------------------------- + + .cart { + &.table-wrapper { + .gift-content { + box-sizing: border-box; + clear: left; + display: none; + float: left; + margin: @indent__s 0 @indent__base; + text-align: left; + width: 100%; + + &._active { + display: block; + } } } } @@ -99,6 +108,7 @@ .gift-item-block { margin: 0; + &._active { .title { .lib-icon-font-symbol( @@ -109,7 +119,9 @@ } .title { + .lib-css(font-weight, @font-weight__bold); border-radius: 3px; + .lib-button( @_button-margin: 20px 0 0, @_button-padding: 7px 15px, @@ -120,7 +132,6 @@ @_button-icon-font-line-height: 16px, @_button-icon-font-position: after ); - .lib-css(font-weight, @font-weight__bold); &:active { .lib-css(box-shadow, @button__shadow); @@ -165,41 +176,41 @@ clear: left; } } - } - .order-details-items .order-items { - .order-gift-message { - &:not(.expanded-content) { - &:extend(.abs-hidden); - } + .order-items { + .order-gift-message { + &:not(.expanded-content) { + &:extend(.abs-hidden); + } - .action.close { - &:extend(.abs-no-display all); + .action.close { + &:extend(.abs-no-display all); + } } - } - .action.show { - .lib-icon-font( - @_icon-font-content: @icon-down, - @_icon-font-size: 22px, - @_icon-font-text-hide: false, - @_icon-font-position: after, - @_icon-font-display: inline-block - ); - padding-right: @indent__base; - position: relative; + .action.show { + .lib-icon-font( + @_icon-font-content: @icon-down, + @_icon-font-size: 22px, + @_icon-font-text-hide: false, + @_icon-font-position: after, + @_icon-font-display: inline-block + ); + padding-right: @indent__base; + position: relative; - &:after { - position: absolute; - right: 0; - top: -4px; - } + &:after { + position: absolute; + right: 0; + top: -4px; + } - &.expanded { - .lib-icon-font-symbol( - @_icon-font-content: @icon-up, - @_icon-font-position: after - ); + &.expanded { + .lib-icon-font-symbol( + @_icon-font-content: @icon-up, + @_icon-font-position: after + ); + } } } } @@ -226,22 +237,26 @@ } .gift-item-block { - border-bottom: 0; .lib-css(border-top, @gift-item-block__border-width solid @gift-item-block__border-color); + border-bottom: 0; } - .cart.table-wrapper { - .gift-content { - margin-right: -@indent__s; + .cart { + &.table-wrapper { + .gift-content { + margin-right: -@indent__s; + } } } } .media-width(@extremum, @break) when (@extremum = 'max') and (@break = @screen__s) { - .cart.table-wrapper { - .gift-content { - border-bottom: @border-width__base solid @border-color__base; - margin-bottom: @indent__base; + .cart { + &.table-wrapper { + .gift-content { + border-bottom: @border-width__base solid @border-color__base; + margin-bottom: @indent__base; + } } } } @@ -253,11 +268,7 @@ .media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__m) { .gift-message { .field { - &:extend(.abs-clearfix all); - .lib-form-field-type-revert( - @_type: inline, - @_type-inline-label-align: left - ); + margin-bottom: @indent__base; } } @@ -323,9 +334,22 @@ // In-table block // --------------------------------------------- - .cart.table-wrapper { - .action-gift { - float: left; + .cart { + &.table-wrapper { + .action-gift { + float: left; + } + } + } + + // + // Multiple Shipping Checkout + // --------------------------------------------- + + .order-options, + .table-order-review { + .gift-wrapping { + max-width: 50%; } } } diff --git a/app/design/frontend/Magento/blank/Magento_GiftWrapping/web/css/source/_module.less b/app/design/frontend/Magento/blank/Magento_GiftWrapping/web/css/source/_module.less index e2b3771ac38863afddd2e4420d6b2337afb088c6..b4665dbd62e965e3bc5925ea2e47ece7bb063f28 100644 --- a/app/design/frontend/Magento/blank/Magento_GiftWrapping/web/css/source/_module.less +++ b/app/design/frontend/Magento/blank/Magento_GiftWrapping/web/css/source/_module.less @@ -25,6 +25,17 @@ // _____________________________________________ & when (@media-common = true) { + .gift-wrapping { + .label { + .lib-css(margin, @form-field-type-label-block__margin); + display: inline-block; + } + + .field { + margin-bottom: @indent__s; + } + } + .gift-wrapping-info { .lib-css(font-weight, @font-weight__light); font-size: @font-size__l; @@ -147,6 +158,8 @@ .gift-summary, .gift-options { + &:extend(.abs-adjustment-incl-excl-tax all); + .price-box { margin-left: 22px; } @@ -160,8 +173,30 @@ font-weight: @font-weight__bold; } } + } - &:extend(.abs-adjustment-incl-excl-tax all); + // + // Multiple Shipping Checkout + // --------------------------------------------- + + .order-options { + .item { + padding-bottom: @indent__base; + } + + .product { + &:extend(.abs-add-clearfix all); + margin-bottom: @indent__s; + } + + .product-image-container { + float: left; + padding-right: @indent__s; + } + + .gift-wrapping { + margin-bottom: @indent__s; + } } } @@ -217,18 +252,21 @@ } } - .gift-wrapping { - box-sizing: border-box; - float: left; - padding-right: @indent__base; - width: 50%; - - & + .gift-message { - .lib-css(border-left, @gift-wrapping__border-width solid @gift-wrapping__border-color); + .gift-options-cart-item, + .cart-gift-item { + .gift-wrapping { box-sizing: border-box; float: left; - padding-left: 4.5rem; + padding-right: @indent__base; width: 50%; + + & + .gift-message { + .lib-css(border-left, @gift-wrapping__border-width solid @gift-wrapping__border-color); + box-sizing: border-box; + float: left; + padding-left: 4.5rem; + width: 50%; + } } } } diff --git a/app/design/frontend/Magento/luma/Magento_Customer/web/css/source/_module.less b/app/design/frontend/Magento/luma/Magento_Customer/web/css/source/_module.less index 5eaccc85a2c0d7a8d6f38e65cb478f313c64ebee..4ad7af8c4e8ba9eb362e03013376d51d89a68852 100644 --- a/app/design/frontend/Magento/luma/Magento_Customer/web/css/source/_module.less +++ b/app/design/frontend/Magento/luma/Magento_Customer/web/css/source/_module.less @@ -254,35 +254,35 @@ z-index: -1; } - .password-strength-meter-0 & { + .password-none & { &:before { background-color: @_password-default; width: 100%; } } - .password-strength-meter-1 & { + .password-weak & { &:before { background-color: @_password-weak; width: 25%; } } - .password-strength-meter-2 & { + .password-medium & { &:before { background-color: @_password-medium; width: 50%; } } - .password-strength-meter-3 & { + .password-strong & { &:before { background-color: @_password-strong; width: 75%; } } - .password-strength-meter-4 & { + .password-very-strong & { &:before { background-color: @_password-very-strong; width: 100%; diff --git a/app/design/frontend/Magento/luma/Magento_GiftMessage/web/css/source/_module.less b/app/design/frontend/Magento/luma/Magento_GiftMessage/web/css/source/_module.less index 0b00a22ce92c2e8885977e350ff863295f3440c4..6a579f19583c1020664e88fa40be48494b2d82ab 100644 --- a/app/design/frontend/Magento/luma/Magento_GiftMessage/web/css/source/_module.less +++ b/app/design/frontend/Magento/luma/Magento_GiftMessage/web/css/source/_module.less @@ -27,6 +27,9 @@ & when (@media-common = true) { .gift-message { .field { + &:extend(.abs-clearfix all); + margin-bottom: @indent__base; + .label { .lib-css(color, @gift-message-field-label__color); .lib-css(font-weight, @font-weight__regular); @@ -34,18 +37,6 @@ } } - .cart.table-wrapper { - .item-gift { - &._active { - .lib-css(border-top, @gift-item-block__border-width solid @gift-item-block__border-color); - } - - .action { - margin-right: 0; - } - } - } - .gift-options { margin: @indent__base 0; @@ -70,6 +61,8 @@ .gift-summary { position: relative; + margin-top: @indent__s; + .actions-toolbar { > .secondary { .action { @@ -92,6 +85,7 @@ @_icon-font-color-active: @minicart-icons-color ); } + .action-delete { .lib-icon-font-symbol( @_icon-font-content: @icon-trash @@ -99,6 +93,28 @@ } } + .action-gift { + &:extend(.abs-action-button-as-link all); + + .lib-icon-font( + @icon-down, + @_icon-font-size: 1.2rem, + @_icon-font-line-height: 20px, + @_icon-font-color: @minicart-icons-color, + @_icon-font-color-hover: @primary__color, + @_icon-font-color-active: @minicart-icons-color, + @_icon-font-margin: 0 0 0 @indent__s, + @_icon-font-position: after + ); + + &.active, + &._active { + &:after { + content: @icon-up; + } + } + } + .gift-summary, .cart.table-wrapper .gift-summary { .actions-toolbar { @@ -113,18 +129,30 @@ // In-table block // --------------------------------------------- - .cart.table-wrapper { - .gift-content { - box-sizing: border-box; - clear: left; - display: none; - float: left; - margin-right: -100%; - padding: @indent__base 0; - width: 100%; + .cart { + &.table-wrapper { + .gift-content { + box-sizing: border-box; + clear: left; + display: none; + float: left; + margin-right: -100%; + padding: @indent__base 0; + width: 100%; - &._active { - display: block; + &._active { + display: block; + } + } + + .item-gift { + &._active { + .lib-css(border-top, @gift-item-block__border-width solid @gift-item-block__border-color); + } + + .action { + margin-right: 0; + } } } } @@ -148,6 +176,10 @@ .title { .lib-css(color, @gift-item-block-title__color); cursor: pointer; + margin: 0; + padding: @indent__s @indent__xl @indent__s 15px; + position: relative; + .lib-icon-font( @gift-item-block-title-icon__content, @_icon-font-size: @gift-item-block-title-icon__font-size, @@ -158,9 +190,6 @@ @_icon-font-position: after, @_icon-font-display: block ); - margin: 0; - padding: @indent__s @indent__xl @indent__s 15px; - position: relative; } .content { @@ -200,9 +229,7 @@ } } } - } - .order-details-items { .order-items { .order-gift-message { &:not(.expanded-content) { @@ -216,11 +243,6 @@ } } - .options-order-container, - .options-items-container { - margin-bottom: @indent__s; - } - .gift-messages-order { margin-bottom: @indent__m; } @@ -242,8 +264,8 @@ } .gift-item-block { - border-bottom: 0; .lib-css(border-top, @gift-item-block__border-width solid @gift-item-block__border-color); + border-bottom: 0; .title { &:after { @@ -264,7 +286,21 @@ padding-right: 7rem; } - .cart.table-wrapper { + // + // In-table block + // --------------------------------------------- + + .cart { + &.table-wrapper { + .gift-content { + border-top: @border-width__base solid @color-gray-light5; + margin-right: -@mobile-cart-padding; + overflow: hidden; + padding-left: @mobile-cart-padding; + padding-right: @mobile-cart-padding; + } + } + .action-gift { .lib-icon-font( @icon-present, @@ -274,6 +310,7 @@ @_icon-font-color: @minicart-icons-color, @_icon-font-color-hover: @primary__color, @_icon-font-color-active: @minicart-icons-color, + @_icon-font-margin: 0, @_icon-font-position: after ); @@ -288,14 +325,6 @@ } } } - - .gift-content { - border-top: @border-width__base solid @color-gray-light5; - margin-right: -@mobile-cart-padding; - overflow: hidden; - padding-left: @mobile-cart-padding; - padding-right: @mobile-cart-padding; - } } .gift-options-cart-item { @@ -311,16 +340,6 @@ // _____________________________________________ .media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__m) { - .gift-message { - .field { - &:extend(.abs-clearfix all); - .lib-form-field-type-revert( - @_type: inline, - @_type-inline-label-align: left - ); - } - } - .gift-options { position: relative; z-index: 1; @@ -369,6 +388,7 @@ .gift-item-block { .title { + font-size: 1.6rem; padding: @indent__base 0; } } @@ -384,33 +404,19 @@ // In-table block // --------------------------------------------- - .cart.table-wrapper { - .action-gift { - float: left; - .lib-icon-font( - @icon-down, - @_icon-font-size: 1.2rem, - @_icon-font-line-height: 20px, - @_icon-font-color: @minicart-icons-color, - @_icon-font-color-hover: @primary__color, - @_icon-font-color-active: @minicart-icons-color, - @_icon-font-margin: 0 0 0 @indent__s, - @_icon-font-position: after - ); - - &._active { - &:after { - content: @icon-up; + .cart { + &.table-wrapper { + .gift-options { + .actions-toolbar { + clear: both; + padding: 0; + position: static; } } } - .gift-options { - .actions-toolbar { - clear: both; - padding: 0; - position: static; - } + .action-gift { + float: left; } } diff --git a/app/design/frontend/Magento/luma/Magento_GiftWrapping/web/css/source/_module.less b/app/design/frontend/Magento/luma/Magento_GiftWrapping/web/css/source/_module.less index f751f491a6d4786912b6500598bbc355d36f92ef..858beaefc7d94fc94ae6b5e22a123292425bda54 100644 --- a/app/design/frontend/Magento/luma/Magento_GiftWrapping/web/css/source/_module.less +++ b/app/design/frontend/Magento/luma/Magento_GiftWrapping/web/css/source/_module.less @@ -25,6 +25,17 @@ // _____________________________________________ & when (@media-common = true) { + .gift-wrapping { + .label { + .lib-css(margin, @form-field-type-label-block__margin); + display: inline-block; + } + + .field { + margin-bottom: @indent__s; + } + } + .gift-wrapping-info { .lib-css(font-weight, @font-weight__light); font-size: @font-size__l; @@ -99,6 +110,7 @@ .action-remove { &:extend(.abs-action-button-as-link all); margin: -@indent__xs 0 0 @indent__xs; + .lib-icon-font( @icon-trash, @_icon-font-size: 18px, @@ -130,9 +142,15 @@ } .opc-wrapper { - .fieldset.gift-message .field.gift-wrapping { - padding: 0; - width: 100%; + .fieldset { + &.gift-message { + .field { + &.gift-wrapping { + padding: 0; + width: 100%; + } + } + } } } @@ -140,6 +158,7 @@ .table-order-items { .gift-wrapping { margin: @indent__base 0 0; + .title { float: none; } @@ -160,6 +179,8 @@ .gift-summary, .gift-options { + &:extend(.abs-adjustment-incl-excl-tax all); + .price-box { margin-left: 22px; } @@ -173,8 +194,30 @@ font-weight: @font-weight__bold; } } + } - &:extend(.abs-adjustment-incl-excl-tax all); + // + // Multiple Shipping Checkout + // --------------------------------------------- + + .order-options { + .item { + padding-bottom: @indent__base; + } + + .product { + &:extend(.abs-add-clearfix all); + margin-bottom: @indent__s; + } + + .product-image-container { + float: left; + padding-right: @indent__s; + } + + .gift-wrapping { + margin-bottom: @indent__s; + } } } @@ -183,12 +226,16 @@ // _____________________________________________ .media-width(@extremum, @break) when (@extremum = 'max') and (@break = @screen__m) { - .gift-wrapping { - .lib-css(border-bottom, @gift-wrapping__border-width solid @gift-wrapping__border-color); - margin-bottom: @indent__base; - padding-bottom: @indent__s; + .gift-options-cart-item, + .cart-gift-item { + .gift-wrapping { + .lib-css(border-bottom, @gift-wrapping__border-width solid @gift-wrapping__border-color); + margin-bottom: @indent__base; + padding-bottom: @indent__s; + } } + .gift-wrapping-list { width: 100%; } @@ -238,18 +285,42 @@ // _____________________________________________ .media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__m) { - .gift-wrapping { - box-sizing: border-box; - float: left; - padding-right: @indent__base; - width: 50%; - - & + .gift-message { - .lib-css(border-left, @gift-wrapping__border-width solid @gift-wrapping__border-color); + .gift-options-cart-item, + .cart-gift-item { + .gift-wrapping { box-sizing: border-box; float: left; - padding-left: 4.5rem; + padding-right: @indent__base; width: 50%; + + & + .gift-message { + .lib-css(border-left, @gift-wrapping__border-width solid @gift-wrapping__border-color); + box-sizing: border-box; + float: left; + padding-left: 4.5rem; + width: 50%; + } + } + + .gift-summary { + .regular-price { + white-space: nowrap; + } + } + + .gift-wrapping-name { + padding-right: @indent__base; + } + } + + // + // Multiple Shipping Checkout + // --------------------------------------------- + + .order-options, + .table-order-review { + .gift-wrapping { + max-width: 50%; } } } diff --git a/lib/internal/Magento/Framework/View/Layout/Data/Structure.php b/lib/internal/Magento/Framework/View/Layout/Data/Structure.php index dcd01d423cdb48b64ef05198df8f6d27ad80f381..0612231ad5cc896b1daf24c3772ce6057c44b825 100644 --- a/lib/internal/Magento/Framework/View/Layout/Data/Structure.php +++ b/lib/internal/Magento/Framework/View/Layout/Data/Structure.php @@ -119,7 +119,7 @@ class Structure extends DataStructure $siblingParentName = $this->getParentId($sibling); if ($parentName !== $siblingParentName) { if ($this->state->getMode() === State::MODE_DEVELOPER) { - $this->logger->critical( + $this->logger->info( "Broken reference: the '{$childName}' tries to reorder itself towards '{$sibling}', but " . "their parents are different: '{$parentName}' and '{$siblingParentName}' respectively." ); diff --git a/lib/internal/Magento/Framework/View/Layout/ScheduledStructure/Helper.php b/lib/internal/Magento/Framework/View/Layout/ScheduledStructure/Helper.php index 2e0ee3b63dcad103ddcdcc51a36f5930c3d10428..870f147a436342f13b196b430279e631ce60c981 100644 --- a/lib/internal/Magento/Framework/View/Layout/ScheduledStructure/Helper.php +++ b/lib/internal/Magento/Framework/View/Layout/ScheduledStructure/Helper.php @@ -201,7 +201,7 @@ class Helper $scheduledStructure->setElementToBrokenParentList($key); if ($this->state->getMode() === State::MODE_DEVELOPER) { - $this->logger->critical( + $this->logger->info( "Broken reference: the '{$name}' element cannot be added as child to '{$parentName}', " . 'because the latter doesn\'t exist' ); diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Layout/Data/StructureTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Layout/Data/StructureTest.php index a5f00f082402689bd0943245519841c3e930d16b..d9c39373d76d4447f2a81c877e6e9838ab50ea89 100644 --- a/lib/internal/Magento/Framework/View/Test/Unit/Layout/Data/StructureTest.php +++ b/lib/internal/Magento/Framework/View/Test/Unit/Layout/Data/StructureTest.php @@ -64,7 +64,7 @@ class StructureTest extends \PHPUnit_Framework_TestCase ->method('getMode') ->willReturn($stateMode); $this->loggerMock->expects($loggerExpects) - ->method('critical') + ->method('info') ->with( "Broken reference: the '{$childName}' tries to reorder itself towards '', but " . "their parents are different: '{$parentName}' and '' respectively." diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Layout/ScheduledStructure/HelperTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Layout/ScheduledStructure/HelperTest.php index 6cb3a5cfdca8366d5cb439acb0f8ee8c00277b3f..8803392d184f0b329cfe22b5492da83b5136fdf7 100644 --- a/lib/internal/Magento/Framework/View/Test/Unit/Layout/ScheduledStructure/HelperTest.php +++ b/lib/internal/Magento/Framework/View/Test/Unit/Layout/ScheduledStructure/HelperTest.php @@ -181,7 +181,7 @@ class HelperTest extends \PHPUnit_Framework_TestCase ->method('getMode') ->willReturn($stateMode); $this->loggerMock->expects($loggerExpects) - ->method('critical') + ->method('info') ->with( "Broken reference: the '{$key}' element cannot be added as child to '{$parentName}', " . 'because the latter doesn\'t exist' diff --git a/lib/web/css/source/lib/_dropdowns.less b/lib/web/css/source/lib/_dropdowns.less index f3559356c365a616bd2a91c94832de0d881af184..be9cef120a686e378d8ff2f681af666ff0d9d6a8 100644 --- a/lib/web/css/source/lib/_dropdowns.less +++ b/lib/web/css/source/lib/_dropdowns.less @@ -253,6 +253,7 @@ .lib-css(z-index, @_dropdown-list-z-index); box-sizing: border-box; display: none; + position: absolute; ._lib-dropdown-list-position( @_dropdown-list-position-top, @@ -291,7 +292,6 @@ @{_options-selector} { display: block; - position: absolute; } } } diff --git a/lib/web/mage/menu.js b/lib/web/mage/menu.js index 3bed3dd4efcc72ad3554cc5f7546835c62f9b698..4562285654c70f8b991e89866dfc82977842dd64 100644 --- a/lib/web/mage/menu.js +++ b/lib/web/mage/menu.js @@ -18,7 +18,9 @@ define([ options: { responsive: false, expanded: false, - delay: 300 + showDelay: 42, + hideDelay: 300, + mediaBreakpoint: '(max-width: 768px)' }, _create: function () { var self = this; @@ -31,7 +33,6 @@ define([ _init: function () { this._super(); - this.delay = this.options.delay; if (this.options.expanded === true) { this.isExpanded(); @@ -39,7 +40,7 @@ define([ if (this.options.responsive === true) { mediaCheck({ - media: '(max-width: 640px)', + media: this.options.mediaBreakpoint, entry: $.proxy(function () { this._toggleMobileMode(); }, this), @@ -70,16 +71,18 @@ define([ }, toggle: function () { - if ($('html').hasClass('nav-open')) { - $('html').removeClass('nav-open'); + var html = $('html'); + + if (html.hasClass('nav-open')) { + html.removeClass('nav-open'); setTimeout(function () { - $('html').removeClass('nav-before-open'); - }, 300); + html.removeClass('nav-before-open'); + }, this.options.hideDelay); } else { - $('html').addClass('nav-before-open'); + html.addClass('nav-before-open'); setTimeout(function () { - $('html').addClass('nav-open'); - }, 42); + html.addClass('nav-open'); + }, this.options.showDelay); } }, diff --git a/lib/web/mage/validation.js b/lib/web/mage/validation.js index 209db5d024acc2d37f1c90db38117d37feca14fe..aff3141c2d4d1287ae2a801fd2d411bfa41b231a 100644 --- a/lib/web/mage/validation.js +++ b/lib/web/mage/validation.js @@ -1476,8 +1476,8 @@ errorPlacement: function (error, element) { var errorPlacement = element; // logic for date-picker error placement - if (element.hasClass('hasDatepicker')) { - errorPlacement = element.siblings('img'); + if (element.hasClass('_has-datepicker')) { + errorPlacement = element.siblings('button'); } // logic for field wrapper var fieldWrapper = element.closest('.addon'); @@ -1488,6 +1488,10 @@ if (element.is(':checkbox') || element.is(':radio')) { errorPlacement = element.siblings('label').last(); } + //logic for control with tooltip + if (element.siblings('.tooltip').length) { + errorPlacement = element.siblings('.tooltip'); + } errorPlacement.after(error); } },