const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = 'e2d2e0bc-759e-45dc-b0cb-00fcf41900d2'; this.isRTL = SPZ.win.document.dir === 'rtl'; this.isAddingToCart_ = false; // 加购中状态 } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.setupAction_(); this.viewport_ = this.getViewport(); } mountCallback() { this.init(); // 监听事件 this.bindEvent_(); } async init() { this.handleFitTheme(); const data = await this.getDiscountList(); this.renderApiData_(data); } async getDiscountList() { const productId = '73f15d74-0501-4cf4-9ef7-890669f88a5b'; const variantId = this.variant_id; const productType = 'default'; const reqBody = { product_id: productId, variant_id: variantId, discount_method: "DM_AUTOMATIC", customer: { customer_id: window.C_SETTINGS.customer.customer_id, email: window.C_SETTINGS.customer.customer_email }, product_type: productType } const url = `/api/storefront/promotion/display_setting/text/list`; const data = await this.xhr_.fetchJson(url, { method: "post", body: reqBody }).then(res => { return res; }).catch(err => { this.setContainerDisabled(false); }) return data; } async renderDiscountList() { this.setContainerDisabled(true); const data = await this.getDiscountList(); this.setContainerDisabled(false); // 重新渲染 抖动问题处理 this.renderApiData_(data); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } async renderApiData_(data) { const parentDiv = document.querySelector('.automatic_discount_container'); const newTplDom = await this.getRenderTemplate(data); if (parentDiv) { parentDiv.innerHTML = ''; parentDiv.appendChild(newTplDom); } else { console.log('automatic_discount_container is null'); } } doRender_(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, renderData) .then((el) => { this.clearDom(); this.element.appendChild(el); }); } async getRenderTemplate(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, { ...renderData, isRTL: this.isRTL }) .then((el) => { this.clearDom(); return el; }); } setContainerDisabled(isDisable) { const automaticDiscountEl = document.querySelector('.automatic_discount_container_outer'); if(isDisable) { automaticDiscountEl.setAttribute('disabled', ''); } else { automaticDiscountEl.removeAttribute('disabled'); } } // 绑定事件 bindEvent_() { window.addEventListener('click', (e) => { let containerNodes = document.querySelectorAll(".automatic-container .panel"); let bool; Array.from(containerNodes).forEach((node) => { if(node.contains(e.target)){ bool = true; } }) // 是否popover面板点击范围 if (bool) { return; } if(e.target.classList.contains('drowdown-icon') || e.target.parentNode.classList.contains('drowdown-icon')){ return; } const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { node.classList.remove('open-dropdown'); }) // 兼容主题 this.toggleProductSticky(true); }) // 监听变体变化 document.addEventListener('dj.variantChange', async(event) => { // 重新渲染 const variant = event.detail.selected; if (variant.product_id == '73f15d74-0501-4cf4-9ef7-890669f88a5b' && variant.id != this.variant_id) { this.variant_id = variant.id; this.renderDiscountList(); } }); } // 兼容主题 handleFitTheme() { // top 属性影响抖动 let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ productInfoEl.classList.add('force-top-auto'); } } // 兼容 wind/flash /hero 主题 (sticky属性影响 popover 层级展示, 会被其他元素覆盖) toggleProductSticky(isSticky) { let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ if(isSticky) { // 还原该主题原有的sticky属性值 productInfoEl.classList.remove('force-position-static'); return; } productInfoEl.classList.toggle('force-position-static'); } } setupAction_() { this.registerAction('handleDropdown', (invocation) => { const discount_id = invocation.args.discount_id; const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { if(node.getAttribute('id') != `automatic-${discount_id}`) { node.classList.remove('open-dropdown'); } }) const $discount_item = document.querySelector(`#automatic-${discount_id}`); $discount_item && $discount_item.classList.toggle('open-dropdown'); // 兼容主题 this.toggleProductSticky(); }); // 加购事件 this.registerAction('handleAddToCart', (invocation) => { // 阻止事件冒泡 const event = invocation.event; if (event) { event.stopPropagation(); event.preventDefault(); } // 如果正在加购中,直接返回 if (this.isAddingToCart_) { return; } const quantity = invocation.args.quantity || 1; this.addToCart(quantity); }); } // 加购方法 async addToCart(quantity) { // 设置加购中状态 this.isAddingToCart_ = true; const productId = '73f15d74-0501-4cf4-9ef7-890669f88a5b'; const variantId = this.variant_id; const url = '/api/cart'; const reqBody = { product_id: productId, variant_id: variantId, quantity: quantity }; try { const data = await this.xhr_.fetchJson(url, { method: 'POST', body: reqBody }); // 触发加购成功提示 this.triggerAddToCartToast_(); return data; } catch (error) { error.then(err=>{ this.showToast_(err?.message || err?.errors?.[0] || 'Unknown error'); }) } finally { // 无论成功失败,都重置加购状态 this.isAddingToCart_ = false; } } showToast_(message) { const toastEl = document.querySelector("#apps-match-drawer-add_to_cart_toast"); if (toastEl) { SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast(message); }); } } // 触发加购成功提示 triggerAddToCartToast_() { // 如果主题有自己的加购提示,则不显示 const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy'); if (themeAddToCartToastEl) return; // 显示应用的加购成功提示 this.showToast_("Added successfully"); } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {}); this.action_.trigger(this.element, name, event); } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } } SPZ.defineElement(TAG, SpzCustomProductAutomatic);
class SpzCustomDiscountBundle extends SPZ.BaseElement { constructor(element) { super(element); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } mountCallback() {} unmountCallback() {} setupAction_() { this.registerAction('showAddToCartToast', () => { const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy') if(themeAddToCartToastEl) return const toastEl = document.querySelector('#apps-match-drawer-add_to_cart_toast') SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast("Added successfully"); }); }); } buildCallback() { this.setupAction_(); }; } SPZ.defineElement('spz-custom-discount-toast', SpzCustomDiscountBundle);

Rare Red White Black rose - Fire & Snow Rose

$11.99  - $39.99
Quantity:  100 Seeds
Quantity

Description

We are committed to providing our customers with quality, affordable seeds. 🌱

💵 Payments Via PayPal®
😍 99.6% of customers buy 100 seeds or more to share
✨Priority is given to delivery after payment
✈ Worldwide Express Shipping Available

A Rare Rose That Captivates at First Sight

✨ Imagine a rose unlike any you’ve ever seen — a deep crimson heart, wrapped in snowy white petals, each delicately marked with mysterious black speckles. The result? A breathtaking bloom that looks like it was painted by an artist.

Why You’ll Love It 💖

  • 🌹 Striking Contrast — The vivid red center stands out against soft white petals.

  • 🎨 Unique Speckled Pattern — Each bloom carries natural black markings, making every flower one-of-a-kind.

  • 🌿 Easy to Grow — Hardy, adaptable, and suitable for most climates.

  • 🌸 Long Blooming Season — Enjoy continuous beauty throughout spring and summer.

  • 💎 Collector’s Choice — A must-have for gardeners who love rare and ornamental flowers.

Perfect For 🌼

✔ Garden borders & landscaping
✔ Flower beds & decorative pots
✔ Unique bouquets & gifting

Planting Guide 🌱

  • Soil: Well-draining, nutrient-rich

  • Sun: Full sun for best blooms

  • Water: Moderate, keep soil moist but not soggy

  • Zones: 4–9 (indoor pots possible in colder areas)

💥 With its fiery heart and speckled elegance, this rose is more than a flower — it’s a statement piece for your garden.

👉 Limited seeds available — order today and bring home the rose that turns heads!

Package Includes

~ Seeds Quantity of 100~1000 (your choice).

~ Grow and Care Instructions, for your new babies!!!

Processing

It usually takes 3-5 business days to prepare an order. If processing time take longer than that, an email will be sent to customer's registered email box.

♻️14 Days Easy Return & Exchange
Items can be returned or exchanged within 14 days from the delivered day. 

AFTER-SALE SERVICE

  • Shipping - Worldwide Express Shipping is available
  • Returns>> Fast refund,100% Money Back Guarantee.
  • If for whatever reason you're not completely satisfied, then return the product within 90 days.

AT Our Store, WE HAVE STRONGLY CONFIDENCE ON OUR PRODUCTS. EVERY PRODUCT INCLUDES A 24-MONTH, WORRY-FREE GUARANTEE. IF YOU HAVE ANY PROBLEM OR SUGGESTION, PLEASE CONTACT US FREELY, WE WILL PROVIDE FRIENDLY SUPPORT FOR YOU IN 24 HR.

💳 Shop with ease and choose your favorite payment method:

🌐 Choose a payment method: During checkout, you can connect your PayPal account, credit card, debit card, or bank account. We support multiple payment methods, ensuring you have flexible payment options.

🔐 Secure Login: If you choose PayPal, you can securely log into your PayPal account. If using a credit card, you can choose Credit Card Express for quick payment. Enter your payment information, making sure it is accurate.

🛍 Submit order: After completing product selection, click Submit order. Next, you will be directed to PayPal to complete the transaction. If you choose to pay by credit card, you will see the option to "Pay with credit or debit card."

🏠 Confirm Address: Confirm or enter your address information on PayPal to ensure your order will be shipped to your desired address. Click "Submit" to continue.

💸 Payment Processing: Your payment will be processed securely. After successful payment, the system will send a detailed payment invoice to your email to confirm your purchase.

If you'd like to check out by credit card, click on PayPal and select "Pay with debit or credit card" for express checkout.

✨ Simple, safe and convenient, start your happy shopping trip! 🛒🌐