<?php
/**
 * Quantity input (Storzen shop-details layout: − / input / +).
 *
 * Loaded only when {@see $GLOBALS['storzen_single_atc']} is true (see inc/product-add-to-cart-storzen.php).
 *
 * @package Storzen
 *
 * @version 10.1.0
 *
 * @var bool   $readonly If the input should be set to readonly mode.
 * @var string $type     The input type attribute.
 */

defined( 'ABSPATH' ) || exit;
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals -- Template/class file; variables are widget-scoped, not true globals.

// phpcs:disable WordPress.WP.I18n.TextDomainMismatch -- Using WooCommerce's own translations for consistency
/* translators: %s: Product name for quantity label */
$label = ! empty( $product_name ) ? sprintf( esc_html__( '%s quantity', 'woocommerce' ), wp_strip_all_tags( $product_name ) ) : esc_html__( 'Quantity', 'woocommerce' );
// phpcs:enable WordPress.WP.I18n.TextDomainMismatch

if ( 'hidden' === $type ) :
	?>
	<div class="quantity">
		<?php
		/**
		 * Hook to output something before the quantity input field.
		 *
		 * @since 7.2.0
		 */
		do_action( 'woocommerce_before_quantity_input_field' );
		?>
		<input
			type="hidden"
			id="<?php echo esc_attr( $input_id ); ?>"
			class="<?php echo esc_attr( join( ' ', (array) $classes ) ); ?>"
			name="<?php echo esc_attr( $input_name ); ?>"
			value="<?php echo esc_attr( $input_value ); ?>"
		/>
		<?php
		/**
		 * Hook to output something after the quantity input field
		 *
		 * @since 3.6.0
		 */
		do_action( 'woocommerce_after_quantity_input_field' );
		?>
	</div>
	<?php
	return;
endif;
?>
<div class="quantity quantity-input">
	<?php do_action( 'woocommerce_before_quantity_input_field' ); ?>
	<button type="button" class="quantity-down szp-qty-down" aria-label="<?php esc_attr_e( 'Decrease quantity', 'storzen' ); ?>">-</button>
	<label class="screen-reader-text" for="<?php echo esc_attr( $input_id ); ?>"><?php echo esc_attr( $label ); ?></label>
	<input
		type="<?php echo esc_attr( $type ); ?>"
		<?php echo $readonly ? 'readonly="readonly"' : ''; ?>
		id="<?php echo esc_attr( $input_id ); ?>"
		class="<?php echo esc_attr( join( ' ', (array) $classes ) ); ?>"
	name="<?php echo esc_attr( $input_name ); ?>"
	value="<?php echo esc_attr( $input_value ); ?>"
	aria-label="<?php esc_attr_e( 'Product quantity', 'storzen' ); ?>"
	<?php if ( in_array( $type, array( 'text', 'search', 'tel', 'url', 'email', 'password' ), true ) ) : ?>
			size="4"
		<?php endif; ?>
		min="<?php echo esc_attr( $min_value ); ?>"
		<?php if ( 0 < $max_value ) : ?>
			max="<?php echo esc_attr( $max_value ); ?>"
		<?php endif; ?>
		<?php if ( ! $readonly ) : ?>
			step="<?php echo esc_attr( $step ); ?>"
			placeholder="<?php echo esc_attr( $placeholder ); ?>"
			inputmode="<?php echo esc_attr( $inputmode ); ?>"
			autocomplete="<?php echo esc_attr( isset( $autocomplete ) ? $autocomplete : 'on' ); ?>"
		<?php endif; ?>
	/>
	<button type="button" class="quantity-up szp-qty-up" aria-label="<?php esc_attr_e( 'Increase quantity', 'storzen' ); ?>">+</button>
	<?php do_action( 'woocommerce_after_quantity_input_field' ); ?>
</div>
