if (window.matchMedia('(max-width: 600px)').matches) {
const script = document.createElement("script");
script.src = "https://cdnjs.cloudflare.com/ajax/libs/zepto/1.2.0/zepto.min.js";
script.type = "text/javascript";
script.onload = function () {
console.log("Zepto loaded on mobile!");
var $ = window.Zepto; // Assign Zepto to $
const campObj = {
bulk_data: [],
async updateCartCount() {
const cart = await fetch('/cart.php', {
headers: {
'stencil-config': '{}',
'stencil-options': '{"render_with":"cart/content,cart/totals,cart/page-title,cart/status-messages,cart/additional-checkout-buttons"}',
},
}).then(res => res.json());
if (cart['components/cart/content']) {
const cartCount = $(cart['components/cart/content']).attr('data-cart-quantity');
$('[data-cart-preview] .cart-quantity').text(cartCount);
}
},
addProduct(fData, addbtn) {
fetch('/cart.php', {
method: 'post',
body: fData,
}).then((res) => {
if (res.status == 200) this.updateCartCount();
addbtn.removeAttr('disabled');
}).catch(() => {
window.location.reload();
});
},
setupCamp() {
$('.productView-options .grouped-options').each(function () {
const type = $(this).find('.group-name').text().trim();
$(this).attr('data-group_type', type);
$(this).find('.group-name').append('(Buy More, Save More) ');
$(this).find('tbody tr:not(.header-mobile-selector)').each(function () {
const titleData = [];
$(this).find('td:not(.sku):not(.item-price):not(.pack):not(.qty):not(.total):not(.addtocart)').each(function () {
const text = $(this).text().trim();
if (text !== '-') titleData.push(text);
});
$(this).prev('tr').find('.title').text(titleData.join(' - '));
});
});
$('.productView-options .addtocartbutton').addClass('cc-disabled');
$('.productView-options tbody .pack').attr('data-label', 'Select Pack Size');
$('.productView-options .addtocartbutton[disabled]').val('Sold out');
$('.productView-options tbody .title').append(' ').on('click', function () {
$(this).toggleClass('cc-tab__active');
campaign.trigger('Clicked.tab');
});
$('.productView-options .addtocartbutton').on('click', function (e) {
e.preventDefault();
const addbtn = $(this).attr('disabled', 'disabled');
const fData = new FormData($(this).closest('form').get(0));
campObj.addProduct(fData, $(this));
campaign.trigger('clicked.addtocart');
});
},
setupOptionChange(opt) {
opt.find('.cc-option-btn').on('click', function () {
const row = $(this).closest('tr');
const optVal = $(this).attr('data-option_value');
const type = $(this).closest('.grouped-options').attr('data-group_type');
$(this).closest('.cc-option-item').addClass('cc-option__active').siblings().removeClass('cc-option__active');
const select = $(this).closest('td').find('.pack-size');
const slVal = select.val();
row.find('.addtocartbutton').removeClass('cc-disabled');
if (slVal != optVal) {
select.val(optVal).get(0).dispatchEvent(new Event('change', { bubbles: true }));
setTimeout(() => {
const btn = row.find('.addtocartbutton');
btn.val(btn.attr('disabled') ? 'Sold out' : 'Add to Cart');
}, 100);
}
campaign.trigger(`Clicked.${type.toLowerCase()}.option`);
});
},
loadCamp() {
const bulkData = [...this.bulk_data];
$('.productView-options .grouped-options').each(function () {
const table = $(this).find('table');
table.find('tbody tr').each(function () {
const row = $(this);
if (row.find('.pack select').length) {
if (!table.find('.cc-options__61802884').length && row.find('.pack select option').length === 1) {
table.find('thead .pack').attr('data-option_count', '1');
} else {
table.find('thead .pack').removeAttr('data-option_count');
}
row.find('.pack').prepend('
');
row.find('.pack select option').each(function () {
const optText = $(this).text().trim();
const sku = $(this).val();
const count = Number(optText.replace(/[^0-9]/g, ''));
const priceData = bulkData.filter(r => r.node.sku && r.node.sku.replaceAll('.', '').replaceAll(' ', '').toLowerCase().trim() === sku.replaceAll(' ', '').toLowerCase().trim());
let price = '';
if (priceData.length && count) {
price = priceData[0].node.prices.price.value / count;
}
const opt = $(`
${optText}
${price ? `$${price.toFixed(2)} ` : ''}
`);
campObj.setupOptionChange(opt);
row.find('.cc-options__61802884 .cc-option-items').append(opt);
});
}
});
});
},
getBulkData() {
$('body > script').each(function () {
let sContent = $(this).text().trim();
if (sContent.includes('window.stencilBootstrap')) {
sContent = sContent.split('"gqlData\\":').pop().split(',\\"zoomSize\\":')[0].replace(/\\/g, '').trim();
try {
campObj.bulk_data = JSON.parse(sContent);
} catch (e) {
// try fallback logic or skip
}
return false;
}
});
},
setupEventTrack() {
$(document)
.on('focus', '.productView-options .qty-input', () => campaign.trigger('Clicked.quantity'))
.on('change', '.productView-options .qty-input', () => campaign.trigger('Used.quantity'));
},
waitForTableData(callback) {
if ($('.productView-options table tbody tr').length) callback();
else setTimeout(() => campObj.waitForTableData(callback), 1000);
},
start() {
if ($('.productView-options').length) {
this.waitForTableData(() => {
$('body').addClass('cc-bulk__61802884');
this.setupCamp();
this.getBulkData();
this.loadCamp();
});
this.setupEventTrack();
}
},
};
campObj.start();
};
document.head.appendChild(script);
}
Skip to main content
Home
Shop By Industry
Healthcare Textiles
Healthcare Textiles - Page 14
When it comes to wholesale healthcare textiles, Direct Textile Supply has everything you need from healthcare towels and healthcare bed linens to specialty healthcare apparel. Hospitals and doctors offices need textiles and linens that can withstand the constant use that no other industry experiences. These linens are specifically built to surpass the expectations of any healthcare professional. Our healthcare apparel, pillows , and textiles are specifically designed to meet the unique needs of hospitals and other healthcare institutions. We understand the importance of patient comfort and work with you to deliver products that enhance your image and help you run your facility more efficiently. Direct Textile Store offers the largest selection of healthcare textiles available anywhere. Shop our selection of healthcare apparel and pillows and help your healthcare facility provide comfort to its patients.
We ship to US, Alaska, Hawaii, US Territories, Canada, Puerto Rico, St. Thomas, and St. Croix.