const PISOL_DTT_TypePickerCart=(prop)=> {
if(!prop.extensions.pisol_dtt){
return null;
}
const label=prop.extensions.pisol_dtt.delivery_type_label_cart;
const show_type_selector=prop.extensions.pisol_dtt.type_selector_on_cart_page;
const disabled=prop.extensions.pisol_dtt.disable_date_time_completely;
const availableTypes=prop.extensions.pisol_dtt.available_types;
const selectedTypeFromProp=prop.extensions.pisol_dtt.selected_type;
const [type, setType]=React.useState(selectedTypeFromProp);
const disabled_types=prop.extensions.pisol_dtt.disabled_types;
if(disabled){
return null;
}
if(disabled_types.length > 0&&disabled_types.includes(type)){
window.location.reload();
}
React.useEffect(()=> {
setType(selectedTypeFromProp);
}, [selectedTypeFromProp]);
const handleTypeChange=(event)=> {
setType(event.target.value);
document.body.classList.add('pi-dtt-processing');
wc.blocksCheckout.extensionCartUpdate({
namespace: 'pisol_dtt_type_change',
data: {
type: event.target.value
}}).then(()=> {
document.body.classList.remove('pi-dtt-processing');
});
};
return show_type_selector ? React.createElement("div",
{ className: 'pi-dtt-type-picker-container pi-cart-page-type-changer' },
React.createElement("label", null, label),
React.createElement("div",
{className: 'pi-dtt-type-container'},
Object.entries(availableTypes).map(([key, value])=>
React.createElement("div",
{ key: key, className: 'pi-dtt-type-label-container' },
React.createElement("input", {
type: "radio",
name: "type",
value: key,
checked: type===key,
disabled: disabled_types.includes(key),
onChange: handleTypeChange,
id:`pi_delivery_type_${key}`
}),
React.createElement("label",{ for: `pi_delivery_type_${key}`, className: 'pi-delivery-type-label'}, value)
)
)
)
):null;
};
const pisol_dtt_metadata_cart={
"apiVersion": 3,
"name": "pisol-dtt/cart-block",
"title": "Delivery type block on cart page",
"category": "woocommerce",
"icon": "smiley",
"description": "Delivery type block on cart page",
"supports": {
"multiple": false
},
"editorScript": "file:js/editor.js",
"viewStyle": [ "file:css/block.css"],
"parent":["woocommerce/cart-items-block"],
"attributes": {
"lock": {
"type": "object",
"default": {
"remove": true,
"move": true
}}
}};
const pisol_dtt_options_cart={
metadata: pisol_dtt_metadata_cart,
component: PISOL_DTT_TypePickerCart,
};
wc.blocksCheckout.registerCheckoutBlock(pisol_dtt_options_cart);