Squishy Fun Box - 8pc Slow-Rebound Sensory Set Squishy Fun Box - 8pc Slow-Rebound Sensory Set

const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = '8e58dabc-81df-4da1-82f7-79ce0c808b7b'; 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 = 'ffbed123-edd3-4e54-abbb-82dd62845fbe'; 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 == 'ffbed123-edd3-4e54-abbb-82dd62845fbe' && 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 = 'ffbed123-edd3-4e54-abbb-82dd62845fbe'; 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);
$49.99
$80.00
- 38%
people are viewing this right now
Quantity
Product was out of stock.
Product is unavailable.
Free worldwide shipping

Enjoy free shipping on every order, delivered to your doorstep no matter where you are in the world.

Free returns

Shop with confidence with our hassle-free returns policy, ensuring you love what you buy.

Sustainably made

Designed with the planet in mind, all our products are committed to sustainable practices.

Secure payments

Your payment information is always protected with our advanced, encrypted checkout security.

Description

8-piece slow-rebound sensory set

A tiny box of squishy calm, color, and surprise.

Meet the feel-good fidget set made for quick desk breaks, party favors, classroom rewards, road trips, gift baskets, and anyone who loves that soft slow-squeeze rebound.

8 assorted squishiesSlow-rebound feelGift-ready sensory funKids & adults
8 pcs
one fun box
Why it sells

Soft animal squishies that turn idle hands into a satisfying little reset.

Inspired by the best-performing sensory toy listings, this page leads with the reasons people buy: cute assorted styles, slow-rebound tactile play, stress-relief positioning, and easy gifting.

  • Slow-return texture gives a longer, more satisfying squeeze.
  • Assorted cute animal shapes make the box feel collectible.
  • Small, lightweight, and easy to keep on a desk, backpack, or bedside table.
Desk breakA quick tactile pause between work, study, or screen time.
Gift boxColorful, playful, and easy to give without guessing sizes.
Party favorGreat for birthdays, classroom prizes, goodie bags, and holiday stockings.
Sensory playSoft squeeze-and-release fun for fidgeters and sensory-seeking shoppers.
What is inside

Eight assorted squishy toys, packed for instant fun.

Each set includes 8 soft squishy pieces in assorted styles/colors. The exact mix may vary, which keeps the box feeling like a small surprise set.

8-piece assorted sensory toy set
Slow-rebound squeeze texture
Cute animal-inspired styles
Portable size for bags, desks, and travel
How customers use it

Open, squeeze, share, repeat.

Keep the product story simple: this is a playful tactile gift set that is easy to understand in seconds.

01

Open the box

Unpack the colorful 8-piece assortment and choose your first squishy.

02

Squeeze slowly

Press, release, and watch it rebound for that satisfying fidget feel.

03

Share the fun

Use them as rewards, party favors, stocking stuffers, or little surprise gifts.

Buyer-friendly positioning

Not just another toy - it is an easy little mood-lifter.

The strongest angle is not only "toy". It is the simple everyday use case: something soft to squeeze during a break, something cute to collect, and something easy to gift when you need a small crowd-pleaser.

  • Good for home, office, school rewards, travel, and gift bags.
  • Works for kids, teens, students, parents, and office workers.
  • No setup, batteries, app, or complicated instructions.

Product details

  • Set includes8 assorted squishy toys
  • Material feelSoft slow-rebound squishy texture
  • StyleCute animal / assorted sensory designs
  • Color/styleAssorted; exact mix may vary
  • Use casesStress relief, fidget play, gifts, rewards

Gift occasions

  • BirthdayParty favors and goodie bags
  • SchoolClassroom prizes and reward boxes
  • HolidayStocking stuffers and small gifts
  • Daily useDesk, car, backpack, bedside table
  • CareWipe gently; keep away from sharp objects

Questions before you squeeze?

Are all 8 pieces the same?

No. The set is designed as an assorted 8-piece box, so colors and exact styles may vary slightly from set to set.

Is this good for adults too?

Yes. The soft slow-rebound texture makes it a fun desk fidget for adults, students, and anyone who likes tactile stress-relief items.

Can I use these as party favors?

Yes. The small size and assorted styles make them a strong fit for birthday bags, classroom rewards, carnival prizes, and holiday gift baskets.

How should I care for them?

Keep them away from sharp edges, excessive heat, and rough surfaces. If needed, wipe gently with a damp cloth and let dry.

Safety note: Small parts may present a choking hazard. Recommended for ages 3+ and use under adult supervision for younger children. Not intended to diagnose, treat, or replace professional sensory or medical care.