"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Edit=void 0;const classnames_1=__importDefault(require("classnames")),block_templates_1=require("@woocommerce/block-templates"),components_1=require("@woocommerce/components"),navigation_1=require("@woocommerce/navigation"),tracks_1=require("@woocommerce/tracks"),compose_1=require("@wordpress/compose"),core_data_1=require("@wordpress/core-data"),element_1=require("@wordpress/element"),i18n_1=require("@wordpress/i18n"),components_2=require("@wordpress/components"),validation_context_1=require("../../../contexts/validation-context"),use_currency_input_props_1=require("../../../hooks/use-currency-input-props"),label_1=require("../../../components/label/label");function Edit({attributes:e,clientId:r,context:t}){const o=(0,block_templates_1.useWooBlockProps)(e),{label:n,help:c,isRequired:s,tooltip:i}=e,[a,l]=(0,core_data_1.useEntityProp)("postType",t.postType||"product","regular_price"),[_]=(0,core_data_1.useEntityProp)("postType",t.postType||"product","sale_price"),p=(0,use_currency_input_props_1.useCurrencyInputProps)({value:a,onChange:l}),u=c?(0,element_1.createInterpolateElement)(c,{PricingTab:(0,element_1.createElement)(components_1.Link,{href:(0,navigation_1.getNewPath)({tab:"pricing"}),onClick:()=>{(0,tracks_1.recordEvent)("product_pricing_help_click")}})}):null,m=(0,compose_1.useInstanceId)(components_2.BaseControl,"wp-block-woocommerce-product-regular-price-field"),{ref:d,error:b,validate:f}=(0,validation_context_1.useValidation)(`regular_price-${r}`,(async function(){const e=Number.parseFloat(a);if(e){if(e<0)return(0,i18n_1.__)("List price must be greater than or equals to zero.","woocommerce");if(_&&e<=Number.parseFloat(_))return(0,i18n_1.__)("List price must be greater than the sale price.","woocommerce")}else if(s)return(0,i18n_1.sprintf)((0,i18n_1.__)("%s is required.","woocommerce"),n)}),[a,_]);return(0,element_1.useEffect)((()=>{s&&f()}),[]),(0,element_1.createElement)("div",{...o},(0,element_1.createElement)(components_2.BaseControl,{id:m,help:b||u,className:(0,classnames_1.default)({"has-error":b})},(0,element_1.createElement)(components_2.__experimentalInputControl,{...p,id:m,name:"regular_price",ref:d,label:i?(0,element_1.createElement)(label_1.Label,{label:n,tooltip:i}):n,onBlur:f})))}exports.Edit=Edit;