PageSourceSearch

https://www.kawaii-art.jp/cdn/shop/t/16/assets/ka-product.js?v=64098565156853207631790579782

js kawaii-art.jp collected 2026-10-08 03:54:48 UTC 17,985 bytes, 2 lines download raw bytes

1(()=>{const AFTER_ADD="cart";function afterAdd(rootPath){AFTER_ADD==="cart"&&window.location.assign(rootPath+"cart")}const restoreForms=window.kaPurchaseRestoreForms||=new Set,restoreQuantities=window.kaPurchaseRestoreQuantities||=new Set;window.kaPurchaseRestoreBound||(window.kaPurchaseRestoreBound=!0,window.addEventListener("pageshow",event=>{if(!event.persisted)return;restoreForms.forEach(form=>{const addButton=form.querySelector('[name="add"], button[type="submit"]');addButton?.disabled&&!form.querySelector(".js-product-buttons.is-disabled")&&(addButton.disabled=!1)}),document.querySelectorAll("dialog.ka-hz20-entry-dialog[open], dialog.ka-mini-entry-dialog[open]").forEach(dialog=>dialog.close()),document.querySelectorAll(".ka-mini-entry-dialog .ka-mini-entry-add").forEach(button=>{button.disabled=!1}),restoreQuantities.forEach(input=>{input.isConnected||restoreQuantities.delete(input)});const quantities=[...restoreQuantities],syncQuantity=input=>input.dispatchEvent(new Event("change",{bubbles:!0}));quantities.forEach(syncQuantity);const lastValues=new Map(quantities.map(input=>[input,input.value])),touched=new Set,stopListening=new AbortController;quantities.forEach(input=>{const touch=()=>touched.add(input);["input","keydown","pointerdown"].forEach(type=>input.addEventListener(type,touch,{signal:stopListening.signal})),input.closest("quantity-input")?.addEventListener("pointerdown",touch,{signal:stopListening.signal})});let checks=0;const watch=setInterval(()=>{quantities.forEach(input=>{touched.has(input)||input.value===lastValues.get(input)||(lastValues.set(input,input.value),syncQuantity(input))}),(++checks>=30||touched.size===quantities.length)&&(clearInterval(watch),stopListening.abort())},100)}));const initArtist=A=>{(()=>{function upgradeThumbnailSources(productSingle){if(!productSingle)return;const widths=[120,240,360];productSingle.querySelectorAll(".media-gallery__thumb-image").forEach(thumbnail=>{const largestSource=(thumbnail.getAttribute("srcset")||"").split(",").at(-1)?.trim().split(/\s+/)[0]||thumbnail.src,sourceUrl=new URL(largestSource,document.baseURI),sourceWidth=Number(sourceUrl.searchParams.get("width"))||thumbnail.naturalWidth||1,aspectRatio=(Number(sourceUrl.searchParams.get("height"))||thumbnail.naturalHeight||sourceWidth)/sourceWidth,upgradedSources=widths.map(width=>{const candidateUrl=new URL(sourceUrl);return candidateUrl.searchParams.set("width",String(width)),candidateUrl.searchParams.set("height",String(Math.round(width*aspectRatio))),`${candidateUrl.toString()} ${width}w`});thumbnail.setAttribute("srcset",upgradedSources.join(", ")),thumbnail.setAttribute("sizes","120px")})}function initializePurchaseOptions(){[...document.querySelectorAll(`[data-ka-sunset-${A}-purchase]`)].forEach(root=>{if(root.dataset.ready==="true")return;root.dataset.ready="true";const variantsNode=root.querySelector(`[data-${A}-variants-json]`),variants=JSON.parse(variantsNode?.textContent||"[]"),section=root.closest('[id^="shopify-section-"]')||document,productRegion=root.closest('.product-single__box, product-single, [data-section-type*="product"], product-info, .product')||section;productRegion?.setAttribute?.(`data-${A}-product-region`,"");const productSingle=root.closest("product-single")||section.querySelector?.("product-single");productSingle&&productSingle.setAttribute(`data-${A}-product-single`,""),upgradeThumbnailSources(productSingle);const productSection=productSingle?.closest(".section--product-single");productSection&&productSection.setAttribute(`data-${A}-product-section`,"");const form=productRegion.querySelector('form[action*="/cart/add"]')||document.querySelector('form[action*="/cart/add"]'),nativeVariantInput=()=>form?.querySelector('[name="id"]'),productSectionId=form?.getAttribute("id")?.replace(/^product-form-/,""),messageToggle=root.querySelector(`[data-${A}-message-toggle]`),messageFields=root.querySelector(`[data-${A}-message-fields]`),wrapping=root.querySelector(`[data-${A}-wrapping]`),noshi=root.querySelector(`[data-${A}-noshi]`),noshiFields=root.querySelector(`[data-${A}-noshi-fields]`),noshiContent=root.querySelector(`[data-${A}-noshi-content]`),errorOutput=root.querySelector(`[data-${A}-gift-error]`),sizeOutput=root.querySelector(`[data-${A}-size]`),frameOutput=root.querySelector(`[data-${A}-frame]`),wrappingOutput=root.querySelector(`[data-${A}-wrapping-summary]`),noshiOutput=root.querySelector(`[data-${A}-noshi-summary]`),priceOutput=root.querySelector(`[data-${A}-price]`),pointsOutput=root.querySelector(`[data-${A}-points-value]`),pointsContainer=root.querySelector(`[data-${A}-points]`),pointsRatePercent=Number(pointsContainer?.dataset.poingpongRatePercent||0),shippingRoot=root.parentElement?.querySelector(`[data-ka-sunset-${A}-shipping]`)||document.querySelector(`[data-ka-sunset-${A}-shipping]`),dispatchOutput=shippingRoot?.querySelector(`[data-${A}
1-dispatch]`),buyBlock=productRegion.querySelector(".product-single__box__block--buy_buttons");shippingRoot&&buyBlock&&buyBlock.nextElementSibling!==shippingRoot&&buyBlock.after(shippingRoot);const approvedFrames=["\u30AA\u30FC\u30AF\u30AB\u30E9\u30FC","\u30DB\u30EF\u30A4\u30C8\uFF08\u6728\u76EE\u8ABF\uFF09","\u30D6\u30E9\u30A6\u30F3\uFF08\u6728\u76EE\u8ABF\uFF09","\u30DB\u30EF\u30A4\u30C8(\u6728\u76EE\u8ABF)","\u30D6\u30E9\u30A6\u30F3(\u6728\u76EE\u8ABF)","\u30D1\u30FC\u30EB\u30DB\u30EF\u30A4\u30C8"];function selectedVariant(){return variants.find(variant=>String(variant.id)===String(nativeVariantInput()?.value))}function displayFrame(value){const normalized=String(value||"").replace(/額$/,"");return normalized==="\u30AA\u30FC\u30AF"||normalized==="Oak"?"\u30AA\u30FC\u30AF\u30AB\u30E9\u30FC":normalized==="\u767D"?"\u30DB\u30EF\u30A4\u30C8\uFF08\u6728\u76EE\u8ABF\uFF09":normalized==="\u30D6\u30E9\u30A6\u30F3"||normalized==="Brown"?"\u30D6\u30E9\u30A6\u30F3\uFF08\u6728\u76EE\u8ABF\uFF09":normalized}function displayNoshi(value){return String(value||"\u71A8\u6597\u306A\u3057").replace(/熨斗/g,"\u306E\u3057")}function nativeFrameRadios(){return[...productRegion.querySelectorAll?.('input[type="radio"][name="\u984D\u7E01"]')||[]]}function decorateNativeVariantPicker(){const frameHeading=nativeFrameRadios()[0]?.closest?.("fieldset")?.querySelector?.("legend");frameHeading&&(frameHeading.textContent="\u984D\u7E01\u306E\u7A2E\u985E"),nativeFrameRadios().forEach(radio=>{const item=radio.closest?.(".product-form__swatch__item"),label=item?.querySelector?.(`label[for="${radio.id}"]`),approved=approvedFrames.includes(displayFrame(radio.value));item&&(item.hidden=!approved),radio.disabled=!approved,radio.value==="\u767D"&&(item&&(item.title="\u30DB\u30EF\u30A4\u30C8\uFF08\u6728\u76EE\u8ABF\uFF09"),label&&(label.textContent="\u30DB\u30EF\u30A4\u30C8\uFF08\u6728\u76EE\u8ABF\uFF09")),radio.value==="\u30AA\u30FC\u30AF"&&(item&&(item.title="\u30AA\u30FC\u30AF\u30AB\u30E9\u30FC"),label&&(label.textContent="\u30AA\u30FC\u30AF\u30AB\u30E9\u30FC")),radio.value==="\u30D6\u30E9\u30A6\u30F3"&&(item&&(item.title="\u30D6\u30E9\u30A6\u30F3\uFF08\u6728\u76EE\u8ABF\uFF09"),label&&(label.textContent="\u30D6\u30E9\u30A6\u30F3\uFF08\u6728\u76EE\u8ABF\uFF09"))})}function formatMoney(cents){return window.Shopify?.formatMoney?Shopify.formatMoney(cents):new Intl.NumberFormat("ja-JP",{style:"currency",currency:"JPY",maximumFractionDigits:0}).format(Number(cents||0)/100)}function quantityInput(){return form?.querySelector('[name="quantity"]')||productRegion.querySelector('[name="quantity"]')}function selectedQuantity(){return Math.max(1,Number(quantityInput()?.value||1))}function syncMessageFields(){if(!messageToggle)return;const messageEnabled=!!messageToggle?.checked;messageFields&&(messageFields.hidden=!messageEnabled),messageFields?.querySelectorAll("input, textarea, select").forEach(control=>{control.disabled=!messageEnabled}),dispatchOutput&&(dispatchOutput.textContent=messageEnabled?"\u6CE8\u6587\u53D7\u4ED8\u5F8C1\u301C3\u55B6\u696D\u65E5\u3067\u767A\u9001\uFF08\u30EC\u30A4\u30A2\u30A6\u30C8\u78BA\u8A8D\u5F8C1\u301C2\u55B6\u696D\u65E5\u3067\u767A\u9001\uFF09 \u203B\u30EC\u30A4\u30A2\u30A6\u30C8\u3078\u306EOK\u306E\u304A\u8FD4\u4E8B\u3092\u3044\u305F\u3060\u3044\u3066\u304B\u3089\u767A\u9001\u3057\u307E\u3059\u3002\u3054\u8FD4\u4FE1\u306E\u6642\u671F\u3084\u4FEE\u6B63\u5185\u5BB9\u306B\u3088\u3063\u3066\u306F\u3001\u4E0A\u8A18\u306E\u76EE\u5B89\u3088\u308A\u65E5\u6570\u304C\u304B\u304B\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002":"1\u301C2\u55B6\u696D\u65E5\u3067\u767A\u9001")}function syncNoshiFields(){const enabled=!!(noshi&&noshi.value!=="\u71A8\u6597\u306A\u3057");noshiFields&&(noshiFields.hidden=!enabled),noshiContent&&(noshiContent.disabled=!enabled)}function syncPurchaseSummary(){decorateNativeVariantPicker();const variant=selectedVariant();variant&&(sizeOutput&&(sizeOutput.textContent=variant.option1||""),frameOutput&&(frameOutput.textContent=displayFrame(variant.option2))),wrappingOutput&&(wrappingOutput.textContent=wrapping?.value||"\u30E9\u30C3\u30D4\u30F3\u30B0\u306A\u3057"),noshiOutput&&(noshiOutput.textContent=displayNoshi(noshi?.value));const quantity=selectedQuantity(),variantPrice=Number(variant?.price||0),wrappingFee=Number(wrapping?.selectedOptions?.[0]?.dataset.feePrice||0),noshiFee=Number(noshi?.selectedOptions?.[0]?.dataset.noshiFeePrice||0),totalCents=quantity*(variantPrice+wrappingFee+noshiFee);priceOutput&&(priceOutput.textContent=formatMoney(totalCents)),pointsOutput&&Number.isFinite(pointsRatePercent)&&(pointsOutput.textContent=Math.floor(totalCents*pointsRatePercent/1e4))}function messageProperties(){const properties={};return!messageToggle?.checked||!messageFields||messageFields.querySelectorAll('[name^="properties["]').forEach(control
1=>{const key=control.name.match(/^properties\[(.+)\]$/)?.[1],value=control.value.trim();key&&value&&(properties[key]=value)}),properties}function collectGiftItems(token){const variantInput=nativeVariantInput();if(!form||!variantInput)return[];const selectedWrapping=wrapping?.selectedOptions?.[0],selectedNoshi=noshi?.selectedOptions?.[0],wrappingFeeVariantId=selectedWrapping?.dataset.feeVariantId,noshiFeeVariantId=selectedNoshi?.dataset.noshiFeeVariantId,quantity=Math.max(1,Number(quantityInput()?.value||1)),properties={...messageProperties(),\u30E9\u30C3\u30D4\u30F3\u30B0:wrapping?.value||"\u30E9\u30C3\u30D4\u30F3\u30B0\u306A\u3057",\u306E\u3057:displayNoshi(noshi?.value)},purposeSelect=root.querySelector(`[data-${A}-purpose]`);purposeSelect&&purposeSelect.value&&(properties.\u3054\u5229\u7528\u7528\u9014=purposeSelect.value),noshi?.value!=="\u71A8\u6597\u306A\u3057"&&(properties.\u306E\u3057\u306E\u8A18\u8F09\u5185\u5BB9=noshiContent?.value.trim()||""),(wrappingFeeVariantId||noshiFeeVariantId)&&(properties._dn13_gift_token=token,properties._dn13_gift_role="main");const items=[{id:Number(variantInput.value),quantity,properties}];return wrappingFeeVariantId&&items.push({id:Number(wrappingFeeVariantId),quantity,properties:{_dn13_gift_token:token,_dn13_gift_role:"fee",_dn13_gift_fee_type:"wrapping"}}),noshiFeeVariantId&&items.push({id:Number(noshiFeeVariantId),quantity,properties:{_dn13_gift_token:token,_dn13_gift_role:"fee",_dn13_gift_fee_type:"art-noshi"}}),items}async function submitPurchase(event){if(event.target!==form)return;if(event.preventDefault(),event.stopImmediatePropagation(),noshi?.value!=="\u71A8\u6597\u306A\u3057"&&!noshiContent?.value.trim()){errorOutput&&(errorOutput.hidden=!1,errorOutput.textContent="\u306E\u3057\u306E\u8A18\u8F09\u5185\u5BB9\u3092\u3054\u5165\u529B\u304F\u3060\u3055\u3044\u3002"),noshiContent?.focus();return}errorOutput&&(errorOutput.hidden=!0);const addButton=form.querySelector('[name="add"], button[type="submit"]');addButton&&(addButton.disabled=!0);const token=window.crypto?.randomUUID?.()||`dn13-${Date.now()}-${Math.random().toString(16).slice(2)}`,items=collectGiftItems(token),rootPath=window.Shopify?.routes?.root||"/";try{if(!(await fetch(rootPath+"cart/add.js",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({items})})).ok)throw new Error("cart add failed");afterAdd(rootPath)}catch{addButton&&(addButton.disabled=!1),errorOutput&&(errorOutput.hidden=!1,errorOutput.textContent="\u30AB\u30FC\u30C8\u306B\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u6642\u9593\u3092\u304A\u3044\u3066\u3001\u3082\u3046\u4E00\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002")}}messageToggle?.addEventListener("change",()=>{syncMessageFields(),syncPurchaseSummary()}),wrapping?.addEventListener("change",syncPurchaseSummary),noshi?.addEventListener("change",()=>{syncNoshiFields(),syncPurchaseSummary()}),productRegion.addEventListener("change",()=>requestAnimationFrame(syncPurchaseSummary)),productRegion.addEventListener("click",event=>{event.target.closest?.(".product-single__box__block--quantity_selector")&&requestAnimationFrame(syncPurchaseSummary)}),document.addEventListener("variant:changed",event=>{event.detail?.sectionId&&productSectionId&&event.detail.sectionId!==productSectionId||syncPurchaseSummary()}),form?.addEventListener("submit",submitPurchase,!0),form&&restoreForms.add(form);const quantityControl=quantityInput();quantityControl&&restoreQuantities.add(quantityControl),quantityControl?.addEventListener("change",syncPurchaseSummary),quantityControl?.addEventListener("input",syncPurchaseSummary);const initialVariantInput=nativeVariantInput();initialVariantInput&&(initialVariantInput.addEventListener("change",syncPurchaseSummary),new MutationObserver(syncPurchaseSummary).observe(initialVariantInput,{attributes:!0,attributeFilter:["value"]})),syncMessageFields(),syncNoshiFields(),syncPurchaseSummary()})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",initializePurchaseOptions,{once:!0}
1):initializePurchaseOptions(),window.kaPurchaseSectionLoadBound?.[A]!==!0&&(window.kaPurchaseSectionLoadBound={...window.kaPurchaseSectionLoadBound||{},[A]:!0},document.addEventListener("shopify:section:load",initializePurchaseOptions))})(),(()=>{const guideSelector=`[data-ka-sunset-${A}-guide]`,guideRoots=context=>[...context.matches?.(guideSelector)?[context]:[],...context.querySelectorAll(guideSelector)],guideCleanups=new WeakMap,relatedOwners=new WeakMap,initDn13Guide=root=>{if(!root||root.dataset.guideReady==="true")return;root.dataset.guideReady="true";let frameOpener=null,frameScrollPosition={x:0,y:0};(root.querySelectorAll?.(`[data-${A}-frame-open]`)||[]).forEach(opener=>{const dialogId=opener.getAttribute(`data-${A}-frame-open`),dialog=dialogId?root.querySelector(`#${dialogId}`):null;dialog&&opener.addEventListener("click",()=>{frameOpener=opener,frameScrollPosition={x:window.scrollX,y:window.scrollY},dialog.showModal()})}),(root.querySelectorAll?.(`[data-${A}-frame-dialog]`)||[]).forEach(dialog=>{dialog.querySelector(`[data-${A}-frame-close]`)?.addEventListener("click",()=>dialog.close()),dialog.addEventListener("click",event=>{event.target===dialog&&dialog.close()}),dialog.addEventListener("close",()=>{frameOpener?.focus({preventScroll:!0}),window.scrollTo({left:frameScrollPosition.x,top:frameScrollPosition.y,behavior:"auto"}),frameOpener=null})}),(root.querySelectorAll?.(`.ka-sunset-${A}-guide__spec-toggle`)||[]).forEach(toggle=>{const panelId=toggle.getAttribute("aria-controls"),panel=panelId?root.querySelector(`#${panelId}`):null;panel&&toggle.addEventListener("click",()=>{const expanded=toggle.getAttribute("aria-expanded")==="true";toggle.setAttribute("aria-expanded",String(!expanded)),panel.hidden=expanded;const symbol=toggle.querySelector('[aria-hidden="true"]');symbol&&(symbol.textContent=expanded?"\uFF0B":"\u2212")})});const guideSection=root.closest?.(".shopify-section");let relatedSection=null;const syncRelatedSection=()=>{const liveRelatedSection=guideSection?.parentElement?.querySelector?.(".js-section__product-recommendations")||null;if(relatedSection&&relatedSection!==liveRelatedSection&&relatedOwners.get(relatedSection)===root&&(relatedSection.removeAttribute(`data-${A}-related-products`),relatedOwners.delete(relatedSection)),!liveRelatedSection?.matches?.(".shopify-section")){relatedSection=null;return}relatedSection=liveRelatedSection,relatedSection.setAttribute(`data-${A}-related-products`,""),relatedOwners.set(relatedSection,root);const normalizeRelatedImageUrl=value=>value?.replace(/([?&])crop=center&?/g,"$1").replace("?&","?").replace(/&&+/g,"&");relatedSection.querySelectorAll?.(".product-card__img").forEach(image=>{const source=image.getAttribute("src"),sourceSet=image.getAttribute("srcset");source?.includes("crop=center")&&image.setAttribute("src",normalizeRelatedImageUrl(source)),sourceSet?.includes("crop=center")&&image.setAttribute("srcset",normalizeRelatedImageUrl(sourceSet))})};syncRelatedSection();const relatedObserver=typeof MutationObserver=="function"&&guideSection?.parentElement?new MutationObserver(syncRelatedSection):null;relatedObserver?.observe(guideSection.parentElement,{childList:!0,subtree:!0}),guideCleanups.set(root,()=>{relatedObserver?.disconnect(),relatedSection&&relatedOwners.get(relatedSection)===root&&(relatedSection.removeAttribute(`data-${A}-related-products`),relatedOwners.delete(relatedSection)),guideCleanups.delete(root)})};guideRoots(document).forEach(initDn13Guide),window.kaSunsetDn13GuideSectionLoadBound?.[A]!==!0&&(window.kaSunsetDn13GuideSectionLoadBound={...window.kaSunsetDn13GuideSectionLoadBound===!0?{}:window.kaSunsetDn13GuideSectionLoadBound,[A]:!0},document.addEventListener("shopify:section:load",event=>{guideRoots(event.target).forEach(initDn13Guide)}),document.addEventListener("shopify:section:unload",event=>{guideRoots(event.target).forEach(root=>guideCleanups.get(root)?.())}))})()};[...new Set([...document.querySelectorAll("[data-ka-artist]")].map(el=>el.dataset.kaArtist).filter(a=>/^[a-z]+$/.test(a||"")))].forEach(initArtist)})();
2//# sourceMappingURL=/cdn/shop/t/16/assets/ka-product.js.map?v=64098565156853207631790579782

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.